基于单片机的矿井环境监测系统设计毕业设计.doc_第1页
基于单片机的矿井环境监测系统设计毕业设计.doc_第2页
基于单片机的矿井环境监测系统设计毕业设计.doc_第3页
基于单片机的矿井环境监测系统设计毕业设计.doc_第4页
基于单片机的矿井环境监测系统设计毕业设计.doc_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

陕西理工学院毕业设计 基于单片机的矿井环境监测系统设计毕业设计 目 录1.绪论11.1研究背景与发展现状11.2研究主要内容12. 方案选择22.1总体方案论述22.2方案一的论述22.2.1方案一的设计结构图22.2.2方案一的设计方法22.2.3方案一的优缺点32.3方案二的论述32.3.1方案二的设计结构图32.3.2方案二的设计方法42.3.3方案二的优缺点42.4方案的选择43.系统软件设计53.1系统流程分析53.2温湿度采集及处理函数73.3 MQ-4甲烷浓度传感器以及A/D转换程序93.4 NRF905无线发送/中继/接收程序113.5 OLED显示程序143.6报警程序与键盘控制程序144.硬件电路设计与调试174.1采集模块174.2 A/D转换模块184.3单片机最小系统模块194.4 OLED显示模块204.5 NRF905无线模块214.6报警及键盘控制模块214.7电源模块224.8实现结果235. 总结245.1问题与处理245.2展望24致谢25参考文献26附录1电路原理图27附录2电路实物图28附录3元器件清单29附录4源程序代码30附录5外文翻译中英文对照541.绪论1.1研究背景与发展现状我国是世界上煤炭产量最高的国家。煤炭是我国使用的主要能源,每年煤炭占全年能源的使用量七成以上。我国煤炭资源丰富,而石油,天然气等资源匮乏的资源特点导致了煤炭将在未来的长时间内是我国最主要的能源来源1。近几年以来煤矿事故屡见不鲜,事故率仍不容乐观,保障煤矿安全生产对我过煤矿生产事业具有迫切需求。影响煤矿安全生产的因素复杂繁多,包含瓦斯爆炸、透水事故、顶板事故等2。而瓦斯浓度过高导致的爆炸事故危害最为严重。降低矿难的发生率就是提高了煤炭的生产效率3。瓦斯是多种易燃易爆气体的总称,其主要成分是甲烷,它是在成煤过程中形成并大量贮存于煤层中的气体,浓度过高时会导致人缺氧、呼吸困难、窒息等。当它与空气混合的百分比达到3.5%到16%时,遇到明火就会发生爆炸,给国家和人民的生命财产造成巨大的损失4。所以,对瓦斯的浓度进行实时的检测和报警以及对其采取相应的控制措施在煤矿系统中有着非常现实的意义。 我国瓦斯监测监控技术的研究工作起步较晚,国内第一台催化原理的瓦斯报警器是1958年出现,采用铂丝元件位传感器。1961年,由北京劳动保护研究所和和抚顺煤矿安全仪器厂协作开展了研究工作,于1964年研制出我国第一个达到实用水平的载体催化元件,接着制成了以这种元件位传感器的AQR-1型瓦斯测量仪。随着电子计算机技术的应用,一套监测系统除了能检测出甲烷的浓度外,还可测一氧化碳、氢气的浓度,同时又可以对井下设备的工作状态进行监控。当前我国矿井正在运行的瓦斯监控系统主要有三类:一是20世纪80年代初,从英、法、美、波兰等国家引进的一批安全监控系统,并通过消化和吸收研制出适用于我国煤矿实际情况的监控系统,由于当时技术水平低和维护跟不上等原因系统已面临更新改造的机遇;二是20世纪90年代后期,国内各主要科研单位和生产厂家又相继推出了MSNM、WEBGIS、KJF2000等监控系统,但是整个系统的信息传输速率最高只能达到5000bps;三是21世纪以来,各个瓦斯监控系统生产厂家都在原有基础上推出了升级系统5。因此,根据我国的煤矿生产和管理模式,依照我国的有关技术标准,其技术的先进性、产品的可靠性和实用性则是本项目的关键所在,而且基于单片机的矿井瓦斯监测系统的研究和开发生产具有十分广泛的现实市场和潜在的市场需求。由于我国检测技术应用较晚,所以我国当前对瓦斯的检测设备还存在很多的问题,例如,检测设备的寿命周期短,易受矿井不良坏境的影响并且会导致检测设备的工作性能不稳定、检测结果不准确,容易出现误报警等现象,维护周期短且费用高5。而单片机具有体积小,运行块、稳定、低廉等特点,所以基于单片机的矿井瓦斯检测系统设计是势在必行的。1.2研究主要内容利用单片机AT89C51作为核心控制器件,设计一种基于单片机的矿井环境监测系统,实现矿井环境的实时监测与报警,及时有效的反映矿井下环境指标,保障安全生产。要求通过对矿井下温度、湿度和瓦斯浓度进行信息采集,当各项指标低于或高出设定的安全值时,单片机将发出报警信号并指示报警的指标。安全值可以人为调整。在此基础上,该设计系统还需要满足在矿井下复杂环境中仍能保持有效及时监测的能力。2. 方案选择2.1总体方案论述矿井环境监测系统利用单片机AT89C51作为信息处理器和核心控制器件。系统利用温湿度传感器和瓦浓度传感器将采集到的矿井温湿度和瓦斯浓度经过处理传递给单片机,单片机将得到的信息发送到地面控制中心进行处理,判断是否超限,达到报警限度时单片机将发出指令进行声音和灯光报警,未达到限度时屏幕实时显示温湿度和瓦斯浓度。总体的系统结构图如图2.1所示。图2.1 系统结构图2.2方案一的论述2.2.1方案一的设计结构图系统由数据采集模块、A/D转换模块、显示模块、报警模块和无线模块组成。单片机:STC89C52RC;采集模块:温湿度传感器DHT11、甲烷浓度传感器MQ-4;A/D转换模块:ADC0809;显示模块:LCD1602;无线模块:NRF2401。方案一的系统设计结构图如图2.2所示。 图2.2 方案一设计结构图2.2.2方案一的设计方法设计系统主要分为两大部分。矿井下,温湿度传感器和甲烷浓度传感器进行数据采集,之后将采集到的数据通过模数转换电路并送入单片机(监测系统)中进行处理,在矿井下显示实时监测的结果,并将处理后的数据通过无线发射装置发送至地面的控制中心。地面控制中心通过无线接收装置收到处理后的实时监测数据。通过控制系统实时显示矿井下各项数据指标之外,还将数据与设定的安全值进行比较,超出或者低于安全值范围,报警模块发出相应的声光报警。信息采集模块主要采集温度、湿度以及甲烷浓度三个指标,分别通过DHT11温湿度传感器、MQ-4甲烷浓度传感器实现。温湿度传感器DHT11采集到矿井下空气温湿度,向单片机输出一组数字信号,经单片机处理。MQ-4通过对甲烷等气体的浓度感应输出模拟信号,经模数转换芯片转换成8位数字信号输入单片机。单片机将采集到的信号还原摄氏温度、相对湿度以及甲烷体积浓度,通过LCD1602显示屏进行显示,同时通过无线射频芯片NRF2401发送和接收数据。2.2.3方案一的优缺点方案一的设计思路具有廉价、易于实现的优点。传感器DHT11、MQ-4,显示屏LCD1602以及无线模NRF2401都是市面上常见而且价格低廉的器件。缺点在于传感器精度不高,显示屏显示空间有限,无线传输距离较短。2.3方案二的论述2.3.1方案二的设计结构图系统由数据采集模块、模拟/数字转换模块、显示模块、报警模块、无线模块以及无线中继模块组成。单片机:STC89C52RC;采集模块:温湿度传感器DHT21(又名AMS2301)、甲烷浓度传感器MQ-4;A/D转换模块:ADC0809;显示模块:OLED;无线模块:NRF905;无线中继模块:NRF905。方案二的设计结构图如图2.3所示。图2.3方案二设计结构图2.3.2方案二的设计方法设计系统主要分为三大部分。矿井下,与方案一类似。单片机(监测系统)中进行处理,在矿井下显示实时监测的结果,并将处理后的数据通过无线发射装置发送至中继系统。根据矿井下环境复杂程度,设置N个中继器用来接继无线信号,直至发送到地面控制中心。各器件的工作方式同方案一。温湿度传感器改采用DHT11的升级芯片DHT21;显示模块使用OLED屏幕;无线模块改使用NRF905芯片。2.3.3方案二的优缺点方案二针对方案一的缺点进行了改进。方案二的设计思路对于温湿度的采集精度更高,在显示模块显示空间更大,并且无线传输距离大大增长。增加的中继系统更加符合复杂矿井环境下的无线传输要求。方案二相比方案一,制造成本高。2.4方案的选择将方案一与方案二进行如下对比。方案二比方案一更加精确和适用。在无线模块的选择上。NRF2401更适应于室内短距离传输。905系列具有NRF905B、NRF905SE、NRF905RD、RFC-30系列等模块,可以达到最低100米,最远3000米的直线可视传输距离。因此选用方案二来实现本系统的设计。这里选用NRF905芯片进行无线传输,根据不同的复杂矿井环境,可以选择不同的905模块。该系统目前以NRF905SE模块进行设计,可以达到300米的直线可视距离。下表2.1为两种方案的比较。表2.1两种方案的详细比较对比项目方案一方案二温度DHT11精确度1;有效量程050DHT21精确度0.1;有效量程 -4080湿度DHT11精确度1RH%DHT21精确度0.1RH%甲烷浓度MQ-4经ADC0809转换成8位数字信号,精确度40ppm;有效量程010000ppm显示屏LCD1602显示2行16列;需要11个I/O口OLED显示4行;需要4个I/O口无线传输NRF2401工作在2.4Ghz,1Mkbps,短距传输NRF905工作在433Mhz,50kbps,传输距离长中继器无延长传输距离器件成本以上传感器各取一件和20元左右以上传感器各取一件和65元左右3.系统软件设计程序分为三主体:监测系统、中继系统、控制系统。监测系统由OLED显示程序,DHT21温湿度读取程序,A/D转换程序,NRF905无线发送程序以及主程序组成。中继系统由OLED显示程序,NRF905接收和发送程序以及主程序组成。控制系统由OLED显示程序,NRF905接收程序,报警程序,键盘控制程序以及主程序组成。3.1系统流程分析单片机通过主程序的逻辑顺序调用各个其他程序。首先,单片机进行初始化。各系统中OLED模块、A/D转换模块,NRF905模块完成初始化。之后,DHT21采集温湿度信号,MQ-4输出模拟信号经由ADC0809转换输入单片机,OLED将单片机处理后的温湿度和甲烷浓度进行显示。由无线模块发送到中继系统再发送到控制系统,由控制系统单片机进行处理,若超出限额则启动声光报警,若未超出限额则返回等待无线模块接收新的数据,重新进行比较。图3.1 主程序流程图监控系统主程序解析:void main() LCD_Init(); /OLED初始化init(); /ADC0809初始化,其中包括开中断和定时器 LCD_P8x16Str(10,0,Being warm up); /显示“正在预热” delayqidong(600); /MQ-4需要30秒预热,其中包括预热读秒的显示程序 LCD_CLS(); /OLED清屏CSH905(); /这里是对905进行了配置Peizhi905(); /单片机对905的配置寄存器进行配置SetTxMode(); LCD_P8x16Str(98,0,N); /在屏幕上显示尚未发送标志while(1) /无限循环 RH(); /从DHT21读取温湿度数据并处理 AD(); /从ADC0809读取模数转换后的甲烷浓度SetTxMode(); TxPacket(); /通过905发送数据TxBuf0 = DHT2shishu; /发送五组数组:分别为温度整数部分TxBuf1 = DHT2xiaoshu; /温度小数部分TxBuf2 = DHT1shishu; /湿度整数部分TxBuf3 = DHT1xiaoshu; /湿度小数部分TxBuf4 = AD_DATA0; /未经过处理的甲烷数字信号Delay905(500); /延时函数等待发送完毕LCD_P8x16Str(98,0,S); /在屏幕上显示发送成功标志 display(); /OLED显示程序中继系统主程序解析:void main() LCD_Init(); /OLED初始化CSH905(); /这里是对905进行了配置Peizhi905(); /单片机对905的配置寄存器进行配置SetTxMode(); LCD_P8x16Str(98,0,N); /在屏幕上显示尚未发送标志while(1) /无限循环 SetTxMode(); TxPacket(); /通过905发送数据TxBuf0 = RxBuf0; /将接收到的五组数据发送出去TxBuf1 = RxBuf1; TxBuf2 = RxBuf2; TxBuf3 = RxBuf3; TxBuf4 = RxBuf4; Delay905(500); /延时函数等待发送完毕LCD_P8x16Str(98,0,S); /在屏幕上显示发送成功标志SetRxMode(); / if (DR) /如果DR管脚收到高电平,说明发射完毕 RxPacket(); / 905开始接收数据 display(); /OLED显示程序中继系统主程序解析:void main() LCD_Init(); /OLED初始化CSH905(); /这里是对905进行了配置Peizhi905(); /单片机对905的配置寄存器进行配置while(1) /无限循环 SetRxMode(); if (DR) /如果DR管脚收到高电平,说明发射完毕 RxPacket(); / 905开始接收数据 display(); /OLED显示程序beep_LED(); /声光报警程序3.2温湿度采集及处理函数温湿度采集模块使用传感器DHT21。这是一款通过对空气中温湿度采样并输出数字信号的传感器。DHT21模块具有三个管脚,分别接5V直流电源,接地以及数据输出口。数据输出口采用单总线数据格式与单片机进行通讯。通过输出四十位的高低电平信号来传输温湿度数据,每一位响应时间在80-100微秒左右。数据格式:40bit数据=16bit湿度数据+16bit温度数据+8bit校验码温湿度数据分高8位数据和低8位数据组成。校验码是前32位数据之和。单片机将DHT21总线拉低500us并拉高后,DHT21会立即响应。下图为单片机向DHT21发送开始信号,DHT21响应的工作过程。 图3.2 DHT21响应单片机开始信号的工作过程对应程序解析:void RH(void) /定义读取温湿度函数DHT=0; /单片机拉低,对应上图“主机拉低500us”Delay905(5); /保持拉低状态,这里采用模糊延时,不一定需要精准DHT=1; /拉高主线yanshijingque_10us(); /以下为保持拉高状态。这里需要精确延时yanshijingque_10us();yanshijingque_10us();yanshijingque_10us();DHT=1; if(!DHT) /判断DHT21是否响应,对应上图“DHT21响应信号80us” U8FLAG=2;while(!DHT)&U8FLAG+); /等待响应U8FLAG=2;while(DHT)&U8FLAG+); /等待响应COM(); /运行数据接收函数 Shidu_gao=U8comdata; /读出湿度高8位COM();Shidu_di =U8comdata; /读出湿度低8位COM();wendu_gao =U8comdata; /读出温度高8位COM();wendu_di p=U8comdata; /读出温度低8位COM();Xiaoyanma=U8comdata; /读出8为校验码DHT=1;Xiaoyanma=( Shidu_gao + Shidu_di+ wendu_gao + wendu_di);/校验if(U8temp=U8checkdata_temp) /核对校验码 if(1)DHT1shishu= Wendu_gao; /导出湿度,方便后面显示模块调用DHT1xiaoshu= Wendu_di;U8T_data_H = Wendu_gao; Wendu_di = Wendu_di;DHTData2 = wendu_gao; DHTData2=8;DHTData2 |= Wendu_di; /获得完整的温度if(DHTData2&0x8000) /判断温度是否为负值flagtemp=1; DHTData2&=0x7FFF; DHT2shishu=DHTData2/10; /导出温度,方便后面显示模块调用DHT2xiaoshu=DHTData2%10;U8checkdata=U8checkdata_temp;DHT21开始传输数据后,梅1bit数据都是由一个低电平间隙和一个高电平组成。共40bit数据,当最后1bit传输完毕时,单总线将被再次拉低50us,随后释放被拉高。 图3.3 DHT21发送数据的工作过程 对应程序解析:void COM(void) /定义数据接收函数 unsigned char i; for(i=0;i8;i+) /循环八次,接收一组数据 U8FLAG=2; while(!DHT)&U8FLAG+); /等待低电平间隙,对应上图“1bit开始”Delay_10us(); /等到30us,这里需要精确延时Delay_10us();Delay_10us(); U8temp=0; /等待30us后我们预设值为0 if(DHT)U8temp=1; /如果依然为高电平,可以确定数据值为1 U8FLAG=2; while(DHT)&U8FLAG+); /等待拉高结束 if(U8FLAG=1)break; U8comdata=1; /保存读到的数值,并移位 U8comdata|=U8temp; 3.3 MQ-4甲烷浓度传感器以及A/D转换程序MQ-4气体传感器适用与对甲烷、氢气、一氧化碳、烟雾等可燃气体的检测,对不同气体有不同的灵敏特性。MQ-4传感器通过对不同浓度气体的感应输出不同的电压值。经过模数转换输入单片机。这里采用ADC0809模数转换芯片。芯片能将05V的模拟信号转换为8位的数字信号。 图3.4 ADC0809外部引脚图D0D7管脚连接单片机I/O口输出数字信号。START启动转换,高电平有效。EOC可以查看芯片转换状态,用于单片机查询转换状态。OE管脚向单片机发出读取数据的请求,高电平有效。CLK管脚输入500Khz脉冲的时钟信号,每一次脉冲完成一个转换。ADDA管脚用来选择通道。相关程序解析:void csh() EA = 1; /开总中断TMOD = 0x02; /读TMOD进行设定 TH0=216; /利用T0中断产生CLK信号 (256-T)TL0=216; TR0=1; /启动定时器T0ET0=1;ST=0; /先将ADC0809的ST和OE端口拉低OE=0; void t0(void) interrupt 1 using 0 /利用定时器T0产生中断CLK=CLK; /生成脉冲信号void AD() /定义AD转换程序ST=0; ADDCS=0; /选择通道IN0 delay2(10);ST=1; /启动AD转换delay2(10);ST=0;while(EOC=0); /等模数转换过程结束OE=1; /OE管脚向单片机发送读取数据请求CH4=P3; /保存读取到的值,范围(0256)OE=0;单片机读取到转换后的数字信号之后,根据MQ-4气体传感器对甲烷气体的灵敏特性,还原甲烷气体浓度。下图为灵敏度特性曲线。 图3.5 MQ-4气体传感器灵敏特性由图可见,甲烷气体在纯净空气中的浓度在1000ppm左右。根据特性曲线,我们粗略的认为单片机读取到的数字信号乘以系数40就是空气中的实际甲烷浓度。相关程序解析:LCD_P8x16Str(0,6,CH4:); /显示“CH4”Dis_Num(60,6,AD_DATA0*40,4) ; /显示数字,这里对数字信号乘系数变成实际浓度LCD_P8x16Str(92,6,ppm); /显示单位字符串“ppm”3.4 NRF905无线发送/中继/接收程序NRF905芯片具有较强的抗干扰能力,适合工业控制场合。工作在频段433Mhz。NRF905通过TRX_CE和TX_EN管脚,配置芯片掉电模式(低功耗)、Standby模式、RX(接收)模式和TX(发射)模式。通过5个Spi接口来调整状态寄存器、射频配置寄存器、发送地址寄存器、发送数据寄存器和接收数据寄存器。相关程序解析:Void CSH905() /CSN=1;SCK=0;DR=1;/ DR拉高,这里用于查看接收或发射数据完成AM=1;/ AM拉高,用于地址匹配PWR_UP=1;/ 芯片上电TRX_CE=0;/ 设置为standby模式TX_EN=0;void peizhi905(void) /定义NRF905配置程序uchar i;CSN=0; / Spi使能,向Spi写命令SpiWrite(WC); /写放配置命令for (i=0;iRxTxConf.n;i+)/写放配置字SpiWrite(RxTxConf.bufi);CSN=1;/ 停止Spivoid SpiWrite(uchar byte) /定义Spi写操作程序uchar i;DATA_BUF=byte;/将需要发送的数据写入缓存for (i=0;i8;i+) if (flag) / 将DATA_BUF.7 放在数据线上MOSI=1; elseMOSI=0; /主机读操作SCK=1;/ 拉高时钟线DATA_BUF=DATA_BUF1; SCK=0;/ 拉低时钟线 uchar SpiRead(void) /定义Spi读操作程序uchar i;for (i=0;i8;i+) / DATA_BUF=DATA_BUF1; SCK=1;/ 拉高时钟线if (MISO)flag1=1; elseflag1=0; SCK=0;/ 拉低时钟线return DATA_BUF;/ DATA_BUF 为接收到的完整数据void TxPacket(void) /定义发送程序uchar i;CSN=0;/ Spi使能,向Spi写命令SpiWrite(WTP);/写放配置命令for (i=0;i32;i+) SpiWrite(TxBufi);/ 写入 32 位发送数据CSN=1;Delay905(1);CSN=0;SpiWrite(WTA);/ 写数据至地址寄存器for (i=0;i4;i+) / 写入 4 字节地址SpiWrite(RxTxConf.bufi+5);CSN=1;/ 关闭SpiTRX_CE=1;/ 将905置于发送状态,进行发送Delay905(1);/ TRX_CE=0;/ 进入 ShockBurst 发送模式后 void RxPacket(void) /定义接收程序uchar i;TRX_CE=0;/ 设置 905 进入空闲模式CSN=0;SpiWrite(RRP);/准备读取接收到的数据for (i=0;i126)x=0;y+; /换行LCD_Set_Pos(x,y); /设置屏幕上的位置for(i=0;i6;i+) /显示6*8一组标准ASCII字符串LCD_WrDat(F6x8ci); x+=6;j+;void Dis_Num(unsigned char x, unsigned char y, unsigned int num,unsigned char N) /数字显示函数 unsigned char j=0; unsigned char n6=0; /这里设置了数字位数最多为6位 n0=(shu/10000)%10; /取出每一位数字 n1=(shu/1000)%10; n2=(shu/100)%10; n3=(shu/10)%10; n4=shu%10; n6=0; for(j=0;jTmax)|(RxBuf0Hmax)|(RxBuf2Cmax*100)|(RxBuf4*40Cmin*100)LED3=1;beep=0;Delay(50); void set(void) /定义键盘控制程序 if(key1=0) /SET按键按下 Delay_10us(); /延时消抖 if(key1=0) while(!key1); flag2=flag2+1; /flag2为0时显示监控数据,为1,2,3时设置安全值flag2=flag2%4; /控制值只能为0,1,2,3 if(flag2=0) /显示监控数据 display(); /display是监控显示程序if(flag2=1) /温度值设定 /这里忽略了设定温度值的显示程序if(key4=0) /CHOICE键被按下 Delay_10us(); /延时消抖 if(key4=0) while(!key4); flag3=flag3+1; /flag3为0时设置上限,为1时设置下flag3=flag3%2; /flag= 0或1 if(flag3=0) /设置上限 if(key2=0) /UP键被按下 Delay_10us(); if(key2=0) while(!key2); Tmax=Tmax+5; /温度上限增加5 if(key3=0) /DOWN键被按下 Delay_10us(); if(key3=0) while(!key3); Tmax=Tmax-5; /温度上限减少5 /后面忽略温度下限以及湿度,甲烷浓度的设置程序4.硬件电路设计与调试硬件分为采集、中继、控制三个独立的部分。包含采集模块、模拟/数字转换模块、最小系统模块、显示模块、无线模块,报警模块,键盘控制和电源模块。4.1采集模块采集模块使用DHT21和MQ-4传感器。下图为采集模块电路原理图。图4.1 采集模块电路原理图DHT21模块拥有三个外部管脚,分别接5V直流电源,接地以及数据口。DHT21的硬件连接非常简单,调试过程中出现的难点在于DHT21程序中需要精确的30us延时,误差不能超过2us,延时不精确或者不正确,将出现主程序不能完整运行一遍的情况发生,表现性状是屏幕无显示。图4.2 DHT21模块MQ-4气体传感器模块拥有四个外部引脚,分别接5V直流电源,接地,TTL输出以及模拟信号输出。该模块内置了比较器,可以通过调节MQ-4模块上的滑动变阻器来改变预设比较值。如果超过设定的安全值时,TTL输出管脚会输出高电平。本设计中并未使用该功能,本设计将MQ-4的模拟信号输出管脚接入A/D转换电路。图4.3 MQ-4模块正在工作中值得注意的是,DHT21模块需要预热1秒左右,MQ-4模块需要预热30秒左右。在预热过程中,避免向传感器发送信号,否则会造成读到数据不精确的现象发生。本设计中为避免此类情况,在采集系统中设置了30秒的开机预热时间。在下文“结果展示”栏目中呈现。4.2 A/D转换模块ADC0809芯片具有8通道28个外部引脚。能将05V的模拟信号转换为8位数字信号。本设计中MQ-4信号输入IN0,D0D7连接单片机的P3口。其余五个信号管脚分别接入单片机I/O口。图4.4 ADC0809电路原理图调试过程中出现的难点在于CLK引脚需要输入5KHz的正脉冲信号。每一次脉冲完成一次转换。出入的脉冲信号不正确或者频率过低会出现转换过程缓慢的情况,表现性状为甲烷浓度变化迟缓,反应不灵敏。图4.5 ADC0809与单片机连接4.3单片机最小系统模块单片机通过接入18和19引脚的12M晶振起振工作。通过接入9引脚的复位电路置高电平来实现复位功能。图4.6 单片机最小系统原理图图4.7单片机最小系统4.4 OLED显示模块OLED屏有6个外接引脚,除外接电源和地之外,省下四个引脚与单片机连接通讯。本设计的监控系统中OLED屏幕显示监控数据和无线发送状态;中继系统中显示接收并发送的数据和无线状态;控制系统中显示接收到的数据、接收状态以及安全值设置界面。(右上角R表示接收状态,S表示发送状态)图4.8 OLED显示模块4.5NRF905无线模块NRF905模块具有14个外部引脚。其中10个引脚与单片机相连通讯(详见上文3.4)。本系统经过测试,在不使用中继系统的情况下,两块905芯片之间的通讯时间极短可以忽略不计。在使用中继系统的情况下,由于中继系统的程序需要运行时间,大约有2000ms的左右的延时。图4.9 NRF905模块在调试过程中遇到过以下几个问题:(1)整个电路系统都是由5V直流电源供电,而905模块需要以3.3V直流电源供电。因此以AMS1117芯片设计的3.3V稳压模块。(2)在NRF905配置过程中,载波频率FRF=422.4+ CH_NOd/10 *(1+ HFREQ_PLLd)MHZ。需要准确配置。NRF905可以设置工作在430Mhz930Mhz左右。但模块硬件只适应与430Mhz左右,不适应的参数会影响到通讯的距离。4.6报警及键盘控制模块报警模块采用PNP三极管8055放大电流驱动蜂鸣器工作。当指标超限时单片机会给出报警信号,由三极管放大后,蜂鸣器报警。三个发光二极管分别串联电阻连接单片机。键盘控制是由4个按键控制温度报警上下限、湿度报警上下限以及甲烷浓度报警上下限。按键设置请参考上文3.6。图4.10 报警电路原理图图4.11 键控电路原理图图4.12 报警模块和键盘控制模块如图,发光二极管从上到下分别为温度报警、湿度报警、甲烷浓度报警。任何指标超限蜂鸣器都会报警。4.7电源模块设计三块电路板主体均以5V直流电源供电。采用220V转5V电源适配器,其中内置5V稳压电路。电路中NRF905模块需要以3.3V供电,本设计内设计了3.3V直流稳压模块。图4.13 电源模块原理图 图4.14 5V电源适配器 图4.15 AMS1117-3.3V稳压电路焊接图4.8实现结果设计最终实现结果。能实时测量和显示空气温度、湿度、甲烷浓度。无线传输距离良好,穿透性能强。操作便捷简单。以下是实现结果的实物展示图。图4.16 整体系统运行图,分别为监测系统(左),中继系统(右上),控制系统(右下)图4.17 控制系统中对安全值进行设定图4.18 监控系统正在工作5. 总结5.1问题与处理利用51单片机作为核心控制器件的矿井环境监测系统,实现了对矿井下空气温度,空气湿度以及甲烷浓度的实时监控与报警。进一步加强了矿井安全生产的可操作性。系统主要由监测系统、中继系统以及控制系统组成,包含采集模块,模数转换模块,OLED显示模块,无线模块,报警模块,键盘控制模块等共八个模块。监测系统采集并转化采集到

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论