From becc04d554d9696f9b77bfc53200b73d0efd8e09 Mon Sep 17 00:00:00 2001 From: Peter Hinch Date: Thu, 14 Apr 2022 10:29:43 +0100 Subject: [PATCH] ENCODERS.md: add schematics. --- encoders/ENCODERS.md | 65 ++++++++++++++++++++--- encoders/encoder_conditioner_digital.png | Bin 0 -> 61683 bytes 2 files changed, 57 insertions(+), 8 deletions(-) create mode 100644 encoders/encoder_conditioner_digital.png diff --git a/encoders/ENCODERS.md b/encoders/ENCODERS.md index 395d6a7..32a3043 100644 --- a/encoders/ENCODERS.md +++ b/encoders/ENCODERS.md @@ -1,5 +1,9 @@ # 1. Incremental encoders +These simple devices conceal a number of subtleties and have been the subject +of lengthy debate in the MicroPython forum. This doc aims to resolve the issues +and to offer tested solutions. + There are three technologies that I am aware of: 1. Optical. 2. Magnetic. @@ -63,8 +67,8 @@ class Encoder: self._pos = round(value / self.scale) return self._pos * self.scale ``` -If the direction is incorrect, transpose the X and Y pins in the constructor -call. +If the direction is incorrect, transpose the X and Y pins in hardware or in the +constructor call. # 3. Problem 1: Interrupt latency @@ -103,7 +107,7 @@ that produces good logic levels the solution is to limit the rate by pre-synchronising the digital signals to a clock. For bit-perfect results a single level of clock synchronisation is inadequate because of metastability. Typically two levels are used. See -[this Wikipedia article](url=https://en.wikipedia.org/wiki/Incremental_encoder#Clock_synchronization). +[this Wikipedia article](https://en.wikipedia.org/wiki/Incremental_encoder#Clock_synchronization). The clock rate of a synchroniser for a software decoder must be chosen with regard to the worst-case latency of the host. The clock rate will then @@ -113,9 +117,10 @@ Contact bounce on mechanical encoders can also result in invalid logic levels. This can cause a variety of unwanted results: conditioning with a CR network and a Schmitt trigger should be considered. -In practice bit-perfect results are often not required and simple software -solutions are fine. In particular encoders used for user controls normally have -some form of user feedback. The occasional missed pulse caused by fast contact +In practice bit-perfect results are often not required: synchronisation can +simply be ignored, relying on software to provide reasonably accurate tracking +of position. Applications using encoders for user controls normally provide a +form of user feedback. The occasional missed pulse caused by fast contact bounce will not be noticed. Where bit-perfect results are required the simplest approach is to use a target @@ -137,6 +142,9 @@ IRQ's) presents concurrency issues where an application's data can change at any point in the application's execution. Further, a complex function would cause the ISR to block for a long period which is bad practice. +The use of `micropython.schedule` avoids the problem of excessive ISR blocking +but would not solve the concurrency issue described above. + A solution to this is an interface between the ISR's and `uasyncio` whereby the ISR's set a `ThreadSafeFlag`. This is awaited by a `uasyncio` `Task` which runs a user supplied callback. The latter runs in a `uasyncio` context: the state of @@ -157,6 +165,8 @@ the rate at which callbacks occur. 3. `encoder_rp2.py` Version specific to Raspberry Pico RP2 chip. This uses the PIO and Viper code to achieve fast response - upto ~10K transitions/s. 4. `encoder.py` An old Pyboard-specific version. + 5. [Asynchronous driver](https://github.com/peterhinch/micropython-async/blob/master/v3/docs/DRIVERS.md#6-quadrature-encoders) + for `uasyncio` applications. These were written for encoders producing logic outputs. For switches, adapt the pull definition to provide a pull up or pull down as required, or provide @@ -186,7 +196,7 @@ Decoding these four bits is a problem of combinatorial logic. All such problems may be solved by using the bits as addresses of a lookup table. In this case there would be two output bits signifying increment, decrement or do nothing. However, simplifications are possible if changes of `x` and `y` trigger -interrupts. +interrupts (i.e. interrupt on `IRQ_RISING | IRQ_FALLING`). The truth table may then be split into two, one catering for cases where `x` has changed, and the other for `y` changes. The illegal cases are discarded and @@ -208,7 +218,8 @@ one LSB of positional uncertainty. All valid solutions to a combinatorial logic problem are equivalent. The only ways in which one solution can be considered "better" than another are in -qualities such as performance and code size. +qualities such as performance and code size. Where decoders can differ in +quality is in their handling of interrupts. ## 7.3 Interrupt issues @@ -246,3 +257,41 @@ logic levels and hard IRQ's, on rare occasions pulses arrive too fast for the ISR to track. If bit-perfect results are required, hardware rate limiting must be applied. + +## 7.4 Encoders with mechanical detents + +Encoders intended for user controls often have detents with each "click" +producing one complete cycle of the state transition diagram above. If it is +required to track these exactly, for example triggering a callback on each +"click", the +[asynchronous driver](https://github.com/peterhinch/micropython-async/blob/master/v3/docs/DRIVERS.md#6-quadrature-encoders) +with a division ratio of 4. Rate limiting is essential. Testing with a +mechanical encoder with Schmitt trigger preconditioning (see below) produced +good results with tracking maintained exactly. + +It is almost certainly impossible to provide exact tracking on platforms which +support only soft IRQ's because garbage collection results in interrupt latency +which exceeds the time between edges from the encoder. + +# 8. Preconditioning and rate limiting + +## 8.1 Mechanical encoders + +The task here is to ensure valid logic levels in addition to limiting the pulse +rate. The solution is to use a single pole low pass filter to limit the rate, +followed by a Schmitt trigger to guarantee logic levels. In practice a time +constant of 1-1.5ms is sufficient for platforms with hard IRQ's. + +Typical circuit. The asymmetry in the timing resistors approximately matches +the offsets of the chip's threshold voltages. +![Image](./encoder_conditioner_digital.png) + +Alternative using a dual CMOS op amp. +![Image](./encoder_conditioner.png) + +## 8.2 Optical encoders + +These can use the above circuits, but as they produce good logic levels an +alternative is to use two d-type flip-flops on each channel, clocked using a +signal from the host. Typically this might be produced by a PWM channel running +continuously. Clock rate depends on the expected worst-case interrupt latency. diff --git a/encoders/encoder_conditioner_digital.png b/encoders/encoder_conditioner_digital.png new file mode 100644 index 0000000000000000000000000000000000000000..feab7efbd93be7c67c559f6d3d4b0789b4f4fbad GIT binary patch literal 61683 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 SdhX*_BsyC9nin)y9{680$pG~L literal 0 HcmV?d00001