基于单片机的室内空气质量监测系统设计与实现
2020-12-19谢超,王正
谢 超, 王 正
(1.南京林业大学机械电子工程学院,江苏 南京210037;2.南京林业大学南方学院,江苏 南京210037)
随着时代的进步与发展,人们对室内空气品质的要求越来越高,开展室内空气质量监测系统的设计研究具有重要意义[1-5]。当前市面上的空气质量监测仪种类繁多,但大多不能完全符合普通家庭的使用需求。李峰设计了一款可以同时监测粉尘含量、温湿度、CO、CO2等多种有害气体的系统[6],但该设计是基于无线通信的系统,且监测内容大大超出了普通家庭的应用需要,并且没有全面考虑系统成本、功耗等问题。本文构思了基于单片机的室内空气质量监测系统,实现了对粉尘含量以及温湿度的监测,同时借助液晶显示、按键输入、声光报警等模块较好完成了人机交互,且该系统还具有成本低、能耗小、使用便捷等特点。
1 空气质量检测系统的整体设计
本文从硬件和软件两大部分进行考虑,各功能模块之间相互独立,也相互影响。各个模块之间的关系如图1所示,系统主要包括微控制器(Microcontroller Unit,MCU)、传感器采集模块、液晶显示模块、声光报警模块、按键模块,以及其他一些辅助性元件。MCU采用宏晶公司旗下的STC89C52单片机,此单片机是51单片机的升级版,具有功耗低、速度快、抗干扰能力强、价格低廉等优点,非常符合本设计对MCU的需求。其余各硬件模块设计在MCU周围,依据引脚进行相应连接。其中,MCU与传感器采集模块信息交互,实现空气监测数据的采集、读取和换算;显示模块实时显示系统状态;按键模块用于用户向系统输入相应指令;监测到异常后,声光报警模块起到提示用户的作用。考虑到室内供电的方便性,本系统采用最为常见的USB插头供电方式。
图1 系统硬件结构框图
2 空气质量监测系统硬件设计
2.1 单片机最小控制电路
单片机最小控制电路包括时钟电路和复位电路,如图2所示。时钟电路由两个小电容加一个晶振组成,接在MCU的18、19引脚。该部分在单片机内部产生一定的脉冲信号,起到时钟作用。复位电路接在9引脚,起到使电路恢复到最开始状态的作用。本设计采用的是电动复位,无需外加按钮就可以实现复位。
图2 时钟电路和复位电路
2.2 传感器选型及其接口
夏普GP2Y1010AU0F光学粉尘传感器是一款对细微颗粒(如香烟烟雾)监测特别有效的传感器,经常应用在空气净化系统中。该传感器具有检测灵敏度高、使用寿命长、尺寸小、质量轻、功耗低等特点。图3显示了该粉尘传感器与MCU之间的连接电路。由于传感器的输出(5脚)是模拟量,因此在接入MCU之前需要进行模数转换,本设计采用的是ADC0832模数转换芯片。电路方式如图3所示。
空气温湿度方面,采用了DHT11数字温湿度传感器。该传感器是一款含有已校准数字信号输出的温湿度复合传感器。其温度量程为-20~+60 ℃,温度精度为±2 ℃,湿度量程为5%~95%RH,湿度精度为±5%RH。它应用专用的数字模块采集技术和温湿度传感技术,确保监测具有极高的可靠性和长期稳定性,同时还具有成本低、响应快、抗干扰能力强等优点。因为该传感器使用的是单线制串行接口,所以系统集成简易快捷,4针单排引脚封装,连接方便。电路连接如图4所示。
图3 PM2.5粉尘传感器GP2Y1010AU0F与MCU连接
图4 DHT11温湿度传感器与MCU连接
2.3 显示模块
液晶显示屏对本设计尤其重要,液晶显示屏可以把单片机接收的来自各个传感器的数据显示出来,实时提供给用户。本系统选用LCD1602液晶显示作为显示模块。LCD1602是一款工业字符型液晶,专门显示数字和字母,而且成本低、薄厚适中、性价比高,比较适合本系统用作显示模块。在本设计中,只需要将RS、R/W、E、D0~D7引脚与MCU正确连接后就可以正常显示。电路连接如图5所示。
图5 LCD显示模块与MCU连接
2.4 按键输入及声光报警模块
按键输入模块主要通过按键完成对系统各项参数(如报警阈值、巡检周期等)的设置。灯光报警模块则主要根据用户设定的各项报警阈值,通过亮起不同的色灯完成对用户的提醒作用。如若某项指标超过警戒值,系统还会通过声光报警模块中设计的蜂鸣器对用户进行声音警告。
3 空气质量监测系统软件设计
为了达成上述系统功能,进行了软件设计并利用Keil软件进行程序的编写。系统软件采用模块化设计,主要可以分为主程序和中断服务子程序两大部分。主程序主要对硬件和变量进行初始化,对各个控制寄存器设置初值,对运算过程中使用的各种变量分配地址并设置相应的初值。初始化模块仅在MCU上电复位后被执行一次,然后进入循环等待时期,如图6所示。
中断服务与巡检子程序是系统软件的核心部分,包括定时器中断巡检、按键输入巡检、异常情况巡检。在主程序进入循环等待时期后,这些程序将一直被循环执行。其中,本系统通过设置定时器中断来精确设定空气传感器的巡检周期。定时周期到达后,由中断程序设置使能标志,当检测到该标志有效后,程序会对传感器的数据进行读取,如读取的数据发现变化,则进一步在液晶显示屏上进行相应更新。按键与异常巡检则不通过定时器中断的方式进行。因传感器的数据读取很重要,所以本文仅以MCU读取DHT11数字温湿度传感器数据为例进行介绍,流程图如图7所示。
图6 主程序流程图
图7 MCU读取DHT11传感器数据流程图
4 系统测试
针对设计系统进行了整体性能测试,共进行了三组实验:①从25~845 μg/m3区间内选取10个均匀随机的数值点进行PM2.5测试;②在60%RH湿度条件下选取15 ℃、20 ℃、25 ℃、30 ℃四种室温进行测试;③在30 ℃室内条件下选取20%RH、50%RH、70%RH、90%RH四种湿度数值进行测试。系统实物图如图8所示。
图8 系统实物图
经过对以上实验数据的分析得知,本系统的PM2.5监测数值与真实值的相对误差<3.2%,温度绝对误差<2 ℃,湿度绝对误差<5%RH。以上测试结果均符合预期要求,且系统在整个测试过程中工作稳定,各模块功能正常,整体运行良好。
5 结 论
为了满足人们对室内空气质量监测的需求,设计了基于STC89C52单片机的室内空气质量监测系统。该系统能够有效地对室内PM2.5以及温湿度进行实时监测。测试实验表明设计方案正确,功能良好,测量精度较高,完全满足人们日常室内空气质量监测的需求。后续本系统还将继续升级,可以与大数据[7]、纳米传感器[8]、云计算[9]、5G技术[10],以及人工智能[11]相结合,以满足人们不断增长的技术需求。