Minimum requierd encoder CPR

Hi together,
is there a minimum required encoder CPR?
Is it possible to drive a 22n24p Motor with a 32 CPR encoder (500 rpm)?
Thanks in advance for the help!!

No :joy: that’s like a blind man playing darts.

There is an absolute bare minimum of 6 cpr per motor pole, which is what you get with Hall sensors. But beware that if you had a slightly higher cpr (e.g. 10 per pole) then it would be useless, because the counts are not aligned to motor poles as they are with Hall sensors.

I can’t imagine why you are trying to drive a 24 pole motor with a 32cpr encoder (maybe you have an encoder after a gear reduction??) but it sounds like you’d be better off using sensorless mode and using the encoder for position feedback only, with an external controller closing that loop (i.e. as far as ODrive is concerned, the encoder is unused except for odometry).
Sensorless mode gives you very poor performance at low speeds, which may or may not be an issue for you.

In order to use the encoder as feedback for FOC commutation, you need at least 100 counts per pole pair, i.e. 1200cpr in your case. More is better though, especially at low speeds / stall.

1 Like

I forgot to say its at fix Speed. Is there no Position interpolation between the counts? It´s an optical encoder with 32 “theeth”. But 36 “teeth” it would be fine?

There is position interpolation between counts, but that’s not the problem.
The issue is that in order to commutate the motor, the ODrive needs (at a minimum) to know which coils to energise at any given time. For a 3 phase motor, that’s 6 states around each pole pair.
Hall sensors can only get away with such a low resolution because they are directly measuring the position of the magnets. It would be
Your 32 tooth encoder could have as many as 128 “counts” per rev, since ODrive uses 4x quadrature decoding (it counds all rising and falling edges, not just teeth) but that would STILL be too low to be useful for commutation.

What fixed speed are you running at? It may be that sensorless commutation plus encoder for velocity feedback is what you want.
Or, a higher resolution encoder. The magnetic ones are very good these days (if you can get the SPI to work)

Sensorless should work great here for constant speed operation

I´m not sure if I have to run the motor in Gimbal mode( I will test in sensorless mode). It needs only about 1 A. I can’t use a magentic encoder, because it is an off-axis motor and a magnetring won´t fit. What is the bare minimum requierd counts for commutation? Would it work with 4 x 72 CPR? RPM is about 500-1000 rpm.

Don’t use gimbal mode. Just regular sensorless should be fine.

No, the sensorless estimator will give you better commutation feedback than that encoder. Use your encoder for odometry only.

1 Like

It probably won’t work very well with just one amp, you may indeed need the Gimbal mode + sensorless (i think that’s a usable combination?)

I think sensorless will not work with gimbal mode. In gimbal mode is no current measured.

sensorless uses the back-EMF voltage as feedback, not current.
I have been corrected below :slight_smile:

Sensorless and gimbal motor mode will not work together, as the sensorless algorithm uses the applied voltage and measured current.

2 Likes