1. 项目背景与核心价值
在电机控制领域,无感FOC(Field Oriented Control)技术正逐渐成为工业驱动和高性能运动控制的主流方案。与传统有传感器方案相比,无感FOC省去了物理位置传感器,降低了系统成本和故障率,但同时也带来了转子位置观测的技术挑战。脉振高频注入法(Pulsating High-Frequency Injection)作为解决零低速状态下位置观测的经典方法,其实现原理和工程实践值得深入探讨。
我在工业伺服系统开发中,曾遇到多个需要低速大扭矩启动的场景。传统反电动势观测器在接近零速时完全失效,而高频注入法却能稳定工作。本文将结合STM32平台的实际案例,拆解该方法从信号注入到位置解调的全流程实现,包含示波器实测波形与代码片段。
2. 高频注入法的基本原理
2.1 凸极效应与位置敏感特性
永磁同步电机(PMSM)的转子结构决定了其磁路不对称性(凸极效应)。当注入高频电压信号时,这种不对称性会导致电流响应包含位置信息。具体表现为:
- 直轴(d轴)电感Ld ≠ 交轴(q轴)电感Lq
- 高频电流幅值随转子位置呈周期性变化
通过数学建模可推导出高频电流响应:
code复制ih = Uh/(ωhL) * sin(ωht) - UhΔL/(2ωhL²) * sin(2θ-ωht)
其中ΔL=(Lq-Ld)/2,L=(Lq+Ld)/2,θ为转子位置角。
2.2 信号注入方案选型
常见的高频信号注入方式包括:
- 旋转高频注入(需解调包络线)
- 脉振高频注入(本文重点)
- 方波注入(简化版脉振注入)
脉振注入法选择在估计的d轴注入高频正弦电压:
code复制[ud_h, uq_h] = [Vh*sin(ωht), 0]
其优势在于:
- 实现简单,仅需单路信号发生器
- 解调算法计算量小
- 对电机参数变化鲁棒性强
3. 硬件设计与实现要点
3.1 功率电路特殊要求
不同于常规FOC驱动,高频注入方案对硬件有特殊需求:
| 组件 | 要求规格 | 原因说明 |
|---|---|---|
| PWM频率 | ≥20kHz(推荐40kHz) | 确保高频信号无失真 |
| ADC采样率 | ≥4倍高频频率 | 满足香农采样定理 |
| 电流传感器 | 带宽≥5倍高频频率(如500kHz) | 准确捕捉高频电流成分 |
| 死区时间 | ≤500ns | 减少高频电压波形畸变 |
实测发现:当死区时间达到1μs时,位置观测误差会增加3-5机械角度
3.2 STM32关键外设配置
以STM32G474为例,需要特别注意的寄存器配置:
c复制// PWM定时器配置(TIM1)
TIM1->ARR = (SystemCoreClock / 40000) - 1; // 40kHz载波
TIM1->CCMR1 |= TIM_CCMR1_OC2M_1 | TIM_CCMR1_OC2M_2; // PWM模式1
// ADC同步采样配置
ADC1->CFGR |= ADC_CFGR_DMNGT_1; // DMA循环模式
ADC1->SMPR1 |= ADC_SMPR1_SMP6_2; // 47.5周期采样时间
// 高频信号发生器(TIM6)
TIM6->ARR = (SystemCoreClock / 2000) - 1; // 2kHz高频信号
TIM6->DIER |= TIM_DIER_UIE; // 使能更新中断
4. 软件算法实现详解
4.1 高频信号注入流程
完整的控制周期包含以下步骤:
- 在估计的d轴注入高频电压
- 同步采样三相电流
- 克拉克变换得到αβ轴电流
- 带通滤波提取高频成分
- 解调得到位置误差信号
- 锁相环(PLL)估算实际位置
mermaid复制graph TD
A[注入Vh·sin(ωht)] --> B[采样Ia,Ib,Ic]
B --> C[Clarke变换]
C --> D[BPF滤波]
D --> E[解调误差信号]
E --> F[PLL位置估算]
F --> A
4.2 带通滤波器设计
采用二阶IIR滤波器实现(截止频率1.5kHz-2.5kHz):
c复制typedef struct {
float a1, a2;
float b0, b1, b2;
float x1, x2; // 输入延迟
float y1, y2; // 输出延迟
} BiquadFilter;
float biquad_process(BiquadFilter *f, float x) {
float y = f->b0*x + f->b1*f->x1 + f->b2*f->x2
- f->a1*f->y1 - f->a2*f->y2;
f->x2 = f->x1; f->x1 = x;
f->y2 = f->y1; f->y1 = y;
return y;
}
滤波器系数计算(采样率40kHz,中心频率2kHz):
code复制fc = 2000; Q = 1.0;
K = tan(π*fc/fs);
norm = 1 / (1 + K/Q + K*K);
b0 = K/Q * norm;
b1 = 0;
b2 = -b0;
a1 = 2*(K*K - 1) * norm;
a2 = (1 - K/Q + K*K) * norm;
4.3 位置解调与PLL实现
通过异频乘法解调位置误差:
c复制// 在PLL中断服务程序中
float err = iα_hf * sin(θ_est) - iβ_hf * cos(θ_est);
float hf_mod = sin(ωh * t);
// 误差信号解调
err *= hf_mod * 2; // 2倍频抑制
err = LPF(err); // 低通滤波
// PLL更新(比例积分环节)
ω_est += Ki * err;
θ_est += ω_est + Kp * err;
if(θ_est > 2*PI) θ_est -= 2*PI;
关键参数整定经验:
- 高频频率ωh:1-2kHz(高于基频10倍以上)
- 注入幅值Vh:5-15%额定电压
- PLL带宽:50-200Hz(响应速度与噪声折中)
5. 实测问题与解决方案
5.1 高频噪声干扰问题
现象:位置估算出现周期性波动
排查过程:
- 示波器观测PWM输出波形
- 发现开关边沿存在振铃
- 检查MOSFET栅极电阻
解决方案:
- 增加栅极电阻至100Ω
- 在直流母线加0.1μF陶瓷电容
- 优化PCB布局(缩短功率回路)
5.2 低速负载突变失步
现象:突加负载时位置估算发散
根本原因:
- 高频响应幅值与负载电流相关
- 传统PLL无法适应动态变化
改进方案:
c复制// 自适应注入幅值
Vh = Vh_base + K_load * Iq;
if(Vh > 0.2*Vdc) Vh = 0.2*Vdc;
// 变带宽PLL
float bw = base_bw + fabs(Iq) * K_bw;
Kp = 2 * bw;
Ki = bw * bw;
5.3 参数敏感性测试数据
在不同电机上测试的允许偏差范围:
| 参数 | 允许偏差 | 影响程度 |
|---|---|---|
| Ld/Lq比值 | ±30% | ★★☆☆☆ |
| 转子磁链 | ±50% | ★☆☆☆☆ |
| 转动惯量 | ±200% | ★★☆☆☆ |
| 电阻值 | ±20% | ★★★☆☆ |
6. 性能优化进阶技巧
6.1 混合观测器设计
结合高频注入与反电动势法的混合方案:
- 低速段(<5%额定转速):纯高频注入
- 中高速段:渐变切换到反电动势法
- 过渡区:加权融合两种观测结果
c复制// 混合权重计算
float blend_ratio = (ω_est - ω_low) / (ω_high - ω_low);
blend_ratio = constrain(blend_ratio, 0, 1);
// 结果融合
θ_final = blend_ratio * θ_emf + (1-blend_ratio) * θ_hfi;
6.2 注入频率自适应
根据转速动态调整注入频率:
code复制ωh = max(10*ω_est, ωh_min)
优点:
- 高速时降低开关损耗
- 避免与基频谐波干扰
6.3 死区补偿改进
传统死区补偿在高频注入时会引入额外误差。改进方案:
- 检测电流极性过零点
- 建立电压误差查找表
- 前馈补偿PWM占空比
补偿效果对比:
- 未补偿:位置误差3-5°
- 传统补偿:1-2°
- 改进补偿:<0.5°
7. 实测波形与性能指标
7.1 启动过程波形

- 黄色:相电流(20A/div)
- 蓝色:位置误差(50°/div)
- 粉色:估算转速(100rpm/div)
关键时间点:
- t0-t1(50ms):初始位置检测
- t1-t2(100ms):加速阶段
- t2之后:稳态运行
7.2 静态性能测试
| 指标 | 测试值 |
|---|---|
| 位置分辨率 | <0.1° |
| 零速保持扭矩 | 150%额定 |
| 最低可控转速 | 0.5rpm |
| 动态响应带宽 | 200Hz |
7.3 不同方法的对比
| 方法 | 零速性能 | 高速精度 | 计算复杂度 |
|---|---|---|---|
| 高频注入 | ★★★★★ | ★★☆☆☆ | ★★★☆☆ |
| 反电动势观测器 | ☆☆☆☆☆ | ★★★★★ | ★★☆☆☆ |
| 磁链观测器 | ★★☆☆☆ | ★★★★☆ | ★★★★☆ |
在完成多个项目的调试后,我发现高频注入法的实际表现与电机凸极率强相关。对于表贴式电机(Ld≈Lq),需要采用额外的信号处理手段增强信噪比。一个实用的技巧是在初始上电时主动偏置d轴电流,人为制造磁路不对称性。