E2E,
I was looking at DRV8234 that says I can achieve position detection and speed regulation without a need for encoder. I was curious on how to know the accuracy of this DRV8234 and if it can replace my 12 bit encoder?
Thank you,
Adam
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
E2E,
I was looking at DRV8234 that says I can achieve position detection and speed regulation without a need for encoder. I was curious on how to know the accuracy of this DRV8234 and if it can replace my 12 bit encoder?
Thank you,
Adam
Hey Adam,
The accuracy comparison will depend on the motor construction (brushes and commutator segments) vs your encoder output (how many pulses per motor revolution before the gearbox). Our device will output a pulse every time a motor brush jumps across two adjacent commutator segments. Many small BDC motors have 2 brushes and 3 commutator segments, resulting in 2*3 = 6 pulses per revolution. This is a 60° accuracy. If you had 4 brushes and 5 segments then it would be 4*5 = 20 pulses per revolution.
See the below example math comparing our device output on a 2brush/4segment motor with an encoder that outputs 4 pulses per revolution:
That said, if your 12-bit (2^12 = 4096) encoder outputs 4096 pulses per revolution before a gearbox, then that is much more accurate than our device. However, if the 4096 pulses per revolution are after a gearbox, then our device would match the performance if the gear ratio was more than 682:1. So it is likely in raw accuracy that your 12-bit encoder is far more accurate than our device.
For steady state performance our device can perfectly match the accuracy of an encoder in the sense of not missing any counts or adding in additional counts. However, it will still only output 6 pulses per revolution (or other count depending on motor construction). Functionally this will be just as good as the 12-bit encoder, since you will accurately be able to count revolutions or speed.
The below scope capture shows the ripple counting accuracy of RC_OUT (Yellow) to an encoder output (Pink). Motor current is in (Green) at the bottom. See how the encoder has 4 outputs for every 6 outputs of our device.
Our device will consistently miss a few ripples on startup and stop of the motor, but this can be accounted for in software as it will miss the same number of ripples every time under the same conditions. Vs an encoder would not miss any pulses.
Our device cannot detect motor movement when it is not actively driving a motor. So if you need "offline" position detection or to know the starting location of a motor after shutdown or tampering, the encoder would be a better option.
In summary, it will depend on what you're using your 12-bit encoder for and whether the 4096 pulses are before or after a gearbox, and if you truly need all 12 bits of accuracy.
Regards,
Jacob