<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head><body style='font-size: 10pt; font-family: Verdana,Geneva,sans-serif'>
<p>Julian,</p>
<p>I spent a great deal of time with rotary encoders and getting them to feel right.</p>
<p>There's a few tricks you can use;</p>
<p>let's assume you have two inputs; A and B</p>
<p>use input A to trigger an interrupt that detects both rising and falling edges.</p>
<p> </p>
<p>when an interrupt happens you read both A and B.</p>
<p>If the levels match you're going one way</p>
<p>if they don't you're going the other</p>
<p>This gives you double edge detection, so effectively 48pulses per full turn.</p>
<p> </p>
<p>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.</p>
<p> </p>
<p>snags;</p>
<p>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).</p>
<p>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.</p>
<p> </p>
<p>The other trick,</p>
<p>use potentiometers which are endless ;)</p>
<p> </p>
<p> </p>
<p> </p>
<p>Paula</p>
<p> </p>
<p> </p>
<p>On 2017-06-09 12:30, Julian Schmidt wrote:</p>
<blockquote type="cite" style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0"><!-- html ignored --> <!-- head ignored --><!-- meta ignored -->Hello All,<br /> <br /> I have a current idea that could vastly benefit from using encoders instead of pots.<br /> 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.<br /> 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.<br /> Best solution so far is something like on the midibox or AN1X where you push the encoder for fine resolution.<br /> <br /> 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.<br /> <br /> Any idea how they've done this? looking up the specs it seems like they are using Bourns <span class="postbody">ECW1D-C24-SE0049L encoders (<a class="moz-txt-link-freetext" href="http://electro-music.com/forum/topic-50251.html">http://electro-music.com/forum/topic-50251.html</a>). <br /> 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.<br /> Is the front panel resolution just reduced and interpolated on the nords? <br /> <br /> 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.<br /> <br /> 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 ;)<br /> <br /> Cheers,<br /> Julian<br /> </span><!-- html ignored --><br />
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">_______________________________________________<br /> Synth-diy mailing list<br /> <a href="mailto:Synth-diy@synth-diy.org">Synth-diy@synth-diy.org</a><br /> <a href="http://synth-diy.org/mailman/listinfo/synth-diy">http://synth-diy.org/mailman/listinfo/synth-diy</a></div>
</blockquote>
<p> </p>
<div> </div>
</body></html>