FOC 电机参数辨识助手
针对 FOC(磁场定向控制)驱动系统,提供电机参数辨识的完整方案,涵盖电阻、电感、磁链、极对数等核心参数的手动/自动测量方法。
适用场景
- - 新电机接入 FOC 驱动前的参数标定
- 驱动器参数自整定功能缺失时的手动测量
- 驱动器调试时发现参数异常需重新测量
- 电机健康状态评估(参数变化监测)
参数辨识清单
| 参数 | 符号 | 典型范围 | 重要性 |
|---|
| 定子电阻 | R | 0.01~10Ω | ★★★ |
| d轴电感 |
Ld | 0.1~50mH | ★★★ |
| q轴电感 | Lq | 0.1~50mH | ★★★ |
| 磁链常数 | Ψm | 0.01~0.5Wb | ★★★ |
| 极对数 | np | 2~20 | ★★★ |
| 转动惯量 | J | 0.001~1 kg·cm² | ★★ |
| 摩擦系数 | B | 0.001~0.1 N·m·s/rad | ★ |
1. 定子电阻 R 测量
方法:万用表法(最简单)
CODEBLOCK0
方法:电压电流法(更精确)
CODEBLOCK1
输出格式
CODEBLOCK2
2. 电感测量(Ld, Lq)
方法A:阶跃响应法(电桥/示波器)
CODEBLOCK3
方法B:LCR电桥法
CODEBLOCK4
方法C:高频注入法(在驱动器内自动测量)
CODEBLOCK5
3. 磁链常数 Ψm(反电动势常数 Ke)
方法:空载反电动势法(最准确)
CODEBLOCK6
计算公式速查
CODEBLOCK7
4. 极对数 np 测量
方法A:示波器观察反电动势波形
CODEBLOCK8
方法B:霍尔传感器法
CODEBLOCK9
5. 转动惯量 J 测量
方法:自由减速法
CODEBLOCK10
6. 典型电机参数参考
| 电机类型 | R (Ω) | Ld/Lq (mH) | Ψm (Wb) | np |
|---|
| 小功率 BLDC (57mm) | 2~5 | 3~8 | 0.02~0.05 | 4 |
| 中功率 PMSM (86mm) |
0.2~1 | 5~20 | 0.1~0.3 | 4 |
| 伺服电机 | 0.05~0.3 | 1~10 | 0.05~0.2 | 4/5 |
| 大功率 PMSM | 0.01~0.1 | 10~50 | 0.2~0.5 | 2/4 |
| 内转子无刷电机 | 0.5~5 | 0.5~5 | 0.01~0.1 | 2~8 |
参数输入模板(FOC驱动器配置用)
CODEBLOCK11
常见问题排查
| 问题 | 原因 | 解决方案 |
|---|
| 电感测量值为0 | 电流采样极性反 | 检查采样电阻方向 |
| 反电动势常数偏小 |
转速测量偏低 | 提高转速多次测量 |
| Ld ≈ Lq 但实际应为Ld
参考资源
- -
scripts/parameter_id_flow.py - 完整辨识流程脚本(基础版) - INLINECODE1 - 实测数据后处理脚本(阶跃响应、反电动势分析、控制器参数自动生成)
- INLINECODE2 - 实测技巧和常见坑
- INLINECODE3 - STM32/Arduino FOC 参数配置代码示例
快速使用
CODEBLOCK12
FOC 电机参数辨识助手
针对 FOC(磁场定向控制)驱动系统,提供电机参数辨识的完整方案,涵盖电阻、电感、磁链、极对数等核心参数的手动/自动测量方法。
适用场景
- - 新电机接入 FOC 驱动前的参数标定
- 驱动器参数自整定功能缺失时的手动测量
- 驱动器调试时发现参数异常需重新测量
- 电机健康状态评估(参数变化监测)
参数辨识清单
| 参数 | 符号 | 典型范围 | 重要性 |
|---|
| 定子电阻 | R | 0.01~10Ω | ★★★ |
| d轴电感 |
Ld | 0.1~50mH | ★★★ |
| q轴电感 | Lq | 0.1~50mH | ★★★ |
| 磁链常数 | Ψm | 0.01~0.5Wb | ★★★ |
| 极对数 | np | 2~20 | ★★★ |
| 转动惯量 | J | 0.001~1 kg·cm² | ★★ |
| 摩擦系数 | B | 0.001~0.1 N·m·s/rad | ★ |
1. 定子电阻 R 测量
方法:万用表法(最简单)
步骤:
- 1. 断开驱动器,测量电机任意两相之间的电阻
- Rphase = Rmeasured / 2(三相平衡)
- 推荐用四线制万用表更精确
注意:
- - 绕组温度影响:铜温度系数 +0.4%/℃
- 20℃基准值 → R75℃ = R20℃ × [1 + 0.004 × (75-20)]
方法:电压电流法(更精确)
接线:直流电源 + 电流表 + 电压表
步骤:
- 1. 注入小直流电流(0.5~2A,防止发热)
- 稳定后记录电压 V 和电流 I
- R = V / I
接线方式:
- A+ A-:电流注入
- B C:电压测量(避开电流线压降)
输出格式
【定子电阻测量结果】
线间电阻 R_measured = X.XXX Ω
相电阻 R_phase = X.XXX Ω
测量温度 T = XX ℃
折算至 20℃:R_20 = X.XXX Ω
折算至 75℃:R_75 = X.XXX Ω
2. 电感测量(Ld, Lq)
方法A:阶跃响应法(电桥/示波器)
原理:电感阻碍电流变化,L = V / (dI/dt)
测量步骤:
- 1. 注入阶跃电压(幅值 V,脉宽 t)
- 记录电流上升曲线
- 计算 dI/dt(电流上升段线性区)
- L = V / (dI/dt)
参数选择:
V = 5~20V(低压保护电机)
t = 1~10ms
Rsense = 0.1~1Ω 采样电阻
注意事项:
- 需要在转子静止时测量
- 单次测量只能得到 Ld+Lq 的平均值
方法B:LCR电桥法
- 1. 用 LCR 电桥测量各相绕组电感
- 测量条件:频率 1kHz,交流幅值 1V
- Ld ≈ Lphase(转子对齐 d轴位置)
- Lq ≈ Lphase(转子对齐 q轴位置)
注意:对于表贴式 PMSM,Ld ≈ Lq
对于内嵌式 PMSM,Ld < Lq
方法C:高频注入法(在驱动器内自动测量)
常见于 ESCUTO, STM32 FOC, TI InstaSPIN 等
原理:注入高频电压信号,测量响应电流相位
优点:可以在线辨识,自动区分 Ld/Lq
操作方式:
1. 进入驱动器参数自整定模式
2. 确保电机脱载(自由旋转)
3. 驱动器自动注入高频信号
4. 读取 Ld, Lq 结果
典型驱动自整定时间:5~30秒
3. 磁链常数 Ψm(反电动势常数 Ke)
方法:空载反电动势法(最准确)
步骤:
- 1. 手动旋转电机至已知转速 n(rpm)
- 用示波器或万用表测量线间反电动势有效值 Erms
- 计算电气角速度:ω = 2π × n × np / 60 (rad/s)
- Ke = Erms / (ω / √3)(线间相电动势常数)
或:
Keline = Erms × 60 / (n × np × √2 × π/3)
(线间反电动势常数 V/(rad/s))
注意:
- - 转速越高测量越准确,建议 > 1000rpm
- 确保电机无驱动电流(开路状态)
- 测量多组取平均
计算公式速查
已知:n = 3000 rpm, np = 4(8极)
测量:线间反电动势 E_rms = 220V
ω_e = 2π × 3000 × 4 / 60 = 1256 rad/s
Ψm = Erms / ωe = 220 / 1256 ≈ 0.175 Wb
Ke = 1.5 × Ψm = 0.263 Nm/A(转矩常数)
4. 极对数 np 测量
方法A:示波器观察反电动势波形
- 1. 手动快速旋转电机一圈(约1秒)
- 示波器观察任意两相间的电压波形
- 数一个完整周期的波峰数
- 极对数 np = 波峰数 / 2
原理:
机械转一圈 → np 个电周期
每相的反电动势一个周期 = np 个电气极对
方法B:霍尔传感器法
- 1. 示波器 CH1 接霍尔信号
- 手动旋转一圈
- 霍尔状态变化次数 = 6 × np(带换向的方波)
- 例如:变化 48 次 → np = 8
5. 转动惯量 J 测量
方法:自由减速法
步骤:
- 1. 驱动器使电机高速运行(如 3000rpm)
- 突然切断驱动(自由停车)
- 记录转速-时间曲线
- 计算转矩 B:T = B × ω(摩擦阻尼)
- 计算 J:T = J × dω/dt
简化公式:
J ≈ T_load / α
其中:
T_load = 额定转矩 × 0.1(估算摩擦损失)
α = dω/dt(初始减速度)
6. 典型电机参数参考
| 电机类型 | R (Ω) | Ld/Lq (mH) | Ψm (Wb) | np |
|---|
| 小功率 BLDC (57mm) | 2~5 | 3~8 | 0.02~0.05 | 4 |
| 中功率 PMSM (86mm) |
0.2~1 | 5~20 | 0.1~0.3 | 4 |
| 伺服电机 | 0.05~0.3 | 1~10 | 0.05~0.2 | 4/5 |
| 大功率 PMSM | 0.01~0.1 | 10~50 | 0.2~0.5 | 2/4 |
| 内转子无刷电机 | 0.5~5 | 0.5~5 | 0.01~0.1 | 2~8 |
参数输入模板(FOC驱动器配置用)
【电机参数卡】
电机型号:_
极对数 np = _ (必填)
额定电压 Vdc = _ V
额定电流 Idc = _ A
额定转速 nrated = rpm
额定转矩 Trated = N·m
【电参数(20℃)】
相电阻 R = _ Ω(必填)
d轴电感 Ld = _ mH(必填)
q轴电感 Lq = _ mH(必填)
磁链常数 Ψm = _ Wb(必填)
【温度修正】
铜温度系数 α = 0.004 /℃
最高工作温度 Tmax = ℃
修正后电阻 RTmax = R × [1 + α × (Tmax - 20)] = _ Ω
【FOC控制器建议参数】
电流环带宽 ≈ R / L × 0.5(rad/s)
速度环带宽 ≈ 电流环带宽 / 10
常见问题排查
| 问题 |