基于模糊PID控制的主动造波系统研究与应用
2021-06-23任万龙华志励郝宗睿
张 浩,任万龙,华志励,刘 刚,郝宗睿*
1.齐鲁工业大学(山东省科学院) 海洋仪器仪表研究所,青岛 266100 2.山东省海洋仪器仪表科技中心,青岛 266100
造波在海洋工程模拟实验中占有重要的地位。一些模拟实验要求在有限的区域内尽可能真实地反映波浪环境[1-2]。最初的造波机控制方式为直流电机控制连杆机构驱动造波,但只能造规则波[3]。从上世纪七十年代开始采用电液模拟量伺服控制方式,美国的斯蒂文森水池可对规则波和不规则波进行模拟[4]。目前造波机的控制技术主要是交流伺服电机控制方式,该方式具有控制精度高,响应速度快的特点[2],上海交通大学的冲箱式造波机就是采用交流伺服电机加丝杠方式进行的造波。
在造波过程中波浪不可避免的会产生二次反射,对实验结果的准确性和可靠性造成影响[5]。为了消除反射波的影响,国内外专家学者提出了各种主动造波的理论。1990年,日本的Hironmaru[6]推导出吸收式造波理论,通过浪高仪实时反映的波高,在造波板原有位移上附加一个位移,使水槽中的二次反射波被完全吸收。1995年,Peter和Morten[7]根据两个浪高仪测得的波高采用数值滤波的方法分离出实时的反射波浪。然而这些吸收造波算法从水动力学模型出发,理论推导复杂。2007年徐旭[8]把PID算法运用到交流伺服控制的造波系统中,该算法控制简单,适用性强,但是它的系数在实际控制中需要不断的试验和修改,无法找到最理想的造波效果[4]。
本文以推板式造波为基础,对规则波进行研究和试验。造波控制是在PID控制算法的基础上利用模糊规则和推理确定控制器参数,通过目标波高与实际波高的误差计算得到实时的推板运动参数。与固定参数的PID控制器相比,该方法具有更好的控制性能。
1 模糊PID造波控制系统
根据推板式造波理论可知,所需的波浪浪高由推板的速度和位移决定,波长由往复运动的频率决定[4]。而推板的运动是通过PLC控制伺服电机驱动完成。PLC控制伺服驱动器输出的脉冲数决定推板的位移,输出的频率决定了推板的频率。为提高造波的精度,在控制的基础上加入PID闭环反馈。造波控制的反馈关键是浪高仪测量的实际波高值与期望值相比较,PID算法用这个偏差来纠正系统的响应,执行调节控制。然而PID控制器的参数一旦设定,不会自动调整、改变,无法满足系统是动态变化的特性。本文中采用模糊算法对PID的参数进行自动调整。
1.1 模糊PID造波系统硬件控制
推板式造波机工作方式为:首先工控机给PLC下达造波指令,PLC通过波高和频率计算出需要伺服驱动器发出的脉冲数和脉冲频率,然后伺服电机驱动推波板往返运动。浪高仪实时监测的波高值与期望值比较,得出偏差e(t)。PID算法对偏差的比例kp、积分ki、微分kd进行线性组合构成控制量,控制变量变化,使得偏差趋于零。但是PID参数整定的局限性,可由模糊控制策略对参数变化的适应性来打破[9]。基于模糊PID算法的造波控制系统结构如图1所示。
图1 基于模糊PID的造波控制系统结构图
1.2 模糊PID控制理论
模糊PID控制算法描述如下:
(1)
其中,ec(k)为当前偏差和上次偏差的变化,其他同前。
接下来对PID控制器的三个参数模糊化,公式如下:
kp=kp0+Δkp,
(2)
ki=ki0+Δki,
(3)
kd=kd0+Δkd,
(4)
其中,kp0,ki0,kd0为事先给定PID的参数初始值;Δkp,Δki,Δkd为PID参数的变化量。
然后,e(k),ec(k)作为输入量,Δkp,Δki,Δkd作为输出量,组成模糊控制器,它们的模糊论域均为[-3,3],模糊子集为:
E,EC,kp,ki,kd={-3,-2,-1,0,1,2,3}
={NB,NM,NS,ZO,PS,PM,PB}
(5)
对所有模糊化变量的隶属度函数全部采用三角形函数。E,EC的输入隶属度函数和Δkp,Δki,Δkd的输出隶属度函数如图2和图3所示。
图2 输入值E和EC的隶属度函数
图3 输出变化值Δkp,Δki,Δkd的隶属度函数
在PID控制器中,kp代表比例系数,反映的是偏差信号,用与减少偏差;ki是积分系数,主要用于消除静态误差,提高系统的准确度;kd是微分系数,反映偏差信号的变化速率,用于加快系统的动作速度,减少调节时间[10]。考虑到这三个参数对整个系统输出响应的影响,我们根据以往的控制经验,可以得到输出变化量Δkp,Δki,Δkd的模糊规则如表1所示。此时我们可以根据模糊规则表去找出输出值所对应的隶属度[11]。
表1 Δkp,Δki,Δkd模糊规则表
2 推板造波实现
推板式造波机的下位机主要有台达PLC和伺服系统组成。人机界面采用的是台达HMI,通信简单,具有多重功能,功能强大,灵活性强。
2.1 上位机界面设计
造波界面主要由凑谱界面、控制界面、数据采集和波形分析四部分组成。凑谱界面是根据要求输入的波高、周期、水深等参数,计算出波浪控制数据;控制界面主要是控制造波机启停,故障检测,实时显示伺服电机参数,如图4所示。数据采集是利用浪高仪实时采集波高、频率等数据;数据分析是对采集回来的数据进行特征值和峰谷计算[2]。
图4 造波控制界面
2.2 造波实验
图5展示了水槽规则波造波实物图。水槽的长、宽、高为200 cm×20 cm×50 cm,浪高仪实时采集波浪数据。多次实验证明在水深为26 cm的水槽中可生成波高从1.20 cm至9.68 cm,周期从0.50 s至1.25 s变化的规则波波形。
图5 造波水槽规则波实验
图6和图7分别是规则波实验中浪高仪采集的波浪数据,水深均为26 cm,采样间隔为10 ms,从数据中可求取出波浪的平均峰谷值、平均周期、有效值等。其中图6平均波高为9.00 cm,周期为0.98 s;图7平均波高为4.90 cm,周期为0.69 s。可以看出两次实验的波形均为规则波,波形较好。
图6 波高9.00 cm,周期0.98 s的规则波波形
图7 波高4.90 cm,周期0.69 s的规则波波形
3 控制算法波形分析
为了验证规则波主动造波控制算法的控制效果,用matlab软件分别对基于fuzzy PID和PID规则波主动造波进行数据分析。
图8和图9分别是波高为4.90 cm,周期为0.69 s和波高为9.20 cm,周期为1.00 s时进行的基于fuzzy PID和PID两种主动造波算法的波形比较。基于PID的主动造波算法要经多次实验不断修改PID参数,才能达到实验效果,最终把PID系数分别设置为kp=12,ki=7,kd=0.005。而fuzzy PID利用模糊规则自动调节控制器参数,能够快速满足响应需求。从图8和图9中可以看出,在刚开始造波阶段,基于fuzzy PID的主动造波算法与PID算法相比,波形更早呈规律性变化;当波形稳定后,基于fuzzy PID算法的波形比基于PID算法的波形更加平稳,也更接近标准规则波。因此基于fuzzy PID的造波算法稳定性更强,也具有更好的控制性能。
图8 基于fuzzy PID和PID的主动造波比较1
图9 基于fuzzy PID和PID的主动造波比较2
4 结束语
本文针对推板式规则波造波过程中二次反射波的影响,在PLC伺服控制的基础上,又加入了模糊PID控制算法,构成闭环系统。通过对规则波的试验和波形分析可知基于模糊PID的造波算法比单纯的基于PID造波算法更早满足响应要求,波形稳定性更好,控制效果更好,鲁棒性更强。因此模糊PID控制算法满足了系统动态变化特性,更好地达到主动造波的目的。然而对非规则波的研究还处于初步实验阶段,在以后的工作中,仍需要大量的实验对基于模糊PID的非规则波造波算法进行验证。