基于STM32的PM2.5空气检测系统的设计
2019-01-30
(山东农业工程学院 机械电子工程学院,山东 济南250100)
引言
随着科技的飞速发展,人们逐渐过上了小康生活,与此同时,也不可避免地带来了一些意想不到的负面影响,特别是雾霾问题[1]。众所周知,PM2.5颗粒是构成霾的主要成分。因此,PM2.5的浓度已成为人们关注的焦点。
近年来,雾霾问题困扰着我们,大大地影响了人们的生活及质量。因此,国内外开展了好多关于PM2.5的研究[2],主要是用来检测PM2.5的浓度值。美国是世界上最早提出PM2.5大气质量标准和开始采样检测工作的国家。2010年末,美国与欧盟主要发达国家将PM2.5加入到空气的质量标准,并对它进行了一系列的限制,空气质量得到了有效的改进[3]。
1 本课题总体设计
针对此现状,本课题采用STM32F103系列微控制器与PM2.5粉尘传感器相结合,设计了一款PM2.5的空气检测系统,微控制器作为整个控制的核心,粉尘浓度的采样检测系统由蜂鸣器、PM2.5粉尘传感器、LCD液晶显示屏、模/数转换器(ADC)组成,通过人们对自己所处的周围环境的检测实现对PM2.5浓度值的收集、计算、转换以及读取数据,最终把要测得的数据显示在LCD液晶显示屛上。
本设计有很多优点,制作简单,成本低,精度高,能随时调节。程序预先设置一个PM2.5浓度的最大限值,如果检测到数值超过这个最大限值,蜂鸣器就会自动报警。
本课题的研究方案为:经过PM2.5粉尘传感器采集周围环境中的PM2.5浓度值,检测电路将采集到的数据传送给微控制器,同时把模拟量处理为数字量,处理的结果显示在LCD液晶显示屛上,随时观察到PM2.5的变化。若PM2.5粉尘的浓度值过高,系统中由LED指示灯和蜂鸣器组成的报警电路就会警示。
便携式PM2.5空气检测系统由硬件和软件两部分组成。硬件部分的MCU主控制器是意法半导体公司(ST)生产的STM32F103系列微控制器,该控制器使用ARM公司的Cortex-M系列内核,支持嵌入操作系统。软件部分主要包括底层驱动开发环境的建立及数据通讯应用程序的编写,便携式PM2.5净化器系统的总体框图如图1所示。
图1 净化器总体框图
2 净化器的硬件设计
便携式PM2.5净化器项目硬件电路分为开关电源电路模块和核心控制器面板电路模块两部分。硬件总体框图2所示。
开关电源电路主要包括AC-DC(12V/1.5A)开关电源电路、DC-DC(5V)电源转换、DC-DC(3.3V)电源转换电路以及220V交流电机控制电路。
核心控制器面板电路包括微处理器最小系统电路、存储器电路、功能按键电路、触摸显示屏电路以及PM2.5传感器电路等。
图2 净化器系统硬件总体框图
2.1 STM32F103C8T6微控制器简介
本系统处理器采用STM32F103C8T6微控制器,它是STM32F103系列芯片之一,在Cortex-M内核的基础上扩张了高性能的外设[4]。该芯片支持嵌入UC/OS操作系统,它是一款专门为要求比较高的嵌入式产品应用专门设计的芯片。在产品开发时还可以应用ST公司专门为芯片设计的固件库函数进行产品研发,使得整个产品的研发周期大大的缩短并使整个程序机构清晰,方便易懂。
STM32F103C8T6微控制的工作主频可达72MHz,内置128K字节的程序存储器 (ROM)和20K字节的数据存储器(SRAM),外设设备通过2条APB总线和内核处理器连接,包含4个定时器(3个16位通用定时器以及1个16位高级定时器)、2个12位的ADC,在通讯接口方面包含3个同步串口(USART)接口、2个SPI接口、2个I2C接口、2个I2S接口、1个USB接口、1个CAN总线接口、1个SDIO接口以及80个通用输入输出接口(GPIO)等[5]。因此整个设计选择此款芯片为主控系统。
2.2 最小系统设计
控制系统的最小系统包括电源、时钟电路、复位电路,用来实现系统的控制与检测。它把一个完整的计算机控制系统及一些输入输出设备等整合在一块芯片上,实现系统的总体控制,保障系统的正常工作[6]。微控制器的工作电压为3.3V,接到VCC端口,VSS端口接地。最小系统的框架如图3所示。
图3 最小系统框架图
2.3 PM2.5数据采集电路
数据采集部分主要实现采集PM2.5浓度,它是在PC机上实现的,主要是将系统的硬件、应用软件和计算机相互结合来进行对数据的测量。数据采集系统完成了信号、传感器、信号调节、数据采集模块及相应软件的完美结合[7]。
本课题PM2.5数据采集工作是利用日本夏普公司开发的GP2Y1010AU0F传感器来实现,该传感器可以测量空气中的PM2.5指数。因为灰尘的密度比较低,采集的结果是间断性的,所以需要加上滤波算法。本软件设计采用了均值滤波、限幅滤波等滤波算法实现滤波。采集电路如图4所示。
图4 PM2.5采集电路
GP2Y1010AU0F传感器是一款光学灰尘浓度检测传感器。用于检测特别细微的颗粒,如香烟颗粒、细微灰尘,包括空气中的PM2.5指数,精度达到±5μg/m3。GP2Y1010AU0F使用发光二极管,利用光敏原理来工作,其内部的红外发光管和光电晶体管成对脚分布[8]。一般,发光二极管在长期通电情况下,输出会降低,随之,无尘输出电压及检出感度也会降低。
GP2Y1010AU0F传感器的特点是灵敏度和准确率高;它的规格比较小且易于安装;能够实现空气的流通,大大地增强了外部的大气流通;很容易保护和护理。
GP2Y1010AU0F依靠输出脉冲的高度来判断颗粒浓度,如图5所示。增加无尘输出电压及感度的补正算法,保证PM2.5采集的精确度。空气清新机能在运转中,若在规定时间内输出电压标准没有变化,则无尘输出电压会自动更新。
图5 用脉冲高度判断PM2.5颗粒浓度
2.4 液晶显示屏控制电路
一个完整的显示屏由三部分组成,包括液晶显示器面板,电容触摸屏面板以及PCB底板[9]。本设计采用ILI9341液晶显示屏对采集的信息进行实时显示。ILI9341是3.2寸薄膜晶体管液晶显示器(thin film transistor-liquid crystaldisplay,TFT LCD),具有低压、微功耗特性,SPI串口,在嵌入式系统中得到了广泛的应用[10]。
TFT LCD显示屏控制电路如图6所示。其中,VDD端口接3.3V电压,GND端口接地。
图6 TFT LCD显示屏控制电路
2.5 发光报警电路
报警电路的核心器件是蜂鸣器,三极管S8050驱动和微控制器的PB8相连接,当PB8口呈现的是高电平的时候,蜂鸣器是不报警的,当它变成低电平的时候,而且还带有LED二极管发光,蜂鸣器发出报警声音。系统还可以通过手动按键的方式来调整PM2.5适合的值,如果超过设置的最高浓度值,蜂鸣器就会报警。报警电路图如图7所示。
图7 报警电路图
3 净化器的软件设计
3.1 功能实现
便携式PM2.5空气检测系统软件设计部分主要由采集、显示、控制三大部分组成,整个工程框架采用嵌入式μC/OS-Ⅱ操作系统。
采集部分能够采集空气中PM2.5浓度,精度±5μg/m3。
显示部分分为led指示灯显示和3.2寸高清TFT LCD显示屏两部分。其中,led指示灯显示部分通过指示灯看出当前风速(低、中、高、智能)和负离子工作状态(开、关);3.2寸高清TFT LCD屏显示当前PM2.5浓度、设备工作状态、风速等信息。
控制部分包括按键控制、红外控制、触摸屏控制三个控制模块。
其中,按键控制通过物理按键控制总开关、负离子开关、风速;红外控制通过红外遥控器控制总开关、负离子开关、风速、智能模式、睡眠模式;触摸屏控制通过TFT LCD液晶显示屏实现触摸控制。
3.2 显示部分的软件实现
Led显示部分包含三个风速led指示灯和一个负离子开关led指示灯,如图8所示。三个风速led指示灯分别表示低速,中速,高速。全亮代表智能模式。负离子开关led指示灯表示处于负离子工作状态。
图8 led指示灯显示
本设计的LCD显示部分采用3.2寸ILI9341 TFT LCD,显示PM2.5浓度和设备的当前工作状态,并且实现和led指示灯同步显示。测试结果如图9所示。
图9 LCD显示结果
3.3 PM2.5采集部分的软件实现
3.5 控制部分软件实现
控制部分实现按键、外部遥控、触摸同步控制总开关、负离子开关、风速、智能模式、睡眠模式。
风速分为低速、中速、高速和智能模式,智能模式下,根据当前PM2.5的浓度实现自动控制风速,浓度大于75ug小于115ug低速模式,大于115ug小于150ug中速模式,大于150ug高速模式。
睡眠模式下,所有的指示灯包括LCD显示屏关闭,保证用户正常睡眠,任意按键可以唤醒睡眠模式。
支持掉电恢复,当意外断电恢复时继续之前的工作状态,使用flash定时存储当前的运行状态。
4 总结
本文设计了一款PM2.5空气检测系统,实现了实时采集PM2.5浓度,通过转换,单片机计算,LCD显示性能,具备电路简单、成本低、测量精度高、用途比较广等特点。
编辑:董刚