花房温湿度控制系统设计Word下载.docx
《花房温湿度控制系统设计Word下载.docx》由会员分享,可在线阅读,更多相关《花房温湿度控制系统设计Word下载.docx(22页珍藏版)》请在冰豆网上搜索。
使用8051型单片机设计温湿度控制系统,可以及时、精确的反映室的温度以及湿度的变化。
完成诸如升温到特定温度、降温到特定温度、在温度上下限围保持恒温等多种控制方式,在湿度控制方面也是如此。
将此系统应用到温室当中无疑为植被的生长提供了更加适宜的环境。
1.3植被栽培技术
植被“设施栽培”,即“保护地栽培”。
它是指在某种类型的保护设施(如阳畦、温室、大棚等),人为地创造适宜植被生长发育的最佳环境条件,在不同季节,尤其是不利于植被生长的季节进行植被栽培的一种措施[1]。
设施栽培是人类利用自然、改造自然的一种创造。
由于设施的条件是可以人为控制的,使得植被调节的周年生产得以实现。
玻璃温室和塑料薄膜温室出现后,植被生产出现了划时代的变化。
现在人们可以根据自己的意愿,随时生产出所需要的各种植被。
可以说,这是“设施栽培”的功劳。
在不利于植被生长的自然环境中,温室能够创造适宜植被生长发育的条件。
温室环境的调节主要包括日光、温度、湿度三个方面。
·
温度:
根据植被生长的适宜温度进行温室温度调节,若低于下限温度则采取升温措施,通常采取电热增温和火力增温等,火力增温比较方便。
若高于上限温度则采取降温措施,通常通过水管降温和风扇降温,风扇降温比较方便。
日光:
遮荫是调节日照强度最好的办法,其具体做法是加盖遮阳网或草席,这种方法兼有降低温度的效果。
湿度:
为满足温室植被对湿度的要求,可以在地上、台阶、盆壁洒水,还可以在空中悬挂湿布,以增加水分的蒸发,最好的办法是设置自动喷雾装置,自动调节湿度[9]。
如果湿度过大,容易导致植被病害,可以采用通风的办法来降低湿度,而且最好在室温与气温相差不大的时候进行。
本系统注重温度和湿度的调节,光照强度没有考虑其中。
1.4本系统主要研究容
本系统所要完成的任务是:
1.4.1人性化的设计。
界限温度值及湿度值能够由用户根据不同植被的各种生长需求由键盘输入并通过显示器显示。
1.4.2能够实时、准确的显示采样温度值与湿度值。
1.4.3通过采集温度及湿度值,准确的判断标准值与当前值之间的差异,及时的启动报警装置(包括警报灯的提示功能以及提示音等)进行报警,并采取相应的方案。
1.4.4能够根据植被在不同时间段对温湿度的不同要求,用户可随机更改温度及湿度值,以满足用户不同的需求。
2、系统总体分析与设计
2.1系统功能及系统的组成和工作原理
2.1.1.总体方案
温度监控:
对温室温度进行测量,并通过升温或降温达到植被的最佳温度。
湿度监控:
对温室湿度进行测量,并通过喷雾或去湿达到植被的最佳湿度。
控制处理:
当温度、湿度越限时报警,并根据报警信号提示采取一定手段控制。
显示:
LCD就地显示输入值和相应的温湿度,数码管摆放在生产现场用于显示当前的温湿度。
2.1.2.实施措施
实际环境温度与给定界限比较,执行加热/制冷措施。
实际环境湿度与给定界限比较,执行加湿/去湿措施。
越限报警:
当温湿度越限时声光报警。
键盘显示:
负责用户的输入及相关数据的显示,其中包括LED和LCD显示。
2.1.3.硬件系统设计
经过上面的总体方案和实施措施的讨论后可以开始着手硬件系统的设计,硬件系统是应用系统的基础、软件系统设计的依据
主机与主要部件的选择:
根据总体功能和性价比及其运行速度等因素的考虑,选用MCS-51系列的89C51为主机,满足上面的要求而且设计方便,不需要再存储扩展。
数据存储片设有128B,外部有8279的256B,而由于存入的数据是随时更新的且不计小数位,存入8个16进制数字,其总共需要的容量只有16B,已经够用。
对外部模拟量(温度、湿度)采样,选用ADC0809能够满足要求。
温室温湿度控制系统是以89C51单片机作为中央控制装置,模数转换器ADC0809,风扇,加热设备,加湿设备,排潮设备,键盘显示芯片等,其功能和原理如下:
89C51作为中央控制装置,负责中心运算和控制,协调系统各个模块的工作。
四路采样温度信号采样简单平均处理,温度保存为整数。
四路采样湿度信号采样简单平均处理,温度保存为整数。
模数转换器ADC0809:
即由模拟信号转换为数字信号。
它共有8个模数转换通道。
模数的转换共有2种方法。
一种是利用INT0中断,当一次转换结束后,ADC0809使INT0产生中断,通知系统转换完毕;
另一种使用延时方法,开始转换后系统延时100微秒等待转换完成。
本方案采用延时转换的方法。
键盘显示芯片:
用8729识别键盘,负责用户的输入及相关的数据的LED显示。
例如选择系统的工作模式,用户输入温度及湿度的界限数据,显示实时的温度及湿度值等等。
风扇:
负责系统的降温工作。
加热设备:
负责系统的加热工作。
喷雾设备:
负责系统的加湿工作。
排潮设备:
负责系统的去湿工作。
双色灯,音效模块:
负责系统的报警功能。
如果当前的温度超过用户设定的界限值时系统将自动报警,双色灯在74LS273的控制下有规律的闪烁,同时音效模块发出报警声,通知用户采取相应的措施。
2.2温湿度采样与控制系统
2.2.1.温湿度采样系统
为了更精确的反映温室的温度和湿度,取温湿度各4路信号采样简单平均处理作为温室的温度和湿度。
在分辨率达到的前提下,温湿度的精度为1%。
2.2.2.温湿度控制系统
首先,系统启动后,提示用户输入温度的上限与下限的温度值。
用户输入之后,系统自动求出中间值,根据实际温度的情况采取相应的方案。
如下图2-2-1所示。
下限温度中间温度上限温度
28----32----36
图2-2-1
如果该时刻的实际温度值低于用户给定的下限温度值时,系统立即启动报警装置,且系统处于升温状态,直到实际温度达到用户输入的上下限温度的中间值一定区间时停止升温。
反之,如果实际温度值高于用户设定的上限值时,系统也会立即启动报警装置,且系统处于降温状态,直到实际温度达到用户输入的上下限温度的中间值一定区间时停止降温。
选择中间值作为控制参数,防止升温——降温——升温的死循环,因为温度低于下限时会一直升温,可能导致温度高于上限系统又开始降温,这样系统便一直重复升温——降温——升温过程,导致设备在某一个温湿度点附近频繁的启停,使设备寿命下降,而且没有实际意义。
选择中间值的一定区间,是防止达到中间值时,采取了停止升温或者降温措施,温度还是会持续上升或下降一会儿,这时候温度可能不是正好在中间值处,系统便还是采取升温或者降温的措施,而此时的温度值可能已经是很适合植被生长的需要的温度值。
所以本方案选在中间值的正负一度区间,认为此区间都是适合的,不产生任何控制动作变化,这样就能解决设备频繁启停问题。
2.3键盘显示系统
键盘显示系统采用8279芯片控制16键的键盘和8个七段数码管,以实现用户的输入与数据输出。
16个键分别是“0”到“F”,对应的键值是0到15不需要键值的转换。
七段数码管采用共阴极,系统中使用的段码如下表2-3-1所示。
显示
1
2
3
4
5
6
7
段码
3FH
06H
5BH
4FH
66H
6DH
7DH
07H
8
9
A
B
C
D
E
F
7FH
6FH
77H
7CH
39H
5EH
79H
71H
表2-3-1
8279初始化时,设定的相关命令字如下:
Z8279EQU08701H;
8279状态/命令口地址
D8279EQU08700H;
8279数据口地址
LEDMODEQU00H;
左边输入八位字符显示
;
外部译码键扫描方式,双键互锁
LEDFEQEQU38H;
扫描速率
LEDCLSEQU0D1H;
清除显示RAM
LEDWR0EQU80H;
设定的将要写入的显示RAM地址
系统的连接图如下图2-3-2所示。
图2-3-2
AD0809与89C51连接图:
2.4报警系统
报警系统由声音报警和警报灯报警组成。
声音报警通过P1.0口接SD口控制系统的音效模块发声,用CPU控制P1.0产生一定频率的方波就可以实现音效模块的发声。
音效模块是一个带有扬声器的放大电路。
如图2-4-1所示。
图2-4-1
2.5硬件电路设计
2.5.1.系统硬件配置
采用总线型结构的设计。
由P0口作数据线,P0口和P2口共同作地址。
2.5.2.主要组件简介
(1)89C51芯片
89C51是Intel公司于80年代初推出的8位嵌入式微控制器(部数据总线为8位,外部数据总线为8位),它与MCS-96系统中的其它芯片相比,具有性能高、功能全、售价低廉、使用方便(48PINDIP)等优点。
89C51在工业应用方面有许多明显的特点,它具有灵活方便的8位总线外围支持器扩展功能,而在数据处理方面又有8位微机的快速功能。
由于大的高度集成化已把许多常驻用的输入检测输出控制通道都制作在同一块硅片上,大灵活了外部连线,增强了系统的稳定性并且速度快(时钟12MHz),非常适合于工业环境下安装使用。
因此本系统CPU选用89C51芯片。
89C51单片机引脚采用40双列直插式封装结构。
89C51系统CPU中的主要组件有:
高速寄存器阵列、特殊功能寄存器(SFR)、寄存器控制器和算术逻辑单元(RALU)。
它与外部通讯是通过特殊功能寄存器SFR或存储器,控制器进行的。
8051系统的CPU的主要特色是体积小,重量轻,抗干扰能力强,售价低,使用方便。
此外,通过SFR还可以直接控制I/O、A/D、PWM、串行口等部件的有效运行。
CPU部的一个控制单元和两条总线寄存器阵列和EALU连接起来。
这两条总线是:
16位地址总线(A-BUS)和8位数据总线(D-BUS)。
数据总线仅在RALU与寄存器阵列或SFR之间传送数据,地址总线用作上述数据传送的地址总线或用作与寄存器控制器连接的多路复用地址/数据总线[7]。
CPU对片RAM访问是直接访问和通过寄存器R0,R1间接访问的。
89C51工作时所需的时钟可通过其XTALL输入引脚由外部输入,也可采用芯片部的振荡器。
其工作频率为6~12MHz。
在本系统中采用11.0592MHz频率。
(2)74LS273地址锁存器
74LS273是带有三态缓冲输出的8D锁存器74LS273;
D7~D0:
三态门输入端。
Q7~Q0:
三态门输出端。
GND:
接地端。
Vcc:
电源端。
OE:
三态门使能端。
G(STB):
8D锁存器控制端。
(3)8279可编程键盘/显示器接口芯片
8279使Intel公司为8位微处理器设计的通用键盘/显示器接口芯片,其功能主要体现在二个方面:
接收来自键盘的输入数据并作预处理;
数据显示的管理和数据显示器的控制。
单片机采用8279管理键盘和显示器,可减少软件程序,减轻负担,且显示稳定,程序简单。
8279的引脚功能(采用40线双列直插式封装):
DB0~DB7:
双向外部数据总线。
用于传送8279与CPU之间的命令、数据和状态。
CS:
片选信号线,低电平有效。
A0:
区分信息的特征位。
当A0位置1时,CPU写入8279的信息位命令,CPU从8279读出的信息为8279的状态;
当A0为0时,I/O信息都为数据。
RD,WR:
读和写选通信号线,均为低电平有效。
IRQ:
中断请求输出线,高电平有效。
RL7~RL0:
键盘回送线,平时为高电平,只有当某一键闭合时,其中一条线才变低。
SL7~SL0:
扫描输出线,用于对键盘和显示器进行扫描。
OUTB3~OUTB0OUTA3~OUTA0:
显示段输出线。
BD:
显示熄灭控制线,低电平有效。
RESET:
复位输入线,高电平有效。
SHIFT,CNTL/STB:
控制输入线,由部拉高电阴拉成高电平,也可由外部控制按键拉成低电平。
CLK:
外部时钟输入线,其信号由外部振荡器提供。
Vcc,GND:
分别为+5V电源和地。
(4)七段LED显示器
LED是单片机应用系统中一种常见的输出设备,通常使用的是七段显示。
这种显示块有共阴极与共阳极两种。
[4]
以共阴极为例:
显示个位“4”
a送0
d,e送0
b,c,f,g则送1
gnd送0
则立刻显示4。
它由8个发光二极管(7段和一个小数点)构成,可用来显示0~9,A、B、C、D、E、F、G(小数点)。
在数码管中,若把各二极管的阴极连在一起称为共阴极数码管;
若把各二极管的阴极连接在一起称为共阴极数码管;
若把各二极管的阳极连接在一起,则称为共阳极数码管。
在本系统中采用共阴极数码管。
(5)ADC0809芯片[3]
ADC0809是28脚双列直插式封装。
8位数字量输出引脚。
IN0~IN7:
8路模拟量输入引脚。
+5V工作电压。
地。
(6)LCD显示
引脚功能[7]:
D0~D7双向数据总线。
LCD数据读写方式可以分为8位和4位两种,以8位数据进行读写操作则D0~D7都有效,若以4位方式进行读写操作,则只用到D4~D7
RS:
寄存器选择控制位。
当RS=0时,并且做写入的动作时,可以写入指令寄存器,若RS=0,且做读取操作时,可以读取忙标准及地址记数器的容。
若RS=1,责用于读取数据寄存器[7]。
R/W:
LCD读写控制线。
R/W=0时,LCD执行写入操作,R/W=1时,LCD执行读取操作。
EN:
启动控制线。
高电平有效。
VCC:
VO:
亮度调整电压输入控制器。
当输入0V时字符显示最亮。
接地。
3、软件系统设计
系统各组成模块
本系统通过温度传感器DS18B20采集温度,HM1500LF采集湿度,经过含有单片机的检测系统的进一步分析处理,通过通信线路将信息上行到PC机,在PC机上可对温湿度信号进行任何分析、处理。
用户可以通过下位机中的键盘输入温湿度的上下限值和预置值,也可以通过上位机进行输入,从而实现上位机对大棚作物生长的远程控制。
如果环境的实时参数超越上下限值,系统自动启动执行机构调节大棚温度和湿度状态,直到温湿度状态处于上下限值为止。
如果有预置初值,且与当前状态不相等时,系统也会启动执行机构实时动态调节温湿度状态,直到所处的平衡状态与预置值相等为止。
上位机即PC机使用DELPHI软件编写的一个数据库管理系统,可直接设置温度的上下限值和读取下位机的数据,并对下位机的控制设备进行操作,调节大棚温湿度状态。
形成作物生长的走势图,从而通过生长走势图得出适合各种作物生长的最佳环境参数条件,为今后的温室种植提供参考。
上下位机之间通过符合串行总线RS232标准的通信通道以事先约定的协议进行通信。
系统原理图如图所示。
3.1系统初始化模块
系统初始化模块的主要功能是完成系统的初始化以及设定系统的工作状态,初始化部分包括以下方面的容:
3.1.1系统启动后,显示器上显示两行,第一行为“WELCOMETOTHESYSTEM”,
第二行显示为“STARTWORK”
3.1.2等待用户输入温度及湿度值。
按“B”键表示开始输入,这时可按温度下限、上限,湿度下限、上限的顺序依次输入,如果输入的顺序错可按“B”键可重新进行输入,直到输入正确;
输入完毕后按“C”键确定。
3.1.3系统进入正常工作状态。
系统整体的工作方式如下框图所示
图3-1-1
初始化程序部分的流程图如下图3-1-2所示。
图3-1-2
3.2键盘显示模块
本系统中使用8279芯片完成有关键盘输入和温湿度显示工作。
温度湿度是依次输入的并且依次以下限、上限输入,并且将温湿度的中间数值存入单片机中,在将LED清零后显示(分别在0123位),并依次显示实时的温度湿度数值(显示在4567位)
实际上,在系统初始化的过程中,除了初始化键盘和显示器之外,其中还包括着调用8279键盘显示模块,8279键盘显示模块部分的基本流程如下图3-2-1所示。
图3-2-1
其中显示键值的程序流程图如下:
图3-2-1
3.3采样转换模块
本模块主要采用DS18B20采集温度,HM1500LF采集湿度,由单片机AT89S52作总的控制并显示与传输。
具体原理图如图所示。
采样转换模块是本系统中的核心模块之一,它负责完成温度和湿的测量及模拟量转换为数字量的全过程,这也是它为什么重要的原因。
系统每次转换前ADC0809的IN0~IN7送个任意数,表示开始转换,结果是一个数字量,将其转化为#BCD码,。
送显示程序显示,并将数值返回给主函数。
湿度也可以通过此种方法观察变化,得出相应的结论。
为了更精确的反映系统的温度和湿度,本系统对四路采样信号作简单平均处理,并将处理后的数值作为温室的温湿度,其过程如下图。
图3-3-1
实时温湿度显示和温湿度中间数值显示便于我们实时比较和掌握系统工作状况,实时的温度湿度不在要求的区间则进行升温降温处理。
图3-3-2
3.4
温湿度控制模块
温湿度判断控制模块也是系统的核心模块之一,所谓判断控制模块,就是对用户输入的温度和湿度与当前温室的实际温湿度进行比较,先进行判断,然后再进行控制,控制模块是决定系统将要进行什么工作的。
如温度高于上限时需要降温,低于下限时需要升温,同时还要启动警报等等。
温度判断控制部分的程序整体思路如下如所示:
图3-4-1
上面已经讨论了采取中间值作为控制参数,采取中间值一定区间作为控制区间的原因,那么按照(2.2)的思想,控制程序流程图如下:
图3-4-2
湿度判断控制部分与温度判断控制部分的功能及流程是相同的,便不再赘述了。
3.5报警模块
报警模块具备两项功能,即为报警灯和声音报警。
报警灯模块是完成LED有规律的闪烁,以便从视觉上提醒用户。
LED是由74LS273控制4个双色LED灯组成的,其闪烁规律为:
1向74LS273发送的数据0F0H,则双色LED灯发绿光。
2向74LS273发送的数据0FH,则双色LED灯发红光。
3向74LS273发送的数据0FFH,则双色LED灯熄灭。
向74LS273交替发送0F0H、0FFH,或0FH、0FFH,以实现LED灯红/灭交替或绿/灭交替,这时我们就看到了闪烁的效果。
在LED灯闪烁的同时,声音报警也会同时启动,可采用延时的方式来延长声音报警的声音。
警报灯由4个双色的LED灯组成,一共需要8根数据线,使用74LS273芯片控制。
要实现的功能是使4个双色LED灯有规律的闪烁,当用户输入温度的上下限值后,系统进行实时的采样,并判断出当前温度与用户输入温度之间的差异,如果当前温度低于用户输入的下限温度值,则说明当前温度过低,系统自动启动警报灯,此时警报灯发出绿光并进行有规律的闪烁,同时开始加温,直至加到所需温度值时警报灯熄灭。
反之,如果当前温度高于用户输入的上限温度值,则说明当前温度过高,系统也会自动启动警报灯,但此时警报灯会发出红光并进行有规律的闪烁,同时开始降温,直至降到所需温度值时警报灯熄灭。
图3-5-1
4硬件调试方案
4.1硬件电路的调试
此部分的任务是在系统连接好后,调试各个组件能否正常工作,能否实现软件设计的预期目标。
其步骤如下:
4.1.1按照系统设计,将系统需要的各个组件连接好。
4.1.2根据实验说明书,了解各个组件的工作原理,开始着手调试芯片。
4.1.3调试8279芯片。
按照说明书调用8279.ASM汇编程序,运行,观察现象。
现象正确,说明8279芯片正常,可以使用。
4.1.4调试ADC0809芯片。
按照说明书调用CON_W.ASM汇编程序,运行,观察现象。
现象正确,说明ADC0809芯片正常,可以使用。
4.1.5调试直流电机,按照说明书调用直流电机相应的汇编程序,运行,观察现象。
现象正确,说明直流电机正常,可以使用。
4.2功能模块的调试方案
把各个功能模块编写成单独的源文件进行调试,调试成功以后,再将各部分联合在一起。
整个系统的编写、调试是从8279开始的。
控制8279原理虽然简单,但需要细节却很多,如选择显示寄存器与送段码的顺序,8279的初始化等待时间等。
用户温度输入数据时上限、下限分别在七段数码管的0、1、2、3位置显示,湿度输入数据时上限、下限分别在七段数码管的4、5、6、7位置显示。
读键存储的过程是循环程序。
可循环等待直到用户输入正确并确认为止。
采样转换模块是一个比较重要的模块,在调试的阶