[sdiy] Selecting a rotary encoder, transistions per detent?
Jay Schwichtenberg
jschwich53 at comcast.net
Mon Feb 10 00:30:12 CET 2020
For a single encoder I would setup the MCU to interrupt on a low to high
transition on both the A and B pins. If you get an interrupt on the A
pin first you are going clockwise, on the B pin you are going counter
clockwise. I do typically debounce the switch transitions in software
too. Basically after the interrupt (a few milliseconds) I check to see
if the state is correct before I say the switch has changed state. If
you don't you can get multiple interrupts from a 'noisy/bouncy' switch.
Since this is an edge transition and not polling a steady state I think
it should work for both (don't know which Bourns encoder you're using,
so I'm assuming they it will work since most work the same way).
If I use more than 2 encoders I'll usually multipex them to save pins.
To do that you have to ground pin C of the active encoder and use diodes
between the A and B pins and the pull up resistors. Cathode of the
diodes goes to the A and B pins, anode to the pull ups.
Jay S.
On 2/9/2020 2:32 AM, Spiros Makris wrote:
> Thank you Jay, I have look at that datasheet. Indeed what is shown is
> how my encoder behaves (rests at either 00 or 11when turned). My
> confusion stems from the fact that the bourns encoders also have the
> same waveforms in the datasheet even though they don't work in a
> similar fashion.
> Is there any algorithm that can successfully read both types of encoders?
> I am looking for a smooth encoder with a very light touch. I'm
> guessing I need to look for no detents first. What about the
> "hardness"? I suspect that's specified by the torque, and I'm looking
> for the lowest one possible?
>
> Spiros
>
> On Sun, Feb 9, 2020 at 1:19 AM Jay Schwichtenberg
> <jschwich53 at comcast.net <mailto:jschwich53 at comcast.net>> wrote:
>
> Shawn,
>
> Thanks put I understand encoders and have all sorts of code for
> encoders. Embedded HW/SW stuff was my day job for a number of years.
>
> Thanks
> Jay S.
>
> On 2/8/2020 3:04 PM, Shawn Rakestraw wrote:
>> I don't know if this will help you or not, but I have just
>> assembled two projects that use Teensy microcontrollers. This is
>> the encoder that I used. I can't say for sure how it outputs the
>> signals.
>>
>> https://www.mouser.com/ProductDetail/858-EN11-HSM1BF20
>>
>> Shawn
>>
>> On Sat, Feb 8, 2020 at 5:44 PM Jay Schwichtenberg
>> <jschwich53 at comcast.net <mailto:jschwich53 at comcast.net>> wrote:
>>
>> At least for the Alps pg 267 in the data sheet on the Mouser
>> web site show you what's going on. This is pretty standard
>> for this type of encoder.
>>
>> https://www.mouser.com/datasheet/2/15/alps_alps-s-a0008379064-1-1733314.pdf
>>
>> Jay S.
>>
>> On 2/7/2020 5:00 AM, Spiros Makris wrote:
>>> Hello,
>>> I am putting together a teensy application that uses rotary
>>> encoders. I picked up two different ones from my local
>>> shops, but they seem to have a different output waveform scheme.
>>> One is an EC11e15204a3 alps (according to the guy selling
>>> it) and on each detent, the outputs switch between high and
>>> low. So, 00->11->00 and each transition from 00 to 11 and
>>> vice versa happens when you hit a detent.
>>> The other is a bourns by the looks of it, and works
>>> differently: When resting, it defaults to 00. When turned,
>>> it briefly becomes 1, then returns to 00.
>>> (obviously, the turn direction is detected during the
>>> transitions).
>>> The second type detects two increments instead of one, as a
>>> result.
>>> Where in the datasheet is this specified? Both are sold as
>>> "2 channel quadrature outputs" but the detection code is
>>> slightly different (unless I'm missing something?). Is there
>>> code that can work with both? I am using polling and shift
>>> registers and don't need any significant accuracy- the delay
>>> so far feels great.
>>> Is there a cheaper alternative to the 5pin arrangement of
>>> the EC11? It seems that those without switches only have 3
>>> pins- they will be going on a prefboard and the extra
>>> support would be welcome (I'm not compelled to drill 64
>>> holes for the side supports :P ).
>>>
>>> Regards,
>>> Spiros
>>>
>>> _______________________________________________
>>> Synth-diy mailing list
>>> Synth-diy at synth-diy.org <mailto:Synth-diy at synth-diy.org>
>>> http://synth-diy.org/mailman/listinfo/synth-diy
>> _______________________________________________
>> Synth-diy mailing list
>> Synth-diy at synth-diy.org <mailto:Synth-diy at synth-diy.org>
>> http://synth-diy.org/mailman/listinfo/synth-diy
>>
> _______________________________________________
> Synth-diy mailing list
> Synth-diy at synth-diy.org <mailto:Synth-diy at synth-diy.org>
> http://synth-diy.org/mailman/listinfo/synth-diy
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://synth-diy.org/pipermail/synth-diy/attachments/20200209/9833a018/attachment.htm>
More information about the Synth-diy
mailing list