0 弁言
温湿度是主要的环境参数[1-3],特殊是对付实验室环境,温湿度须要涌如今许多的检测报告中。而目前实验室常用的是湿度计和温度表,基本事理是采打水银温度湿度计进行检测,缺陷是在须要记录数据的时候要先读取干系数据,非常未便利;同时还无法实现温湿度的实时丈量。
目前运用较为广泛的温湿度传感器紧张是热电偶[4-5]、热电阻[6-8]及湿度等仿照传感器,该类型的传感器输出为仿照旗子暗记。为了能够丈量该数据须要进行模数转换,在利用过程中较为繁琐。而数字温湿度传感器将温湿度信息直接用数字量输出,能够直接输出给丈量系统,因此数字式温湿度传感器在温湿度监测中运用更为方便[9]。

为此,拟以本钱较低的AT89S52单片机为掌握芯片[10]、以低功耗的新型数字式SHT21作为丈量温度、湿度的传感器[11]和FYD12864液晶模块[12],开拓用于实验室的温湿度显示及报警系统。
1 掌握系统总体构造
全体掌握系统包括传感器、微处理器、显示模块和电源模块,如图1所示。个中,传感器为SHT21温湿度传感器,该传感器除了配有电容式相对湿度传感器和能隙温度传感器外,还包含一个放大器、A/D转换器、OTP内存和数字处理单元,能够非常方便地丈量温度和湿度旗子暗记[9];ECU是全体掌握系统的核心,选用ATMEL公司的8位单片机AT89S52,能够接管输入旗子暗记和输出掌握旗子暗记,同时还包含与上位机的接口,用于程序下载和数据通信;显示模块采取FYD12864液晶模块,用于显示温度和湿度值;报警模块采取蜂鸣器,如果当前温度或者湿度大于设定值就会发出报警;通信模块用于与采集系统进行通信,该通信采取串口通信,用于把温湿度信息通报给采集系统。
2 掌握系统硬件设计
2.1 温湿度旗子暗记处理
温湿度传感器SHT21的管脚定义如表1所示,该传感器的供电范围为2.1~3.6 V,推举电压为3.0 V,为了担保传感器的正常运行,在电源(VDD)和接地(VSS)之间须连接一个0.1 μF的电容,且电容的位置应尽可能靠近传感器。SCL用于微处理器与传感器之间的通信同步,SDA引脚用于传感器的数据输入和输出,当向传感器发送命令时,SDA在串行时钟(SCL)的上升沿有效,在SCL低落沿之后,SDA值可被改变;当从传感器读取数据时,SDA在SCL变低往后有效,且坚持到下一个SCL的低落沿。为避免旗子暗记冲突,常日在SDA端口须要一个外部的上拉电阻(如10 kΩ)将旗子暗记提拉至高电平。
在本电路图中,VSS接地,VDD接电源+3 V,NC保持不连接,SDA接单片机P1.6口,SCL接单片机P1.7口,并接两个上拉电阻R3,R4,其大小都为10 kΩ,在VDD与VSS之间接一个0.1 μF的去耦电容,其连接电路图如图2所示。
2.2 报警电路
蜂鸣器是一种一体化构造的电子讯响器,采取直流电压供电,广泛运用于各种电子产品中作为发声器件。而在单片机运用的设计上,大部分都会利用蜂鸣器来作提示或报警,为此本设计中也采取蜂鸣器作为报警提示。蜂鸣器驱动电路一样平常都包含以下几个部分:一个三极管、一个蜂鸣器、一个续流二极管和一个电源滤波电容。本设计采取如图3所示的电路驱动蜂鸣器,R5阻值为2 kΩ,蜂鸣器驱动电路与单片机的P3.3口连接;蜂鸣器的额电流小于即是30 mA,对付AT89S51单片机来说,P3.3口的灌电流是15 mA,很明显可以看出仅仅依赖P3.3口的电流是驱动不了该蜂鸣器的,这就须要利用晶体管放大电路,以是本设计选用PNP型晶体管。
当外部的温度或者湿度超过设定的阈值时,基极变为低电平,蜂鸣器导通发出报警。
2.3 显示电路
本设计中所采取的FYD12864液晶显示模块是128×64点阵型液晶显示模块,可显示各种字符及图形,具有8位标准数据总线、6条掌握线及电源线。为了能够实现对该模块的掌握,采取P0和P2口掌握,由于51单片机P0口没有内部上拉电阻,为此须要外部增加上拉电阻,本设计增加的外部上拉电阻为10 kΩ;对付FYD12864液晶显示模块来说,第三引脚VO是比拟度电位引脚,本设计中采取10 kΩ的可变电阻来实现比拟电压的调度,如图4所示。
2.4 通信模块
由于单片机输出是TTL电平,而PC输出是-12 V~ +12 V电平,以是须要一个MAX232串口通信模块芯片构成电平转换电路,实现通信时电平旗子暗记的匹配,其连接电路如图5所示,个中C1-和C2-表示连接点,分别连接电容的一端。
2.5 电源模块
本设计中的大部分电路都需用5 V的电压,而温湿度传感器须要用3 V电压,为了能够同时知足两者的需求,本设计采取三端稳压集成电路LM7805。其电路图如图6所示,在输出5 V电压的根本上,通过增加3个1N4007使输出的电压变为2.9 V,能够为温湿度传感器供电。
2.6 单片机最小系统
单片机最小系统由单片机、复位电路和时钟电路构成,如图7所示。所选用的8位单片机AT89C52具有8 KB的可编程Flash、256 B的RAM、32个I/O口、5个中断源、2个16位定时器,完备知足掌握需求;复位电路采取上电复位办法;时钟电路晶振11.059 2 MHz,完备知足系统的哀求。
3 掌握系统软件设计
3.1主程序流程图
主程序紧张完成硬件的初始化、子程序的调用等功能。在主程序中,首先进行SHT21和FYD12864的初始化,然后调用温湿度采集子程序,接着调用温湿度处理子程序,读取成功后,将读取成功的温湿度数据与所设定的数据比较较,如果超过所设定的温湿度数据,蜂鸣器导通鸣叫,起到报警浸染,如果没有超过所设定的温湿度数据,就会直接在FYD12864显示器上显示出来。之后判断是否须要向上位机通报数据,如果须要通报则调用相应的子程序;如果不须要则重复采集温度和湿度数值,进行循环。其流程图如图8所示。
3.2 串口通信
为便于后续数据的剖析及处理,编写了串口通信程序,利用RS232串口,将单片机采集到的数据上传到上位机。
上位机和下位机通信分为上位机串口初始化和下位机串口初始化,个中上位机串口初始化程序如下:
Private Sub Form_Load
MSComm1.CommPort=1//利用Com1口
MSComm1.Settings=\"大众9600,n,8,1\"大众
//设置通信参数,波特率9 600,无校验位,发送8位,1个停滞位
′MSComm1.PortOpen=True//开串口
End Sub
下位机串口初始化程序如下:
/串口初始化函数/
void Serial_Init(void)//串口通信初始设定
{
SCON=0x50;//UART为模式1,8位数据,许可吸收
TMOD=0x20;//定时器1为模式2,8位自动重装
PCON=0x00;//波特率9 600
TH1=0xfd; //定时器赋初值
TL1=0xfd;
TR1=1;//启动定时器TH1
ES=1;//许可串口中断
EA=1;//开中断总开关
}
在实际工程中,下位机根据上位机发送的不同数据要求分别发送相应的数据,下位机数据发送程序如下:
/串口吸收中断函数/
void Serial_Recieve_Inter interrupt 4 using 3
{
if(RI)
{
RI=0;
if(SBUF==0) //收到发送温度数据要求
{
AT24C64_RD(0xa1,AT24C64_Inter_Address_Read_Temp);
AT24C64_Inter_Address_Read_Temp++;
//读温度地址加1
SBUF=Temp_Val;//向串口发送温度数据
while(TI==0);//等待发送,直到8位数据发送完毕
TI=0; //TI清零
}
if(SBUF==1) //收到发送湿度数据要求
{
AT24C64_RD(0xa3,AT24C64_Inter_Address_Read_Pres);
AT24C64_Inter_Address_Read_Pres++;//读湿度地址加1
if(SBUF==3) //收到发送操作数据要求
AT24C64_Inter_Address_Read_Pres++;//读操作地址加1
SBUF=Proc_Val;//向串口发送操作数据
while(TI==0);//等待发送,直到8位数据发送完毕
TI=0;//TI清零
上位机界面采取VB6.0编写,添加其自带的MSComm控件,可以很方便地实现串口通信。上位机采集到的数据以.text格式存储,便于其他软件的调用剖析。
4 实物图
为了对所设计的温湿度监控系统进行测试,利用普通万用板进行制作,其实物如图9所示。此时,显示模块、单片机最小系统和串口通信模块分开布局,便于各自调试。
经由实际调试,该系统可以正常显示温湿度数据,同时也可以利用自编的上位机程序读取干系数据。
5 结论
本文先容了实验室温湿度丈量系统的设计过程,分别从掌握系统的总体构造、硬件系统和软件系统进行了先容,并且利用万用板实现了该系统。该系统构造大略、运用方便,对付实验室温湿度检测有着积极浸染。
参考文献
[1] 范满红,马胜前,陈彦,等.基于多传感器数据领悟的温湿度监测系统[J].压电与声光,2012,34(3):459-462,465.
[2] 钟晓伟,宋蛰存.基于单片机的实验室温湿度掌握系统设计[J].林业机器与木工设备,2010,38(1):39-42.
[3] 刘明波,顾夏华,周琳琦.基于FPGA的远程温湿度监测系统设计与实现[J].打算机丈量与掌握,2011,19(11):2619-2622.
[4] 刘庆赟,焦斌亮,刘永富.仓库温湿度监测与nRF905无线传输系统的设计[J].传感器与微系统,2011,30(5):101-103.
[5] 刘希明.热电偶线性温度丈量装置[J].仪器仪表学报,2007(S1):53-59.
[6] 许卓,杨雷,何志伟.多通道热电阻精密丈量中温度漂移的补偿法[J].化工自动化及仪表,2011,38(8):32-36.
[7] 才智,范长胜,杨冬霞.PT100铂热电阻温度丈量系统的设计[J].当代电子技能,2008,31(20):172-174,177.
[8] 谭长森.基于PT100型铂热电阻的测温装置设计[J].工矿自动化,2012,38(3):89-91.
[9] 刘洋,金太东.基于CAN总线的智能型温湿度采集系统设计[J].当代电子技能,2010,33(1):126-128.
[10] 迟钦河,赵仲生,乔桂芳,等.89C51单片机在多通道数据采集系统中的运用[J].自动化仪表,2000,21(6):33-35,39.
[11] 鲍爱达,张庆志,郭涛,等.基于FPGA和SHT21传感器的温湿度丈量系统的设计[J].打算机丈量与掌握,2012,20(11):2885-2887.
[12] 范春辉,何广平.DAC7714和中文液晶模块与单片机的接口设计[J].电测与仪表,2005,42(12):62-64,61.