基于51单片机的居家环境智能监测系统设计

2021-01-18 23:33宋安琪潘潇
科学与生活 2021年31期

宋安琪 潘潇

摘要:天然气作为一种新型的清洁能源,在家庭生活中被广泛使用,但在使用过程中由于一些操作不当会引起天然气时泄漏,家居环境中天然气浓度高,造成家居环境的安全隐患;家居环境中的温湿度高低,造成居家环境中人们不适。鉴于此设计出并制作了一种基于51单片机开发板的居家环境智能监测系统,该系统不仅能够实时有效地检测出天然气浓度,且能够实时有效地检测家居环境中温湿度情况,并及时做预报。保证居家环境的安全与舒适。

关键词:微处理器;天然气浓度检测;温湿度检测

引言

近些年来,伴随着居民生活水平的提高,人们对居住条件的要求也在逐渐提高,但在享受现代文明的同时,大气污染和天燃气等燃料的使用,导致室内的污染问题越来越严重,甚至威胁到居民的个人健康。所以,有效的监测室内的烟雾浓度、粉尘浓度和温湿度是保障居民身体健康和良好工作生活环境的重要前提。现有的空气质量监测装置的各方面性能仍有较大的提升空间,很多监测装置存在性能单一、实时性差,信息交换不直观等缺点,已很难满足日益增长的健康需求。因此,对现有的监测装置进行改进,研发一个监测功能齐全,报警响应快,信息交互简单直观的室内空气质量监测系统是非常必要的。

1居家环境智能监测系统总体设计方案

基于51单片机开发板的居家环境智能监测系统的组成,系统以STC89C52单片机作为控制核心,采用数字温湿度传感器DHT11,氣体浓度传感器MQ-4,光敏电阻传感器这三种检测传感器获取数据。以1602液晶显示屏数字化显示环境信息。以蜂鸣器作为报警装置并利用SIM800C模块发送报警信息。采用按键进行功能切换。

系统实现具体功能:利用MQ-4气体浓度传感器实时监测并采集环境天然气浓度,数据经过单片机整合处理之后,1602液晶屏实时显示当前天然气浓度,若采集到的天然气浓度超过设定阈值,蜂鸣器鸣叫报警并且通过GSM模块SIM800C向用户发送天然气浓度警告信息;.用DHT11数字温湿度传感器采集环境温湿度,数据经过单片机整合处理之后,1602液晶屏实时显示当前温湿度,若采集到的温度超过了设定的阈值,通过GSM模块SIM800C向用户发送温度警告信息;.若在夜间,天然气浓度超过设定阈值,系统进行报警同时,由光敏电阻传感器检测环境光亮,用继电器模块点亮小夜灯,为用户提供视觉光线;.按键1,用于验证SIM800C模块连接,按键1按下向用户发送连接成功信息;.按键2,用于调整小夜灯模式,要实现小夜灯夜间常亮功能,通过按下按键2实现功能的切换;.按键3,系统蜂鸣器鸣叫报警后,通过按键3按下结束系统报警。

2系统硬件设计

(1)系统硬件选型

本系统主控核心板上使用的STM32F103芯片是基于Cortex-M3内核扩展的32位可编程芯片,芯片内集成了定时器、ADC模数转换器、数据交互接口(串口、I2C和SPI)、Flash存储器和IO控制口等多种开发资源,并且该芯片主要的优点是应用范围大,具备很好的实时性能、较小的功耗控制性能。

数据采集模块主要有:环境烟雾浓度检测使用的MQ-2气体传感器;PM2.5浓度检测模块使用的GP2Y1014AU传感器;环境温湿度检测使用的DTH11传感器。显示模块采用的是OLED液晶屏;交互模块主要有:环境语音检测使用的LD3320语音识别模块。

(2)系统硬件电路设计

核心板的硬件由STM32F103芯片、晶振、电容和电阻等组成,电路设计时,主控芯片外连的扩展电路。晶振X1、贴片电容C1和C2组成了时钟电路,该电路为主处理芯片提供基础的工作时钟,X1晶振输出的信号经过芯片内部的锁相环9倍频后得到72MHz时钟为主处理芯片的串口、ADC转换单元和PA~PC口的工作提供所需的时钟源。电容C1和C2可以稳定X1晶振频率,并滤除晶振工作时可能产生的干扰信号。

PM2.5浓度检测电路设计时,传感器工作所需的正电源在P2端的6脚接入,负电源在P2端子的4脚接入,LED灯的负极和地相连,LED的正极接线脚和5V电源通过150Ω的电阻R6相连,数字信号输入脚LED和地相连,模拟量输出引脚AO和STM32芯片的PA0脚相连。

3居家环境智能监测系统硬件调试

系统整体功能实现,不仅仅考虑是单片机的硬件资源,还需要考虑程序运行的流程及条理性,因此用C语言设计了系统软件包括:主程序,初始化子程序,测温湿度子程序,测光照强度子程序,测气体浓度子程序,按键子程序,显示子程序,阈值子程序,串口通信子程序,报警子程序。其主程序主程序完成芯片的初始化,按照系统的功能需求调用各个子程序完成整个系统功能,主程序控制流程:在系统上电启动后,系统首先初始化;天然气浓度、温湿度数据读取;扫描按键子程序,验证SIM800C模块的连接或调整小夜灯的模式;调用显示函数,将天然气浓度与温湿度显示在1602液晶显示屏上;同时调用阈值程序与设定的阈值进行比较,若天然气浓度过高,超过设定的阈值,发送天然气浓度报警信息同时开启定时器中断让蜂鸣器进行报警,或温度过高,超过设定的阈值,发送温度过高报警信息。

硬件系统的调试:用protues软件建立监测系统检测气体浓度的电路系统,仔细检查MQ-4气体浓度模块与微控器的连接,确保无连接错误;在protues软件上把设计的系统软件程序编译完成,运行仿真,并不断进行调试,确保有问题时及时查出原因并解决。

4系统软件设计

系统软件部分采用模块化设计方法,由主程序、DS18B20温度检测模块、按键检测模块、温度控制/报警模块、显示模块组成。

4.1主程序流程图

系统启动后,先进行初始化设置,主要设置制热电路、制冷电路、蜂鸣器均为关闭状态,之后进入按键检测、温度实时采集、显示、温度比较、输出控制这个大循环。

4.2DS18B20温度采集子程序流程图

温度传感器DS18B20的工作过程主要有系统的初始化、向ROM发送工作指令、存储器执行收到的工作指令、数据的处理和存储,在程序设计时,首先对DS18B20进行初始化,判断其是否在线。由于系统中只有一个DS18B20模块,不需要读取其序列号进行匹配,所以直接写入代码CCH执行跳过ROM命令。之后就可以启动DS18B20进行温度转换,转换完成后的温度值以补码的形式存储在高速暂存器中,单片机就可以通过单线接口读取该数据。

结语

居家环境智能监测系统设计制作的全过程进行了完整说明分析,这种设计制作基于社会的实际需求,利用计算机、通信知识解决了社会实际问题,为此,我们的通信工程专业开放实验室,把这类基于51单片机开发板系统的设计制作设置为学生完成题目,学生在经过这类完成不同功能的开发设计、实现的过程中,不仅对STC89C52单片机的各种资源有了更好的了解,也对定时器,中断,IIC通信等有了更好的认知。

参考文献

[1]张桂贤,魏月昊,罗锦涛.远程烟雾报警系统硬件设计[J].价值工程,2019,38(22):241-244.

[2]曾盼,杨雄威,官洲洋,李丽,翟梦月,徐建.基于嵌入式技术的家庭智能呼救系统[J].信息技术与信息化,2019(12):48-50.

[3]张毅刚.单片机原理与应用设计(C51编程+Proteus仿真[M].第3版.北京:电子工业出版社,2020:26-29.