Popularny post madik Napisano Czerwiec 28, 2009 Popularny post Udostępnij Napisano Czerwiec 28, 2009 Wstęp W tym artykule opowiem wam o enkoderach, ich zastosowaniach oraz wykonamy kilka prostych doświadczeń. Tak więc zaczynajmy. Enkodery możemy podzielić na dwie grupy: - enkodery inkrementalne - enkodery absolutne Różnią się one pod względem budowy i przeznaczone są do nieco innych typów pomiarów. Enkodery inkrementalne określają prędkość kątową, kierunki ruchu. Mogą także określić pozycję względną, czyli różnice pomiędzy dwoma wartościami kątów obrotu, oraz mogą być stosowane w układach zliczających liczbę pełnych obrotów. Enkodery optyczne są zaliczane właśnie do tej grupy. Enkodery absolutne pozwalają na określenie bieżącej pozycji osi, nawet gdy zostanie przerwane zasilnie. Enkodery te wykorzystują tarczę gdzie naniesione są okręgi tworzące dla układu odczytującego kod cyfrowy – np. Gray’a lub BCD. Podział enkoderów przebiega, w przypadku absolutnych, na jedno- oraz wieloobrotowe tzn. te ostatnie umożliwiają uzyskanie informacji o liczbie wykonanych obrotów, podczas gdy jednoobrotowe powtarzają informację o kącie obrotu co 360°. Enkodery optyczne są stosowane w wielu urządzeniach elektronicznych, takich jak myszki, drukarki,itd., które wymagają dużej dokładności w pozycjonowaniu ich części mechanicznych. Głównym elementem enkodera jest dysk (tarcza) wyposażony w szereg otworów, połączony z poruszającą nim częścią, oraz źródło światła (zwykle jest to dioda Ir lub LED). Enkoder umieszczany jest tak, aby światło z diody przechodziło przez otwory w dysku. Po drugiej stronie dysku znajduje się czujnik światła (fototranzystor), który wysyła impuls prostokątny do układu zliczającego. Takim układem może być mikrokontroler (np. atmega8 itd.) lub układ scalony 4017. Fototranzystor wysyła impuls za każdym razem kiedy światło diody przechodzi przez otwory w tarczy. Układ zliczający oblicza położenie tarczy po ilości otrzymanych impulsów. Takie właśnie rozwiązania są stosowane w robotyce i automatyce (przykłady: manipulatory, roboty mapujące drogę, regulatory PID itd.). Rys.1 przedstawia proste urządzenie składające się z enkodera, tarczy oraz układu wykonawczego. Enkoder umożliwia pomiar obrotu koła, dzięki temu robot może np. ustalić prędkość, przyspieszenie, czy kąt rotacji. RYS.1 Zdjęcia enkoderów Enkodery w myszkach W myszkach stosowane są trzy-nóżkowe fototranzystory Gdy tarcza enkodera kręci się w prawo, jako pierwszy pojawi się sygnał na wyjściu 2 (procek porównując wyjście 1 i 2 zauważy tą zmiane),a gdy tarcza kręci się w lewo to jako pierwszy pojawi się sygnał na wyjściu 1. Samodzielne wykonanie tarczy enkodera optycznego Oczywiście że można wymontować tarczę enkodera z myszki, ale co jeżeli nie posiadamy takiego egzemplarza do rozbiórki? I tu możemy na kilka sposobów wykonać samodzielnie tarczę. Przedstawię najprostszy „przepis”. Kupujemy specjalną folię do drukarek laserowych, oraz „coś” co umożliwi przymocowanie tarczy do wału silnika(np. mocny klej). Wykorzystamy także program do wydrukowania takowej tarczy. Do tego celu możemy ściągnąć program „encoder_design12 lub Corela(lub inne oprogramowanie). Rysujemy czarne koło i robimy białe kwadraciki które będą „nadawać” impulsy do mikrokontrolera i drukujemy. W przypadku programu „encoder_design12 musimy ustalić parametry. Przyda nam się kalkulator znajdujący się tu http://www.societyofrobots.com/encoder_calculator.shtml Nie będę się rozpisywał co do wykorzystania tego programu. Na koniec drukujemy i mocujemy enkoder na wale silnika. Jeszcze innym sposobem jest wycinka enkodera w np. plexi. Wycięte dziury będą powodowały wysłanie impulsu z fototranzystora do układu zliczającego. Enkodery magnetyczne na przykładzie układu AS5040 Enkodery magnetyczne są podobne do enkoderów optycznych, lecz zamiast fototranzystora stosowany jest czujnik magnetyczny, a na tarczy umieszczone są na przemian magnesy N i S (chyba każdy zna te symbole 😋 ). Rysunek 4 przedstawia tą ideę. RYS.4 Role takiego czujnika pełni np. AS5040, który zostanie tu opisany. Czujnik ten idealnie pasuje do pomiarów prędkości obrotowej oraz położenia osi napędowej. Układ ten generuje impulsy wraz ze zmianą bieguna na jego czujniku. Rysunek 5 pokazuje nam układ wraz z magnesem. RYS.5 Wewnątrz struktury układu znajduje się procesor połączony z matrycą czujników pola magnetycznego (czujników Hall'a). Poniżej zamieszczam również rozkład pinów oraz opisy. 1 MagINCn Stan aktywny - niski. Wystepuje gdy odległosc magnesu od czujnika sie zmniejszy 2 MagDECn Stan aktywny – niski. Wystepuje gdy odległosc magnesu od czujnika sie zwiekszy 3 A_LSB_U Tryb 1: Kanał A (wyj. kwadraturowe) Tryb 2: Impuls (impuls/kierunek) Tryb 3: 1-sza faza U (komutator) 4 B_Dir_V Tryb 1: Kanał B (wyj. kwadraturowe) Tryb 2: Kierunek (impuls/kierunek) Tryb 3: 2-ga faza V (komutator) 5 N - 6 Index_W Tryb 1, 2: Impuls indeksujacy Tryb 3: 3-cia faza W (komutator) 7 Vss Masa 8 Prog Wejscie napiecia programujacego 9 DO Wyjscie danych szeregowego interfejsu komunikacyjnego 10 CLK Wejscie zegara szeregowego interfejsu komunikacyjnego 11 CSn Wyjscie oscylatora 12 PWM_LSB Tryb 1, 2: Wyjście PWM 1kHz Tryb 3: LSB (Impuls) 13 NC - 14 NC - 15 VDD3V3 Napiecie zasilajace 3V3 16 VDD5V Napiecie zasilajace 5V Kod Gray'a Najpierw zastanówmy się co oznacza pojęcie kod - jest to ciąg składników sygnału (kombinacji sygnałów elementarnych, np. kropek i kresek, impulsów prądu itp.) a każdy składnik ma przyporządkowaną regułę. Najprostszym chyba przykładem jest popularny kod Morse'a. Nie zajmujmy się już telegrafią a przejdźmy do pojęcia kodu gray'a. Stosowany jest on w systemach techniki cyfrowej . Narazie jedynym naszym zainteresowaniem jest poznanie kodu gray'a w systemach enkoderów absolutnych. Kod ten jest kodem dwójkowym a jego szczególną cechą jest to że kolejne słowo kodowe różni się tylko jednym stanem bitu. .kod ten umożliwia przekształcanie kątu obrotu w postać 5-bitowego naturalnego kodu binarnego. Rysunek pokazuje tarczę z wykorzystaniem kodu gray'a //tekst w opracowywaniu 😎❗ // Teraz przejdziemy do praktyki. Jak wiemy z poprzednich zdań enkoder optyczny składa się z diody (najlepiej IR) oraz fototranzystora. Tylko jak to podłączyć? Najprostszy schemat enkodera przedstawia rys.2. RYS.2 Dobór rezystora R2 trzeba przeprowadzić samodzielnie ze względu na różne egzemplarze fototranzystorów. Zasilanie jest standardowe czyli 5V (można zwiększyć napięcie na diodzie ale pamiętając o ewentualnej zmianie rezystora R1). Animacja (postaram się jutro wstawić) przedstawia przykładowy układ z enkoderem. Następne doświadczenia będą na Atmedze 8. Przy zastosowaniu mikrokontrolera możemy: - synchronizować silniki, aby robot jechał idealnie prosto (na podstawie sygnału od enkoderów generowana jest odpowiednia korekta dla silników poprzez PWM. -mapować drogę oraz zliczać kąty jakie zakreślił robot. Doświadczenie. Montujemy układ ze sch.1, podłączamy silnik z zamontowanym enkoderem (rys.3) i wgrywamy program do mikrokontrolera. RYS.3 SCH.1 Program znajduje się poniżej jak i w załączniku jako plik pierwsze_doś.bas. $regfile = "m8def.dat" $crystal = 1000000 Config Portb = Input 'port b jako wejścia Portb = &B00000000 'wszędzie stan spoczynkowy-0 Config Portd = Output 'port d jako wyjścia Portd.0 = 1 'stan spoczynkowy-1 Do 'pętla nieskończona If Pinb.0 = 0 Then 'jeżeli przycisk 1 wciśnięty Portd.0 = 0 'nie działa silnik Portd.1 = 1 'zaświeć diodę Wait 2 'czekaj dwie sekundy Portd.0 = 0 'zgaś diodę Portd.0 = 1 'działa silnik Waitus 2000 Portd.0 = 1 End If 'koniec bloku warunkowego Loop 'koniec pętli End Programu chyba nie muszę tłumaczyć. Kiedy impuls „przyjdzie” do mikrokontrolera wtedy silnik zatrzymuje się i zapala się dioda. Następnie po 2 sekundach dioda gaśnie i silnik dalej kręci się i tak w kółko. Doświadczenie 2 To doświadczenie nie będzie wymagać programowania. Poniżej schemat. Zapomniałem umieścić silnika na schemacie, ale podłączmy go bezpośrednio do baterii. Rezystor w enkoderze trzeba tak dobrać, aby na wyjściu, gdy światło z IR pada na fototranzystor, miało napięcie poniżej 0.8V. Zasada działania jest prosta- gdy światło pada przez dziurke na fototranzystor to wtedy zapala się kolejna dioda LED. Gdyby ktoś zauważył błąd czy chciałby skomentować ten artykuł niech pisze w tym temacie. A gdyby ktoś miał pomysł na inne doświadczenia czy uzupełnienie artykułu niech pisze na PW. The end of story. 4 Cytuj Link do komentarza Share on other sites More sharing options...
rasta Czerwiec 28, 2009 Udostępnij Czerwiec 28, 2009 Wydaje mi się, że warto by chociaż kilka słów na początku artykułu poświęcić również enkoderom absolutnym, które same w sobie są również dosyć ciekawe i posiadają bardzo przydatną funkcję :] Cytuj Link do komentarza Share on other sites More sharing options...
wader_669 Czerwiec 28, 2009 Udostępnij Czerwiec 28, 2009 1. Zle tlumaczysz jak dzialaja enkoder w myszkach. Jak piszesz, ze jest jeden czujnik, ok, to wytlumacz mi jak wie procek w ktorym kierunku krecimy skrolem z myszki. 2. Nie wiem dlaczego czytasz stan pinu w petli a nie w przerwaniu. Cytuj Link do komentarza Share on other sites More sharing options...
Nawyk Czerwiec 28, 2009 Udostępnij Czerwiec 28, 2009 Artykuł bardzo ciekawy, szczególnie zaskoczyłeś mnie tym drukowaniem tarczy enkodera 🙂 Mam jedną uwagę tyczącą się nazwy tematu - opisałeś tutaj jeden podrodzaj enkodera - optyczny, więc temat powinien na to wskazywać. Moja propozycja - żebyś wspomniał coś jeszcze na temat innych stosowanych enkoderów, głównie chodzi mi o magnetyczne. Warto również wspomnieć o enkoderach tzw. absolutnych, wykorzystujących np. kod Gray'a. Pozdrawiam Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
dziadek46 Czerwiec 28, 2009 Udostępnij Czerwiec 28, 2009 Ogromnie ciekawy i bardzo pomocny temat enkoderów optycznych, zwłwszcza że posiadam sporo silników porządnych firm z enkoderami optycznymi fabrycznie zamontowanych na wałach silników. Sporo czytałem w necie na ten temat, dla nie elektronika to nie takie proste by to prosto zrobić..... Ale generalnie warto ten temat rozszerzyć!!!!!!! Pozdrawiam Cytuj Link do komentarza Share on other sites More sharing options...
madik Czerwiec 28, 2009 Autor tematu Udostępnij Czerwiec 28, 2009 1. Zle tlumaczysz jak dzialaja enkoder w myszkach. Jak piszesz, ze jest jeden czujnik, ok, to wytlumacz mi jak wie procek w ktorym kierunku krecimy skrolem z myszki. W myszkach są stosowane trzy-nóżkowe fototranzystory. Przepraszam za jakość zdjęcia. Gdy tarcza enkodera kręci się w prawo, jako pierwszy pojawi się sygnał na wyjściu 2 (procek porównując wyjście 1 i 2 zauważy tą zmiane),a gdy tarcza kręci się w lewo to jako pierwszy pojawi się sygnał na wyjściu 1. Myślę że o to Ci chodziło. Dziękuje innym za uwagi. Na pewno rozwinę ten temat. //zaraz dodaje to do artykułu Cytuj Link do komentarza Share on other sites More sharing options...
Elektryk0 Czerwiec 28, 2009 Udostępnij Czerwiec 28, 2009 Oj uprzedziłeś mnie sam chciałem napisać artykuł na ten temat ale cóż. Mam jednak jedną uwagę otóż sposób który podałeś tzn. chodzi mi o sposób połączenia fototranzystora z mikrokontrolerem nie jest najlepszy. Sam wielokrotnie wykorzystywałem enkodery i to nawet takie fabryczne co są przy drukarkach gdy robiłem mini ploter i pojawiały mi się znaczne szumy przy przejściach pomiędzy przesłonami tarczy co skutecznie zakłócało poprawną pracę układu dlatego też stosowałem na początku kondensatory by odciąć wysokie częstotliwości co dawało dobry efekt ale przy małej prędkości obrotowej tarczy a później inwentery shimtta co jest chyba lepszym pomysłem. Nie wiem czy takie zakłócenia zawsze występują ale u mnie były i tak je eliminowałem. Cytuj Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Czerwiec 28, 2009 Udostępnij Czerwiec 28, 2009 Oj uprzedziłeś mnie sam chciałem napisać artykuł na ten temat ale cóż. A kto powiedział, że na jeden temat może być tylko jeden art 🙂 Możesz napisać swoją wersję. Cytuj Link do komentarza Share on other sites More sharing options...
Mihau Czerwiec 28, 2009 Udostępnij Czerwiec 28, 2009 Mam takie pytanko związane enkoderami. Otóż miałem styczność z silnikami z zestawu Minstorms NXT. I fabryczny soft w sterowniku ma możliwość sczytywania kąta o jaki się silnikobrócił, przy czym rozpoznaje kierunek obrotu. Pytanie jest takie: skąd procek wie, że to się w daną stronę obraca, jeśli to jest sczytywane przez enkoder(na pewno jest, ale nie nam typu tego enkodera, ale na 85% to jst enkoder optyczny)? Myślałem o odczytywaniu słabego napięcia wytwarzanego przez obracany wał silnika , ale prawidłowy kąt jest podawany nawet przy bardzo wolnym obracaniu. A co do artykułu - bardzo mi się podoba, fajnie by było jeszcze dodać jakiś przykładowy schemat z kostką 4017. Cytuj Link do komentarza Share on other sites More sharing options...
pawel Czerwiec 28, 2009 Udostępnij Czerwiec 28, 2009 skąd procek wie, że to się w daną stronę obraca, jeśli to jest sczytywane przez enkoder(na pewno jest, ale nie nam typu tego enkodera, ale na 85% to jst enkoder optyczny)? Myślałem o odczytywaniu słabego napięcia wytwarzanego przez obracany wał silnika , ale prawidłowy kąt jest podawany nawet przy bardzo wolnym obracaniu. W niektórych enkoderach stosuje się podwójny fototranzystor(była o tym mowa kilka postów temu). Procesor sprawdza do którego z fototranzystorów pierwszego dochodzi sygnał, i na podstawie tych danych stwierdza czy silnik się kręci w prawo, czy w lewo. Cytuj Link do komentarza Share on other sites More sharing options...
Nawyk Czerwiec 28, 2009 Udostępnij Czerwiec 28, 2009 Nie miałem do czynienia z Lego Mindstorm, ale możliwości są dwie - albo zastosowano enkoder absolutny (wykorzystujący np. wspomniany przez mnie kod Gray'a), albo porównuje aktualne stany na mostku silnika i liczy impulsy dla przewidywanego kierunku obrotu (biorąc pod uwagę bezwładność wału silnika, myślę że jest to jednak pierwszy sposób). //uprzedzony 🙂 fakt, może być jeszcze tak jak napisał kolega wyżej 🙂 Cytuj Link do komentarza Share on other sites More sharing options...
nes86 Czerwiec 28, 2009 Udostępnij Czerwiec 28, 2009 Takie właśnie rozwiązania są stosowane w robotyce i automatyce (przykłady: manipulatory, roboty mapujące drogę, regulatory PID itd.). Aż musiałem rozkręcić enkoder i zrobić zdjęcia jak przeczytałem to zdanie. Tak jak napisali koledzy wyżej: Takiego rozwiązania zjednym fototranzystorem praktycznie się nie stosuje! Wyraźnie widać dwie diody i dwa fototranzystory Cytuj Link do komentarza Share on other sites More sharing options...
SeerKaza Czerwiec 28, 2009 Udostępnij Czerwiec 28, 2009 Niedawno z Nauczycielem dorwaliśmy się do takiego bardzo dokładnego enkodera co liczył przesuw w um. (podejrzewam że był stosowany w fabryce do układania elementów na płytce gdzie ułożenie części mechanicznych jest naprawdę bardzo istotne). To ten enkoder by nie zabrudzić to rozbieraliśmy go w kostiumach i czepkach dodatkowo kilka dni wcześniej cały pokój wyczyściliśmy z kurzu. Potem te malenie otworki obserwowaliśmy pod mikroskopem. Cytuj Link do komentarza Share on other sites More sharing options...
rasta Czerwiec 28, 2009 Udostępnij Czerwiec 28, 2009 Niedawno z Nauczycielem dorwaliśmy się do takiego bardzo dokładnego enkodera co liczył przesuw w um. (podejrzewam że był stosowany w fabryce do układania elementów na płytce gdzie ułożenie części mechanicznych jest naprawdę bardzo istotne). To ten enkoder by nie zabrudzić to rozbieraliśmy go w kostiumach i czepkach dodatkowo kilka dni wcześniej cały pokój wyczyściliśmy z kurzu. Potem te malenie otworki obserwowaliśmy pod mikroskopem. I jakie wnioski? :> Cytuj Link do komentarza Share on other sites More sharing options...
SeerKaza Czerwiec 28, 2009 Udostępnij Czerwiec 28, 2009 Niedawno z Nauczycielem dorwaliśmy się do takiego bardzo dokładnego enkodera co liczył przesuw w um. (podejrzewam że był stosowany w fabryce do układania elementów na płytce gdzie ułożenie części mechanicznych jest naprawdę bardzo istotne). To ten enkoder by nie zabrudzić to rozbieraliśmy go w kostiumach i czepkach dodatkowo kilka dni wcześniej cały pokój wyczyściliśmy z kurzu. Potem te malenie otworki obserwowaliśmy pod mikroskopem. I jakie wnioski? :> Że tego typu sprzęty nienadają się do DIY. ;] A tak naserio fajnie bylo poznac taki układ od środka Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!