伺服电机转动惯量辨识方法的研究
2021-07-13任丽晔邵宗明
任丽晔,邵宗明
(长春大学 电子信息工程学院,长春 130022)
交流伺服系统作为机电一体化的系统,在对电机要求高性能、高可靠性以及高稳定性的领域中占有极其重要的地位[1]。由于永磁同步电机相比于其他电机来说可靠性更高,因此在伺服领域中的运用已经越来越广泛。在实际的伺服系统应用中,长时间运行的电机工况复杂,导致电机的某些参数发生改变,从而影响系统的控制性能.所以,对电机参数进行实时辨识显得尤为重要,而电机的转动惯量又是其中的关键参数[2]。因此,能够实时辨识得到电机的转动惯量,对保证伺服系统稳定性以及提高控制性能具有重要的研究意义。
由于永磁同步电机自身的强耦合,需要对其进行控制,矢量控制策略用坐标变换的方式将电机的三相定子电流分解成直轴分量和交轴分量,再分别进行独立控制,由直轴分量来控制磁通,交轴分量来控制转矩,从而实现对定子电流的解耦[3]。惯量辨识方法总体上可分为两种,离线辨识方法包括直接计算法、加减速法、人工轨迹法等[3];而在线辨识方法包括最小二乘法、卡尔曼滤波法、状态观测器法以及人工智能算法等[4]。通过分析永磁同步电机矢量控制系统模型,在基于解决启发式寻优问题的粒子群算法上进行了改进,提出了利用罚函数改进的粒子群算法来进行实时辨识转动惯量。
1 永磁同步电机模型分析
考虑到永磁同步电机的强耦合问题,采用了矢量控制方法来进行对永磁同步电机的控制[5-7]。矢量控制的思想是将电机的三相定子电流形成的静止abc坐标系通过Clark坐标变换为两相静止αβ坐标系,再通过Park变换为两相旋转的dq坐标系。永磁同步电机以下简称PMSM。
PMSM的电磁转矩方程[4]为:
(1)
式中,Te为电机的输出转矩,Ld,id分别为d轴电感和电流,Lq,iq分别为q轴电感和电流。
PMSM的机械运动方程为[8]:
(2)
式中,J为电机转动惯量,B为粘滞摩擦系数,TL为负载转矩。
采用基于id=0的矢量控制方法,也就是使转矩角恒为90度,产生的磁场电流为0,磁通恒为常量,磁场方向恒定。则根据式(1)的电磁转矩方程可变为:
(3)
由式(3)可知,此时电磁转矩Te只与交轴电流iq有关,通过控制iq就可控制输出转矩,转矩控制性能较好,控制方法易实现。
2 转动惯量辨识原理
根据前文对PMSM模型的分析,得到了其运动学方程,在一个时钟周期内负载转矩基本上是没有变化的,这样可以把负载转矩在每个时钟周期内的变化量作为零来处理,并且在不计摩擦系数B的情况下,则式(2)可简化为:
(4)
由于系统中的q轴电流iq是由电流传感器进行脉冲采样得到,因为电磁扰动使得电流信息存在扰动误差,而电机的位置信息经过光电编码器采集后进行速度计算时也会产生误差,所以,得到的采集点是离散的,上述的线性方程实际上只是一条近似直线,不能通过简单的二点法求直线方程的方法得到,只能用线性回归的方式拟合出一条近似直线。
3 粒子群算法基本原理
针对上述问题,也就是对离散的点进行拟合出近似直线,我们提出的方法是启发式寻优算法中的粒子群优化算法。它的思想是来源于受鸟群觅食行为启发的群体智能寻优算法,算法模型将研究对象模拟成一群粒子,并且每个粒子都是抽象的,代表着所求问题的一个可行解,通过跟踪粒子的位置和速度两个特征来进行算法迭代,直至找到最佳位置,即为最优解[10-12]。
粒子群算法的实现过程是,首先在一个搜索空间内对一群粒子进行随机初始化,每个粒子都获得初始信息,分别是初速度和初始位置,同时确定粒子所满足的目标函数来得到粒子的适应度值。粒子的适应度值是通过适应度函数来确定的,适应度函数为最小方差公式,即为[13]:
(5)
每次迭代中,通过迭代公式来更新粒子的速度和位置信息。假设在一个d维的搜索空间中,初始化m个粒子组成的粒子群,第i个粒子的位置为Xid,速度为Vid,粒子的搜索路径是由其速度决定的,第i个粒子在当前自身搜索到的获得最佳适应值的最佳位置为Pid,整个群体在当前搜索到的获得最佳适应值的最佳位置为Pgd,其中i=1,2,…,m;d=1,2,…,m。可得到如下的迭代公式[9]:
Vid(k+1)=ωVid(k)+c1r(Pid(k)-Xid(k))+c2r(Pgd(k)-Xid(k)),
(6)
Xid(k+1)=xid(k)+Vid(k+1),
(7)
式中Xid(k+1),Xid(k+1)分别表示在第k+1时刻,第k时刻粒子i的位置,Vid(k+1),Vid(k+1)分别表示第k+1时刻,第k时刻粒子i的速度;ω为粒子的惯性因子 ;c1和c2为粒子的学习因子;r为0~1之间的随机函数。由式中可知,粒子的速度由三部分决定。第一项是上一时刻粒子的速度惯性,即为当前时刻粒子的初速度;第二项是粒子自身的学习行为,即粒子向当前搜索到的最佳位置靠近,是全局搜索;第三项是粒子群体的学习行为,即粒子向整个群体当前搜索到的最佳位置靠近,是局部搜索。
粒子群算法思想适合解决当前的寻优问题,但在实现过程中会存在着问题:粒子在进行搜索时,如果粒子当前的速度太大,则会跑出搜索空间,粒子的位置也就离最佳位置越来越远,所以对粒子的速度需要限定在[Vmin,Vmax]内,粒子的位置也是限定在[Xmin,Xmax]内,这样就对粒子自身和粒子群体的学习行为进行了约束,使得粒子尽可能在可行域中进行搜索。因此,在这里引入了罚函数。罚函数的目的是为了解决非线性约束问题,在目标函数上加入一种带有惩罚性质的函数,来进行惩罚违反约束条件的迭代点,而可行点即满足条件的点不予惩罚,从而使迭代点能够保持在可行域内或者无限趋向于可行域,直到寻优问题找到最优解,从而将非线性约束条件优化问题转化为无约束优化问题[13]。
罚函数是一种用以度量是否违背约束条件的惩罚策略,使无约束问题的极值点能够一直保持在可行域内移动,或者无限地向可行域移动,直到收敛到所求约束问题的极值点,在这里提出了一种罚函数形式为[14]:
(8)
4 仿真分析
PMSM转动惯量的辨识步骤为:①初始化转动惯量J和负载转矩TL的预估值;②通过采样采集光电编码器信息和q轴电流信息;③对(2)中采集的信息经过计算滤波后得到离散数据点;④执行辨识算法,得到J和TL的输出值;⑤判断是否收敛,判断条件是算法连续10步的波动都小于收敛误差;⑥如果未收敛,则返回到(2)后重新执行;如果收敛,则算法执行结束。
在Matlab/Simulink仿真环境中建立PMSM伺服系统的模型,仿真模型如图1所示。
图1 PMSM伺服系统仿真图
仿真电机参数:额定转速ωn=1 500r/min,极对数p=4,永磁体磁链ψf=0.18 Wb,定子电阻为Rs=0.48 Ω,d轴和q轴电感为L=0.0085 H,额定转动惯量为Jm=2.5×10-3kg·m2。系统仿真时间为0.2 s,算法当中粒子规模为50,最大迭代次数为100,惯性权重ω=1,学习因子c1=2,c2=2。对电机施加TL=2 N·m的负载转矩,执行辨识算法,粒子的适应值迭代过程如图2所示,转动惯量辨识结果如图3所示。
图2 粒子适应值迭代过程
图3 转动惯量辨识过程
图2横轴为迭代次数,纵轴为适应度值,可以看出,在10代以内,粒子的学习能力较强,移动较快,10代以后粒子移动开始变慢,粒子开始向全局最佳位置移动,50代以后粒子的适应度逐渐趋于零,说明粒子搜索到了全局的最优解。
从图3可知,在辨识过程进行到50步之后逐渐趋于稳定,仿真实验对转动惯量的辨识结果约为2.6×10-3kg·m2,与额定转动惯量的Jm=2.5×10-3kg·m2误差在5%以内,可以满足伺服系统的精度要求。为了验证该方法的辨识精度,又通过改变额定转动惯量值来进行重复实验,辨识结果的误差未超过5%,没有造成太大的偏差,证明该方法能够有效地得到伺服电机的转动惯量。
5 结语
通过对永磁同步电机伺服系统转动惯量的模型分析,将对PMSM转动惯量辨识问题转化为对近似直线的离散点进行线性回归的问题,以此将复杂的系统模型参数问题转化为易于理解的数学模型问题,随后提出了利用罚函数改进的粒子群算法来进行惯量辨识。实验结果表明,所提出的转动惯量辨识策略在误差允许的范围内进行了较为精确的辨识,误差能够控制在5%以内,并且在经典的粒子群算法上有了一定的进步,避免了粒子群算法中出现的粒子跳出搜索范围的问题,验证了方法的可行性和有效性,并在实际的伺服系统中具有重要的指导意义。