6. 测试指令示例
# 进入无传感器模式
odrv0.axis0.requested_state = AXIS_STATE_SENSORLESS_CONTROL
# 发送速度指令
odrv0.axis0.controller.input_vel = 10 # 正转10转/秒
time.sleep(3) # 运行3秒
odrv0.axis0.controller.input_vel = -5 # 反转5转/秒
time.sleep(3)
odrv0.axis0.controller.input_vel = 0 # 停止
常见问题排查
现象 |
可能原因 |
解决方法 |
电机抖动不转 |
永磁磁链 (pm_flux_linkage ) 错误 |
重新计算磁链值,或通过 odrivetool 的 motor_characterization 自动校准。 |
电机完全无反应 |
电流限制过低或电源不足 |
提高 current_lim (如20A),检查电源电压是否 ≥12V。 |
速度不稳定 |
控制增益不足 |
逐步增大 vel_gain 和 vel_integrator_gain ,直到电机响应平稳。 |
报错过流 |
相线短路或电机堵转 |
断开电源,检查电机是否机械卡死,或相线是否接错。 |
|