邹志军, 迟长春
(上海电机学院 电气学院, 上海201306)
由于PID控制简单、方便,目前工业界在简单的控制系统中还是使用传统的PID控制。但是无刷直流电动机(Brushless Direct Current Motor,BLDCM)是一个复杂的控制对象,而且根据应用场合的不同,控制的要求也不同。传统PID 控制的控制参数都在程序中固定设置,不能根据工作环境要求自动调整,控制性能有待提高。因此,对BLDCM 控制系统的调速性能进行研究有一定的现实意义。
为了实现BLDCM 调速参数的自整定,很多学者研究了基于现代智能控制算法的PID控制。文献[1]针对汽车空调用BLDCM,对比了基于模糊控制单闭环和双闭环PID方案;文献[2]采用了自调节模糊PID控制;文献[3]实现了一种基于深度学习神经网络的模糊PID控制器。但是要确定模糊控制算法中模糊子集和隶属度函数都存在一定困难,BP神经网络的学习速度很慢,在一定程度上影响系统的上升时间;混合算法虽然优化了其中某个算法的优点,但同时不可避免引入新算法的缺点[4-7]。
本文利用惯性权重和Levy飞行优化了蝙蝠算法全局搜索过程中的位置更新方式和速度更新方式,且用蝙蝠算法优化了传统PID 控制。利用Matlab/Simulink建立了BLDCM 仿真模型,仿真电动机的速度从0 r/min升至1 000 r/min,再升为3 000 r/min调速过程。仿真结果显示基于蝙蝠优化算法的PID控制方法有效降低了电动机调速过程中的超调量,从而缩短了上升时间。
在分析BLDCM 的工作原理时需要做以下假设[8-10]:定子三相绕组相差在空间上对称分布;铁心处于非饱和状态;忽略磁滞效应、电枢效应和齿槽效应,不计涡流损耗。因此,可以得到化简后三相绕组的电压平衡方程为
式中:Ua、Ub、Uc为三相绕组电压;ia,ib,ic为三相绕组电流;ea,eb,ec为三相定子绕组相反电动势;R为单相绕组电阻;L为单相绕组自感;M为绕组间互感。
图1为BLDCM 换相电路和本体的数学模型。其中,U为直流电源,Q1~Q6为MOS管。
图1 换相电路与电动机本体数学模型
BLDCM 的反电动势方程、电磁转矩方程和机械转矩方程分别为
式中:Ke为反电动势系数;ω为角速度;Pe为电磁功率;Te为电磁转矩;TL为负载转矩;J为转动惯量;BV为阻尼系数。
蝙蝠算法是通过模拟蝙蝠利用回声定位来捕捉猎物[11]。蝙蝠觅食过程中发出超声的声波频率fri(t)、响度A i(t)和脉冲发射速度r i(t),并在飞行过程中不断更新3个参数,蝙蝠算法的搜索过程如下[12-13]:
(1) 初始化。在搜索空间内定义N只虚拟的蝙蝠,在第t次迭代时,第i只蝙蝠所包含的所有信息表示为[x i(t),v i(t),fri(t),A i(t),r i(t)],其中,x i(t)为第i只蝙蝠在第t次迭代的位置信息,v i(t)为第i只蝙蝠在第t次迭代的速度信息。
(2) 全局搜索。在t+1次迭代时,蝙蝠在飞行时不断更新自己的位置和飞行速度以及一个随机产生的声波频率,更新方式如下:
式中:r1为[0,1]的随机向量;frmax和frmin为声波频率上限和下限;p k(t)为前t次迭代中的蝙蝠种群里历史飞行的最优位置。
(3) 局部搜索。在全局搜索得到的最优解的周围随机产生一个位置解,检验此解是否比当前解更优,当r2>r i(t)时,搜索方式为
式中:ε为一个符合均匀分布规律的随机向量;为所有蝙蝠在t时刻的平均响度。
(4) 最优选择。综合比较全局搜索和局部搜索的所有蝙蝠在迭代完之后的结果。当r3<A i(t),且目标函数的第t+1次迭代值小于第t次迭代值,即当r3<A i(t),且F(x′i(t+1)<F(x i(t))时,选择蝙蝠最优位置:
计算出蝙蝠声波响度和脉冲发射频率为
式中:α为响度;γ为脉冲发射速率增加系数。
(1) 标准蝙蝠算法在全局搜索过程当中,第i只蝙蝠的速度在t+1次迭代时主要由上一次的飞行速度和位置决定,此处引入惯性权重ω,以优化蝙蝠算法的速度更新公式,避免全局搜索和局部搜索不平衡问题。引入权重系数的蝙蝠速度更新公式为
式中:ωmax和ωmin分别为惯性权重的上下限,本文取上限为1.1,下限为0.4。
(2) 在蝙蝠算法中加入Levy飞行能够扩大算法的搜索空间,避免蝙蝠算法在迭代中过早陷入局部最优。引入Levy飞行的全局位置搜索方式为
蝙蝠优化算法在全局搜索中,速度更新方式采用式(12),位置更新方式采用式(14),其余步骤与标准蝙蝠算法步骤相同。
将BLDCM PID控制中的3个调节参数看作优化目标,将蝙蝠算法输出设置为三维,把蝙蝠算法在虚拟空间上的位置寻优过程转化为3个参数的优化过程[14]。将BLDCM 的实际转速与给定转速的误差送入蝙蝠算法,算法输出新的控制参数对速度环进行控制,结合传统PID 控制框图得出基于蝙蝠算法的控制系统框图如图3所示。
图3 基于蝙蝠算法的BLDCM PID控制框图
设置传递函数
作为研究对象[15],分析其在基于蝙蝠优化算法的PID控制和基于遗传算法PID控制的响应。将输入设置为单位阶跃信号,采样时间设置为1 ms,优化目标函数设置为
式中:|e(t)|为误差绝对值;ey(t)为控制对象的输出;w i(i=1,2,3,4)为权值;tr为上升时间。
另外,还需要初始化遗传算法和蝙蝠算法的参数,两种算法的初始化参数设置如表1、表2所示。
表1 遗传算法初始化参数
表2 蝙蝠算法初始化参数
基于遗传算法的PID 控制参数优化结果为:KP=19.074 8,KI=0.231 3,KD=0.008 9,目标函数值J=24.282 3;基于蝙蝠优化算法的PID控制参数优化结果为:KP=18.625 3,KI=0.234 7,KD=0.176 9,目标函数值J=24.086 2。
传递函数在两种PID控制算法下的阶跃响应过程如图4所示,目标函数优化过程如图5所示。
图4 两种控制算法的阶跃响应
由图4可知,基于蝙蝠优化算法的PID 控制比基于遗传算法的PID 控制的上升时间更短,即阶跃响应更迅速。由图5可知,基于蝙蝠优化算法的PID控制的目标函数值比基于遗传算法的PID的目标函数值更小,综合来说基于蝙蝠优化算法的PID的控制效果更优。
在Matlab/Simulink中利用工具箱中模块搭建了BLDCM 的传统PID控制模型。电源选择直流电压源,电压大小设置为18 V;逆变器选择三相全桥逆变器;开关管设置为MOSFET管。BLDCM 仿真参数如下:反电动势波形为120°平顶波,定子单相电阻为0.56Ω,定子单相电感为0.39μH,转动惯量为5.46 kg·mm2,极对数为2,仿真步长设置为5μs,仿真时间为0.6 ms。
利用S函数编写了基于蝙蝠优化算法和遗传算法的PID 控制函数,建立基于不同控制算法的PID控制仿真模型,其中,基于蝙蝠算法的PID BLDCM 仿真图如图6所示。基于3种不同控制方法下的BLDCM 转速仿真结果如图7所示。
由图7可知,在给定速度为1 000 r/min时,基于遗传算法的PID 控制和基于蝙蝠优化算法的PID控制在超调量上都有大幅度的降低,前者比传统PID控制降低了约6.4%,后者超调量比前者的超调量低2%左右,将近于0%,且传统PID控制、基于遗传算法的PID控制以及基于蝙蝠优化算法的PID控制的上升时间依次减小。在0.2 s时突然将给定速度提升至3 000 r/min,在基于遗传算法的PID 和基于蝙蝠优化算法的PID 控制下,电动机也能够快速平稳地对外界的要求进行响应,同时超调量和上升时间都有所降低,控制效果较好。
图6 基于蝙蝠算法的PID控制仿真模型
图7 不同控制方法下的系统调速对比
本文对BLDCM 的控制系统进行研究,针对电动机调速过程中的不稳定和响应时间慢的问题,分别使用基于遗传算法的PID和基于蝙蝠优化算法的PID对调速系统优化控制。由仿真结果可知,两者都能降低超调量和缩短上升时间,提高系统的鲁棒性,且基于蝙蝠优化算法的PID 的优化效果更佳,几乎能达到无超调效果。