The Encoder That Was Too Coarse

We picked a 100 PPR (pulses per revolution) encoder for a servo axis with a 5 mm ball screw lead. The position resolution was: lead / (PPR × 4 quadrature) = 5 mm / (100 × 4) = 0.0125 mm per count. That seemed fine. On the machine, the positioning was choppy — the axis moved in visible steps of 0.0125 mm, and the velocity loop wasn’t smooth. The problem: the 100 PPR encoder was too coarse for the servo drive’s loop. The drive needed at least 1,000 PPR for smooth velocity control. We switched to a 2,500 PPR encoder. The resolution became 0.0005 mm per count. The motion was smooth. The mistake was picking the encoder based on the required position resolution, not on the servo drive’s loop bandwidth requirement.

Encoder resolution selection isn’t just the final position accuracy. The encoder also feeds the velocity loop, which needs enough pulses per revolution for smooth motion. This article covers both requirements.

Two Requirements: Positioning and Velocity

The encoder must satisfy two things:

  • Position resolution: The smallest position increment the system can measure. The encoder counts must be fine enough for the required accuracy.
  • Velocity loop bandwidth: The servo drive’s velocity loop needs enough pulses per revolution to compute velocity smoothly. Too few pulses = choppy motion, noise, and instability.

Step 1: Position Resolution Calculation

The encoder pulses are multiplied by 4 (quadrature decoding: rising and falling edges on both channels). The position resolution is:

Resolution = Lead / (PPR × 4)

Where PPR is the encoder’s pulses per revolution, and Lead is the screw lead (or the belt pitch × pulley circumference) per revolution.

For a 5 mm lead screw with a 100 PPR encoder: resolution = 5 / (100 × 4) = 0.0125 mm. With a 2,500 PPR encoder: resolution = 5 / (2,500 × 4) = 0.0005 mm (0.5 microns).

The required resolution depends on the application:

  • Transport/conveyor: 0.1 mm is fine. A 100 PPR encoder works.
  • General positioning: 0.01 mm. Need 500–1,000 PPR.
  • Precision machining/dispensing: 0.001 mm. Need 2,500–5,000 PPR.

Step 2: Velocity Loop Requirement

The encoder also measures velocity. The drive computes velocity by counting pulses per unit time. At low speeds, few pulses arrive (the velocity estimate is noisy). At high speeds, the pulses come fast (good). The rule of thumb: the velocity loop needs at least 1,000 pulses per revolution (PPR × 4 = 4,000 counts/rev) for smooth control.

A 100 PPR encoder gives 400 counts/rev. At low speed (10 RPM), that’s 400 × 10 / 60 = 67 counts/second. The velocity loop updates at 1 kHz. That’s one count every 15 loop cycles — the velocity estimate is choppy.

A 2,500 PPR encoder gives 10,000 counts/rev. At 10 RPM, that’s 1,667 counts/second. The loop gets a new count every loop cycle — smooth velocity.

Encoder PPR Counts/rev (×4) Resolution (5 mm lead) Velocity Smoothness
100 400 0.0125 mm Choppy at low speed
500 2,000 0.0025 mm Acceptable
1,000 4,000 0.00125 mm Good
2,500 10,000 0.0005 mm Smooth (standard servo)
5,000 20,000 0.00025 mm High precision

Incremental vs. Absolute Encoders

Incremental (AB Quadrature)

Outputs A and B square waves (90° out of phase). The drive counts pulses. On power-up, the encoder doesn’t know its position — it must “home” (find a reference) by moving to a sensor. Standard for most servo axes. Cheaper.

Absolute (SSI, BiSS, EnDat)

Outputs the actual position value (digital word) on power-up. No homing needed — the encoder knows where it is immediately. More expensive. For machines that can’t home on startup (large gantries, or where the home switch is hard to reach).

For most machines, incremental is fine (home on startup). For complex machines or safety-related positioning, use absolute.

The encoder rule: Pick the PPR based on the velocity loop (minimum 1,000 PPR for servos), not just the position resolution. The 100 PPR encoder that was choppy satisfied the position resolution (0.0125 mm) but failed the velocity loop. Use 2,500 PPR for standard servos. For a stepper (no closed loop), 100–500 PPR is fine (steppers are open-loop, the encoder only tracks position).

Encoder Mounting: Motor vs. Load

Where the encoder mounts matters.

  • Motor-mounted (rear of motor): Standard. The encoder is on the motor shaft. It measures the motor rotation. But it doesn’t account for coupling wind-up, belt stretch, or screw backlash. The actual load position can differ from the commanded position by the lost motion.
  • Load-mounted (on the moving carriage): A linear encoder (or a rotary encoder on the driven pulley) measures the actual load position. It accounts for all the mechanical errors. More accurate. But more expensive (and requires a cable carrier for the moving readhead).

For general automation, motor-mounted is fine. For high-precision (CNC, dispensing), use a linear encoder on the load.

Encoder Cable and Noise

Encoder signals are low-voltage (5 V) and high-frequency. They’re susceptible to noise.

  • Shielded cable: Use a shielded encoder cable. The shield grounds at one end (the drive end, not the motor end).
  • Separate from power: Don’t run the encoder cable in the same conduit as the motor power cable. The motor cable (high voltage, high current) induces noise in the encoder signals. Separate them by at least 100 mm.
  • Differential (line driver): Most servo encoders use differential signals (A+, A-, B+, B-). This rejects common-mode noise. Don’t use single-ended (open collector) for long cables.

PPR vs. Bits (Absolute Encoders)

Absolute encoders specify resolution in bits (not PPR). The number of positions is 2^bits.

  • 12-bit: 4,096 positions/rev. Equivalent to about 1,000 PPR incremental.
  • 17-bit: 131,072 positions/rev. Very high resolution. For precision.
  • Multi-turn: Counts multiple revolutions (with a gear or battery). The encoder knows the absolute position over many turns.

An Encoder Selection Checklist

  1. What is the required position resolution? (mm)
  2. What is the lead (or pitch)? (mm/rev)
  3. PPR needed = lead / (resolution × 4).
  4. Does the PPR satisfy the velocity loop? (Min 1,000 PPR for servo.)
  5. Incremental or absolute? (Homing needed?)
  6. Where is the encoder mounted? (Motor or load?)
  7. Is the cable shielded? (Separate from power?)
  8. Differential (line driver) output? (For noise rejection.)
  9. For absolute: SSI, BiSS, or EnDat? (Match the drive.)
  10. Is there a home/reference sensor? (For incremental.)
  11. What is the max RPM? (Encoder frequency limit?)
  12. Is the encoder rated for the environment? (IP rating?)

The Bottom Line

Encoder resolution selection is both the position resolution and the velocity loop bandwidth. The 100 PPR encoder that moved in choppy steps met the position requirement but starved the velocity loop. Use 2,500 PPR for standard servos (10,000 counts/rev). Use a linear encoder on the load for high precision. Keep the shielded cable away from motor power. The axis that moves smoothly at every speed wasn’t the highest-resolution encoder — it had enough pulses per revolution for the drive’s velocity loop.