How to Estimate Encoder Velocity Without Making Stupid Mistakes: Part II (Tracking Loops and PLLs)
Yeeehah! Finally we're ready to tackle some more clever ways to figure out the velocity of a position encoder. In part I, we looked at the basics of velocity estimation. Then in my last article, I talked a little about what's necessary to...
Summary
This article explains practical methods for estimating encoder velocity using tracking loops and phase-locked loops (PLLs), building on initial velocity-estimation basics. Readers will learn how to design, discretize, and implement robust tracking/PLL schemes and avoid common pitfalls that break real-world firmware and motor-control systems.
Key Takeaways
- Implement a basic digital PLL suited for quadrature encoder signals and integrate it into firmware.
- Design a velocity-tracking loop that balances responsiveness and noise rejection through appropriate loop filters.
- Tune loop gains and filter time constants to minimize jitter from quantization and encoder noise without introducing excess lag.
- Analyze and mitigate pitfalls such as aliasing, missed counts, and phase slips that degrade velocity estimates in embedded systems.
Who Should Read This
Embedded and motor-control engineers (firmware developers or control engineers) with experience in microcontrollers and encoder systems who need reliable encoder velocity estimates for real-time control.
Still RelevantAdvanced
Related Documents
- Consistent Overhead Byte Stuffing TimelessIntermediate
- PID Without a PhD TimelessIntermediate
- Introduction to Embedded Systems - A Cyber-Physical Systems Approach Still RelevantIntermediate
- Can an RTOS be really real-time? TimelessAdvanced
- Memory Mapped I/O in C TimelessIntermediate








