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.