以下无传感器控制配置基于X2212 980KV电机,电机参数需要根据实际进行修改。
1. 恢复默认参数
odrv0.erase_configuration()
2. 控制器参数配置
odrv0.axis0.controller.config.vel_gain = 0.01
odrv0.axis0.controller.config.vel_integrator_gain = 0.05
无传感器控制模式,只能在速度控制模式下运行。
odrv0.axis0.controller.config.control_mode = CONTROL_MODE_VELOCITY_CONTROL
odrv0.axis0.controller.config.vel_limit = 50
3. 电机参数配置
odrv0.axis0.motor.config.current_lim =15
设置电机定向转动。
odrv0.axis0.motor.config.direction = 1
永磁磁链配置,X2212电机极对数=7,电机KV=980。
odrv0.axis0.sensorless_estimator.config.pm_flux_linkage = 5.51328895422 / (7 * 980)
校准电机,2S后会听见滴声。
odrv0.axis0.requested_state = AXIS_STATE_MOTOR_CALIBRATION
odrv0.axis0.motor.config.pre_calibrated = True
进入无传感器控制模式。
odrv0.axis0.requested_state = AXIS_STATE_SENSORLESS_CONTROL
odrv0.axis0.config.startup_sensorless_control = True
odrv0.save_configuration()
odrv0.reboot()
重启后电机会定向转动校准位置
4. 电机控制测试
odrv0.axis0.controller.input_vel = 10
至此, ODrive 无传感器模式配置完成。
欢迎加入 创客基地 电机控制Q群 讨论电机控制相关问题:732557609