3. 高频信号注入法原理:高频电压信号注入后,电流响应的数学推导

好,咱们接着聊。上一节我讲了为什么要做初始位置检测,这一节咱们就深入进去,看看高频信号注入法到底是怎么工作的。

说白了,高频信号注入法的核心思路就一句话:给电机定子叠加上一个高频电压信号,然后从电流响应里把转子位置信息“扒”出来。你想想看,电机在静止或者低速时,反电动势几乎为零,传统的基于反电动势的方法根本用不了。那怎么办?我们就主动“制造”一个信号,让转子位置信息体现在电流上。

3.1 为什么选高频?

你可能要问,为什么非得用高频信号?低频不行吗?

嗯,这里要注意。我们注入的信号频率,要远高于电机的基波运行频率。这样做有几个好处:

  • 避免产生转矩:高频信号产生的磁场变化很快,转子机械惯性大,根本来不及响应。所以电机不会转起来,保证了系统安全。
  • 利用凸极效应:PMSM(尤其是内置式IPMSM)的d轴和q轴电感不一样。高频信号下,这个电感差异会被放大,电流响应里就包含了位置信息。
  • 信噪比高:高频信号可以避开基波电流和PWM开关噪声的频段,提取起来更干净。

我在项目中遇到过,有人用1kHz的信号,结果电机嗡嗡响,还轻微抖动。后来我换成了500Hz到1kHz之间的频率,效果就好多了。这个频率选择,其实是个经验活。

3.2 数学模型推导

好,咱们开始推公式。别怕,我会一步步拆开讲。

首先,PMSM在静止坐标系(αβ坐标系)下的电压方程是:

v_α = R_s * i_α + d/dt (L_α * i_α + L_αβ * i_β)
v_β = R_s * i_β + d/dt (L_αβ * i_α + L_β * i_β)

其中,L_α、L_β、L_αβ 这些电感参数,都跟转子位置 θ_r 有关。具体关系是:

L_α = L_avg + ΔL * cos(2θ_r)
L_β = L_avg - ΔL * cos(2θ_r)
L_αβ = ΔL * sin(2θ_r)

这里:

  • L_avg = (L_d + L_q) / 2,平均电感
  • ΔL = (L_d - L_q) / 2,半差电感(凸极率的关键)

你看,电感里藏着 2θ_r 的信息。这就是我们能提取位置的根本原因。

3.3 注入高频电压信号

我们通常在α轴(或者d轴)上注入一个高频正弦电压:

v_αh = V_h * cos(ω_h * t)
v_βh = 0

其中 V_h 是幅值,ω_h 是高频角频率。我个人习惯把幅值控制在母线电压的5%~10%之间,太小了信噪比差,太大了会引入噪声和损耗。

因为高频下,电阻 R_s 远小于 ω_h * L,所以可以忽略电阻压降。电压方程简化为:

v_αh ≈ L_α * di_αh/dt + L_αβ * di_βh/dt
0 ≈ L_αβ * di_αh/dt + L_β * di_βh/dt

解这个方程组,得到电流的微分:

di_αh/dt = (L_β * v_αh) / (L_α * L_β - L_αβ²)
di_βh/dt = (-L_αβ * v_αh) / (L_α * L_β - L_αβ²)

分母 L_α * L_β - L_αβ² 其实就是 L_d * L_q,是个常数。所以:

di_αh/dt = (L_β / (L_d * L_q)) * V_h * cos(ω_h * t)
di_βh/dt = (-L_αβ / (L_d * L_q)) * V_h * cos(ω_h * t)

3.4 积分得到电流响应

对时间积分,得到高频电流响应:

i_αh = (L_β / (L_d * L_q)) * (V_h / ω_h) * sin(ω_h * t)
i_βh = (-L_αβ / (L_d * L_q)) * (V_h / ω_h) * sin(ω_h * t)

把 L_β 和 L_αβ 的表达式代进去:

i_αh = (L_avg - ΔL * cos(2θ_r)) / (L_d * L_q) * (V_h / ω_h) * sin(ω_h * t)
i_βh = (-ΔL * sin(2θ_r)) / (L_d * L_q) * (V_h / ω_h) * sin(ω_h * t)

关键结论来了:

β轴的高频电流 i_βh 的幅值,正比于 sin(2θ_r)。也就是说,只要我们能提取出 i_βh 的幅值,就能算出转子位置 θ_r

3.5 如何提取位置信息?

实际工程中,我们不会直接拿幅值去算。因为电流里还混着基波分量和噪声。常用的做法是:

  1. 带通滤波:先把高频电流分量从总电流里滤出来。
  2. 幅值解调:用 sin(ω_h * t) 做乘法,再低通滤波,得到幅值包络。
  3. 位置观测:用锁相环(PLL)或者反正切函数,从包络信号里提取 θ_r。

我曾经在调试时,发现反正切算出来的位置抖动很大。后来改用PLL,配合合适的带宽,效果就稳多了。这里有个小技巧:PLL的带宽要设得比注入频率低一个数量级,不然会把高频噪声引进来。

实战小贴士:

注入信号的幅值 V_h 和频率 ω_h 的选择,直接影响位置估计精度。我一般这样选:

  • 频率:500Hz ~ 1kHz(避开PWM开关频率和基波频率)
  • 幅值:母线电压的5%~10%(保证信噪比,又不至于引起明显噪声)

如果电机凸极率(L_q/L_d)比较大,可以适当降低幅值,减少损耗。

3.6 核心逻辑流程图

下面我用一张SVG图,把整个高频信号注入法的流程串起来。你看完应该能一目了然。

高频信号注入法核心流程 步骤1:注入高频电压 v_αh = V_h · cos(ω_h · t) 步骤2:电流响应 i_βh ∝ sin(2θ_r) · sin(ω_h · t) 步骤3:带通滤波 提取高频电流分量 步骤4:幅值解调 乘以 sin(ω_h·t) → 低通滤波 步骤5:PLL / 反正切 → θ_r 关键公式 i_αh = (L_avg - ΔL·cos2θ) / (L_d·L_q) · (V_h/ω_h) · sin(ω_h·t) i_βh = (-ΔL·sin2θ) / (L_d·L_q) · (V_h/ω_h) · sin(ω_h·t)

3.7 几个容易踩的坑

我曾经踩过的坑,分享给你:

  • 滤波器相位延迟:带通滤波器和低通滤波器都会引入相位延迟。如果延迟太大,位置估计会滞后,导致系统不稳定。我一般用二阶巴特沃斯滤波器,延迟和衰减比较均衡。
  • 注入频率与PWM载波频率的谐波:如果注入频率刚好是PWM载波频率的整数分之一,可能会产生差拍噪声。我习惯把注入频率设在PWM频率的1/10到1/20之间,避开整数倍关系。
  • 死区效应:逆变器的死区时间会引入低次谐波,干扰位置提取。我一般在电流采样后加一个死区补偿算法,效果很明显。

好了,这一节的内容就到这儿。高频信号注入法的数学推导,说白了就是利用电感的凸极效应,把位置信息调制到高频电流上,再解调出来。你只要记住 i_βh ∝ sin(2θ_r) 这个核心关系,后面的滤波和解调都是工程实现的问题。

下一节我会讲具体的软件实现和代码框架,到时候咱们再细聊。


专注资料整理