該配置為霍爾電機的位置環模式
該配置基于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
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/272330.html
標籤:其他
上一篇:第一篇博客,記錄編程的開始
