The rotary encoder was behaving a little flaky. After doing some research I found that this is a common complaint. All mechanical encoders do have noise in their transitions. Since I was using an interrupt routine to detect motion and direction, I was experiencing multiple interrupts within one transition. After some experimentation, I figured I was sometimes getting 3 interrupts within one transition, so that the volume was increased, decreased and increased resulting in no change.
One solution was to write "debouncing" software to ignore spurious transitions. However the software solutions and code examples I found were a little too complicated to my liking and understanding. Adding simple delays in the software in the hope of ignoring the spurious transitions did not solve the problem, and in fact adding too much delay in the hope of masking the spurious interrupts caused the rotary encoder to be somewhat irresponsive.
After some research in the web, I decided then to add capacitors between the A, B terminals and Gnd. At first adding .1 uF did not seem to solve the problem, but it appeared that there was some small improvements. But adding an additional .01 uF solved the problem. I can't explain why adding a smaller value capacitor would solve the problem, since it is expected that larger values are better at smoothing the transitions. But it worked.
The 103 capacitors are .01 uF. The blue capacitors are 104 (.1 uF). They are installed between terminals A-GND and B-GND.
One solution was to write "debouncing" software to ignore spurious transitions. However the software solutions and code examples I found were a little too complicated to my liking and understanding. Adding simple delays in the software in the hope of ignoring the spurious transitions did not solve the problem, and in fact adding too much delay in the hope of masking the spurious interrupts caused the rotary encoder to be somewhat irresponsive.
After some research in the web, I decided then to add capacitors between the A, B terminals and Gnd. At first adding .1 uF did not seem to solve the problem, but it appeared that there was some small improvements. But adding an additional .01 uF solved the problem. I can't explain why adding a smaller value capacitor would solve the problem, since it is expected that larger values are better at smoothing the transitions. But it worked.
The 103 capacitors are .01 uF. The blue capacitors are 104 (.1 uF). They are installed between terminals A-GND and B-GND.
5 comments:
I meant to ask before - how does the WM8741 sound? Lqampizator rates the 8742 up there neck & neck with the SABRE32
Hi dweeb4, I like the DAC very much. It reproduces incredible sound. Good recording sound superb and I can't believe it could sound any better. So-so recordings still exhibit that unnatural sound, maybe "digital sound", are still so-so,but with this DAC I hear less of it than with other DACs I've had. Although Sabre is the best, I'm content with the Wolfson DAC. Several manufacturers have chosen this DAC and Lampizator says it is almost as good as SABRE32. I don't think I've spent enough time exploring the different filters. And so, there is plenty of things to explore in this DAC before upgrading...
Good review. I like the sound of this DAC. Yours is an Opus from Twisted Pear, I think? I'd be more tempted by this than waiting in a queue for TPs next release of the SABRE boards. (I don't think the board design is optimal in the PS & IV stages)
AS well as that you have already coded the remote control of filter selection & other selectable WM8741 DAC settings.
dude... THIS IS EXACTLY what i needed for my project!!!
works perfect, easy to implement and understand... THANK YOU!
Thanks from NL! Exactly the bug that bothered me for a few hours. Easy and nice solution!
Thank you very much!
Post a Comment