Appropriate current_lim value

Hi, I am using two 48V 500W motors.

While testing my Odrive, I found that MotorError.CURRENT_LIMIT_VIOLATION was being output. To more clearly determine the cause of the problem, we applied physical braking to the motor and measured the current consumed throughout the vehicle.

It was found that MotorError.CURRENT_LIMIT_VIOLATION occurred when about 10.5A or more was measured.

My currnt_lim settings are as follows.

odrv0.axis0.motor.config.current_lim = 20
odrv0.axis0.motor.config.current_lim_margin = 8
odrv0.axis0.motor.config.requested_current_range = 28

odrv0.axis1.motor.config.current_lim = 20
odrv0.axis1.motor.config.current_lim_margin = 8
odrv0.axis1.motor.config.requested_current_range = 28

How should I set current_lim to solve this problem?

Hi there,

Could this be a DC bus overcurrent? Can you post the full results of dump_errors(odrv0) when the error is thrown?

The output of dump_error(odrv0) is as follows.

In [1]: dump_errors(odrv0)
system: no error
axis0
  axis: Error(s):
    AxisError.MOTOR_FAILED
    AxisError.CONTROLLER_FAILED
  motor: Error(s):
    MotorError.CURRENT_LIMIT_VIOLATION
    MotorError.UNKNOWN_TORQUE
  DRV fault: none
  sensorless_estimator: no error
  encoder: no error
  controller: Error(s):
    ControllerError.SPINOUT_DETECTED
axis1
  axis: Error(s):
    AxisError.MOTOR_FAILED
  motor: Error(s):
    MotorError.CURRENT_LIMIT_VIOLATION
  DRV fault: none
  sensorless_estimator: no error
  encoder: no error
  controller: no error

Okay, looks like the actual error is the SPINOUT_DETECTED. What encoders are you using?

I using this BLDC motor with HALL sensors without encoder.

https://www.aliexpress.com/item/2251832791259766.html