石河子大学 欧阳萱霖 郭志浩 王皓翔
基于STC89C54RD+的环境监测系统
石河子大学 欧阳萱霖 郭志浩 王皓翔
系统为基于STC89C54RD+的室内环境质量检测仪。通过AD590实现温度检测,HS1101实现湿度检测,MS1100实现VOC气体检测以及GL5537-1实现对光照强度的实时采集处理,由LCD12864显示ADC0809转换而来的数字量,同时由LED和蜂鸣器实现分步报警的功能。为了提供人机对话界面,系统采用独立按键设计。系统通过USB连接外部5V电压供电。整个检测系统具有设备小巧,操作简单,功耗低等优点。
单片机;环境监测;ADC0809;555非稳态电路
现在的环境问题越来越严重,人们对生活的追求越来越高。由于室外环境太广,不可一时改变。而室内环境通过一定的调节,将会有足够大的变化,同时将会更适合人们保持身体健康。本系统将提供一定舒适度范围的检测,同时将提醒人们需要对当前环境的某些变量进行调整,以便人们调整室内环境质量指数,使其达到标准。
(一)整体设计
该系统为基于STC89C54RD+的室内环境质量检测仪[1],能够实现对室内温度(AD590),湿度(HS1101),VOC气体(MS1100)以及光照强度(GL5537-1)的实时采集处理(ADC0809) 、显示(LCD12864)、报警(LED,蜂鸣器)的功能。通过独立按键进行操作,并由USB提供5V电源。整体效果图,如图1所示。
图1 整体效果图
(二)模块设计
1.单片机模块
采用STC89C54RD+,16k Flash存储器,以满足足够的程序存储量。同时采用按键复位,12MHz晶振,以适应ADC0809严苛的时序要求。
2.温度检测模块
系统采用AD590作为室内温度传感器,如图2所示。由于AD590输出电流同绝对温度(-273℃)成正比[2],因此在AD590的输出端连接一个采样电阻即可实现电流到电压的转换。从而使得电压与绝对温度(-273℃)满足一定关系。AD590作为温度传感器,输出的电流是以绝对温度(-273℃)为基准,每增加1℃,它便会增加1μA的输出电流。通过连接的10K的采样电阻,使得传感器输出端电压值为(2.73+T/100)V。又因电流输出较小,为μA级,在放大电信号前,连接一电压跟随器[3],以便提高输入阻抗,减小输入信号的影响,使得输出电压稳定。接稳压管是为了减少电压分压误差。同时调整变阻器阻值,电压接近2.73V以便抵消传感器的初始输出电压,再经过放大器使得整个部件输出为T/10V,得到温度电压。本系统中温度检测精度为0.1℃。
图2 温度监测模块
3.湿度检测模块
系统所使用的湿度传感器HS1100,如图3所示。这是一种可变电容的电容类湿度传感器。由于其为可变电容,考虑由555振荡电路组成多谐振荡器[4],进而组成单片机的频率计算器,环境湿度的稳定,使得充放电也趋于稳定,进而得到环境内的实时湿度。电路中,R16为内部温度补偿,其目的是引入温度效使其与HS1101的温度效应相匹配。且R16同其他的R-C时钟电路对该位置1%精度的电阻的要求相同。由于相对湿度满值为100PPm,故针对市面上不同型号的555电路有不同的电阻要求,已便达到与HS1101近似的温度效应,同时保证该频率计数器输出最大值6033Hz时,环境湿度为100%。本系统中湿度检测精度为1%。
图3 湿度监测模块
4.光强检测模块
系统采用的光敏电阻为GL5537-1型[5]。由于光敏电阻输出结果不具备线性结构,故用于计量检测会产生很大的不确定性。因此,本系统光强只做大致计量研究,故不考虑余弦漫射的光学入口以及滤色片的选取使用等一系列光学问题。考虑到环境监测系统可能会处于高温高湿环境,系统采用了CdS型光敏电阻,CdS型光敏电阻最显著的特点在于耐湿耐高温。在75%RH的环境中高温状态下,其电阻变化率小于±10%,误差影响较小。在接入采样电路后,光敏电阻由于对环境的变化较为敏感,同时随着环境光强细微的变化,将产生不同的电导率。由于系统最大电压约为5V,且光明电阻是非线性变化元件,故本系统只能通过对当前环境的当前采样点的总体光照强度进行大致电压转换。并不能保证光照强度与电压转换间的准确性。本系统中光强检测精度为1cd。
5.VOC气体检测模块
系统该模块的大致原理为MS1100产生的热效应与室内一定范围的气体进行物理变化[6],从而改变MS1100检测电路的电导率,以便将当前环境中有效范围内的VOC(甲醛、酒精气体等有机挥发物)气体浓度转换为电压值并输出[7]。MS1100的缺陷在于开机后必须预热5分钟,当其检测电路热量趋于稳定时,才可得到一个较精确的模拟数据,同时,由于系统利用的是热效应,故系统在运作后,该模块将产生一定的热量,使用者应需要额外注意。经测量,该模块热量不足以改变环境监测系统中温度检测模块的结果,不会影响系统的准确性。本系统中VOC气体检测精度为1PPm。
6.AD转换模块
系统使用的多种传感器输出信号均为模拟信号,但由于STC-89C54RD+只能处理数字信号,故需要对各传感器输出信号进行AD转换,以便该单片机能够读取并处理所有传感器输出信号。由于室内环境质量指标变化范围不明显,考虑成本因素,故采用ADC0809进行AD转换,如图4所示。ADC0809对时序的要求一般为500KHz[8]。由于本系统采用12MHz晶振的内部时钟方式电路。且单片机正常运作时,只要不进行模块拓展连接,ALE引脚就将一直有输出稳定的正脉冲信号,此时频率为晶振频率的1/6,即2MHZ的正脉冲信号,再经过双D触发器的四分频,正好可以得到500KHz的时序信号,以满足驱动ADC0809所需时序的要求。由于ADC0809是8位AD转换芯片,理论转换精度为1/256。
图4 ADC0809模块
7.声光报警模块
系统采用LCD12864汉字图形点阵液晶显示模块作为主要反馈界面[9],欢迎界面、等待界面、检测界面以及结果界面都主要由其进行提示,且12864是系统中唯一一个全程参与的电路运作模块。此系统中除了LCD12864以外没有其他可以作为提示和辅助监测的设备,因此引入LED和蜂鸣器,在系统运作过程中起提示用户目前系统工作进程的作用。只有在系统处于循环检测的过程中,且系统每当接收到下一个传感器模块的数据时,系统中的LED才会被点亮,以便提醒使用者当前系统即将接受其他传感器的数据。当系统处于两种模式的跳转过程中,蜂鸣器将鸣响一次,以便提醒使用者当前系统即将启动下一个模块。
8.控制模块
系统采用两个独立按键分别进行控制,两个独立按键全部连接单片机的中断系统。当有外部中断0到达单片机时(按下检测键),系统将改变当前等待状态进入检测模式;若没有外部中断1到达时(没有按下回馈建),系统将会进行循环检测。当有外部中断1到达单片机时(按下回馈键),系统将退出检测模式,同时进入结果显示页面。此时若再有外部中断0到达时(按下检测键),系统将退出显示界面,并再次进入检测模式。
该系统通过C51进行程序编写,系统主要由LCD12864提供人机互动。开机启动后,启动界面,当按下检测键后,系统将进入检测界面,直到使用者按下回馈键前,系统将一直循环检测,且在循环检测的过程中,每一轮检测,LED指示灯将闪亮一次,已提醒当前进入下一项指标的检测。反馈界面告诉了使用者当前的环境质量指数是否达标,若达标,提示环境状况良好,若某一项指标不达标,将提示使用者应该注意改善某一项指标,以便环境得到改善。该系统程序框图如图5所示。
图5 系统程序框图
该系统整体分为检测、显示和操作三大模块。检测的精度可以达到日常生活需求,LCD显示也较为详细,通俗易懂。后期配合无线模块可以实现多空间的总体控制监测[10],将具有良好的二次开发前景,也有一定的实际价值。
[1]宏晶科技有限公司.STC89C54系列单片机期间手册[Z].2015,8,12.
[2]苏茜.基于温度传感器AD590的电热锅炉温度控制器[J].仪器仪表用户,2012.
[3]杨新鹏.基于LM75A的多点温度监测系统设计[J].工业仪表与自动化装置,2013.
[4]元器件交易网.HS1101中文资料[Z].https://wenku.baidu.com/ view/65c8f945f7ec4afe04a1df13.html,2002,7,7.
[5]马琳.GL5537-1型CDS光敏电阻.HW/GL5537-1[Z].深圳市海王传感器件有限公司.
[6]MS1100中文资料[Z].https://wenku.baidu.com/view/ e6797ff35fbfc77da269b1c9.html.
[7]尹艳.浅述室内空气中甲醛的危害和预防[J].四川建材,2008,5.
[8]鲁杰爽.基于ADC0809的模数转换设计与调试[J].机电产品开发与创新,2012,1.
[9]深圳市锦昌电子有限公司.12864详细中文资料[Z].https:// wenku.baidu.com/view/ecfe14d9ad51f01dc281f19c.html
[10]邢凯.基于单片机的室内无线环境监测系统设计与应用[D].广西:广西名族大学信息科学与工程学院,2014.