无感观测器理论模型(NTSM-SMO-PLL 与 SMO-PLL)

3 阅读7分钟

无感观测器理论模型(NTSM-SMO-PLL 与 SMO-PLL)

本文给出重汽重卡 115 kW IPMSM 无感观测器的完整理论模型。 两支观测器:NTSM-SMO-PLL(非奇异终端滑模,主方案)与 SMO-PLL(线性滑模,对照组)。 所有公式与 Simulink 模型 M9_Flux_weakening 中的实现逐一对应。

阅读说明:第 3 节(NTSM-SMO)与第 6 节(PLL)从零基础写起,每引入一个概念都会先讲清"为什么需要它", 再给公式与推导。没接触过滑模控制或锁相环的读者可直接按顺序读完这两节。


0. 核心思路有没有变?——没有

环节NTSM-SMOSMO是否改变
电流观测器结构Lq di^/dt=u−Rsi^−vL_q\,d\hat i/dt = u-R_s\hat i-v同左未变
滑模控制量 vv 的构造终端滑模控制律 HH线性切换项 zz未变
滑模面 / 切换函数积分非奇异终端滑模面 ss电流误差饱和函数未变
反电动势提取Eh=LPF(H,wc)E_h=\mathrm{LPF}(H,w_c)Eh=LPF(z,wc)E_h=\mathrm{LPF}(z,w_c)未变
角度提取atan2\mathrm{atan2} + 解卷绕 + 相位补偿同左未变
转速提取we=Emag/ψw_e=E_{mag}/\psi(幅值法) → 二阶 PLL(锁相法)同左⭐ 唯一改变
等效磁链 ψ\psi 输出仍保留供诊断已不使用接口未变

⇒ 本次改动只发生在"转速提取"这一个模块内部,两支观测器的滑模部分完全保持原样。 函数签名、输入输出端口数量与含义全部不变,模型连线无需改动。


1. 被控对象模型(IPMSM 在 αβ 域)

1.1 为什么用 αβ 域

电机三相绕组在物理上是耦合的。为了做无感观测,我们希望把模型写成 "两个独立的、与转子位置无关的电路" —— 这就是 αβ(静止两相)坐标系。 它的好处是:电压、电流、反电动势都是可以直接测量或由三相量变换得到的, 而转子位置 θe\theta_e 只出现在反电动势里,正好成为我们要估计的对象。

1.2 三相到 αβ(Clarke 变换,等幅值形式)

[iαiβ]=23[1−12−12032−32][iaibic]\begin{bmatrix}i_\alpha\\i_\beta\end{bmatrix} =\frac{2}{3}\begin{bmatrix}1 & -\tfrac12 & -\tfrac12\\[2pt]0 & \tfrac{\sqrt3}{2} & -\tfrac{\sqrt3}{2}\end{bmatrix} \begin{bmatrix}i_a\\i_b\\i_c\end{bmatrix}

利用 ia+ib+ic=0i_a+i_b+i_c=0 消去 ici_c,可化简为模型中的实际实现:

  iα=ia,iβ=13(ia+2ib)  \boxed{\;i_\alpha=i_a,\qquad i_\beta=\frac{1}{\sqrt3}\left(i_a+2i_b\right)\;}

模型实现:Clark 子系统,两个 Interpreted MATLAB Function(u(1) 与 (1/sqrt(3))*(u(1)+2*u(2)))。 该式为等幅值 Clarke 的正确等价写法,∣iαβ∣|i_{\alpha\beta}| 等于相电流幅值(已在模型中核实)。

1.3 αβ 电压方程

以 LqL_q 为电感基准(因为采用"扩展反电动势"建模,把凸极效应并入反电动势项):

  uαβ=Rsiαβ+Lqdiαβdt+Eex,αβ  (1.1)\boxed{\;u_{\alpha\beta}=R_s i_{\alpha\beta}+L_q\frac{di_{\alpha\beta}}{dt}+E_{ex,\alpha\beta}\;} \tag{1.1}

直观理解:这就是一个 RL 串联电路 —— 端电压 = 电阻压降 + 电感压降 + 反电动势。 观测器的任务,就是在不知道 EexE_{ex} 的前提下,通过已知的 uu 和 ii 把它"抠"出来。

1.4 扩展反电动势(EEMF)

Eex,αβ=ωeψf[−sin⁡θecos⁡θe]+(Ld−Lq) T(θe)[did/dtωeid],T(θe)=[cos⁡θe−sin⁡θesin⁡θecos⁡θe]E_{ex,\alpha\beta} =\omega_e\psi_f\begin{bmatrix}-\sin\theta_e\\ \cos\theta_e\end{bmatrix} +(L_d-L_q)\,T(\theta_e)\begin{bmatrix}di_d/dt\\ \omega_e i_d\end{bmatrix}, \qquad T(\theta_e)=\begin{bmatrix}\cos\theta_e & -\sin\theta_e\\ \sin\theta_e & \cos\theta_e\end{bmatrix}

稳态(idi_d、iqi_q 为常数,did/dt=0di_d/dt=0)时退化为:

Eex,αβ=ωe[ψf+(Ld−Lq)id]⏟E[−sin⁡θecos⁡θe]E_{ex,\alpha\beta}=\underbrace{\omega_e\big[\psi_f+(L_d-L_q)i_d\big]}_{\textstyle E}\begin{bmatrix}-\sin\theta_e\\ \cos\theta_e\end{bmatrix}

定义等效磁链(模型中的 psi):

  ψ  ≜  ψf+(Ld−Lq) id  (1.2)\boxed{\;\psi \;\triangleq\; \psi_f+(L_d-L_q)\,i_d\;} \tag{1.2}

稳态下:

  Eex,αβ=ωeψ[−sin⁡θecos⁡θe],∣Eex∣=ωeψ  (1.3)\boxed{\;E_{ex,\alpha\beta}=\omega_e\psi\begin{bmatrix}-\sin\theta_e\\ \cos\theta_e\end{bmatrix},\qquad |E_{ex}|=\omega_e\psi\;} \tag{1.3}

三条重要性质:

  1. 幅值正比于转速:∣Eex∣=ωeψ|E_{ex}|=\omega_e\psi。这是"幅值法求转速"的理论依据,也是它在高速段失效的根源(见 6.0.2 节)。
  2. 方向编码了转子位置:矢量的相角就是 θe\theta_e(差一个固定的 π/2\pi/2)。这是"锁相法求转速"的依据。
  3. id≈0i_d\approx0 时 ψ≈ψf\psi\approx\psi_f,反电动势幅值与凸极参数 LdL_d、LqL_q 无关。

1.5 符号约定

模型采用余弦基准:

Eex,α=−Esin⁡θe,Eex,β=+Ecos⁡θe,E=ωeψE_{ex,\alpha}=-E\sin\theta_e,\qquad E_{ex,\beta}=+E\cos\theta_e,\qquad E=\omega_e\psi

反电动势矢量的相角:

arg⁡ ⁣(Eex,α+jEex,β)=arg⁡ ⁣(E(−sin⁡θe+jcos⁡θe))=arg⁡ ⁣(jEejθe)=θe+π2\arg\!\big(E_{ex,\alpha}+jE_{ex,\beta}\big) =\arg\!\big(E(-\sin\theta_e+j\cos\theta_e)\big) =\arg\!\big(jEe^{j\theta_e}\big) =\theta_e+\tfrac{\pi}{2}

⇒ 从反电动势取角度时必须用 atan2(−Eα, Eβ)\mathrm{atan2}(-E_\alpha,\,E_\beta),而不是 atan2(Eβ,Eα)\mathrm{atan2}(E_\beta,E_\alpha)。 (前者恰好把 π/2\pi/2 偏置抵消掉。)


2. 观测器总体结构

两支观测器共享同一套三层结构,唯一区别在第二层的构造:

┌─────────────────────────────────────────────────────────────┐
│  第一层:电流观测器                                          │
│      L_q · dî/dt = u − Rs·î − v                              │
│      这是对象模型 (1.1) 的"复制品",v 是人为加入的修正量      │
├─────────────────────────────────────────────────────────────┤
│  第二层:滑模控制量 v                                        │
│      NTSM:v = H  ← 终端滑模控制律                            │
│      SMO :v = z  ← 线性切换项 z = K·sat(x₁,φs)              │
├─────────────────────────────────────────────────────────────┤
│  第三层:反电动势提取与角度/转速                              │
│      E_h   = LPF(v, wc)                                      │
│      θ     = unwrap[atan2(−E_hα, E_hβ)] + atan(ωpll/wc)      │
│      ωpll  = PLL(E_h)          ← 本版改动点                   │
└─────────────────────────────────────────────────────────────┘

电流误差矢量(贯穿全文的核心变量):

  x1≜i^αβ−iαβ  (2.1)\boxed{\;x_1\triangleq\hat i_{\alpha\beta}-i_{\alpha\beta}\;} \tag{2.1}

3. NTSM-SMO 核心(主方案)

3.0 预备知识:滑模控制是什么(零基础可读)

3.0.1 基本思想

我们要让 i^\hat i 跟踪 ii,但不知道该施加多大的修正量 vv(因为我们不知道 EexE_{ex})。

滑模控制的做法是:不去"算出"这个修正量,而是让 vv 在两个极端值之间高速切换, 使误差 x1x_1 被强行推向一个我们设计的曲面 s=0s=0,并在上面保持。

举个最简例子:若希望 x1→0x_1\to0,取 v=K sgn(x1)v = K\,\mathrm{sgn}(x_1)。

  • x1>0x_1>0 时 v=+Kv=+K,把误差往负方向推;
  • x1<0x_1<0 时 v=−Kv=-K,把误差往正方向推。

只要 KK 足够大,误差就会被"夹"在 0 附近 —— 这就是最简单的滑模。

3.0.2 两个阶段
阶段含义
到达阶段(reaching)ss 从初始值被拉到 s=0s=0 的过程
滑动阶段(sliding)到达后,系统被约束在 s=0s=0 上运动

滑动阶段有一个极其重要的性质:一旦 s≡0s\equiv0,系统的运动完全由曲面方程 s=0s=0 决定, 与对象参数(RsR_s、LqL_q)和外部扰动无关。

直观理解:开关量 vv 的"平均值"会自动调整到恰好抵消扰动的大小 —— 这正是我们想要的反电动势。这就是滑模观测器能"不求而知"反电动势的根本原因。

3.0.3 为什么叫"终端"(Terminal)
  • 线性滑模面(如 s=x1s=x_1):误差按指数衰减 x1(t)=x1(0)e−λtx_1(t)=x_1(0)e^{-\lambda t},理论上永远到不了零(渐近收敛)。
  • 终端滑模面(含 ∣x1∣rsgn(x1)|x_1|^r\mathrm{sgn}(x_1),0<r<10<r<1 的分数幂): 误差在有限时间内精确到达零。

为什么分数幂能带来有限时间? 考虑标量方程 x˙=−k∣x∣rsgn(x)\dot x=-k|x|^r\mathrm{sgn}(x),0<r<10<r<1。分离变量积分:

∫x00dx∣x∣r=−k∫0Tdt ⟹ T=∣x0∣1−rk(1−r)<+∞\int_{x_0}^{0}\frac{dx}{|x|^r}=-k\int_0^{T}dt \ \Longrightarrow\ T=\frac{|x_0|^{1-r}}{k(1-r)}<+\infty

⇒ 收敛时间是有限的(而指数收敛对应 T=∞T=\infty)。

3.0.4 为什么叫"非奇异"(Nonsingular)

最原始的终端滑模面写成:

s=x1+β x˙1 q/p,q>p⟹qp>1s=x_1+\beta\,\dot x_1^{\,q/p},\qquad q>p\quad\Longrightarrow\quad \frac qp>1

对它求导会出现 x˙1 q/p−1\dot x_1^{\,q/p-1},指数 q/p−1>0q/p-1>0 没问题; 但如果写成 s=x1+β x˙1 p/qs=x_1+\beta\,\dot x_1^{\,p/q}(p/q<1p/q<1),求导后指数变成负数 p/q−1<0p/q-1<0, 当 x˙1→0\dot x_1\to0 时项趋于无穷 —— 这就是奇异问题。

本方案采用"积分型"构造规避奇异:把终端项放在积分号内部

s=x1+∫0tkn∣x1∣rsgn(x1) dτs=x_1+\int_0^t k_n|x_1|^r\mathrm{sgn}(x_1)\,d\tau

求导后得到的是 ∣x1∣rsgn(x1)|x_1|^r\mathrm{sgn}(x_1)(指数 r=0.6>0r=0.6>0),在 x1=0x_1=0 处不奇异 ✓


3.1 电流误差动态

由 (1.1) 与观测器第一层:

Lqdi^αβdt=uαβ−Rsi^αβ−HL_q\frac{d\hat i_{\alpha\beta}}{dt}=u_{\alpha\beta}-R_s\hat i_{\alpha\beta}-H

两式相减,消去已知的 uαβu_{\alpha\beta}:

  Lqdx1dt=−Rsx1−H+Eex  (3.1)\boxed{\;L_q\frac{dx_1}{dt}=-R_sx_1-H+E_{ex}\;} \tag{3.1}

读法:误差的变化率由三部分决定 —— 电阻自衰减(−RsLqx1-\frac{R_s}{L_q}x_1)、我们的控制量(−HLq-\frac{H}{L_q})、 以及我们想知道的扰动(+EexLq+\frac{E_{ex}}{L_q})。滑模的任务就是让 HH 恰好抵消 EexE_{ex}。


3.2 积分非奇异终端滑模面

分数幂项:

∣x1∣rsgn(x1),r=pq,p=3, q=5 ⇒ r=0.6|x_1|^r\mathrm{sgn}(x_1),\qquad r=\frac pq,\quad p=3,\ q=5\ \Rightarrow\ r=0.6

这个函数作用在矢量上是逐分量进行的。它兼具"符号函数"(给方向)与"分数幂"(小误差处增益相对更大)两重作用。

滑模面(含两个积分项):

  s=x1+∫0tjnx1 dτ⏟Ij: 线性积分项+∫0tkn∣x1∣rsgn(x1) dτ⏟Ik: 终端积分项  (3.2)\boxed{\;s=x_1+\underbrace{\int_0^t j_nx_1\,d\tau}_{I_j:\ \text{线性积分项}}+\underbrace{\int_0^t k_n|x_1|^r\mathrm{sgn}(x_1)\,d\tau}_{I_k:\ \text{终端积分项}}\;} \tag{3.2}

离散化(前向欧拉):

Ij[k]=Ij[k−1]+Ts jn x1[k−1]I_j[k]=I_j[k-1]+T_s\,j_n\,x_1[k-1]
Ik[k]=Ik[k−1]+Ts kn ∣x1[k−1]∣rsgn(x1[k−1])I_k[k]=I_k[k-1]+T_s\,k_n\,|x_1[k-1]|^r\mathrm{sgn}(x_1[k-1])
s[k]=x1[k−1]+Ij[k]+Ik[k]s[k]=x_1[k-1]+I_j[k]+I_k[k]

⚠️ 实现细节:模型中 IjI_j、IkI_k 各加了 ±50\pm50 的抗饱和限幅,防止极端工况下无限累积。

两个积分项分别做什么?

项作用
Ij=∫jnx1I_j=\int j_nx_1消除稳态误差(积分作用),使 x1x_1 的平均值为零
Ik=∫kn∥x1∥rsgn(x1)I_k=\int k_n\|x_1\|^r\mathrm{sgn}(x_1)提供终端(有限时间)收敛特性

3.3 控制律

  H=−Rsx1+Lq[jnx1⏟①线性积分项+kn∣x1∣rsgn(x1)⏟②终端项+k1s⏟③线性滑模项+f sat(s,ϕs)⏟④自适应切换项]  (3.3)\boxed{\; H=-R_sx_1+L_q\Big[\underbrace{j_nx_1}_{\text{①线性积分项}}+\underbrace{k_n|x_1|^r\mathrm{sgn}(x_1)}_{\text{②终端项}}+\underbrace{k_1s}_{\text{③线性滑模项}}+\underbrace{f\,\mathrm{sat}(s,\phi_s)}_{\text{④自适应切换项}}\Big] \;} \tag{3.3}

饱和函数(边界层,用于抑制抖振):

sat(y,ϕ)={y/ϕ,∣y∣≤ϕ(线性区,减小抖振)sgn(y),∣y∣>ϕ(饱和区,全增益)\mathrm{sat}(y,\phi)=\begin{cases}y/\phi, & |y|\le\phi\quad\text{(线性区,减小抖振)}\\[2pt]\mathrm{sgn}(y), & |y|>\phi\quad\text{(饱和区,全增益)}\end{cases}

逐项解释:

项名称作用
−Rsx1-R_sx_1电阻补偿抵消 (3.1) 中的 −Rsx1-R_sx_1,使误差动态"干净"
Lq jnx1L_q\,j_nx_1线性积分项与滑模面中的 IjI_j 对应,保证滑模面可达
Lq kn∥x1∥rsgn(x1)L_q\,k_n\|x_1\|^r\mathrm{sgn}(x_1)终端项与 IkI_k 对应,提供有限时间收敛
Lq k1sL_q\,k_1s线性滑模项指数收敛到滑模面,保证到达阶段稳定
Lq f sat(s,ϕs)L_q\,f\,\mathrm{sat}(s,\phi_s)自适应切换项主切换项,靠它抵消未知的 EexE_{ex}

3.4 自适应切换增益

  f=min⁡{m ∣s∣ (1+δ)δ+e−εa∣s∣,    3m}  (3.4)\boxed{\;f=\min\left\{\frac{m\,|s|\,(1+\delta)}{\delta+e^{-\varepsilon_a|s|}},\;\;3m\right\}\;} \tag{3.4}

逐段分析:

| ∣s∣|s| | ff 的近似值 | 说明 | |---|---|---| | →0\to0 | f→0f\to0 | 小误差处自动减小增益,抑制抖振 | | 中等 | f≈m∥s∥f\approx m\|s\| | 近似线性增长 | | 大 | f→3mf\to3m(限幅) | 防止起动大误差时 HH 过大 |

限幅 3m3m 的物理意义:避免起动瞬间 ∣s∣|s| 很大时 HH 出现不合理的巨大值。

⚠️ 已知特性:由于 s→0s\to0 时 f→0f\to0,滑模面附近的切换能力主要由 k1sk_1s 承担。 但由 3.7 节估算,稳态 ∣s∣|s| 约 7 A(并不小),ff 实际长期处于饱和区,故该特性不影响正常工作。


3.5 到达律推导

第一步:把控制律 (3.3) 代入误差方程 (3.1):

Lqdx1dt=−Rsx1−{−Rsx1+Lq[jnx1+kn∣x1∣rsgn(x1)+k1s+f sat(s)]}+EexL_q\frac{dx_1}{dt} =-R_sx_1-\Big\{-R_sx_1+L_q\big[j_nx_1+k_n|x_1|^r\mathrm{sgn}(x_1)+k_1s+f\,\mathrm{sat}(s)\big]\Big\}+E_{ex}

−Rsx1-R_sx_1 与括号内的 +Rsx1+R_sx_1 恰好抵消:

Lqdx1dt=−Lq[jnx1+kn∣x1∣rsgn(x1)+k1s+f sat(s)]+EexL_q\frac{dx_1}{dt}=-L_q\big[j_nx_1+k_n|x_1|^r\mathrm{sgn}(x_1)+k_1s+f\,\mathrm{sat}(s)\big]+E_{ex}

两边除以 LqL_q:

  dx1dt=−[jnx1+kn∣x1∣rsgn(x1)+k1s+f sat(s)]+EexLq  (3.5)\boxed{\;\frac{dx_1}{dt}=-\big[j_nx_1+k_n|x_1|^r\mathrm{sgn}(x_1)+k_1s+f\,\mathrm{sat}(s)\big]+\frac{E_{ex}}{L_q}\;} \tag{3.5}

第二步:对滑模面 (3.2) 求时间导数:

dsdt=dx1dt+jnx1+kn∣x1∣rsgn(x1)\frac{ds}{dt}=\frac{dx_1}{dt}+j_nx_1+k_n|x_1|^r\mathrm{sgn}(x_1)

把 (3.5) 代入,jnx1j_nx_1 与 kn∣x1∣rsgn(x1)k_n|x_1|^r\mathrm{sgn}(x_1) 也被抵消,得到到达律:

  dsdt=−k1s−f sat(s,ϕs)+EexLq  (3.6)\boxed{\;\frac{ds}{dt}=-k_1s-f\,\mathrm{sat}(s,\phi_s)+\frac{E_{ex}}{L_q}\;} \tag{3.6}

这就把复杂的误差动态化简成了一个标量一阶方程 —— 这就是控制律 (3.3) 中每个补偿项存在的意义。

滑模可达性:只要 ff(或其饱和值 3m3m)在滑模面附近大于 ∣Eex∣/Lq|E_{ex}|/L_q,就有 ss˙<0s\dot s<0,滑模可达。


3.6 等效控制原理 ⭐(本节是全文枢纽)

3.6.1 什么是"等效控制"

开关量 vv(即 HH 中的切换部分)以极高频率在 ±\pm 之间跳变。 虽然它本身是断续的,但它在一个开关周期内的平均值是连续且有意义的 —— 这个平均值称为等效控制 veqv_{eq}。

由 (3.6):滑模发生时 s˙≈0\dot s\approx0(ss 在一个电周期内均值为零),故

  k1s+f sat(s,ϕs)=EexLq  (3.7)\boxed{\;k_1s+f\,\mathrm{sat}(s,\phi_s)=\frac{E_{ex}}{L_q}\;} \tag{3.7}
3.6.2 从等效控制到反电动势

把 (3.7) 代回控制律 (3.3),注意 (3.3) 中的括号恰好就是 (3.7) 的左端:

H=−Rsx1+Lq[jnx1+kn∣x1∣rsgn(x1)]+Lq[k1s+f sat(s)]⏟= Eex (由 3.7)H=-R_sx_1+L_q\big[j_nx_1+k_n|x_1|^r\mathrm{sgn}(x_1)\big]+\underbrace{L_q\Big[k_1s+f\,\mathrm{sat}(s)\Big]}_{=\,E_{ex}\ \text{(由 3.7)}}
  H=−Rsx1+Lq[jnx1+kn∣x1∣rsgn(x1)]+Eex  (3.8)\boxed{\;H=-R_sx_1+L_q\big[j_nx_1+k_n|x_1|^r\mathrm{sgn}(x_1)\big]+E_{ex}\;} \tag{3.8}

⇒ 当 x1→0x_1\to0(理想滑模)时:

  H  →  x1→0    Eex  (3.9)\boxed{\;H\;\xrightarrow{\;x_1\to0\;}\;E_{ex}\;} \tag{3.9}
3.6.3 结论与实现

(3.9) 就是"用低通滤波 HH 即可提取反电动势"的全部理论依据:

Eh=LPF(H,  wc)E_h=\mathrm{LPF}\big(H,\;w_c\big)

低通在这里承担两个角色:

  1. 滤掉开关纹波(HH 是高频切换量,我们只要它的平均值)
  2. 实现"取平均"这一数学操作(低通 = 滑动平均的连续形式)

⚠️ 实际偏差:真实系统中 x1x_1 不严格为 0,(3.8) 中的 −Rsx1+Lq[jnx1+kn∣x1∣rsgn(x1)]-R_sx_1+L_q[j_nx_1+k_n|x_1|^r\mathrm{sgn}(x_1)] 会残留进入 EhE_h,使其幅值偏离真实 EexE_{ex}。 残余量与滑模紧度(∣x1∣|x_1| 的大小)直接相关 —— 这是 6.0.2 节讨论"幅值法为何不准"的物理根源。


3.7 稳态量级估算与参数意义

由 (3.7),在饱和区 f sat(s)=3mf\,\mathrm{sat}(s)=3m(取正),得

k1∣s∣+3m≈∣Eex∣Lqk_1|s|+3m\approx\frac{|E_{ex}|}{L_q}

以 3000 rpm 为例:ωe=1256.6\omega_e=1256.6 rad/s,∣Eex∣=ωeψf=229.6|E_{ex}|=\omega_e\psi_f=229.6 V,Lq=12L_q=12 mH

∣Eex∣Lq=19133 A/s\frac{|E_{ex}|}{L_q}=19133\ \text{A/s}

代入 k1=1500k_1=1500、3m=90003m=9000:

∣s∣≈19133−90001500≈6.8 A|s|\approx\frac{19133-9000}{1500}\approx6.8\ \text{A}

⇒ 稳态 ss 约 7 A,ff 实际长期处于饱和区(f=3mf=3m),3.4 节提到的"f→0f\to0"只在过渡瞬间出现。

参数意义速查:

参数增大后的效果代价
k1k_1到达更快,稳态 ∥s∥\|s\| 更小抖振增大
knk_n终端收敛更快低速抖振
mm切换增益更强,滑模更紧抖振增大
ϕs\phi_s边界层加宽,抖振减小滑模精度下降

4. 线性 SMO 核心(对照组)

线性滑模观测器只有一个控制量:

  z=K sat(x1,ϕs)  (4.1)\boxed{\;z=K\,\mathrm{sat}(x_1,\phi_s)\;} \tag{4.1}

误差方程(同 3.1,只是把 HH 换成 zz):

Lqdx1dt=−Rsx1−z+Eex(4.2)L_q\frac{dx_1}{dt}=-R_sx_1-z+E_{ex} \tag{4.2}

滑模面:x1=0x_1=0(一阶滑模,无终端项、无积分项)

等效控制:滑模发生时 x1=0x_1=0 且 dx1/dt=0dx_1/dt=0,代入 (4.2):

0=−0−zeq+Eex⟹  zeq=Eex  (4.3)0=-0-z_{eq}+E_{ex}\quad\Longrightarrow\quad\boxed{\;z_{eq}=E_{ex}\;} \tag{4.3}

⇒ 比 NTSM 的推导简单得多:zz 的平均值直接就是 EexE_{ex}。

NTSM 与 SMO 的本质差异

NTSM-SMO线性 SMO
滑模面s=x1+∫jnx1+∫kn∥x1∥rsgn(x1)s=x_1+\int j_nx_1+\int k_n\|x_1\|^r\mathrm{sgn}(x_1)x1x_1
控制量HH(5 项)z=K sat(x1,ϕs)z=K\,\mathrm{sat}(x_1,\phi_s)(1 项)
收敛性有限时间(终端项保证)渐近收敛
等效控制H→EexH\to E_{ex},需 x1→0x_1\to0zeq=Eexz_{eq}=E_{ex},直接成立
参数个数9 个(jn,kn,p,q,k1,m,δ,εa,ϕsj_n,k_n,p,q,k_1,m,\delta,\varepsilon_a,\phi_s)2 个(K,ϕsK,\phi_s)
抗参数摄动理论上更强(滑模对匹配扰动不变)较强
抖振相对更大(终端项在低速段增益高)相对更小

⇒ 对比实验要检验的核心假设:NTSM 的终端项能否带来更快的收敛与更强的鲁棒性。


5. 反电动势提取与角度

5.1 低通滤波提取

两支均采用一阶低通:

  dEhdt=wc(v−Eh)  v={H,NTSMz,SMO(5.1)\boxed{\;\frac{dE_h}{dt}=w_c\big(v-E_h\big)\;} \qquad v=\begin{cases}H,& \text{NTSM}\\ z,& \text{SMO}\end{cases} \tag{5.1}

离散化:

Eh[k]=Eh[k−1]+wcTs(v[k−1]−Eh[k−1])E_h[k]=E_h[k-1]+w_cT_s\big(v[k-1]-E_h[k-1]\big)

频域特性:一阶低通的传递函数与频率响应

G(s)=wcs+wc⟹G(jω)=wcwc+jωG(s)=\frac{w_c}{s+w_c} \quad\Longrightarrow\quad G(j\omega)=\frac{w_c}{w_c+j\omega}
  ∣G(ω)∣=wcwc2+ω2,∠G(ω)=−arctan⁡ωwc  (5.2)\boxed{\;|G(\omega)|=\frac{w_c}{\sqrt{w_c^2+\omega^2}},\qquad \angle G(\omega)=-\arctan\frac{\omega}{w_c}\;} \tag{5.2}

⚠️ 关键认识:一阶低通对基波同时造成幅值衰减与相位滞后,二者都随转速变化。

  • 相位滞后 → 5.3 节用 arctan⁡(ωe/wc)\arctan(\omega_e/w_c) 补偿;
  • 幅值衰减 → 旧版用 corrcorr 补偿,本版改用 PLL 后不再需要(见 6.0.2 节)。

数值示例(wc=1571w_c=1571 rad/s):1000 rpm(ωe=419\omega_e=419)时衰减 0.966、滞后 14.9°; 3000 rpm(ωe=1257\omega_e=1257)时衰减 0.781、滞后 38.7°。

5.2 角度提取(atan2 + 解卷绕)

由 1.5 节的符号约定,反电动势矢量的角度是 θe+π/2\theta_e+\pi/2,故取角度时需先交换分量、再取负:

θraw=atan2(−Eh,α,  Eh,β)(5.3)\theta_{raw}=\mathrm{atan2}\big(-E_{h,\alpha},\;E_{h,\beta}\big) \tag{5.3}

验算:代入 Eh,α=−Esin⁡θeE_{h,\alpha}=-E\sin\theta_e、Eh,β=Ecos⁡θeE_{h,\beta}=E\cos\theta_e: atan2(Esin⁡θe,  Ecos⁡θe)=θe\mathrm{atan2}(E\sin\theta_e,\;E\cos\theta_e)=\theta_e ✓

解卷绕(消除 atan2\mathrm{atan2} 固有的 ±π\pm\pi 跳变,得到连续角度):

θ[k]=θ[k−1]+[mod(θraw[k]−θ[k−1]+π,  2π)−π](5.4)\theta[k]=\theta[k-1]+\Big[\mathrm{mod}\big(\theta_{raw}[k]-\theta[k-1]+\pi,\;2\pi\big)-\pi\Big] \tag{5.4}

原理:把每步的角度增量折算到 (−π,π](-\pi,\pi] 内再加回上一步,从而跨过 ±π\pm\pi 边界时不跳变。 实现上 mod 若得负值需再补 2π2\pi。

5.3 相位补偿

低通造成的相位滞后 φlpf=arctan⁡(ωe/wc)\varphi_{lpf}=\arctan(\omega_e/w_c) 必须补回,否则角度会整体滞后:

  θest=θ+arctan⁡ ⁣(ωe,pllwc)  (5.5)\boxed{\;\theta_{est}=\theta+\arctan\!\left(\frac{\omega_{e,pll}}{w_c}\right)\;} \tag{5.5}

⚠️ 这里用的是 PLL 输出的转速 ωe,pll\omega_{e,pll}。 旧版用幅值法得到的 wew_e 本身有偏差(高速段偏低约 15%),导致补偿不足 → 角度滞后; 改用 PLL 后 ωe,pll\omega_{e,pll} 准确,补偿量随之准确 —— 这是 PLL 带来的第二个收益。

5.4 等效磁链修正(凸极)

用补偿角做 Park 变换取出 idi_d(低通平滑),再算等效磁链:

θcomp=θ+arctan⁡ ⁣(ωe,pllwc)\theta_{comp}=\theta+\arctan\!\left(\frac{\omega_{e,pll}}{w_c}\right)
id,inst=iαcos⁡θcomp+iβsin⁡θcompi_{d,inst}=i_\alpha\cos\theta_{comp}+i_\beta\sin\theta_{comp}
id,f←id,f+wfTs(id,inst−id,f)i_{d,f}\leftarrow i_{d,f}+w_fT_s\big(i_{d,inst}-i_{d,f}\big)
  ψ=ψf+(Ld−Lq) id,f  (5.6)\boxed{\;\psi=\psi_f+(L_d-L_q)\,i_{d,f}\;} \tag{5.6}

说明:ψ\psi 在本版中已不参与转速计算(PLL 不需要它),但仍作为输出保留,供对照与诊断使用。


6. ⭐ 转速提取:二阶 PLL(本版核心改动)

6.0 预备知识:锁相环是什么(零基础可读)

6.0.1 一个生活类比

想象你在听一个音叉(频率未知)。你手上有一个可调音叉,你想让它和对方的音完全同频同相。

你的做法:

  1. 听两者的"拍频"(相位差引起的强弱变化)—— 这是鉴相器
  2. 根据拍频去拧调节旋钮 —— 这是环路滤波器
  3. 旋钮控制你的音叉频率 —— 这是压控振荡器

当拍频消失时,两者就"锁相"了。此时你旋钮的位置就代表了对方的频率。

PLL 就是把这个过程自动化、数学化。 在我们的场景里:

  • "对方的音叉" = 反电动势矢量(它的旋转频率就是 ωe\omega_e)
  • "你的音叉" = 内部振荡器 θpll\theta_{pll}
  • 锁相完成后,ωpll\omega_{pll} 就等于 ωe\omega_e —— 这就是我们要的转速
6.0.2 为什么"锁相"比"测幅"可靠 ⭐

这是本版改动的核心动机,值得讲透。

幅值法的逻辑:∣Eex∣=ωeψ|E_{ex}|=\omega_e\psi,所以 ωe=∣E∣/ψ\omega_e=|E|/\psi。

它依赖一个前提:我们测到的 ∣E∣|E| 就是真实的 ∣Eex∣|E_{ex}|。

但实际测到的是 Eh=LPF(H)E_h=\mathrm{LPF}(H),其中 ∣Eh∣|E_h| 受两个方向相反的效应影响:

效应物理来源对 ∥Eh∥\|E_h\| 的作用
(a) 幅值衰减一阶低通对 ωe\omega_e 处正弦的固有衰减 wc/wc2+ωe2w_c/\sqrt{w_c^2+\omega_e^2}使其偏低
(b) 纹波整流HH 中的开关纹波经 Ehα2+Ehβ2\sqrt{E_{h\alpha}^2+E_{h\beta}^2} 这个非线性运算被"整流"抬高使其偏高

⇒ 净效果 = (a) − (b),而两者都随转速、滑模紧度、参数变化,无法用单一系数覆盖全速域。

实测结果:3000 rpm 时转速偏高约 15%。

而 PLL 锁的是"相位":

反电动势矢量 EhE_h 虽然有幅值误差、有纹波,但它的旋转速度(也就是相位变化率)几乎不受影响 —— 纹波是叠加在旋转矢量上的高频抖动,对"转过一圈需要多长时间"这件事影响极小。

一句话:幅值被污染了,但相位是干净的。所以要从相位里取转速,而不是从幅值里取。


6.1 相位检测器(PD)

6.1.1 构造

我们要一个"与相位差成正比"的信号。把反电动势矢量投影到内部振荡器的 d 轴上:

  εd=Eh,αcos⁡θpll+Eh,βsin⁡θpll  (6.1)\boxed{\;\varepsilon_d=E_{h,\alpha}\cos\theta_{pll}+E_{h,\beta}\sin\theta_{pll}\;} \tag{6.1}
6.1.2 推导

代入理想反电动势 Eh,α=−∣E∣sin⁡θsigE_{h,\alpha}=-|E|\sin\theta_{sig}、Eh,β=∣E∣cos⁡θsigE_{h,\beta}=|E|\cos\theta_{sig}:

εd=−∣E∣sin⁡θsigcos⁡θpll+∣E∣cos⁡θsigsin⁡θpll=∣E∣(sin⁡θpllcos⁡θsig−cos⁡θpllsin⁡θsig)=∣E∣sin⁡(θpll−θsig)(6.2)\begin{aligned} \varepsilon_d &=-|E|\sin\theta_{sig}\cos\theta_{pll}+|E|\cos\theta_{sig}\sin\theta_{pll}\\[4pt] &=|E|\big(\sin\theta_{pll}\cos\theta_{sig}-\cos\theta_{pll}\sin\theta_{sig}\big)\\[4pt] &=|E|\sin\big(\theta_{pll}-\theta_{sig}\big) \end{aligned} \tag{6.2}

用到的三角恒等式:sin⁡(A−B)=sin⁡Acos⁡B−cos⁡Asin⁡B\sin(A-B)=\sin A\cos B-\cos A\sin B

⇒ 鉴相器输出 = 幅值 × 相位差的正弦,正是我们想要的。

当相位差很小时:sin⁡(Δ)≈Δ\sin(\Delta)\approx\Delta,故 εd≈∣E∣ (θpll−θsig)\varepsilon_d\approx|E|\,(\theta_{pll}-\theta_{sig}),线性鉴相 ✓

6.1.3 归一化

εd\varepsilon_d 里含有 ∣E∣|E|,而 ∣E∣=ωeψ|E|=\omega_e\psi 随转速变化 —— 若不处理,PLL 的环路增益会随转速变化(高速时增益大、易振荡,低速时增益小、响应慢)。

做法:除以幅值

  ε=−εdmax⁡(∣Eh∣,1)  ≈  θsig−θpll  (6.3)\boxed{\;\varepsilon=-\frac{\varepsilon_d}{\max(|E_h|,1)}\;\approx\;\theta_{sig}-\theta_{pll}\;} \tag{6.3}

⇒ 归一化后 ε\varepsilon 直接就是"相位差(弧度)",与转速、与幅值误差都无关 ✓

⚠️ 符号极其关键:误差必须取 (θsig−θpll)(\theta_{sig}-\theta_{pll}),才能构成负反馈。 若取反,闭环特征方程会变成 s2−kps−ki=0s^2-k_ps-k_i=0,右半平面有根,必然发散(见 6.3 节)。

分母为何用 max⁡(∣Eh∣,1)\max(|E_h|,1):防止低速时 ∣Eh∣→0|E_h|\to0 造成除零。 代价是极低速(∣E∣<1|E|<1 V)时归一化失效,可另加"低速冻结"保护(见 6.6.2 节)。


6.2 环路滤波器(LF)与压控振荡器(VCO)

6.2.1 为什么环路滤波器必须是 PI 而不是纯 P

先用直觉理解:

  • 纯比例 P:输出频率正比于相位差。 锁定时要求相位差 →0\to0,但若输入频率与初始频率不同,必须有非零相位差才能产生频率差 —— 于是系统会稳定在"有固定相位误差"的状态(I 型系统,对频率阶跃有稳态误差)。

  • PI:积分器会累积相位误差,直到它足够把频率拉到正确值,此时相位误差回到零。 ⇒ 锁定时相位误差为零,转速输出精确 ✓

6.2.2 数学表达

环路滤波器:

  ωpll=kpε+ki ⁣∫ ⁣ε dt  (6.4)\boxed{\;\omega_{pll}=k_p\varepsilon+k_i\!\int\!\varepsilon\,dt\;} \tag{6.4}

压控振荡器(积分器:频率 → 相位):

  θpll=∫ωpll dt  (6.5)\boxed{\;\theta_{pll}=\int\omega_{pll}\,dt\;} \tag{6.5}

离散实现:

∫ε ← ∫ε + Ts·ε
ω_pll = kp·ε + ki·∫ε
ω_pll ← clamp(ω_pll, ±ω_max)         % 限幅防跑飞
θ_pll ← θ_pll + Ts·ω_pll
θ_pll ← wrap(θ_pll) 到 (−π, π]

6.3 闭环传递函数与稳定性

6.3.1 建立模型

设相位差 x=θpll−θsigx=\theta_{pll}-\theta_{sig}。由 (6.3),ε≈−x\varepsilon\approx-x。

对 (6.4)(6.5) 求导:

θ˙pll=ωpll=kpε+ki ⁣∫ ⁣ε=−kpx−ki ⁣∫ ⁣x\dot\theta_{pll}=\omega_{pll}=k_p\varepsilon+k_i\!\int\!\varepsilon=-k_px-k_i\!\int\!x

而 x˙=θ˙pll−θ˙sig\dot x=\dot\theta_{pll}-\dot\theta_{sig},θ˙sig=ωe\dot\theta_{sig}=\omega_e:

x˙=−kpx−ki ⁣∫ ⁣x−ωe(6.6)\dot x=-k_px-k_i\!\int\!x-\omega_e \tag{6.6}

两边再求导(消去积分):

  x¨=−kpx˙−kix  \boxed{\;\ddot x=-k_p\dot x-k_ix\;}

特征方程:

  s2+kps+ki=0  (6.7)\boxed{\;s^2+k_ps+k_i=0\;} \tag{6.7}
6.3.2 稳定条件(劳斯判据)

二阶系统 s2+a1s+a0=0s^2+a_1s+a_0=0 稳定的充要条件是所有系数同号:

kp>0,ki>0k_p>0,\qquad k_i>0

⇒ 只要 kp,kik_p,k_i 取正,闭环必稳定 ✓(这也再次说明 (6.3) 的符号取对了)

6.3.3 传递函数形式

以相位为输入、相位为输出的闭环传递函数:

Φ(s)=kps+kis2+kps+ki\Phi(s)=\frac{k_ps+k_i}{s^2+k_ps+k_i}

误差传递函数:

Φe(s)=1−Φ(s)=s2s2+kps+ki\Phi_e(s)=1-\Phi(s)=\frac{s^2}{s^2+k_ps+k_i}

关键观察:Φe(s)\Phi_e(s) 的分子含 s2s^2 —— 这意味着 直流(s=0s=0)与频率阶跃(1/s21/s^2)都没有稳态误差,只有频率斜坡(1/s31/s^3)才有。


6.4 参数整定

二阶系统标准形式 s2+2ζωns+ωn2=0s^2+2\zeta\omega_ns+\omega_n^2=0,与 (6.7) 对照:

  ωn=ki,ζ=kp2ki=kp2ωn  (6.8)\boxed{\;\omega_n=\sqrt{k_i},\qquad \zeta=\frac{k_p}{2\sqrt{k_i}}=\frac{k_p}{2\omega_n}\;} \tag{6.8}

反解出增益:

  ki=ωn2,kp=2ζωn  (6.9)\boxed{\;k_i=\omega_n^2,\qquad k_p=2\zeta\omega_n\;} \tag{6.9}

两个参数的物理意义:

参数物理意义增大后
ωn\omega_n环路带宽跟踪更快、锁定更快;但抗噪变差
ζ\zeta阻尼比减小会超调振荡;增大响应变慢

本模型取值:

参数值说明
ζ\zeta0.707工程最佳阻尼(无超调、响应最快)
ωn\omega_n2π×50=314.162\pi\times50=\mathbf{314.16} rad/s自然频率(≈50 Hz)
kpk_p2×0.707×314.16=444.32\times0.707\times314.16=\mathbf{444.3}比例增益
kik_i314.162=9.8696×104314.16^2=\mathbf{9.8696\times10^4}积分增益
ωmax\omega_{max}3000 rad/s输出限幅(防跑飞)

6.5 加速段的稳态相位误差

6.5.1 为什么会有误差

从误差传递函数 Φe(s)=s2s2+kps+ki\Phi_e(s)=\dfrac{s^2}{s^2+k_ps+k_i} 出发,代入不同的输入:

输入类型输入表达式稳态误差
相位阶跃1/s1/s00
频率阶跃1/s21/s^200(II 型系统)
频率斜坡1/s31/s^3ω˙e/ωn2\dot\omega_e/\omega_n^2

用终值定理验算频率阶跃(Δω\Delta\omega):

lim⁡s→0s⋅s2s2+kps+ki⋅Δωs2=lim⁡s→0s Δωs2+kps+ki=0✓\lim_{s\to0}s\cdot\frac{s^2}{s^2+k_ps+k_i}\cdot\frac{\Delta\omega}{s^2} =\lim_{s\to0}\frac{s\,\Delta\omega}{s^2+k_ps+k_i}=0\quad ✓

用终值定理验算频率斜坡(斜率 ω˙\dot\omega):

lim⁡s→0s⋅s2s2+kps+ki⋅ω˙s3=lim⁡s→0ω˙s2+kps+ki=ω˙ki=ω˙ωn2\lim_{s\to0}s\cdot\frac{s^2}{s^2+k_ps+k_i}\cdot\frac{\dot\omega}{s^3} =\lim_{s\to0}\frac{\dot\omega}{s^2+k_ps+k_i} =\frac{\dot\omega}{k_i}=\frac{\dot\omega}{\omega_n^2}

⇒ 得到

  Δθss=ω˙eωn2  (6.10)\boxed{\;\Delta\theta_{ss}=\frac{\dot\omega_e}{\omega_n^2}\;} \tag{6.10}
6.5.2 本模型数值

转速参考 0→3000 rpm 用 0.25 s,即 2000 rpm/s:

ω˙e=2000×π30×4=837.8 rad/s2\dot\omega_e=2000\times\frac{\pi}{30}\times4=837.8\ \text{rad/s}^2
Δθss=837.8314.162=0.0085 rad=0.49∘\Delta\theta_{ss}=\frac{837.8}{314.16^2}=0.0085\ \text{rad}=\mathbf{0.49^\circ}

⇒ PLL 在加速段引入的附加相位误差仅 0.5°,可忽略。

6.5.3 带宽选择权衡
ωn\omega_n加速段相位误差抗噪能力适用
2π×302\pi\times301.36°更好噪声大、加速慢
2π×502\pi\times50(当前)0.49°适中本模型
2π×802\pi\times800.19°较差加速快、噪声小

6.6 锁定过程与低速保护

6.6.1 锁定时间

二阶系统按 ζωn\zeta\omega_n 的速率收敛,工程上取

tlock≈3ζωn=30.707×314.16≈13.5 mst_{lock}\approx\frac{3}{\zeta\omega_n}=\frac{3}{0.707\times314.16}\approx\mathbf{13.5\ ms}

⇒ 起动后约 14 ms 内锁定。

6.6.2 低速问题与保护

问题:起动瞬间反电动势接近 0,相位检测器输出被噪声主导,ωpll\omega_{pll} 会乱跳 (实测起动段 0~0.2 s 曲线有密集毛刺)。

保护措施(可选,一行代码):

if Emag_f > 5                      % EMF 足够大才闭合环路
    err = -Ed_pll / Emag_f;
else
    err = 0;                       % 低速冻结,避免噪声驱动
end

代价:引入约 100 rpm 以下的死区(本模型无影响)。


6.7 PLL 与幅值法的完整对照

项幅值法PLL
提取依据∥E∥=ωeψ\|E\|=\omega_e\psiθ˙sig=ωe\dot\theta_{sig}=\omega_e
受幅值误差影响强(衰减 + 纹波双重污染)弱 ✅
受纹波影响强(经平方和非线性整流)弱 ✅
是否需要 ψ\psi需要(且 ψ\psi 需标定)不需要 ✅
是否需要 corrcorr 补偿需要(且随转速变化,难标定)不需要 ✅
相位补偿准确性受 wew_e 偏差拖累准确 ✅
加速段行为无额外误差有 ω˙/ωn2\dot\omega/\omega_n^2(0.49°,可忽略)
低速行为可用有死区(可加保护)
实现复杂度简单中等(多 6 行)

实测对照(3000 rpm 稳态):

指标幅值法(corr 理论式, m=6000)PLL
转速误差+15% ❌+2.6%(NTSM)/ +3.4%(SMO) ✅
角度误差(均值)~0~0 ✅
角度误差(振荡带)±5.7°明显收窄 ✅

7. 完整离散算法

7.1 NTSM-SMO-PLL

输入:u_α, u_β, i_α, i_β, T_s
参数:Rs, L(=Lq), Ld, ψf, j_n, k_n, p, q, k1, m, δ, εa, φs, wc, wf

持久状态:î_α, î_β, I_j, I_k, E_hα, E_hβ, θ_prev, Emag_f, id_f, θ_pll, ∫ε

① 电流误差与分数幂
   x1 = [î_α − i_α ; î_β − i_β]
   xp = sign(x1) ⊙ |x1|^(p/q)

② 积分终端滑模面(带抗饱和)
   I_j ← I_j + Ts·j_n·x1          (限幅 ±50)
   I_k ← I_k + Ts·k_n·xp          (限幅 ±50)
   s   = x1 + I_j + I_k

③ 自适应切换增益
   f = m·|s|·(1+δ) / (δ + exp(−εa·|s|))
   f = min(f, 3m)

④ 控制律
   H = −Rs·x1 + L·[ j_n·x1 + k_n·xp + k1·s + f ⊙ sat(s, φs) ]

⑤ 电流观测器
   î ← î + Ts·(u − Rs·î − H)/L

⑥ 反电动势提取
   E_h ← E_h + wc·Ts·(H − E_h)

⑦ 角度
   θ_raw  = atan2(−E_hα, E_hβ)
   θ      = θ_prev + [mod(θ_raw − θ_prev + π, 2π) − π]
   θ_prev = θ

⑧ 幅值(仅用于 PLL 归一化)
   Emag_inst = √(E_hα² + E_hβ²)
   Emag_f   ← Emag_f + wf·Ts·(Emag_inst − Emag_f)

⑨ PLL
   ε_d = E_hα·cos(θ_pll) + E_hβ·sin(θ_pll)
   ε   = −ε_d / max(Emag_f, 1)
   ∫ε ← ∫ε + Ts·ε
   ω_pll = kp·ε + ki·∫ε
   ω_pll = clamp(ω_pll, ±ω_max)
   θ_pll ← θ_pll + Ts·ω_pll
   θ_pll ← wrap(θ_pll)

⑩ 凸极修正
   θ_comp = θ + atan(ω_pll/wc)
   id_inst = i_α·cos(θ_comp) + i_β·sin(θ_comp)
   id_f   ← id_f + wf·Ts·(id_inst − id_f)
   ψ = ψf + (Ld − L)·id_f

⑪ 输出
   θ_est = θ + atan(ω_pll/wc)
   ω_est = ω_pll
   E_α = E_hα,  E_β = E_hβ,  ψ

7.2 SMO-PLL(差异仅在 ②③④⑤⑥)

②' 线性切换项(无滑模面)
    z = K · sat(x1, φs)          ← 用原始电流误差,不滤波

③' 无自适应增益

④' 无需单独控制律:v = z

⑤' î ← î + Ts·(u − Rs·î − z)/L

⑥' E_h ← E_h + wc·Ts·(z − E_h)   ← 只滤切换项

⑦ 及其后各步与 NTSM 完全相同(含同一套 PLL 参数)。


8. 参数表

8.1 电机参数(PMSM 模块,与 InitFcn 一致)

符号变量值单位
RsR_sRs0.958Ω
LdL_dLd5.25e-3H
LqL_qLq / L12e-3H
ψf\psi_fflux0.1827Wb
pp(极对数)pole4—
VdcV_{dc}Vdc311V
TsT_sTs1e-5s

8.2 NTSM 参数

符号变量值说明调大后的效果
jnj_nj_n500线性积分系数稳态误差消除更快
knk_nk_n4000终端项系数终端收敛更快,低速抖振增大
p/qp/qp,q3/5终端指数 r=0.6r=0.6rr 越小终端特性越强
k1k_1k11500线性滑模项到达更快,稳态 ∥s∥\|s\| 更小
mmm3000自适应增益基准滑模更紧,HH 相位误差更小
δ\deltadelta0.2自适应律参数—
εa\varepsilon_aeps_a2自适应律参数—
ϕs\phi_sphi_s0.5边界层厚度抖振减小,滑模精度下降

8.3 SMO 参数

符号变量值说明
KKK_smo600切换增益
ϕs\phi_sphi_s_smo1.5边界层厚度

8.4 滤波与 PLL 参数

符号变量值说明
wcw_cwc2π×250=15712\pi\times250=1571反电动势低通截止(rad/s)
wfw_fwf2π×150=9422\pi\times150=942幅值 / idi_d 低通截止(rad/s)
ζ\zeta函数内常数0.707PLL 阻尼比
ωn\omega_nwn_pll(函数内)2π×50=314.162\pi\times50=314.16PLL 自然频率(rad/s)
kpk_p由 (6.9) 算出444.3PLL 比例增益
kik_i由 (6.9) 算出9.87×1049.87\times10^4PLL 积分增益
ωmax\omega_{max}we_max(函数内)3000PLL 输出限幅(rad/s)

⚠️ 两支观测器的 PLL 参数必须完全一致,否则对比不公平。 建议后续把 wn_pll、zeta、we_max 提到 InitFcn 由外部传入统一管理。


9. 已知局限与后续工作

#局限影响后续
1反电动势幅值 EmagE_{mag} 仍被纹波整流抬高仅影响诊断量,不影响转速/角度可增大 mm 使滑模更紧
2NTSM 的 HH 含线性项,基波相位与 EexE_{ex} 有约 2.7° 偏差(m=3000m=3000)贡献部分角度误差增大 mm(6000 时降到 0.15°)
3低速(∥E∥≲5\|E\|\lesssim5 V)时 PLL 无有效输入起动段转速有毛刺加低速冻结保护(6.6.2 节)
4PLL 增益硬编码在函数内不便统一调参提到 InitFcn 由外部传入
5p/qp/q、jnj_n、knk_n、k1k_1、mm 等参数未做系统性整定未必处于最优后续做参数扫描
6仅验证了 500~3000 rpm 区间弱磁区(>2110 rpm 基准转速)未充分验证补做高速工况
7未做参数偏差鲁棒性对比NTSM 的理论优势未验证改 PMSM 块参数对比

附录 A:关键公式速查

公式编号
uαβ=Rsiαβ+Lqdiαβdt+Eexu_{\alpha\beta}=R_si_{\alpha\beta}+L_q\frac{di_{\alpha\beta}}{dt}+E_{ex}(1.1)
ψ=ψf+(Ld−Lq)id\psi=\psi_f+(L_d-L_q)i_d(1.2)
Eex=ωeψ[−sin⁡θe;cos⁡θe]E_{ex}=\omega_e\psi[-\sin\theta_e;\cos\theta_e],∥Eex∥=ωeψ\|E_{ex}\|=\omega_e\psi(1.3)
x1=i^−ix_1=\hat i-i(2.1)
Lqx˙1=−Rsx1−H+EexL_q\dot x_1=-R_sx_1-H+E_{ex}(3.1)
s=x1+∫jnx1+∫kn∥x1∥rsgn(x1)s=x_1+\int j_nx_1+\int k_n\|x_1\|^r\mathrm{sgn}(x_1)(3.2)
H=−Rsx1+Lq[jnx1+kn∥x1∥rsgn(x1)+k1s+fsat(s)]H=-R_sx_1+L_q[j_nx_1+k_n\|x_1\|^r\mathrm{sgn}(x_1)+k_1s+f\mathrm{sat}(s)](3.3)
f=min⁡{m∥s∥(1+δ)/(δ+e−εa∥s∥),3m}f=\min\{m\|s\|(1+\delta)/(\delta+e^{-\varepsilon_a\|s\|}),3m\}(3.4)
x˙1=−[jnx1+kn∥x1∥rsgn(x1)+k1s+fsat(s)]+Eex/Lq\dot x_1=-[j_nx_1+k_n\|x_1\|^r\mathrm{sgn}(x_1)+k_1s+f\mathrm{sat}(s)]+E_{ex}/L_q(3.5)
s˙=−k1s−fsat(s)+Eex/Lq\dot s=-k_1s-f\mathrm{sat}(s)+E_{ex}/L_q(3.6)
k1s+fsat(s)=Eex/Lqk_1s+f\mathrm{sat}(s)=E_{ex}/L_q(准稳态)(3.7)
H=−Rsx1+Lq[jnx1+kn∥x1∥rsgn(x1)]+EexH=-R_sx_1+L_q[j_nx_1+k_n\|x_1\|^r\mathrm{sgn}(x_1)]+E_{ex}(3.8)
H→EexH\to E_{ex}(x1→0x_1\to0)(3.9)
z=Ksat(x1,ϕs)z=K\mathrm{sat}(x_1,\phi_s),zeq=Eexz_{eq}=E_{ex}(4.1)(4.3)
Eh=LPF(v,wc)E_h=\mathrm{LPF}(v,w_c)(5.1)
∥G∥=wc/wc2+ω2\|G\|=w_c/\sqrt{w_c^2+\omega^2},∠G=−arctan⁡(ω/wc)\angle G=-\arctan(\omega/w_c)(5.2)
θ=unwrap[atan2(−Ehα,Ehβ)]\theta=\mathrm{unwrap}[\mathrm{atan2}(-E_{h\alpha},E_{h\beta})](5.3)(5.4)
θest=θ+arctan⁡(ωpll/wc)\theta_{est}=\theta+\arctan(\omega_{pll}/w_c)(5.5)
ψ=ψf+(Ld−Lq)id,f\psi=\psi_f+(L_d-L_q)i_{d,f}(5.6)
εd=Ehαcos⁡θpll+Ehβsin⁡θpll=∥E∥sin⁡(θpll−θsig)\varepsilon_d=E_{h\alpha}\cos\theta_{pll}+E_{h\beta}\sin\theta_{pll}=\|E\|\sin(\theta_{pll}-\theta_{sig})(6.1)(6.2)
ε=−εd/max⁡(∥Eh∥,1)≈θsig−θpll\varepsilon=-\varepsilon_d/\max(\|E_h\|,1)\approx\theta_{sig}-\theta_{pll}(6.3)
ωpll=kpε+ki∫ε\omega_{pll}=k_p\varepsilon+k_i\int\varepsilon,θpll=∫ωpll\theta_{pll}=\int\omega_{pll}(6.4)(6.5)
s2+kps+ki=0s^2+k_ps+k_i=0(闭环特征方程)(6.7)
ωn=ki\omega_n=\sqrt{k_i},ζ=kp/(2ωn)\zeta=k_p/(2\omega_n);ki=ωn2k_i=\omega_n^2,kp=2ζωnk_p=2\zeta\omega_n(6.8)(6.9)
Δθss=ω˙e/ωn2\Delta\theta_{ss}=\dot\omega_e/\omega_n^2(6.10)