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