grace@dev-site:~$write
← projects/

电机参数辨识工具

STM32FOCPMSMC嵌入式

基于 STM32 的 PMSM 电机参数(Rs、Ld、Lq、Ke)在线辨识系统,支持 FOC 控制器自动调参。

电机参数辨识工具

项目概述

基于 STM32 平台开发的永磁同步电机(PMSM)参数自动辨识系统,可在线测量电机的定子电阻 Rs、d/q 轴电感 Ld/Lq 以及反电动势系数 Ke。

技术方案

参数辨识方法

  • Rs 辨识:DC 注入法,在静止状态下注入直流电流,通过电压/电流比值计算定子电阻
  • Ld/Lq 辨识:高频信号注入法,分别在 d/q 轴注入正弦激励,通过阻抗分析提取电感值
  • Ke 辨识:反拖法,以已知转速驱动电机,测量空载反电动势

硬件平台

  • MCU:STM32F4 系列(主频 168MHz)
  • 功率级:三相 IGBT 桥 + 驱动芯片
  • 采样:电流霍尔传感器 + 12bit ADC

实现要点

/* Rs 辨识核心代码片段 */
void RS_Identify(void)
{
    float vd_inject = RS_INJECT_VOLTAGE;
    float id_measure = 0.0f;
    
    // 注入 DC 电压
    SetDQVoltage(vd_inject, 0.0f);
    HAL_Delay(RS_SETTLE_MS);
    
    // 采样稳态电流
    id_measure = GetAverageCurrent_D(RS_SAMPLE_COUNT);
    
    // 计算电阻
    motor.Rs = vd_inject / id_measure;
}

结果验证

| 参数 | 真值 | 辨识结果 | 误差 | |------|------|----------|------| | Rs | 0.82 Ω | 0.84 Ω | 2.4% | | Ld | 1.2 mH | 1.18 mH | 1.7% | | Lq | 1.8 mH | 1.83 mH | 1.7% | | Ke | 0.065 V·s/rad | 0.067 V·s/rad | 3.1% |

挑战与解决

  • 噪声问题:采用多次平均 + 低通滤波,有效抑制 ADC 采样噪声
  • 稳定性:加入超时保护与过流检测,防止辨识过程中损坏电机

后续计划

  • [ ] 添加上位机界面(Python + PyQt)
  • [ ] 支持更多电机类型(BLDC)
  • [ ] 优化辨识算法精度
✏ 编辑此项目