- What encoder resolution should be chosen in minimum for a good control result?
The minimum recommended encoder resolution depends on the control and application requirements.
1.) Pure current / torque control with FOC
If there is a brushless motor and a controller like an EPOS4 offering sinusoidal commutation resp. so-called FOC (= Field Oriented Control) in use, the usage of an encoder stiffly mounted on the motor shaft (and not just hall sensors) is mandatory. This can be fulfilled best by a motor combination with a factory-mounted encoder.
Rule of thumb:
There has to be an incremental encoder with at least 500 cpt. (= counts per turn) resp. an absolute encoder with at least 11 Bit single turn resolution chosen which are stiffly mounted on the motor side.
2.) Velocity control
If there is velocity control in use, encoder's resolution influences the control quality and accuracy of the speed measurement. Especially in case of low speeds and / or a low encoder resolution there is some remarkable oscillation (= "noise") of the measured speed signal obvious which does not correspond to the actual stable speed of the motor. Please find more information about the topic of speed measurement by the following linked document:
Rule of thumb:
An encoder (mounted on the motor shaft) with 500 cpt. is already quite well suited for velocity control down to approx. 5 rpm.
If the application demands for extreme low speed operation or precise speed measurement, higher encoder resolutions should be chosen. The different maxon encoder product lines offer resolutions up to 1024 cpt. (e.g. ENX EASY), 6400 cpt. (e.g. MILE), or even 65536 cpt. (e.g. RIO)
3.) Position control
In case of position control the position accuracy required by the application has to be taken into account.
Rule of thumb:
The encoder resolution should be at least 2 - 4 times higher than the required position accuracy.
If an application demands for a 0.1° motor shaft positioning accuracy, there is typically an incremental encoder with 2048 cpt. (= 8192 incr./turn => 0.044 °/turn) or an absolute encoder with 13 or 14 bit single turn resolution chosen.
Possible pitfall: Backlash & Elasticity
Be aware that in case of gears with backlash or some elasticity of the drive train (e.g. belts, couplings) the load's position accuracy might be much worse than expect based on the properly selected motor shaft's encoder resolution. The backlash of gears is quite often in the range of 0.3° ... 2°. Depending on the direction of motion the load's position can finally vary by 0.3° ... 2° although the encoder mounted on the motor shaft reports always the same perfectly accurate, reproducible, and stable position data. One possibility to solve such problems is to use gears with a reduced or even no backlash. Another possibility is to use a so-called "Dual Loop" control. "Dual Loop" control can achieve a precise positioning of the load even in case of drive-trains with backlash and / or elasticity in it. "Dual Loop" control is based on an encoder mounted on the motor shaft and an encoder (or linear scale) mounted on the load side. Please find some more information about "Dual Loop" control here:
- Digital incremental encoder's actual resolution
A digital incremental encoder provides 90° phase shifted pulses by its channels A and B (plus inverted signal lines for an improved signal immunity). The controller determines direction of rotation plus the position based on the two 90° phase-shifted signal channels. Based on counting pulse edges the controller is able to process a 4-times higher position resolution than specified by the encoder's "cpt." value. The position data's unit is called "Increments" or "Quadcounts" then.
In case of a 500 cpt. encoder the controller counts totally 2000 (= 4 x 500) signal edges or so-called increments or quadcounts per turn of the encoder shaft. This 2000 increments correspond to a 0.18° movement of the encoder shaft.
- Absolute encoder's resolution
The resolution of absolute encoders is typically specified as a bit value. The specified single turn resolution corresponds to 2^n increments per turn of the motor shaft or a resolution of 360°/(2^n) of an encoder shaft turn. ('n' stands for the specified bit value.)
One turn of an absolute encoder with 12 bit single turn resolution corresponds to 4096 (= 2^12) increments per turn resp. a resolution of 0.088° (= 360°/4096) encoder shaft movement.