Rotary encoder unreliable (on Mega/RAMPS 1.4/Reprapdiscount full smart controller) #497
-
The rotary encoder does not show a consistent response: about 30% of the clockwise rotation is being interpreted wrongly as being counter-clockwise and vice-versa. This is most noticeable when jogging the axes. Trying to move, say 10mm to the right requires many attempts with the motors going many times in the opposite desired direction. Is there a way to make it more consistent? |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments
-
I got to see if adding a few short delays on input read to try to capture the next state right away fixes that. |
Beta Was this translation helpful? Give feedback.
-
Modified condition states for encoder rotation detection. Another way to improve jog experience is to increase the jog distance for each command (for example to 10mm). Pressing the button issues a jog cancel command and stops the jog motion. |
Beta Was this translation helpful? Give feedback.
-
Please download and try this modified version of the graphic_display in this branch. https://github.com/Paciente8159/uCNC-modules/tree/modified-encoder-detect This adds a sampler and accumulator as well as a debounce to the encoder button. |
Beta Was this translation helpful? Give feedback.
-
It's now much better an totally functional. I think you solved the problem. Great! |
Beta Was this translation helpful? Give feedback.
Please download and try this modified version of the graphic_display in this branch.
https://github.com/Paciente8159/uCNC-modules/tree/modified-encoder-detect
This adds a sampler and accumulator as well as a debounce to the encoder button.
In my tests this vastly improved the encoder reliability at the expense of some responsiveness, but not at the point that it becomes unusable.