Hi all,
We have a major issue with the Odrive S1’s in combination with the AS5048A (AMS) encoders. These work great in our current custom VESC based design (4 controllers per robot). We have switched to Odrive S1 for our new batch of robots (big stock of Odrive components arrived). But to our surprise the encoders are not read out. After many hours of debugging we might have found the culprit. See the scoped images of the SPI bus:
No error:
Error:
The encoder works great (when configured). We can read out the position as expected. But once we do any motor related calibration the error flag (EF) of the AMS encoder (second bit from the left, see images) is raised. At this point the Odrive seems to ignore all readings (even if they continue to be send, despite the error flag).
We have designed special differential ended signalling circuits for the SPI bus to minimize the influence of any EMC. This works great on our custom VESC based controllers. Even under high load/currents. But not on the Odrive S1.
Is there anything we can do to ignore the error flag? The source code doesn’t seem to be available. Or am I not looking correctly? Maybe anything else I can try/do to make the Odrive happy?
Looking forward to your reply. Really hope someone can help.