ImageVerifierCode 换一换
格式:DOCX , 页数:79 ,大小:5.56MB ,
资源ID:19225825      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19225825.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机的矿井环境监测系统设计毕业设计Word格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于单片机的矿井环境监测系统设计毕业设计Word格式.docx

1、A/D转换模块:ADC0809;显示模块:LCD1602;无线模块:NRF2401。方案一的系统设计结构图如图2.2所示。 图2.2 方案一设计结构图2.2.2方案一的设计方法设计系统主要分为两大部分。矿井下,温湿度传感器和甲烷浓度传感器进行数据采集,之后将采集到的数据通过模数转换电路并送入单片机(监测系统)中进行处理,在矿井下显示实时监测的结果,并将处理后的数据通过无线发射装置发送至地面的控制中心。地面控制中心通过无线接收装置收到处理后的实时监测数据。通过控制系统实时显示矿井下各项数据指标之外,还将数据与设定的安全值进行比较,超出或者低于安全值范围,报警模块发出相应的声光报警。信息采集模块主

2、要采集温度、湿度以及甲烷浓度三个指标,分别通过DHT11温湿度传感器、MQ-4甲烷浓度传感器实现。温湿度传感器DHT11采集到矿井下空气温湿度,向单片机输出一组数字信号,经单片机处理。MQ-4通过对甲烷等气体的浓度感应输出模拟信号,经模数转换芯片转换成8位数字信号输入单片机。单片机将采集到的信号还原摄氏温度、相对湿度以及甲烷体积浓度,通过LCD1602显示屏进行显示,同时通过无线射频芯片NRF2401发送和接收数据。2.2.3方案一的优缺点方案一的设计思路具有廉价、易于实现的优点。传感器DHT11、MQ-4,显示屏LCD1602以及无线模NRF2401都是市面上常见而且价格低廉的器件。缺点在于

3、传感器精度不高,显示屏显示空间有限,无线传输距离较短。2.3方案二的论述2.3.1方案二的设计结构图系统由数据采集模块、模拟/数字转换模块、显示模块、报警模块、无线模块以及无线中继模块组成。温湿度传感器DHT21(又名AMS2301)、甲烷浓度传感器MQ-4;OLED;NRF905;无线中继模块:NRF905。方案二的设计结构图如图2.3所示。图2.3方案二设计结构图2.3.2方案二的设计方法设计系统主要分为三大部分。矿井下,与方案一类似。单片机(监测系统)中进行处理,在矿井下显示实时监测的结果,并将处理后的数据通过无线发射装置发送至中继系统。根据矿井下环境复杂程度,设置N个中继器用来接继无线

4、信号,直至发送到地面控制中心。各器件的工作方式同方案一。温湿度传感器改采用DHT11的升级芯片DHT21;显示模块使用OLED屏幕;无线模块改使用NRF905芯片。2.3.3方案二的优缺点方案二针对方案一的缺点进行了改进。方案二的设计思路对于温湿度的采集精度更高,在显示模块显示空间更大,并且无线传输距离大大增长。增加的中继系统更加符合复杂矿井环境下的无线传输要求。方案二相比方案一,制造成本高。2.4方案的选择将方案一与方案二进行如下对比。方案二比方案一更加精确和适用。在无线模块的选择上。NRF2401更适应于室内短距离传输。905系列具有NRF905B、NRF905SE、NRF905RD、RF

5、C-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

6、显示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接收程序,报警程序,键盘控制程序以及主程序

7、组成。3.1系统流程分析单片机通过主程序的逻辑顺序调用各个其他程序。首先,单片机进行初始化。各系统中OLED模块、A/D转换模块,NRF905模块完成初始化。之后,DHT21采集温湿度信号,MQ-4输出模拟信号经由ADC0809转换输入单片机,OLED将单片机处理后的温湿度和甲烷浓度进行显示。由无线模块发送到中继系统再发送到控制系统,由控制系统单片机进行处理,若超出限额则启动声光报警,若未超出限额则返回等待无线模块接收新的数据,重新进行比较。监控系统主程序解析:void main() LCD_Init(); /OLED初始化 init(); /ADC0809初始化,其中包括开中断和定时器 LC

8、D_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读取模数转换后的甲烷浓度 TxPacket(); /通过905发送数据TxBuf0

9、= DHT2shishu; /发送五组数组:分别为温度整数部分TxBuf1 = DHT2xiaoshu; /温度小数部分TxBuf2 = DHT1shishu; /湿度整数部分TxBuf3 = DHT1xiaoshu; /湿度小数部分TxBuf4 = AD_DATA0; /未经过处理的甲烷数字信号Delay905(500); /延时函数等待发送完毕S /在屏幕上显示发送成功标志 display(); /OLED显示程序中继系统主程序解析:TxBuf0 = RxBuf0; /将接收到的五组数据发送出去TxBuf1 = RxBuf1;TxBuf2 = RxBuf2;TxBuf3 = RxBuf3;

10、TxBuf4 = RxBuf4;SetRxMode(); / if (DR) /如果DR管脚收到高电平,说明发射完毕 RxPacket(); / 905开始接收数据beep_LED(); /声光报警程序3.2温湿度采集及处理函数温湿度采集模块使用传感器DHT21。这是一款通过对空气中温湿度采样并输出数字信号的传感器。DHT21模块具有三个管脚,分别接5V直流电源,接地以及数据输出口。数据输出口采用单总线数据格式与单片机进行通讯。通过输出四十位的高低电平信号来传输温湿度数据,每一位响应时间在80-100微秒左右。数据格式:40bit数据=16bit湿度数据+16bit温度数据+8bit校验码温湿

11、度数据分高8位数据和低8位数据组成。校验码是前32位数据之和。单片机将DHT21总线拉低500us并拉高后,DHT21会立即响应。下图为单片机向DHT21发送开始信号,DHT21响应的工作过程。 图3.2 DHT21响应单片机开始信号的工作过程对应程序解析:void RH(void) /定义读取温湿度函数DHT=0; /单片机拉低,对应上图“主机拉低500us”Delay905(5); /保持拉低状态,这里采用模糊延时,不一定需要精准DHT=1; /拉高主线yanshijingque_10us(); /以下为保持拉高状态。这里需要精确延时if(!DHT) /判断DHT21是否响应,对应上图“D

12、HT21响应信号80us”U8FLAG=2;while(!DHT)&U8FLAG+); /等待响应 while(DHT)& /等待响应COM(); /运行数据接收函数 Shidu_gao=U8comdata; /读出湿度高8位Shidu_di =U8comdata; /读出湿度低8位wendu_gao =U8comdata; /读出温度高8位wendu_di p=U8comdata; /读出温度低8位Xiaoyanma=U8comdata; /读出8为校验码Xiaoyanma=( Shidu_gao + Shidu_di+ wendu_gao + wendu_di);/校验if(U8temp=

13、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; /导出温度,方便后面显示模

14、块调用DHT2xiaoshu=DHTData2%10;U8checkdata=U8checkdata_temp;DHT21开始传输数据后,梅1bit数据都是由一个低电平间隙和一个高电平组成。共40bit数据,当最后1bit传输完毕时,单总线将被再次拉低50us,随后释放被拉高。void COM(void) /定义数据接收函数 unsigned char i; for(i=0;i8;i+) /循环八次,接收一组数据 U8FLAG=2; while(! /等待低电平间隙,对应上图“1bit开始” Delay_10us(); /等到30us,这里需要精确延时 U8temp=0; /等待30us后我们

15、预设值为0 if(DHT)U8temp=1; /如果依然为高电平,可以确定数据值为1 while(DHT)& /等待拉高结束 if(U8FLAG=1)break; U8comdata=1; /保存读到的数值,并移位 U8comdata|=U8temp; 3.3 MQ-4甲烷浓度传感器以及A/D转换程序MQ-4气体传感器适用与对甲烷、氢气、一氧化碳、烟雾等可燃气体的检测,对不同气体有不同的灵敏特性。MQ-4传感器通过对不同浓度气体的感应输出不同的电压值。经过模数转换输入单片机。这里采用ADC0809模数转换芯片。芯片能将05V的模拟信号转换为8位的数字信号。D0D7管脚连接单片机I/O口输出数字

16、信号。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 /利用定时

17、器T0产生中断CLK=CLK; /生成脉冲信号void AD() /定义AD转换程序ADDCS=0; /选择通道IN0 delay2(10);ST=1; /启动AD转换while(EOC=0); /等模数转换过程结束OE=1; /OE管脚向单片机发送读取数据请求CH4=P3; /保存读取到的值,范围(0256)单片机读取到转换后的数字信号之后,根据MQ-4气体传感器对甲烷气体的灵敏特性,还原甲烷气体浓度。下图为灵敏度特性曲线。由图可见,甲烷气体在纯净空气中的浓度在1000ppm左右。根据特性曲线,我们粗略的认为单片机读取到的数字信号乘以系数40就是空气中的实际甲烷浓度。LCD_P8x16Str

18、(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

19、=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;RxTxConf.n;i+) /写放配置字 SpiWrite(RxTxConf.bufi); CSN=1; / 停止Spivoid SpiWrite(uchar byte) /定义Spi写操作程序

20、 DATA_BUF=byte; /将需要发送的数据写入缓存 i+) if (flag) / 将DATA_BUF.7 放在数据线上 MOSI=1; else MOSI=0; /主机读操作 SCK=1; / 拉高时钟线 DATA_BUF=DATA_BUF1; SCK=0; / 拉低时钟线 uchar SpiRead(void) /定义Spi读操作程序i+) / if (MISO) flag1=1; flag1=0; / 拉低时钟线 return DATA_BUF; / DATA_BUF 为接收到的完整数据void TxPacket(void) /定义发送程序 / Spi使能,向Spi写命令 SpiWrite(WTP); /写放配置命令32;i+) SpiWrite(TxBufi); / 写入 32 位发送数据 Delay905(1); SpiWrite(WTA); / 写数据至地址寄存器4;i+) / 写入 4 字节地址 SpiWrite(RxTxConf.bufi+5); / 关闭S

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1