Witam,
To już kolejny poradnik w którym przewija się tematyka enkoderów, tyle że tym razem nie przewija się ale w końcu uznałem, że nadszedł czas aby zająć się tym od podstaw i zakończyć spreparowaniem jakieś fajnej i porządnej biblioteki do obsługi i to różnych enkoderów na potrzeby oczywiście języka C. Okazuje się, że aby porządnie obsłużyć enkoder trzeba się zmierzyć nie tylko z oprogramowaniem ale też z ?...... zzzz elektroniką! ;) wiem wiem - niektóre osoby się uśmieją w tym momencie bo powiedzą - jaki tam kod, byle kilka linijek wystarczy i już będzie działać, a elektronika ? jakaż to elektronika do enkodera - bez przesady. A jednak postaram się wam udowodnić, że z pozoru błaha sprawa jak enkoder wymaga jednak sporej uwagi jeśli chodzi o kod (o dobry kod) i poprawne działanie w każdych warunkach. Przy czym pokażę wam co mam na myśli, pisząc o poprawnym działaniu enkodera wg mnie. Postaram się również udowodnić, że ważny jest również sposób elektronicznego dopasowania sygnałów z enkodera na potrzeby samego mikrokontrolera. Dowiesz się także - co to znaczy efekt "Opery SYDNEY" z Australii :D ... mam nadzieję, że da to każdemu sporo do myślenia ale też pozwoli spojrzeć nieco z innej strony na tak niby proste i popularne enkoderki.
Poniżej cały cykl filmików, na ten temat - mam nadzieję, że uda mi się go zamknąć prezentacją stworzonej już i świetnie działającej biblioteki "MkEncoder" ;)
- atomowe podejście do odczytu zmiennej enco_cnt !
Kolejne odcinki już tylko dla dociekliwych i tych, którzy lubią szczegóły a także różne moje dodatkowe uwagi, podpowiedzi i wtrącanie czasem innych (mam nadzieję) równie ciekawych tematów, które ot tak ... przychodzą mi do głowy w trakcie ... np będzie na temat optymalizacji pamięci RAM dzięki Eclipse Gadget ;)
;)
Super, na to czekałem! :-)
OdpowiedzUsuńPrzyda się jak smalec z gęsi do smażenia, zdrowo i ekologicznie ,nie trzeba rafinować tak jak oleju roślinnego benzyną ekstrakcyjną.
OdpowiedzUsuńTakie miałem odległe skojarzenie odnośnie enkoderów :) Brawo i dziękuję za tę wiedzę bo napewno się przyda.
Wojtek.K
Właśnie ostatnio wziąłem do ręki swój projekt elektroniczny z 2014-go odgrzebany na dnie szafy i tak sobie pomyślałem, że moja obsługa enkoderka troszkę niedomaga. A tu proszę!
OdpowiedzUsuńOoo!.. Mirek nieogolony...
OdpowiedzUsuńA gdzie misio??? Może by zasiadł z boczku jak to było przy OLED-ach
OdpowiedzUsuńTeż mi zabrakło MIS(I)O'a ... ale kto wie czy nie pojawi się pod koniec na gościnnych występach.
UsuńSuper cykl poradników się zapowiada:) Czekam na dalsze odcinki:)
OdpowiedzUsuńInteresujący temat. Z niecierpliwością czekam na kolejne odcinki. :)
OdpowiedzUsuńKiedy będzie cz.2,3,4,5?
OdpowiedzUsuńspokojnie ... powoli, a wszystko będzie ;) cierpliwości
UsuńPanie Mirku. Świetna robota. Nareszcie ktoś podszedł do tematu kompleksowo. Obecnie korzystam z rozwiązania dostępnego na Niemieckim forum:
OdpowiedzUsuńhttp://www.mikrocontroller.net/articles/Drehgeber
Jest całkiem niełe i działa w kilu moich przemysłowych aplikacjach. Z tego co pamiętam to Pan też z niego korzystał. Jeżeli to rozwiązanie, które opisuje Pan teraz jest lepsze to wspaniała wiadomość. Czekam z niecierpliwością na kolejne odcinki.
Pozdrawiam
Andrzej
Może nie tyle lepsze ale alternatywne i nie mniej skuteczne. No może czasem okazać się wygodniejsze bo nie trzeba timera sprzętowego tracić że tak powiem. Za to sprzętowe dopasowanie enkodera do procka też będzie można wykorzystać do tego z niemieckiej strony ;) .... myślę, że wiele osób się zdziwi - ile wad ma popularny schemat podłączania enkodera do procka.
UsuńFaktycznie, spotykana w sieci metoda podłączania enkodera nie jest do końca dobra. Użycie pojemności i to takiej dużej jak 100n powoduje,że przy szybszym kręceniu osią enkodera nie ma możliwości zliczania kroków. Kiedyś spotkałem się w service manualu urządzenia audio, że użyto kondensatora 10n ale efekt braku reakcji na szybsze kręcenie osią występował. Mam przyjemność używać to urządzenie na przestrzeni wielu lat. Projektanci postarali się tak przygotować procedury obsługi enkodera, że nie ma możliwości pomyłki zliczania ani określania kierunku obrotu nawet gdy enkoder zużył się mechanicznie. Po prostu układ nie reaguje.
OdpowiedzUsuńMyślałem, że zasiądę do cz.3 ale jeszcze "nima";( No nic, to idę dalej niezłomnie kaleczyć swój C ;)
OdpowiedzUsuńOczywiście na wstępie także uważam,iż poradniki są ciekawe. Chciałbym jednak podzielić się metodą podłączenia omawianych Enkoderów: otóż np.firma Technics w sprzęcie Audio podłączała niegdyś w taki sposób,że: Piny (kanałów) poprzez rezystory 100k łączono z Vcc (ok.5V) a poprzez kondensatory 100p do masy. Problemów ze zliczaniem nie było. Osobiście także to stosuję i np.w oparciu o program na ATMega644, z wykorzystaniem PCINT działa bez zarzutów. Bibliotekę do obsługi enkodera posiadam od Mirka K, (udostępniona przy omawianiu callback-ów), po drobnej modyfikacji... pozdrawiam
OdpowiedzUsuńWłaśnie szukałem informacji na temat enkoderów i trafiłem na Twojego bloga - dzięki za poradnik.
OdpowiedzUsuńFajny poradnik, szkoda tylko żeby skorzystać trzeba kupić zieloboka ;)
OdpowiedzUsuńAch rzeczywiście, rzeczywiście "trzeba kupić" zielonbooka ;) .... a bez zakupu nie da rady hmm? ;) Sorki ale jak takie bzdury słyszę to mi sam się uśmiech pojawia na twarzy. W poradniku mówiłem, że polecam kupić to będzie łatwiej zrozumieć. Rozumiem, że nie chcesz kupić a jednocześnie boisz się sam pomyśleć ? ;) no .... nie jest to postawa godna pochwały delikatnie mówiąc.
UsuńSpoko, da radę, ale sugestie są wyraźnie :) nie ma co się krygować. Nieodłączne - tylko musimy jeszcze zainkludować jedną małą biblioteczkę z greenbooka i wszystko jak za dotknięciem czarodziejskiej różdżki zaczyna śmigać - kurka wodna, chyba i ja w końcu kupię zieloną książeczkę :) bo te najlepsze sposoby teraz muszę wymyślać sam.
UsuńAle no panie kolego ;) a dlaczego miały by być niewyraźne? Czy ja kiedyś kryję się z tym, że przy okazji własnych poradników promuję produkty i książki Atnela ? Nigdy się z tym nie kryłem i z pełną odpowiedzialnością je polecam bo wiem co sądzą o nich czytelnicy. Ale na pewno nigdy nie mówię, że zakup książki jest KONIECZNY i tylko o tym napisałem wyżej ;) ...
UsuńZa to tu trafiłeś w sedno - bo bez takiej książki trzeba albo wymyślać pewne sposoby samemu albo szukać ich w internecie albo w innych książkach - i wtedy i tak sprowadzi się to do jednego - do poświęcenia sporej ilości czasu - nieprawdaż? A że czas to pieniądz - to chyba każdy wie ;)
Fajnie, że jest 6 odcinek. W takim razie piątkowy wieczór mam zarezerwowany jako ATOMIC BLOCK;)
OdpowiedzUsuńMogę się mylić bo jeszcze nie testowałem, ale zastanawiam się czy w funkcji ENCODER_EVENT() ten #else po #if USE_INT_IRQ == 0 nie zakłóci działania programu. Jeśli będziemy korzystać z przerwań to flaga enco_flag się nie wyzeruje przy pokręcaniu enkoderem.
OdpowiedzUsuńMasz 100% racji ;) zobaczysz, że będzie mowa o tym w kolejnym poradniku. A mnie cieszy to, że tak uważnie obserwujesz .... ba, analizujesz poradniki ... i widzisz na bieżąco moje wpadki i dajesz znać! ;) to miłe
UsuńCzy ta biblioteka będzie gdzieś udostępniona ? ;)
OdpowiedzUsuńPrzecież jest, w poradnikach video.
UsuńMirku, wstawisz do sklepiku Atnela sprawdzone enkodery?
OdpowiedzUsuńZakupiłem jakiś badziew na znanym portalu aukcyjnym i nadają się one tylko do wyrzucenia :/
Jasne - dobrze, że mi przypomniałeś - bo zapomniałem ... dzięki
UsuńZatem czekam na enkoderki :)
UsuńWitam, kiedy enkodery będą w sprzedaży?
UsuńPozdrawiam.
Kurczaki ... normalnie sam wkurzony jestem bo dostawca jeszcze tych modeli nie ma, ale ponoć do połowy kwietnia mają sprowadzić, wtedy też pojawią się od razu u nas
UsuńCzy biblioteka będzie do pobrania ze strony? Swoją drogą gratuluję pracy włożonej w poradniki. Widać, że wszystkie minusy jakie przeszkadzały mi na początku uległy poprawie.
OdpowiedzUsuńTen biały Mirek wygląda na screenach trochę jak Arnold Boczek :)
OdpowiedzUsuńAle poradnik świetny ,zwłaszcza że temat nie łatwy. Dobra robota Mirku!!! :)
Jeśli podkreśla błędy których nie ma można wybrać na chwilę inny procek we właściwościach, skomponować i ponownie wybrać nasz procek. U mnie pomaga. Pozdrawiam panbosman
OdpowiedzUsuńDużo na początku o enkoderach ale moim zdaniem nie ma wyjaśnienia co on robi w układzie elektronicznym czym steruje, jakie urządzenie steruje jakie ma zadanie do wykonania i w jakim urządzeniu.ja np nie wiem.
OdpowiedzUsuńPoradnik wyśmienity, jak wszystkie dzieła p. Mirka. Tylko, niestety, nie mogę nigdzie znaleźć omówionej w nim biblioteki. Podany w poradniku link kieruje do zupełnie innej, starszej biblioteki, omówionej w drugiej części poradnika o callbackach z 2013 roku, która nie działa na przerwaniach INTx lub PCINT, za to zajmuje jeden timer sprzętowy. Wobec tego mam pytanie: gdzie szukać biblioteki z 2016 roku?
OdpowiedzUsuńA z racji daty pytania, Panu, panie Mirku i wszystkim miłośnikom programowania serdeczne życzenia wszystkiego najlepszego, udanych projektów i równie wyśmienitych poradników w nowym, 2017 roku.
Pozdrawiam. Tomek1955
W końcu istnieje ta biblioteka z ostatniego poradnika?
OdpowiedzUsuńjuż niedługo będzie do zakupienia w: www.sklep.atnel.pl
UsuńSuper cykl o enkoderach przyda się w końcu spróbuje zrobić elektroniczny wskaźnik przesuwu na śróbie pociągowej :) WIELKIE DZIĘKI MIREK TWOJE WYKŁADY SĄ SUPER!!!!!
OdpowiedzUsuń