4、滑模观测器设计:滑模控制理论基础、滑模观测器结构、滑模面设计与切换函数选择、抖振问题及抑制方法

4.1 滑模控制理论基础——为什么它这么“倔”?

好,咱们开始聊滑模观测器。说实话,我刚入行那会儿,第一次看到滑模控制的相轨迹图,心里就一个感觉:这玩意儿真倔。它非要沿着一条线来回穿越,像极了强迫症患者。

滑模控制的核心思想其实很简单:设计一个“滑模面”,然后让系统状态不管从哪出发,最终都被拽到这个面上,并沿着它滑向平衡点。你想想看,这就像在山坡上挖了一条水渠,水(系统状态)不管从哪流过来,最终都得顺着水渠走。

数学上,我们定义一个滑模面函数 s(x)=0。控制目标就是让 s(x) 趋近于0。这里有个关键条件——可达性条件

s·ṡ < 0

这个不等式说白了就是:系统状态必须朝着滑模面运动,不能跑反了。我在项目中遇到过有人把符号搞反,结果系统直接发散,电机嗡嗡响,吓得我赶紧断电。

4.2 滑模观测器结构——怎么把“倔强”用在观测上?

滑模观测器,就是把滑模控制的思想用在状态估计上。我们拿PMSM的无传感器控制来说,需要估计的是反电动势,进而算出转子位置和速度。

PMSM在αβ坐标系下的电流方程是这样的:

diα/dt = (-Rs/Ls)·iα + (1/Ls)·uα - (1/Ls)·eα
diβ/dt = (-Rs/Ls)·iβ + (1/Ls)·uβ - (1/Ls)·eβ

其中 eα、eβ 就是反电动势,包含转子位置信息。我们构造一个滑模观测器,用估计电流和实际电流的误差来驱动滑模控制律。

观测器结构可以写成:

dîα/dt = (-Rs/Ls)·îα + (1/Ls)·uα - (1/Ls)·k·sign(îα - iα)
dîβ/dt = (-Rs/Ls)·îβ + (1/Ls)·uβ - (1/Ls)·k·sign(îβ - iβ)

这里 k 是滑模增益,sign() 是切换函数。当估计电流收敛到实际电流时,滑模控制律的输出就等效于反电动势。

核心思路:滑模观测器本质上是一个“强迫收敛”的过程。它用不连续的切换信号,硬生生把估计误差压到零。代价就是——抖振。

4.3 滑模面设计与切换函数选择——细节决定成败

滑模面怎么选?我个人习惯用线性滑模面,也就是 s = c·x₁ + x₂。对于电流观测器,滑模面通常直接取电流误差本身:

sα = îα - iα
sβ = îβ - iβ

简单粗暴,但有效。为什么?因为电流误差本身就是我们需要消除的量。

接下来是切换函数的选择。经典的是 sign() 函数:

sign(x) =  1,  x > 0
          0,  x = 0
         -1,  x < 0

但 sign() 函数有个大问题——它会产生高频抖振。我在调试一个20kHz的驱动器时,用 sign() 函数,结果电流波形上全是毛刺,位置估计误差能到5度以上。

所以,实际工程中常用的是饱和函数 sat()双曲正切函数 tanh()

sat(s, Δ) =  s/Δ,  |s| ≤ Δ
            sign(s),  |s| > Δ

Δ 是边界层厚度。Δ 越小,越接近 sign(),抖振越严重;Δ 越大,抖振越小,但观测精度会下降。这是个 trade-off。

切换函数 优点 缺点 适用场景
sign() 结构简单,收敛快 抖振严重 理论分析、低精度场合
sat() 抖振小,实现容易 边界层内精度下降 大多数工业应用
tanh() 平滑过渡,抖振最小 计算量稍大 高性能伺服驱动

我的经验:对于通用变频器,用 sat() 函数就够了,Δ 取0.01~0.05倍的额定电流。对于伺服驱动器,我建议用 tanh(),虽然计算量大了点,但位置估计精度能提升一个档次。

4.4 抖振问题及抑制方法——工程师的噩梦与救星

抖振,说白了就是滑模控制天生的“坏脾气”。它源于不连续的切换控制,在物理系统中表现为高频振荡。轻则电流噪声大,重则电机发热、甚至损坏轴承。

为什么会抖振?因为理想的滑模控制需要无限高的切换频率,但实际系统有采样周期、执行器延迟、传感器噪声。这些非理想因素导致状态无法精确停留在滑模面上,而是在附近来回穿越。

抑制抖振,我总结了几种实用方法:

  1. 边界层法:用 sat() 或 tanh() 替代 sign(),这是最直接的方法。我曾经在一个项目中,把 sign() 换成 sat() 后,电流THD从15%降到了3%以下。
  2. 高阶滑模:比如超螺旋算法(Super-Twisting)。它把不连续控制作用到滑模面的高阶导数上,从根源上减少抖振。代码实现稍复杂,但效果确实好。
  3. 低通滤波器:在滑模输出后加一个低通滤波器。注意,滤波器会引入相位延迟,需要做相位补偿。我一般用二阶巴特沃斯滤波器,截止频率设为电机电气频率的5~10倍。
  4. 自适应增益:让滑模增益 k 随工况变化。低速时用小增益,高速时用大增益。这样可以避免不必要的抖振。

注意:低通滤波器虽然能抑制抖振,但会滤掉高频反电动势信息,导致位置估计在动态响应时滞后。我曾经吃过这个亏——滤波器加得太狠,电机一加速就失步。后来改用自适应截止频率才解决。

最后,我想说一句:滑模观测器不是万能的。它鲁棒性强,但抖振是绕不开的坎。实际工程中,我通常把滑模观测器作为“粗估计”,再用锁相环或卡尔曼滤波器做“细估计”。这样既保留了鲁棒性,又获得了平滑的输出。

嗯,这一节就到这里。下一节我们讲如何从反电动势中提取转子位置和速度,以及锁相环的设计细节。