Too much current?

I’ve setup an Odrive, getting commands from arduino, i had everything working fine, added some more code, but now it’s seems like the current going to the motor is way to high after calibration.
(e.g. wires getting hot) I didn’t have this before, and was able to control the motors just fine.
I set the current via the arduino, but even when set to 1, the wires still get hot (and start smoking a bit).
Any ideas how this could be?

I had a similar problem. I noticed when I used the python script test no overheating at all took place. On the other hand, when I used the arduino sketch the temp went up considerably… Can you please share your arduno code?


It’s gonna be alot of code to post, but i have a suspicion.
At this point my code runs in a loop, which means i constantly output a position to the motor, but this position mostly stays the same, so i’m spamming one position to the motor, which might cause problems?

That shouldn’t cause any issues. Please post your code to something like

I hope you can make sense of all of it

I suggest changing it to only output a position to the motor when the desired position changes, or up to a certain rate. Also, ensure that your currently limit is set correctly (it seems to be setting it to 1A)

You may want to add a small delay in here:

void loop() {
  // put your main code here, to run repeatedly:

I will give that a try wednesday, current was set to 1A now because i thought it might have been to high, this didn’t seem the case, still need to change back the current setting

So i gave it a try, even made it that it only sends a new position when i press a button, but i still get the same issue sadly

Try plotting the current in the liveplotter with odrivetool while sending your adruino commands.

in odrivetool: start_liveplotter(lambda: [odrv0.axis0.motor.current_control.Iq_measured]).

I just did the liveplotter, and it seems if i read it correctly that amps are going up to 40ish
(40 seems a bit much, as my supply only handles max output of 6.2A, so i might have to read it as 4A?
Is this a setting in the odrive itself maybe?Figure_1

Your motor is probably doing 40A.
As noted in the documentation: “The motor current and the current drawn from the power supply is not the same in general. You should not look at the power supply current to see what is going on with the motor current.”

You are saying that the ODrive pushes 40A in your motor even though your .motor.config.current_lim is much less?

1 Like

Yes that is correct, in the setup of my arduino sketch it should set the current to 6A, i’ve also tried lower, but there was no difference.
EDIT: So somehow it got fixed, it might be that i powered the odrive after powering the arduino, skipping the setup.
I now make sure the odrive is powered first.
However, somehow i can’t set the position?

Back again, having the same problem again, now with the 2nd motor…
Can’t seem to figure out where the problem exists…
Spent way too much time on this, and would really like to know why this happens…

in odrivetool the values for motor 1 are way off from motor 2.

in axis1.motor.current_control Iq Setpoint = -15
while for axis0.motor.current_control iq Setpoint = -0.743543545
This may indicate where the problem is?