滑模观测器(SMO)原理:滑模观测器的基本思想、滑模面设计、等效控制与低通滤波
好,咱们今天来聊聊滑模观测器。说实话,在无感FOC的各种方案里,滑模观测器(SMO)是我个人用得最多、也最放心的一个。为什么?因为它结构简单、鲁棒性强,说白了就是“皮实”。你电机参数变一点、电压有点波动,它照样能干活。
但皮实归皮实,调起来也有不少坑。我记得刚入行那会儿,第一次调SMO,波形抖得跟心电图似的,还以为是代码写错了。后来才明白,滑模这东西,天生就带“抖振”,关键是怎么把它压下去。
这一章,咱们就把SMO的底裤扒干净。从基本思想到滑模面设计,再到等效控制和低通滤波,一步步来。
1. 滑模观测器的基本思想
滑模观测器的核心思想,其实就一句话:让估计值“滑”到真实值上去,然后死死贴住。
怎么滑?靠一个不连续的控制律——通常是符号函数 sign()。你想想看,如果估计电流比实际电流大,我就让估计值往下拉;如果估计电流比实际电流小,我就让它往上推。这样来回切换,估计值就会在真实值附近来回震荡,最终“滑”到真实值上。
这个过程,在相平面里看,就是一条轨迹线滑向一个固定的面——这个面就叫滑模面。
核心思想总结:
- 构造一个滑模面 s(x) = 0
- 设计控制律,使系统状态从任意初始点都能到达滑模面
- 一旦到达,系统状态就被“约束”在滑模面上运动
- 滑模面上的运动只取决于滑模面本身,与系统参数和外部扰动无关
嗯,这里要注意:滑模观测器不是直接观测反电动势的,而是先观测电流,再从电流误差里“提取”反电动势信息。这个提取过程,就是咱们后面要讲的等效控制。
为了让你更直观地理解整个流程,我画了张图:
2. 滑模面设计
滑模面怎么设计?说白了,就是定义“误差”怎么算。
对于电机电流观测,最自然的滑模面就是电流估计误差:
s = î − i
其中 î 是估计电流,i 是实际采样电流。当 s = 0 时,说明估计电流等于实际电流,观测器就“到位”了。
但这里有个细节:我们用的是α-β坐标系下的电流。所以实际上有两个滑模面:
sα = îα − iα
sβ = îβ − iβ
每个轴各管各的,互不干扰。这也是滑模观测器的一个优点——解耦性好。
我的经验:滑模面设计得越“陡”,收敛越快,但抖振也越大。我一般先让滑模增益 K 取大一点,确保能滑上去,然后再慢慢往下减,找到一个平衡点。
3. 等效控制与低通滤波
好,现在观测器已经滑上去了,s ≈ 0。那反电动势信息藏在哪里?
藏在控制律的输出里。
你看,滑模控制律是:
Z = K · sign(s)
这个 Z 是一个高频切换信号。当系统在滑模面上运动时,Z 的高频分量被“平均”掉,剩下的低频分量就是等效控制 Z_eq。
而 Z_eq 正好等于反电动势!
所以,提取反电动势的方法就是:对 Z 做低通滤波。
Eα ≈ LPF( K · sign(sα) )
Eβ ≈ LPF( K · sign(sβ) )
低通滤波的截止频率怎么选?我一般取开关频率的 1/10 到 1/20。比如 PWM 频率 10kHz,LPF 截止频率就设在 500Hz~1kHz 之间。
注意:低通滤波会引入相位延迟。你滤得越狠,相位滞后越大,最终估算的转子位置误差也越大。我见过有人把截止频率设得太低,结果电机高速运行时位置误差大到直接失步。
为了帮你快速选型,我把不同截止频率的影响整理成了表格:
| 截止频率 | 滤波效果 | 相位延迟 | 适用场景 |
|---|---|---|---|
| 高(>2kHz) | 差,抖振明显 | 小 | 高速运行,对延迟敏感 |
| 中(500Hz~2kHz) | 中等 | 中等 | 大多数通用场合 |
| 低(<500Hz) | 好,信号平滑 | 大 | 低速或对精度要求不高 |
我个人习惯是:先按 1kHz 起步,跑起来看波形。如果反电动势波形毛刺太多,就往下调;如果相位滞后导致位置误差偏大,就往回调。调两三次就能找到感觉。
4. 避坑指南
最后,分享几个我踩过的坑:
- 滑模增益 K 太小:系统滑不到滑模面上,观测器根本不收敛。表现为电流误差一直抖,反电动势出不来。
- 低通滤波阶数选太高:二阶、三阶滤波虽然平滑,但相位延迟也大。我一般只用一阶,够用就行。
- 符号函数直接用在电流环里:sign() 的硬切换会引入高频噪声。我后来改用饱和函数 sat() 或 sigmoid 函数,抖振明显减轻。
一句话总结:滑模观测器就是靠“抖”来逼近真实值,再用低通滤波把“抖”去掉,剩下的就是反电动势。调参的核心就是平衡“抖得够不够快”和“滤得干不干净”。