在工业自动化与电力驱动领域,永磁同步电机(PMSM)凭借其高功率密度、优异能效比和卓越的动态响应特性,已成为现代运动控制系统的首选执行机构。传统控制方案依赖机械式位置传感器(如光电编码器、旋转变压器)获取转子信息,但这带来了三大痛点:传感器成本占系统总成本15-30%;恶劣环境下故障率提升40%以上;机械安装误差导致控制精度下降。无传感器控制技术通过算法重构转子位置信息,完美解决了这些工程难题。
高频信号注入法作为无感控制的核心技术路线之一,特别适用于零低速工况。其物理基础是PMSM的磁路不对称特性——当转子d轴(永磁体磁极方向)与q轴(正交方向)存在电感差异(Ld≠Lq)时,电机呈现凸极效应。我们向定子绕组注入特定高频信号后,转子位置信息会调制在高频电流响应中,通过解调算法即可提取位置估计值。
关键提示:高频注入法在表贴式PMSM(SPMSM,Ld≈Lq)中效果有限,更适用于内置式PMSM(IPMSM,Ld明显小于Lq)。实际应用中需先确认电机类型。
相比正弦波注入,方波注入具有三大显著优势:
典型注入参数选择原则:
python复制# 方波信号生成与频谱分析示例
import numpy as np
import matplotlib.pyplot as plt
fs = 10e3 # 采样率10kHz
f_inj = 1.5e3 # 注入频率1.5kHz
t = np.arange(0, 0.01, 1/fs)
square_wave = 0.5 * np.sign(np.sin(2*np.pi*f_inj*t)) # 幅值0.5pu
# 添加死区效应模拟
deadtime = int(fs/(f_inj*100)) # 0.5%死区
square_wave[:deadtime] = 0
plt.figure(figsize=(12,4))
plt.subplot(121)
plt.plot(t[:100], square_wave[:100])
plt.title('时域波形(含死区)')
plt.grid(True)
plt.subplot(122)
fft_result = np.abs(np.fft.fft(square_wave)[:len(t)//2])
freq = np.fft.fftfreq(len(t), 1/fs)[:len(t)//2]
plt.stem(freq, fft_result, 'b', markerfmt=" ", basefmt="-b")
plt.title('频谱分布')
plt.xlim(0, 5*f_inj)
plt.grid(True)
plt.show()
高频响应电流包含位置信息的调制过程可表示为:
\[
i_{h} = \frac{V_{inj}}{ω_{h}L_{d}L_{q}}[(L_{d}+L_{q})\sin(ω_{h}t) + (L_{d}-L_{q})\sin(2θ_{r}-ω_{h}t)]
\]
其中θr为转子位置角。通过同步解调技术提取二次谐波分量:
实测技巧:使用移动平均滤波器替代传统FIR,可减少2个采样周期的延迟。某电动车驱动项目实测显示,此举使零速位置误差从±5°降低到±2°。
在α-β静止坐标系下,PMSM电压方程可表述为:
\[
\begin{cases}
\frac{di_{α}}{dt} = -\frac{R_{s}}{L_{s}}i_{α} + \frac{1}{L_{s}}(u_{α} - e_{α}) \
\frac{di_{β}}{dt} = -\frac{R_{s}}{L_{s}}i_{β} + \frac{1}{L_{s}}(u_{β} - e_{β})
\end{cases}
\]
其中反电动势eα、eβ包含转速与位置信息:
\[
\begin{cases}
e_{α} = -ω_{r}ψ_{f}\sinθ_{r} \
e_{β} = ω_{r}ψ_{f}\cosθ_{r}
\end{cases}
\]
定义电流误差作为滑模变量:
\[
\begin{cases}
s_{α} = \hat{i}{α} - i \
s_{β} = \hat{i}{β} - i
\end{cases}
\]
根据Lyapunov稳定性理论,取V = 0.5(sα² + sβ²),通过设计控制律使dV/dt < 0,可得观测器方程:
\[
\begin{cases}
\frac{d\hat{i}{α}}{dt} = -\frac{R{s}}{L_{s}}\hat{i}{α} + \frac{u{α}}{L_{s}} - \frac{k}{L_{s}}\text{sgn}(s_{α}) \
\frac{d\hat{i}{β}}{dt} = -\frac{R{s}}{L_{s}}\hat{i}{β} + \frac{u{β}}{L_{s}} - \frac{k}{L_{s}}\text{sgn}(s_{β})
\end{cases}
\]
增益k的选择需满足匹配不确定性上界:
\[
k > \max(|e_{α}|, |e_{β}|) + η \quad (η>0)
\]
传统符号函数引发的高频抖振问题可通过以下方法抑制:
c复制#define SAT(x,δ) (fabs(x)>δ ? (x>0?1:-1) : x/δ)
matlab复制% 离散化设计示例
Ts = 100e-6; % 100μs采样周期
bandwidth = 2*pi*500; % 500Hz带宽
k = Ls*bandwidth; % 增益自动匹配
c复制float adaptive_k = base_k + beta * fabs(omega_est);
某工业伺服系统实测数据对比:
| 方案类型 | 位置误差(°) | 转矩脉动(%) |
|---|---|---|
| 传统符号函数 | ±1.5 | 4.2 |
| 饱和函数改进 | ±0.8 | 2.1 |
| 自适应增益 | ±0.3 | 1.5 |
高频注入与滑模观测器的优势频段互补:
平滑切换策略实现步骤:
工程经验:切换阈值ω1取3%额定转速,ω2取8%额定转速。某电梯驱动项目测试表明,该方案可将切换瞬态转矩波动控制在±2%以内。
计算资源分配:
定点数优化:
c复制typedef struct {
int16_t i_alpha; // Q12格式(±8.0A)
int16_t i_beta; // Q12格式
int32_t i_alpha_h; // Q24格式存储高频分量
} CurrentObs_t;
抗饱和处理:
c复制void CurrentObserver_Update(CurrentObs_t *obs, int16_t u_alpha, int16_t u_beta) {
int32_t tmp = (int32_t)obs->i_alpha * Rs_Ls - (u_alpha / Ls);
// 限幅处理
tmp = (tmp > INT16_MAX) ? INT16_MAX : (tmp < INT16_MIN) ? INT16_MIN : tmp;
obs->i_alpha = (int16_t)tmp;
}
| 故障现象 | 根本原因 | 解决方案 |
|---|---|---|
| 位置估计值抖动大 | 电感参数不匹配 | 离线参数辨识+在线补偿 |
| 低速启动失败 | 初始位置误差>90° | 预定位脉冲注入 |
| 响应电流畸变 | 逆变器死区效应 | 死区补偿+谐波抑制 |
发散问题:
稳态误差:
matlab复制% 参数敏感性测试脚本示例
Rs_vec = linspace(0.8*Rs_nom, 1.2*Rs_nom, 10);
for i = 1:length(Rs_vec)
Rs = Rs_vec(i);
sim('smo_model');
error(i) = rms(theta_est - theta_real);
end
高频噪声放大:
某数控机床主轴驱动调试记录:
| 特性 | 方波注入 | 正弦波注入 |
|---|---|---|
| 硬件需求 | 低(PWM直出) | 高(需DAC或高分辨率PWM) |
| 信号处理复杂度 | 中等(解调简单) | 高(需正交锁相) |
| 抗干扰能力 | 强(陡峭边沿) | 中等 |
| 适用速度范围 | 0-2%额定转速 | 0-5%额定转速 |
《高频正弦注入的PMSM无感控制》核心贡献:
《正弦注入技术研究》创新点:
实验平台搭建建议: