基于STM32的家用空气质量检测系统设计*
摘 要:人们大多数时间都是在室内度过,所以对空气质量提出了更高的要求。根据市面上空气质量检测商品价格昂贵且功能不够完善的情况,设计一款性价比高、功耗低、便携式的家用空气质量检测系统至关重要。该设计以STM32微处理器为主控芯片,是一款具有实时监测、智能调节、数据传输功能的空气质量检测系统。
本文引用地址:http://www.amcfsurvey.com/article/202211/440663.htm*基金项目:平顶山学院青年基金资助项目,项目编号:PXY-QNJJ-2019012
平顶山学院双师双能型教师培养资助项目,项目编号:PXY-SSSN-202071
0 引言
随着经济的不断发展,人们的生活水平也在不断提高,所以对环境质量的要求也越来越高。在仪器研制方面,西方国家比我国相对成熟。美国 ESC 公司的 Z/ ZDL 便携式气体检测器能检测室内的各类有害气体,如甲醛、氨气、一氧化碳,还有 7565 型 NP-8A 型手持式甲醛检测仪,功能也很完善。
我国自 20 世纪 70 年代以来也着手研究有害气体的检测技术,并制造出对应检测仪器 [1]。北京华云仪器研究院开发的便携式甲醛检测装置;长春小天鹅公司的 GDYK-208S 现场检测装置 [1]。这些仪器抗干扰能力强、精度高,但是由于测量气体单一、操作复杂等原因,导致不能广泛推广,所以未来还有很长的一段路要走。
1 系统总体方案设计
1.1 功能需求分析
该设计的目的是为人们提供一个健康的生活环境,避免患上由污浊空气导致的各种疾病,因此该系统需要具备以下功能:
1)设定阈值:通过按键对每个参数进行阈值设定,以此来衡量空气质量是否符合标准。
2)能够获取空气质量参数:系统可对空气中的温湿度、PM2.5、一氧化碳进行准确的检测。
3)自动调节功能:当空气中的某项指标超出阈值时排气扇会自动转动使空气指标恢复到正常值。
4)无线传输及报警功能:当系统检测到空气质量指标超标时会触发报警模块并将报警信息通过蓝牙上传到手机端。
1.2 构建系统框架
1)系统对环境进行实时检测和数据采集,硬件设备主要有最小系统、DHT11 传感器模块、PM2.5 传感器模块、MQ7 传感器模块、蓝牙模块。当系统采集到各项数据后发送到中央处理器进行处理。
2)自动调节空气质量。已知数据与阈值进行比较,一旦超出阈值,系统的风扇模块就会启动,以达到正常的空气质量。
3)通信模块由蓝牙模块组成。系统采集的参数经由蓝牙模块传送至移动端,系统整体框图如图 1 所示。
图1 系统总体设计框图
2 系统硬件设计
2.1 温湿度传感器模块
DHT11 是一款集温度、湿度于一体的新型传感器,其数字信号输出经过标定,保证了产品的长期稳定 [3]。该传感器由电阻测湿仪和 NTC 温度计组成,并与 8 bit 的高性能微处理器连接。其引脚 2 与 STM32 单片机 PA1 管脚相连,温度、湿度数据由该管脚传送至单片机进行处理 [4],传感器在接通电源后应等待 1 s,在这段时间内,不要发出任何指示,以免造成错误。电源引脚之间可添加 1 个电容,用于去耦滤波。DHT11 传感器模块电路原理图如图 2 所示。
图2 DHT11传感器模块电路原理图
2.2 MQ7传感器模块
MQ7 气体传感器的气敏材料是二氧化锡,在大气中的导电性能很差 [5],它是采用高、低温循环的方法进行浓度检测。该模块正常工作需要两个电压:加热电压 VH,以及 1 个试验电压 VC。VH 是为提供传感器的工作温度所设计,VC 用来测量负载电阻器(RL)上的电压。这种传感器的极性很低,所以VC必须使用直流电流。为充分利用传感器,必须选用适当的 RL 电阻。其电压与浓度之间的关系如图 3 所示,电路原理图如图 4 所示。
图3 电压与浓度曲线图
2.3 PM2.5 传感器模块
传感器的内部包括 1 个红外发光二极管和 1 个光电晶体管。因为利用的是光线折射原理,所以成对角分布 [6]。传感器的中央有 1 个可以让空气流通的圆孔,当圆孔中有颗粒时就会产生反射,此时该模块会接收到红外线,从而改变输出端的电压。输出的是一个与测量尘埃浓度成比例的仿真电压。此时测出输出电压 , 然后通过公式:(V-0.6)×0.17 就可以换算出浓度 [6]。模块原理图如图 5 所示。
2.4 自动调节模块
当由最小系统或者电位器检测到的数据超出阈值时,系统会给出指令让风扇转动,以此使所测参数回归正常范围。其原理为:在风扇上电后,扇叶通过高速转动使周围的空气流动,从而外面的新鲜空气就能进入室内达到调节功能,实物图以及驱动电路如图 6、7 所示。
图6 自动调节模块实物图
图7 电机驱动原理图
2.5 报警模块
报警电路主要由蜂鸣器 ( 有源蜂鸣器 ) 构成。当检测到的参数值高于阈值,电路输出低电平驱动蜂鸣器:当检测到的参数值没有超出阈值,此时输出高电平不会驱动蜂鸣器。整个报警模块与主控芯片的 PA0 连接,报警模块接口电路如图 8 所示。
2.6 蓝牙模块
JDY-31蓝牙模块引脚2连接电源正极,引脚3接地,引脚 4 为串口输入引脚,引脚 5 为串口输出引脚。引脚 3、4 分别接 STM32 单片机的 PA10、PA9 引脚,通过这两个引脚可以实现 MCU 与蓝牙之间的通讯。具体接线图以及内部原理图如图 9 所示。
3 系统软件设计与实现
3.1 系统主程序设计
系统工作后,先对各模块传感器、按键、显示屏进行初始化,然后通过对应传感器将物理信号转化为电信号参数值,再通过公式转化为对应的目标浓度。系统的主程序流程图如 10 所示。
3.2 温湿度检测子程序
根据传感器的通讯协议,单片机首先要利用 I/O 来生成所需的激励信号,并将数据线的控制权交给传感器,由单片机通过 While 循环语句来持续地检测 I/O 的状态,从而实现对时间序列的掌握,从而获得精确的数据传送。该传感器模块的软件流程图如图 11 所示。
图11 DHT11传感器子流程
3.3 PM2.5 浓度检测程序设计
通过 PM2.5 传感器模块检测浓度,主要是利用红外发射与红外接收。如果当前空气质量比较浑浊,则接受量比较小,单片机会通过 ADC 口读取电压,然后通过公式转换成 PM2.5 浓度,再进一步对当前浓度进行判断是否报警。具体子流程图如图 12 所示。
图12 PM2.5模块子流程
3.4 报警模块程序设计
报警模块在硬件处理方面运用有源蜂鸣器 ( 内部带有震荡电路 ),为了达到预期的报警功能,需要相应的代码编程作为辅助。该硬件共有 3 个引脚最主要的就是控制引脚 (IN 引脚 ),如果 IN 引脚短路则蜂鸣器不会工作。软件编程重要也是围绕 IN 引脚,该模块软件流程图如图 13 所示。
图13 报警模块子流程
3.5 无线通信程序设计
蓝牙驱动程序主要依靠硬件的设备驱动程序 (UART 或 USB 口 ),为了使其更贴切于硬件,该模块的程序编写需要借助串口驱动程序的接口函数来完成两者之间的信息互传 [7]。无线通信模块主要就是通过串口进行通信,其波特率设置为 9 600 Hz,本身是一个透传模块,单片机 (TX 引脚 ) 发送数据传输到手机;同样手机发送数据,通过串口传输到单片机 (RX 引脚 )。软件设计流程图如图 14 所示。
图14 通信模块流程
4 测试系统与调试
为了对系统的整体功能进行测试,将该系统放置在实验环境中进行测试。首先对系统上电同时将传感器暴露置空气中,然后将系统与手机端建立联系。此时系统处于工作状态,通过长时间的观察以及得到的数据,对系统是否能够正常工作进行判断。测试结果如图 15 所示,该系统正常工作且达到预期。
5 总结
系统以 STM32F103C6T6 为主控芯片,借助各种传感器以及报警和蓝牙通信模块达到对空气质量的实时监测、调节和数据传输。该系统电路简单,价格低廉,功能稳定。相较于市场大多数空气质量检测仪器,该系统能充分利用硬件资源,而且设计贴切实际,能随时了解所处环境的空气质量。
参考文献:
[1]翁利侠.基于STM32智能窗帘控制系统的设计[J].机电工程技术,2022,51(4):228-231.
[2]张智勇,曹颖,刘梓博,等.基于STM32单片机的智能家居测量系统设计[J].电子产品世界,2022,29(4):24-28+66.
[3]卢伟.基于STM32的家庭互联网检测系统设计[J].电子产品世界,2022,29(4):34-37.
[4]曹鹏飞,肖志飞,文建博,等.基于STM32的节水灌溉系统设计[J].电子设计工程,2022,30(6):16-19.
[5]徐江莉,康家林,姚传安.基于STM32单片机的水环境监测系统研究[J].成都航空职业技术学院学报,2022,38(1):61-63+66.
[6]李文,马俊源,毛潭,等.基于STM32的顺序注射水质检测系统设计[J].现代电子技术,2022,45(6):44-48.
[7]李花,姜维,刘晓东,等.基于MQ7传感器测量CO浓度补偿方法与实验研究[J].大连交通大学学报,2020,41(5):62-65.
(注:本文转载自《电子产品世界》杂志2022年11月期)
评论