基于单片机的空气质量监测系统设计
2017-02-20关帅
关帅
辽宁锦州渤海大学工学院
基于单片机的空气质量监测系统设计
关帅
辽宁锦州渤海大学工学院
随着社会的进步和工业化水平的不断提高,空气的质量状况不断变差,保护环境已经成为现代社会的迫切要求。造成环境污染的原因有很多,其中颗粒状粉尘所造成的空气污染已成为一个十分突出的问题。本文是通过设计基于单片机的粉尘浓度检测仪来完成检测。论文先介绍了系统总体的硬件组成以及代码的执行过程。在硬件电路设计好后,采用C语言完成了单片机程序的编写,实现了对粉尘传感器、最终完成了对粉尘浓度实时检测以及超过警戒值报警的功能。
STC12C5A60S2单片机 CON6粉尘传感器 DHT11温度传感器
1 绪论
粉尘是在生产过程中产生的固体颗粒,能够较长时间悬浮于空气中。可吸入颗粒物是空气动力学当量直径小于等于10um的悬浮颗粒,由于这些小粒径颗粒物能够长时间悬浮于空气中,很难降落在地面,经常漂浮在空中,特别容易被吸入到人体的呼吸道,而且颗粒的半径越小,被人吸入到人体呼吸道的位置就越深,对人体的危害性就越大。
基于单片机的粉尘颗粒浓度检测仪的选题充分结合了实际生活应用,通过此次的毕业设计能充分了解更多实际应用方面的知识,从前期的资料收集,再到中途的硬件电路设计、C语言编程以及最后阶段的功能调试等各方面进行系统的锻炼。同时系统的研制可以方便地检测环境中的粉尘浓度,对超标的情况及时整改,保证操作人员的健康和安全。
2 系统总体方案的设计
本系统的主控部分是通过单片机设计完成,通过信息处理,接收外部操作指令并形成各种控制信号,记录各类信息。外围电路有:A/D转换、键盘输入、LCD显示电路。其系统框图如下图1所示。
图1 系统硬件结构框图
3 硬件电路的设计
3.1 单片机控制电路设计
单片机是粉尘检测仪的主控部件,是完成数据采集、处理、输出、显示等功能的核心,它的选择直接关系到整个系统的工作。选择通用性强、功耗小、性能稳定良好的单片机十分重要,在本系统中我们选用STC12C5A60S2单片机,如图2所示。
3.1.1 振荡器电路
STC12C5A60S2单片机的时钟源在常温下频率是11MHz-17MHz,本设计选择12MHz。晶振的两个引脚接在单片机XTAL1和XTAL2引脚上。两个电容的值为30pF,两个电容可稳定频率并对振荡频率有微调作用。
3.1.2 复位电路
复位操作可以使单片机初始化,也可以使死机状态下的单片机重新启动,因此非常重要。STC12C5A60S2系列单片机提供5种复位方式:外部RST引脚复位、外部低压检测复位、软件复位、上电复位、看门狗复位。
图2 单片机最小系统
3.2 粉尘传感器电路设计
粉尘浓度检测仪的核心部件是粉尘传感器。它的选择直接影响到了量程的大小以及测量结果的准确程度。本设计中使用CON6粉尘浓度传感器,粉尘对光有反射作用,空气中的浮游粉尘越多,对光的反射作用越强。粉尘传感器的内部结构如图3所示。
图3 粉尘浓度传感器的内部结构
①红外线发射装置IRED:引脚1(V-LED)提供+5V电压(为了消除外界干扰,需串联1个150欧姆的电阻且在电阻一侧和GND之间再串联一个220uf的电容);引脚2(LED-GND)接地;引脚3(LED)由单片机直接给一个周期为10ms,低电平为0.28ms的脉冲方波(输入脉冲后要经过三极管驱动),用来控制开关IRED;
②红外线接收装置PD:引脚4(S-GND)接地;引脚5(Vo)输出电压模拟信号,输入给单片机;引脚6(Vcc)接+5V电源;
③GP2Y1010AU0F其内部对角安放着红外线发光二极管IRED和光电晶体管PD。电源接通后,红外线二极管开始发出红外线,在没有粉尘的情况下,光电晶体管PD是接收不到发出的红外线的;当有粉尘的时候,粉尘会反射红外线使得光电晶体管能够探测到空气中尘埃反射的红外线。粉尘越多,则接收到的反射光越强,光电晶体管两端的电压越大。该模拟电压信号经过信号放大电路从引脚5输出;
④通过该光学粉尘浓度传感器可知,粉尘浓度越大,入射光被反射越多,接收到的光越多,其输出电压也越大。该传感器输出为模拟电压,其值与粉尘浓度成正比。
3.3 系统电源供电电路设计
为了使系统稳定运行,供电电路是十分重要的。5V直流USB电源和三节1.5V(共4.5V)碱性干电池。只需在电源接口的引脚4和引脚1分别接上电源正负极即可。
3.4 LCD液晶显示电路设计
本系统采用l602LCD字符型液晶显示模块,该模块可以显示两行,每行16个字符。显示信息包括显示字母、数字符号以及其他的一些字符型符号。采用单+5V电源供电,外围电路配置简单。1602字符型LCD具有以下的基本特性:
①显示容量:16×2个字符;提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能;
②芯片工作电压:4.5—5.5V;对比度可调;③工作电流:2.0mA(5.0V);④模块最佳工作电压:5.0V;
⑤字符尺寸:2.95×4.35(W×H)mm;⑥内含复位电路;
⑦有80字节显示数据存储器DDRAM;
⑧8个可由用户自定义的5X7的字符发生器CGRAM。
4 软件程序设计
4.1 软件开发环境介绍
本设计中选用KEIL公司的uVision4开发环境作为单片机程序的编译器。该软件集成了业内最领先的技术。KEIL uVision4支持汇编和C语言两种开发语言,提供了强大的仿真功能。
4.2 系统主程序的设计
系统主程序设计流程如下,上电后系统先进行初始化,然后从EEPROM存储器读取从键盘输入设定的最高粉尘浓度值。单片机将设定的报警值显示在LCD,并检测当前空气中的粉尘浓度值,随后与设定值进行比较,当检测到的值大于设定值时单片机驱动LED指示灯报警。如果不大于报警值则延时若干秒后继续采集当前粉尘值,并且在LCD上显示温湿度。循环往复执行该程序。系统主程序流图如图4所示。
图4 系统主程序流程图
在LCD的液晶显示中,已经详细介绍了显示的原理,此外还需要知道显示驱动程序。显示驱动程序在进入中断后,对每个定时器赋初值,用来确保显示屏刷新频率的稳定。1/16扫描显示屏的刷新率计算公式如下:
刷频率(帧频)=1/16×T0溢出率=1/16×f/12(65536-t)
其中f位晶振频率,t为定时器T0初值(工作在16位定时器模式)。然后利用显示驱动程序来查询当前点亮的行和列,从显示缓存区内读取下一行的显示数据,并通过串口发送给移位寄存器。
5 系统调试
画出电路原理图后,就要按照该图进行硬件实物的焊接。焊接好的电路板在上电之前必须得经过调试,以免发生短路烧毁元器件或者因为断路导致的元器件无法工作。下面就硬件调试过程中出现的问题做相关叙述。
5.1 系统电源供电路调试
在供电接口VCC与GND两端接上电源后,闭合开关,发现电源指示灯不亮,用万用表检测到USB供电口的1脚和4脚有电压,猜想发光二极管的正负极接反。后来调换正负极后,发光二极管正常工作。
5.2 单片机电路调试
单片机是整个系统当中核心部件。在最初的调试中,会出现调节按键失灵,还有液晶显示屏幕显示的数据不完整的情况。这个是由于单片机的14、15引脚以及单片机36、37引脚与按键电路和显示电路接口脱焊导致的。
6 总结
本次设计完成了基于单片机的粉尘颗粒浓度检测仪的设计,具体包括硬件电路的设计、程序的编写及系统调试。通过系统测试和结果分析验证了预期设想该设计主要是将光学测尘原理所得的模拟电压信号转换成数字信号,并将数字信号送到单片机中。程序中的中断可以根据逻辑优先级需要响应各个模块,实现各个端口的开启和关闭。
[1]季晶晶,邹丽新,汤荣生,徐婷婷.具有自适应测量功能的空气粉尘测量仪设计[J].现代电子技术,2010
[2]邹丽新,季晶晶,汤荣生.基于光散射的小型便携式粉尘测量仪的研制[J].大气与环境光学学报,2008
[3]杨欣.51单片机应用从零开始[M].北京:清华大学出版社,2008年01月
[4]胡汉才.单片机原理及接口技术[M].北京:清华大学出版社,2011