基于单片机的大棚温湿度控制系统设计

2012-11-12 02:27郭荣艳
周口师范学院学报 2012年5期
关键词:低电平电路设计温湿度

郭荣艳,胡 翔

(周口师范学院 物理与电子工程系,河南 周口 466001)

温湿度是和人们生活环境有着密切关系的物理量,也是生产、生活、科研中需要测量和控制的重要物理量.温湿度的变化会给人们的生活、工作、生产等带来重大影响,因此对温湿度的测量和控制至关重要.在现代化的蔬菜大棚管理中通常需要温湿度自动控制系统,以控制蔬菜大棚的温度及湿度,来满足生产需要.温湿度控制系统以先进的技术和设施,人为地控制作物生长的环境条件,使作物的生长不受自然气候的影响.

1 温湿度控制系统方案论证

1.1 方案的选择与评定

温湿度控制系统由单片机处理模块、温湿度采集模块、键盘设置模块、显示模块、及控制执行模块等组成.

方案一:由于涉及温湿度两个物理量的测控,可采用一个温度传感器和一个湿度传感器分别对温湿度进行测量.在元器件的选择上,可选取DS18B20数字式温度传感器和HS1101湿敏电容作为信号的采集传感器.由湿度传感器HS1101采集湿度数据,然后经ADC0809对所采集的湿度进行模数转换,并将转换后的数据和DS18B20所采集的温度数据在单片机里进行存储和处理,然后送显示模块进行显示[1].

方案二:采用瑞士Sensirion公司推出的新型数字式温湿度传感器SHT71作为温湿度检测元件.数字式温湿度传感器SHT71除了集成温度、湿度敏感元件,还包括一个放大器、A/D转换器和数字接口,可以同时采集温度、湿度数据.单片机对SHT71检测数据进行存储和处理,然后送液晶显示模块进行显示,并发出信号对温度控制电路进行控制.

综上分析,由于方案一使用的是模拟式湿度传感器,在和单片机进行连接时需要经过A/D转换,这就造成硬件电路设计和软件电路设计都较方案二繁琐,而且方案一测量的精度不能完全达到温湿度控制系统的要求.因此采用方案二,整个系统由单片机、温湿度传感器SHT71、液晶显示和温度控制电路组成.

1.2 系统的基本工作原理

温湿度控制系统工作原理如下:SHT71测量外界温湿度,测量数据送入单片机,由单片机对数据进行处理,送LCD液晶屏显示,并分析判断是否超出设定界限.如果超出设定界限,由单片机输出数字控制量控制电机的工作,从而实现了对温湿度的控制.

1.3 器件的选取

系统的单片机采用美国ATMEL公司生产的高性能CMOS 8位单片机AT89C52.单片机内含8KBytes只读存储器(ROM)和256Bytes的随机存取数据存储器(RAM).器件采用ATMEL公司的高密度兼容标准MCS-52指令系统,内置通用8位中央处理器(CPU)和Flash存储单元,功能强大,性价比高,可灵活应用于各种控制领域[2].

温湿度传感器选用高度集成的温湿度传感器芯片SHT71,包括一个电容性聚合体湿度敏感元件和一个用能隙材料制成的温度敏感元件.这两个敏感元件与一个14位的A/D转换器以及一个串行接口电路设计在同一个芯片上面.温湿度传感器SHT71品质卓越、响应超快、抗干扰能力强.湿度敏感元件在极为精确的湿度腔室中进行标定,以镜面冷凝式湿度计为参考.标准系数以程序形式储存在OTP内存中,在标定的过程中使用.两线制的串行接口与内部的电压调整,使得外围系统集成变得快速而简单.

液晶显示电路选用图形液晶显示器LCD12864,它主要有行驱动器、列驱动器及128×64全点阵液晶组成,可以完成图形显示,也可显示8×4个(16×16点阵)汉字.利用该模块灵活的接口方式和简单、方便的操作指令,可以构成全中文人机交互图形界面.

2 硬件电路设计

2.1 AT89C52时钟振荡电路及复位电路设计

时钟振荡电路及复位电路如图1所示.

时钟振荡电路采用内部时钟电路,单片机内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入和输出端.单片机的这个放大器与作为反馈元件的片外晶振一起构成稳定的自激振荡器,发出的脉冲直接送入内部的时钟电路.

复位电路采用上电复位.上电复位是利用电容充放电来实现的,只要VCC的上升时间不超过1 ms,振荡器建立时间不超过10ms,这个时间常数足以保证完成复位操作.

2.2 SHT71与AT89C52接口电路设计

SHT71通过二线数字串行接口来访问,所以硬件接口非常简单,但需要注意的是DATA数据线要外接上拉电阻.时钟线SCK用于和微处理器之间的通讯,由于接口包含了完全静态逻辑,所以对 SCK最低频率没有要求[3].SHT71 与AT89C52接口电路设计如图2所示.

2.3 LCD12864与AT89C52接口电路设计

LCD12864的数据线DB0~DB7与单片机的P0口相连.由于P0口作为通用I/O口时,输出级是开漏电路,当它驱动负载时,需要外接上拉电阻才有高电平输出,所以在LCD12864数据线和P0口相连时要接一个排阻.LCD12864的CS1,CS2,RS,DI,E引脚可以和单片机其他的I/O口相连.LCD12864与AT89C52接口电路设计如图3所示.

2.4 电机与AT89C52接口电路设计

电机控制部分与单片机的一个I/O口相连,由PNP三极管实现电平转换,继电器实现弱电控制强电的功能.当这个I/O口是高电平时,由瞬间极性判别法可知PNP的集电极为低电平,所以此时继电器的常开触点不会闭合;反之,若这个I/O口变为低电平时,继电器常开触点会闭合,电机电路导通,电机开始工作.电机与AT89C52接口电路如图4所示.

2.5 按键与AT89C52接口电路设计

温度上下限设置电路由一个开关和一个按键组成,开关接AT89C52的外部中断0,按键接AT89C52的一个I/O口,当开关闭合时,引起外部中断0,执行外部中断0程序,通过按键来改变温度设定值.按键与AT89C52接口电路如图5所示.

3 软件电路设计

3.1 系统总体设计流程

本设计采用SHT71分辨率12位的相对湿度和12位的温度测量,先发送温度测量命令,再发送湿度测量命令,然后通过单片机对所测数据进行处理,再在LCD12864上实时显示;用软件查询的方式比较所测温度与设定的TH和TL的关系,从而判断是否超限;如果所测温度超出设定值时,开始启动电机调节温度,直到温度变为设定区域内[4].系统流程如图6所示.

3.2 SHT71的操作方法

1)发送命令.在程序开始时,用一组“启动传输”时序表示数据传输的初始化.它包括:当SCK时钟高电平时,DATA翻转为低电平,随后是在SCK时钟低电平时DATA翻转为高电平.后续命令包含3个地址位和5个命令位.SHT71会以下述方式表示已正确地接收到指令:在第8个SCK时钟的下降沿之后,将DATA数据总线下拉为低电平;在第9个SCK时钟的下降沿之后,释放DATA[5].

2)测量时序.发布一组测量命令(0x05表示相对湿度RH,0x03表示温度T),紧接着控制器需要等待测量结束.这个过程大约210ms,分别对应14位测量.SHT71通过下拉DATA至低电平,表示测量结束.接着传输2个字节的测量数据和1个字节的CRC奇偶校验.单片机需要通过下拉DATA为低电平,确认每个字节,所有的数据从MSB开始.用CRC数据的确认位,表示通讯结束.如果不使用CRC校验,控制器可以在测量LSB后,通过保持确认位ACK高电平,来中止通讯.在测量和通讯结束后,SHT71自动转入休眠模式.

3.3 湿度补偿计算方法

SHT71可以通过DATA数据总线直接输出数字量湿度值.该湿度称作相对湿度,需要进行线性补偿和温度补偿后才能得到较为精准的湿度值.线性补偿公式如公式(1)所示.

式中RH1为经过线性补偿后的湿度值,SO为相对湿度测量值,C1,C2,C3为线性补偿系数(精度为12位时,C1=-4,C2=0.405,C3=-2.8×10-6).

由于温度对湿度的影响十分明显,而实际温度和测试参考温度25度有所不同,所以对线性补偿后的湿度再进行温度补偿很有必要.温度补偿公式如公式(2)所示.

式中RH为经过线性补偿和温度补偿后的湿度值,T为测试温度,t1和t2为温度补偿系数(t1=0.01,t2=0.000 08).

3.4 露点计算

露点是一个特殊的温度值,是空气保持在某一定湿度必须达到的最低温度.当空气中的温度低于露点时,空气容纳不了过多的水分,这些水分会变成雾、霜等.露点可根据当前相对湿度和温度计算得出,具体计算公式如公式(3)和(4)所示[6].

式中T为当前温度,SO为相对湿度测量值,D为露点.

4 仿真与调试

本温湿度控制系统的程序编写使用的是C51语言,编程软件是Keilu Vision 4,硬件仿真是在Protues 7.7软件中进行.

4.1 仿真结果与分析

温湿度控制系统仿真图如图7和图8所示.

本温湿度控制系统采用SHT71数字式温湿度传感器对温湿度进行实时监测,在仿真中可通过更改SHT71上的加减按钮来仿真外界的变化情况,还可变化温度模式和湿度模式.用LCD12864液晶显示屏显示温度、湿度数据.液晶显示屏的第一行显示“周口师范学院”,第三行显示湿度的数值,第四行显示温度的数值.因为对湿度进行了线性补偿和温度补偿,所以湿度显示数值和测量数值有些小的出入.在对温度进行调节时,可以看到当温度变化时,会引起湿度数值的变化.

图7 温湿度控制系统仿真1

本温湿度控制系统中设置的温度上下限分别为27℃,36℃.当温度的值增加并大于36℃时,电机1开始启动,来调节温度;同理,当温度小于27℃时,电机2开始工作.

图8 温湿度控制系统仿真2

4.2 按键功能仿真结果

在本温湿度控制系统中,采用一个开关和一个按键来完成温度上下限的设定.当开关闭合时,执行中断服务子程序,此时液晶屏上第一行显示“周口师范学院”,第三行显示高温设置数值,第四行显示低温设置数值.设置完成后,断开开关.

调节温度按钮,此时测量值是和重新设定值相比较而不是原来的设定值.温度上下限设置仿真如图9所示.

图9 温度上下限设置仿真2

5 结束语

本设计对温湿度传感器SHT71的工作原理及其技术指标进行了深入分析,提出了一种基于单片机和SHT71的温湿度控制系统,克服了传统湿度传感器在技术方面、精度方面的局限性,避免了一些其他传感器可能出现的误差和失误,同时大大简化了软硬件的设计,使系统结构较为紧凑,实现了温湿度同时测量的功能.

[1]张勃,屈保中.电容式湿度传感器设计[J].传感器技术,2004(9):57-58.

[2]李刚民.单片机原理及实用技术[M].北京:高等教育出版社,2005:18-27.

[3]张敏.基于单片机的多通道温湿度检测[J].机电产品开发与创新,2008(2):144-145.

[4]金伟正.温湿度检测控制系统的研制[J].电子与自动化,2000(2):25-27.

[5]李群林.基于多传感器的温湿度检测系统[J].中国仪器仪表,2006(11):38-40.

[6]张馨,乔晓军,刘恩,等.高精度便携式温湿度露点测量仪[J].仪表技术与传感器,2006(3):9-11.

猜你喜欢
低电平电路设计温湿度
基于AT89C51的数字型蚕用温湿度计的设计
基于Multisim的单管共射放大电路设计与仿真分析
一种车用醉驾检测电路设计
一种实用的电脑接口判断方法
Altium Designer在电路设计中的应用
负反馈放大电路设计
2017款凯迪拉克2.8L/3.0L/3.2L/3.6L车型低电平参考电压总线电路图
基于温湿度控制的天气预测装置
基于DSP和μcos的温湿度检测系统的设计
PLC在计算机空调机房温湿度控制中的应用