Arduino loop keeps working, including polling of trajectory_done: it goes to 0 and 1 as if everything worked. Of course, feedback request shows the axis actually stationary…
At first glance, these errors look like fw is not respecting it’s own real-time requirements, but given I don’t see anyone else complaining, I’m inclined to think I’m doing something wrong.
Seems similar. But we don’t have any ground loops, the arduino is powered off the 5V of the ODrive itself and unless debugging, there are no outside connections besides power.
There are 4 more drives working off that same PSU howerver, so I guess I should check that. Is there a spec for power supply regulation?
But I still haven’t found anyone with “ERROR_BAD_TIMING”…
What type of encoders are you using? I saw something similar when using two different kinds of SPI encoder that had different clock polarities (AS5047p and MA732). The solution was to use the same type of encoder for both axes.
weird. Try dump_timings(odrv0) with both axes active, this will output an image file (timings.png iirc) which you can post here. It will show you which functions are taking the most CPU time in the control loop.
PWM: No, unless the default configuration has them set as such.
I do have a homing sensor (min_endswitch), but that’s an industrial break-beam sensor, and even if it had erroneous activations, it would trigger endswitch-active, not this, I assume (and have accidentally tested). Debounce is 0, as it just doesn’t bounce.
In home office, will get back to you with the dump_timings() when able.