Motor Current Unstable error

Hi,
I have been experimenting with dual hoverboard motors. I get Motor Current Unstable errors quite frequently after a while - both on M0 and M1.

I have connected to motors via external termainal blocks and the connections appear to be very tight.

Can someone give hints regarding calibration parameters or other calibration/initialization steps to overcome this problem?

My calibration parameters for both motors are:

odrv0.axis0.motor.config.resistance_calib_max_voltage = 4

odrv0.axis0.motor.config.pole_pairs = 10

odrv0.axis0.motor.config.requested_current_range = 25

odrv0.axis0.motor.config.current_control_bandwidth = 100

odrv0.axis0.encoder.config.mode = ENCODER_MODE_HALL

odrv0.axis0.encoder.config.cpr = 60

odrv0.axis0.encoder.config.bandwidth = 100

odrv0.axis0.encoder.config.ignore_illegal_hall_state = True

odrv0.axis0.controller.config.vel_gain = 0.02

odrv0.axis0.controller.config.pos_gain = 1

odrv0.axis0.controller.config.vel_integrator_gain = 0

odrv0.axis0.controller.config. vel_limit = 1000

odrv0.axis0.controller.config.control_mode = CTRL_MODE_VELOCITY_CONTROL odrv0.axis0.motor.config.resistance_calib_max_voltage = 4

odrv0.axis0.motor.config.pole_pairs = 10

odrv0.axis0.motor.config.requested_current_range = 25

odrv0.axis0.motor.config.current_control_bandwidth = 100

odrv0.axis0.encoder.config.mode = ENCODER_MODE_HALL

odrv0.axis0.encoder.config.cpr = 60

odrv0.axis0.encoder.config.bandwidth = 100

odrv0.axis0.encoder.config.ignore_illegal_hall_state = True

odrv0.axis0.controller.config.vel_gain = 0.02

odrv0.axis0.controller.config.pos_gain = 1

odrv0.axis0.controller.config.vel_integrator_gain = 0

odrv0.axis0.controller.config. vel_limit = 1000

odrv0.axis0.controller.config.control_mode = CTRL_MODE_VELOCITY_CONTROL

I am using a joystick to control the velocity for both the motors.

Thanks for your help.

Anil Sawe

Hi Anil,

I don’t have any experience of the hoverboard motors, although have had issues when running the ODrive motors at near full capacity. This was my fault as I overtightened the screw terminals, although these looked ok initially.

Now they are directly soldered to the board (requires a beefy soldering iron, but don’t heat for too long) I no longer get any errors and the motor runs well at full speed (very powerful).

So I think this may be the best first option for you.

Kind Regards,

Neil.

Try to increase the odrv0.axis0.motor.config.calibration_current = 10 to
odrv0.axis0.motor.config.calibration_current = 20

That fixed it for me but I don’t know why it did.