烟雾报警器
开始报名时间:2018-09-17 00:00 至 2018-09-28 23:59
提交作品时间:2018-09-29 00:00 至 2018-10-31 23:59
名额不限
查看活动详情
337 人已报名
在线咨询
电话咨询
关注我们
一、基础功能需求
1、设置一个烟雾参考浓度,当超过这个浓度,蜂鸣器响,红灯闪烁,并要求用方波对蜂鸣器进行驱动;
2、当低于参考浓度,蜂鸣器不工作,绿灯亮;
3、两路电源供电,一路USB 5V,另一路DC12V或DC24V适配器。
二、扩展功能需求
以下是自己添加的扩展功能:
1、烟雾参考浓度可调设置和默认参考浓度设置;
2、增加锂电池供电,实现可携带功能;
3、USB 5V兼容锂电池充电,充电以及电量不足指示灯;
4、具有电源自动切换功能,当以另两路电源方式供电,锂电池自动断开供电连接;
5、预留继电器输出接口,用于外接排气扇。
三、DIY设计大概流程
作品需求分析——方案分析——功能模块电路设计——仿真验证电路功能——原理图以及Layout——样板焊接调试——成品
一、原理分析
该烟雾报警器工作原理:烟雾传感器根据当前环境的烟雾浓度输出对应的模拟电压信号,采集此电压信号与报警浓度电压比较,若高于报警值表示当前环境烟雾浓度超标,则蜂鸣器响,红灯闪烁,若低于报警值表示当前环境烟雾浓度在可接受范围内,蜂鸣器不响,绿灯亮。
二、电源部分
1、DC12V或DC24V适配器供电,采用DC-DC降压芯片产生5V的工作电压;
2、USB 5V供电,采用Micro USB接口;
3、3.7V锂电池供电,采用DC-DC升压芯片产生5V的工作电压;
4、电源切换电路参考MOS管的背靠背电路实现。
5、使用专用的锂电池充电管理芯片进行充电,不支持边冲边使用;
6、开关:使用3挡的拨动开关,一档控制电源接通,一档控制电源断开,另一档锂电池充电。
三、烟雾传感器电压信号采集部分
1、烟雾传感器采用MQ-2,可输出模拟信号;
2、通过比较器的比较阈值比较,来判断烟雾传感器输出模拟电压信号是否高于或低于设定的阈值。
四、其他逻辑功能部分
1、方波使用滞回比较器和直流电压配合产生;
2、红灯闪烁使用方波加三极管的方法控制;
3、使用拨码开关来配置是否需要烟雾参考浓度可调。
一、电源电路设计
1、DC12V、DC24V(或DC9V-DC24V)转DC5V
本DC-DC电路使用常用降压芯片LM7805来输出5V,这里说下降压芯片选型要注意输出电流是否满足电路需要,还有压差是否满足,LM7805最大可输出1A电流,输入和输出压差2V,压差要大于2V才能稳定输出5V。
补充一:电源电路中电容是最常用容量一大一小并联配合使用,这两个电容容量一般相差两个数量级以上,此处电容的主要作用如下:
(1)大电容使用的是电解电容,主要是储能以及滤低频杂波,小电容一般使用104陶瓷电容,主要是滤高频杂波;
(2)这里并联两个容量相同的电容主要有两个目的(个人愚见):
a、并联增大容量,降低电容的RSD,容量大而ESD低的电容贵,可以使用并联容量小的电容降低成本;
b、预留焊接位,方便调试时增减电容。
补充二:适配器电源插座使用的是DC-005,主要补充说下该插座使用中要注意的问题,引脚1是正极,引脚2是负极静触点,引脚3是负极动触点,主要区分动静两个触点的区别,结合电路图中的J1,J1相当于DC-005的内部结构了,当没有DC插头插入时,引脚2和引脚3时连在一起的,当有DC插头插入时,引脚2和引脚3是断开的,此时只有引脚2是和DC插头的负极连接的,而引脚3就变为一个独立的引脚,没有和负极连接,所以引脚3就是个负极动触点,因为它是根据有无插头插入是动态变化的。
所以大家在使用过程要注意引脚的定义,别把电路的地接到引脚3,当然了,这个引脚3也有很大作用的,这个会在后面说到。
2、USB 5V供电电路
此电路很简单,使用Micro USB,只用到USB的电源和地两个引脚,直接输入5V,USB可接电脑或者手机充电器。
注:0Ohm电阻只为了区分两个网络标号:USB_5V、VCC_5V.
3、锂电池电路
3.1、锂电池5V升压电路
由于使用的是3.7V锂电池,后记电路的工作电压是5V,因此采用集成的DC-DC升压IC,升压IC使用南京微盟的ME2159AM6G。
电路采用datasheet的典型电路,该IC的反馈参考电压是0.6V,当输出5V时,R3和R4串联分压得到0.6V。
之前没用过这款IC,推荐电路参数在后面调试再确定是否可行。
3.2、锂电池充电电路
充电IC使用南京微盟的TP4054,充电指示灯采用红绿双色LED,红绿同时亮呈黄色,用来指示正在充电,充电完成亮绿灯,另外用红灯表示电量不足,下图中的电阻R11是为了方便串接电流表测充电电流的,正常使用可短接或者焊接个0Ω电阻。
下面讲下如何实现指示灯的逻辑控制以及如何设置充电电流。
充电电流是通过PROG引脚来设置的,改变R5的阻值可设定不同的充电电流,注意R5精度最好要1%起,图中电路设定充电电流为400mA,具体计算公式可参考芯片手册:
接下来讲讲充电指示灯工作原理,从芯片手册中可以知道充电状态引脚是引脚1(CHRG),从芯片的内部框图也可以看出,该引脚是个漏极开路输出(OD输出),类似我们常说的OC输出,有3种输出状态:强下拉(20mA)、弱下拉(20uA)和高阻态,正在充电时为强下拉,充电完成是弱下拉,我们就根据这两种状态来设计充电指示灯的电路。
指示灯电路功能:充电中亮橙色(黄色),充电完成亮绿色,因为橙色是红绿色混合而成,所以绿灯无论是在充电中还是在充电完成都是一直亮的。那么如何让绿灯一直亮着呢?很简单,只要将绿灯接在充电电源上即可,相当于作为充电电源的指示灯,只要一接上充电电源绿灯就一直亮。
红灯如何控制呢?从前面的分析知道,红灯需要在充电中亮,所以可以利用引脚1在充电中的状态(强下拉)来驱动这个LED,将红灯的阴极接在引脚1上,阳极接充电电源,当然了也要加上LED的限流电阻,这样子在充电过程中,引脚1就可以通过强下拉将红灯阴极接到地,红灯就亮了。在充电完成后,引脚1状态变为弱下拉,只有20uA的电流,不足以点亮红灯,此时就只有绿灯亮,指示充电完成。大家可能也发现了,图中的充电路加了个10K的上拉电阻,大家可以思考下这个电阻是不是必要的?能不能去掉?
4、电源自动切换电路
要实现电路的切换功能,我们很容易想到要用开关来切换,那么这个“开关”是用什么来实现呢?二极管?三极管?MOS管还是继电器?在电源切换电路中,我们经常是使用二极管和MOS管,先说下用二极管实现一个简单的电源切换电路。
我们利用二极管的单向导通性来实现开关的功能,为了方便说明,贴图来分析。
假设二极管的导通压差为0.7V,当用3.3V电源供电时,D2导通,点A电压为2.6V,当接入5V电源时,D1导通,点A电压大于3.3V,由于二极管的单向导通性,D2截止,3.3V电源不能经过D2往后级电路供电,此时后级电路由5V进行供电。当5V电源移开后,D2导通,3.3V电源继续为后级电路供电,这样子基本实现了5V和3.3V电源之间的自动切换。
用二极管来做切换电路是方便简单,但是存在压降较大问题,为了解决压降问题,可使用低压差的肖特基二极管或者用MOS管来 做开关,接着讲下如何用MOS管搭建切换电路。
当BAT_3.7V接入,5V没接入时,PMOS管的G极下拉到地,而BAT_3.7V经过PMOS管的体二极管到S极,S极的电压为3V,那么此时Ugs=-3V,若Ugs小于所选的PMOS管的最小开启电压Ugs(th)(这里的MOS管选型一般为低开启电压的),则MOS管导通,输出电压Vout=BAT_3.7V。
当BAT_3.7V和5V同时接入时,PMOS管的G极等于5V,S极等于(5-0.7)V,此时Ugs=0.7V,大于Ugs(th),MOS管关断,输出电压等于Vout=5-0.7=4.3V。
当BAT_3.7V没接入,5V接入时,和AT_3.7V和5V同时接入时一样,这里不再分析。
本DIY中使用的电源切换电路如下:
其实该电路的工作原理和前面分析的切换电路差不多,不同的是这里是两个PMOS管,但切换原理都是一样的,都是对MOS管进行关断和导通操作,有疑问的朋友可在评论中提出。
二、烟雾传感器电压信号采集部分
1、MQ-2烟雾传感器工作原理
MQ-2传感器是使用气敏材料二氧化锡制作的,该材料在清洁空气中的电导率较低,当传感器所在环境中存在可燃气体或者烟雾时,传感器的电导率随着可燃气体(烟雾等)浓度增加而增大,使用简单电路即可将电导率的变化转换为相对应的电压输出信号,我们可以通过采集这个电压信号来获取当前的气体浓度。
2、MQ-2烟雾传感器工作电路分析
这部分主要讲解下MQ-2传感器的电路,包括电路的连接、输出电压信号以及负载电阻的选择,以传感器手册的测试电路为例。
该传感器工作需要提供两个电压,加热电压VH,直流5V或交流5V都可以,为传感器提供特定的工作温度,回路电压Vc,为负载电阻RL提供测试电压,必须是≤24V的直流电源,负载电阻RL是将传感器内部的电导率变化转化为电压信号输出的。
电压信号输出过程:传感器的电导率随着可燃气体(烟雾等)浓度增加而增大的,电导是电阻的倒数,也就是说,浓度增大传感器的敏感电阻减小,假设传感器的敏感电阻为Rs,根据测试电路可列出等式:VRL=Vc*RL/(Rs+RL),所以当气体(烟雾)浓度越大时,敏感电阻Rs减小,输出电压VRL增大。注意:这个敏感电阻在不同的浓度或者不同的气体中,其阻值是不一样的。
从等式VRL=Vc*RL/(Rs+RL)也可以知道,传感器的信号输出不仅与敏感电阻Rs有关,还与负载电阻有关,前面也说到敏感电阻Rs是变化,那么这个负载电阻如何选择呢?一般我们这里可使用一个电位器,阻值可在20K~50K,在调试中再跟实际设置一个合适电阻。
下图为MQ-2烟雾传感器电路:
3、烟雾传感器信号采集电路
前面也说到传感器输出时模拟信号,模拟电压范围0~5V,烟雾报警器是针对某个报警阈值电压工作的,阈值电压一般是伏安,并不需要进行信号放大就可识别出来,这里采用电压比较器来识别这个阈值电压,电压比较器顾名思义就是对电压进行比较,输入电压和某个设定电压值进行比较,根据比较结果输出高电平或者低电平,烟雾传感器电压采集电路如下:
烟雾浓度检测阈值从负输入端输入,烟雾传感器模拟信号从正输入端输入,当模拟信号电压大于阈值,比较器输出高电平(5V),当模拟电压小于阈值,比较器输出低电平(0V),因为比较器是OC输出,输出需要接上拉电阻来确定高电平电压。
图中通过一个两位拨码开关来选择阈值设定模式:固定阈值和阈值可调两种模式,在固定阈值模式下阈值电压为2.5V,在可调模式调节电位器R14设置阈值,顺时针旋转,降低烟雾浓度检测阈值,逆时针旋转,增大烟雾浓度检测阈值。
接下的是报警状态指示灯电路设计,烟雾浓度低于设定阈值时亮绿灯,高于阈值则红灯闪烁,这里也是使用双色灯,这里有两种状态,自然想到利用烟雾传感器电压采集电路的输出两种状态来设计电路,下面先电路图贴出来分析。
当检测到烟雾浓度低于设定阈值时,比较器输出低电平,绿色LED通过比较器U5A输出端接地,绿色LED亮。为了实现红色LED闪烁,这里使用PWM来驱动红色LED,这个PWM波利用电容充放电(三角波)来生成。当检测到烟雾浓度高于设定阈值时,比较器U5A输出高电平(5V),结合比较器U5B搭建的滞回比较器电路来对电容C16进行充放电,在充电过程中,比较器U5B输出高电平,在放电过程中,比较器U5B输出低电平,高低电平不断交替从而产生所需要的PWM波,PWM波的周期由电容的充放电周期决定,可在调试中选择适当的周期调整红色LED的闪烁频率。
注:上面的LED控制电路设计是有缺陷,在后面的设计中,引入新电路后,问题就暴露出来了,这个问题留到后面电路再讲。
滞回比较器的两个阈值Uth1、Uth2计算过程,当比较器U5A输出高电平时,开始对电容C16充电,此时比较器U5B输出高电平,比较器U5B输出端一直对电容C16充电,当电容电压大于一个阈值后,比较器U5B输出低电平,相当于OC输出接地,电容C16开始对地进行放电,C16上的电压开始下降,当低于另一个阈值后,比较器U5B输出高电平,如此循环,电容C16上就产生一个三角波(电容充放电波形),比较器U5B输出一个PWM波,根据前面的分析,画出等效电路,如下图:
当比较器U5B输出高电平时:
当比较器U5B输出低电平时:
等效电路出来了,那么如何根据这两个电路计算滞回比较器德两个阈值呢?很显然这里使用基础德电阻分压法来计算。
当输出高电平时,电阻关系如下:假设紫色框的等效电阻分别为Ra和Rb,Ra和Rb并联后再和R20串联。
计算过程:Ra=12k,Rb=20k,Ra//Rb=7.5k, Uth1=5V*R20/(R20+Ra//Rb)=3.636V,用仿真验证一下。
当输出低电平时,电阻关系如下:假设紫色框的等效电阻分别为Rc和Rd,Rc和Rd串联分压得到Uth2。
计算过程:Rc=12k,Rd=R20//R17=6.67k,Uth2=5V*Rd/(Rc+Rd)=1.786V,也进行了仿真验证。
这里补充下,前面用来控制LED的PWM并不需要调占空比,所以就直接用滞回比较器的输出电平状态来产生,并没有如官方电路一样,使用直流电压加三角波的方法,省去一个比较器,其实产生PWM的方法有很多,不必纠结一定要使用哪种方法,可以实现电路功能就可以了。不过用直流电压叠加三角波的方法很容易可以实现占空比可调,这也是一个不错的设计思路。
四、其他功能电路设计
1、电源开关
在开始构思这个DIY时,把电源部分想得比较复杂,到后面得设计中还感觉是在给自己挖坑,显得有点力不从心。由于适配器和usb供电是外部电源,通断就交给外部的电源开关控制,这里开关主要是控制锂电池的,开关使用自锁开关,结合电路分析。
VCC_5V:逻辑电路工作电压
USB_5V:micro usb 输出电压
USB_5VA:锂电池充电芯片工作电压
BAT:锂电池输出电压
BATA:锂电池升压芯片工作电压
BATB:锂电池充电电压
当自锁开关没按下时:
USB_5V和USB_5VA、BAT和BATB是连接在一起,此时当插入usb后,是锂电池充电模式。
当自锁开关被按下后:
USB_5V和VCC_5V、BAT和BATA是连接在一起的,如果没有外部电源(DC适配器、usb),此时是由锂电池供电,若有外部电源输入,则锂电池停止供电,由外部电源供电。
除了上述的开关外,还有另一个开关电路,就是前面说到的DC-005插座,利用该插座的引脚3来作为开关使用,前面也讲到当DC插头插入插座后,引脚2和引脚3是断开的,没插入则是连通,很显然,这可以当做开关来使用。使用这个开关原理来设计外部DC电源和内部锂电池切换的电路,这种切换是通过切断锂电池负极通路实现的,下面结合电路来分析。
图中J1是DC-005插座,P1是锂电池插座,当DC插头没插入时,J1的引脚2和引脚3是连接在一起的,锂电池有地回路,当DC插头插入后,J1的引脚2和引脚3断开,锂电池的负极回路断开,锂电池停止供电,随即接入外部DC电源的负极,与J1的引脚1和引脚2构成新的供电回路。
补充一:在这里说下自锁开关要注意的问题,自锁开关的电气连接有两种,如下图,两者是不兼容的,有些人就是因为不清楚两者的区别,导致PCB封装与实物不一致,导致电气连接错误。
看下这类的自锁开关线路图,图中实线表示没按下的线路,虚线表示被按下的线路,在开关没按下时(图中的Free),引脚4和引脚6、引脚1和引脚3是连接在一起的,当开关被按下时(图中Push),则是引脚4和引脚5、引脚2和引脚3是连接在一起,引脚4和引脚6、引脚1和引脚3就断开。这种开关有种好处就是没方向性,公共引脚是引脚1和引脚3,但在电路设计中要注意常闭和常开引脚,不然会出现,开关按下是断开的,开关没按下是接通的情况。
这类自锁开关没按下时,引脚1和引脚2、引脚4和5分别是接通的,当开关被按下后,引脚1和引脚2、引脚4和5断开,引脚5和6、引脚2和3分别接通,这种开关是有方向性的,公共引脚是引脚2和引脚5。
2、锂电池充电以及电量检测电路
前面虽然也讲到一个充电电路,但由于在后面设计中将充电和电量指示灯共用一个双色LED,所以重新设计了电路,充电电路与前面的稍微有点不同,但原理都是一样的,下面的电路图是将充电和电量检测电量两者结合的电路。
先讲下充电电路,当USB_5VA接入时(由于自锁开关的作用,VCC_5V和BATA是没有接入的),D9的绿灯亮,若锂电池处于充电状态,TP4054的引脚1处于强下拉到地,三极管Q4导通,D9的红灯亮,故此时双色LED呈黄色来指示充电状态。当锂电池充电完成后,TP4054的引脚1为弱下拉,三极管Q4截止,D9红灯灭,此时只有绿灯亮,用于指示充电完成。
接着是锂电池电量不足指示灯电路设计,当电量不足,红灯亮。电路原理:设定一个电量阈值电压,当锂电池低于此值时,表示电量不足,利用电阻分压来检测电池的电量。上图中,通过R30和R32分压产生3V作为比较器U5A的负输入端电压,用R2和R33对锂电池进行分压,当锂电池电压降到3.3V,R2和R33分压得到3V,故当锂电池电压低于3.3V时(电量不足),比较器U5A输出低电平,此时三极管Q3导通,D9的红灯亮,提醒电量不足。最后说下,这种通过电阻分压来检测电量的方法并不是很精确,但在要求不高的场合凑合还能用,如果需要高精度的电量检测,就需要用到库仑计来检测了。
3、烟雾报警指示灯电路
前面也讲到一种控制方法,但随着后面的电路设计也作出了更改,具体电路如下图,紫色框内是烟雾传感器的采集电路,当处于烟雾正常状态时,比较器U5C输出低电平,三级管Q7不导通,D7双色灯的绿灯直接由VCC_5V驱动点亮,绿灯表示空气质量良好。当处于烟雾报警状态时,比较器U5C输出高电平,三级管Q7导通,D7双色灯的绿灯被短接到地,此时绿灯灭,由于比较器U5C输出高电平使得比较器U5D产生两个阈值电压,形成滞回比较器,比较器U5D输出一个PWM波来驱动D7双色灯的红灯,红灯在PWM波的驱动下会闪烁,用来提醒用户此时空气质量不达标。
4、蜂鸣器和继电器控制电路
蜂鸣器控制电路,当比较器U5C输出高时,即烟雾浓度超过设定值,三极管Q6导通,由于这里使用的是有源蜂鸣器,三极管Q6导通,蜂鸣器就有了到地回路,蜂鸣器就会鸣叫,当比较器输输出低时,三极管Q6不导通,蜂鸣器停止鸣叫。
继电器控制电路蜂鸣器类似,只要往继电器的控制端(其实就是个线圈)施加合适的工作电压电流,线圈通电产生磁场将开关吸合,这里也是通过三极管Q5导通提供到地回路。由于控制端是个线圈,属于感性元件,变化的电流通过线圈时线圈会产生自感电动势,所以在三极管Q5不导通瞬间,线圈上的瞬间电流变化率是很大的,就产生一个很大的反向电动势,如果这个直接作用在电路上可能会损坏三极管等器件,所以在线圈两端并联一个二极管D8,使断电瞬间线圈产生的自感电动势通过二极管D8形成续流,把这自感感生电流泄放掉从而保护了电路上的三极管等器件,所以这个二极管D8也称为续流二极管。
五、电路板Layout
电路板Layout是使用Altium designer16,由于之前一直使用PADS这个软件来layout,对AD16不是很熟悉,之所以使用AD,是看中它的3D效果,而且好多DIY朋友应该也是用这个软件吧,具体的layout过程就不说,一说起来都不知道说到什么时候,在这里就把电路板的3D模型贴出来吧。
六、电路焊接和调试
1、电路板是在嘉立创打样的,速度还是可以的,三天板子到手,电路板焊接调试都是晚上,白天基本没时间,先上图。
2、焊接过程发现的问题
电路焊接前,先用万用表蜂鸣档或者电阻档测试电路板的电源和地是否有短路,若没有才开始焊接。这次diy焊接是按功能焊接,焊接顺序:电源部分-锂电池充电部分-锂电池升压-烟雾传感器-比较器逻辑部分。
2.1、USB问题
焊接好usb,通电发现usb的5V引脚和地引脚反了,悲催的是我底层是全覆铜作为参考地平面的,在这种情况下只能割线了,如图中红线部分,先把铜皮和地分割出来作为5V输出,再从usb的地引脚飞线出来,割线使用的是美工刀。
2.2、元器件封装问题
发现元件封装有问题是进行功能模块测试时发现的,电路板中的封装引脚和实物的引脚对不上,封装有问题的元件是MOS管和三极管,出现这种问题也是由于疏忽造成的,MOS管和三极管在原理图中使用的是AD默认库中的元件,而pcb封装则是使用标准的SOT-23封装,没仔细检测,原理图中的引脚号和PCB中的引脚号是没对上的。对于这种情况还是有办法解决的,将MOS管和三极管反面焊接,就是引脚朝上面。出了问题我们不一定要重新打样电路板,要思考下如何在原来的板子上修改,毕竟这是样板,可以把功能调试完再重新打样。
2.3、二极管封装过小问题
唉,总之,这次基本都衰在封装上,肖特基二极管的封装原来是的,后面不知道怎么就变,在layout时居然没发觉。如图中只有D4的封装是对的,其他都小了,后面就想了个办法,用直插封装立起来焊接,勉强焊接好。
3、调试过程
3.1、DC12转5V电路
这个万用表是以前买东西送的,质量不怎么样,凑合还能用,之前买的一个胜利牌的万用表突然就用不了,有空看看能不能修,78M05的电路是可以正常输出5V。
3.2、锂电池电路
这里锂电池是利用两个MOS管自行导通的,测试结果理想,基本没什么压降。之前也看到有人在群里说到MOS管用在锂电池电路的问题,无非是体二极管方向的问题,有空再把这个问题补充下,现在先把后面的东西写完先。
3.3、烟雾传感器输出
烟雾传感器的输出可以通过电位器A来调整适合的输出电压,假如在某一环境下输出是3V的,可以通过这个电位器调整为输出2.5V(在相同环境下,调整电压的输出),而电位器B是用来设置报警阈值的,前面的理论部分也有说到。
3.4、报警红灯闪烁电路
原来是通过比较器产生一个方波来直接驱动led,实际上是LED是不会闪烁的,因为PWM可以等效为一个直流电压,为了解决这个问题,接了另一个LED,用产生的PWM波来控制三极管S8050,8050再去控制LED的阴极的通断,成功让LED闪烁,三极管和LED都是飞线操作的。
3.5、三角波和方波电路
三角波和方波都可正常产生
3.6、继电器和蜂鸣器电路
功能正常,可根据烟雾传感器状态控制风扇通断。
3.7、锂电池自动切换电路
当usb和DC适配器插入后,锂电池经MOS管后是没有输出的,由于两个MOS管都不导通,usb和DC适配器的电流是不会流经电池和后记的升压电路的。
3.8、锂电池升压电路
这部分电路的功能没实现,这段时间比较忙,调试电路的时间也比较紧,电路输出只有3V,具体的原因还没找到,后面会完善这个问题。
七、成品功能效果图
1、环境空气质量正常,亮绿灯,蜂鸣器不响,继电器不工作,风扇不转。
2、环境空气质量异常,红灯闪烁,蜂鸣器响,继电器工作,风扇转。
本次的DIY还算是成功的,基本的电路功能都实现,遗憾的是升压电路没调出来,在这过程中也学到不少东西,以及也发现自身的一些不足,感谢张飞老师团队组织的这次DIY活动,也期待下次的DIY活动。