基于单片机的气体检测系统设计文档格式.docx
- 文档编号:19350137
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:19
- 大小:101.06KB
基于单片机的气体检测系统设计文档格式.docx
《基于单片机的气体检测系统设计文档格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的气体检测系统设计文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
此溶液沸点为19.5℃故在室温时极易挥发,随着温度的上升甲醛的挥发速度加快。
在我国有毒化学品优先控制名单中甲醛列居第二位。
甲醛已被世界卫生组织确定为致癌和致畸形物质。
甲醛是原浆毒物,能与蛋白质结合,吸入高浓度甲醛后会出现呼吸道的严重刺激和水肿、眼刺痛、头痛,也可发生支气管哮喘皮肤直接接触甲醛,可引起皮炎、色斑、坏死。
经常吸入少量甲醛,能引起慢性中毒,出现粘膜充血、皮肤刺激症、过敏性皮炎、指甲角化和脆弱等。
全身症状有头痛、乏力、心悸、失眠、体重减轻以及植物神经紊乱等。
天然气、液化天然气(俗称煤气罐)是一种多组分的混合气体,主要成分是烷烃,其中甲烷占绝大多数,另有少量的乙烷、丙烷和丁烷,此外一般还含有硫化氢、二氧化碳、氮和水气,以及微量的惰性气体,如氦和氩等。
在标准状况下,甲烷至丁烷以气体状态存在,戊烷以上为液体。
天然气在燃烧过程中产生的能影响人类呼吸系统健康的物质极少,产生的二氧化碳仅为煤的40%左右,产生的二氧化硫也很少。
天然气易燃易爆和空气混合后,温度达到550℃左右就会燃烧;
其混合物浓度达到5%-15%,遇到火种就会爆炸。
天然气热值高,约8500-10000千卡/米3,天然气燃烧后发出的热量是相同体积的城市煤气的2.5倍左右。
1.2设计的内容
本论文主要完成室内空气质量检测仪的软件设计,设计内容包括:
A/D转换器程序、控制程序、超标报警、键盘检测、数据显示等。
本系统采用单片机为控制核心,以实现室内空气质量检测仪的基本控制功能。
系统主要功能内容包括:
数据处理、时间设置、开始测量、超标报警、键盘检测、自动休眠:
仪器若不进行称量操作,5分钟后自动进入休眠模式,以降低电源消耗。
本系统设计采用功能模块化的设计思想,系统主要分为总体方案设计、硬件和软件的设计三大部分。
1.3发展背景
室内甲醛污染和天然气泄露对人身体健康影响较大,标准规定的方法绝大多数是化学分析法,使用的手段是实验室分析仪器主要有比色计、分光光度计、化学滴定、气相和液相色谱。
但这些方法费力费时、成本高、自动化程度低过程复杂、大多数过程是人工操作很难做到现场实时控制随着传感器和计算机技术的不断发展,现已有了基于单片机的空气质量检测仪,并且测试测试范围、分辨率、精度、稳定性已接近标准要求。
因此本设计可选用基于电化学原理的甲醛传感器与MQ-5气体传感器。
甲醛传感器其原理是空气中的甲醛在电极下发生氧化反应,产生的扩散电极电流与空气中的甲醛浓度成正比,通过检测放大电路和放大倍数的调整经A/D转换后送单片机;
MQ-5气体传感器由微型AL2O3陶瓷管、SnO2敏感层,测量电极和加热器构成的敏感元件组成,通过检测放大电路和放大倍数的调整经A/D转换后送单片机,由单片机现场自动控制检测并显示甲醛浓度和煤气、天然气主要参数。
2总体方案设计
2.1总体方案设计
2.2总体电路概念图设计
总体的硬件系统结构框图如图2-1所示
图2-1硬件电路结构图
3硬件设计
3.1主控芯片AT89C52的设计
AT89C52是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含8Kbytes的可反复擦写的只读程序存储器(PEROM)和256Kbytes的随机存取数据存储器,器件采用ATMEL公司的高密度,非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器和FLASH存储单元,功能强大,AT89C52单片机适合于许多较为复杂控制应用场合。
主要性能参数:
●与MCS-51产品指令和引脚完全兼容
●8K字节可重擦写FLASH闪存存储器
●1000次写/擦循环
●时钟频率:
0Hz—24MHz
●三级加密存储器
●256字节内部RAM
●32个可编程I/O口线
●3个16位定时/计数器
●6个中断源
●可编程串行UART通道
●低功耗的空闲和掉电模式
●片内振荡器和时钟电路
图3-1引脚图
3.2传感器设计
从传感器过来的电压信号,必须放大,滤波,采集,转换才能被MCU识和处理。
由于假若每一路都设置放大、滤波等器件,那么成本会很大,所以信号的采集一般用多路模拟通路进行选择。
然而选择多路模拟开关时必须考虑以下的几个因素:
通道数量、切换速度、开关电阻和器件的封装形式。
总之数据采集与硬件的选择有很大的关系[4]。
甲醛传感器的选择:
甲醛传感器由甲醛探头CH20传感器组成。
甲醛传感器/甲醛模块(CH2O传感器)详细介绍如下表3-3:
MQ-5气体传感器的选择:
MQ-5气体传感器由微型AL2O3陶瓷管、SnO2敏感层,测量电极和加热器构成的敏感元件组成。
MQ-5气体传感器详细介绍如下表3-4。
(3)测量电路
测量电路由CH20/S-10甲醛传感器,MQ-5气体传感器,ADC0832组成。
甲醛传感器由甲醛探头和CH20传感器组成。
当空气被内部的采样系统吸收后,产生一个与甲醛浓度成正比的电压信号,该电压信号经AD0832与AT89C52单片机相连,在显示器上显示出甲醛的浓度值,当超过国家规定的标准时报警。
MQ-5传感器通过+热气对敏感层加热,当有烟雾性煤气接触单敏感层会产生电压信号经AD0832与AT89C52单片机相连超过国家规定的标准时报警。
表3-3甲醛传感器参数表
名称
甲醛传感器CH2O/S-10:
测量范围
0-10ppm
最大负荷
50ppm
工作寿命
空气中3年
输出
1200±
300nA/ppm4-20mA(甲醛模块
分辨率
0.05ppm
温度范围
-20℃to45℃
压力范围
大气压±
10%
响应时间(T90)
〈50seconds
湿度范围
零点输出(纯净空体,20℃)
〈0.1ppm
最大零点漂移(20℃to40℃)
0.1ppm
长期漂移
〈2%/每月
推荐负载值
10Ω
线性度输出
线性
重量
约32克
表3-4MQ-5气体传感器参数表
MQ—5气体传感器
加热电压
5.0V±
0.2VACorDC
负载电阻
可调
加热电阻
31Ω±
3Ω室温
加热功耗
≤900mW
回路电压
≤15VACorDC
使用温度
-10℃-50℃
储存温度
-20℃-70℃
相对湿度
小于95%Rh
氧气浓度
21%(标准条件)
敏感体电阻
10KΩ-60KΩ
浓度斜率
≤0.6
标准工作条件
温度:
20℃±
2℃Vc:
0.1V
相对湿度:
65%±
5%Vh:
预热时间
不少于24小时
探测范围
300-5000ppm
液化气,天然气,煤气。
3.3模数转换设计
(1)实现A/D转换的基本方法很多,有计数法、逐次逼近法、双斜积分法和并行转换法。
由于逐次逼近式A/D转换具有速度,分辨率高等优点,而且采用这种方法的ADC芯片成本低,所以我们采用逐次逼近式A/D转换器。
逐次逼近型ADC包括1个比较器、一个模数转换器、1个逐次逼近寄存器(SAR)和1个逻辑控制单元。
逐次逼近型是将采样信号和已知电压不断进行比较,一个时钟周期完成1位转换,依次类推,转换完成后,输出二进制数。
这类型ADC的分辨率和采样速率是相互牵制的。
优点是分辨率低于12位时,价格较低,采样速率也很好。
(2)由于ADC0832模数转换器具有8位分辨率、双通道A/D转换、输入输出电平与TTL/CMOS相兼容、5V电源供电时输入电压在0~5V之间、工作频率为250KHZ、转换时间为32微秒、一般功耗仅为15MW等优点,适合本系统的应用,所以我们采用ADC0832为模数转换器件。
电路图见图3-6如下:
图3-6模数转换电路图
ADC0832具有以下特点:
·
8位分辨率;
双通道A/D转换;
输入输出电平与TTL/CMOS相兼容;
5V电源供电时输入电压在0~5V之间;
工作频率为250KHZ,转换时间为32μS;
·
一般功耗仅为15mW;
8P、14P—DIP(双列直插)、PICC多种封装;
商用级芯片温宽为0°
Cto+70°
C,工业级芯片温宽为−40°
Cto+85°
C;
芯片接口说明:
CS_片选使能,低电平芯片使能;
CH0模拟输入通道0,或作为IN+/-使用;
CH1模拟输入通道1,或作为IN+/-使用;
GND芯片参考0电位(地);
DI数据信号输入,选择通道控制;
DO数据信号输出,转换数据输出;
CLK芯片时钟输入;
Vcc/REF电源输入及参考电压输入(复用);
ADC0832为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。
其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。
芯片转换时间仅为32μS,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。
独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。
通过DI数据输入端,可以轻易的实现通道功能的选择。
(3)单片机对ADC0832的控制原理:
正常情况下ADC0832与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。
但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI并联在一根数据线上使用。
当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK和DO/DI的电平可任意。
当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。
此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。
在第1个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。
在第2、3个脉冲下沉之前DI端应输入2位数据用于选择通道功能,
(4)测量量程
本系统的量程为0-10ppm。
由于我所使用的是8位ADC0832,所以本系统的精度为:
10ppm/256=0.039ppm。
3.4按键设计
本系统应用有人机对话功能,该功能即能随时发出各种控制命令和数据输入以及和LCD连接显示运行状态和运行结果。
键盘分为:
独立式和矩阵式两类,每一类按其编码方法又可以分为编码和非编码两种。
由于本系统只有UP、DOWN、OK、CANCEL4个控制命令,所需按键较少,所以本系统选择独立式按键。
电路图见图3-7:
图3-7按键电路图
独立式按键是直接用I/O口线构成的单个按键电路。
每个独立式按键占有一根I/O口线。
各根I/O口线之间不会相互影响。
在此电路中,按键输入部采用低电平有效,上拉电阻保证了按键断开时,I/O口线有确定的高电平,(AT89C52.P1口内部接有上拉电阻)所以就不需要再外接上拉电阻。
键盘抖动的消除:
抖动的消除大致可以分为硬件削抖和软件削抖。
硬件削抖是采用硬件电路的方法对键盘的按下抖动及释放抖动进行削抖,经过削抖电路后使按键的电平信号只有两种稳定状态。
软件削抖的基本原理是当检测出键盘闭合时,先执行一个延时子程序产生数毫秒的延时,待接通时的前沿抖动消失后再判别是否有健按下。
当按键释放时,也要经过数毫秒延时,待后沿抖动消失后再判别键是否释放。
由于应用硬件削抖还需要外加器件,成本相对较高,所以本系统选择软件延时削抖的方法。
3.5外围扩充存储器设计
基于AT89C52单片机具有8KB的程序存储器(ROM),256B的数据存储器(RAM),由于考虑到本系统的数据处理与存储所需的容量,现在需要扩充存储器
的容量。
在应用中要保存一些参数和状态,据了解基于EEPROM的存储芯片是一种很好的选择,选定了AT24C128存储器。
电路图见图3-8:
图3-8外围扩充存储电路图
3.6时钟芯片设计
因为此系统需要记录测量发生的时间,所以需要时钟芯片来记录不同人在不同时间的监测数据,因此我们在系统中加入了时钟芯片。
对时钟芯片的要求首先是低功耗,其次是编程简单,缩短程序开发时间,实际上也就缩短了系统用于实际生产所用的开发周期以及成本,在本系统,我们选择了DS1302时钟芯片。
时钟电路选择的芯片是DS1302,其内含一个实时时钟/日历和31字节静态RAM,可以通过串行接口与单片机通信。
而通信时,仅需要3个口线:
(1)RES(复位),
(2)I/O数据线,(3)SCLK(串行时钟)。
时钟/RAM的读/写数据以一字节或多达31字节的字符组方式通信。
其工作时功耗很低,广泛应用于电话,传真,便携式仪器等产品领域[3]。
DS1302主要性能有:
时实时钟能计算2100年之前的秒、分、时、日、日期、星期、月、年的能力,还有闰年的调整能力;
读/写时钟或RAM数据时,有单字节和多字节传送两种方式;
与DS1202/TTL兼容。
DS1302引脚概述:
X1,X2:
振荡源,外接32。
768KHZ晶振;
SCLK:
串行时钟输入端。
其电路图如图3-9:
图3-9时钟电路图
3.7LCD显示器设计
对于本系统要有显示装置完成显示功能。
显示器最好能够显示数据、图形。
考虑到同种LCD显示器的屏幕越大体积越大,功耗越大的特点,在同类产品中选用了AMPIRE128X64液晶显示模块。
该型号显示器消耗电量比较低,可以满足系统要求。
该类液晶显示模块采用动态的液晶驱动,可用5V供电。
以下为LCD显示电路接线原理图如图3-11
图3-11液晶电路图
在单片机系统中应用LCD显示器作为输出器件有以下几个有点:
显示质量高:
由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。
因此,LCD显示器画质高且不会闪烁。
数字式接口:
液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。
体积小、重量轻:
液晶显示器通过显示屏上的电极控制液晶分子状态来达到
显示的目的,在重量上比相同显示面积的传统显示器要轻的多。
功耗低:
相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其他显示器要少的多[5]。
4软件设计
4.1主程序模块设计
主程序实现的功能:
与硬件相结合实现便携式甲醛检测仪的各个功能。
主要是检测与显示,时间调整与显示,数据存储。
功能子函数的调用。
见图4-1
图4-1主程序流程图
4.2模数转换设计
(1)模数转换模块的主要功能就是将经放大器放大的模拟电压信号转化为MCU能够处理的数字信号,并传送给MCU。
(2)ADC0832转换的流程图如下图4-2
图4-2数转换流程图
4.3按键模块设计
(1)按键时显现人机对话的一个控制按钮,通过按键的操作,对系统进行发送操作指令,后经与MCU串行通信,然后在液晶上显示。
(2)按键查询式的流程图如下图:
图4-3按键查询式的流程图
4.4时钟模块设计
(1)DS1302模块主要是用于设置时间和与MCU通信经LCD显示时间。
(2)时钟模块操作流程图如下图:
图4-4时钟模块操作流程图
4.5LCD显示模块设计
LCD模块在本系统中主要起着开界面汉字显示,以及各控制效果的显示。
采用直接访问方式。
液晶显示的操作流程图如下图4-5:
图4-5液晶显示的操作流程图
5系统仿真
5.1编译软件介绍
Keil软件简介:
单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。
机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。
运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统[5]。
5.2主程序
#include<
AT89X52.H>
//调用外函数//
ctype.h>
string.h>
stdlib.h>
stdio.h>
math.h>
LCD.h>
/**********初始化CPU************/
voidinit_cpu()//初始化cPu
{EA=1;
TR0=1;
TR1=1;
TMOD=0x11;
TH1=0x3c;
TL1=0xb0;
}
/*voidtime1(void)interrupt3using1
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
keyval=P1;
}*//初始化CPU结束//
voidmain_menu_initial()//LCD主菜单初始化.//
{
main1_menu[0].menu_count=4;
//有4个菜单项.//
main1_menu[0].display=measurearray;
//定义一个”开始测量“数组//
main1_menu[0].subs=NULL;
main1_menu[0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 气体 检测 系统 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)