How Encoder Resolution Limits Small-motion Performance
When the target position error approaches a few encoder counts, quantization — not tuning — dominates. How resolution propagates into error budget, velocity estimation and achievable bandwidth.
- encoder
- quantization
- motion-control
- signal-processing
Problem
An axis meets its specification on long moves but behaves poorly on small ones: the position hovers around the target with a limit-cycle-like dither, and velocity feedback looks noisy even at standstill. Gains help nothing — or make it worse. When is encoder resolution, rather than tuning, the real limit?
Likely Causes
- Error budget in counts. If the allowed position error corresponds to only 1–2 encoder counts, the controller cannot resolve errors smaller than its own sensor step; the loop dithers between adjacent counts.
- Velocity from differentiated quantized position. Differentiation amplifies quantization into velocity noise proportional to resolution × sample rate; derivative gain feeds it back as force noise.
- Integrator hunting. The integrator winds between two adjacent counts around the deadband-free setpoint, producing slow limit cycles.
- Interpolation quality. With sin/cos encoders, the effective resolution depends on interpolation; amplitude/offset errors turn into position-dependent ripple that looks like noise.
Measurement Method
- Express the position error budget in encoder counts (the sizing framework outputs exactly this number). Below roughly 2 counts, suspect quantization first.
- Record position at standstill with the loop open (or force command frozen): the residual step pattern is the raw quantization floor.
- Compare velocity-signal noise against the theoretical quantization noise for the used differentiation/filter scheme — if they match, no tuning will improve it.
Engineering Interpretation
Quantization sets a floor that behaves like injected noise at the sensor. The escape routes are architectural, not tuning: higher-resolution feedback, better interpolation, observer-based velocity estimation instead of raw differentiation, or an explicitly designed dither/deadband strategy for in-position behavior. This is why resolution belongs in the sizing chain before bandwidth targets are set — a bandwidth that demands sub-count precision was never achievable.
What to Test Next
- Quantify the standstill noise floor in counts and compare across the 4 kHz vs 16 kHz sampling configurations.
- Prototype an observer-based velocity estimate and compare in-position dither against the differentiated version.
- For sin/cos feedback, measure interpolation ripple with a slow constant-velocity move and a reference interferometer if available (TODO: sanitized results).