基于模糊PID 算法的蚕室温湿度自动控制系统研究∗
2022-03-18张卫锋吴志强葛国强李敬涵
张卫锋 吴志强 葛国强 李敬涵
(青岛科技大学机电工程学院 青岛 266061)
1 引言
蚕属于变温动物,环境温度会极大影响其体温[1]。蚕的不同生长时期对室内环境的温度、湿度有特定的要求。在养蚕的过程中,控制好蚕室中温度和湿度,可以提高蚕的成活率与吐丝质量。目前农村中普遍采用烧炉火取暖的这种原始的方法来调控蚕室内温湿度。这种人工调控方法不能够准确地控制蚕室内温湿度,可能会导致桑蚕孵化率和成活率低,幼蚕死亡较多,且会影响蚕的生长状况及蚕丝的品质[2]。针对此问题,本文研究出一种基于模糊PID 算法的温湿度自动控制系统,使蚕室温湿度自动、准确地调控,保证蚕正常地孵化生长。
2 蚕室温湿度自动控制系统总体设计
不同阶段蚕的生长所需温度不同,一般范围在22℃~29℃,所需的相对湿度,小蚕为80%,大蚕为70%。实际中,养蚕室中的环境较为复杂,例如温度,湿度,空气浓度,光强等,这些影响因素往往会相互耦合[3~4]。本文研究的是对蚕室中温度和湿度这两个参数的控制,运用信息融合技术对传感器获得的信息进行融合处理[5]。整个控制系统包括感应模块,控制器模块,执行模块,实际温湿度显示模块。感应模块由多个温湿度传感器组成。控制模块选择单片机STM32F103C8T6。执行模块为加热器和加湿器。控制系统框图如图1所示。
图1 控制系统结构框图
工作原理为多个温湿度传感器收集蚕室中不同空间位置的相关数据,然后进行信息融合处理,得到给定值,通过相应电路输入到模糊PID 控制器中。输入温湿度的偏差e和偏差变化率ec,进行模糊化、模糊推理、解模糊运算,得到输出调整值Δkp、Δki、Δkd,与PID 控制器中设置的初始值进行叠加,得到最佳的参数,输送到单片机中,产生控制信号,使加热器和加湿器生成所需要的温湿度,同时传感器不断将实际信息反馈到控制器,最终实现蚕室系统的温湿度自动调整。下面对信息融合,传统PID 算法以及模糊PID 算法的原理流程逐一介绍。
3 信息融合系统设计
由于蚕室相对较大,所以蚕室中各个区域的温湿度会有差异。因此,必须在蚕室中不同空间位置安装温湿度传感器,这就需要多个传感器来收集数据信息。传感器采集的数据信息较多,故要进行信息融合处理以得到最佳输入值。
本系统选取卡尔曼滤波融合算法,对多个温湿度传感器搜集的温湿度的参数信息进行融合计算。该算法基于权重估计和概率分布相结合,依靠增益误差实现概率估计和参数校准。此算法要对大量数据信息进行统计分析。然后找出规律,再经过不断地递推,得到最优解[6]。该算法流程图如图2所示。
图2 卡尔曼滤波融合算法流程图
卡尔曼滤波融合算法首先设定初始状态,初始值为P(0|0),协方差初始值为P(0|0)。到达k时刻后,得到k时的状态值(k|k-1),以及k-1 时的协方差矩阵P(k|k-1)。之后在时间k更新最优估计X(k|k),并更新卡尔曼增益Kg(k)。最后更新k时刻的协方差矩阵P(k|k)。按照这样的方式进行叠加,就可以找到最佳输入值。之后输入到控制器中。
4 传统PID控制算法
4.1 传统PID控制算法的原理
PID 控制器,是应用较普遍的一种控制器[7~8],其原理简单,易于控制,应用领域广,控制稳定性好,调试和运行方便。其控制原理框图如图3 所示。
图3 PID控制系统原理框图
PID 控制算法要计算系统中设定的目标值r(t)与实际值y(t)的偏差e(t),即:
然后把偏差的比例、积分、微分的相加量,进行输出控制,其数学公式为
此公式可简化为
传递函数为
由以上数学公式中可以看出,PID 控制算法结合了比例、微分、积分三个部分。实际的输出值与系统中设定的目标值存在偏差e(t)时,控制系统会立即输出与偏差e(t)成比例大小的控制信号到执行元件,其目的是减少偏差e(t)直到为零。PID 控制算法的实际控制效果与系数KP,Ti,Td有关。所以合理选择系数至关重要。
4.2 PID控制算法在实际中的应用
在实际应用中,PID 算法又分为位置式和增量式[9]。对于位置式PID 算法来说,较为直观,易变换为实际的应用值,但是其缺点是抗干扰的能力较差,计算量较大。而对于增量式PID 控制算法,算式中不需要累加,内存要求不是很高的控制器上较易实现。且增量式PID 控制抗干扰能力强,控制更为精确[10]。
当系统中的执行元件对位置的绝对值不需要时,而仅仅需要控制量的增量,可以使用增量式。增量式PID 控制,其输出是增量ΔM(n),输入输出关系数学表达式为
式中,Mi是控制系统回路的初始值。
由式(4)经递推可以得到第n-1时的输出值,则:
可简写为
因此,本文研究的蚕室温湿度自动控制系统将使用增量式PID 控制算法。图4为增量式PID 算法的控制流程图。
图4 增量式PID控制算法流程图
通过以上的分析,可以发现PID 控制算法要有很多准确的数学公式,且PID 控制算法的三个重要参数往往不易设置。因此使用该算法可能难以实现精确的控制效果。对于蚕室温湿度控制系统,具有非线性,时变滞后性以及多变量耦合性等特点[11]。如果使用传统PID 控制算法,蚕室温湿度的控制可能会不精确,影响桑蚕的生长。本文研究设计的蚕室温湿度自动控制系统,结合使用模糊控制理论与增量PID 控制算法,形成了模糊PID 控制算法。下面对模糊PID控制算法进行设计。
5 模糊PID控制系统设计
5.1 模糊控制器原理
模糊控制理论依据模糊数学,由模糊集合论、模糊逻辑、模糊语言组成,是一种非线性控制[12]。
模糊控制的一般流程是对采样数据进行模糊化处理,然后利用规则库和数据库进行模糊推理,之后对结果进行解模糊化,最后输出调整参数。相对于经典PID 控制,模糊控制可以没有准确的数学公式。模糊控制鲁棒性好,对复杂系统有良好的适应性。蚕室的环境是一个多变量,时变与滞后的系统,使用模糊控制来控制蚕室内温湿度是合理的。模糊控制示意图如下。
图5 模糊控制器的示意图
5.2 模糊PID控制系统
模糊PID 控制算法就是通过模糊推理的思想,结合了模糊控制与经典PID 两种控制算法,输入误差e和误差的变化率ec[13],调整PID控制器的参数KP,KI,KD。
模糊控制系统设计方法为将输入量进行模糊化,构造模糊规则,进行模糊推理,解模糊化。模糊PID控制原理图如图6所示。
图6 模糊PID控制原理图
本文研究设计的蚕室内温湿度控制系统,把实际温湿度和控制器中设定的目标值的偏差e与偏差变化率ec作为输入,输送到模糊控制器内,然后得到PID 控制器调整后的参数KP,KI,KD。模糊PID 控制器实际分为两个部分,模糊控制器和常规PID 控制器。在模糊控制器内,对输入进行模糊化、模糊推理、解模糊计算,确定参数KP,KI,KD与e、ec的模糊关系。在系统运转的时候,不断检测e和ec,根据不同的e与ec对PID 控制器参数的需求模糊推理出参数的增量ΔKp、ΔKi和ΔKd。之后计算PID 算法中的公式得到最佳输出,送入到单片机中,输出控制信号。系统中常规PID控制器控制加热器和加湿器,并把反馈值送入到输入端,实现整个蚕室中温度与湿度的控制在设定的目标温湿度。
以下是模糊PID控制算法的流程图。
图7 模糊PID控制算法的流程图
6 蚕室温湿度自动控制系统硬件设计
6.1 主控模块
本系统选择STM32F103C8T6 作为主控制部分。STM32F103C8T6 芯片是基于ARM Cortex-M3内核STM32 系列的32 位微控制器[14]。此单片机具有64 KB 的程序存储容量,72MHz 的最高工作频率,供电电压是2.0V~3.6V,采用上电复位、断电复位、可编程电压检测器,16MHz晶体振荡器。
6.2 传感器模块
本系统中的传感器选择DHT11。DHT11 传感器是数字式的温湿度传感器。它能够直接将被测温度的信息转化为串行数字信号传送到单片机[15~16]。该传感器的温度检测范围为20℃~+60℃,检测精度约为2℃。湿度检测的范围是5%~95%RH,精度约为±5RH。检测范围完全满足本设计系统的温湿度检测范围和精度。DHT11 传感器的接口方式是单总线接口,与单片机连接后双方是双向通讯的,不需要任何外围元件,只需与单片机的一个I/O口相连接即可实现信号的传输。DHT11 和单片机连接电路如图8所示。
图8 DHT11和单片机连接电路图
6.3 显示屏幕模块
一个智能控制系统需要人机交互模块。本控制系统采用LCD1602 液晶显示器。蚕室的实际温湿度由传感器采集并送入单片机中存储,再通过LCD1602 点阵屏显示时间、实际温度和湿度。LCD1602引脚示意图如下。其中D0~D7引脚与单片机相连,进行数据传输。
图9 LCD1602引脚示意图
7 控制系统验证和结果分析
为了验证本控制系统的控制效果是否可靠实用,现对蚕室的温湿度控制情况进行实验。选择两个蚕室,在各个区域均匀布置DHT11 温湿度传感器,安装好加热器和加湿器两个执行元件,以及LCD1602 液晶显示器。还要在蚕室内安装上一个摄像头,以观察每段时间间隔内温度、湿度的变化情况。本次实验为对比实验,测试对象是蚕室中的温湿度,分别使用传统PID 控制器系统和模糊PID控制器系统测试蚕室中的温湿度。
桑蚕适于生长的温度范围是22℃~29℃,其中最适合蚕生长的温度是27℃左右;适宜的相对湿度范围为70%~90%。故测试系统中设置温度值为27℃,相对湿度设为80%。系统测试时间为30min,时间段为上午9:00~9:30,初始温度是24.2℃,初始湿度是65%,每隔两分钟记录一次数据。最后将测得的数据绘制成曲线如图10所示。
图10 蚕室内温湿度变化曲线图
结果分析:根据图10 中的温湿度变化曲线,可以看出使用传统PID 控制的系统,温度调控范围是24.2℃~28.3℃,湿度调控范围是65%~85%;使用模糊PID 控制的系统,温度调控范围是24.2℃~27.7℃,湿度调控范围是65%~83%。两组数据经对比可以发现,模糊PID 控制在控制过程中超调量小于传统PID;传统PID 控制因温湿度有耦合性而没有达到稳态,在目标值附近上下振动;模糊PID控制能很快到达稳态,且能维持整体性能,对蚕室中温湿度控制效果较好。
8 结语
本文设计了基于模糊PID 控制的蚕室温湿度控制系统。此系统选择STM32F103C8T6 单片机为主控芯片,多个DHT11 温湿度传感器进行温湿度检测,LCD1602 液晶显示器显示室内温湿度,利用了卡尔曼滤波融合算法将多个传感器输入的信息经行融合处理,得到的结果送入控制器中,使用了把模糊控制与传统PID 控制结合起来的模糊PID控制算法对结果进行处理,最后得到最优解并输出控制信号,控制加热器和加湿器工作。又进行了对比实验,分别测试了传统PID 控制系统和模糊PID控制系统在不同时间的温湿度值,并绘制出变化曲线图进行分析。实验结果显示,模糊PID 控制的系统具有响应速度快,稳定性高的优势,能快速达到稳态,控制精度高,控制效果优于传统PID 控制,能有效控制蚕室中的温湿度,克服人工调控温湿度不精确的缺点,能提高桑蚕的孵化率与成活率,保障其正常生长与吐丝。