MQ7一氧化碳传感器设计原理图及pcb图程序.docx
- 文档编号:17743239
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:13
- 大小:1.49MB
MQ7一氧化碳传感器设计原理图及pcb图程序.docx
《MQ7一氧化碳传感器设计原理图及pcb图程序.docx》由会员分享,可在线阅读,更多相关《MQ7一氧化碳传感器设计原理图及pcb图程序.docx(13页珍藏版)》请在冰点文库上搜索。
MQ7一氧化碳传感器设计原理图及pcb图程序
MQ-7一氧化碳传感器模块设计原理图及其程序
一氧化碳中毒的概述
CO为无色、无味、无臭的气体,凡是碳或含碳物质在氧不充分时燃烧,均可产生CO。
在使用柴炉、煤炉时,如通风系统不畅通,尤其是近年来煤气取暖器和煤气热水器使用不当使CO中毒大为增加。
因为CO是无色、无味的气体,所以称之为“沉默的杀手”。
人体吸入CO后,往往毫无知觉,甚至出现严重的症状后仍不知何故,从而继续处在高浓度的CO环境中,直至死亡。
CO进入体内后,一部分与血红蛋白结合,引起血红蛋白氧运输量明显减少;另一部分直接与细胞线粒体内的细胞色素a3结合,抑制组织细胞内呼吸。
故CO中毒时临床表现与血中HbCO水平可能不一致。
简要说明:
一、尺寸:
32mmX22mmX27mm长X宽X高
二、主要芯片:
LM393、MQ-7气体传感器
三、工作电压:
直流5伏
四、特点:
1、具有信号输出指示。
2、双路信号输出(模拟量输出及TTL电平输出)
3、TTL输出有效信号为低电平。
(当输出低电平时信号灯亮,可直接接单片机)
4、模拟量输出0~5V电压,浓度越高电压越高。
5、对一氧化碳具有很高的灵敏度和良好的选择性。
6、具有长期的使用寿命和可靠的稳定性
五、应用:
用于家庭、环境的一氧化碳探测装置。
适宜于一氧化碳、煤气等的探测。
【标注说明】
【原理图】
【测试方式】
1、传感器先预热20秒左右。
2、将传感器放在无被测气体的地方,顺时针调节电位器,调节到指示灯亮,然后逆时针转半圈,调到指示灯不亮,然后接近被测气体,指示灯亮,离开被测气体,指示灯熄灭,就证明传感器是好的!
第一步:
给模块供5V直流电(注意正负极别接反,否则容易烧毁芯片)。
第二步:
如果选择DOUT,TTL高低电平端,输出信号可以直接接单片机IO口或者接一个NPN型三极管去驱动继电器,电位器RP在这里用于调节输出电平跳变的阀值,由下图原理图可以分析,当传感器检测到被测气体时,比较器LM393管脚2点的电压值,跟传感器检测到气体的浓度成正比,当浓度值超过电位器RP设定的阀值时,比较器2脚的点位高于3脚的点位,这个时候,比较器1脚输出低电平,LED灯亮,R3为LED灯限流电阻,C1为滤波电容。
传感器输出低电平,反之,当没有信号的时候,传感器输出高电平,等于电源电压。
第三步:
如果选择AOUT,模拟量输出,那样就不用管电位器了,直接将AOUT脚接AD转换的输入端或者,带有AD功能的单片机,就可以了。
根据我们的经验:
在正常环境中,即:
没有被测气体的环境,设定传感器输出电压值为参考电压,这时,AOUT端的电压在1V左右,当传感器检测到被测气体时,电压每升高0.1V,实际被测气体的浓度增加200ppm(简单的说:
1ppm=1mg/kg=1mg/L=1×10-6常用来表示气体浓度,或者溶液浓度。
),根据这个参数就可以在单片机里面将测得的模拟量电压值转换为浓度值。
注意:
如果您是用来做精密仪器,请购买市场上标准的校准仪器,不然存在误差,因为,输出浓度和电压关系的比值并非线性,而是趋于线性。
特别提醒:
传感器通电后,需要预热20S左右,测量的数据才稳定,传感器发热属于正常现象,因为内部有电热丝,如果烫手就不正常了。
【测试程序】
实现功能:
1、当测量浓度大于设定浓度时,单片机IO口输出低电平
/********************************************************************
实现功能:
此版配套测试程序
使用芯片:
AT89S52
晶振:
11.0592MHZ
波特率:
9600
编译环境:
Keil
作者:
zhangxinchun
淘宝店:
汇诚科技
【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!
*********************************************************************/
/********************************************************************
说明:
1、当测量浓度大于设定浓度时,单片机IO口输出低电平
*********************************************************************/
#include
#defineucharunsignedchar//宏定义无符号字符型
#defineuintunsignedint//宏定义无符号整型
/********************************************************************
I/O定义
*********************************************************************/
sbitLED=P1^0;//定义单片机P1口的第1位(即P1.0)为指示端
sbitDOUT=P2^0;//定义单片机P2口的第1位(即P2.0)为传感器的输入端
/********************************************************************
延时函数
*********************************************************************/
voiddelay()//延时程序
{
ucharm,n,s;
for(m=20;m>0;m--)
for(n=20;n>0;n--)
for(s=248;s>0;s--);
}
/********************************************************************
主函数
*********************************************************************/
voidmain()
{
while
(1)//无限循环
{
LED=1;//熄灭P1.0口灯
if(DOUT==0)//当浓度高于设定值时,执行条件函数
{
delay();//延时抗干扰
if(DOUT==0)//确定浓度高于设定值时,执行条件函数
{
LED=0;//点亮P1.0口灯
}
}
}
}
/********************************************************************
结束
*********************************************************************/
【测试程序】
*********************************************************************/
#include
#defineucharunsignedchar//宏定义无符号字符型
#defineuintunsignedint//宏定义无符号整型
codeucharseg7code[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//显示段码数码管字跟
ucharwei[4]={0XEf,0XDf,0XBf,0X7f};//位的控制端//位控制码
sbitST=P3^0;//A/D启动转换信号
sbitOE=P3^1;//数据输出允许信号
sbitEOC=P3^2;//A/D转换结束信号
sbitCLK=P3^3;//时钟脉冲
uintz,x,c,v,AD0809,date;//定义数据类型
/******************************************************************
延时函数
******************************************************************/
voiddelay(uchart)
{
uchari,j;
for(i=0;i { for(j=13;j>0;j--); {; } } } /********************************************************************** 数码管动态扫描 *********************************************************************/ voidxianshi()//显示函数 { uintz,x,c,v; z=date/1000;//求千位 x=date%1000/100;//求百位 c=date%100/10;//求十位 v=date%10;//求个位 P2=0XFF; P0=seg7code[z]&0x7f; P2=wei[0]; delay(80); P2=0XFF; P0=seg7code[x]; P2=wei[1]; delay(80); P2=0XFF; P0=seg7code[c]; P2=wei[2]; delay(80); P2=0XFF; P0=seg7code[v]; P2=wei[3]; delay(80); P2=0XFF; } /************************************************************************* CLK振荡信号 **************************************************************************/ voidtimer0()interrupt1//定时器0工作方式1 { TH0=(65536-2)/256;//重装计数初值 TL0=(65536-2)%256;//重装计数初值 CLK=! CLK;//取反 } /************************************************************************* 主函数 **************************************************************************/ voidmain() { TMOD=0X01;//定时器中断0 CLK=0;//脉冲信号初始值为0 TH0=(65536-2)/256;//定时时间高八位初值 TL0=(65536-2)%256;//定时时间低八位初值 EA=1;//开CPU中断 ET0=1;//开T/C0中断 TR0=1; while (1)//无限循环 { ST=0;//使采集信号为低 ST=1;//开始数据转换 ST=0;//停止数据转换 while(! EOC);//等待数据转换完毕 OE=1;//允许数据输出信号 AD0809=P1;//读取数据 OE=0;//关闭数据输出允许信号 if(AD0809>=251)//电压显示不能超过5V AD0809=250; date=AD0809*20;//数码管显示的数据值,其中20为采集数据的毫安值 xianshi();//数码管显示函数 } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MQ7 一氧化碳 传感器 设计 原理图 pcb 程序