基于改进双态粒子群算法的BLDCM分数阶控制器

2021-11-16 03:01
微特电机 2021年10期
关键词:适应度转矩粒子

金 鹏

(辽宁工程职业学院 电气工程系,铁岭 112008)

0 引 言

无刷直流电机(以下简称BLDCM)具有体积小、质量轻、出力大、响应快、速度高、惯量小、转动平滑、力矩稳定的优点[1],并且容易实现智能化控制,现在越来越多地被作为精密控制电机使用,如机械手臂关节电机等[1]。但BLDCM是一个典型的多变量、非线性、强耦合、时变的复杂系统[1],难以建立精确模型。普通PID控制必须建立精确的数学模型,并且参数调节难度大,控制精度不高[1]。而一些智能PID算法往往编程复杂,并且需要大量的参数调节经验,在实际的工程应用中可行度不高。

分数阶PIλDμ(以下简称FOPID)控制器是近年来提出的一种新型控制器,具有kp、ki、kd、λ、μ5个调节参数,因此,控制精度和灵活度更高[1]。目前,有学者提出通过模糊算法或复杂智能算法调节5个参数[2-4],但这些调节方法需要大量的参数经验,并且迭代计算复杂。

本文结合混沌算法和双态粒子群算法(以下简称BPSO),形成CBPSO算法,利用CBPSO在线调节FOPID控制器的参数。仿真实验及电机转速测试结果表明:基于CBPSO-FOPID算法,BLDCM伺服系统获得更好的动态性能和鲁棒性能。

1 BLDCM数学模型

在忽略电机损耗及电枢反应对气隙磁场影响的情况下,将整个BLDCM看作一个整体,则BLDCM的电压平衡方程[5]:

(1)

式中:u为电枢电压;i为电枢电流;r0为相电阻,r0=2r;L0为相电感,L0=2(L-M);ke为反电动势系数;ω为电机转速[5]。

转矩平衡方程[5]:

(2)

Te=kti

(3)

式中:Te为电磁转矩;TL为负载转矩;J为转动惯量;B为粘滞摩擦系数;kt为转矩系数[5]。

2 FOPID控制器设计

BLDCM控制系统采用双闭环控制系统。内环为电流环,采用PI控制器;外环为转速环,是本文研究重点,采用FOPID控制器。

2.1 FOPID控制器整数化

Podlubony在分数阶微积分的基础上提出了FOPID微分方程[1-6]:

u(t)=Kpe(t)+KiDi-λe(t)+KdDdμe(t)

(4)

式中:λ>0,μ>0。

(5)

得出FOPID的传递函数:

G(s)=Kp+Kis-λ+Kdsμ

(6)

λ和μ可以取大于0的任意实数[7],因此,FOPID具更高的控制精度、灵活度及无限维特性[1-6],但不能直接应用于过程控制中。现广泛采用的方法是利用Oustaloup滤波算法在有限频域段(wb,wh)内[7],通过频域拟合的方法将sα近似成整数阶传递函数的形式[7]。但此方法在高频区域近似效果不好[2],这里采用改进Oustaloup滤波算法[5]:

(7)

2N+1为滤波器阶次,wh及wb分别为(wb,wh)的上、下限,且b=10,d=9。

为证明FOPID控制器近似为PID控制器的近似度,设FOPID控制器传递函数:

Oustaloup算法近似整数阶传递函数:

改进Oustaloup算法近似整数阶传递函数:

在频段(101,104),图1为G1(s)与G(s)的频率特性对比图,图2为G2(s)与G(s)的频率特性对比图。可以看出,改进Oustaloup滤波算法在高频段[7](103,104)的近似度要明显高于Oustaloup滤波算法。

图1 Oustaloup频率特性图2 改进Oustaloup频率特性

2.2 FOPID控制器参数寻优

FOPID共有5个参数需要寻优求解。针对PSO在迭代计算的后期,收敛速度变慢、易于陷入局部极值的问题,本文结合混沌算法和BPSO,形成CBPSO算法。首先,通过Tent混沌映射初始化粒子群的位置,使粒子群随机、均匀分布在搜索空间内[1-7],然后利用双态粒子群算法对5个参数同时进行搜索。Tent混沌映射如下:

xk+1=1-2|xk-0.5| 0≤xk≤1

(8)

(1)BPSO

捕食状态:双态粒子群算法将粒子群分为两个不同行为状态的子群——探索群体和捕食群体[8]。在粒子群迭代初期,所有粒子处于捕食状态。捕食状态的粒子群行为状态与普通粒子群算法一样。设粒子规模为M,搜索空间维数为D,种群的最大迭代次数为T,粒子群中粒子i(1≤i≤M)的位置为Xi=(xi1,…,xid),速度为Vi=(vi1,…,vid),它根据自己的个体最优值pid和全局最优值pgd在D维空间中搜索得出最优解,粒子i的速度和位置按式(9)和式(10)更新下一代的速度和位置[1]。

vid(t+1)=ω(t)·vid(t)+r1·c1·[pid(t)-

xid(t)]+r2·c2·[pgd(t)-xid(t)]

(9)

xid(t+1)=xid(t)+vid(t+1)

(10)

式中:t为粒子i的迭代次数;c1,c2为粒子i的学习因子;r1,r2分别为(0,1)间的随机数。ω(t)为粒子i的惯性权重,本文采用自适应惯性权重,如下式:

(11)

式中:ωmax,ωmin分别为惯性权重的最大值和最小值;fi为粒子i的适应度,favg为当前粒子群适应度平均值;fg为当前粒子群最优适应度。本文选取BLDCM系统指标函数JITAE为粒子群适应度函数,即:

(12)

探索状态:在粒子群寻优过程中,若算法陷入局部最优值,保留一部分优良的粒子继续以捕食状态搜索,其余大部分粒子转为探索状态,在搜索空间内重新初始化,继续寻优,这部分粒子位置:

(13)

速度更新公式和位置更新公式:

xkd(t+1)=xkd(t)+vkd(t+1)

(14)

vkd(t+1)=ω·sign(r)·vkd+c1·r1·

[pkd(t)-xkd(t)]+c2·r2·

[pgd(t)-xkd(t)]+c3·u(0,1)·

[xkd(t)-hpgd(t)]

(15)

(16)

式中:sign(r)为符号函数;c3为(0,1)之间随机数;u(0,1)为高斯分布函数;hpgd为搜索状态的粒子在解集空间内的全局最优值。

在迭代计算中,根据式(17)判断粒子群是否陷入局部最优值,若连续5次δ(t)≤0.1,即粒子群适应度基本无变化,则认为算法陷入局部最优值。

(17)

另外,从上述分析过程也可看出,BPSO是两个阶段的迭代算法,算法的编程难度不高,便于应用于实际工程领域。

(2)算法流程:

步骤1:粒子群参数初始化。

步骤2:按式(8)初始化粒子位置和速度,生成FOPID的5参数的初始位置序列。

步骤3:按式(9)、式(10)、式(12)更新粒子位置、速度和适应度。

步骤4:按式(17)计算δ(t)。若算法陷入局部极值,跳步骤5,否则执行步骤7。

步骤5:按适应度排序粒子,性能较好的30%粒子以捕食状态行动,按式(9)、式(10)更新速度和位置,其余粒子转为探索状态,按式(14)、式(15)、式(12)更新位置、速度和适应度。

步骤6:分别计算捕食状态的和探索状态的全局最优值,比较后更新全局最优值。

步骤7:算法迭代次数达到T,寻优结束,求得Kp、Ki、Kd、λ、μ全局最优解。

3 仿真实验

在MATLAB平台上对本文算法进行仿真。电机参数设置如下:额定电压UN=36 V,额定转矩TN=0.23 N·m,定子相绕组电阻R=0.8 Ω,定子相绕组有效电感L-M=1.5 mH,转动惯量J=0.001 05 kg·m2,极对数p=4。粒子种群参数设置如下:M=100,T=100,D=5,c1=2、c2=2,搜索空间上限G1=[50 50 50 2 2]、下限G2=[0 0 0 0 0]。

(1)CBPSO与PSO收敛性能对比

当速度环采用FOPID算法时,分别用CBPSO、BPSO搜索FOPID的5个参数,适应度收敛曲线如图3所示。从图3可以看出,CBPSO收敛速度更快,ITAE性能指标更优。

图3 适应度收敛曲线

(2)系统性能对比

速度环分别采用普通PID、普通FOPID、PSO-FOPID、CBPSO-FOPID算法,设定转速为2 000 r/min,在t=2.5 s时,加入负载TL=0.2 N·m。对比4种算法下BLDCM系统的动态性能及抗干扰性能。图4为速度响应曲线,图5为电磁转矩响应曲线,图6为相电流曲线。

图4 电机转速响应曲线

图5 电机电磁转矩响应曲线

图6 电机相电流响应曲线

从图4可以看出:普通PID算法下,BLDCM产生了较大的超调;普通FOPID算法下,BLDCM也产生了较小幅度的超调;PSO-FOPID和CBPSO-FOPID算法下,系统无超调,但CBPSO-FOPID的响应速度更快,在系统遇到扰动时,CBPSO-FOPID的抗干扰能力更强。

从图5和图6可以看出,当系统加入负载时,CBPSO-FOPID算法下,BLDCM的电磁转矩及相电流的波动最小,再次证明CBPSO-FOPID的抗干扰能力更强。

4 实验测试

实验测试采用TMS320F28335电机专用DSP处理器[7]作为无刷直流伺服电机的主控制器。电机参数与仿真参数一致。实验时,设置转速为700 r/min。在2.5 s施加负载转矩0.2 N·m。基于PID、FOPID、PSO-FOPID、CBPSO-FOPID算法的电机转速如图7所示,性能指标对比如表1所示。

表1 算法性能指标

图7 电机转速曲线

通过图7及表1可以看出:PID和FOPID都产生了不同程度的超调,但PID的稳态误差明显较大,扰动量也比PID大;PSO-FOPID和CBPSO-FOPID无超调,调节时间短、扰动量也很小;4种算法中,CBPSO-FOPID的性能指标最好。实验结果再次证明,本文算法具有更优越的动态性能及鲁棒性能。

5 结 语

通过前文分析可以看出,改进的分数阶控制器可以有效提高伺服系统的控制精度、灵活性和抗干扰性。并且通过仿真及实测结果可以得出以下结论:(1)利用CBPSO寻优FOPID控制器参数时,寻优速度快,控制精度较高,鲁棒性较好。CBPSO-FOPID控制器与PID控制器、FOPID控制器、PSO-FOPID控制器相比,具有更高的性能指标。(2)CBPSO算法收敛速度快,避免了普通PSO算法陷入局部极小值的缺陷,搜索的解值更优。

猜你喜欢
适应度转矩粒子
改进的自适应复制、交叉和突变遗传算法
自适应换相与转矩补偿的开关磁阻电机转矩脉动抑制
基于Ansys Maxwell 2D模型的感应电动机转矩仿真分析
碘-125粒子调控微小RNA-193b-5p抑制胃癌的增殖和侵袭
基于膜计算粒子群优化的FastSLAM算法改进
Conduit necrosis following esophagectomy:An up-to-date literature review
一种基于改进适应度的多机器人协作策略
基于粒子群优化极点配置的空燃比输出反馈控制
基于空调导风板成型工艺的Kriging模型适应度研究
容错逆变器直接转矩控制策略