电机控制系列文章
感应(异步)电机磁场定向控制MATLAB/Simulink建模
感应(异步)电机磁场定向控制电流环PI控制参数设计
前言
大家在做感应(异步)电机磁场定向控制(FOC)的时候,是否还在疑惑PI参数怎么给,还在用PI参数整定口诀一点一点去试,或者按书籍论文的计算公式搞出来不对?那你的电机控制理论需要进一步深入了,如果按照书籍论文的计算公式算出来不能用,你可以来这里看看你的MATLAB/Simulink建模有没有问题:
感应(异步)电机磁场定向控制MATLAB/Simulink建模。
如果是不知道PI参数怎么给,我来指导你设计合适的PI参数。
事实上TI(德州仪器)早就把这些东西工程化了,《InstaSPIN-FOC™ and InstaSPIN-MOTION™ User’s Guide》里有详细的指导,本人也是从其中窥得PI参数设计大法。如果你看过这个文档,没关系,也可以看看我写的,其中也有我个人的理解。
电流环的PI参数设计已经在感应(异步)电机磁场定向控制电流环PI控制参数设计中介绍过了。本文接着介绍速度环PI参数设计。
一、速度环开环传递函数
速度环PI仍采用下图所示的串联型PI。
与TI文件不同,我们将参考转矩作为速度环PI的输出,则被控对象传递函数为
ω
m
(
s
)
T
e
∗
(
s
)
=
i
sq
∗
(
s
)
T
e
∗
(
s
)
×
i
sq
(
s
)
i
sq
∗
(
s
)
×
T
e
(
s
)
i
sq
(
s
)
×
ω
m
(
s
)
T
e
(
s
)
=
2
3
L
r
N
p
L
m
ψ
r
×
1
s
ω
b_curr
+
1
×
3
2
N
p
L
m
L
r
ψ
r
×
1
J
s
=
1
J
s
(
s
ω
b_curr
+
1
)
\begin{aligned} \frac {\omega_{\text m}(s)} {T_{\text e}^*(s)} &= \frac {i_{\text {sq}}^*(s)} {T_{\text e}^*(s)} \times \frac {i_{\text {sq}}(s)} {i_{\text {sq}}^*(s)} \times \frac {T_{\text e}(s)} {i_{\text {sq}}(s)} \times \frac {\omega_{\text m}(s)} {T_{\text e}(s)} \\ &= \frac 2 3 \frac {L_{\text r}} {N_{\text p}L_{\text m}\psi_{\text r}} \times \frac 1 {\frac s {\omega_{\text {b\_curr}}}+1} \times \frac 3 2 N_{\text p}\frac {L_{\text m}} {L_{\text r}}\psi_{\text r} \times \frac 1 {Js} \\ &= \frac 1 {Js(\frac s {\omega_{\text {b\_curr}}}+1)} \end{aligned}
Te∗(s)ωm(s)=Te∗(s)isq∗(s)×isq∗(s)isq(s)×isq(s)Te(s)×Te(s)ωm(s)=32NpLmψrLr×ωb_currs+11×23NpLrLmψr×Js1=Js(ωb_currs+1)1
ω
b_curr
\omega_{\text {b\_curr}}
ωb_curr为电流环设计带宽,
ω
b_curr
=
K
p
series
L
\omega_{\text {b\_curr}} = \frac {K_{\text p}^{\text{series}}} L
ωb_curr=LKpseries,J为转动惯量。
速度环开环传递函数为
G
spd_ol
(
s
)
=
s
p
d
K
p
series
s
p
d
K
i
series
(
1
+
s
s
p
d
K
i
series
)
s
×
1
J
s
(
s
ω
b_curr
+
1
)
=
s
p
d
K
p
series
s
p
d
K
i
series
(
1
+
s
s
p
d
K
i
series
)
J
s
2
(
1
+
s
ω
b_curr
)
\begin{aligned} G_{\text{spd\_ol}}(s) &= \frac {spdK_{\text p}^{\text{series}} spdK_{\text i}^{\text{series}} (1+\frac s {spdK_{\text i}^{\text{series}}})} s \times \frac 1 {Js(\frac s {\omega_{\text {b\_curr}}}+1)} \\ &= \frac {spdK_{\text p}^{\text{series}} spdK_{\text i}^{\text{series}} (1+\frac s {spdK_{\text i}^{\text{series}}})} {Js^2(1+\frac s {\omega_{\text {b\_curr}}})} \end{aligned}
Gspd_ol(s)=sspdKpseriesspdKiseries(1+spdKiseriess)×Js(ωb_currs+1)1=Js2(1+ωb_currs)spdKpseriesspdKiseries(1+spdKiseriess)
二、速度环开环传递函数零极点配置
开环传函有两个零极点,所以从零频开始,增益就以每十倍频40dB的斜率下降。此外,有一个PI零点,可以减少每十倍频20dB斜率,还有一个电流环极点,可以增加每十倍频20dB斜率。
TI文件里的思想是,首先为了保证稳定性,将电流环极点放在最远处。然后令电流环极点与穿越频率之比等于穿越频率与PI零点之比,即
ω
pole
ω
0dB
=
ω
0dB
ω
zero
=
δ
\frac {\omega_{\text {pole}}} {\omega_{\text {0dB}}} = \frac {\omega_{\text {0dB}}} {\omega_{\text {zero}}} = \delta
ω0dBωpole=ωzeroω0dB=δ
这样做的目的是在波特图上让穿越频率正好在零点与极点的中间。穿越频率对应的相位影响着相位裕度。TI这样做只用调节这一个参数δ,就可以调整速度环的低频、中频、高频,就很方便。这两个比例也可以不相等,比如把PI零点设为零,那么只有
s
p
d
K
p
series
spdK_{\text p}^{\text{series}}
spdKpseries,也是可行的,只不过低频增益弱一点。
由等比例关系可得到
s
p
d
K
i
series
=
ω
b_curr
δ
2
s
p
d
K
p
series
=
J
δ
s
p
d
K
i
series
\begin{aligned} spdK_{\text i}^{\text{series}} &= \frac {\omega_{\text {b\_curr}}} {\delta^2} \\ spdK_{\text p}^{\text{series}} &= J\delta spdK_{\text i}^{\text{series}} \end{aligned}
spdKiseriesspdKpseries=δ2ωb_curr=JδspdKiseries
δ应大于1,否则穿越频率大于电流环极点,会导致相位裕度不够,系统不稳定。由下面的开环波特图可以看到,δ越小,增益就越大,带宽越宽,但相位裕度越小,越不稳定。
三、速度环闭环性能
下面分别是速度环闭环幅频特性和阶跃响应,可以看出,δ越小,带宽越宽,响应越快,但超调和振荡越大。因此,TI建议δ取值范围为2~30。
四、速度滤波器的影响
速度一般要经过一个一阶低通滤波器,相当于在开环传函里又引入了一个极点。这时在设计
s
p
d
K
i
series
spdK_{\text i}^{\text{series}}
spdKiseries时,选择滤波器极点和电流环极点中最小的就行。
s
p
d
K
i
series
=
min
(
ω
b_curr
,
ω
filter
)
δ
2
spdK_{\text i}^{\text{series}} = \frac {\min(\omega_{\text {b\_curr}},\omega_{\text {filter}})} {\delta^2}
spdKiseries=δ2min(ωb_curr,ωfilter)
总结
本文介绍了感应(异步)电机磁场定向控制速度环PI控制参数设计,主要内容从《InstaSPIN-FOC™ and InstaSPIN-MOTION™ User’s Guide》中提取,同时包含我个人的理解,以期这篇文章能帮助大家设计速度环PI参数。
如果懒得搭模型,可以来这里下载
感应(异步)电机间接磁场定向控制MATLAB/Simulink仿真模型