[sdiy] Question how to improve rotary encoder feel
Dave Brown
davebr at modularsynthesis.com
Fri Jun 9 18:38:53 CEST 2017
I used this method for optical thumbwheels in 1979 on the Tektronix 4100 series of graphic terminals. The thumbwheels were read by the 8048 keyboard scanner and the resolution and acceleration were great. We used film and optical sensors, but I don’t remember the resolution. It was determined by the physical size and the light pipes at the time.
Dave
From: Synth-diy [mailto:synth-diy-bounces at synth-diy.org] On Behalf Of paula at synth.net
Sent: Friday, June 09, 2017 3:48 AM
To: Julian Schmidt
Cc: synth-diy at synth-diy.org
Subject: Re: [sdiy] Question how to improve rotary encoder feel
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/230a03a0/attachment.htm>
More information about the Synth-diy
mailing list