I’ve got myself the V3.6 controller and one of the 150KV motors that the website sells. I’m attempting to do something that should be simple and in theory works but is proving to be very difficult. I’m using a python program to control the motor (the issue happens in both the program and the odrive terminal window) such that when I send it a positional value such as 50 the motor will spin 50 revolutions. All seems well until I send it a command to go to anything larger than ~220. The motor ends up stopping and seems to want to turn but doesn’t have enough torque to do so. No errors are shown on a dump_errors command. Similar issues happen in velocity mode, the motor wants to turn but cannot after it reaches a certain number of revolutions (or time…I haven’t checked). I believe that the hardware has failed in some way since I “solved” the issue temporarily by using the alternative axis hardware, but it has appeared again and I cannot seem to find the solution online at all. It seems to me that some sort of watchdog timer is reducing the supplied current after ‘x’ amount of time, but it could be anything so I’m a little lost. The issue is a bit more complicated than this, but what information is required before we dive further into the subject that I could provide? Is anyone willing to spend some time helping me out? Any help would be greatly appreciated as I am completely lost at this point. Thanks in advance!
Do you use an incremental encoder?
After the motor gets weak, do the following:
- Restart ODrive, is the motor still weak?
- Do full calibration. Is the motor still weak?
It seems after some more testing and further research that the encoder is the issue. It seems to be slipping and therefore messing up the control to the motor. I guess the driver thinks the motor is in ‘x1’ position while it is actually in ‘x2’ position which causes the driver to send the wrong data at the wrong time. That at least seems to be the issue at the moment.