Enkoder a debounce v preruseni
Martin Locker
locker na vosrk.cz
Čtvrtek Říjen 22 15:54:35 CEST 2015
Zdravím,
pro ošetření problematických stavů je jednodušší použít synchronní vyhodnocení (a ne přerušení od změn signálů).
Mám to popsáno na http://robotika.vosrk.cz/guide/sensors/decode/cs.
Fungovalo mě to i s amatérsky vyrobenými enkodéry všelijaké kvality.
Martin Locker
VOŠ a SPŠ
Rychnov n. Kn.
----- Původní zpráva -----
> Odesilatel: "Pavel Kutina" <hw na prelude.cz>
> Příjemce: HW-news <hw-list na list.hw.cz>
> Datum: 22/10/2015 14:58
> Předmět: Enkoder a debounce v preruseni
>
> Zdravim,
>
> nemate nekdo nejaky vhodny algoritmus na likvidaci zakmitu pro enkoder? Mam
> STM32F103, na nem na pinu PORT.B0 a B1 laciny, osklivy cinsky enkoder
> (pull-upy 10k na 3V3, pull-upy zapnute i na procesoru, abych aspon trochu
> zvetsil proud skrz kontakty), preruseni obe obe hrany na B0.
>
> Zatim zkousim ten nejjednodussi algoritmus - hrana mi vygeneruje na B0
> preruseni, ja se podivam, jaky je stav na druhem pinu a podle toho se
> rozhodnu, jestli prictu nebo odectu z nejake globalni promenne.
>
> V idealnim svete by to stacilo - samozrejme binec delaji ruzne zakmity.
> Enkoder produkuje spoustu smeti, zatim jsem to "vyresil" tak, ze po spusteni
> preruseni nactu stav pinu, pockam nejakou dobu (cca 300us), nactu stav
> znovu, a pokud se stavy nelisi, popojedu ve zpracovani o kus dal. Totez u
> druheho pinu. Idealni to neni, ty nejvetsi hruzy to sice odfiltruje, ale
> prinasi to dalsi problemy, treba ze pri rychlem protoceni enkoderu to diky
> zpozdeni misto pricteni zacne odecitat.
>
> Nemate nekdo nejaky vyzkouseny algoritmus? (Nemluvim o kodu, protoze
> nepredpokladam, ze by tu STM32 pod MikroE Pascalem krome me jeste nekdo
> pouzival) Idealne nejak zdokumentovany, aby to pochopil i idiot?
>
> S titmtez enkoderem na Arduinu (ovsem s pouzitim cizi knihovny - ze ktrere
> to ovsem nejsem schopen pochopit a opsat - tusim, ze je to ona:
> http://www.buxtronix.net/2011/10/rotary-encoders-done-properly.html) nemam
> problem, co se tyka generovani falesnych pulsu ani rychlosti toceni -
> evidentne to tedy odfiltrovat jde... V te zminene knihovne autor pozuiva
> nejake stavove tabulky, ale evidentne nejsem "technologicky na vysi" a
> nechapu to (pravda je, ze uz jsem taky tri dny prakticky nespal).
>
> Diky za pomoc.
>
> Pavel Kutina
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list