2. 采样同步问题:采样不同步的成因、采样延迟对控制性能的影响、同步误差的数学模型
好,咱们进入正题。采样同步,说白了就是让控制器“看到”的电流、电压值,跟电机里真实发生的时刻对上号。我见过不少工程师,算法写得漂亮,PI参数调得飞起,结果一上高速就崩。为什么?采样不同步。
这一节,我把采样不同步的根因、它怎么搞坏你的控制性能,以及怎么用数学描述这个误差,一次讲透。
2.1 采样不同步的成因
先问个问题:你觉得采样是“瞬间”完成的吗?
不是。从PWM开关动作,到ADC采样,再到CPU读到数据,中间有一堆延迟。我把它分成三类:
- 物理延迟:电流从绕组流到采样电阻,再经过运放、滤波器,信号本身就有相移。尤其是你用了低通滤波,高频分量会被削掉,相位滞后就来了。
- 触发时机错位:这是最常见的坑。PWM的载波周期和ADC的采样触发信号,如果没对齐,采样点就会“漂”。比如你用单电阻采样,却把采样点放在PWM开关切换的瞬间——那电流还在震荡,你采到的全是毛刺。
- 计算与传输延迟:ADC转换需要时间(比如12位ADC要几百ns到几μs),DMA搬运数据也要时间。更关键的是,你从采样到执行SVPWM输出,中间隔了一个完整的控制周期。这个“一拍延迟”是数字控制的固有特性。
2.2 采样延迟对控制性能的影响
采样延迟不是“慢一点点”那么简单。它会改变整个控制环路的相位特性。你想想看,你采到的电流是100μs之前的电流,但你用这个“旧数据”去算电压指令,相当于给系统额外加了一个纯滞后环节。
具体影响有三点:
- 电流环带宽受限:延迟越大,相位裕度越低。为了稳定,你只能降低PI的增益,结果就是电流环响应变慢,动态性能下降。
- 弱磁区失控风险:在弱磁区,电流矢量角度对延迟极其敏感。采样延迟会导致实际的电流矢量滞后于指令,轻则转矩波动,重则过流保护触发。
- 谐波注入失效:如果你做谐波抑制(比如6次、12次谐波补偿),采样延迟会让补偿相位完全错位,越补越乱。
2.3 同步误差的数学模型
咱们用数学把这个问题说清楚。假设理想情况下,你在时刻 \( t_k \) 采样电流 \( i(t_k) \),然后立即计算并输出 \( v(t_k) \)。但实际上,你采到的是 \( i(t_k - \tau_d) \),其中 \( \tau_d \) 是总延迟时间。
在频域里,这个延迟对应一个相位滞后:
G_d(s) = e^{-s * τ_d}
对于角频率 \( \omega_e \)(电角速度),相位滞后为:
Δθ = ω_e * τ_d
你看,这个公式很简单,但信息量很大。\( \omega_e \) 越大,\( \tau_d \) 越大,相位误差 \( \Delta\theta \) 就越大。在弱磁区,\( \omega_e \) 可能是基速的2~3倍,同样的 \( \tau_d \) 造成的误差也翻倍。
更精确地,考虑数字控制的一拍延迟,实际的控制时序是这样的:
| 时刻 | 事件 |
|---|---|
| \( t_k \) | PWM载波到达采样点,ADC触发 |
| \( t_k + \tau_{adc} \) | ADC转换完成,DMA搬运数据 |
| \( t_k + \tau_{adc} + \tau_{calc} \) | CPU完成电流环计算,更新PWM比较值 |
| \( t_{k+1} \) | 新的PWM周期开始,输出实际生效 |
所以,从采样到输出生效,总延迟 \( \tau_d = \tau_{adc} + \tau_{calc} + T_{pwm}/2 \)(假设PWM更新在下一个周期开始生效)。这个 \( T_{pwm}/2 \) 就是那个“一拍延迟”的平均值。
下面这张图,我把采样延迟的成因和影响串起来了,方便你理解整个链条: