forest70 je napisal/-a:No še epilog mojega čaranja z enkoderjem: Ko sem naštelal, da dela prav, se je spomnil čez nekaj časa in dela spet po svoje ( beri obup )
Poskusim tiščati samo malo tipko enkoderja in dela tako kot mora. Dam original kodo od avtorja z malo tiščanja dela kot mora.Torej je enkoder zanič!!!
Enkoder je skoraj vedno izziv, da lepo (beri zanesljivo) dela. Tudi v napravah renomiranih proizvajalcev (npr. Rohde & Schwarz instrumentih) sem videl, da so lahko precejšnje težave z enkoderjem v povsem novi napravi.
Moj pristop je malenkost drugačen. Skoraj vedno imam za potrebe timerjev 1 kHz sistemsko prekinitev in v njej opazujem med drugim tudi stanje signalov z enkoderja. Če smo pošteni, večina mikrokrmilnikov veliko večino časa ne počne drugega, kot da se vrti v glavni zanki. Dobra stran takega pristopa je, da lahko tako v ozadju (ne da bi obremenjeval glavno zanko) izseješ vse bedarije, šum ob preklopu, ...
Programska sita so precej preprosta - signal mora biti določen čas (število prekinitev) stabilen, da je veljaven. Šele takrat se odločim in in sporočim spremembo (npr. preko globalne spremenljivke ali pa preko funkcije, ki iz glavne zanke stalno sprašuje, če je kaj novega). Mehanski enkoderji imajo že novi nekateri hiter, drugi počasen preklop z več šuma. S procesiranjem v prekinitvi se večino tega odpravi.