王 琦,梁铎耀,孙竹梅,武 斌
(1.山西大学自动化系,山西 太原 030013;2 太原市外国语学校,山西 太原 030027)
温度、湿度和光照度对生物的生长繁衍产生巨大的影响[1],人为建立适合生物生长的环境,对反季蔬菜种植[2]、珍稀动植物养殖、跨境花卉种植甚至是生物科学试验等有着重要的意义。温室大棚是对人造环境技术的有效应用。利用自动化技术,通过配置自动检测和控制系统,实现温度、湿度和光照度自动控制,使温室各参数达到设定值,为室内动植物提供最佳生长环境,并消除环境条件对生物生长的制约。
温室自动控制系统是针对温室室内环境条件开发的自动控制系统,一般具有温控、湿控和光控等功能[3]。该系统包括测量单元、控制单元和执行单元三部分。
反映温室状态的关键参数包括温度、湿度和光照度。这三个参数由各自的传感器进行测量。将测得参数与设定的期望值进行比较,若存在偏差,则进行相应控制。控制器输出指令驱动执行机构动作,改变输入温室的热量、水量等能量,使温室的状态参数接近期望值。
实践中,三个被控参数是互相耦合、相互影响的。因此,本文选用简单的解耦方法,即构建温度控制系统、湿度控制系统和光照度控制系统。三个单回路负反馈的子控制系统负责使被控参数与期望值相等。当三个子系统都进入稳定状态时,温室状态就能满足控制要求。温室自动控制系统原理框图如图1所示。
图1 温室自动控制系统原理框图
根据温室及被控参数的实际情况,温室控制系统的控制器可选微控制器或可编程逻辑控制器(programmable logic controller,PLC)等。对于小型温室和区域划分较细的智能温室系统,选用微控制器作为核心控制器[4],通过微控制器实现对执行机构被控参数的连续调节,从而在保证温室参数满足要求的同时,尽可能节电、节水。使用STC89C52RC微控制器进行数据处理和控制,实现对温度、湿度和光照度的精确控制。
STC89C52RC是宏晶公司生产的一种低功耗、高性能的八位微控制器。与AT89C51相比,其具有更大的程序存储空间(8 KB)和数据存储空间(512 B),I/O口多(32个),定时器多(3个16位T0、T1、T2),4路外部中断;可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,指令代码完全兼容传统的8051单片机,实际工作频率可达48 MHz。
温室自动控制的前提是及时、准确地获取各被控参数的实时数值。因此,需要选择恰当的温度、湿度和光照度传感器。
选用DS18B20温度传感器测量温室环境温度。DS18B20是数字化温度传感器,测温范围为-55~+125 ℃。该温度传感器具有以下优点:测温精准,在-10~+85 ℃时精度可达±0.5 ℃;工作速度快,在最高的12位分辨率时,温度数值化转换时间不超过750 ms;引脚少,体积小,仅需一个I/O口就可与微控制器双向通信;通过一个4.7 kΩ的上拉电阻,可使用外部电源或内部寄生电源供电。
由于DS18B20与微控制器通过单线连接,因此发送和接收口必须是三态的。STC89C52控制DS18B20完成转换必须经过三个步骤:初始化、ROM操作指令、存储器操作指令。
根据DS18B20的初始化时序、写时序和读时序,分别编写三个子程序:初始化子程序INIT、命令或数据写子程序WRITE和读数据子程序READ。所有的数据读写均由最低位开始[5]。
使用HIH3610湿度传感器测量温室环境湿度。HIH3610湿度传感器测量范围宽、精度高,线性度好[6],可在40~85 ℃温度范围内实现范围为0%~100%RH的湿度测量。精度可达±2%RH。
使用光照度模块GY-30对温室环境光照度进行测量,测量范围为0~65 535 lx。传感器内置16位A/D转换器,可直接输出数字量,不区分环境光源,测定精度高达1 lx。采用NXP IIC通信协议标准与5 V微控制器的I/O口直接连接。
由于传感器的输出信号形式不同,微控制器在读取温度和光照度时直接读取传感器输出的数字量即可;而读取湿度参数时,则需要进行A/D转换、标度变换等数据处理[7]。
传感器及其管脚连接如图2所示。
图2 传感器及其管脚连接图
选用加热器、雾化喷湿装置、通风机、遮光帘和补光灯等执行机构控制三个被控参数[8]。
温度控制的执行机构为加热器和通风机。当温室温度低于设定温度时,开启加热器;当温室温度达到设定温度时,停止加热。当室内温度高于设定温度的上限时,启动通风机,以通风的方式进行室内外换热,达到降温目的。出于经济性的考虑,为避免加热器和通风机反复启停,设计了0.5 ℃双边控制死区[9]。
光照度控制的执行机构包括遮光帘和补光灯。遮光帘采用可调整角度的百叶窗。在午间光照充分时,通过调整百叶窗的角度合理遮光;在早晚间光照不足时,通过控制照明设备的工作数量,达到补充光照的目的。遮光控制回路包括D/A转换器、电压调理电路、电压/电流转换电路和角行程电动执行器四部分。微控制器根据光照度偏差,由比例积分微分(proportional integral derivative,PID)算法算得百叶窗的角度指令,经DAC0832转换为相应的电压信号。放大器LM358将输出电压调整到0~5 V,再经过电压/电流转换电路,将0~5 V的电压信号转换为角行程电动执行器可接收的4~20 mA信号。角行程执行器调整百叶窗的角度,直至光照度等于设定强度。LED补光灯控制回路由补光灯地址译码电路和补光灯驱动电路构成。由于微控制器的驱动能力有限,补光电路采用光电耦合、继电器驱动的方式。微控制器根据补光需要,将地址译码器74ALS138的部分或全部输出端置低电平,这样光电耦合器OPTOISO1的发光二极管导通,光敏三极管随即导通,继电器上电,闭合LED灯的电源开关,补光灯点亮。
湿度控制的执行机构包括雾化喷水装置和通风机。雾化喷水装置用于增湿,通风机用于除湿。通过喷水阀的开度调节,控制喷水量,达到增加湿度的目的。当湿度超过湿度上限时,开启通风机降低湿度。增湿控制也采用模拟量控制的方法,原理与遮光帘控制相同。
用矩阵式键盘实现参数的设定和显示状态的切换。采用LCD1602显示器实现微控制器对测量数据和设备状态的显示[10]。数模转换器DAC0832用于将数字量形式的控制指令转换为模拟的输出电压值,从而控制驱动电路的输出,最终将执行机构调整到需要的状态。用三极管驱动蜂鸣器,连接微控制器构成报警系统。
温室控制系统流程如图3所示。
图3 系统流程图
由定时器控制程序的进程,按照温度、湿度和光照度的顺序,每2 min对参数进行一次测量和参数处理,并调整执行机构的状态,使被控参数保持在期望值允许范围内。当参数越限时,蜂鸣器报警,同时联锁启动相应的执行机构,使参数向期望值靠近。
光热感应温室自动控制系统的增湿和遮光控制采用模拟量控制的思想,根据测得参数与设定值的偏差进行PID控制运算[11],并根据算得指令调整执行机构,使被控参数等于设定值。这种控制方法与传统的开关量控制相比,有更高的控制精度,且因执行机构的动作连续,在超调量和稳定性方面有较明显的控制优势,有利于延长执行机构的使用寿命。由于系统能够根据用户需要对被控参数的期望值进行设定,具有很强的控制灵活性,可满足多种生物的不同培育环境要求[12]。