煤气检漏仪的设计与实现Word格式文档下载.docx
- 文档编号:21119383
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:22
- 大小:403.34KB
煤气检漏仪的设计与实现Word格式文档下载.docx
《煤气检漏仪的设计与实现Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《煤气检漏仪的设计与实现Word格式文档下载.docx(22页珍藏版)》请在冰豆网上搜索。
人们面对燃气泄漏而造成的种种事故威胁,就真的没有一个彻底的解决办法吗?
据有关专家介绍,使用燃气报警器是对付燃气无形杀手的重要手段之一。
燃气专家指出,燃气泄漏或废气排放而大量产生的一氧化碳是燃气中毒事响应的根源,如采有用燃气泄漏报警器就能得到和时的警示人们。
有关部门经长期测试同样得出结论,燃气报警器防止一氧化碳中毒事故发生的有效率达95%以上。
为了防止中毒事件再次发生,提出利用单片机系统进行有效的预防对策。
所以怎样防止煤气中毒与爆炸已成为人们的迫切需要。
为此,我们需要设计煤气检漏仪来更好的解决这一个问题。
1.2设计任务和要求
1.2.1煤气检漏仪的设计与实现任务,包含以下方面:
(1)对煤气检漏仪进行硬件设计和软件流程设计,分为主程序设计,A/D转换控制程序的设计,数据处理,声光报警子程序设计等。
(2)软件调试和功能仿真,画出煤气检漏仪的电路原理图。
(3)当气体浓度超过一定程度时报警。
(4)完成实物,实现功能。
1.2.2煤气检漏仪的设计与实现要求:
煤气检漏仪主要包括单片机最小系统、气体传感和A\D转换电路、声光报警电路和显示电路等部分。
本课程设计要求做到以下几点:
(1)用气体传感器检测煤气是否泄漏;
(2)A/D转换器能够时刻的对放大的电压信号进行采集;
(3)根据有煤气体浓度与采集的电压信号的关系进行数据转换处理;
(4)用LCD1602显示所测得的煤气浓度值。
(5)根据气体浓度LED灯和蜂鸣器作出相应的处理。
第二章煤气检漏仪硬件电路的总体设计
2.1基于单片机的设计
基于STC89C52单片机实现的煤气检漏仪的具体方案如图2-1所示。
该方案主要包括了可燃气体传感器、A/D转换器、STC89C52单片机控制电路、声光报警电路以和液晶显示电路。
气体传感器输出为模拟量,单片机处理的是数字信号,需要利用A/D转换器,将模拟量转换成数字量送给STC89C52单片机进行数据的处理;
声光报警电路里使用蜂鸣器作为报警用,同时还用LED灯进行相应的指示,以便于提醒注意;
单片机的最小系统是STC89C52单片机工作的前提条件;
显示电路采用了液晶LCD1602进行显示,由STC89C52单片机进行控制实现显示。
图2-1基于AT89C51的单片机的煤气检测系统组成框图
在煤气检漏仪组成框图2-1中所示,系统以单片机STC89C52为控制的核心,配合外围电路共同完成信号采集、浓度的显示、声光报警电路的功能设计等。
其中传感器采用的是MQ-7,该传感器外形小,气体响应快,性能稳定,低功耗,常适用于泄漏监测器。
A/D转换器采用的是ADC0809,它是采样频率为8位的、以逐次逼近原理进行模/数转换的器件,具有功耗低,性能稳定的特点。
显示采用液晶LCD1602。
2.2系统硬件电路的总体设计
系统硬件电路的总体设计主要包括了气体传感和A/D转换电路设计、单片机的最小系统、声光报警电路设计和液晶显示电路的设计等。
2.2.1气体传感和A/D转换电路的设计
气体传感器采用MQ-7,由于MQ-7只能输出模拟信号而单片机只能处理数字信号,因此采用ADC0809作为A/D转换。
MQ-7和ADC0809组合实现气体检测功能,当一氧化碳气体达到一定浓度时通知报警系统发出警报,如下图所示:
MQ-7气体传感器
MQ-7气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。
采用高低温循环检测方式低温(1.5V加热)检测一氧化碳,传感器的电导率随空气中一氧化碳气体浓度增加而增大,高温(5.0V加热)清洗低温时吸附的杂散气体。
使用简单的电路即可将电导率的变化,转换为与该气体浓度相对应的输出信号。
特点:
1、对一氧化碳气体有良好的灵敏度
2、长寿命、低成本
3、简单的驱动电路即可
AD芯片选择的原因如下:
ADC0809是带有8位A/D转换器、8路多路开关以和微处理机兼容的控制逻辑的CMOS组件。
它是逐次逼近式A/D转换器,可以和单片机直接接口。
(逐次逼近式指以天平为例,有四个砝码分别是8,4,2,1,现测13g的东西,顺序砝码重比较判断暂时结果1.8g8g<
13g保留8g2.8+4g12g<
13g保留12g3.8+4+2g14g>
13g撤消12g4.8+4+1g13g=13g保留13g)
(1)ADC0809的内部逻辑结构
由下图可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。
多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。
三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。
(2)ADC0809引脚结构
ADC0809各脚功能如下:
D7-D0:
8位数字量输出引脚。
IN0-IN7:
8位模拟量输入引脚。
VCC:
+5V工作电压。
GND:
地。
REF(+):
参考电压正端。
REF(-):
参考电压负端。
START:
A/D转换启动信号输入端。
ALE:
地址锁存允许信号输入端。
(以上两种信号用于启动A/D转换)
EOC:
转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。
OE:
输出允许控制端,用以打开三态数据输出锁存器。
CLK:
时钟信号输入端(一般为500KHz)。
A、B、C:
地址输入线。
ADC0809对输入模拟量要求:
信号单极性,电压范围是0-5V,若信号太小,必须进行放大;
输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。
地址输入和控制线:
4条
ALE为地址锁存允许输入线,高电平有效。
当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。
A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。
通道选择表如下表所示。
C
B
A
选择的通道
IN0
1
IN1
IN2
IN3
IN4
IN5
IN6
IN7
数字量输出和控制线:
11条
ST为转换启动信号。
当ST上跳沿时,所有内部寄存器清零;
下跳沿时,开始进行A/D转换;
在转换期间,ST应保持低电平。
EOC为转换结束信号。
当EOC为高电平时,表明转换结束;
否则,表明正在进行A/D转换。
OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。
OE=1,输出转换得到的数据;
OE=0,输出数据线呈高阻状态。
D7-D0为数字量输出线。
CLK为时钟输入信号线。
因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,
VREF(+),VREF(-)为参考电压输入。
2.ADC0809应用说明
(1)ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。
(2)初始化时,使ST和OE信号全为低电平。
(3)送要转换的哪一通道的地址到A,B,C端口上。
(4)在ST端给出一个至少有100ns宽的正脉冲信号。
(5)是否转换完毕,我们根据EOC信号来判断。
(6)当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。
2.2.2声光报警电路和显示电路的设计
声光报警电路由LED灯、蜂鸣器等组成。
当煤气泄漏时,LED灯亮,蜂鸣器响起,一氧化碳气体达到一定浓度时,LCD1602会显示出字符“Danger!
!
”和气体密度,提醒人员采取措施,避免造成人身和财产损失。
报警和显示模块如下图所示:
LCD1602介绍如下:
工业字符型液晶,能够同时显示16x2即32个字符。
(16列2行)
注:
为了表示的方便,皆以1表示高电平,0表示低电平。
1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。
它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。
LCD1602是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。
LCD1602管脚功能如下:
1602采用标准的16脚接口,其中:
第1脚:
VSS为电源地。
第2脚:
VCC接5V电源正极。
第3脚:
V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。
第4脚:
RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。
第5脚:
RW为读写信号线,高电平
(1)时进行读操作,低电平(0)时进行写操作。
第6脚:
E(或EN)端为使能(enable)端,高电平
(1)时读取信息,负跳变时执行指令。
第7~14脚:
D0~D7为8位双向数据端。
第15~16脚:
空脚或背灯电源。
15脚背光正极,16脚背光负极。
2.2.4处理芯片
处理芯片采用STC89C52,该芯片是一种带8K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可反复擦除1000次。
STC89C52引脚图:
第三章煤气检漏仪软件的总体设计
本设计中,软件解决的主要问题是检测气体传感器的有毒气体浓度信号,然后对信号进行放大、A/D转换,数据处理,浓度显示,以和警报处理。
3.1主程序设计流程图
主程序设计流程图如图3-1所示,ADC0809对传感器检测的信号进行A/D转换,单片机对转换后的信号进行数据处理后,将浓度值与报警值相比较,判断是否报警。
同时送入液晶LCD1602显示气体浓度值。
3.2部分程序
A/D转化程序:
adda=0;
//int0通道
st=1;
time(10);
//延时
st=0;
//启动ad转化
while(eoc==0);
//是否转化完成
oe=1;
hh[0]=P0;
//保存数据
oe=0;
ADC0809时序图
警报程序:
if(a>
2)//co达到一定程序
{
led=1;
//警报灯
write_com(0x80);
for(i=0;
i<
8;
i++)
write_date(yy2[i]);
time(10);
p=0;
}/lcd显示危险字符
speak();
}
液晶指令程序:
/*RS=L,RW=L,E=高脉冲*/
voidwrite_com(ucharcom)
{
rs=0;
P1=com;
time(5);
lcden=0;
lcden=1;
}
液晶数据程序:
/*RS=H,RW=L,E=高脉冲*2
voidwrite_date(uchardate)
rs=1;
P1=date;
3.3仿真图
本次课程设计采用Proteus的ISIS7Professional软件作为单片机的设计和仿真平台。
3.4问题分析
1.AD转化总是出现不稳定,导致无法读取正确的数据,经查阅发现是延时太短导致转化时间不足而出现不能正常进行转化。
2.液晶一开始出现显示不清晰,在2脚加上一个可调电阻,使得显示清晰。
3.由于AD转化后数据只能以16进制显示数据,如果要得到传感器电压为V=D*0.0196,但是会出现浮点数,而单片机只能处理16进制数,所以我们将其扩大100变成V=D*196,然后在显示程序除以1000,100,10就可以得到各位数。
心得体会总结
通过这次的课程设计,加强了我动手、思考和解决问题的能力。
在这两个星期的学习、设计、焊接过程中我感触颇深。
从单片机课程设计过程中,我从新认识的单片机,单片机不仅仅是低电压、高性能CMOS8位微处理器,而且工程人员还可以根据设计的要求,连接外部不同的硬件,设计不同的产品,为生产企业创造更大的利润。
在这次的设计中,我担任的是写出程序,设计总体布局。
在写程序的过程发现总体思想与模块化思想对程序本身很重要,因为模块的编程会让你比较容易查找错误,更重要的单片机处理相对杂乱无章的东西会有更高的效率。
在编写AD芯片时序程序时,由于一开始没有按照正确的时间来写,导致转化失败,因此在写单片机程序的时候必须按照正确的时序写才能很好地使用芯片。
这次我将正视自己的不足,学会了通过去翻查资料和询问老师,增强自身的理论知识,改正自己的学习态度,做到把理论知识运用到实践中。
这次的课程设计,还使我了解到单片机技术在工业应用和工业生产中的重要地位。
因此,学好这门课程是十分重要的。
其次,这次课程设计提高了我的团队合作水平,使我们配合更加默契。
我觉得做课程设计,同时也是对课本知识的巩固和加强,并且对我们以后的学习有更大的帮助。
最后,感谢老师给了我们这么宝贵的一个机会。
附录一:
全部程序:
#include<
reg52.h>
stdio.h>
#defineucharunsignedchar
#defineuintunsignedint
sbiteoc=P2^0;
sbitst=P2^1;
sbitale=P2^2;
sbitadda=P2^3;
sbitoe=P2^4;
sbitled=P2^6;
sbitrs=P3^0;
sbitlcden=P3^2;
sbitwr=P3^1;
ucharcodetable1[]="
0123456789"
;
ucharcodeyy2[]="
danger!
!
"
ucharcodeyy1[]="
midu:
"
uinthh[3];
uinta,b,c,d,z;
bitflag=0;
voidtime(ucharx)
uchara,b;
for(a=x;
a>
0;
a--)
for(b=100;
b>
b--);
//液晶
//液晶
//声音驱动程序
sbitSPK=P3^3;
sbitkey1=P3^7;
unsignedcharfrq;
unsignedintfla;
ucharo=1,y=0;
voiddelayms(unsignedcharms);
voidspeak()
y=1;
while(o&
y)
if(key1==0)
{
delayms(5);
{
o=0;
y=0;
}
}
switch(fla)
{case0:
frq++;
break;
//flag标志置0时,frq递增
case1:
frq--;
//flag标志置1时,frq递减
if(!
(frq^0xff))fla=1;
//当frq增加到FFH时,flag置1,准备frq递减
(frq^0x00))fla=0;
//当frq递减到00H时,flag置0,准备frq递增
delayms(15);
}
}
voidtimer0()interrupt1
if((y!
=0)&
&
(o!
=0))
TH0=0xfe;
TL0=frq;
SPK=~SPK;
voiddelayms(unsignedcharms)
//延时子程序
{
unsignedchari;
while(ms--)
for(i=0;
i<
120;
i++);
//adc转化程序
voidadd()
adda=0;
//int0通道
st=1;
st=0;
while(eoc==0);
oe=1;
hh[0]=P0;
oe=0;
hh[0]=hh[0]*195;
voiduu()
a=hh[0]/10000;
b=hh[0]%10000/1000;
c=hh[0]%1000/100;
d=hh[0]%100/10;
//adc计算
voidoo()
uchari;
uu();
write_com(0x80+0x40);
for(i=0;
5;
write_date(yy1[i]);
time(10);
}
write_date(table1[a]);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 煤气 检漏 设计 实现