简介
这个模块的主要功能是用于检测环境中的一氧化碳含量,在超过设定数值后通过蜂鸣器报警,来提示空气中CO含量过高。设计简洁,在复杂环境下工作稳定。
硬件介绍: 主控芯片:ESP12F 厂家:安信可 用途:联网及接受和处理控制命令
LDO芯片:ADP151AUJZ-3.3-R7 厂家:ADI 用途:将5V输入电压转换为3.3V
CO传感器:MQ-7 厂家:Winsen 用途:测量空气中CO含量
数码管驱动:MAX7219 厂家:MAXIM 用途:驱动2X4位数码管
四位数码管:FJ5461AS 厂家:ReliaPro 用途:显示空气中的CO含量以及设定的阀值
软件介绍:主控芯片的编程软件是Arduino IDE,支持编程、下载以及串口监视功能,界面友好。
PCB及原理图由立创EDA绘制,免费、稳定;且自带大量元件库。
原理图简介
供电:采用micro usb供电,电源电压为5V,采用ADI的ADP151AUJZ-3.3-R7进行降压转换。ADP151是一款超低噪声、低压差线性稳压器,其工作电压范围为2.2 V至5.5 V,并提供高达200 mA的输出电流。在输入和输出部分采用0805封装的1UF电容用于整流,采用官方推荐电路:
CO检测传感器:采用Winsen厂家的MQ-7B气体传感器,MQ-7B气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。采用高低温循环检测方式检测一氧化碳,传感器的电导率随空气中一氧化碳气体浓度增加而增大,通过MCU可轻松检测含量。
四位数码管:采用型号为FJ5461AS的四位数码管,厂家是ReliaPro,共阴四位数码管。
数码管驱动芯片:本次设计采用MAX7219驱动芯片,MAX7219 是美国MAXIM公司推出的多位LED 显示驱动器,采用3 线串行接口传送数据,可直接与单片机接口连接,用户能方便修改其内部参数,以实现多位LED 显示。它内含硬件动态扫描电路、BCD译码器、段驱动器和位驱动器。连接原理图如图所示:
软件部分
软件部分比较简单,只需要按照芯片手册上MAX7219的通信时序,将需要显示的数值发送出去即可,下图是MAX7219时序图:
按照图示,在arduino IDE 中按步骤拉高和拉低相应的PIN即可,如图为一个写入数据的子函数:
获取空气中CO含量只需要使用ADC读取传感器的电压值即可,在arduino IDE 中只需要一行命令即可:analogRead(传感器连接的PIN引脚号);
其他部分只需要用if判断即可实现所有的功能。
其他场景:
检测板的检测端口设计为可拆卸,可根据需要更换成其他传感器来实现各种气体的检测,如换成MQ-2来检测燃气等....
实物图: 正面
遇到的问题
一个简单的练手项目,难度比较低,基本上没遇到啥问题,需要注意的是传感器在工作的时候需要60s的预热,在正常工作的时间会有发热的情况,不用担心,使用的时候需要尽量靠近可能发生源,以提供更好的检测。
心得体会
!注意:请使用浏览器自带下载,迅雷等下载软件可能无法下载到有效资源。
欢迎加入EEWorld参考设计群,也许能碰到搞同一个设计的小伙伴,群聊设计经验和难点。 入群方式:微信搜索“helloeeworld”或者扫描二维码,备注:参考设计,即可被拉入群。 另外,如您在下载此设计遇到问题,也可以微信添加“helloeeworld”及时沟通。
EEWorld Datasheet 技术支持