piątek, 12 sierpnia 2016

Archiwum - SENSORY 16

Archiwum - SENSORY 16

Incremental Encoder
Kolo kodowe wspolczesnego kwadraturowego encodera inkrementalnego czyli przyrostowego ma tylko jedna sciezka.
Swiatlo promieniowane  przez diode LED enkodera  jest skupione soczewka. Po przejsciu przez tarcze kodowa pada ma macierz fotodiod. Prad fotodiod poprzez uklad analogowy podany jest do dwoch wyjsciowych komparatorow. Rysunek pokazujacy enkoder pochodzi z materialow firmy Hewlett Packard.

Na tarczy kodowej moze byc dodatkowo sciezka Indeks. Encoder ma w takim wypadku jeszcze kolejne dwie fotodiody i wspolpracujacy uklad.
Interfejs do enkodera kwadraturowego moze byc wykonany na ukladach logicznych rodziny TTL.
Koncern HP wprowadzil "Quadrature Decoder/Counter Interface IC" typu HCTL-2020. Wspolpracuje on bezposrednio z encoderem kwadraturowym. Ma 16 bitowy licznik, ktory mikroprocesor odczytuje jak dwa rejestry 8 bitowe. Zewnetrznym licznikiem TTL mozna dowolnie dlugosc slowa licznika wydluzyc.

W realizacjach na ukladach TTL sygnal z encodera przechodzi przez filtr RC usuwajacy ewentualny szum  i bramke Schmidta. W ukladzie HCTL2020 ( jest to taktowana maszyna synchroniczna ) zastosowano filtr cyfrowy - na rysunku ponizej. Wart jest on  uwagi.


Sygnaly obu kanalow A i B przechodza przez linie opozniajace na kaskadzie przerzutnikow D. Gorne bramki w kazdym kanale AND daja sygnal "1" gdy w trzech taktach sygnal kanalu  ma wartosc "1". Kanalowy przerzutnik JK zostanie ustawiony wtedy wejsciem J. Z kolei gdy w trzech taktach sygnal ma wartosc "0" to dolne bramki NOR ( prawo Morgana ) daja sygnal "1" i przerzutnik JK jest skasowany. Gdy w sekwencji sa jednoczesnie zera i jedynki to bramki maja na wyjsciach zera i przerzutnik nie zmienia stanu i pamieta wartosc poprzednia.
Zaklocenia zatem zostana odfiltrowane.
Warto zwrocic uwage ze programowo latwo jest zrealizowac taki filtr dla 8/16 sygnalow, zaleznie od dlugosci slowa procesora. Tak filtruje sie sygnaly logiczne podane na porty. 

Kolejny rysunek ulatwia zrozumienia dzialania ukladu logicznego wyznaczajacego kierunek obrotow tarczy i wypracowujacego sygnaly Up/Down i Count dla dwukierunkowego licznika. 
Nietrudno zgadnac ze sygnal Count wypracuje czterowejsciowa bramka EXOR ktorej podamy sygnaly A i B oraz opoznione o takt sygnaly A i B. Po prostu detekowana jest kazda zmiana obu sygnalow. Sygnal U/D wypracowuje sie jedna bramka EXOR. Odpowiedz na pytanie jakie nalezy jej podac sygnaly pozostawiany czytelnikowi.

Taki uklad logiczny wypracowuje cztery sygnaly  Count dla licznika na kazda kreske obrotu encodera. Mozna tez wypracowac tylko jeden takt ale bylby to koszmarny blad.
W programie regulatora serwomechanizmu z enkoderem sygnal predkosci uzyskujemy rozniczkujac sygnal polozeniowy. Poniewaz sygnal polozeniowy jest skwantowany to powstaje spory blad wyliczonej predkosci. Stad im wieksza jest rozdzielczosc encodera i interfejsu tym lepiej.
Nie jest niestety znany zaden algorytm logicznego wypracowania wiecej niz 4 taktow na jedna kreske encodera.

Dolaczenie ukladu HCTL-2020 do mikrokomputera jest bardzo proste. Stan licznikow ukladu  trzeba odczytywac na tyle szybko-czesto aby zorientowac sie ze nastapilo przewiniecie licznika i w ktora strone. Interface sie komplikuje gdy sygnaly U/D i CAS CNT (CAS od Cascade czyli kaskada ) z ukladu HCTL-2020 podajemy do kaskadowego licznika TTL.
Poniewaz w programie licznik odczytujemy bardzo czesto to hardwarowe wydluzanie licznika jest zbedne.

Wydaje sie ze jeden z wielofunkcyjnych ukladow licznikowych w wydajnym mikrokontrollerze moglby miec funkcje interface do incrementalnego dekodera kwadraturowego. Znakomicie obnizyloby to koszt interfejsu enkodera i ulatwilo budowe kompletnego serwomechnizmu. Licznik dwukierunkowy jest tylko troche bardziej skomplikowny niz zwykly a powierzchnia chipa mikrokontrollera na uklad logiczny dla encodera jest wprost znikoma.   

Na rysunku systemu Fanuc 6M pokazano uzycie kwadraturowego sensora inkrementalnego w systemie maszyny CNC. Prostopadloscian obramowany przerywana linia to komputer m.in interpretujacy obrobczy G-code bazujacy na procesorze Intel 8086. Komputer ma na wyjsciach kazdej osi 12 bitowe przetworniki D/A typu DAC80 sterujace analogowe servomechanizmy predkosciowe. Elementami mocy są tyrystory lub tranzystory Darlingtona przy mniejsze mocy serwomechanizmu. Sygnał predkosci uzyskuje sie w przetworniki F/V czestotliwosc na napiecie.
Petla predkosciowa jest realizowana analogowo dlatego ze uzyty procesor jest zdecydowanie za wolny i za slaby do realizacji czesto uruchamianego algorytmu serwa programowego. Przy obecnym tempie wzrostu szybkosci procesorow ekonomiczne programowe serva pojawią sie juz za ca kilka lat.    

Brak komentarzy:

Prześlij komentarz