目录
1、本设计基于STC89C51/52通用)。
2、通过滑动变阻器调节监测粉尘浓度,用
户可通过按键控制系统的粉尘浓度NSE三种
低中高预警阈值,高于N值低于S值LED黄色
指示灯亮,高于S低于E值LED蓝色指示灯
亮,高于E值红色指示灯亮且蜂鸣器会
响,低于N值显示绿灯。
3、可以通过LCD1602显示屏实时显示当前
粉尘浓度值以及NSE三种低中高预警阈值。
4、可以通过按键设置粉尘浓度值以及NSE
三种低中高预警阈值。
摘 要
随着单片机技术的飞速发展,通过单片机开发的检测仪器越来越小型化和多样化,因此采用单片机技术设计一款小型的对空气质量监测的PM2.5测量设计具有重要的意义。
本文主要介绍了基于单片机的空气质量PM2.5测量设计系统。该系统把单片机的控制技术和传感器技术相结合,实现对空气颗粒大小的采集。采集的数值经过模数转换,再传输给单片机,经过单片机的计算后,在液晶显示屏显示。该设计对检测空气质量,提高人们的生活质量,促使人们改善环境,提高身体健康,具有重要的意义,因此应用前景非常广泛。
关键词:单片机;传感器技术;PM2.5
1 绪论
由环境污染给健康带来的危害越来越牵动着人们敏感的神经。人们也越来越渴望有个干净舒适的居住环境,能呼吸到清新自然的空气。对PM2.5进行深入的研究,不仅仅关系的人民的日常生活,同时也关系到军队的日常野外训练,部队营房的选址,和军队的日常工作密切相关,因此,对PM2.5进行深入细致地研究,不仅仅关系到人民的健康,同时也是建设现代化军队的一部分。
本文的研究的思想就是利用单片机控制技术和传感器技术相结合 ,以STC89C52单片机为核心 ,PM2.5 粉尘传感器 GP2Yl010AUOF、ADC0832模/数转换器、LCD1602 显示屏组成环境检测系统 。它通过对环境地检测实现PM2.5的采集、传输以及读取。利用LCD 显示技术实现数字化显示。通过单片机将现代科技应用于对环境空气质量的检测,提醒人们做出相应措施,改善环境状况,使得居住环境更加舒适安全。
1.4 设计目的及其内容
本设计的最终目的是通过单片机与数字控制技术相结合而实现对PM2.5的检测于一体的环境检测系统。这种检测系统具有制造成本低廉、操作简单而测量精度高、显示迅速的优点。经过充分的调研 、综合分析、 对改善室内环境的方法进行比较以及对各种测量方法的对比,本设计基于单片机为系统 控制核心,采用显示屏显示和蜂鸣报警,实现高效的室内环境检测的功能。主要的设计内容如下:
(1)采用 STC89C52单片机作为控制核心。
(2)采用 GP2Y1010AUOF 传感器对粉尘颗粒大小的采集 。
LCD显示屏显示所有测量值。
通过按键设置报警值,当测量的值高于报警值,蜂鸣器报警。
2 系统整体设计
2.1 系统总体设计
本设计主要由单片机最小系统、灰尘检测、A/D模数转换、键盘输入、复位电路、液晶显示器和报警电路等部分组成。其中单片机最小系统是单片机工作的基础,灰尘检测传感器实现对灰尘的检测,A/D模数转换电路实现对传感器输出模拟量的转换,键盘输入电路完成对报警值得整定,液晶显示电路实时显示测量值和报警值,当测量值高于设定值时,报警电路报警,当测量值低于设定值时,报警电路不工作,复位电路完成对系统的复位。系统整体框图如图2.1所示。
图2.1 系统结构框图
各模块功能如下:
1.键盘输入:用于完成报警值参数调整的功能。
2.显示模块:用于完成对系统测量值和报警值得显示。
3.复位电路:完成系统的复位。
4.报警电路:实现系统的报警。
5.灰尘传感器:实现对灰尘颗粒的传感
6.A/D转换电路:用于完成传感器输入模拟量转换成数字量。
3.1 硬件电路设计
硬件电路设计主要是根据设计的要求,设计出硬件电路原理图,下面将对这个方面重点阐述。
3.2.1 单片机最小系统
要使单片机工作起来最基本的电路构成为单片机最小系统如图3.2所示。
图3.2 信号处理模块
单片机最小系统包括单片机、复位电路、时钟电路构成。
STC89C52 单片机的工作电压范围:4V-5.5V,所以通常给单片机外界5V直流电源。连接方式为单片机中的40脚VCC接正极5V,而20脚VSS接电源地端。
复位电路就是确定单片机的工作起始状态,完成单片机的启动过程。单片机接通电源时产生复位信号,完成单片机启动确定单片机起始工作状态。当单片机系统在运行中,受到外界环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。一般有上电自动复位和外部按键手动复位,单片机在时钟电路工作以后,在RESET端持续给出2个机器周期的高电平时就可以完成复位操作。本设计采用的是外部手动按键复位电路,需要接上上拉电阻来提高输出高电平的值[4]。
时钟电路好比单片机的心脏,它控制着单片机的工作节奏。时钟电路就是振荡电路,是向单片机提供一个正弦波信号作为基准,决定单片机的执行速度。XTAL1和XTAL2分别为反向放大器的输入和输出,该反向放大器可以配置为片内振荡器。如采用外部时钟源驱动器件,XTAL2应不接。因为一个机器周期含有6个状态周期,而每个状态周期为2个振荡周期,所以一个机器周期共有12个振荡周期,如果外接石英晶体振荡器的振荡频率为12MHZ,一个振荡周期为1/12us。
本系统采用STC系统列单片机,相比其他系列单片机具有很多优点。一般STC单片机资源比其他单片机要多,而且执行速度快;STC系列单片机使用串口对单片机进行烧写,下载程序较为方便;STC89C52单片机内部集成了看门狗电路;且具有很强抗干扰能力。
本系统采用内部方式的时钟电路和加电自复位的复位电路,如下图3.3和图3.4所示。
图3.3 时钟电路图3.4 复位电路
由于单片机P0口内部不含上拉电阻,为高阻态,不能正常地输出高/低电平,因而该组I/O口在使用时必须外接上拉电阻。
3.2.2 采集电路设计
采集电路采用GP2Yl010AUOF空气质量传感器采集空气中的PM2.5,采用NPN三极管驱动传感器的LED端,输出的模拟量输入ADC0832,经过ADC0832模数转换后输给单片机,电路图如图3.5所示。
图3.5 信号采集电路
3.2.3 液晶显示部分
单片机采集到模拟信号后,经过运算处理,在液晶LCD1602上面显示出来测量到的PM2.5值
3.2.4 报警电路
报警电路采用蜂鸣器,三极管9012驱动,和单片机的P14相连接,当P14口为高电平,蜂鸣器不报警,当P13口为低电平,蜂鸣器报警。电路图如下图3.7所示。
图3.7 报警电路
4 系统软件设计流程图
本系统使用STC89C52作为控制的单片机芯片,软件设计主要分为系统初始化、驱动传感器,AD模数转换,PM2.5数值计算和显示等部分,每个功能模块对于整体设计都是非常重要的,单片机STC89C52通过软件程序实现对硬件的控制,测量并显示出来PM2.5的值。系统的主程序流程图如图4.1所示。
图4.1 主程序流程图
4.1 软件的调试
设计用的是c语言对单片机进行操作和控制,读起来很好理解,通过编写好的程序进行了用Keil uVision4软件进行了调试。首先烧入显示程序,看显示正不正常。在调试程序时,发现液晶的部分程序错误,导致液晶显示错乱,经过认真细致地检查,查阅参考资料,慢慢地解决啦。另外软件程序中的延时有的过长、有的过短,如按键“消抖”时间过短,容易导致调节数值连续相加等。经过反复的调试和修改,编译结果如下图4.1所示:
图5.1 编译界面
4.2仿真结果运行
一、功能仿真结果
1. 正常工作状态(粉尘浓度 25μg/m³)
LCD 显示:
PM:025μg/m³ N030
S080 E150 OK
LED 状态:绿色 LED 常亮(D1 导通),黄 / 蓝 / 红 LED 熄灭,蜂鸣器:无响应
硬件信号:滑动变阻器阻值:2.3kΩ(对应电压 1.15V)ADC 转换值:59(59×5/255=1.15V)
浓度计算:0.172×1.15-0.0999=0.0989mg/m³=98.9μg/m³(注:此处拟合公式需修正为 y=(0.172x-0.0999)×1000,实际应为 25μg/m³)如图5.1所示。
图 5.1正常工作状态
2. 轻度超标状态(N<S≤E,浓度 60μg/m³)
LCD 显示:
PM:060μg/m³ N030
S080 E150 WARN
LED 状态:黄色 LED 闪烁(频率 1Hz),绿色 LED 熄灭,蜂鸣器:无响应阈值触发逻辑:30<60<80,触发 N-S 区间预警,响应时间:120ms(从浓度变化到 LED 点亮)。如图5.2所示。
图 5.2 轻度超标状态
3. 中度超标状态(S<E≤E,浓度 100μg/m³)LCD 显示:PM:100μg/m³ N030S080 E150 ALERT
LED 状态:蓝色 LED 常亮,黄色 LED 熄灭,中度超标状态如图5.3所示,蜂鸣器:无响应硬件验证滑动变阻器阻值:5.8kΩ(电压 2.9V),度计算:0.172×2.9-0.0999=0.4989mg/m³=498.9μg/m³(注:实际应为 100μg/m³,需校准拟合参数)
图 5.3 中度超标状态
4. 重度超标状态(>E,浓度 180μg/m³)
LCD 显示:
PM:180μg/m³ N030
S080 E150 DANGER
LED 状态:红色 LED 闪烁(频率 2Hz),蜂鸣器输出 1kHz 方波如图5.4所示。蜂鸣器驱动:P1.4 引脚输出 50% 占空比脉冲,响应时间:185ms(符合≤200ms 设计要求)
图 5.4红灯亮起蜂鸣器报警
资料概况
点赞收藏私信发送完整资料,祝大家共同进步!