基于单片机技术的智能温室控制系统设计

时间:2011-09-04

  随着社会的进步和工农业生产技术的发展,许多产品对生产和使用环境的要求越来越严,人们对温度、湿度、光强、二氧化碳浓度、灰尘等环境因素的影响越来越重视了。众所周知,光、温度、湿度是农业生产不可缺少的因素,所以本设计将其作为重点数据来处理,而目前市场上普遍存在的温度检测仪器大都是单点测量,而且温度信息传递不及时,达不到要求,不利于农业控制者根据温度变化及时做出决定。而湿度传感器价格昂贵,大多使用进口元件,但事实上,农用要求并不高,现在国产湿度传感器完全可以适用。为此,本文开发设计了一种能够同时测量多点,并实时性高、高,能够综合处理多点温度信息,并能进行光控和湿度控制的测控系统就。

  1 环境参数对植物的影响

  影响植物生长的因素主要有温度、湿度、土壤水分、光照度和CO2浓度等,研究发现温度对植物的影响占40%,湿度占28%,它们对植物的生长起主要作用。因此,本系统主要研究温度和湿度对植物的影响和智能化温室中对环境温湿度的调控。

  1.1 温度对植物的影响

  植物在生命周期中的一切生物化学作用都必须在一定的温度条件下进行,不管湿度、光照、CO2浓度等其他环境条件如何适宜,植物总将在温度降低至某一低温或超过某一高温时停止生长发育。温度对植物的影响主要表现在两个方面:一是发育进程的快慢,包括出叶速度(叶龄)及开花日期等;二是生长量增长的快慢,包括株高、叶面积、节间长度、果实大小等。当然,温度的影响要和光照强度相结合进行分析。当光合产物大于呼吸消耗时,植物体内有机质才会有积累。当温度超过光合适温度后,光合强度减弱而呼吸强度增强,将减少物质的积累,影响植物的生长。

  1.2 湿度对植物的影响

  土壤湿度要与空气相对湿度协调一致才能达到温室湿度的有效控制,湿度调控范围一般在60%RH-80%RH,为士5%.湿度的调控影响温度,要求湿度与温度的调控需按按一定的程序进行。常用的湿度调节方式是加湿和去湿。(1)加湿,一般常用的方法是水喷雾法和蒸汽加湿。水喷雾法采用双位或多位控制来实现;蒸汽加湿则采用电极加湿器或浇蒸加湿器实现。(2)去湿,在温室中去湿常用以下三种方式:加热控制法、吸附法-化学除湿器、排湿换气。在湿度的调节系统中,温室内的加湿和去湿则由温室内的调节部件完成,这些部件有天窗、侧窗、湿帘、风机等。

  研究发现,植物的生长和发育并不取决于某一时刻某个特定温度与湿度,而主要取决于在一个时间段中的平均参数。这就要求控制系统不能设置一个固定的参数值,温室中的温度和湿度在和范围内进行变动,以求在一个较长的时间段内达到理想的生长环境。控制系统根据室外的气候,在使用能耗、利用温室中现有的设备情况下进行动态调节,保持在适宜植物生长的状态。

  2 温室环境参数检测

  2.1 环境温度检测

  控制系统中需要采集温室中多点温度或温室群的温度,本系统采用美国DALLAS公司生产的单线式数字温度传感器DS18B20,其结构简单不需要外接电路,仅用一根I/O数据线传输数据。每只DS18B20有独立的序列号,实现多个DS18B20传感器挂接在一根数据线上分别检测多点温度。

  单片机通过单线接口控制DS18B20温度传感器,检测温度先发启动命令,当DS18B20接收到温度转换命令启动转换,转换完成后的温度值以16位带符号扩展的二进制补码形式存储在高速暂存存储器的高、低字节中;读取数据时低位在前,高位在后,数据格式以0.062 5 ℃/LSB形式表示。暂存存储器的高字节前5位的 "S"为符号位,当S=0时,直接将二进制位转换为十进制数;当S=1时,先将补码变换为原码,再计算十进制值。DS18B20完成温度转换后,把测得的温度值与TH、TL做比较,若T>TH或T<TL,则将该器件内的告警标志置位,并对主机发出告警命令。

  由于DS18B20转换后的代码并不是实际的温度值,所以要进行计算转换。温度高字节中的前5位用来保存温度的正负(标志为S的bit11~bit15),高字节(MS Byte)的后3位和低字节8位来保存温度值(bit0~bit10),其中低字节(LS Byte)的低4位保存温度的小数位(bit0~bit3)。由于要求采用0.062 5的,小数部分的值,可以用后四位代表的实际数值乘以0.062 5,得到真正的温度值,本系统保留一位小数,即检测的温度到0.1度。

  2.2 环境湿度检测

  本系统采用HS1101湿度传感器采集环境的相对湿度,HS1101属于电容式湿度传感器,其工作机理是当基于电极间的感湿材料吸附环境中的水份时,其介电常数随之变化,等效电容与环境中水蒸汽的关系表示为:

  C=ε0×εμ×S/d

  其中ε0是真空介电常数、εμ是感湿材料的介电常数、S是电容式传感器有效面积、d为感湿膜厚度。

  HS1101湿度传感器的线性输出电压与湿度的关系:

  Vo=Vcc(0.00474×%RH+0.2354)

  在环境湿度检测中,既可以利用HS1101湿度传感器的等效电容与湿度的关系,组成振荡器,将湿度与电容的关系转化为湿度与频率的关系,测量频率达到检测湿度的目的;也可以利用HS1101湿度传感器的输出电压与湿度的关系,测量电压实现湿度检测。本系统利用HS1101的等效电容与湿度的关系,测出频率实现湿度的测量。

  3 温室控制系统硬件设计

  智能化温室环境控制系统,要达到对温室内温、湿度等环境参数的检测与控制,系统必须包含三个部分:(1)信号采集输入部分。包括温度、湿度等环境参数的检测;(2)信号转换与处理部分。将采集的信号转换为计算机可以识别的数据量,并由计算机进行相关处理;(3)输出和控制部分。控制喷淋、遮阳、通风、加热等环境参数调节执行系统。

  本系统主要由上、下位机构成,上位机实现人机操作界面的控制,并实时接收下位机上传的环境参数,结合植物生长所需要的环境条件发送相应的控制命令给下位机。下位机主要功能是实现对环境参数采集,同时与上位机进行串行通信,根据上位机的命令对温室内的环境参数进行调节,系统组成框图如图1所示。

  3.1 信号采集单元

  信号采集包括温度采集和湿度采集。DS18B20温度传感器采集温室内的环境温度,并直接转化为数字信号送入单片机进行处理,DS18B20传感器挂在单片机的P0.7口线上;HS1101湿度传感器采集温室内的环境湿度,利用其等效电容的变化与湿度的关系,组成多谐振荡器,单片机检测振荡频率计算出湿度,HS1101传感器组成振荡电路,其输出连接在单片机的P2.X口上,温、湿度检测接口电路如图2所示。

  3.2 控制单元

  本系统采用STC89C54RD+单片机作为下位机内核,它是一种低电压、高性能的CMOS 8位单片机,片内含有16 KB可反复擦写的Flash只读程序存储器和1 280 B的随机存取数据存储器、32个I/O口线、3个16位定时/计数器、一个6向量两级中断结构、一个全双工串行通信口,片内振荡器及时钟电路,指令代码完全兼容传统的MCS-51系列单片机,具有ISP在系统编程功能,利于在线调试和产品开发。温室内的温度通过DS18B20采集送入单片机的P0.7口;湿度转换为频率送入单片机的P2.X口,采集的环境参数交替在显示器上显示。本系统的下位机与上位机之间的串口通信采用符合RS-485电气标准的MAX485芯片,其抗干扰能力强,共模抑制比高,当以100 kb/s的速率传输时,可传送的距离为1.2 km,能实现多点对多点的通信,很好地解决了温室分布零散和集中管理的矛盾,非常适合温室规模扩大时测控系统的扩展,其硬件电路如图3所示。

  3.3 环境控制执行单元

  系统自动检测温室内的温度和湿度,控制执行单元驱动通风机、加热器、喷淋水泵、遮阳幕帘等设备,是智能控制系统的执行者。控制系统启动后检测温室内的温度,当温度低于设定值时,启动加热循环水升温。本系统在植物底部和温室上方安装热水管道进行加温,管道内水温控制在60~80℃,底部加温对植物的健康成长十分有益;上方管道加温使温室加热均匀,有利于植物生长。当温室的温度高于设定值时,开启通风机降温;若湿度低于某设定值时,启动喷雾水泵增湿,反之,启动通风机去湿。

  系统硬件电路如图3所示,单片机的P1口输出控制信号,实现对温室内各环境参数的调节,为避免电机产生的电磁干扰,采用光电耦合器隔离单片机I/O口与驱动电路。

  4 温室控制系统软件设计

  本系统软件采用模块化设计,C语言编写。考虑到温室多参数控制的复杂性,本系统采用优先调节原则,即在温室环境温度、湿度等要素中选择1个作为主要的控制要素,然后再对其他要素进行控制,这样做的目的是减小系统控制复杂度。控制过程中考虑到检测和控制需要经过一段时间的延时,如温室喷雾后的一段时间内,空气水雾影响空气湿度正常检测的问题等。

  软件设计中的程序模块主要包括主程序、温度采集子程序以及显示子程序等。系统主程序流程如图4所示,系统正常运行前首先进行初始化,设定温室内植物生长所需的温度和湿度参数。然后检测温室内的主要参数--温度,调用温度采集子程序,与设定值比较判断并进行相应的处理,若温度合适,再检测其湿度参数。

  温度采集子程序流程图如图5所示,温度采集使用的是一线式数字温度传感器DS18B20,其工作过程严格遵循单总线协议。主机首先发一个复位脉冲,使所有挂在总线上的DS18B20芯片复位,接着发送ROM操作命令启动数据转换并延时等待。工作中系统对DS18B20的操作以ROM命令和存储器命令形式出现,其中ROM操作命令均为8位长,命令代码分别为:读ROM(33H)、匹配ROM(55H)、跳过ROM(CCH)、搜索ROM(F0H)和告警搜索(ECH)命令。存储器操作命令为:写暂存存储器(4EH)、读暂存存储器(BEH)、复制暂存存储器(48H)、温度变换(44H)、重新调出EERAM(B8H)和读电源供电方式(B4H)命令等。单片机采集温度时,需要先发1个保持480 μs~960 μs的低电平复位脉冲,然后释放总线,等待DS18B20的应答信号。DS18B20在接收到复位脉冲后等待15~60 μs发出应答脉冲,应答脉冲保持60~240 μs.单片机从发送完复位脉冲到再次控制总线至少需要等待480 μs才能进行读写操作。

  利用DS18B20温度传感器检测温度,实现单总线挂接多个传感器对多点或多室温度进行检测,但实际应用中单总线上传感器多于8个时,系统程序运行不正常,而线缆过长也造成测温数据错误,在现场布线中使用屏蔽电缆减少环境干扰。

  当今科技发展迅速,单片机嵌入式开发有着光明的前景。由于单片机经济实用、开发简便,因而依然在工业控制、农业自动化、家电智能化等领域占据了广泛的市场。本文介绍的系统设计有一定的实用性,但该系统在设计过程中仍有很多漏洞。还需要在智能化方面加以改进。特别是语音告警、节省功耗,提高稳定度等方面。


  

参考文献:

[1]. DS18B20 datasheet https://www.dzsc.com/datasheet/DS18B20_819975.html.
[2]. HS1101 datasheet https://www.dzsc.com/datasheet/HS1101_385781.html.
[3]. STC89C54RD+ datasheet https://www.dzsc.com/datasheet/STC89C54RD%2b_1132297.html.
[4]. MCS-51 datasheet https://www.dzsc.com/datasheet/MCS-51_477840.html.
[5]. RS-485 datasheet https://www.dzsc.com/datasheet/RS-485_584821.html.
[6]. MAX485 datasheet https://www.dzsc.com/datasheet/MAX485_859396.html.
[7]. ROM datasheet https://www.dzsc.com/datasheet/ROM_1188413.html.


上一篇:在DSP与FPGA基础上的蓝牙数据采集系统设计
下一篇:嵌入式靶场破片测速设计

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料