该配置基于X2212电机,控制模式为电流环(转矩)模式
主板参数、电机参数、编码器参数配置和位置环控制一样,已配置可直接跳转到控制器配置,没有配置的按以下步骤配置
1. 恢复默认参数
odrv0.erase_configuration()
2. 主板参数配置
odrv0.config.brake_resistance = 2.0
odrv0.config.dc_bus_undervoltage_trip_level = 8.0
odrv0.config.dc_bus_overvoltage_trip_level = 56.0
odrv0.config.dc_max_positive_current = 20.0
odrv0.config.dc_max_negative_current = -3.0
odrv0.config.max_regen_current = 0
odrv0.save_configuration()
3. 电机参数配置
odrv0.axis0.motor.config.pole_pairs = 7
odrv0.axis0.motor.config.calibration_current = 5
odrv0.axis0.motor.config.resistance_calib_max_voltage = 2
odrv0.axis0.motor.config.motor_type = MOTOR_TYPE_HIGH_CURRENT
odrv0.axis0.motor.config.current_lim = 15
odrv0.axis0.motor.config.requested_current_range = 20
odrv0.save_configuration()
4. 编码器参数配置
odrv0.axis0.encoder.config.mode = ENCODER_MODE_INCREMENTAL
odrv0.axis0.encoder.config.cpr = 16384
odrv0.axis0.encoder.config.bandwidth = 3000
odrv0.axis0.config.calibration_lockin.current = 5
odrv0.axis0.config.calibration_lockin.ramp_time = 0.4
odrv0.axis0.config.calibration_lockin.ramp_distance = 3.1415927410125732
odrv0.axis0.config.calibration_lockin.accel = 20
odrv0.axis0.config.calibration_lockin.vel = 40
odrv0.save_configuration()
5. 控制器参数配置
配置控制模式为电流环(转矩)模式。
odrv0.axis0.controller.config.control_mode = CONTROL_MODE_TORQUE_CONTROL
odrv0.axis0.controller.config.vel_limit = 50
odrv0.axis0.controller.config.pos_gain = 30
odrv0.axis0.controller.config.vel_gain = 0.02
odrv0.axis0.controller.config.vel_integrator_gain = 0.2
odrv0.axis0.controller.config.input_mode = INPUT_MODE_PASSTHROUGH
odrv0.save_configuration()
odrv0.reboot()
6. 测试参数配置
odrv0.axis0.requested_state = AXIS_STATE_MOTOR_CALIBRATION
odrv0.axis0.motor.config.pre_calibrated = True
odrv0.axis0.requested_state = AXIS_STATE_ENCODER_OFFSET_CALIBRATION
odrv0.axis0.config.startup_encoder_offset_calibration = True
odrv0.axis0.requested_state = AXIS_STATE_CLOSED_LOOP_CONTROL
odrv0.axis0.config.startup_closed_loop_control = True
odrv0.save_configuration()
odrv0.reboot()
7. 检查错误
若有错误,请仔细检查输入指令是否有错
dump_errors(odrv0)
8. 电机控制测试
改变转矩大小,可以用尝试阻挡电机转动,体会转矩的改变
odrv0.axis0.controller.input_torque = 0.1
odrv0.axis0.controller.input_torque = -0.1
odrv0.axis0.controller.input_torque = 0.01
odrv0.axis0.controller.input_torque = 1
至此, ODrive 电流环(转矩)控制模式配置完成。
欢迎加入 创客基地 电机控制Q群 讨论电机控制相关问题:732557609
欢迎光临 创客基地 B站 了解技术资料:https://space.bilibili.com/393688975
欢迎光临 创客基地 淘宝店 采购产品:
https://makerbase.taobao.com/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)