Motor rotates uncontrollably after entered into closed loop

Sometimes motor rotates uncontrollable after enter into the closed loop control.This is happening 1 out of 10 times.My encoder mounting and all fine(no slip)…

Is there anything to do with calibration parameters like phase inductance and resistance??? Or any electrical parameters??

We are having this problem for past six month??
Can someone help me out?

1 Like

Are you using index search?

i am facing the same issue, yes i am doing index search.

Yes using use_index parameter.

Hi,Wetmelon,can you explain more detail,I have the same question and is it because of the index noise?

Yes. On one run, the index is found at some location. Then the calibration is done based on that rotor phase angle. And then on another run, the index is found at a different location. Now the rotor phase angle is wrong and the current is applied incorrectly, causing the motor to accelerate to maximum speed.

Ok,Thank you for your reply! I indeed have the problem that the startup index search not in the same location each time.But the “motor rotates uncontrollable” problem seems occur randomly.

1 Like

yeah, there’s a roughly equal chance that it’ll work, not move, or accelerate to full speed.

1 Like

Hi, I facing exactly the same trouble, my problem is that I cannot guarantee the index in the same position each time, moreover, both motors in the same Odrive have a load when the index search is being performed, and when I put the motor in close loop, one of the motors spins uncontrollably randomly… , there’s a solution to mitigate this problem?

Use an absolute encoder. You’ll have to calibrate once with no load, then save the calibration, and then mount your motor to the machine. This is how it’s done in industrial machines too.


Thank you for your answer Wetmelon yes it is correct we should use an absolute encoder, anyway, if you have any another idea how to mitigate the problem let me know, because for the moment we need to test the motors with some weight as soon as possible :slight_smile: .

@DR_Hernandez absolute encoders are a lot cheaper, more ubiquitous and easy to install than they used to be. There are several companies offering non-contact encoders that use a disc-shaped neodymium magnet on the rotor, and a single chip on a PCB as the encoder.
They are not sensitive to misalignment (in my experience) - I simply super-glue the magnet to the rotor.
For example: AS5047P

1 Like

hi guys i’m agree with buy absolute encoder, but if you alredy have an incremental encoder and for some reason you should use then, is possible to do an startup procedure when you find index calibration with axis0 and after with axis 1? or in the other way around?