1. STM32高频注入技术概述
高频注入法(High-Frequency Injection, HFI)是永磁同步电机(PMSM)无传感器控制中的一项关键技术。在高速运行阶段,传统的反电动势观测法会因信号衰减导致精度下降,而高频注入通过主动注入特定频率的电压信号,利用电机磁饱和效应产生的凸极性进行转子位置检测。
这套基于STM32F4的方案采用旋转电压注入法,核心优势在于:
- 硬件成本低:仅需常规电流采样电路
- 抗干扰强:高频信号与基波信号频带分离
- 动态响应快:PLL结构实现实时位置跟踪
- 量产验证:已在工业伺服系统稳定运行2000+小时
典型应用场景包括:
- 高速电主轴(>20,000rpm)
- 无人机电调
- 电动汽车主驱
- 工业机器人关节电机
2. 硬件架构设计要点
2.1 主控芯片选型
选用STM32F407VG的原因:
- 168MHz主频满足实时计算需求
- 硬件FPU加速浮点运算
- 高级定时器TIM1支持互补PWM输出
- 3个ADC模块实现多路同步采样
注意:必须开启FPU支持,在Keil中勾选"Use Single Precision"选项,否则浮点运算会触发异常中断。
2.2 功率驱动电路设计
关键参数配置:
c复制// PWM载波频率设置
ocConfig.TIM_Pulse = SystemCoreClock / 50000; // 50kHz
HAL_TIM_PWM_ConfigChannel(&htim1, &ocConfig, TIM_CHANNEL_1);
硬件设计注意事项:
- 死区时间建议200-300ns(过大会衰减高频信号)
- 栅极驱动芯片选型(如IR2104)需考虑开关速度
- 母线电容容值≥100μF/kW
2.3 电流采样方案
采用双电阻采样+INA240运放的方案:
- 采样电阻:5mΩ/3W合金电阻
- 运放增益:50V/V
- RC滤波器:1kΩ+100nF(截止频率1.6kHz)
实测对比不同运放性能:
| 型号 | 温漂(μV/℃) | 带宽(MHz) | 适用性 |
|---|---|---|---|
| INA240A1 | 0.5 | 1.1 | ★★★★★ |
| AD8417A | 2 | 2.7 | ★★★☆☆ |
| LM358 | 10 | 1 | ★☆☆☆☆ |
3. 软件实现关键技术
3.1 高频信号注入策略
旋转电压注入法实现:
c复制// 2.5kHz正弦扰动注入
hfi_modulation = 50 * sinf(2*PI * 2500 * hfi_angle);
hfi_angle += 0.01; // 相位累加
频率选择原则:
- 远高于基波频率(通常>1kHz)
- 低于PWM载波频率的1/2(奈奎斯特准则)
- 避开机械谐振频率
3.2 磁链观测器设计
改进型二阶带通滤波器:
c复制// 带通滤波器实现
z1[0] = 0.98*z1[1] + i_alpha*0.02;
z1[1] = z1[0];
参数整定方法:
- 先用MATLAB仿真确定初始系数
- 实际调试时注入已知频率信号
- 观察幅频特性调整系数
3.3 位置估算PLL
锁相环实现关键:
c复制float error = atan2f(hfi_signal_q, hfi_signal_d);
est_angle += 0.05 * error; // PLL增益
增益系数调整技巧:
- 初始值设为带宽的1/10
- 动态调整:高速时增大增益,低速时减小
- 加入抗饱和处理
4. 工程移植与优化
4.1 Keil工程配置要点
必须检查的项目:
- Target选项勾选"Use FPU"
- 优化等级建议-O2
- 添加--no_hide_all编译选项
- 正确配置分散加载文件(Scatter File)
4.2 性能优化实战
速度提升对比:
| 优化方法 | 执行时间(us) | 提升幅度 |
|---|---|---|
| 标准库函数 | 20 | - |
| 查表法 | 3 | 85% |
| 汇编优化 | 1.5 | 92% |
查表法实现示例:
c复制// 预计算sin表
static float sin_table[512];
void Init_SinTable(void) {
for(int i=0; i<512; i++)
sin_table[i] = sinf(2*PI*i/512);
}
// 查表函数
float Fast_Sin(float angle) {
uint16_t idx = (uint16_t)(angle*512/(2*PI)) % 512;
return sin_table[idx];
}
4.3 常见问题排查
典型问题及解决方案:
-
ADC采样错位:
- 检查DMA配置数据宽度
- 确认ADC对齐方式(右对齐)
-
高频响应弱:
- 减小PWM死区时间
- 检查运放带宽
- 降低滤波器截止频率
-
位置估算抖动:
- 调整PLL增益
- 增加观测器阻尼
- 检查机械安装同心度
5. 量产应用经验
环境适应性改进:
- 温度补偿算法:每10℃更新一次电机参数
- 在线参数辨识:上电时自动检测Ld/Lq
- 故障自恢复:过流时自动重启观测器
实测性能指标:
| 参数 | 指标值 |
|---|---|
| 最高转速 | 30,000rpm |
| 位置误差 | ±5电角度 |
| 启动成功率 | 99.98% |
| 温升影响 | <1°/10℃ |
电流采样电路改进历程:
- 初期版本:普通运放+分立电阻
- 问题:温漂导致零漂>5%
- V2版本:国产电流传感器
- 问题:延迟大(>2μs)
- 最终方案:INA240+合金电阻
- 精度:±0.5%(-40~125℃)