交流永磁同步电机的惯量辨识

一、加减速法

核心思想:围绕着电机的机械运动方程,通过测量已知量求解惯量

1、原理

机械运动方程:
J d ω m d t = T e − B ω m − T L (1-1) J\frac{d\omega_m}{dt}=T_e-B\omega_m-T_L \tag{1-1} Jdtdωm=TeBωmTL(1-1)

上式中,可以通过测量得到的参数有电磁转矩 T e T_e Te以及电机机械角速度 ω m \omega_m ωm。负载转矩 T L T_L TL、黏滞摩擦系数 B B B、总转矩惯量 J J J是无法通过测量得到的,一般采用简化以及消除等方法排除掉未知项影响。

忽略系统摩擦,机械运动方程简化为:
J d ω m d t = T e − T L (1-2) J\frac{d\omega_m}{dt}=T_e-T_L \tag{1-2} Jdtdωm=TeTL(1-2)

对上式两边取积分离散,得到:
J ( ω m t − ω m 0 ) + ∫ T L ( t ) d t = ∑ n = 1 k T e ( n ) t c (1-3) J(\omega_{mt}-\omega_{m0})+\int{T_L(t)dt}=\sum_{n=1}^{k}T_{e}(n)t_c \tag{1-3} J(ωmtωm0)+TL(t)dt=n=1kTe(n)tc(1-3)

在规定的时间 t n t_n tn内,使电机以相同大小的加速度由0r/min做匀加速运动到 ω \omega ω,再匀减速到0r/min,在每个电流环控制周期内将电机的 T e T_e Te累加保存。
加速段与减速段方程分别为:
{ J ω + ∫ T L ( t ) d t = ∑ n = 1 k T e ( n ) t c − J ω + ∫ T L ( t ) d t = ∑ n = 1 k T e ′ ( n ) t c (1-4) \begin{cases} J\omega+\int{T_L(t)dt}=\sum_{n=1}^{k}T_e(n)t_c\\ -J\omega+\int{T_L(t)dt}=\sum_{n=1}^{k}T^{'}_e(n)t_c \end{cases} \tag{1-4} {Jω+TL(t)dt=n=1kTe(n)tcJω+TL(t)dt=n=1kTe(n)tc(1-4)

通过将两式作差,消掉负载转矩项,最后则可以得到转动惯量表达式:
J = ∑ n = 1 k T e ( n ) t c − ∑ n = 1 k T e ′ ( n ) t c 2 ω (1-5) J=\frac{\sum_{n=1}^{k}T_e(n)t_c-\sum_{n=1}^{k}T^{'}_e(n)t_c}{2\omega} \tag{1-5} J=2ωn=1kTe(n)tcn=1kTe(n)tc(1-5)


二、朗道离散递推模型参考自适应算法

1、原理

基于模型参考自适应的辨识方法是将实际系统作为参考模型,建立含有未知参数的可调模型。两模型具有相同物理意义的输入与输出量,比较两个模型的输出,通过某种自适应规律调整可调模型的参数,最终实现可调模型输出跟随参考模型输出。当可调模型的输出和参考模型的输出偏差不再改善时,可调模型的未知参数被作为待辨识参数的估计值,即辨识结果。

忽略摩擦阻力,将机械运动方程离散化:

ω m ( k ) = ω m ( k − 1 ) + T J [ T e ( k − 1 ) − T L ( k − 1 ) ] (2-1) \omega_m(k)=\omega_m(k-1)+\frac{T}{J}[T_e(k-1)-T_L(k-1)] \tag{2-1} ωm(k)=ωm(k1)+JT[Te(k1)TL(k1)](2-1)

ω m ( k − 1 ) = ω m ( k − 2 ) + T J [ T e ( k − 2 ) − T L ( k − 2 ) ] (2-2) \omega_m(k-1)=\omega_m(k-2)+\frac{T}{J}[T_e(k-2)-T_L(k-2)] \tag{2-2} ωm(k1)=ωm(k2)+JT[Te(k2)TL(k2)](2-2)

由于采样时间短,电机所带负载转矩变化周期远大于惯量辨识控制周期,可以认为在k-1、k-2时刻负载转矩不变:

T L ( k − 1 ) = T L ( k − 2 ) (2-3) T_L(k-1)=T_L(k-2) \tag{2-3} TL(k1)=TL(k2)(2-3)

使用式(2-1)减去(2-2),得到:

ω r ( k ) = 2 ω m ( k − 1 ) − ω m ( k − 2 ) + b ( k ) Δ T e ( k − 1 ) (2-4) \omega_r(k)=2\omega_m(k-1)-\omega_m(k-2)+b(k)\Delta T_e(k-1) \tag{2-4} ωr(k)=2ωm(k1)ωm(k2)+b(k)ΔTe(k1)(2-4)

式(2-4)中, b ( k ) = T J b(k)=\frac{T}{J} b(k)=JT, Δ T e ( k − 1 ) = T e ( k − 1 ) − T e ( k − 2 ) \Delta T_e(k-1)=T_e(k-1)-T_e(k-2) ΔTe(k1)=Te(k1)Te(k2)
将式(2-4)作为参考模型,得到可调模型方程为:

ω g ( k ) = 2 ω m ( k − 1 ) − ω m ( k − 2 ) + b g ( k ) Δ T e ( k − 1 ) (2-5) \omega_g(k)=2\omega_m(k-1)-\omega_m(k-2)+b_g(k)\Delta T_e(k-1) \tag{2-5} ωg(k)=2ωm(k1)ωm(k2)+bg(k)ΔTe(k1)(2-5)

其中, ω g \omega_g ωg为估计速度, b g b_g bg为估计变量,参考模型和可调模型的输出误差为:

e ( k ) = ω m ( k ) − ω g ( k ) (2-6) e(k)=\omega_m(k)-\omega_g(k) \tag{2-6} e(k)=ωm(k)ωg(k)(2-6)

Popov超稳定性理论利用函数来判断系统的全局和局部渐进的稳定性,无需求解系统的微分方程,可以准确得到系统的自适应律。由Popov超稳定性理论设计的转动惯量自适应律为:

b g ( k ) = b g ( k − 1 ) + β Δ T e ( k − 1 ) 1 + Δ T e ( k − 1 ) 2 e ( k ) (2-7) b_g(k)=b_g(k-1)+\beta\frac{\Delta T_e(k-1)}{1+\Delta T_e(k-1)^2}e(k) \tag{2-7} bg(k)=bg(k1)+β1+ΔTe(k1)2ΔTe(k1)e(k)(2-7)

其中, β \beta β为自适应增益系数。 β \beta β越大,辨识过程收敛速度越快,但辨识结果波动大; β \beta β越小,辨识精度越高,但收敛时间变长。
对于参数 β \beta β的选取,可以考虑变增益PI等方式。

  • 变增益

    当系统转动惯量发生变化时,增益系数 β \beta β跟随变化。转动惯量突变, β \beta β迅速增大,当跟踪到真实值后,再逐步减小 β \beta β

    β ( k ) = β ( k − 1 ) − β k − 1 2 Δ T e ( k − 1 ) 2 λ + β ( k − 1 ) Δ T e ( k − 1 ) 2 (2-8) \beta(k)=\beta(k-1)-\frac{\beta{k-1}^2\Delta T_e(k-1)^2}{\lambda+\beta(k-1)\Delta T_e(k-1)^2} \tag{2-8} β(k)=β(k1)λ+β(k1)ΔTe(k1)2βk12ΔTe(k1)2(2-8)

    其中, λ \lambda λ为调整系数, λ \lambda λ越小 β \beta β衰减越快。

  • PI

    使用PI控制器进行 β \beta β的动态调整。

    β = β m i n + K ∑ k = 1 n e ( k ) (2-9) \beta=\beta_{min}+K\sum_{k=1}^{n}e(k) \tag{2-9} β=βmin+Kk=1ne(k)(2-9)

    其中, K K K为积分系数。


三、最小二乘递推

1、概述

最小二乘辨识算法(RLS)可以解决线性定常系统、线性时变系统、含有色噪声的线性系统等参数辨识问题。在利用最小二乘法对电机进行参数辨识过程中,主要将电机的非线性模型线性化,得到与电机参数有着直接关系的线性化模型,可以实时辨识出电机的所有主要参数。

2、原理

对于一个典型的离散单输入单输出系统,其传递函数表示如下:

H ( Z ) = Y ( Z ) X ( Z ) = b 1 z − 1 + b 2 z − 2 + ⋯ + b n z − n 1 + a 1 z − 1 + a 2 z − 2 + ⋯ + a m z − m (3-1) H(Z)=\frac{Y(Z)}{X(Z)}=\frac{b_1z^{-1}+b_2z^{-2}+\cdots +b_nz^{-n}}{1+a_1z^{-1}+a_2z^{-2}+\cdots +a_mz^{-m}} \tag{3-1} H(Z)=X(Z)Y(Z)=1+a1z1+a2z2++amzmb1z1+b2z2++bnzn(3-1)

其中, n ≤ m ; z = e s T , T n\le m;z=e^{sT},T nm;z=esT,T为采样周期。n表示输出量的采样次数, b 1 、 b 2 、 ⋯ b n b_1、b_2、\cdots b_n b1b2bn表示输出量在此次采样时刻的因数,m表示输入量的采样次数, a 1 、 a 2 、 ⋯ a m a_1、a_2、\cdots a_m a1a2am表示输入量在此次采样时刻的因数。
将式(3-1)写成差分方程形式:

{ y ( k ) + ∑ 1 n a i y ( k − i ) = ∑ 1 n b i x ( k − i ) y ( k ) = y ( k T ) x ( k ) = x ( k T ) (3-2) \begin{cases} y(k)+\sum_{1}^{n}a_iy(k-i)=\sum_{1}^{n}b_ix(k-i)\\ y(k)=y(kT)\\ x(k)=x(kT) \tag{3-2} \end{cases} y(k)+1naiy(ki)=1nbix(ki)y(k)=y(kT)x(k)=x(kT)(3-2)

在实际系统中,模拟电路的精度不足、系统模型误差以及噪声干扰等均可以归为RLS理论中的误差e(k)。对于n阶差分方程,需要前n个时刻的输入输出量,则式(3-2)可以整理成如下:

y ( k ) = − ∑ 1 n a i y ( k − i ) + ∑ 1 n b i x ( k − i ) + e ( k ) = ∑ 1 n Φ k T Θ ^ + e ( k ) (3-3) y(k)=-\sum_{1}^{n}a_iy(k-i)+\sum_{1}^{n}b_ix(k-i)+e(k)\\ =\sum_{1}^n\Phi_k^T\hat\Theta+e(k) \tag{3-3} y(k)=1naiy(ki)+1nbix(ki)+e(k)=1nΦkTΘ^+e(k)(3-3)

其中, Φ k T = ( − y ( k − 1 ) , ⋯   , − y ( k − n ) , x ( k − 1 ) , ⋯   , x ( k − n ) ) \Phi_k^T=(-y(k-1),\cdots ,-y(k-n),x(k-1),\cdots ,x(k-n)) ΦkT=(y(k1),,y(kn),x(k1),,x(kn)),为输出量矩阵。
Θ ^ k = ( a 1 , ⋯   , a n , b 1 , ⋯   , b n ) T \hat\Theta_k=(a_1,\cdots ,a_n,b_1,\cdots ,b_n)^T Θ^k=(a1,,an,b1,,bn)T,为因数矩阵。

最小二乘的指标是使: C = ∑ 1 n e ( k ) 2 = ∑ 1 n [ y ( k ) − Φ k T Θ ^ k ] 2 C=\sum_1^ne(k)^2=\sum_1^n[y(k)-\Phi_k^T\hat\Theta_k]^2 C=1ne(k)2=1n[y(k)ΦkTΘ^k]2最小。
E = [ e ( 1 ) , e ( 2 ) , ⋯   , e ( n ) ] T E=[e(1),e(2),\cdots ,e(n)]^T E=[e(1),e(2),,e(n)]T,那么:

C = E T E = ( Y k − Φ k T Θ ^ k ) T ( Y k − Φ k T Θ ^ k ) (3-4) C=E^TE=(Y_k-\Phi_k^T\hat\Theta_k)^T(Y_k-\Phi_k^T\hat\Theta_k) \tag{3-4} C=ETE=(YkΦkTΘ^k)T(YkΦkTΘ^k)(3-4)

为了使误差和最小,对C求导: ∂ C ∂ Θ ^ k = − 2 Φ T Y k + 2 Φ T Φ Θ ^ k = 0 \frac{\partial C}{\partial \hat\Theta_k}=-2\Phi^TY_k+2\Phi^T\Phi\hat\Theta_k=0 Θ^kC=2ΦTYk+2ΦTΦΘ^k=0,则:

Θ ^ k = ( Φ k T Φ k ) − 1 Φ k T Y k (3-5) \hat\Theta_k=(\Phi_k^T\Phi_k)^{-1}\Phi_k^TY_k \tag{3-5} Θ^k=(ΦkTΦk)1ΦkTYk(3-5)

递推最小二乘在最小二乘的基础上进行推广,其基本思想可以表示为:

Θ ^ k = Θ ^ k − 1 + 修 正 项 (3-6) \hat\Theta_k=\hat\Theta_{k-1}+修正项 \tag{3-6} Θ^k=Θ^k1+(3-6)

P k − 1 = Φ k T Φ k P_k^{-1}=\Phi_k^T\Phi_k Pk1=ΦkTΦk,经过推导,最终得到递推方程为:

{ Θ ^ k = Θ ^ k − 1 + K k ( y ( k ) − Φ k T Θ ^ k − 1 ) P k = ( I − K k Φ k T ) P k − 1 K k = P k − 1 Φ k 1 + Φ k T P k − 1 Φ k (3-7) \begin{cases} \hat\Theta_k=\hat\Theta_{k-1}+K_k(y(k)-\Phi_k^T\hat\Theta_{k-1})\\ P_k=(I-K_k\Phi_k^T)P_{k-1}\\ K_k=\frac{P_{k-1}\Phi_k}{1+\Phi_k^TP_{k-1}\Phi_k} \tag{3-7} \end{cases} Θ^k=Θ^k1+Kk(y(k)ΦkTΘ^k1)Pk=(IKkΦkT)Pk1Kk=1+ΦkTPk1ΦkPk1Φk(3-7)

整个递推最小二乘法的计算步骤可以归纳如下:
(1)设置初始值 Θ ^ 0 , P 0 \hat\Theta_0,P_0 Θ^0,P0,一般采用如下初值:

{ P 0 = α I Θ ^ 0 = z e r o (3-8) \begin{cases} P_0=\alpha I\\ \hat\Theta_0=zero \tag{3-8} \end{cases} {P0=αIΘ^0=zero(3-8)

其中, α \alpha α为充分大的正实数,一般取 1 0 4 ∼ 1 0 6 10^4\sim 10^6 104106, I I I为单位矩阵, z e r o zero zero为零向量。
(2)确定输出矩阵,组建 Φ k \Phi_k Φk
(3)对数据进行采集。
(4)由公式(3-7)进行递推运算,计算参数值。

随着运算次数的增多, P k P_k Pk逐渐趋近于0,从而失去其修正能力,可以考虑引入遗忘因子 λ \lambda λ λ \lambda λ介于0和1之间,其实质是在迭代过程中引入权值概念,在迭代过程中增加此时刻的数据权值,以此来减缓 P k 、 K k P_k、K_k PkKk趋近于0的速度。引入遗忘因子后, P k 、 K k P_k、K_k PkKk计算公式发生变化:

{ P k = 1 λ ( I − K k Φ k T ) P k − 1 K k = P k − 1 Φ k λ + Φ k T P k − 1 Φ k (3-9) \begin{cases} P_k=\frac{1}{\lambda}(I-K_k\Phi_k^T)P_{k-1}\\ K_k=\frac{P_{k-1}\Phi_k}{\lambda+\Phi_k^TP_{k-1}\Phi_k} \tag{3-9} \end{cases} {Pk=λ1(IKkΦkT)Pk1Kk=λ+ΦkTPk1ΦkPk1Φk(3-9)

3、运动方程离散

机械运动方程(1-1)拉式变换为:

T e ( s ) − T L ( s ) = B ω m ( s ) + J s ω m ( s ) (3-10) T_e(s)-T_L(s)=B\omega_m(s)+Js\omega_m(s) \tag{3-10} Te(s)TL(s)=Bωm(s)+Jsωm(s)(3-10)

y ( s ) = ω m ( s ) , u ( s ) = T e ( s ) − T L ( s ) y(s)=\omega_m(s),u(s)=T_e(s)-T_L(s) y(s)=ωm(s),u(s)=Te(s)TL(s),则运动方程传递函数为:

H ( s ) = y ( s ) u ( s ) = 1 J s + B J (3-11) H(s)=\frac{y(s)}{u(s)}=\frac{\frac{1}{J}}{s+\frac{B}{J}} \tag{3-11} H(s)=u(s)y(s)=s+JBJ1(3-11)

已知零阶保持器传递函数:

G 0 ( s ) = 1 − e − T e s s (3-12) G_0(s)=\frac{1-e^{-T_es}}{s} \tag{3-12} G0(s)=s1eTes(3-12)

带有零阶保持器的开环传递函数为:
H ( Z ) = ( 1 − z − 1 ) [ 1 B ∗ z ( 1 − e − B T c / J ) ( z − 1 ) ( z − e − B T c / J ) ] ) = z − 1 ( 1 − e − B T c / J ) B ( 1 − Z − 1 e − B T c / J ) = ω m ( z ) T e ( z ) − T L ( z ) (3-13) H(Z)=(1-z^{-1})[\frac{1}{B}*\frac{z(1-e^{-BT_c/J})}{(z-1)(z-e^{-BT_c/J})}])\\ =\frac{z^{-1}(1-e^{-BT_c/J})}{B(1-Z^{-1}e^{-BT_c/J})} \\ =\frac{\omega_m(z)}{T_e(z)-T_L(z)} \tag{3-13} H(Z)=(1z1)[B1(z1)(zeBTc/J)z(1eBTc/J)])=B(1Z1eBTc/J)z1(1eBTc/J)=Te(z)TL(z)ωm(z)(3-13)

其中 T c T_c Tc为采样周期。对上式进行变形:

ω m ( k ) − e − B T c / J ω m ( k − 1 ) = 1 − e − B T c / J B [ T e ( k − 1 ) − T L ( k − 1 ) ] (3-14) \omega_m(k)-e^{-BT_c/J}\omega_m(k-1)=\frac{1-e^{-BT_c/J}}{B}[T_e(k-1)-T_L(k-1)] \tag{3-14} ωm(k)eBTc/Jωm(k1)=B1eBTc/J[Te(k1)TL(k1)](3-14)

为了简化表示,令:

{ b = − e B T c / J a = ( 1 + b ) / B c = a T L ( k − 1 ) (3-15) \begin{cases} b=-e^{BT_c/J}\\ a=(1+b)/B\\ c=aT_L(k-1) \end{cases} \tag{3-15} b=eBTc/Ja=(1+b)/Bc=aTL(k1)(3-15)

那么式(3-14)可以表示为:

ω m ( k ) = a T e ( k − 1 ) − b ω m ( k − 1 ) + c ∗ ( − 1 ) (3-16) \omega_m(k)=aT_e(k-1)-b\omega_m(k-1)+c*(-1) \tag{3-16} ωm(k)=aTe(k1)bωm(k1)+c(1)(3-16)

用最小二乘的方式表示:

{ y ( k ) = Φ k T Θ y ( k ) = ω m ( k ) Φ k T = [ T e ( k − 1 ) , − ω m ( k − 1 ) , − 1 ] Θ = [ a , b , c ] T (3-17) \begin{cases} y(k)=\Phi_k^T\Theta\\ y(k)=\omega_m(k)\\ \Phi_k^T=[T_e(k-1),-\omega_m(k-1),-1]\\ \Theta=[a,b,c]^T \end{cases} \tag{3-17} y(k)=ΦkTΘy(k)=ωm(k)ΦkT=[Te(k1),ωm(k1),1]Θ=[a,b,c]T(3-17)

由于 T c T_c Tc足够小,所以可以有以下近似:

{ a = 1 + b B = 1 − e B T c / J B ≈ T c J b = − e B T c / J = lim ⁡ T c → 0 ( − e B T c / J ) = − 1 c = a T L ( k − 1 ) ≈ T c J T L ( k − 1 ) (3-18) \begin{cases} a=\frac{1+b}{B}=\frac{1-e^{BT_c/J}}{B}\approx\frac{T_c}{J}\\ b=-e^{BT_c/J}=\lim_{T_c\to 0}(-e^{BT_c/J})=-1\\ c=aT_L(k-1)\approx\frac{T_c}{J}T_L(k-1) \end{cases} \tag{3-18} a=B1+b=B1eBTc/JJTcb=eBTc/J=limTc0(eBTc/J)=1c=aTL(k1)JTcTL(k1)(3-18)

根据最小二乘法的辨识结果 Θ ^ = [ a ^ ( k ) , b ^ ( k ) , c ^ ( k ) ] T \hat\Theta=[\hat a(k),\hat b(k),\hat c(k)]^T Θ^=[a^(k),b^(k),c^(k)]T,可以计算出转动惯量 J ^ \hat J J^、摩擦系数 B ^ \hat B B^、负载转矩 T ^ L \hat T_L T^L

  • 12
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值