基于STM32的粉尘检测系统设计*
2019-09-07孙昌祥徐素莉
孙昌祥,周 威,徐素莉
(河南科技大学信息工程学院,河南 洛阳 471009)
随着社会经济的发展,人们的生活水平不断提高,对空气的质量要求也越来越高,其中粉尘是影响空气质量的主要原因之一,粉尘是人类健康最大的敌人,因为它携带有许多细菌病毒,在空气中传播疾病。工业粉尘,纤尘能使工人患上各种难以治愈的职业病,过多的灰尘还会造成环境污染,影响人们的正常生活和工作,诱发人类呼吸道疾病等[1]。因此,为了能提前规避这种风险,需要对环境中粉尘浓度进行实时监测,所以实时检测的粉尘检测系统应运而生。
本文设计了基于STM32的粉尘检测系统,系统通过粉尘传感器来采集环境中粉尘的相关数据,然后把数据传送到STM32单片机进行处理分析,然后将粉尘浓度实时显示在液晶显示屏上。系统具有报警功能,能实现对检测环境粉尘浓度的实时监控,可广泛应用于不同的粉尘检测的场合[2]。
1 系统总体设计
粉尘检测系统的组成结构框图如图1所示。系统的中央处理器采用STM32单片机,粉尘采集模块使用GP2Y1010au0f粉尘传感器[3]。传感器可以检测当前环境中的粉尘浓度,将数据传送给STM32单片机,并通过LCD显示屏显示当前浓度。按键用来设置系统的粉尘浓度阈值,如果检测到当前浓度超出阈值启动蜂鸣器发出报警信号,通过GSM模块发送信号,实现远程监控。
图1 系统框图
2 硬件设计
2.1 粉尘传感器模块
通电之后红外发光二极管开始工作,红外发光二极管发出的光照射到进入传感器的粉尘后被反射,光反射的程度与粉尘的浓度相关,浓度越大反射光越强,浓度越小反射光越弱[4]。光电二极管接收反射光后,将不同粉尘浓度反射的光信号转换为电信号,经过放大电路放大后输出给中央处理器。根据不同电信号之间的规律,计算可得出空气中的粉尘的浓度。传感器内部结构图如图2所示。
图2 传感器内部结构图
使用时将引脚②和引脚④接地,引脚①和引脚⑥接一个5V脉冲电压,红外发光二极管由引脚①供电,在引脚③处给一个周期性脉冲信号控制发光二极管的开和关,放大电路由引脚⑥提供电压,使光电二极管能接收来自灰尘反射的光。引脚⑤接外界单片机的模拟信号输入引脚,传感器将模拟信号输出到单片机进行处理。
图3 输出电压值与粉尘浓度的关系
图3为传感器输出模拟电压(V)和粉尘浓度(mg/m3)的关系。横坐标轴为粉尘浓度,纵坐标轴为输出电压,在粉尘浓度在0 mg/m3~0.5 mg/m3期间输出的模拟电压与粉尘浓度存在近似线性比例关系,即P=0.17×U-1。其中P为粉尘浓度,U为输出电压。当浓度达到0.6 mg/m3的时候该曲线不再上升,输出电压达到3.6 V左右。当空气为洁净的时候输出电压为0~1.5 V,典型值为0.9 V。因为空气不可能绝对的干净,所以取0.9 V代表空气洁净。
粉尘传感器主要参数如表1所示。
表1 传感器参数
2.2 显示模块
LCD显示屏显示当前粉尘浓度,系统预设的阈值以及其他信息。本系统采用2.8寸的LCD屏,分辨率为240*320,色彩为16位。
TFTLCD彩色液晶显示屏在通信时传输的数据比黑白屏大,传输图片数据时,若采用8位的数据线,传输速度较慢,故采用16位数据线。本系统选用 16 位的IO并口。信号线的功能如表2所示。
表2 信号线功能表
2.3 GSM模块
系统采用GSM模块实现报警信号的发送,GSM模块具有不受地域影响,覆盖面广,可靠性强等优点[5]。
系统支持预设报警值,当环境粉尘浓度超过预设阈值后系统通过GSM模块向检测人员发送实时的粉尘浓度信息,提醒用户在该时间内环境粉尘浓度超过预警值,做好相应的防护措施,尽量避免进入该环境。
2.4 报警模块
报警模块原理图如图4所示。蜂鸣器为感性元器件,感性元器件中的电流不会突变。蜂鸣器正极接3.3 V电源,R1为限流电阻,防止电流过大损坏元器件,负极接三极管集电极。BEEP无信号时,基极接地,三极管不导通,蜂鸣器不工作。BEEP有信号时,三极管导通,蜂鸣器报警,即提示用户,粉尘浓度高于系统预设的阈值。
图4 蜂鸣器原理图
3 粉尘检测系统软件开发
3.1 系统的主程序设计
设计系统软件时,主要分为以下几个模块,第一是系统初始化模块,第二是传感器模块,第三是LCD显示模块,第四是GSM通信模块。
系统开启之后首先完成各部分的初始化,然后通过按键来设置阈值,粉尘检测模块检测空气中的粉尘数据,单片机经过处理之后进行显示并判断是否超过阈值,如果超过阈值便启动蜂鸣器,同时使用GSM发送信号[6],如果没有便继续检测并显示。主程序流程图如图5所示。
图5 主程序流程图
3.2 粉尘检测模块程序设计
传感器模块把光信号转换为电信号,将模拟电压值传送给单片机,单片机把模拟量转换为数字量,连续采集20次数据后经过去掉最大值,去掉最小值之后求平均值,作为当前环境的粉尘浓度,这样可以提高检测的准确性[7]。传感器模块程序流程如图6所示。
图6 传感器模块程序流程图
4 结束语
本系统使用STM32F103ZET6作为微处理器芯片,结合传感器技术和GSM无线通信技术,完成对粉尘的测量和实时显示。在粉尘测量系统的一般功能的基础上,加入了蜂鸣器报警设计和无线通信的远程监控设计。
本系统创新点:对传感器采集的数据进行理论验证后显示,提高显示结果的准确性。并能够利用GSM技术对环境进行远程实时监控。可适用于多种场所,如:施工工地、宿舍、仓库、体育场馆等。随着嵌入式技术的发展,本系统可以进一步完善,开发设计人机交互,实现语音控制,结合物联网工程连接外部净化设备,实现从粉尘检测到粉尘净化的全过程。使人们体验到科技所带来的方便。