Общности › Електронни занаяти › Блог › Encoder. Енкодер? Енкодер!
Преди няколко месеца вече публикувах програми за работа с енкодер в моя блог и общност. Постът се казваше „Кодерът е прост“. Недостатъкът на тези програми беше използването на закъснения за софтуерно потискане на отскачането на контакта. В конвенционалните устройства такива забавяния са напълно приемливи и не влияят на качеството на изпълняваните задачи. Но има задачи, при които използването на закъснения е непозволен лукс, дори и да не е прословутото закъснение ().
И наскоро ми се случи да напиша програма за стенд за настройка на горивна апаратура за дизелови двигатели. В програмата освен оборотомер, брояч на зададен брой обороти, бутони, индикация и др. все още беше необходимо да се обработват данни от осем енкодера. Проектът не предвиждаше използването на абсолютни енкодери (ru.wikipedia.org/wiki/Sensor_of_rotation_angle), така че трябваше да страдам с инкрементални.
Първата стъпка беше да се отървем от всякакви забавяния в обработката на сигнала. След известно "мъчение" получих този код.

Въпреки краткостта си, тази програма върши работата си доста добре. Можете да я използвате в проекти за настройки, станции за запояване, усилватели и др.
Но трябваше да повиша точността на проследяване на движението, трябваше да отговарям на всяка част от информацията. Както се казва, след като „завърших“ програмата, получих желаната точност.
Апетитът идва с яденето и на определен етап от развитието беше решено всеки енкодер да се обработва със собствен контролер. Използването на ATmega или ATtiny85 (имаше наличен), който имаше UART на борда, изглеждаше някак разточително. Изборът падна върху ATtiny13… ако знаех колко мазохистично е, тогава вероятно… Но нека не говорим за това.
На линияима малко информация за софтуерния UART за ATtiny13, взех този списък като основа. pastebin.com/NBFMq1C6 Подобрих го малко, добавих необходимите манипулатори и получих такъвпсевдоабсолютененкодер. Сега всичките осем енкодера могат да бъдат свързани към една шина и не се страхувайте, че основната програма ще пропусне промяна на ъгъла.
Всички успешни проекти и красиви решения.