[sdiy] Question how to improve rotary encoder feel
paula at synth.net
paula at synth.net
Fri Jun 9 12:48:02 CEST 2017
Julian,
I spent a great deal of time with rotary encoders and getting them to
feel right.
There's a few tricks you can use;
let's assume you have two inputs; A and B
use input A to trigger an interrupt that detects both rising and falling
edges.
when an interrupt happens you read both A and B.
If the levels match you're going one way
if they don't you're going the other
This gives you double edge detection, so effectively 48pulses per full
turn.
On top of that you can add acceleration, so if you move it quick,
instead of incrementing/decrementing by 1 you inc/dec by say 3. then as
you slow down it drops to 2 and to 1.
snags;
you'll need to debounce the output of the encoders, you can do this in
software and/or hardware (I use a combination of both).
If you use the acceleration you'll need to do some interpolation such
that when you're jumping by a value of three, you actually send a number
of 1s at a proportional rate, so you don't get stepping.
The other trick,
use potentiometers which are endless ;)
Paula
On 2017-06-09 12:30, Julian Schmidt wrote:
> Hello All,
>
> I have a current idea that could vastly benefit from using encoders instead of pots.
> My only gripe is that I never had an encoder where I liked the feel. With the standard 24PPR encoders you have to make way too many turns to get to a higher value.
> Rotationspeed based value speedups made the feeling even worse on the machines I tried. Also a lot of people complain about encoders on synths for the same reason.
> Best solution so far is something like on the midibox or AN1X where you push the encoder for fine resolution.
>
> The only one people seem to like are the Nord ones with the LED rings. I never had a nord machine in my hands, but Forum research suggests that they somehow managed to line up the LED movement on the ring with the encoder travel. So if you turn the encoder half a rotation, the value LED is at half, too.
>
> Any idea how they've done this? looking up the specs it seems like they are using Bourns ECW1D-C24-SE0049L encoders (http://electro-music.com/forum/topic-50251.html).
> 49L is not specified in the datasheet, but my guess would be 48L => 48PPR which would still be too little resolution to even bring a 7 bit value up to full range in one revolution.
> Is the front panel resolution just reduced and interpolated on the nords?
>
> So if anybody has some hints how to give an encoder a more potentiometer like feeling I'm all ears. Especially if we talk 12 bit instead of 7 bit parameter resolution.
>
> For practical reasons encoders would be great for layered UIs to share a set of controls between multiple LFOs or preset saving. LED rings are sexy as hell, too. But whenever I use encoders for something other than menu diving and editing settings I wish for a pot in my hands ;)
>
> Cheers,
> Julian
>
> _______________________________________________
> Synth-diy mailing list
> 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/20170609/1ec9fbd3/attachment.htm>
More information about the Synth-diy
mailing list