Hi all
I am testing my Odrives + actuators now with different power suplies/batteries in order to find out if there is a problem with too less power.
I have the main branch Firmware on my Odrives and connected them to a 12V car battery. So current should not be a Problem.
The current_lim is set to 80 (A)….so more than enough.
After a while, or when putting more load to the actuators, they stop working with the following error codes.
Any Ideas???
The Motor config Setting is:
In [24]: odrv0.axis0.motor.config
Out[24]:
pre_calibrated = False (bool)
pole_pairs = 7 (int)
calibration_current = 10.0 (float)
resistance_calib_max_voltage = 2.0 (float)
phase_inductance = 2.279498949064873e-05 (float)
phase_resistance = 0.030227571725845337 (float)
direction = -1 (int)
motor_type = 0 (int)
current_lim = 80.0 (float)
current_lim_tolerance = 1.25 (float)
inverter_temp_limit_lower = 100.0 (float)
inverter_temp_limit_upper = 120.0 (float)
requested_current_range = 60.0 (float)
current_control_bandwidth = 1000.0 (float)
Errors shown:
In [23]: odrv0.axis0
Out[23]:
error = 0x0030 (int)
step_dir_active = False (bool)
current_state = 1 (int)
requested_state = 0 (int)
loop_counter = 1142841 (int)
lockin_state = 0 (int)
config:
startup_motor_calibration = True (bool)
startup_encoder_index_search = False (bool)
startup_encoder_offset_calibration = True (bool)
startup_closed_loop_control = True (bool)
startup_sensorless_control = False (bool)
enable_step_dir = False (bool)
counts_per_step = 2.0 (float)
watchdog_timeout = 0.0 (float)
step_gpio_pin = 1 (int)
dir_gpio_pin = 2 (int)
calibration_lockin: …
sensorless_ramp: …
general_lockin: …
motor:
error = 0x0040 (int)
armed_state = 0 (int)
is_calibrated = True (bool)
current_meas_phB = -0.2634413242340088 (float)
current_meas_phC = -0.08313536643981934 (float)
DC_calib_phB = -0.8644874095916748 (float)
DC_calib_phC = -0.8028133511543274 (float)
phase_current_rev_gain = 0.02500000037252903 (float)
thermal_current_lim = 371.80548095703125 (float)
get_inverter_temp()
current_control: …
gate_driver: …
timing_log: …
config: …
controller:
error = 0x0000 (int)
pos_setpoint = 0.0 (float)
vel_setpoint = 0.0 (float)
vel_integrator_current = 0.07966150343418121 (float)
current_setpoint = 0.0 (float)
vel_ramp_target = 0.0 (float)
vel_ramp_enable = False (bool)
config: …
set_pos_setpoint(pos_setpoint: float, vel_feed_forward: float, current_feed_forward: float)
set_vel_setpoint(vel_setpoint: float, current_feed_forward: float)
set_current_setpoint(current_setpoint: float)
move_to_pos(pos_setpoint: float)
move_incremental(displacement: float, from_goal_point: bool)
start_anticogging_calibration()
encoder:
error = 0x0000 (int)
is_ready = True (bool)
index_found = False (bool)
shadow_count = 253968 (int)
count_in_cpr = 16 (int)
interpolation = 0.5 (float)
phase = -0.37206172943115234 (float)
pos_estimate = 253968.203125 (float)
pos_cpr = 16.24414825439453 (float)
hall_state = 3 (int)
vel_estimate = 0.0 (float)
calib_scan_response = 9258.0 (float)
config: …
set_linear_count(count: int)
sensorless_estimator:
error = 0x0000 (int)
phase = 1.829343318939209 (float)
pll_pos = 1.826624870300293 (float)
vel_estimate = -0.7174057960510254 (float)
config: …
trap_traj:
config: …
watchdog_feed()
Wickie