Motor error 0x1 Current unstable

Hi Everyone

A few weeks ago I setup my new odrive v3.6 with the motor D5065 270KV and 8192 CPR encoder. Everything was working great with python until I changed the power supply and now I receive this error:

Failed calibration with axis error 0x40, motor error 0x1
Vbus 24.09V

This error correspond to “CURRENT UNSTABLE”. I don’t know exactly what this means but now it comes the weird part. To solve it, I tried to change the power supply, change the brushless motor, change the encoder, change the resistor, and even change the Odrive board, but I still keep getting this error. When I try to move the motor and measure the current in the axis, it shows 0. I wonder if there is something wrong with my computer.

Anyone has any idea of why this is happening? I would appreaciate any help, I have been stuck with this a few days and I’m not able to solve it.

Thanks!

Can you check your encoder cable? I have 2 people reporting that they received a cable where red & green wires are swapped

Thanks for your answer. I checked the wires and they seem fine. I tried to read the position of the encoder while I rotate the axis of the motor by hand and it works, I can read it without any problem.

The problem seems to be related with the current to the motor. When I read the current in the axis connected to the motor, it shows 0 and the motor does not move at all.

Does Odrive have a fuse limiting the current? Could this be broken in my board?

Does Odrive have a fuse limiting the current?

It does not. How far into the process can you get? Can you calibrate the motor? Does the encoder offset calibration run?

I cannot calibrate the motor. The problem comes when I request the state of the axis to AXIS_STATE_FULL_CALIBRATION_SEQUENCE. The state of the axis does not change from
AXIS_STATE_IDLE, and it returns the error.

Could it be that the communication with my Odrive is broken? I actually can connect to the Odrive, but sometimes I receive this error:

Had error on startup, rebooting. Axis error 0x40, motor error 0x1, encoder error 0x0. Rebooting.
receiver thread is exiting: Traceback (most recent call last):
File “/usr/local/lib/python2.7/dist-packages/fibre/protocol.py”, line 242, in receiver_thread
response = self._input.get_packet(deadline)
File “/usr/local/lib/python2.7/dist-packages/fibre/usbbulk_transport.py”, line 134, in get_packet
raise fibre.protocol.ChannelBrokenException()
ChannelBrokenException

I tried in a different computer and I have new results.

In the new computer, the calibration process starts only after unpluggin and repluggin the power supply to the odrive. If I try to calibrate again without unpluggin, the calibration doesnt start.

When the calibration starts, the motor does irregular oscillations to left and right. Looks like there is something wrong with the encoder. But I tried to read the encoder value while rotating by hand the motor and seems to work. After this calibration, I try to send velocity commands to the motor but of course it doesnt move.

I tried this with my two odrive boards and I have the same results. I don’t understand anything and I spent so much time on this…

I would appreciate any help or comment at this point. I’m out of ideas.

Hi,

After trying many things, I finally found the problem. It was simply a bad connection to the motor!. Aparently, one of the wires in my setup had a poor connection and I couldn’t see that because it was hiden. Sometimes it was working and sometimes not. Anyways, I spent some much time for such a simple problem but at least I got very familiar with the Odrive software. Thanks Wetmelon for your support

2 Likes

I think this is a very common problem, where I decided to solder mine directly to the ODrive, now I have now worries things will come loose (not with the ODrive anyway :wink: