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 如何提取位置信息?
实际工程中,我们不会直接拿幅值去算。因为电流里还混着基波分量和噪声。常用的做法是:
- 带通滤波:先把高频电流分量从总电流里滤出来。
- 幅值解调:用 sin(ω_h * t) 做乘法,再低通滤波,得到幅值包络。
- 位置观测:用锁相环(PLL)或者反正切函数,从包络信号里提取 θ_r。
我曾经在调试时,发现反正切算出来的位置抖动很大。后来改用PLL,配合合适的带宽,效果就稳多了。这里有个小技巧:PLL的带宽要设得比注入频率低一个数量级,不然会把高频噪声引进来。
实战小贴士:
注入信号的幅值 V_h 和频率 ω_h 的选择,直接影响位置估计精度。我一般这样选:
- 频率:500Hz ~ 1kHz(避开PWM开关频率和基波频率)
- 幅值:母线电压的5%~10%(保证信噪比,又不至于引起明显噪声)
如果电机凸极率(L_q/L_d)比较大,可以适当降低幅值,减少损耗。
3.6 核心逻辑流程图
下面我用一张SVG图,把整个高频信号注入法的流程串起来。你看完应该能一目了然。
3.7 几个容易踩的坑
我曾经踩过的坑,分享给你:
- 滤波器相位延迟:带通滤波器和低通滤波器都会引入相位延迟。如果延迟太大,位置估计会滞后,导致系统不稳定。我一般用二阶巴特沃斯滤波器,延迟和衰减比较均衡。
- 注入频率与PWM载波频率的谐波:如果注入频率刚好是PWM载波频率的整数分之一,可能会产生差拍噪声。我习惯把注入频率设在PWM频率的1/10到1/20之间,避开整数倍关系。
- 死区效应:逆变器的死区时间会引入低次谐波,干扰位置提取。我一般在电流采样后加一个死区补偿算法,效果很明显。
好了,这一节的内容就到这儿。高频信号注入法的数学推导,说白了就是利用电感的凸极效应,把位置信息调制到高频电流上,再解调出来。你只要记住 i_βh ∝ sin(2θ_r) 这个核心关系,后面的滤波和解调都是工程实现的问题。
下一节我会讲具体的软件实现和代码框架,到时候咱们再细聊。