基于STM32的智能温室模糊控制器的设计
2013-03-20闻晶孟文徐正平
闻晶,孟文,徐正平
(西南交通大学机械工程学院,四川成都610031)
随着科学技术的迅速发展,现代化农业得到了长足的进步,温室工程已成为高效农业的重要组成部分。目前,西方发达国家可以根据作物的要求和特点对温室内光照、温度、湿度等诸多因子进行自动控制。而在我国温室控制中,普遍控制能力低、自动化程度落后、抵御自然灾害能力差。在温室因素控制方面,我国的温室控制系统还停留在单因子控制阶段。模糊控制是一种解决复杂非线性系统、难以建立数学模型系统以及不确定内部扰动的多输入多输出系统的控制问题的新方法。作为智能领域中最具有实际意义的一种控制方法,已经在很多行业中解决了传统控制方法无法或者是难以解决的问题,取得了令人瞩目的成效。将模糊控制技术应用到温室控制中,可消除温度、湿度等环境因子的耦合度,使作物始终生长在适宜的环境中。
1 系统总体设计
1.1 系统总体结构
该温室控制系统以STM32 作为控制器,采用nRF24L01 无线模块传输数据,可工作在自动和手动两种工作状态。当工作在自动状态时,不需人工干预,可自动调节温室环境;当工作在手动状态时,需要用户控制装置的运行状态。该系统主要由三部分组成,即采集端、处理端和PC端。系统总体结构如图1所示。
图1 系统总体结构
1.2 系统控制过程
采集端主要负责采集数据、传输数据、接收上位机指令并控制相应装置。为了提高可靠性,减轻CPU负荷,采用CPLD控制传感器的启停和通道的切换。
处理端主要作为采集端和PC端通信的桥梁,同时在温室环境不适宜时声光报警,提醒用户进行相应操作。当处理端接收到采集端发送过来的数据,通过RS232 上传给PC机。当用户通过PC机下发指令时,处理端将数据传送给采集端。PC端主要用来监控温室的环境因素,并下发控制指令。监控软件采用VC6.0 编写,可在自动与手动两种状态中切换。该软件可以曲线的形式显示环境因子的运行状态,并可将相关数据保存。
2 算法设计
2.1 概述
传统的温室控制中,采用单因子控制方法,温度、湿度等环境因子之间相互耦合。当温度低而加热时,水分蒸发而增加温室内湿度。当温度高而制冷时,经过制冷器的气流湿度下降使整个温室湿度下降。同样,当加湿或除湿也会改变温室中的温度。温室的这种特点可以将其认为一个大滞后强耦合的控制系统。采用传统的PID控制对纯滞后参数时变的控制系统不理想,也解决不了温、湿度的强耦合问题。而模糊控制器不依赖系统数学模型,具有很强的鲁棒性,很适合温室环境的控制。采用模糊解耦的方法可以解决温、湿度的耦合问题。
2.2 模糊控制系统结构
该模糊控制系统是一个多输入、多输出的控制系统。输入变量有温、湿度偏差及其变化率,输出变量为温、湿度实际控制量。此处,将偏差量设为实际值与设定值之差。当偏差为正时,温室内实际温、湿度高于设定值,此时应降温或去湿;同理,当偏差为负时,应加热或加湿。系统的核心部分是模糊推理部分,包括模糊化、模糊推理和解模糊三个部分。为了消除环境因子之间的耦合,可根据模糊输出结果对另外的环境因子进行补偿。模糊控制系统结构如图2所示。
图2 模糊控制系统结构
2.3 模糊控制器的设计
2.3.1 输入变量的模糊化
模糊控制器选用双输入、单输出控制方式。分别记温度偏差和湿度偏差为ET、EH,温度变化率和湿度变化率为ECT、ECH。对于温度控制,在±1℃内为模糊控制区,超出这个范围则为确定控制区。在模糊控制区,由模糊控制器调节温室环境。在确定控制区,系统强制加热或制冷。对于湿度控制,相对湿度在±5%以内为模糊控制区。在模糊控制区,将温、湿度偏差都划分为7个模糊子状态,分别为:PL(正大)、PM (正中)、PS (正小)、Z (零)、NS(负小)、NM (负中)、NL (负大)。将温度变化率和湿度变化率划分为5个模糊子状态,即PL (正大)、PS (正小)、Z (零)、NS (负小)、NL (负大)。取温度偏差及其变化率论域为(-1,1),湿度偏差及其变化率论域为(-5,5)。隶属度函数采用三角函数,各模糊子状态对应如图3、4所示。
图3 温度偏差(℃)
图4 湿度偏差(%)
图5 温度变化率(℃/s)
图6 湿度变化率(% /s)
记温度输出控制为UT,湿度输出控制为UH。同样将其划分为7个模糊子状态,取UT论域为(-1,1),UH论域为(-5,5),其隶属度函数和图3、图4相同。
2.3.2 模糊控制规则及模糊解耦
确定模糊控制规则的原则是:系统输出响应的动静态特性达到最佳。当偏差较大时,选择控制量应尽快消除偏差;当偏差较小时,以系统稳定为主,此时应防止超调。根据系统的输入/输出特性,以消除温度偏差为控制目标,可制定如表1所示的控制规则。
表1 模糊控制规则表
由模糊控制规则可以得出模糊控制器语言规则的输入输出关系,其关系是一个非线形的关系曲面。对于所有的ECT、ET可计算出UT,然后使用面积重心法可得到相应的控制量。
采用同样的方法可以得到湿度模糊控制输出表。
2.3.3 模糊补偿规则
根据日常生活经验,制冷、除湿分别对湿度和温度影响较大,补偿也应较大。而加热、除湿对湿度、温度影响较小,故补偿也应较小。根据以上经验可得出如表2、表3所示模糊补偿规则。
表2 湿度补偿
表3 温度补偿
实际控制时需将模糊补偿结果和模糊控制器输出结果相加,将该结果制成表,存储在控制器中。然后,根据变量偏差和偏差变化查表就可得到相应控制量。
3 系统仿真
通过MATLAB的Simulink 工具箱进行仿真。以黄瓜为例,在育苗期需保持温室温度为13~15℃,湿度白天保持在70%~75%。设定温度T=14℃,湿度H=75%为控制目标。假设温室内环境温度为13.5℃,环境湿度为72%。此时,温室度都在模糊控制区内,模糊控制器可自行调节温室环境。根据上述模糊控制器,可建立如图7所示的模糊控制系统模型。
图7 模糊控制系统Simulink仿真模型
为了更直观地反映控制效果,现将模糊控制与传统PID 进行比较。由于温、湿度模型相近,此处只将温室环境中温度因子进行比较。由于温室具有大滞后性和非线形的特点,选择温室温度模型为三阶惯性纯延迟环节,取传递函数为:
使用常规PID控制方法,在MATLAB 中建立如图8所示的仿真模型。
图8 温室温度常规PID Simulink仿真模型
仿真结果如图9所示。
图9 仿真结果
4 结论
由仿真结果可以看出:采用模糊控制方法超调量小、响应快;而采用传统PID控制方法,超调量大、响应周期长。由于模糊控制方法的强鲁棒性和自适应性,很适合应用于很难建立模型的对象上。采用模糊补偿的方法,就可以很好地解决环境因子的耦合问题。
【1】钟应善,杨家强,邓劲莲.温室温度和湿度的多变量模糊控制技术[J].农业机械学报,2001,32(3):75-78.
【2】彭勇刚,韦巍.人工气候箱温湿度模糊控制[J].农业工程学报,2006,22(8):166-169.
【3】李伟,段翠芳,滑伟娟.温室监控系统在国内外的发展现状与趋势[J].中国果菜,2010,8(8):7-9.
【4】焦哲勇.基于ARM+CPLD的农业温室温度实时控制系统的研究[D].武汉:华中农业大学,2008.
【5】夏国宏.求解模糊控制表的方法[J].机电工程技术,2006,35(10):64-66.
【6】周李涌,高丽丽,高鹭.论模糊控制器中量化因子和比例因子的作用[J].内蒙古科技与经济,2004(19):61-62.
【7】张文娟,周伦,何礼冬.铝杆连铸连轧机结晶器液位模糊控制方法的研究[J].机床与液压,2011,39(3):50-52.
【8】KOVACIC Zdenko,BOGDAN Stjepan.模糊控制器设计理论与应用[M].胡玉玲,张立权,刘艳军,等,译.北京:机械工业出版社,2010:294-337.
【9】张英梅,傅仕杰.STM32的智能温室控制系统[J].软件,2010(12):14-18.
【10】陈永.基于STM32F103C8的输电线路微气象远程无线监测系统[D].南京:南京信息工程大学,2010.
【11】周柱.基于STM32的智能小车的研究[D].成都:西南交通大学,2011.
【12】李宁.基于MDK的STM32处理器应用开发[M].北京:北京航空航天大学出版社,2008:304-327.
【13】曹圆圆.基于STM32的温度测量系统[J].仪器仪表与分析监测,2010(1):16-18.