花房温湿度光照度控制电路设计.docx
《花房温湿度光照度控制电路设计.docx》由会员分享,可在线阅读,更多相关《花房温湿度光照度控制电路设计.docx(52页珍藏版)》请在冰豆网上搜索。
花房温湿度光照度控制电路设计
2008届本科毕业论文(设计)
论文题目:
花房温湿度、光照度控制电路设计
学生姓名:
所在院系:
机电学院
所学专业:
应用电子技术教育
导师姓名:
赵明富
完成时间:
2008年5月28日
摘要
目前花房的温度、湿度和光照度还是采用人工控制和经验判断,不能及时对花房里的温湿度、光照度实时监控,而且效率低、劳动强度大,造成了人力资源的浪费。
为此,本文设计了一种利用传感器检测和单片机技术而实现花房温室温湿度和光照度控制的电路,详细讨论了电路的硬件设计和软件编程过程。
温度高、光照度大时自动放下遮阳网和开启风机,温度低、光照度小时自动卷起遮阳网和开大暖气阀门,湿度小时自动开启喷淋头,可将花房内的温湿度、光照度控制在设定的范围内,给花卉、苗木提供适宜的温度、湿度和光照,实现了花房温湿度和光照度的自动控制,提高了花房控制的自动化水平。
关键词:
花房,温湿度,光照度,单片机
Thedesignofsomegreenhousetemperature,humidityandlightintensitycontrolcircuitofflowerroom
Abstract
Atpresent,temperature,humidityandlightintensityofsomegreenhousestillrelyonthecontrollingofartificialandjudgingofexperience,whichcannotconductreal-timemonitortothetemperature,humidityandlightintensityofgreenhouse.Moreoverit’sinefficient,labor-intensive,andwasteshumanresources.Therefore,forraisingthelevelofautomationofthetemperatureandhumidityandlightintensitycontrol,thispaperdesignsacircuitofusingdetectionsensorandmicroprocessortechnologytoachieveacontrolofsomegreenhousetemperature,humidityandlightintensity,anddiscussesthecircuitdesignofhardwareandsoftwareprogrammingprocess.Hightemperature,lightautomaticallyturnsdownshadingnetworksandopensfan,low-temperature,luminancehoursshadingautomaticallyrollsupnetworksandopenstheheatingvalves,humidity-hourautomaticallyopenssprayhead,andthetemperaturehumidityandlightintensitycanbecontrolledinsettingthecontextforflowers,seedlingsprovidetheappropriatetemperature,humidityandlight.Itrealizesthecontroloftemperatureandhumidityandlightintensity,andraisestheautomaticlevelofsomeonegreenhousecontrol.
Keywords:
Flowerroom,TemperatureandHumidity,Light,Microprocessor
随着现代社会的发展,科学技术水平的提高。
花房温室的温湿度、光照度技术在当今社会中已逐渐趋于成熟,特别是国外一些发达国家,温室的温湿度、光照度大都实现了自动化检测和控制。
与国外相比,国内的相关技术在研究深度和应用范围、推广规模方面还有一定的差距。
国内大部分地区温室的温湿度、光照度检测和控制依然是通过人工操作,这样不仅不方便而且不能对花房温室里的温湿度进行实时监控,效率低,劳动强度大。
传统的数字控制电路因其电路模块多、工作不稳定、控制复杂等缺点又得不到广泛的应用和推广。
随着单片机技术的发展,以单片机为核心,选择合适的温湿度、光照度传感器,再配以适当外围电路,采用单片机技术控制温室温湿度、光照度已成必然趋势。
本文介绍的就是基于单片机技术对温室温湿度、光照度进行自动检测和控制电路的设计。
1方案论证
本系统主要应用于花房温室温湿度、光照度的监测和控制,经参数调整后也可用在其他场合。
温湿度、光照度控制广泛应用于人们的日常生产和生活中,人们使用温度计、湿度计、流量计来采集温湿度和光照度,通过人工操作加热、加湿、通风通光和降温设备来控制温湿度、光照度,这样不但控制精度低、实时性差,而且操作人员的劳动强度大。
有些用户采用半导体二极管作温度传感器,但由于其互换性差,效果也不理想。
本文提出了用集成温度、湿度传感SHT11数字温湿度传感器、TSL2561光照度传感器作为检测元件,结合单片机,构建温湿度、光照度监控系统的方法该系统可以方便地实现温湿度、光照度的实时控制,从而提高花房控制的自动化水平。
本设计中考虑了以下两种控制方式:
(1)数字电路控制:
电路模块多、工作不稳定、控制复杂等缺点而得不到广泛的应用和推广。
(2)单片机控制:
随着单片机技术的发展,以单片机为核心,选择合适的温湿度、光照度传感器,再配以适当外围电路,采用单片机技术控制温室温湿度、光照度,不仅电路简单、稳定性好,而且控制温室温湿度、光照度精度高,因此采用这种控制方式的优点是明显的。
本设计详细分析了采用单片机控制的硬件电路和软件编程。
2系统总体框图
本系统以AT89C51单片机为核心元件,用SHT11温湿度传感器监测花房温室的温湿度,用TSL2561光照度传感器监测花房温室的光照度。
当花房温室温湿度、光照度在设定的范围内时,电路不动作,当花房温湿度、光照度超出设定的范围时,SHT11温湿度传感器、TSL2561光照度传感器将采集到的温湿度、光照度信号送入AT89C51单片机内,当单片机内程序扫描到这些信号时,就会产生相应的控制信号送入驱动电路,使温湿度、光照度控制电路发生动作,控制相应的硬件设备,使温室温湿度、光照度恢复到设定的范围内。
温度高、光照度大时,采用自动放下遮阳网和开启风机的方式来降低温度,温度低、光照度小时,采用自动卷起遮阳网和开大暖气阀门的方式来升高温度;湿度小时,采用自动开启喷淋头的方式来增大湿度。
断电存储电路可以保存设定的温湿度、光照度数据在断电后不会丢失,提高了电路的可靠性。
系统总体框图如图1所示。
图1系统结构
3系统硬件设计
3.1温湿度检测电路
花房温室温湿度的检测主要是以SHT11数字温湿度传感器为核心元件。
SHT11数字温湿度传感器是瑞士Sensirion公司生产的具有I2C总线接口的单片全校准数字式相对湿度和温度传感器。
该传感器采用独特的CMOSENSTM技术,具有数字式输出、免调试、免标定、免外围电路及全互换的特点。
SHT11数字温湿度传感器检测花房温室的温湿度,将检测到的温湿度信号经模/数转换后通过接口电路送入单片机,当温湿度不在设定的范围时,温湿度程序就会驱动温湿度控制电路控制相应的硬件设备动作。
温度大于50℃、湿度大于设定最大值时,温湿度程序就会驱动温湿度控制电路自动开启风机的方式来降低温湿度,温度小于100C时,程序就会驱动温度控制电路自动开大暖气阀门的方式来升高温度;湿度小于设定最小值时,程序就会驱动温湿度控制电路自动开启喷淋头的方式来增大湿度,从而把花房温室温湿度始终控制在设定的范围内。
(1)SHT11的内部结构如图2所示,主要包括了相对湿度传感器、温度传感器、放大器、14位A/D转换器、校准存储器(E2PROM)、随机存取存储器(RAM)、状态寄存器、循环冗余校验码(CRC)寄存器、二线串行接口、控制单元、加热器及低电压检测电路。
(2)测量原理:
该传感器的测量原理是首先利用两只传感器分别产生相对湿度或温度的信号,然后经过放大,分别送至A/D转换器进行模/数转换、校准和纠错,最后通过二线串行接口将相对湿度或温度的数据送至微控器。
其芯片内部有一个加热器,利用加热器可实现以下三种功能:
①通过比较加热前后测出的相对湿度值及温度值可确定传感器是否正常工作。
②在潮湿环境下使用加热器可避免传感器凝露。
③测量露点时也需要使用加热器。
图2内部框图
(3)湿度值输出:
为了补偿该传感器的非线性特性以获取准确数据,可使用以下公式修正读数:
(1)
其中,SO
—传感器相对湿度的读出数;C1,C2,C3—修正系数,可取值如下:
12位SORH,C1=-4,C2=0.0405,C3=-2.8×10-6;8位SORH,C1=-4,C2=0.648,C3=-7.2×10-4;
举例说明,当环境温度TA=25℃时,将SORH=2000代入
(1)式中计算出补偿后的相对湿度为65.8%RH(此处取12位SORH)。
当TA≠25℃,还需要对相对湿度传感器进行温度补偿,补偿公式为:
(2)
(4)温度值输出:
由于SHT11温度传感器的线性非常好,故可用下列公式将温度数字输出转换成实际温度值:
式中,SOT—传感器温度测量值。
当电源电压为5V,且温度传感器的分辨率为14位时,d1=-40,d2=0.01,当温度传感器的分辨率为12位时,d1=-40,d2=0.04。
(5)露点计算:
空气的露点值可根据相对湿度和温度值来得出,具体的计算公式如下:
式中,EW—饱和水蒸气压强(mmHg)。
SHT11温湿度传感器的优点。
(1)一个传感器包括了两个测量,温度和湿度。
(2)精确露点测量。
(3)满量程校验,互换时不用重新校验。
(4)数字两线制接口(最简单的系统集成,较低的价格)。
(5)超快反映时间。
(6)最优的长期稳定性。
(7)高可靠性(工业CMOS工艺)。
(8)SHT11湿度传感器可侵入水中。
(9)由于是请求式测量,所以低能耗。
(10)具有湿度传感器元件的自测试能力。
(11)对于极高要求的精度和稳定性,传感器元件可以加热。
SHT11传感器共有5条用户命令,具体命令格式见表1所列。
(1)传输开始
初始化传输时,应首先发出“传输开始”命令,该命令可在SCK为高时使DATA由高电平变为低电平,并在下一个SCK为高时将DATA升高。
接下来的命令顺序包含三个地址位(目前只支持“000”)和5个命令位,当DATA脚的ACK位处于低电位时,表示SHT11正确收到命令。
(2)连接复位顺序
如果与SHT11传感器的通讯中断,下列信号顺序会使串口复位:
即当DATA处于高电平时,触发SCK9次以上(含9次),此后应接着发一个“传输开始”命令。
寄存器配置:
SHT11传感器中的一些高级功能是通过状态寄存器来实现的,下面对寄存器相关位的功能说明:
(1)加热
使芯片中的加热开关接通后,传感器温度大约增加5℃,从而使功耗增加至8mA@5V。
加热用途如下:
通过对启动加热器前后的温、湿度进行比较,可以正确地区别传感器的功能;
在相对湿度较高的环境下,传感器可通过加热来避免冷凝。
(2)低电压检测
SHT11工作时可以自行检测VDD电压是否低于2.45V,准确度为±0.1V。
(3)下载校准系数
为了节省能量并提高速度,OTP在每次测量前都要重新下载校准系数,从而使每一次测量节省8.2ms的时间。
表1SHT11传感器命令列表
命 令
编 码
说 明
测量温度
00011
温度测量
测量湿度
00101
湿度测量
读寄存器状态
00111
“读”状态寄存器
写寄存器状态
00110
“写”状态寄存器
软启动
11110
重启芯片,清除状态记录器的错误记录
11毫秒后进入下一个命令
(4)测量分辨率设定
将测量分辨率从14位(温度)和12位(湿度)分别减到12位和8位可应用于高速或低功耗场合。
(1)运行条件
测量量程以外的温度会使湿度信号暂时地偏移+3%。
然后传感器会慢慢返回到校准条件。
若将芯片在湿度小于5%环境下加热24小时到90℃,芯片就会迅速恢复高相对湿度、高温度环境的影响,但是,延长强度条件会加速芯片的老化。
(2)安装注意事项
由于大气的相对湿度与温度的关系比较密切,因此,测量大气温度时的要点是将传感器与大气保持同一温度,如果传感器线路板上有发热元件,SHT11应与热源保持良好的通风,为减少SHT11和PCB之间的热传导,应使铜导线最细并在其中加上窄缝,同时应避免使传感器在强光下曝晒。
传感器在布线时,SCK和DATA信号平行且相互接近,或信号线长于10cm时,均会产生干扰信息,此时应在两组信号之间放置VDD或GND。
3.2光照度检测电路
花房温室光照度的检测主要是以TSL2561数字光照度传感器为核心元件,将检测到的光照度信号经模/数转换后送入单片机内,当光照度不在设定的范围2000-10000lx内时,光照度程序就会驱动光照度控制电路控制相应的硬件设备动作:
光照度大于10000lx时,光照度程序就会驱动光照度控制电路自动放下遮阳网,光照度小时,程序就会驱动光照度控制电路自动卷起遮阳网。
从而把花房温室光照度始终控制在设定的范围内。
TSL2561的内部结构和工作原理:
TSL2561是TAOS公司推出的一种高速、低功耗、宽量程、可编程灵活配置的第二代周围环境光强度数字转换芯片。
其内部结构如图3所示。
图3TSL2561内部结构图
通道0和通道1是两个光敏二极管,其中通道0对可见光和红外线都敏感,而通道1仅对红外线敏感。
积分式A/D转换器对流过光敏二极管的电流进行积分,并转换为数字量,在转换结束后将转换结果存入芯片内部通道0和通道1各自的寄存器中。
当一个积分周期完成之后,积分式A/D转换器将自动开始下一个积分转换过程。
微控制器和TSL2561可通过标准的SMBus(SystemManagementBus)V1.1或V2.0实现,TSL2561则可通过I2C总线协议访问。
对TSL256x的控制是通过对其内部的16个寄存器的读写来实现的[1]。
TSL2561各引脚的功能如图4。
图4TSL2561引脚图
脚1和脚3:
分别是电源引脚和信号地。
其工作电压范围是2.7~4.5V。
脚2:
器件访问地址选择引脚,由于该引脚电平不同,该器件有3个不同的访问地址。
脚4和脚6:
I2C或SMBus总线的时钟信号线和数据线。
脚5:
中断信号输出引脚。
当光强度超过用户编程设置的上或下阈值时,器件会输出一个中断信号[2]。
访问地址与电平的对应关系如表2所列。
TSL2561是TAOS公司推出的一种高速、低功耗、宽量程、可编程灵活配置的光强度数字转换芯片。
该芯片的主要特点如下:
可编程设置许可的光强度上下阈值,当实际光照度超过该阈值时给出中断信号。
数字输出符合标准的SMBus(TSL2560)和I2C(TSL2561)总线协议。
模拟增益和数字输出时间可编程控制。
1.25mm×1.75mm超小封装,在低功耗模式下,功耗仅为0.75mW。
自动抑制50Hz/60Hz的光照波动。
ADDRSEL电平
FC从器件访问地址
SMBus器件地址
GND
0101001
0001100
Float
0111001
0001100
VDD
1001001
0001100
表2访问地址与电平的对应关系
TSL2561可以通过I2C总线访问,所以硬件接口电路非常简单。
如果所选用的微控制器带有I2C总线控制器,则将该总线的时钟线和数据线直接与TSL2561的I2C总线的SCL和SDA分别相连;如果微控制器内部没有上拉电阻,则还需要再用2个上拉电阻接到总线上[3]。
如果微控制器不带I2C总线控制器,则将TSL2561的I2C总线的SCL和SDA与普通I/O口连接即可;但编程时需要模拟I2C总线的时序来访问TSL2561,INT引脚接微控制器的外部中断。
3.3控制芯片的选用
本电路的核心元件控制芯片单片机AT89C51是一个低电压,高性能CMOS八位单片机,片内含4kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元。
AT89C51是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本[4]。
AT89C51具有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。
在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU停止工作。
但RAM,定时器,计数器,串口和中断系统仍在工作。
在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
下面介绍各管脚的功能如图5所示。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高电平,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口。
图5AT89C51引脚图
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用[5]。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
VCC:
供电电压。
GND:
接地。
3.4断电存储电路
通常情况下,花房温室花卉所需的温湿度、光照度是时常变化的,因此需要经常性的设定温湿度、光照度范围、由于单片机的特性,为确保设定的温湿度、光照度数据在断电后能够在下次仍然起到控制作用,就需要断电存储电路[6]。
本电路以掉电存储芯片AT24C02A为核心元件,配以适当的外围器件,与AT89C51的P2.0、P2.1接口相连,当断电时能够保存已设定的数据,起到应有的控制作用。
电路图如图6所示。
AT24C02A支持I2C总线数据传送协议,I2C总线协议规定任何将数据传送到总线的器件作为发送器。
任何从总线接收数据的器件为接收器。
数据传送是由产生串行时钟和所有起始停止信号的主器件控制的,主器件和从器件都可以作为发送器或接收器,但由主器件控制传送数据发送或接收的模式。
通过器件地址输入端A0、A1和A2可以实现将最多8个24WC01和24WC02器件4个242C04器件,2个24WC08器件和1个24WC16器件连接到总线上。
管脚描述:
SCL:
串行时钟,AT24C02A串行时钟输入管脚用于产生器件所有数据发送或接收的时钟,这是一个输入管脚。
SDA:
串行数据/地址,双向串行数据/地址管脚用于器件所有数据的发送或接收,SDA是一个开漏输出管脚,可与其它开漏输出或集电极开路输出进行线或(wire-OR)。
A0、A1、A2:
器件地址输入端,这些输入脚用于多个器件级联时设置器件地址当这些脚悬空时默认值为0。
当使用24WC02时最大可级联8个器件,如果只有一个24WC02被总线寻址,这三个地址输入脚A0、A1、A2可悬空或连接到Vss。
图6断电存储电路
WP:
写保护
如果WP管脚连接到Vcc,所有的内容都被写保护只能读,当WP管脚连接到Vss或悬空,允许器件进行正常的读/写操作。
I
C总线协议定义如下:
①只有在总线空闲时才允许启动数据传送。
②在数据传送过程中当时钟线为高电平时数据线必须保持稳定状态不允许有跳变时钟线为高电平时数据线的任何电平变化将被看作总线的起始或停止信号[7]。
时钟线保持高电平期间数据线电平从高到低的跳变作为I2C总线的起始信号。
时钟线保持高电平期间数据线电平从低到高的跳变作为I2C总线的停止信号。
器件寻址:
主器件通过发送一个起始信号启动发