Brake_Resistance Unit overheating


#1

What is the main reason a brake resistance unit gets very hot to the point It can’t be touch.?
I did configure the odrive using few instructions.After running the tool odrive_demo.py, the motor seems to be working fine however, the brake resistance unit get extremely hot.
I haven’t set anything related to tuning and/or position control. Can please,anybody give me a hand?

Thanks in advance

The initial config instructions given were as follows:

odrv0.axis0.encoder.config.use_index =True
odrv0.axis0.encoder.config.pre_calibrated=True
odrv0.axis0.motor.config.pole_pairs=7
odrv0.axis0.motor.config.motor_type=MOTOR_TYPE_HIGH_CURRENT
odrv0.config.brake_resistance=0.47
odrv0.axis0.encoder.config.cpr=8192
odrv0.axis0.requested_state = AXIS_STATE_FULL_CALIBRATION_SEQUENCE
odrv0.axis0.encoder.config,use_index

My inventory

  • Odrive 3.4
  • Encoder AMT102V
  • Power supply 24V 13A
  • Turnigy 4250 410
fatal: not a git repository (or any of the parent directories): .git
ro exit status 128.
ODrive control utility v0.0.0.dev

Developer Preview
  If you find issues, please report them
  on https://github.com/madcowswe/ODrive/issues
  or better yet, submit a pull request to fix it.

Please connect your ODrive.
You can also type help() or quit().

Connected to ODrive 306439923235 as odrv0

error = 0x0000 (int)
enable_step_dir = False (bool)
current_state = 8 (int)
requested_state = 0 (int)
loop_counter = 9201822 (int)
config:
  startup_motor_calibration = False (bool)
  startup_encoder_index_search = False (bool)
  startup_encoder_offset_calibration = False (bool)
  startup_closed_loop_control = False (bool)
  startup_sensorless_control = False (bool)
  enable_step_dir = False (bool)
  counts_per_step = 2.0 (float)
  ramp_up_time = 0.4000000059604645 (float)
  ramp_up_distance = 12.566370964050293 (float)
  spin_up_current = 10.0 (float)
  spin_up_acceleration = 400.0 (float)
  spin_up_target_vel = 400.0 (float)
motor:
  error = 0x0000 (int)
  armed_state = 3 (int)
  is_calibrated = True (bool)
  current_meas_phB = -0.015164673328399658 (float)
  current_meas_phC = 0.23015892505645752 (float)
  DC_calib_phB = -0.7500070929527283 (float)
  DC_calib_phC = -2.083026647567749 (float)
  phase_current_rev_gain = 0.02500000037252903 (float)
  current_control: ...
  gate_driver: ...
  timing_log: ...
  config: ...
controller:
  pos_setpoint = 500000.0 (float)
  vel_setpoint = 0.0 (float)
  vel_integrator_current = -0.0854005292057991 (float)
  current_setpoint = 0.0 (float)
  config: ...
  set_pos_setpoint(pos_setpoint: float, vel_feed_forward: float, current_feed_fo
rward: float)
  set_vel_setpoint(vel_setpoint: float, current_feed_forward: float)
  set_current_setpoint(current_setpoint: float)
  start_anticogging_calibration()
encoder:
  error = 0x0000 (int)
  is_ready = True (bool)
  index_found = True (bool)
  shadow_count = 500000 (int)
  count_in_cpr = 7335 (int)
  offset = -4103 (int)
  interpolation = 0.5 (float)
  phase = -1.418288230895996 (float)
  pos_estimate = 500000.9375 (float)
  pos_cpr = 7335.7685546875 (float)
  hall_state = 2 (int)
  pll_vel = 0.0 (float)
  pll_kp = 2000.0 (float)
  pll_ki = 1000000.0 (float)
  config: ...
sensorless_estimator:
  error = 0x0000 (int)
  phase = 2.796194553375244 (float)
  pll_pos = 2.7967867851257324 (float)
  pll_vel = -0.25987279415130615 (float)
  pll_kp = 2000.0 (float)
  pll_ki = 1000000.0 (float)

In [5]:

#2

You should not set this before calibrating the encoder.