Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

Enkoder Inkrementalny

Pic14kk
-
-
Posty:4
Rejestracja:29 maja 2012, o 18:21
Enkoder Inkrementalny

Postautor: Pic14kk » 29 maja 2012, o 19:00

Witam
Na wstępie chciałbym zaznaczyć, że jestem zielony w sprawach związanych z elektroniką.
Problem polega na tym, że z jednej strony mam enkoder inkrementalny z otworem, którego jeszcze nie potrafię obsłużyć.
A z drugiej Układ AtMega32 połączony z silnikiem krokowym unipolarnym.
Sterownik do silnika działa jak najbardziej OK.
Ale

Chciałbym mieć możliwość aby silnik sterować Enkoderem.

Nie szukam gotowych rozwiązań, tylko podpowiedzi :D

Dziękuję i Pozdrawiam




Obrazek
Obrazek

Awatar użytkownika
Jacek Bogusz
-
-
Posty:470
Rejestracja:12 maja 2010, o 17:37
Lokalizacja:Poznań
Kontaktowanie:

Re: Enkoder Inkrementalny

Postautor: Jacek Bogusz » 29 maja 2012, o 23:40

Enkoder to nie jest coś do sterowania silnikiem. Enkoder pozwala na wyznaczenie pozycji wału silnika lub pomiar jego przemieszczenia, lub prędkości wirowania. Więc co tak naprawdę chciałbyś zrobić? ;)

Pic14kk
-
-
Posty:4
Rejestracja:29 maja 2012, o 18:21

Re: Enkoder Inkrementalny

Postautor: Pic14kk » 30 maja 2012, o 10:30

No to zamiast wału mogę sterować czymś innym, tak? I tę informację o przesunięciu podaję do silnika przez AtMege, da się tak?

Awatar użytkownika
Jacek Bogusz
-
-
Posty:470
Rejestracja:12 maja 2010, o 17:37
Lokalizacja:Poznań
Kontaktowanie:

Re: Enkoder Inkrementalny

Postautor: Jacek Bogusz » 30 maja 2012, o 11:19

Enkoder, zależnie od tego czy masz inkrementalny, czy absolutny, podaje informację o przesunięciu w różny sposób. Inkrementalny najczęściej ma dwa wyjścia, na których wyprowadza sygnały przesunięte w fazie. Znak przesunięcia zależy od kierunku obrotów. Często taki enkoder ma jeszcze wyjście "zero index", dzięki któremu można zorientować się, że oś obrotu osiągnęła pozycję zerową, od której można liczyć impulsy po to, aby określić kąt obrotu wału. Enkoder tego typu ma stałą liczbę impulsów na obrót (np. 1000), więc co naturalne, wraz z prędkością obrotową rośnie częstotliwość sygnałów na wyjściach.
Jeśli masz enkoder absolutny, to kąt obrotu wału jest wyprowadzany jako liczba poprzez wyjście szeregowe. Na przykład Siemens (i nie tylko) stosuje interfejs SSI, o którym możesz poczytać sobie w Internecie (np. <<<tu>>>). Taki enkoder też ma stałe ziarno - może ono wynosić np. 500 pozycji na 1 obrót.
Do sterowania silnikiem, o którym piszesz, najlepszy byłby układ z mikrokontrolerem. Wówczas możesz generować na wyjściach uK impulsy "kręcące" silnikiem a za pomocą enkodera określać pozycję wału. Oczywiście, mikrokontroler nie zrobi tego wprost z wyjść - trzeba zastosować wzmacniacze prądowe. Musisz zorientować się z jakim rodzajem silnika masz do czynienia i odpowiednio wykonać sterownik (chodzi o sposób zasilania uzwojeń silnika i sterowania jego obrotami). Z enkoderem będzie już łatwiej, nawet jeśli trudno Ci określić jakiego jest rodzaju, pod warunkiem, że masz oscyloskop. Wystarczy kręcić ośką i obserwować sygnały wyjściowe. Uwaga! Wyjścia mogą wymagać rezystorów podciągajacych!
Chyba, że masz karty katalogowe enkodera i silnika, wówczas nie ma żadnego problemu. Układów sterowania silnikami krokowymi jest bez liku. Wiele gotowych znajdziesz w ofercie sklepu AVT itp.

Pic14kk
-
-
Posty:4
Rejestracja:29 maja 2012, o 18:21

Re: Enkoder Inkrementalny

Postautor: Pic14kk » 30 maja 2012, o 11:30

Te Sygnały przesunięte w fazie są oznaczone jako TTL? Tak?
Widziałem już przykład jak się je zlicza.
Prawdopodobnie mam enkoder inkrementalny, ponieważ mam 4 wyjścia.
Czerwony i Czarny to Zasilanie i masa.
Czyli wychodzi, że dwa pozostale, czyli biały i zielony służą do sterowania, tak?
Silnik krokowy obsługuję przez układ L293D.

Awatar użytkownika
Jacek Bogusz
-
-
Posty:470
Rejestracja:12 maja 2010, o 17:37
Lokalizacja:Poznań
Kontaktowanie:

Re: Enkoder Inkrementalny

Postautor: Jacek Bogusz » 30 maja 2012, o 12:42

Tyle razy pisałem, że enkoderem się nie steruje, a Ty nadal swoje :-/ To są sygnały wyjściowe, nie służą do sterowania - z wyjść je się ODBIERA, są na nich dostępne.

Awatar użytkownika
pajaczek
Moderator
Moderator
Posty:2653
Rejestracja:24 sty 2005, o 00:39
Lokalizacja:Winny gród

Re: Enkoder Inkrementalny

Postautor: pajaczek » 30 maja 2012, o 14:45

Może trochę inaczej: przyjmij w uproszczeniu że enkoder to licznik obrotów silnika, taki trochę bardziej skomplikowany, ale jednak.
Czy widziałeś kiedyś by prędkościomierz (licznik / zegar) w samochodzie sterował bezpośrednio silnikiem?? Oczywiście jest to zwykle realizowane, ale poprzez układ przetwarzający (czyli Twoje reakcje - dodawanie/ujmowanie "gazu" - względnie tempomat), nigdy wprost przez licznik.

A TTL to określenie poziomu dopuszczalnych sygnałów w elektronice. Oznaczyć w ten sposób można wieeele różnych wyjść/wejść/układów.

Pic14kk
-
-
Posty:4
Rejestracja:29 maja 2012, o 18:21

Re: Enkoder Inkrementalny

Postautor: Pic14kk » 31 maja 2012, o 18:02

"z wyjść je się ODBIERA" No tak, i podaję tę ilość do mikrokontrolera, a on do silnika. Czy nadal myślę tak samo? :?

Awatar użytkownika
Jacek Bogusz
-
-
Posty:470
Rejestracja:12 maja 2010, o 17:37
Lokalizacja:Poznań
Kontaktowanie:

Re: Enkoder Inkrementalny

Postautor: Jacek Bogusz » 3 cze 2012, o 20:07

Nie, to nie tak. Mikrokontroler "wie" na podstawie impulsów ile kroków zrobił silnik, a na podstawie algorytmu sterującego - ile powinien zrobić. Dzięki temu można te dwie wartości porównać. Można w ten sposób np. stwierdzić, czy moment obrotowy silnika nadal przezwycięża obciążenie czy już nie daje mu rady i silnik "gubi" kroki. Enkoder to takie jakby sprzężenie zwrotne pozwalające porównać to co zadane, z tym co otrzymano (co faktycznie zrobił silnik). Na przykład, każesz mu zrobić 10 kroków, a enkoder podaje Ci 9 impulsów. Wtedy wiesz, że musisz dodatkowo zrobić jeszcze 1 krok, aby osiągnąć zamierzoną pozycję.

Wróć do „Aparatura kontrolno-pomiarowa i narzędzia”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość