Rotary Encoder Debouncing Circuit for Clean Quadrature Signals
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing rotary encoders, particularly those with mechanical sensors, suffer from bouncing effects that affect the decoding of quadrature waveforms, leading to inaccurate signal processing and requiring costly debouncing solutions.
Innovation Solution
A debouncing circuit that includes an edge detector, pulse skip and reset circuit, and sampling circuit to produce clean quadrature signals without the need for a timer, adapting to pulse period changes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If mechanical sensors are used in rotary encoders, then the encoder can detect angular position changes, but bouncing effects occur that affect signal decoding accuracy
Solution Approach 1:
The debouncing circuit performs preliminary signal conditioning by detecting edges and generating cleaned quadrature signals before they reach the decoder. The circuit anticipates and corrects bouncing effects in advance, ensuring clean signals are provided to the decoder before decoding occurs.
Solution Approach 2:
The debouncing circuit acts as an intermediary component between the mechanical encoder sensors and the decoder. It receives raw quadrature signals from the encoder, processes them through edge detection and signal cleaning logic, and provides cleaned signals to the decoder, isolating the decoder from bouncing effects.
2Reliability
If dedicated debouncing circuits are used to clean encoder signals, then signal accuracy improves, but system cost increases
Solution Approach 1:
The debouncing circuit combines multiple functions (edge detection, signal cleaning, quadrature signal generation) into a single integrated circuit block. This merging of functions provides comprehensive signal conditioning while minimizing the number of separate components needed in the system.
Solution Approach 2:
The debouncing circuit is designed to handle both Channel A and Channel B signals simultaneously, providing universal signal cleaning for both quadrature channels. The circuit can process different signal conditions and provides adaptable debouncing for various encoder operating modes.
3Device complexity
If software debouncing is implemented in a microcontroller, then external hardware complexity is reduced, but processing time increases
Solution Approach 1:
The patent replaces software-based debouncing processing with a hardware-based debouncing circuit that operates in parallel with the encoder. This hardware implementation performs signal cleaning through dedicated logic circuits rather than sequential software processing, eliminating the time penalty associated with software debouncing while providing real-time signal conditioning.
4Reliability
If RC filtering is applied to encoder signals, then some bouncing effects are reduced, but decoding speed is limited
Solution Approach 1:
The debouncing circuit uses periodic edge detection synchronized with the encoder's quadrature signal periods to identify and clean bounce effects. By detecting edges at appropriate intervals and using the periodic nature of quadrature signals, the circuit maintains accurate decoding even at high speeds where RC filtering would fail.
Solution Approach 2:
The circuit dynamically adapts its debouncing behavior based on the actual signal conditions and speed of the encoder. Rather than using a fixed time constant like RC filtering, the hardware logic adjusts its signal cleaning approach in real-time based on detected edge patterns and signal validity, maintaining effectiveness across a wide speed range.
Data Source
Figure 1~3
Figure 4~5
Figure 6~7
AI summary
A circuit (6) configured to debounce signals (IN1, IN2) produced by a quadrature encoder is disclosed. A first input node is configured to receive a first input signal (IN1) and a second input node is configured to receive a second input signal (IN2). The first input signal and the second input signal are in phase quadrature. An edge detector circuit (60) is configured to sense the first input signal and produce a pulsed signal (E) indicative of edges detected in the first input signal. A pulse skip and reset circuit (62) is configured to sense the pulsed signal and the second input signal, and produce a reset signal (CLR) indicative of pulses detected in the pulsed signal while the second input signal is de-asserted. A sampling circuit (64) is configured to sense the second input signal and the reset signal, and produce an output signal (IN2 ') by de-asserting the output signal in response to assertion of the second input signal and asserting the output signal in response to a pulse being detected in the reset signal.