Makerbase ODrive 霍尔电机位置环模式配置

该配置为霍尔电机的位置环模式
该配置基于6.5寸、DC36V、15 对极、功率 250W - 350 W电机

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 = 30.0	

配置反向过流保护阈值

odrv0.config.dc_max_negative_current = -5.0	

配置回充电流值

odrv0.config.max_regen_current = 0		

保存配置

odrv0.save_configuration()

3. 电机参数配置

配置极对数

odrv0.axis0.motor.config.pole_pairs = 15		

配置电机校准时的电流

odrv0.axis0.motor.config.calibration_current = 10	

配置电机校准时的电压

odrv0.axis0.motor.config.resistance_calib_max_voltage = 5	

配置为大电流电机

odrv0.axis0.motor.config.motor_type = MOTOR_TYPE_HIGH_CURRENT

配置电机运行的最大电流限制

odrv0.axis0.motor.config.current_lim = 20					

配置电机电流采样范围

odrv0.axis0.motor.config.requested_current_range = 30

保存配置

odrv0.save_configuration()

4. 编码器参数配置

配置为霍尔编码器

odrv0.axis0.encoder.config.mode = ENCODER_MODE_HALL		

配置编码器分辨率,6*15=90

odrv0.axis0.encoder.config.cpr = 90		

配置编码带宽

odrv0.axis0.encoder.config.bandwidth = 100	

保存配置

odrv0.save_configuration()

5. 控制器参数配置

位置环控制模式

odrv0.axis0.controller.config.control_mode = CONTROL_MODE_POSITION_CONTROL	

电机最大转速

odrv0.axis0.controller.config.vel_limit = 20		

位置环增益
如果电机抖动可以适当调整该值

odrv0.axis0.controller.config.pos_gain = 3		

速度环增益
在位置环可不配置

odrv0.axis0.controller.config.vel_gain = 0.2	
odrv0.axis0.controller.config.vel_integrator_gain = 0.1		

配置为梯形轨迹模式

odrv0.axis0.controller.config.input_mode = INPUT_MODE_TRAP_TRAJ		

配置梯形模式电机最大转速

odrv0.axis0.trap_traj.config.vel_limit = 10	

配置梯形模式下的加/减速度

odrv0.axis0.trap_traj.config.accel_limit = 2
odrv0.axis0.trap_traj.config.decel_limit = 2

保存配置

odrv0.save_configuration()

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. 测试电机

odrv0.axis0.controller.input_pos = 50
odrv0.axis0.controller.input_pos = 0

猜你喜欢

转载自blog.csdn.net/gjy_skyblue/article/details/115412718