zoukankan      html  css  js  c++  java
  • 基于AT89C51的智能矿井环境质量监控系统

      1 引言

           以监测矿井有毒有害气体为目的,介绍一种通用性很强的智能空气监测系统的设计与实现。

           采用AT89C51单片机作为主控器,可实现对矿下温度和氧气、甲烷气等有毒有害气体的浓度参数进行采集处理、存储、显示及报警功能;同时可与上位机进行串行通讯:并能将环境空气的详细历史资料存储在EEPROM中备查。此外,能实现对矿井有人作业环境取排风温度进行连续、间歇检测;对无人作业环境下系统自动定时运行、非正常断电后系统开机等记忆功能。详细阐述了硬件结构和软件流程,并且指出该系统的特点和优势。

           2系统组成及工作原理

           该系统由硬件和软件两大部分。硬件部分主要完成各种传感器信号的采集、转换、各种信息的显示等;软件部分主要完成信号的处理及控制功能等。其工作原理是通过89C51单片机一次查询各传感器的输出信号,然后对输入信号进行相应处理后,再通过显示模块输出,同时还可输出各种报警信号和控制信号。图1给出系统原理框图。

           3系统硬件设计

           3.1主控模块

           系统采用AT89C51单片机,它带有4 KB闪速式存储器、128 B内存,最大工作频率为24 MHz。同时具有32条输入输出线,16位定时/计数器,5个中断源,1个串行口。

           3.2外围电路

           采片Atmel公司的AT24C128,该器件具有128 Kb的EEPROM,可写入10万次,保持40年数据。该系统扩展了一片EPROM2754,接口器件采用一片8279,两片8155;两片A/D转换器选用ADC0809,在对12个通道进行扫描检测时,还将模拟量转换成数字量。MAX232是一款带±15 kV静电保护,+5 V单电源供电的RS232收发器。显示模块采用44780驱动的LCD,HD44780(KS0062)是用低功耗CMOS技术制造的大规模点阵LCD控制器(兼带驱动器)和4 bit/8bit微处理器相连,它能使点阵LCD显示大小写英文字母、数字和符号等信息。同时有较强的通用性,使用方便,能使用户仅用少量的元件组成一个完整的点阵LCD系统,根据送入的相关数据和指令就能实现所需的显示。HD44780显示模块有8条数据线,3条控制线,可与微处理器或微控制器相连,通过送入数据和指令,可使模块正常工作。

           3.3传感电路

           该电路包含3个检测电路,分别用于对温度、氨气和甲烷等有毒易燃气体浓度的测量。在测量甲烷时选用WIJ-1B型甲烷传感器作为检测元件。传感器吸附甲烷气体使其阻值发生改变,即将浓度信号转换为所对应的电阻值;在测量氨气时,选用定电位电解式传感器,即湿式电化学气体传感器,通过测定气体在某个确定电位电解时产生的电流来测量气体浓度。传感器输出标准的4~20 mA信号。为满足后续电路需要,采用两个运算放大器组成I/V转换电路,再将所对应的电阻值转换为相对应的电压值。

           采用AD620作为信号放大电路,有效抑制输入信号间的共模干扰和串模干扰。图2给出了AD620与后继放大电路原理图。

           通过A/D转换器由CPU处理获得测量结果及控制信号,执行部分由交流接触器直接控制排风电机,当某一通道的中间继电器闭合时,启动排风电机并且报警。

           该系统采用增量式PID算法,当实测值与系统给定值之差大于零时启动排风电机,从而控制有害气体浓度。其算法公式为:

           3.4温度检测电路

           采用ADI公司生产的AD7416数字温度传感器,具有10位数字输出,其测量误差为1℃。可见,AD7416测量精度虽然不是很高.但是已能满足矿井测温的实际使用要求。表1给出温度输出对应值。

           4软件设计

           该系统软件采用汇编语言编写,在WAVE6000版本的集成开发环境下进行编译连接。图3给出系统的软件结构。

           (1)初始化模块

           主要用于对时钟器件和显示屏的初始化,同时可以检测单片机引脚,以实现时钟的调解。

           (2)控制模块

           完成对3个空气指标的检测。根据测量结果发出响应的控制信号或报警信号,同时调用显示模块中的相应部分。通过驱动44780由LCD显示测试数据及测试状态。

           (3)显示模块

           包含各个显示部分,在控制模块中被调用。

           4.1主程序设计

           由于系统对实时性的要求不高。因此软件部分采用顺序执行方式,此外,对各功能的实现使用模块化设计。图4给出主程序系统流程图,用以完成硬件初始化和子程序调用等功能。


            4.2 RS232通信子程序

           PC通信是准确采集测试数据的关键,二者间的通信采用RS232C接口,该接口是专为PC间通信设计的,其连接电路如图5所示。PC间通信采用ASCII码,前7位是数据,第8位是奇偶校验位,而单片机的串行通信格式是8位,因此不能采用奇偶校验纠错,必须采用查询方式纠错。即PC将接收到的数据再发送给单片机,单片机若比较接收数据和发送数据,若相同,则不再发送该组数据,等待发送下组数据;若不同,则再重发原数据,直到PC接收正确为止。实现通信双方约定:波特率为2 400 bit/s;帧格式为10位一帧,包括1个起始位,8个数据位和1个停止位;传送方式是PC机采用查询方式收发数据,单片机采用中断方式收发数据。

           AT89C51单片机采用中断方式接收PC机发过来的字符,并回送给主机。程序清单如下:

           PC机的通信程序采用Turbo C编写,程序清单如下:


           5抗干扰设计

           为确保整个系统的可能性和安全性,采用了由硬件和软件相结合的抗十扰措施。

           硬件的抗干扰措施是:

           (1)滤波技术。将电源变压器的进线段加入滤波器,以消弱瞬变噪声干扰;存直流电源线和地线之间接滤波电容以抑制电源噪声。

           (2)去耦电路。在印刷电路板的各个集成电路的电源线端与地线端之间配置去耦电容。

           (3)屏蔽技术。采用电场屏蔽和电磁场屏蔽的方法。电场屏蔽主要使用低电阻材料。磁场屏蔽使用高导磁率的材料。

           (4)光电隔离。在I/O通道上接光电隔离器,将单片机系统与各种传感器和开关隔离开。

           软件的抗干扰措施是:

           (1)数字滤波技术。采用数字滤波技术除去输入信号中掺杂的随机干扰。

           (2)软件陷阱技术。当系统受到干扰,PC值发生变化,程序出现"乱飞"等情况时,可以用软件陷阱和看门狗将程序拉回到复位状态。具体的讲,可以在RAM中埋一些标志,在每次程序复位时,通过这些标志,可以判断复位原因并根据不同的标志直接跳到相应的程序。这样可以使程序运行有连续性,用户在使用时也不易察觉程序被重新复位。

  • 相关阅读:
    k8s 使用 Init Container 确保依赖的服务已经启动
    asp.net core 从 3.0 到 3.1
    Github原生CI/CD,初尝Github Actions
    [nginx]编译安装及安全优化
    [nginx]盗链和防盗链场景模拟实现
    [nginx]location语法
    [nginx]站点目录及文件访问控制
    [svc]nginx限制客户端上传附件的大小
    [sql]mysql指引(整理中...)-对db的分类
    [sql]mysql参数(配置)手册
  • 原文地址:https://www.cnblogs.com/junzhkevin/p/1425552.html
Copyright © 2011-2022 走看看