符号说明

与参考文献2中一致

Popov超稳定性概述1

对于连续时间线性定常系统,超稳定性成立的条件有两个:

输入输出积分满足Popov积分不等式:

math?formula=%5Cint_%7B0%7D%5E%7BT%7Du%5ET(t)y(t)dt%5Cleq%5Cdelta(%7C%7Cx(0)%7C%7C)sup_%7B0%5Cleq%20t%20%5Cleq%20T%7D%7C%7Cx(t)%7C%7C

传递函数矩阵满足正实性。

在MRAS中的应用,以PMSM参数辨识为例

在参考文献2中,可以看到本身模型参考自适应原理比较简单,只是对于控制器设计和稳定性证明比较麻烦,用到了Popov超稳定性理论来设计控制器。

首先,参考模型选择与源模型相同,构造了一误差系统,只要保证该误差系统的状态变量收敛到0,则电机参数即可估计出来。

math?formula=%5Cdot%7Be%7D%3D(A%2BG)e%2B%5CDelta%20A%5Chat%7Bi%7D%2B%5CDelta%20Bu%2B%5CDelta%20C

其中

math?formula=e为误差矢量,

math?formula=e%20%3D%20i%20-%20%5Chat%7Bi%7D%2C%20i%20%3D%20%5Cleft%5B%20%5Cbegin%7Bmatrix%7D%20i_d%20%26%20i_q%20%5Cend%7Bmatrix%7D%20%5Cright%5D%5ET%2C%20%5CDelta%20A%20%3D%20A%20-%20%5Chat%7BA%7D%2C%20%5CDelta%20B%20%3D%20B%20-%20%5Chat%7BB%7D%2C%20%5CDelta%20C%20%3D%20C%20-%20%5Chat%7BC%7D。取

math?formula=w%20%3D%20-(%5CDelta%20A%5Chat%7Bi%7D%2B%5CDelta%20Bu%2B%5CDelta%20C),则有:

math?formula=%5Cdot%7Be%7D%3D(A%2BG)e-w

通过设计

math?formula=G来保证系统传递函数矩阵严格正实3,设计

math?formula=-w来保证满足输入输出Popov积分不等式。在该系统中,有

math?formula=A%20%3D%20%5Cleft%5B%20%5Cbegin%7Bmatrix%7D%20-a%20%26%20w_e%5C%5C%20-w_e%20%26%20-a%20%5Cend%7Bmatrix%7D%20%5Cright%5D%2C%20%5Chat%7BA%7D%20%3D%20%5Cleft%5B%20%5Cbegin%7Bmatrix%7D%20-%5Chat%7Ba%7D%20%26%20w_e%5C%5C%20-w_e%20%26%20-%5Chat%7Ba%7D%20%5Cend%7Bmatrix%7D%20%5Cright%5D%2C%20B%20%3D%20%5Cleft%5B%20%5Cbegin%7Bmatrix%7D%20b%20%26%200%5C%5C%200%20%26%20b%20%5Cend%7Bmatrix%7D%20%5Cright%5D%2C%20%5Chat%7BB%7D%20%3D%20%5Cleft%5B%20%5Cbegin%7Bmatrix%7D%20%5Chat%7Bb%7D%20%26%200%5C%5C%200%20%26%20%5Chat%7Bb%7D%20%5Cend%7Bmatrix%7D%20%5Cright%5D%2C%20C%20%3D%20%5Cleft%5B%20%5Cbegin%7Bmatrix%7D%200%20%26%20-w_ec%20%5Cend%7Bmatrix%7D%20%5Cright%5D%5ET%2C%20%5Chat%7BC%7D%20%3D%20%5Cleft%5B%20%5Cbegin%7Bmatrix%7D%200%20%26%20-w_e%5Chat%7Bc%7D%20%5Cend%7Bmatrix%7D%20%5Cright%5D%5ET,取

math?formula=%5Chat%7Ba%7D%2C%20%5Chat%7Bb%7D%2C%20%5Chat%7Bc%7D均为PI类型的控制器,有:

math?formula=%5Chat%7Ba%7D%3D%5Cint_%7B0%7D%5E%7Bt%7Df_1(%5Ctau)d%5Ctau%20%2B%20f_2(t)%20%2B%20%5Chat%7Ba%7D(0)%20%5C%5C%20%5Chat%7Bb%7D%3D%5Cint_%7B0%7D%5E%7Bt%7Dg_1(%5Ctau)d%5Ctau%20%2B%20g_2(t)%20%2B%20%5Chat%7Bb%7D(0)%20%5C%5C%20%5Chat%7Bc%7D%3D%5Cint_%7B0%7D%5E%7Bt%7Dh_1(%5Ctau)d%5Ctau%20%2B%20h_2(t)%20%2B%20%5Chat%7Bc%7D(0)

将上

math?formula=%5Chat%7Ba%7D%2C%5Chat%7Bb%7D%2C%5Chat%7Bc%7D计算式带入到Popov积分不等式中,其中

math?formula=u(t)即为误差系统中的

math?formula=-w,

math?formula=y(t)则为误差系统中的

math?formula=e,借助matlab符号运算,即可得到化简后的Popov积分不等式如下:

math?formula=%5Cint_%7B0%7D%5E%7BT%7De_qw_e(c-%5Chat%7Bc%7D)%20%2B%20(e_q%5Chat%7Bi_q%7D%2Be_d%5Chat%7Bi_d%7D)(a-%5Chat%7Ba%7D)%20-%20(e_qu_q%20%2B%20e_du_d)(b-%5Chat%7Bb%7D)dt%20%5Cgeq%20-%5Cgamma_0%5E2%20%5C%5C%20%5CRightarrow%20%5C%5C%20%5Cint_%7B0%7D%5E%7BT%7De_qw_e(c-(%5Cint_%7B0%7D%5E%7Bt%7Dh_1(%5Ctau)d%5Ctau%20%2B%20h_2(t)%20%2B%20%5Chat%7Bc%7D(0)))dt%20%5C%5C%20%2B%20%5Cint_%7B0%7D%5E%7BT%7D(e_q%5Chat%7Bi_q%7D%2Be_d%5Chat%7Bi_d%7D)(a-(%5Cint_%7B0%7D%5E%7Bt%7Df_1(%5Ctau)d%5Ctau%20%2B%20f_2(t)%20%2B%20%5Chat%7Ba%7D(0)))dt%20%5C%5C%20-%20%5Cint_%7B0%7D%5E%7BT%7D(e_qu_q%20%2B%20e_du_d)(b-(%5Cint_%7B0%7D%5E%7Bt%7Dg_1(%5Ctau)d%5Ctau%20%2B%20g_2(t)%20%2B%20%5Chat%7Bb%7D(0)))dt%20%5C%5C%20%5Cgeq%20-%5Cgamma_0%5E2

其中,

math?formula=%5Cgamma_0为一误差系统中与系统变量(即误差

math?formula=e)初值相关的量。

math?formula=e_d%3Di_d-%5Chat%7Bi_d%7D%2Ce_q%3Di_q-%5Chat%7Bi_q%7D可以看到,要满足上式,即使:

math?formula=%5Cint_%7B0%7D%5E%7BT%7De_qw_e(c-(%5Cint_%7B0%7D%5E%7Bt%7Dh_1(%5Ctau)d%5Ctau%20%2B%20h_2(t)%20%2B%20%5Chat%7Bc%7D(0)))dt%20%5Cgeq%20-%5Cgamma_1%5E2%20%5C%5C%20%5Cint_%7B0%7D%5E%7BT%7D(e_q%5Chat%7Bi_q%7D%2Be_d%5Chat%7Bi_d%7D)(a-(%5Cint_%7B0%7D%5E%7Bt%7Df_1(%5Ctau)d%5Ctau%20%2B%20f_2(t)%20%2B%20%5Chat%7Ba%7D(0)))dt%20%5Cgeq%20-%5Cgamma_2%5E2%20%5C%5C%20%5Cint_%7B0%7D%5E%7BT%7D(e_qu_q%20%2B%20e_du_d)(b-(%5Cint_%7B0%7D%5E%7Bt%7Dg_1(%5Ctau)d%5Ctau%20%2B%20g_2(t)%20%2B%20%5Chat%7Bb%7D(0)))dt%20%5Cgeq%20-%5Cgamma_3%5E2

均满足即可。以上三式中第一个不等式为例,将其拆开,可以得到:

math?formula=%5Cint_%7B0%7D%5E%7BT%7De_qw_e(c-%5Cint_%7B0%7D%5E%7Bt%7Dh_1(%5Ctau)d%5Ctau%20-%20%5Chat%7Bc%7D(0))dt%20%5Cgeq%20-%5Cgamma_%7B11%7D%5E2%20%5C%5C%20%5Cint_%7B0%7D%5E%7BT%7D-e_qw_eh_2(t)dt%20%5Cgeq%20-%5Cgamma_%7B12%7D%5E2

均满足即可。对于上两式中的第一式,可以利用如下不等式:

math?formula=%5Cint_%7B0%7D%5E%7BT%7D%5Cfrac%7Bdf(t)%7D%7Bdt%7Dkf(t)dt%3D%5Cfrac%7Bk%7D%7B2%7D%5Bf%5E2(T)-f%5E2(0)%5D%20%5Cgeq%20%5Cfrac%7Bk%7D%7B2%7Df%5E2(0)

取

math?formula=%5Cfrac%7Bdf(t)%7D%7Bdt%7D%20%3De_qw_e%2C%20kf(t)%3Dc-%5Cint_%7B0%7D%5E%7Bt%7Dh_1(%5Ctau)d%5Ctau%20-%20%5Chat%7Bc%7D(0),则可以得到:

math?formula=h_1(t)%3D-e_qw_eK_%7Bhi%7D%2CK_%7Bhi%7D%20%5Cgeq%200

而对于上两式中的第二式,可以直接取

math?formula=h_2(t)%3D-K_%7Bhp%7De_qw_e即可保证不等式成立:

math?formula=h_2(t)%3D-K_%7Bhp%7De_qw_e%2CK_%7Bhp%7D%20%5Cgeq%200

因此,对于

math?formula=%5Chat%7Bc%7D的控制率可以选择:

math?formula=%5Chat%7Bc%7D%3D-K_%7Bhi%7D%5Cint_%7B0%7D%5E%7Bt%7De_q(%5Ctau)w_ed%5Ctau%20-%20K_%7Bhp%7De_q(t)w_e%20%2B%20%5Chat%7Bc%7D(0)

即可保证误差系统满足Popov超稳定性条件。使用同样的方法,即可得到

math?formula=%5Chat%7Ba%7D%E4%B8%8E%5Chat%7Bb%7D的控制率如下:

math?formula=%5Chat%7Ba%7D%3D-K_%7Bfi%7D%5Cint_%7B0%7D%5E%7Bt%7D(%5Chat%7Bi_d%7D(%5Ctau)e_d(%5Ctau)%2B%5Chat%7Bi_q%7D(%5Ctau)e_q(%5Ctau))d%5Ctau%20-%20K_%7Bfp%7D(%5Chat%7Bi_d%7D(%5Ctau)e_d(%5Ctau)%2B%5Chat%7Bi_q%7D(%5Ctau)e_q(%5Ctau))%20%2B%20%5Chat%7Ba%7D(0)%20%5C%5C%20%5Chat%7Bb%7D%3DK_%7Bgi%7D%5Cint_%7B0%7D%5E%7Bt%7D(u_d(%5Ctau)e_d(%5Ctau)%2Bu_q(%5Ctau)e_q(%5Ctau))d%5Ctau%20%2B%20K_%7Bgp%7D(u_d(t)e_d(t)%2Bu_q(t)e_q(t))%20%2B%20%5Chat%7Bb%7D(0)

Note

值得注意的是,文献2中利用MRAS同时辨识出三个电机参数,但实际上系统模型的阶数仅为两阶,因此个人觉得应该是有些许错误,在实际仿真时也印证了这一点:只有两个参数时辨识才准确,若三个参数同时辨识,结果将不准确。

参考文献

[2] Quntao An and Li Sun, "On-line parameter identification for vector controlled PMSM drives using adaptive algorithm," 2008 IEEE Vehicle Power and Propulsion Conference, Harbin, 2008, pp. 1-6, doi: 10.1109/VPPC.2008.4677634.

[3] Xu Junfeng, Xu Yinglei, Xu jiangping, et al. “A new control method for permanent magnet synchronous machines with observer”, Aachen Germany: 35th IEEE Power Electronics Specialists Conference, 2004.

附录

matlab公式化简源码

clc;

clear all;

syms a b c A B C Ag Bg Cg e dltA dltB dltC i ig we id iq idg iqg ag bg cg e ud uq u real

A = [-a we;-we -a]

Ag = [-ag we;-we -ag]

B = [b 0;0 b]

Bg = [bg 0;0 bg]

C = [0;-we*c]

Cg = [0;-we*cg]

dltA = A - Ag

dltB = B - Bg

dltC = C - Cg

i = [id;iq]

ig = [idg;iqg]

e = i - ig

u = [ud;uq]

clc

-(dltA*ig + dltB*u + dltC)' * e

更多推荐