【永磁同步电机(PMSM)】 滑模观测器(SMO)的算法与仿真
- 1. 滑模观测器的基本原理
- 2. 滑模观测器的数学模型
- 2.1 PMSM 的数学模型
- 2.2 滑模观测器的设计
- 3. 基于反正切(ATAN)的滑模观测器
- 3.1 反正切函数
- 3.2 基于 SMO-ATAN 的 FOC 仿真模型
- 4. 基于锁相环(PLL)的滑模观测器
- 4.1 锁相环的数学模型
- 4.2 基于 SMO-PLL 的 FOC 仿真模型
无传感器 FOC 方法基于永磁同步电机的数学模型,利用永磁同步电动机的定子电流和电压计算反电动势空间矢量,间接获取转子角度和转速信息。
滑模观测器(Sliding Mode Observer, SMO)利用系统的输入和输出信号来估计系统的状态变量,具有鲁棒性和快速响应,对于系统参数变化和外部扰动有良好适应性。具体地,通过 PMSM 的给定电流和反馈电流的误差来设计滑模观测器,重构电机的反电动势,估计转子速度。
1. 滑模观测器的基本原理
滑模变结构控制是一类非线性系统分析与设计方法,可以迫使非线性系统按照人为设定的状态轨迹进行小幅高频运动(即“滑动模态”),具有对系统建模不确定性、外部扰动鲁棒性强,易于工程实现的优点。滑模观测器(Sliding Mode Observer, SMO)是滑模变结构控制的应用,是一种在控制工程中用来估计系统未知变量的观测技术。
滑模观测器的基本思想是利用系统的输入和输出信号来估计出那些无法直接测量的状态或参数。滑模观测器通过观察系统的外在表现(输入和输出),运用滑动模态来推测出系统内部的未知状态或参数。这种观测方法具有鲁棒性好、对噪声不敏感的特点,所以在许多工程应用中都得到了广泛的应用。
滑模控制策略的主要思想:
- 变结构控制:系统的控制结构不是固定的,而是根据系统状态的变化而变化。
- 滑动运动:控制目标是使系统的状态轨迹达到并保持在“滑动模态”或“滑动面”。
- 不变性:系统一旦进入滑动模态,就能保持在这个模态下运动,即使存在外部扰动或者系统参数的变化。
滑模观测器方法包括以下步骤:
- 定义滑动面:构造一个能反映系统状态的滑动面函数。当系统的实际状态满足这个函数时,系统处于“滑动模态”。
- 设计控制函数:设计一个控制器(控制函数),使系统能够尽可能快地到达滑动面,并且一旦到达就始终保持在滑动面上。
- 估计未知变量:分析在滑动面上系统的动态行为,估计未知变量。
对于 PMSM 电机的转动角度问题,通过构造一个虚拟的“滑动面”,并让系统在这个面上以一种特定的方式运动(也就是“滑动”),就可以从系统的输入和输出数据推算出电机的速度和位置等信息。
2. 滑模观测器的数学模型
滑模观测器(Sliding Mode Observer, SMO)通过 PMSM 的给定电流和反馈电流的误差,重构电机的反电动势,估计转子速度。
2.1 PMSM 的数学模型
由于 d-q 旋转同步坐标系的数学模型需要转子角度,因此在 α β \alpha\beta αβ 两相静止坐标系建立 PMSM 的数学模型:
{ u α = R s i α + ω e ( L d − L q ) i β + L d d i α d t + E α u β = R s i β − ω e ( L d − L q ) i α + L d d i β d t + E β \begin{cases} \begin{aligned} u_{\alpha} &= R_s i_{\alpha} + \omega_e (L_d -Lq) i_{\beta} +L_d \frac{d i_{\alpha}}{dt} + E_{\alpha}\\ u_{\beta} &= R_s i_{\beta} - \omega_e (L_d -Lq) i_{\alpha} + L_d \frac{d i_{\beta}}{dt} + E_{\beta} \end{aligned} \end{cases} ⎩ ⎨ ⎧uαuβ=Rsiα+ωe(Ld−Lq)iβ+Lddtdiα+Eα=Rsiβ−ωe(Ld−Lq)iα+Lddtdiβ+Eβ
式中, R s R_s Rs 为定子绕组的电阻, L d L_d Ld、 L q L_q Lq 为 d轴、q轴电感。
[ E α , E β ] T [E_{\alpha}, E_{\beta}]^T [Eα,Eβ]T 为扩展反电动势(ElectroMotive Force, EMF)。
[ E α E β ] = ( ( L d − L q ) ( ω e i d − p i q ) + ω e ψ f ) [ − s i n θ e c o s θ e ] \begin{bmatrix} E_{\alpha} \\ E_{\beta} \end{bmatrix} = ((L_d -Lq)(\omega_e i_d- pi_q) + \omega _e \psi _f) \begin{bmatrix} -sin{\theta_e}\\cos{\theta_e}\end{bmatrix} [EαEβ]=((Ld−Lq)(ωeid−piq)+ωeψf)[−sinθecosθe]
ω e \omega_e ωe为转子旋转电角速度(rad/s), ψ f \psi _f ψf是永磁体磁链。
对于表贴式三相 PMSM, L d = L q L_d = Lq Ld=Lq,上式简化为:
[ E α E β ] = ω e ψ f [ − s i n θ e c o s θ e ] \begin{bmatrix} E_{\alpha} \\ E_{\beta} \end{bmatrix} = \omega _e \psi _f \begin{bmatrix} -sin{\theta_e}\\cos{\theta_e}\end{bmatrix} [EαEβ]=ωeψf[−sinθecosθe]
此时,反电动势仅与电机的转速有关,转速越快则反电动势越大。
对于内置式三相 PMSM,扩展反电动势包含电机转子的位置和转速信息。其电流状态方程为:
d d t [ i α i β ] = A [ i α i β ] + 1 L d [ u α u β ] − 1 L d [ E α E β ] \frac{d}{dt} \begin{bmatrix} i_{\alpha} \\ i_{\beta} \end{bmatrix} = A \begin{bmatrix} i_{\alpha} \\ i_{\beta} \end{bmatrix} + \frac{1}{L_d} \begin{bmatrix} u_{\alpha} \\ u_{\beta} \end{bmatrix} - \frac{1}{L_d} \begin{bmatrix} E_{\alpha} \\ E_{\beta} \end{bmatrix} dtd[iαiβ]=A[iαiβ]+Ld1[uαuβ]−Ld1[EαEβ]
其中,
A = 1 L d [ − R − ( L d − L q ) ω e ( L d − L q ) ω e − R ] A = \frac{1}{L_d} \begin{bmatrix} -R & -(L_d - L_q)\omega_e\\ (L_d - L_q)\omega_e & -R \end{bmatrix} A=Ld1[−R(Ld−Lq)ωe−(Ld−Lq)ωe−R]
2.2 滑模观测器的设计
在 PMSM 中只有定子电流可以实时测量。我们通过 PMSM 的给定电流和反馈电流的误差来设计滑模观测器,重构电机的反电动势。
为了获得扩展反电动势的估计值,设计滑模观测器如下:
d d t [ i α ^ i β ^ ] = A [ i α ~ i β ~ ] − 1 L d [ v α v β ] \frac{d}{dt} \begin{bmatrix} \hat{i_{\alpha}} \\ \hat{i_{\beta}} \end{bmatrix} = {A} \begin{bmatrix} \widetilde{i_{\alpha}} \\ \widetilde{i_{\beta}} \end{bmatrix} - \frac{1}{L_d} \begin{bmatrix} v_{\alpha} \\ v_{\beta} \end{bmatrix} dtd[iα^iβ^]=A[iα iβ ]−Ld1[vαvβ]
式中, i α ^ \hat{i_{\alpha}} iα^、 i β ^ \hat{i_{\beta}} iβ^ 是定子电流的观测值, v α v_{\alpha} vα、 v β v_{\beta} vβ 是观测器的控制输入。
于是可以得到定子电流的误差方程为:
d d t [ i α ~ i β ~ ] = A [ i α ~ i β ~ ] + 1 L d [ E α − v α E β − v β ] \frac{d}{dt} \begin{bmatrix} \widetilde{i_{\alpha}} \\ \widetilde{i_{\beta}} \end{bmatrix} = {A} \begin{bmatrix} \widetilde{i_{\alpha}} \\ \widetilde{i_{\beta}} \end{bmatrix} + \frac{1}{L_d} \begin{bmatrix} {E_{\alpha}} - v_{\alpha} \\ {E_{\beta} - v_{\beta}} \end{bmatrix} dtd[iα iβ ]=A[iα iβ ]+Ld1[Eα−vαEβ−vβ]
式中, i α ~ = i α ^ − i α \widetilde{i_{\alpha}} = \hat{i_{\alpha}} - i_{\alpha} iα =iα^−iα、 i β ~ = i β ^ − i β \widetilde{i_{\beta}} = \hat{i_{\beta}} - i_{\beta} iβ =iβ^−iβ 是定子电流的观测误差。
设计滑膜控制律为:
[ v α v β ] = k [ s g n ( i α ^ − i α ) s g n ( i β ^ − i β ) ] \begin{bmatrix} v_{\alpha} \\ v_{\beta} \end{bmatrix} = k \begin{bmatrix} sgn(\hat{i_{\alpha}} - {i_{\alpha}}) \\ sgn(\hat{i_{\beta}}-i_{\beta}) \end{bmatrix} [vαvβ]=k[sgn(iα^−iα)sgn(iβ^−iβ)]
式中, k k k 是滑模增益。当 k k k 足够大,满足 Lyapunov 稳定性: k > 1 2 m a x ( ∣ E α ∣ , ∣ E β ∣ ) k>\frac{1}{2} max(|E_{\alpha}|,|E_{\beta}|) k>21max(∣Eα∣,∣Eβ∣) 条件,则滑模收敛条件成立。
当控制量 v α v_{\alpha} vα、 v β v_{\beta} vβ 衰减到 0 时,观测器的状态变量达到滑模面 i α ~ = 0 \widetilde{i_{\alpha}} = 0 iα =0、 i β ~ = 0 \widetilde{i_{\beta}} = 0 iβ =0,观测器状态将一直保持在滑模面,电流的观测值也收敛到电流的实际值。
此时控制量 v α v_{\alpha} vα、 v β v_{\beta} vβ 可以看作等效控制量,于是:
[ E α E β ] = [ v α v β ] e q = k [ s g n ( i α ^ ) e q s g n ( i β ^ ) e q ] \begin{bmatrix} E_{\alpha} \\ E_{\beta} \end{bmatrix} = \begin{bmatrix} v_{\alpha} \\ v_{\beta} \end{bmatrix} _{eq} = k \begin{bmatrix} sgn(\hat{i_{\alpha}})_{eq} \\ sgn(\hat{i_{\beta}})_{eq} \end{bmatrix} [EαEβ]=[vαvβ]eq=k[sgn(iα^)eqsgn(iβ^)eq]
3. 基于反正切(ATAN)的滑模观测器
3.1 反正切函数
转子位置可以通过反正切公式计算达到:
θ r = − a r c t a n ( E β / E α ) \theta _r = - arctan (E_{\beta}/E_{\alpha}) θr=−arctan(Eβ/Eα)
由于控制量是不连续的高频切换信号,为了提取连续的扩展反电动势的估计值,通常要加一个低通滤波器。但滤波处理会带来略微的相位延迟,影响转子位置估算的准确性。因此需要在计算结果加一个角度补偿,以补偿由于低通滤波器延迟所造成的位置角度估算误差。
θ ^ e = θ ^ r + a r c t a n ( ω ^ e / ω c ) \hat{\theta}_e = \hat{\theta}_{r} + arctan (\hat{\omega}_e / \omega _c) θ^e=θ^r+arctan(ω^e/ωc)
式中, ω c \omega _c ωc 为低通滤波器的截止频率。
对于表贴式三相 PMSM,有:
ω ^ e = E ^ α 2 + E ^ β 2 ψ f \hat{\omega}_e = \frac{\sqrt{\hat{E}^2_{\alpha}+\hat{E}^2_{\beta}}} {\psi _f} ω^e=ψfE^α2+E^β2
使用反正切方法估计转子位置,会放大滑模高频抖振,造成角度估计存在较大误差。
3.2 基于 SMO-ATAN 的 FOC 仿真模型
一种无传感器的三相 PMSM 的 FOC 控制算法的框图如下图所示,使用基于反正切函数的滑模观测器(SMO-ATAN)估计电机的转子角度。
在 Matlab/Simulink 环境,建立 PMSM 电机的 FOC-SMO-ATAN 控制算法仿真模型,如下图所示。
其中,PMSM 电机的 FOC 控制算法的仿真模型详见【永磁同步电机(PMSM)】 7. 磁场定向控制(FOC)的原理与仿真,该模型是从电机模型获取电角度 θ e \theta_e θe ,相当于使用角度传感器。
本模型的控制算法并不从电机模型获取电角度 θ e \theta_e θe,而是通过 SMO-ATAN 观测器来估计电机的电角度 θ ^ e \hat{\theta}_e θ^e。
仿真结果如下。
4. 基于锁相环(PLL)的滑模观测器
4.1 锁相环的数学模型
为了避免滑模高频抖振所引起的反正切方法估计误差,可以采用锁相环(Phase-locked Loop, PLL)方法将 E α E_{\alpha} Eα、 E β E_{\beta} Eβ 里包含的电机的电角度 θ e \theta_e θe 和电角速度 ω 3 \omega_3 ω3 提取出来。
将 E α E_{\alpha} Eα、 E β E_{\beta} Eβ 代入锁相环结构:
Δ E = − E ^ α c o s θ ^ e − E ^ β s i n θ ^ e ≈ k s i n ( θ e − θ ^ e ) ≈ k ( θ e − θ ^ e ) \Delta E = - \hat{E}_{\alpha} cos \hat{\theta}_e - \hat{E}_{\beta} sin \hat{\theta}_e \approx k \: sin({\theta}_e - \hat{\theta}_e) \approx k ({\theta}_e - \hat{\theta}_e) ΔE=−E^αcosθ^e−E^βsinθ^e≈ksin(θe−θ^e)≈k(θe−θ^e)
s i n ( θ ~ e ) = s i n ( θ e − θ ^ e ) = s i n ( θ e ) c o s ( θ ^ e ) − c o s ( θ e ) s i n ( θ ^ e ) sin(\tilde{\theta}_e) = sin({\theta}_e - \hat{\theta}_e) = sin({\theta}_e)cos(\hat{\theta}_e) - cos({\theta}_e)sin(\hat{\theta}_e) sin(θ~e)=sin(θe−θ^e)=sin(θe)cos(θ^e)−cos(θe)sin(θ^e)
于是得到由 θ ^ e \hat{\theta}_e θ^e 到 θ e {\theta}_e θe 的传递函数:
G ( s ) = θ ^ e θ e = k 2 K p s + k 2 K i s 2 + k 2 K p s + k 2 K i = 2 ξ ω n s + ω n 2 s 2 + 2 ξ ω n s + ω n 2 G(s) = \frac{\hat{\theta}_e}{{\theta}_e} = \frac{k_2 K_p s + k_2 K_i}{s^2 + k_2 K_p s + k_2 K_i} = \frac{2 \xi \omega_n s + \omega_n^2}{s^2 + 2 \xi \omega_n s + \omega_n^2} G(s)=θeθ^e=s2+k2Kps+k2Kik2Kps+k2Ki=s2+2ξωns+ωn22ξωns+ωn2
其中, ξ = k K i \xi=\sqrt{k K_i} ξ=kKi, ω n = K p 2 k / K i \omega_n = \frac{K_p}{2} \sqrt{k/K_i} ωn=2Kpk/Ki。 ω n \omega_n ωn 决定 PI 控制器的带宽。
采用锁相环(Phase-locked Loop, PLL)提取转子位置的结构框图如下图所示。
4.2 基于 SMO-PLL 的 FOC 仿真模型
一种无传感器的三相 PMSM 的 FOC 控制算法的框图如下图所示,使用基于 PLL 的滑模观测器估计电机的转子角度。
在 Matlab/Simulink 环境,建立 PMSM 电机的 FOC-SMO-PLL 控制算法仿真模型,如下图所示。
其中,PMSM 电机的 FOC 控制算法的仿真模型详见【永磁同步电机(PMSM)】 7. 磁场定向控制(FOC)的原理与仿真,该模型是从电机模型获取电角度 θ e \theta_e θe ,相当于使用角度传感器。
本模型的控制算法并不从电机模型获取电角度 θ e \theta_e θe,而是通过 SMO-PLL 观测器来估计电机的电角度 θ ^ e \hat{\theta}_e θ^e。
仿真模型的总体架构与 SMO-ATAN相同。
在 SMO 观测 E α E_{\alpha} Eα、 E α E_{\alpha} Eα 的观测值后,使用 PLL 方法估计转子角度。
PLL 方法的仿真模型如下。
仿真结果如下图所示