Set up ABI Encoder without calibration or index search


Hello everybody,

this topic has already been discussed several times, but I didn’t find an answer to my specific question.

I have a motor with ABI encoder connected to a gearbox. -> On the output side of that gearbox, there is another encoder (absolute values). -> This encoder is read by a Raspberry. -> the raspberry knows the ratio between absolute encoder counts and ABI encoder counts. -> the raspberry should calculate a PWM signal for the oDrive just on basis of the absolute encoder values.

So is there any way I can ‘hack’ the encoder source code, so I have my encoder ready from startup and always setting it to zero from startup? Because my Raspberry knows the absolute position so I want the oDrive controller just to control the ‘offset’ of that position.

Is there a way I can achieve this without blowing up the oDrive?

Thank you


Hmm… you MIGHT be able to get that to work? We have some very rudimentary absolute encoder support, but typically the absolute encoder is mounted directly to the motor. Typically you’d run the absolute on the motor, decouple the load, and calibrate the motor. Then from then on you don’t have to run the calibration. But if you can figure out the electrical angle adequately (no backlash) through the geartrain, it could work (?)

1 Like

So I get you right that with ignoring the backlash (which can be unprecise, need to experiment :wink: ), I can just run the encoder without further setup, with merely setting the CPR and direction? That would be awesome!
My concern was just that the control algorithm or some other code part needs data from every calibration sequence, but it doesn’t?

Thank you!