Odrive控制指令总结

无感控制指令

#该无传感器控制配置基于80KV电机,电机参数需要根据实际进行修改。

#恢复默认参数
odrv0.erase_configuration()
#主板参数配置
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()

#电机参数配置
odrv0.axis0.motor.config.pole_pairs = 7
odrv0.axis0.motor.config.calibration_current = 5
odrv0.axis0.motor.config.resistance_calib_max_voltage = 10
odrv0.axis0.motor.config.motor_type = MOTOR_TYPE_HIGH_CURRENT
odrv0.axis0.motor.config.current_lim = 6
odrv0.axis0.motor.config.requested_current_range = 60
odrv0.axis0.motor.config.direction = 1                            				 #设置电机定向转动。
odrv0.axis0.sensorless_estimator.config.pm_flux_linkage = 5.51328895422 / (7 * 80)            	#永磁磁链配置,GIM6010-36电机极对数=6,电机KV=80
odrv0.save_configuration()

# 校准电机
odrv0.axis0.requested_state = AXIS_STATE_MOTOR_CALIBRATION			#校准电机,2S后会听见滴声。
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()

#重启后电机会定向转动校准位置
#控制器参数配置
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.input_vel = 0
odrv0.axis0.controller.config.vel_limit = 50

dump_errors(odrv0,True)
#电机控制测试
odrv0.axis0.controller.input_vel = 10		#设置电机转动速度为10 turns/s
odrv0.axis0.controller.input_vel = -10		#设置电机转动速度为-10 turns/s
 

有感控制指令

# 先清除电机错误
odrv0.clear_errors() 

#进入闭环模式
odrv0.axis0.requested_state = AXIS_STATE_CLOSED_LOOP_CONTROL

#设置速度模式
odrv0.axis0.controller.config.control_mode = 2		
odrv0.axis0.controller.config.input_mode = 1
odrv0.axis0.controller.input_vel = 10 #单位 turn/s

# 设置完成后可以拔掉USB-type-c线,电机自己持续运行

######################如果上述流程不行,按照以下方式设置########################
# 直接速度模式控制
odrv0.axis0.controller.config.control_mode = 2		
odrv0.axis0.controller.config.input_mode = 1
odrv0.axis0.controller.input_vel = 10 #单位 turn/s

# 斜坡速度控制
odrv0.axis0.controller.config.control_mode = 2
odrv0.axis0.controller.config.input_mode = 2
odrv0.axis0.controller.input_vel = 10  #单位 turn/s

# 上电如果没有校准声音,先开启校准
odrv0.axis0.requested_state = AXIS_STATE_MOTOR_CALIBRATION
odrv0.axis0.requested_state = AXIS_STATE_ENCODER_OFFSET_CALIBRATION
odrv0.axis0.motor.config.pre_calibrated = 1
odrv0.axis0.encoder.config.pre_calibrated = 1
odrv0.save_configuration()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值