基于STM32智能空气净化器设计

作者: 辛静静 袁静 朱明亮 顾婧怡 王飞龙 崔馨文 赵子晨

基于STM32智能空气净化器设计0

关键词:STM32;Wi-Fi;甲醛;PM2.5

0 引言

中国的传统工业逐渐进入高速发展阶段,高度集成的工业化产业在提升人民生活水平的同时,也带来了空气污染问题。近年来,我国北方的一些城市,空气质量问题变得更加严重,工业集成度更高,并且大部分石油化工产业没有进行转型,因此排放了大量的诸如PM2.5等的污染物。又由于冬季风速低,容易在地表附近形成稳定的大气,在各种因素的作用下,容易产生雾气阴霾。严重的雾霾会直接影响室内空气状况,再如汽车尾、烟草和易挥发物体的使用,也加大了污染的程度,因此提升空气质量尤为重要。

目前为止,大部分提升空气质量的产品都选择使用负离子除尘技术,这种技术可以使负离子与粉尘等污染物相结合,形成颗粒物自动下沉,这样便能够过滤出污染物,达到净化空气的效果。

室内空气净化领域多数采用单一除尘技术,自动化程度不高,部分产品采用集成芯片及相关电器元件提高空气净化系统自动化、智能化水平,使系统能够实现为达到更好的除尘净化效果,可根据不同的空气状况选择不同的除尘净化技术,让用户更加方便省心。因此本文设计一种无线空气净化器,此空气净化器有无线遥控功能,可以通过手机App实现对空气净化器的启动和关闭操作。此净化器还有显示PM2.5 以及甲醛浓度的功能,这增加了净化器的准确度和功能性。此外,该净化器有污染浓度检测的功能,如果甲醛或PM2.5的浓度超过设置的警戒值,则触发蜂鸣器报警,在此情况下,可以遥控启动净化器,风扇全速转动,降低室内有害物质的浓度,提高室内空气质量。

1 方案设计

1.1 总体方案

单片机模块和电源模块为此次设计最基础的模块。单片机模块,即MCU模块,可以使用单片机为主控,并以此为中心来操控其余附属模块;而电源模块,除了用来为USB供电,还用来控制风扇按照不同转速运转,以及维持Wi-Fi模块的正常运行。Wi-Fi模块负责整个空气净化器的无线遥控,通过手机App可以控制空气净化器的运行,大大增加了其便利性。污染物检测模块是主要模块之一,用来检测空气中污染物浓度,由两个传感器组成,分别是粉尘传感器和甲醛传感器,前者用来测量PM2.5的浓度,后者用来测量空气中的甲醛含量。显示模块主要用来显示污染物模块测量出来的具体数值,能够让使用者及时知道空气的污染程度。蜂鸣器模块主要是用来报警,当污染程度超过一定指标,蜂鸣器就会自动报警提示使用者。按键模块的作用是通过不同的按键组合来实现净化器的开关以及风扇启动和关闭等操作。最后还有风扇模块,主要实现的是净化的功能,可以有效通过风扇运转达到净化空气的效果。各个模块之间相互联系,单片机作为主控元件,传感器将PM2.5的浓度和甲醛含量转换成数字信号传输给单片机,单片机将收到的数值和报警阈值对比,决定是否启动风扇、蜂鸣器等执行模块。

1.2 硬件分析

本产品具体由以下几个部分组成:单片机模块、电机模块、Wi-Fi模块、污染物测量模块、显示模块、蜂鸣器模块、按键模块、风扇模块。如图1所示为此次设计的整体硬件框图。

1.2.1 单片机模块

单片机模块是整个系统的中枢核心,其余模块都是在MCU 主芯片的控制下工作。STM32 单片机是ARM公司生产的内核为Cortex-M3的高性价比产品,运算周期采用单周期乘法和硬件除法,工作的频率最高可达到72MHz,拥有13个通信接口。该芯片具备72MHz时钟频率,能实现高端运算。同时具有128KB 闪存和20KB SRAM,可以存储大量的程序代码和数据,满足系统设计的高实时性要求[1]。

1.2.2 Wi-Fi 模块

Wi-Fi模块由无线传输芯片ESP8266和两个电阻组成,ESP8266有双排4列的插针,ESP8266芯片具有强大的存储功能,它能够通过 GPIO口连接传感器和其他的设备,这样,在设计的初期阶段可以最大程度地节约资源,减少功耗。ESP8266 是专门为移动设备、可穿戴电子产品和物联网产品所设计出来的元器件,它与其他的专利技术一起使机器实现了超低功耗[2]。

1.2.3 污染物测量模块

(1) 粉尘传感器电路

粉尘传感器为ZPH01,用来检测空气中的PM2.5 含量,其灵敏度高,内置的空气收集器可自动吸入空气进行检测,与STM32之间采用单总线通信。ZPH01 通过使用粒子计数原理,来计算空气中微小颗粒物数量,在出厂前进行调试、老化、校准后投入使用,不仅灵敏度高,而且具有PWM输出,适用于各种场景。如图3所示为粉尘传感器原理图。

(2) 甲醛传感器电路

甲醛传感器则可以检测空气中的CH2O的含量,其稳定性较好,并且具有温度补偿和线性输出的能力,使用周期也比较长,与STM32采用的是双总线通信。ZE08-CH2O则利用电化学原理来检测空气中甲醛气体含量,不仅使用寿命长,而且能耗比较高,同时灵敏度也较高。如图4所示为甲醛传感器原理图。

1.2.4 风扇模块

将风扇与场效应MOS管IRLR8726连接,构造出了本设计的风扇模块。风扇的调速原理是通过改变高电平的占比来控制风扇转速,即风扇的转速与占空比大小有关。当都为低电平时,风速为0;当都为高电平时,风度达到100。

1.2.5 电源模块

电源模块分为两大部分,一部分是给总设计提供电源的USB供电电路;另一部分是为Wi-Fi模块

如图5所示,用来给USB供电的模块采用直流5V 点电压驱动,P1为电源接口,J1为电源总开关,里面的C1和C2都是滤波电容,两个电容起到稳定电源以及滤除电源载波的作用。

在如图6所示的给Wi-Fi供电的原理图中,采用了AMS1117-3.3元件,它是AMS1117的一款子型号,全称为输出正向低压降稳压器,且电压为3.3V。AMS1117系列中的电路设计,需要使用输出电容作为器件的工作频率补偿的一部分。AMS1117系列有内部电源和热限制电路设计,以保护设备过载情况下不被烧坏。但是,由于最大结温度额定值为125°C,所以在使用时不能长时间地工作在高负载的状态下[3]。AMS1117广泛用于电池供电仪表、电池充电器、线性稳压器等产品。

2 软件设计

2.1 系统软件总体方案

程序整体流程图如图7所示。

当打开电源键时,LCD屏会亮起,进入工作状态,显示的当前的PM2.5浓度或者甲醛浓度,共有4个按键来进行不同的操作。

KEY2按键可以将空气净化器切换到手动或者自动模式。KEY3和KEY4按键分别执行增加操作和减少操作,即在不同时刻能够设定警戒值或调整风扇转速。KEY5按键则可以切换成PM2.5浓度显示或者甲醛浓度显示。

系统一开始先检验是否启用了Wi-Fi,即是否连接到手机,若没有连接,则切换到手动模式,按下按键便可以在显示甲醛浓度和显示PM2.5浓度之间进行切换,LCD第一行显示浓度,第二行显示警戒值(可自定义),若当前浓度超过设定的警戒值,则蜂鸣器报警,此时可以调整风扇风速,最大可达100%。

若检测到已连接Wi-Fi,则可以进入自动模式,此时在手机App 上也能够显示当前空气中的甲醛或PM2.5浓度,App中有虚拟按键能够执行与实体按键一样的操作,不同点在于,在自动模式下,若实际值超过警戒值,则风扇转速会逐步增加,最高到100%,此模式下仍然可以调整警戒值。

2.2 软件分析

2.2.1 PM2.5检测

如图8 中所示的是粉尘传感器在PWM 模式下PM2.5的输出波形。其中要重点掌握的是它的低脉冲率,即低电平与整个实时间周期的比值,它的计算公式如下:

其中RT是低脉冲率,LT为一个周期内低电平的脉冲宽度,UT为一整个周期的脉冲宽度。根据低脉冲率与颗粒物对照表可以知道,低脉冲率越高,则空气中的灰尘颗粒物就越高。

ZPH01传感器的软件流程图如图9所示,传感器连接到P10接口,首先要检验P10是否有低电平,若无低电平出现,则继续之前的操作,直到检测到低电平位置。若检验到低电平,则对低电平出现的次数进行计数,在计数完后之后,根据公式计算出低脉冲率,再由对照表便可以得出灰尘浓度PM的值。从主函数中调用此函数,显示粉尘浓度值到LCD屏幕上。

2.2.2 甲醛检测

甲醛传感器ZE08-CH2O共有9个管脚,其量程为0~5ppm,工作电压在3.7~5.5V,波特率为9 600,无校验位。通过I/O接口与单片机进行串口通信,负责将检测到的数据传输到单片机模块,通信方式分为主动式和问答式,主动式上传的数据有9位[4],其格式如表1所示。

当第1位为0xff,并且第2位和第3位分别为0x17 和0x04时,说明数据校验正确,再根据甲醛浓度值的计算公式:浓度值(PPB) =(气体浓度高位×256+气体浓度低位),计算出甲醛浓度值,最后通过串口传输到单片机,再通过LCD屏幕显示出来[5]。如图10所示为甲醛传感器的控制流程。

2.2.3 无线控制

无线控制功能通过ESP8266 元件实现,其数字I/O口为双向口,一般通过串口向单片机传送数据,首先要初始化串口,包括设置波特率和串口的工作模式,然后设置串口中断,接着定义串口发送命令和数据,同样也可以进行数据的读入,最后再将此模块初始化,以便下一次数据传输。如图11所示为该模块的流程图。

2.2.4 浓度超标警报

以蜂鸣器作为发出警报的元件,有源蜂鸣器内部有震荡源,一般接上电源就能够发出声音,无源蜂鸣器一般要使用2~5K的方波脉冲才能使用。

在本次设计中,将蜂鸣器连接到P2端口的第0 位,当周围空气的污染指数超过了设置的警戒值时,由P2.0引脚输出低电平驱动蜂鸣器发声,以达到警报的效果。

3 结论

此次设计的无线空气净化器,是基于STM32单片机,具有PM2.5浓度检测,甲醛浓度检测,污染警报,无线遥控等功能,既可以通过手动调整风扇速度,也可以遥控控制,便于日常操作。PM2.5浓度检测功能采用粉尘传感器实现,通过低电平计算出低脉冲率,一般低脉冲率越高,PM2.5浓度越高。甲醛检测功能通过甲醛传感器实现,当上传数据中的校验位符合标准时,则利用公式计算出甲醛浓度值。无线遥控功能通过ESP8266芯片实现,通过串口往单片机传送相应的数据。显示功能利用LCD液晶显示屏实现,每次可以显示两行数据。按键方面采用独立按键,并且使用蜂鸣器作为报警器件,此外再利用PWM控制风扇以实现净化空气的功能。

上一篇 点击页面呼出菜单 下一篇