• Nie Znaleziono Wyników

Algorytm sterujący serwomechanizmami ramienia robota AL5A / PAR 2/2011 / 2011 / Archiwum / Strona główna | PAR Pomiary - Automatyka - Robotyka

N/A
N/A
Protected

Academic year: 2021

Share "Algorytm sterujący serwomechanizmami ramienia robota AL5A / PAR 2/2011 / 2011 / Archiwum / Strona główna | PAR Pomiary - Automatyka - Robotyka"

Copied!
7
0
0

Pełen tekst

(1)

dr inĪ. Marian Gilewski Politechnika Biaáostocka

ALGORYTM STERUJĄCY SERWOMECHANIZMAMI

RAMIENIA ROBOTA AL5A

W artykule przedstawiono koncepcjĊ sterowania ramieniem AL5A z zastosowaniem ukáadu FPGA. Serwomechanizmy AL5A posiadają autonomiczne algorytmy zaimplementowane w jĊzyku VHDL. Opracowany jednoukáadowy system cyfrowy moĪe obsáuĪyü pracĊ systemu przez kilka minut.

THE AL5A ROBOT’S CONTROL ALGORITHM

This paper presents an idea of AL5A robot’s control algorithm. Servo motors of AL5A have autonomous algorithms. Each algorithm was implemented into VHDL code. The FPGA on-chip control system can maintain AL5A arm for a few minutes.

1. WSTĉP

RamiĊ robota AL5A [1] zawiera piĊü niezaleĪnie sterowanych serwomechanizmów. KaĪdy z serwomechanizmów áączy siĊ z systemem sterującym za poĞrednictwem trójprzewodowej magistrali zasilająco-sterującej. Magistrala zawiera przewody doprowadzające: staáe napiĊcie zasilające, sygnaá sterujący oraz wspólny przewód masy. Sygnaá sterujący jest cyfrowym przebiegiem prostokątnym w standardzie LVTTL, o czĊstotliwoĞci 50 Hz i zmiennym wspóáczynniku wypeánienia. Czas trwania impulsu sterującego zawiera siĊ w przedziale od 0,6 ms do 2,4 ms, co zapewnia obrót waáu serwomechanizmu o kąt od –90° do +90° w stosunku do poáoĪenia neutralnego. PoáoĪeniu neutralnemu odpowiada impuls o czasie trwania 1,5 ms. MoĪliwe są róĪne implementacje systemu sterującego pracą omawianego ramienia. W publikacji przedstawiono koncepcjĊ z uĪyciem struktury programowalnej FPGA. Do badaĔ wybrano ukáad EP2C70F896C6 [2] wystĊpujący w module prototypowym DE2-70 [3] firmy Altera (rys. 1).

(2)

Schemat blokowy ukáadu sterującego ramieniem robota, bĊdący jednoczeĞnie zapisem algorytmu sterującego na platformie Quartus II [4], przedstawiono na rys. 2.

Rys. 2. Schemat ukáadu sterującego

Zawiera on nadrzĊdny moduá sterujący Ster_caly, który koordynuje pracĊ poszczególnych serwomechanizmów. Jego rolą jest ustawienie pozycji początkowych serwomechanizmów a nastĊpnie podawanie sygnaáów sterujących ich pracą za poĞrednictwem 13 bitowych magistral, zawierających sygnaáy: F[1..0], Limit_L[3..0], Limit_H[3..0], KEY i PW[1..0]. Do moduáu nadrzĊdnego doprowadzone są dwa sygnaáy sterujące: sygnaá zegarowy o czĊstoliwoĞci 50 MHz Clk50MHz i sygnaá zerujący Reset. Moduá ten moĪna zrealizowaü jako pamiĊü staáą, której komórki przechowują nastawy zmiany poáoĪenia waáów serwomechanizmów w kolejnych krokach pracy ramienia. W takim przypadku obsáuga moduáu nadrzĊdnego sprowadza siĊ do cyklicznego, z czĊstotliwoĞcią 50 Hz, generowania adresów pamiĊci.

Alternatywą moĪe byü implementacja w kodzie VHDL równaĔ opisujących trajektorie zmiany poáoĪenia ramienia. Biorąc pod uwagĊ, iĪ ukáad EP2C70F896C6 zawiera okoáo 1 200 000 bitów pamiĊci wewnĊtrznej, zastosowanie w omawianej realizacji 65-bitowych sáów pozwala na zapamiĊtanie ponad 18 000 kroków, czyli umoĪliwia ponad 6-minutową pracĊ ramienia. Jest to niewątpliwie rozwiązanie i oszacowanie nadmiarowe jeĪeli chodzi o wykorzystanie pamiĊci, gdyĪ nie wszystkie serwomechanizmy muszą pracowaü w tym samym czasie oraz zmieniaü swoje poáoĪenie w maksymalnym zakresie. Wspominany ukáad FPGA naleĪy do rozwiązaĔ Ğredniej wielkoĞci, najwiĊksze matryce zawierają pamiĊci wewnĊtrzne nawet 10-krotnie wiĊksze. Istnieje równieĪ moĪliwoĞü zastosowania dodatkowych pamiĊci zewnĊtrznych, wówczas dysponowany czas pracy niepowtarzalnego algorytmu wydáuĪa siĊ do kilkudziesiĊciu godzin (pamiĊci SDRAM o pojemnoĞci gigabitów).

W proponowanej aplikacji zastosowano 5 identycznych moduáów Serwom nadzorujących pracĊ poszczególnych serwomechanizmów, które sterowane są podobnymi zunifikowanymi sygnaáami. Implementacja pojedynczego moduáu absorbuje ponad 1000 makrokomórek struktury FPGA, co stanowi okoáo 1 % zasobów logicznych uĪytego ukáadu.

(3)

2. MODUà STERUJĄCY POJEDYēCZYM SERWOMECHANIZMEM

StrukturĊ moduáu obsáugującego pojedynczy serwomechanizm przedstawiono na rysunku trzecim. Znaczenie sygnaáów zewnĊtrznych jest nastĊpujące:

- dwubitowa magistrala F[1..0] umoĪliwia ustawienie wartoĞci zmiany poáoĪenia waáu w kolejnym kroku (o 1°, 2°, 5° lub 10°),

- czterobitowe magistrale Limit_L[3..0] i Limit_H[3..0] okreĞlają skrajne lewe i prawe poáoĪenie waáu wzglĊdem poáoĪenia neutralnego (–90°, –85°, ...; 90°, 85°, ...),

- dwubitowa magistrala PW[1..0] wymusza liczbĊ powtórzeĔ bieĪącego poáoĪenia waáu (brak powtórzenia, 5 powtórzeĔ, 10 powtórzeĔ, dowolna liczba powtórzeĔ zakoĔczona rĊcznym wyzwoleniem),

- KEY sygnaá rĊcznego wyzwalania,

- Wy_PWM jest sygnaáem wyjĞciowym, podawanym bezpoĞrednio na liniĊ sterującą serwomechanizmu,

- pozostaáe sygnaáy (oHEX0_D[6..0]...oHEX7_D[6..0], Szer_Imp[7..0], Zer50Hz, Gen50Hz) peániáy pomocnicze punkty pomiarowe w czasie uruchamiania moduáu.

Rys. 3. Schemat moduáu sterującego serwomechanizmem AL5A

Generator sygnaáów Gen_tor na podstawie przebiegu okresowego 50 MHz wytwarza trzy sygnaáy: F100kHz o czĊstotliwoĞci 100 kHz, Gen50Hz o czĊstotliwoĞci bazowej 50 Hz oraz Zer50Hz krótkie impulsy zerujące o czĊstotliwoĞci 50 Hz. Blok Cykl synchronizowany sygnaáem Gen50Hz na podstawie nastaw KEY i PW[1..0] wytwarza sygnaá Key_out inicjujący lub wstrzymujący zmianĊ poáoĪenia waáu w nastĊpnym kroku. Automat stanów Licznik_sterow na podstawie nastawy F[1..0] oraz sygnaáów Key_out, Skok_2 (z bloku Limit_kata) i Gen50Hz wytwarza kod poáoĪenia waáu Adr_ROM[7..0] w nastĊpnym kroku. Kod ten niesie informacjĊ o przyroĞcie kąta oraz kierunku (w prawo lub lewo) poáoĪenia. DáugoĞü kodu okreĞla minimalną rozdzielczoĞü zmiany poáoĪenia w kolejnym kroku; w badanym przypadku zastosowano kod 8-bitowy, co pozwoliáo uzyskaü 1-stopniową rozdzielczoĞü. Limit_kata porównuje wartoĞü kodu poáoĪenia z wartoĞciami nastaw Limit_L[3..0] i Limit_H[3..0], jeĪeli zostaáo osiągniĊte skrajne poáoĪenie blok generuje sygnaá Skok_2 zmiany kierunku obrotu waáu. Dla potrzeb diagnostycznych podczas badaĔ

(4)

blok wytwarzaá dodatkowe sygnaáy diagnostyczne oraz obsáugujące wyĞwietlacze DE2. PWM jest sterowanym przerzutnikiem monostabilnym, który na podstawie kodu poáoĪenia Adr_ROM[7..0] wytwarza impuls prostokątny o wymaganym czasie trwania z rozdzielczoĞcią sygnaáu F100kHz a nastĊpnie przechodzi w stan zawieszenia. Ze stanu zawieszenia przerzutnik jest wyprowadzany sygnaáem Zer50Hz po upáywie 20 ms, generując kolejny impuls na narastającym zboczu sygnaáu Gen50Hz.

3. WYBRANE WYNIKI BADAē MODUàU SERWOMECHANIZMU

W tej czĊĞci pracy przedstawiono wyniki badaĔ symulacyjnych oraz laboratoryjnych w wybranych punktach moduáu sterującego serwomechanizmem. Na rys. 4 przedstawiono zachowanie ukáadu po jego wyzerowaniu. Zerowanie ukáadu nastĊpuje w czasie wysokiego poziomu na wejĞciu Reset, w tym stanie serwomechanizm ustawia siĊ w poáoĪenie neutralne, tj. 0°. Po zaniku sygnaáu zerującego pojawia siĊ narastające zbocze sygnaáu Gen50Hz oraz sygnaá F100kHz, po upáywie 0,6 ms rozpoczyna siĊ impuls sterujący serwomechanizmem (poziom niski sygnaáu Wy_PWM). WartoĞü 0,6 ms jest minimalnym czasem trwania impulsu akceptowanym przez serwomechanizm, odpowiadającym poáoĪeniu –90°.

Rys. 4. Zerowanie moduáu

Rys. 5. Inne sygnaáy sterujące

Symulacja w dáuĪszym przedziale czasowym (rys. 5) pokazuje synchronizacjĊ wytwarzania impulsów sterujących Wy_PWM narastającymi zboczami przebiegu Gen50Hz. Impulsy zerujące Zer50Hz wyprowadzają przerzutnik sterowany PWM ze stanu zawieszenia tuĪ przed pojawieniem siĊ kolejnego narastającego zbocza Gen50Hz. Przedstawione wyniki symulacji dotyczyáy sytuacji zatrzymania serwomechanizmu w tym samym poáoĪeniu, czas trwania impulsów Wy_PWM nie ulegaá zmianie. Lewe i prawe skrajne poáoĪenia byáy ustawione w wartoĞci maksymalne, tzn. –90° i +90° (Lim_L = "0000”, Lim_H = "0000”). Kolejne dwie charakterystyki (rys. 6 i rys. 7) przedstawiają wyniki badaĔ laboratoryjnych, odpowiadające poáoĪeniu waáu w pozycji –90° oraz +90°. Ujemna notacja sygnaáów

(5)

Wy_PWM (aktywny sygnaá niski) wynika z faktu iĪ w ukáadzie elektronicznym elementy izolacji galwanicznej odwracają fazĊ sygnaáu.

Rys. 6. Oscylogramy sygnaáu Wy_PWM (przebieg 1) oraz Gen50Hz (przebieg 3) w pozycji waáu –90°

Rys. 7. Oscylogramy sygnaáu Wy_PWM (przebieg 1) oraz Gen50Hz (przebieg 3) w pozycji waáu +90°

Dalsze wyniki badaĔ symulacyjnych dotyczą odcinków czasu rzĊdu setek sekund. Z tego wzglĊdu nie bĊdzie prezentowany sygnaá wyjĞciowy Wy_PWM lecz jego odpowiedniki w postaci dziesiĊtnej kodów poáoĪenia Szer_Imp[7..0]. Takie podejĞcie nie wymaga symulacji caáego ukáadu w tak dáugim czasie. Na rys. 8 przedstawiono wynik symulacji

(6)

realizacji algorytmu cyklicznej zmiany poáoĪenia serwomechanizmu ze skokiem 10° miĊdzy skrajnym lewym poáoĪeniem okreĞlonym kodem Lim_L = "1100” (–50°, Szer_Imp = 40) a skrajnym prawym poáoĪeniem okreĞlonym kodem Lim_H = "1100” (+50°, Szer_Imp = 140).

Rys. 8. Kolejne zmiany poáoĪenia waáu ze skokiem 10°

Zmiana wartoĞci magistrali F[1..0] pozwala wielokrotnie powtórzyü to samo poáoĪenie waáu w kolejnych krokach (rys. 9). Ustawienie F[1..0] = "11” powoduje przejĞcie w tryb rĊcznego wyzwalania. W tym trybie ukáad po wygenerowaniu impulsu powiela go w kolejnych cyklach (rys. 10) aĪ do pojawienia siĊ niskiego poziomu sygnaáu na wejĞciu KEY.

Rys. 9. Zatrzymanie zmiany poáoĪenia waáu serwomechanizmu przez 5 cykli

Rys. 10. RĊczne wyzwalanie zmiany poáoĪenia waáu

Sygnaáy aktywujące, o róĪnych czasach trwania, mogą pojawiaü siĊ z róĪnymi interwaáami czasowymi co jest cechą rĊcznego wyzwalania. W publikacji nie przedstawiono kodów Ĩródáowych opisujących w VHDL funkcjonowanie poszczególnych bloków ze wzglĊdu na ich obszernoĞü. KaĪdy z elementów struktury hierarchicznej (rys. 3) zostaá zdefiniowany w wersji VHDL’93 [5] i uruchomiony z zastosowaniem platformy projektowej Quartus II Web Edition dedykowanej do syntezy systemów w ukáadach PLD firmy Altera.

(7)

4. PODSUMOWANIE

Celem pracy byáo sprawdzenie moĪliwoĞci implementacji algorytmu sterującego ramieniem robota AL5A w strukturze programowalnej FPGA. Jako docelowy ukáad wybrano matrycĊ rodziny Cyclone II typu EP2C70F896C6 firmy Altera. Byá to Ğredniej wielkoĞci ukáad programowalny. Algorytm kontrolujący pracĊ jednego serwomechanizmu zawieraá kod obejmujący okoáo 2500 wierszy w jĊzyku VHDL. W wyniku jego implementacji wykorzystano tylko 1 % dostĊpnych zasobów matrycy logicznej FPGA. Oznacza to, iĪ w badanej strukturze moĪna zaimplementowaü zarówno 5 algorytmów kontrolujących pracĊ wszystkich serwomechanizmów jak teĪ moduá nadrzĊdny koordynujący pracĊ caáego ukáadu. Badania przeprowadzono w stosunku do rozwiązania "oszczĊdnego” funkcjonalnie, tzn. zastosowano rozdzielczoĞü zmiany poáoĪenia waáu na poziomie 1°, moĪliwoĞü zmiany przyrostu kąta zmiany poáoĪenia waáu w zakresie 4 wartoĞci oraz realizacjĊ nastaw skrajnych poáoĪeĔ z 5-stopniowym krokiem. Badania laboratoryjne wykazaáy, iĪ w celu uzyskania wiĊkszej páynnoĞci ruchu serwomechanizmu naleĪaáoby zastosowaü wiĊkszą rozdzielczoĞü, np. rzĊdu 0,1 stopnia. Do algorytmu sterującego nie wprowadzono mechanizmów linearyzacji charakterystyki odpowiedzi ukáadu na szerokoĞü impulsów wyzwalających. PrzybliĪone pomiary wykazaáy zasadnoĞü zastosowania linearyzacji ukáadu, jednak ze wzglĊdu na brak odpowiedniej jakoĞci aparatury pomiarowej w tym przypadku nie uwzglĊdniono tego aspektu.

OdrĊbnym zagadnieniem pozostaje moĪliwy do osiągniĊcia czas pracy algorytmu. Zastosowany ukáad FPGA pozwalaá na kilkuminutową pracĊ niepowtarzalnej trajektorii ruchu. Rozwiązaniem problemu mogáoby byü zastosowanie wiĊkszego ukáadu lub zewnĊtrznych pamiĊci, co nie stanowiáoby ograniczeĔ przy tak maáych prĊdkoĞciach zmiany poáoĪenia. JĊzyk VHDL dziĊki rozbudowanym bibliotekom umoĪliwia syntezĊ zaawansowanych funkcji sterujących. Ze wzglĊdu na wiĊkszą przewidywalnoĞü poáoĪenia ramienia wybrana zostaáa wersja oparta na pamiĊciach i automatach stanu, gdyĪ nie wszystkie konstrukcje opisu behawioralnego w tym jĊzyku są w peáni syntezowalne.

PublikacjĊ przygotowano w ramach realizacji pracy statutowej S/WE/1/2006 finansowanej przez Ministerstwo Nauki i Szkolnictwa WyĪszego.

5. BIBLIOGRAFIA

1. Hitec Robotics, http://www.lunxmotion.com/c-124-al5a.aspx [opis robota, dostĊp online: 1 paĨdziernika 2010].

2. Altera Corporation: Cyclone II Device Family Data Sheet, 101 Innovation Drive, San Jose, California, 95134 USA, 2004.

3. Terasic Technologies Inc.: DE2-70 Development and Education Board - User Manual, ver. 1.08, huBei City, HsinChu County, Taiwan 302, http://www.terasic.com, 2009. 4. Altera Corporation: Introduction to the Quartus II Software, 101 Innovation Drive, San

Jose, California, 95134 USA, www.altera.com, 2010.

5. IEEE Computer Society: IEEE Standard VHDL Language Reference Manual, New York, NY 100016-5997, USA, 2002.

Cytaty

Powiązane dokumenty

Rozpoczêcie procedury s¹dowej, nag³oœnione w prasie równie¿ nie prze³o¿y³o siê na zmianê nastrojów i opinii spo³ecznej obni¿y³a siê liczba badanych postuluj¹cych

QyZEXG\QNLSU]H]QDF]RQHGRVSUDZRZDQLDNXOWXUHOLJLMQHJRWDNLHMDNV\QDJRJL F]\GRP\PRGOLWZ\

Zmiany w duńskim reżimie wiedzy Duński reżim wiedzy zdominowany jest przez organizacje badawcze wywodzące się z  sekto- ra państwowego i  społecznego, przez który ro-

Tak więc, według legalnej definicji karty płatniczej zawartej w prawie bankowym, należy przez nią rozumieć kartę identyfikującą wydawcę i upoważnionego posiadacza,

Tak więc dla pa ristw, w któryc h wy stępują szoki wywołane przez poli tyki gospodarcze, utrata kursu wa lutowego po przystąpieniu do unii wa lutowej ni e powoduje

Głównym celem badawczym artykułu jest więc przedstawienie roli składników wynagrodzenia zmiennego: akcji i opcji na akcje w wynagrodzeniach dyrektorów wykonawczych

Chojna J., Miejsce podmiotów z udziałem kapitału zagranicznego w gospodarce narodowej Polski [w:] Inwestycje zagraniczne w Polsce, IKCHZ, Warszawa 2004.. Chrościcki T., Inwestycje

Obowiązkiem operatorów sieci ciepłowniczych jest zapewnienie niezawodności ciepła, wydaje się, że sposobem zapewniającym niezawodność dostaw paliw dla produkcji w