Справочници, схемотехника, теория > Програмиране на микроконтролери, програматори, цифрови проекти

Енкодер с апаратно подтискане на дребезга

(1/1)

EDM electronics:
Софтуерното подтискане на дребезга /претрепването на контактите и отчитане на грешни импулси/ на енкодера, прави работата му задоволителна. Такова решение за любителски цели става, но не и за профи. Отделно повечето алгоритми за отчитане на енкодара, които съм срещал също са били задоволителни, само с 5-6 реда код, като освен грешките от механичния дребезг се натрупват и грешките от простия алгоритъм, който не може да отчете всяко едно състояние на енкодера. Използването на таймери влошава работата на енкодера.

За целта направих съвсем проста схема с 74НС14, която премахва на 100% дребезка дори при висока скорост на въртене на енкодера. Направих и софт /библиотека/, по-обемен, който отчита абсолютно всички възможни състояния на енкодера - преходни и непреходни, изхвърлих софта за антидребезг с ненужните тайминги и получих перфектно работещ КИТАЙСКИ енкодер НС-11, който никога не греши, не изтърва и един импулс, а в изхода му има стръмни импулси от тригер на Шмид, не пакети шум, както при стандартното му ползване.

Екстри:
1. Скролинг - при бързо движение на енкодера над 200 мS между импулсите се включва скрол + 5, след аванс от 5 импулса. Така при въртене първоначално брой +1, а после започва скрол +5. Параметрите на скрола и аванса се настройват.
2. Бутон на енкодера с който се управляват 3 функции: 1. клик, 2. двоен клик, 3. холд - задържане. Така един бутон изпълнява функциите на 3 бутона.
3. Енкодер при натиснат холд бутон и въртене ляво-дясно - това е втори енкодер - холд енкодер, което става при натискането на бутона и задържане + въртене ляво-дясно.

valex:
Поздравления!
Най-после една нормална техническа тема във форума!

Навигация

[0] Списък на темите

Премини на пълна версия