laboratorium napędu robotów
Transkrypt
laboratorium napędu robotów
POLITECHNIKA WROCŁAWSKA INSTYTUT MASZYN , NAPĘDÓW I POMIARÓW ELEKTRYCZNYCH LABORATORIUM NAPĘDU ROBOTÓW Filia: Dzień tyg. Data: Nr grupy: ĆWICZENIE NR 2a TEMAT ĆWICZENIA NAPĘD POZYCJONUJĄCY LINIOWY Z SILNIKIEM PRĄDU STAŁEGO Skład grupy laboratoryjnej: 1. 2. 3. 4. 5. 6. 7. 8. Data oddania: Ocena: Podpis: 1. Zagadnienie sterowania położeniem 1.1. Sterowanie numeryczne w technice wytwarzania Z rozważań dotyczących przebiegów kinematycznych w poszczególnych obrabiarkach stosowanych w technikach wytwarzania wynika następujący podział sterowań położeniem [1]. • sterowanie kształtowe • sterowanie punktowe W sterowaniu punktowym ruch między punktami o określonych współrzędnych może odbywać się wzdłuż dowolnej drogi . Przykładowo gdy przemieszcza się stół wiertarki od punktu A o współrzędnych (x1y1) do punktu B o współrzędnych (x2y2), wówczas jest obojętne po jakiej drodze to nastąpi, ponieważ podczas przemieszczania narzędzie nie styka się z przedmiotem obrabianym. Ograniczenia co do drogi, po której przemieszcza się narzędzie, mogą pojawić się wtedy, gdy na drodze narzędzia znajduje się przeszkoda np. żebro. Ten rodzaj sterowania jest najprostszym rodzajem sterowania położeniem. Jest on stosowany w wiertarkach, zgrzewarkach punktowych, urządzeniach montażowych układów elektronicznych, w urządzeniach pomiarowych i kontrolnych [1]. Sterowanie kształtowe umożliwia obróbkę dowolnych powierzchni, dwu lub wielowymiarowych, jakie są przeważnie realizowane na frezarkach tokarkach lub wycinarkach palnikowych. Przy takim sterowaniu położeniem narzędzie przemieszcza się od punktu A do B według drogi opisanej funkcją y=f(x) lub (x,y)=f(t), narzędzia w osi x i y są wtedy położenia powiązane ze sobą wzajemnie i z czasem . W obrabiarkach sterowanych numerycznie o sterowaniu kształtowym, w wyniku nadążania suportów za wartościami zadanymi, narzędzie porusza się po określonym torze. Tor ten jednak nie zawsze pokrywa się z torem zadanym, zwłaszcza gdy zmiany kierunku toru i szybkości nie następują w sposób łagodny i ciągły. Występujące odchyłki toru są wynikiem właściwości układu regulacji położenia i są nazywane dynamicznymi odchyłkami toru [1]. 1.2. Sposoby nastawiania położenia W procesie nastawiania położenia decydującą rolę odgrywają parametry napędu. Decydują one o właściwościach dynamicznych układu regulacji położenia, a tym samym o zniekształceniu toru. W obrabiarkach NC zadaniem urządzeń do nastawiania położenia jest zapewnienie zespołom maszyny nadążania, w sposób możliwie nie zniekształcony i bez opóźnień, za wielkością sterującą utworzoną na podstawie zadanego toru ruchu. Nastawianie położenia następuje przez: -sterowanie w układzie otwartym -regulację (sterowanie w układzie zamkniętym ze sprzężeniem zwrotnym) W sterowaniu położeniem, gdy nie jest konieczne sprzężenie zwrotne, a więc w układach sterowania numerycznego otwartego , nastawianie położenia można zrealizować za pomocą silników krokowych pracujących w układzie otwartym (bez kontroli położenia). W silniku krokowym podczas normalnej pracy wirnik przemieszcza się synchronicznie z polem magnetycznym. W przypadku, gdy silnik jest zbyt silnie obciążony lub dynamika zmian prędkości obrotowej pola wirującego jest zbyt duża mogą powstawać różnice w kącie obrotu pola i wirnika. Z tego powodu częściej stosuje się regulację położenia . Sposób działania układu regulacji polega na porównywaniu wartości zadanej położenia z wartością rzeczywistą. Uchyb położenia uruchamia napęd. Ruch wykonywany jest tak długo, jak długo istnieje różnica między wartością zadaną i rzeczywistą. Zespoły które biorą udział w tym zamkniętym układzie regulacji nazywa się obwodem regulacji położenia [1]. Do sterowania w układzie zamkniętym wykorzystuje się szczotkowe i bezszczotkowe silniki prądu stałego , synchroniczne i asynchroniczne silniki prądu zmiennego. W opracowanym układzie ze względu na dostępność silnika i prostotę sterowania zastosowano silnik prądu stałego z magnesami trwałymi. 1.3 Sterowanie kształtowe wielkości sterujących o synchronicznym tworzeniu Synchroniczne tworzenie wielkości zadanych ma miejsce wtedy , gdy przyrosty wartości zadanej, podczas posuwu o stałej lub programowanej wartości są dostarczane z odpowiednia częstotliwością przez zespół do nastawiania położenia. Wartościom przyrostów położenia zadanego, gdy częstotliwość podawania tych przyrostów jest stała, odpowiadają prędkości w kierunku sterowanej osi [1]. 2. Wyposażenie stanowiska laboratoryjnego. 2.1 Charakterystyka układu. Mikrokontroler SAB80C535 UP WRM WRS dx(t1) ZS SPS UN WZM WZS dx(t2) LI .... PIO dx(tn) Program Servo V1.0 RS232 x=f(t) PC Rys.1. Schemat blokowy układu do sterowania położeniem z wykorzystaniem silnika prądu stałego. Model napędu umożliwia regulacje położenia (mechanicznego przesunięcia liniowego) w jednej osi według ustalonej funkcji x=f(t). Układ składa się z następujących podzespołów : -sterownik zasilacza silnika prądu stałego zbudowany przy wykorzystaniu mikrokontrolera SAB80C535 -układ pośredniczący między zasilaczem silnika a jego sterownikiem UP -sterowany zasilacz silnika ZS -silnik prądu stałego SPS -układ napędzany UN -przetwornik impulsowo-obrotowy MPL3 PIO -układ licznika impulsów LI 2.2. Silnik prądu stałego W układzie zastosowano silnik prądu stałego z magnesami trwałymi : Dane silnika: Typ: SM-2 P 1,3W U 12V Sn 500 obr/min 2.3 Układ napędzany Układ napędzany składa się z podstaw, prowadnic, śruby pociągowej i suportu przejezdnego. Na jednym końcu śruby znajduje się sprzęgnięty z nią silnik a na drugim przetwornik obrotowo-impulsowy. Na śrubie znajduje się nakrętka która przenosi napęd na suport przejezdny. Podstawowe dane układu to: Zakres ruchu :425mm Skok śruby :2mm Liczba impulsów przetwornika na mm :125 Najmniejsze przesunięcie :0.008mm Maksymalna szybkość suportu :około 17mm/sek 3. Program sterujący na komputer PC Program do obsługi sterownika silnika prądu stałego napisany został w języku DELPHI 4.0 . Delphi 4.0 oparte jest na obiektowo zorientowanej wersji języka Pascal. Delphi jest narzędziem do szybkiego tworzenia aplikacji (ang. RAD -Rapid Aplication Development) w środowisku Microsoft Windows 95 i Windows NT. W środowisku tym formularze (interfejs graficzny) projektuje się w sposób wizualny, a znaczna część kodu programu znajduję się w procedurach obsługi zdarzeń [4]. Program jest umieszczony w jednym zbiorze wykonywalnym o nazwie Servo.exe i nie wymaga dodatkowych plików. Program działa w środowisku Windows i może być uruchomiony na każdym komputerze działającym pod kontrolą tego systemu. Komputer na którym uruchamiany jest program, komunikuje się z sterownikiem przez łącze szeregowe (RS232). Po uruchomieniu programu i zamknięciu okna informacyjnego program podejmuje próbę połączenia ze sterownikiem poprzez com1 i com2 w przypadku odebrania oczekiwanego znaku program informuje o numerze com-u przez który zostało nawiązane połączenie. W przypadku gdy próba zakończy się niepowodzeniem wyświetlany jest komunikat o treści brak odpowiedzi sterownika !. Aby było możliwe wywoływanie funkcji sterownika oraz przesyłanie programów próba połączenia musi zakończyć się powodzeniem. W czasie działania programu na pasku statusu umieszczonym w dolnej części formularza widnieje napis połączony lub nie połączony, w zależności od wyniku próby połączenia . Procedura sprawdzająca połączenie wywoływana jest automatycznie przy uruchomieniu aplikacji, ale może być wywołana w dowolnym momencie pracy programu. Po zamknięciu okna informacyjnego na ekranie widoczny jest formularz główny programu, a na nim pole wykresu z naniesioną siatką . 3.1. Funkcje programu Poniżej przedstawiono szczegółowy opis programu Servo v1.0 podzielony według funkcji jakie program spełnia w układzie. Funkcja panelu sterującego Ze względu na wygodę obsługi i czasochłonność wykonania na panelu sterownika nie umieszczono żadnych przycisków sterujących jego pracą . Wszystkie dostępne funkcje wywoływane są z programu Servo v1.0. Rozkazy przesyłane są do sterownika przez łącze szeregowe. Wykonanie większości poleceń przesyłanych do sterownika nie jest potwierdzane przez program a jedynie przez diody sygnalizujące stan sterownika. W wyjątkiem są trzy polecenia. Pierwszym poleceniem którego realizacja jest potwierdzana przez program jest polecenie zmiany współczynnika Kx. Po wywołaniu funkcji zmiany współczynnika proporcjonalności wysyłany jest rozkaz zmiany wartości współczynnika wraz z jego żądaną wartością, a w oknie w którym wprowadzana jest żądana wartość pojawia się znak zapytania. Następnie przesyłany jest rozkaz żądania zwrotu wartości współczynnika, a po otrzymaniu aktualnej jego wartości wyświetlana jest ona w oknie w którym został on wprowadzony. Analogicznie wygląda zmiana współczynnika Kv. Trzecim poleceniem którego wynik realizacji jest potwierdzany przez program jest polecenie sprawdzenia poprawności połączenia sterownika z komputerem PC. Po wywołaniu funkcji łączącej komputer PC ze sterownikiem komputer przesyła rozkaz po odebraniu którego sterownik zwraca określoną wartość. W przypadku gdy komputer PC odbierze w określonym czasie umówiony znak wyświetlany jest komunikat sterownik połączony . W przypadku gdy oczekiwany znak nie zostanie odebrany wyświetlany jest komunikat Brak odpowiedzi sterownika !. Funkcja konwersji programu na dane przesyłane do sterownika Podstawą opisu położenia zadanego w czasie jest prostokątny układ współrzędnych t-s . W którym ‘t’ oznacza czas wyrażony w sekundach (oś pozioma) a ‘s’ drogę w milimetrach (oś pionowa). Program umożliwia opisywanie położenia zadanego w czasie za pomocą odcinków prostych i fragmentów parabol. W przyjętym układzie współrzędnych prosty odcinek przedstawia ruch ze stałą szybkością proporcjonalna do jej nachylenia (v=dx/dt=const.). Parabola natomiast przedstawia ruch ze stałym przyspieszeniem (a= dv/dt=const.). Przekazanie informacji o przebiegu położenia zadanego w czasie do programu Servo następuje poprzez odczytanie przez program pliku w którym zapisany jest programem ruchu. Program ruchu jest zbiorem liczb i znaków uporządkowanych zgodnie z przyjętymi zasadami, zapisanych w pliku tekstowym z rozszerzeniem ‘txt’. Po odczytaniu programu zapisanego w pliku ‘txt’ przetwarzane są kolejne linie programu i generowane są dane które mogą być przesłane do sterownika. Zasady opisywania położenia zadanego w czasie -program ruchu składa się z kolejno przetwarzanych elementów zapisanych w kolejnych liniach. -program składa się z dwóch typów elementów: -pierwszy typ stanowi opis pewnego odcinka czasu w którym położenie zadane przyrasta o stałą wartość w jednakowych odcinkach czasu (ruch ze stałą szybkością). Element programu opisujący ruch ze stałą szybkością może mieć następującą postać: x10 t2 co oznacza przemieszczenie o 10 milimetrów w czasie 2 sekund. Aby suport przemieścił się w ruchem jednostajnym w przeciwnym kierunku należy w programie umieścić następującą linię: x-10 t2 -drugim typem elementu składowego programu jest opis pewnego odcinka drogi na którym to odcinku szybkość zadana suportu zmienia liniowo swoją wartość od pewnej wartości Vp do wartości Vk (ruch ze stałym przyspieszeniem). Element programu opisujący ruch ze stałym przyspieszeniem może mieć następującą postać: p0 k5 x2 co oznacza ruch ze stałym dodatnim przyspieszeniem z szybkością początkową 0 mm/sek, szybkością końcową 5 mm/sek, przy czym przejście z szybkości 0 mm/sek do szybkości 5 mm/sek następuje na drodze 2 mm. Aby suport zmienił szybkość z 5 mm/sek do zera na drodze 2 mm w programie należy umieścić następującą linię: p5 k0 x2 W przypadku gdy ruch odbywa się w kierunku ujemnym wartość parametru x musi mieć wartość ujemną .Gdy suport zmienia szybkość od 0 do –5 ruch następuje w kierunku ujemnym wtedy linia programu musi mieć postać: p0 k-5 x-2 W jednej linii opisującej ruch ze stałym przyspieszeniem wartość prędkości nie może zmieniać znaku. Czyli aby przejść z szybkości 5 do –5 na drodze 2 mm w programie należy umieścić następujące dwie linie. p5 k0 1x p0 k-5 x-1 zapis p5 k-5 x2 lub p5 k-5 x-2 będzie potraktowany jako błędny a procedura przetwarzająca program zgłosi błąd o treści w linii numer x szybkość zmienia znak. Gdzie x jest numerem linii w której popełniono opisany błąd. Symbole p,k,x,t należy pisać małymi literami w przeciwnym wypadku program zasygnalizuje błąd. Program winien być zakończony linią w której umieszczony jest tylko znak ‘e’ który jest znacznikiem końca programu. Procedura przetwarzająca plik programu generuje następujące komunikaty o błędach : -w linii x napotkano nieznany parametr komunikat jest wyświetlany w przypadku napotkani nie znanego symbolu. -w linii x brak wymaganego parametru komunikat jest wyświetlany w przypadku gdy w linii brak co najmniej jednego parametru. Po zakończeniu przetwarzania tekstu programu wyświetlane są komunikaty o treści kompilacja kompletna lub kompilacja przerwana w zależności od wyniku procesu kompilacji. Funkcja wizualizacji programu ruchu Po kompilacji programu na ekranie widoczna jest jego graficzne odwzorowanie w układzie t-s (czas-droga) .Wykres programu umieszczony jest na siatce której osie są opisywane indywidualnie dla każdego odczytanego programu w zależności od zakresu zmian położenia suportu oraz od czasu trwania programu. Przykładowy wygląd ekranu w trybie wizualizacji przebiegu zadanego w czasie przedstawia rysunek 2. Rys. 2. Przykładowy wygląd ekranu w trybie wizualizacji przebiegu zadanego. Funkcja wizualizacji uchybu położenia W czasie pracy układu mikrokontroler nadaje z częstotliwością 200Hz przez łącze szeregowe wartość uchybu położenia. Wartości uchybu położenia trafiają do bufora wejściowego a następnie po jego przepełnieniu przepisywane są na ekran tworząc wykres uchybu w czasie ostatnich 4 sekund ruchu. Wartość uchybu położenia jest różnicą położenia zadanego i rzeczywistego Wartość ta podobnie jak wartości położenia jest liczbą dwubajtową. Ponieważ mikrokontroler nadaje wartość młodszego rejestru uchybu położenia, to w przypadku gdy uchyb położenia przekroczy wartość 1,024 mm (128 impulsów z przetwornika) wykres na ekranie utraci ciągłość a wartość obrazowana na wykresie będzie zafałszowana. Opisany stan nie jest w żaden sposób sygnalizowany ponieważ jest on wyraźnie widoczny na ekranie komputera. Przykładowy wygląd ekranu w trybie wizualizacji uchybu położenia w czasie przedstawia rysunek 3. Rys. 3. Przykładowy wygląd ekranu w trybie wizualizacji uchybu położenia. Okno programu – dostępne polecenia W górnej części okna programu znajdują się cztery rozwijane menu. Pierwsze menu plik posiada dwie opcje otwórz i zakończ Z czego pierwsza opcja otwiera okno umożliwiające odczytanie programu ruchu, druga zaś służy do wyjścia z programu. Drugie menu zawiera polecenia służące do wyboru wyświetlanego wykresu, zmiany kolorów wykresu oraz opcję kopiuj umożliwiającą skopiowanie wyświetlanego wykresu do schowka. Po skopiowaniu wykresu do schowka jest on dostępny w innych aplikacjach Windows. W trzecim menu sterownik dostępne są trzy polecenia połącz rozłącz i ustawienia. Pierwsze dwie opcje służą do połączenia i rozłączenia sterownika, opcja ta może być wykorzystana np. w celu udostępnienia portu innemu programowi lub nawiązania połączenia w przypadku gdy pierwsza próba zakończy się niepowodzeniem. Opcja ustawienia otwiera okno w którym można zmienić liczbę impulsów z licznika na jednostkę długości . Opcja ta umożliwia zastosowanie programu do sterowania modelem z innym przetwornikiem lub z innym skokiem śruby pociągowej. Z prawej strony okna programu umieszczono przyciski sterujące pracą sterownika. W odróżnieniu od poleceń dostępnych w rozwijanych menu wszystkie polecenia wywoływane przyciskami powodują przesłanie odpowiednich rozkazów do sterownika. W związku z tym są one dostępne tylko w przypadku gdy program Servo połączył się z sterownikiem. 4. Literatura [1] Technika sterowania obrabiarkami i robotami przemysłowymi, Pritschow G. Oficyna wydawnicza P.Wr. 1995 [2] Mikrokontrolery jednoukładowe rodziny 51, Tomasz Starecki, NOZOMI Warszawa 1996 [3] Podstawy techniki mikroprocesorowej, Krzysztof P. Dyrcz, Czesław T. Kowalski, Zdzisław Żarczyński, Oficyna wydawnicza P.Wr. 1999 5. Przebieg ćwiczenia W trakcie wykonywania ćwiczenia należy napisać programy sterujące ruchem napędu pozycjonującego wg zaleceń prowadzącego.