Sprawozdanie z zajęć laboratoryjnych
Nowoczesne Metody Sterowania
Ćwiczenia laboratoryjne 1,2,3
Serwomechanizm edukacyjny
Temat: Identyfikacja systemu serwomechanizmu. Modelowanie i badania symulacyjne serwomechanizmu. Sterowanie w ramach struktury PD.
Skład grupy: Kalinowski Tomasz
Osiński Paweł
Ciereszko Wojciech
Kuklicz Paweł
Studia dzienne
Kierunek: Elektrotechnika
Specjalność: Automatyka i Technika Mikroprocesorowa
Semestr IX
Prowadzący: mgr inż. A. Ruszewski
Daty wykonania ćwiczeń:
7.10.2003
14.10.2003
21.10.2003
Ćwiczenie 1. Identyfikacja systemu serwomechanizmu.
Identyfikacja parametrów urządzenia elektromechanicznego, występujących w równaniach od 4-1 do 4-8, polega na zastosowaniu określonych, fundamentalnych właściwości lekko tłumionych systemów drugiego stopnia. Własności te zostaną spożytkowane do pośredniego pomiaru inercji, stałej sprężystości sprężyny i współczynnika tłumienia urządzenia. Badania przeprowadza się przy skonfigurowaniu urządzenia w układzie „sprężyna-masa”.
Sekwencja działań w trakcie identyfikacji:
Załóż klamrę blokującą dysk środkowy. Wymagane jest niezbyt mocne dokręcenie nakrętki.
Zamocuj cztery 500 g obciążniki na dolnym i górnym dysku. Sprawdź, czy obciążniki są zabezpieczone i czy każdy z nich znajduje się w odległości 9 cm od osi wału.
Przy włączonym zasilaniu sterownika wejdź w okno Control Algorithm przez menu Setup i ustaw Ts = 0.00442. Wejdź w menu Command, przejdź do Trajectory i wybierz Step, Setup. Wybierz Open Loop Step i wprowadź amplitudę (step size) = 0, czas trwania (duration) = 4000 ms i 1-no powtórzenie (repetition).
Przejdź do Setup Data Acquisition w menu Data. Wybierz koder #1 i koder #3 jako dane do gromadzenia i określ pobieranie próbek danych co dwa czasy próbkowania (tj. co 2Ts). Wybierz OK żeby wyjść. Wybierz Zero Position z menu Utility aby wyzerować pozycje koderów.
Wybierz Execute z menu Command. Przygotuj się do ręcznego przesunięcia górnego dysku o około 20 stopni. Gdy przesuniesz górny dysk (obojętnie który kierunek) w przybliżeniu o 20 stopni (na wyświetlaczu na ekranie możesz odczytać wartość liczbową . 1000 counts) to z pola Execute wybierz Run i zwolnij dysk.
Z menu Plotting wybierz Setup Plot i pozycję koder #3, następnie wybierz Plot Data. Umożliwia to obejrzenie odpowiedzi czasowej górnego dysku. Otrzymana, wyrażana w radianach/s, tłumiona częstotliwość ωd jest zbliżona do pulsacji naturalnej ωn zgodnie ze wzorem:
(5-1)
gdzie indeks dolny „d31” oznacza dysk 3, próba 1
Usuń 4 obciążniki z trzeciego, górnego dysku i powtórz kroki 5 do 7, uzyskując w ten sposób ωnd32 dla nieobciążonego dysku.
Zmierz zmniejszenie (redukcję) od amplitudy X0 cyklu początkowego do amplitudy Xn ostatniego cyklu, dla n ilości cyklów zmierzonych w kroku 8. Stosując zależności:
(5-2)
należy wyznaczyć stosunek tłumienia ζd32.
Należy powtórzyć, wymienione w punktach od 5 do 9, czynności dla niższego dysku, dysk 1. Wykonując to zadanie w kroku 6 musisz usunąć pozycję koder #3 i dodać pozycję kodera #1 w Plot Setup. Stąd otrzymasz ωnd11, ωnd12 i ζd12.
Obliczenia:
przy
przy
przy
przy
Przebiegi czasowe dla poszczególnych konfiguracji:
Górny z czterema obciążnikami:
Górny bez obciążników:
Dolny z czterema obciążnikami:
Dolny bez obciążników:
Użyj następujących informacji odnoszących się do każdego obciążnika i oblicz inercję każdego dysku z 4 obciążnikami dla przypadku „d31” i „d11”.
Masa obciążnika ze śrubą i nakrętką = 500 g (+/- 5 g)
Średnica =5 cm (+/- 0.02 cm)
Wyznaczenie inercji związanej z czterema obciążnikami:
Jm= 4·m·r2 = 4·0.5·0.092 = 0.0162
Uwzględniając nierównomierność rozłożenia masy:
Jm = 0.0162+0.0162·7.7% = 0.01745
Nazywając tę inercję Jm (tj. że jest związana z połączonymi czterema obciążnikami) użyj następujących zależności aby znaleźć inercję Jd3 nieobciążonego dysku i skręcenie górnego wału (stałą sprężyny) kd3
(5-3)
(5-4)
Obliczenia:
Znajdź współczynnik tłumienia cd3 przez porównanie składników pierwszego rzędu występujących w równaniu:
(5-5)
Powtórz to dla niższego, nieobciążonego dysku (oblicz Jd1, cd1, kd1).
Wartości J1 i J2 dla każdej konfiguracji obciążników mogą być znalezione przez dodanie obliczonej inercji pochodzącej od obciążników do inercji nieobciążonego dysku.
Ćwiczenie 2. Modelowanie i badania symulacyjne serwomechanizmu.
Wyznaczenie wzmocnienia urządzenia (hardware gain):
Usuń całkowicie górny dysk, odblokuj dysk środkowy i umieść 4 obciążniki tylko na dolnym dysku w odległości 9 cm od środka. Upewnij się, czy obciążniki zostały zabezpieczone i dysk obraca się swobodnie.
Wybierz, w oknie Trajectory kolejno Step, Setup, a następnie Open Loop Step i wartości sygnału wejściowego 1.0 V, 500 ms, 2 reps. Nie należy wybierać ruchu jednokierunkowego - unidirectional moves. Zrealizuj sterowanie w obwodzie otwartym przez menu Execute. Przejdź do Setup w menu Plot Data i wybierz zapamiętanie prędkości kodera #1.
Wykreśl dane i zwróć uwagę na cztery części kształtu prędkości i porównaj je z nominalnymi kształtami: liniowego wzrostu (stałe przyśpieszenie), stałą (zero przyśpieszenia), liniowego spadku (opóźnienie) i stałą. Oblicz przyśpieszenie (jednostki/s2) poprzez zmierzenie różnicy prędkości i podzielenie jej przez różnicę czasu (500 ms) w dodatnio nachylonej części liniowej. Powtórz ten krok dla ujemnie nachylonej części. Oblicz średnią wartość dodatniego i ujemnego przyśpieszenia i użyj tych wartości do obliczenia khw jak podano poniżej.
Przyśpieszenie i pozycja na dolnym dysku z czterema obciążnikami:
Moment obrotowy i przyspieszenie tak jak w poprzednim:
Obliczenie transmitancji operatorowej
Wzmocnienie urządzenia khw składa się z iloczynu:
khw = kc ka kt kp ke ks (5-6)
gdzie:
kc- wzmocnienie DAC, = 10V/ 32 768 DAC jednostek
ka- wzmocnienie Servo Amp, = w przybliżeniu 2 (amp/V)
kt- stała momentu Servo Motor Torque = w przybliżeniu 0.1 (N-m/amp)
kp- stosunek krążków napędu Drive Pulley ratio = 3 (N-m@ dysk / N-m @ silnik)
ke- wzmocnienie Encodera = 16 000 impulsów/ 2π radianów
ks- wzmocnienie sterownika Controller Software = 32 (jednostki sterownika / koder lub jednostki wejściowe)
Uwaga: Jednostki sterownika są jednostkami, które rzeczywiście są wykorzystywane w algorytmie sterowania, tj. jednostki sygnału wejściowego (trajektorii) i jednostki kodera są mnożone przez 32 zanim zostaną wykonane reguły sterowania.
W kroku 15 uzyskaliśmy przyśpieszenie (jednostki/s2) znanej inercji, J1 = Jm + Jd1 ze znanym napięciem zastosowanym w DAC. Tak więc przez pominięcie stosunkowo niewielkiego tarcia:
Zastosowany moment obrotowy =
(5.7)
Mamy bezpośredni pomiar czteroelementowego iloczynu ka ke kt kp tj.
1.00Vkaktkp= Zastosowany moment obrotowy w kroku 15 (5.8)
W celu określenia rozwiąż równania 5-6 do 5-8, używając określonych wartości kc i ks.
Rzeczą pożądaną jest by mianownik transmitancji operatorowej przedstawiany był jako wielomian o całkowitych współczynnikach i współczynniku przy najwyższej potędze równym jeden.
Transmitancje operatorowe dla nieobciążonych dysków:
Badania symulacyjne:
Wynik symulacji modelu matematycznego dla obciążonego dysku górnego wraz z porównaniem:
Wynik symulacji modelu matematycznego dla nieobciążonego dysku górnego wraz z porównaniem:
Wynik symulacji modelu matematycznego dla obciążonego dysku dolnego wraz z porównaniem:
Wynik symulacji modelu matematycznego dla nieobciążonego dysku dolnego wraz z porównaniem:
Jak widzimy w kolejnych porównaniach przebiegi różniły się nieznacznie, ale mogła to być przyczyna niedokładnych pomiarów przy wyznaczaniu pulsacji oraz współczynników tłumienia.
Ćwiczenie 3. Sterowanie w ramach struktury PD
Doświadczenie demonstruje niektóre kluczowe pojęcia związane z regulacją proporcjonalno - różniczkową (PD).
.
Rys. Schemat blokowy regulacji PID ciała z określonym momentem bezwładności
Człon różniczkujący znajduje się tu w torze sprzężenia zwrotnego. Oba układy są rozpowszechnione. Maja one takie same właściwości pod względem stabilności i identyczne położenie biegunów. Różnią się tylko odpowiedzią na zmianę wymuszenia r(t).
Transmitancje operatorowe układu zamkniętego dla poszczególnych przypadków:
(5-9a)
W ćwiczeniu tym powinniśmy zbadać sterowanie typu PD (ki = 0). W sytuacji, gdy człon różniczkujący kds znajduje się w torze sprzężenia zwrotnego zastępcza transmitancja operatorowa układu regulacji redukuje się do:
(5-10)
Po zdefiniowaniu
(5-11)
(5-12)
możemy wyrazić ją w postaci standaryzowanej
(5-13)
Sekwencja działań przy badaniu sterowania proporcjonalno - różniczkowego (PD)
Z zależności 5-11 określ wartość kp, (kd = 0) w ten sposób, by uzyskiwany system drugiego rzędu miał częstotliwość własną 2Hz.
Ustaw gromadzenie danych z kodera #1 i Command position w oknie Setup Data Acquisition w menu Data. Wprowadź (poprzez Trajectory w menu Command) parametry zadania w zamkniętym obwodzie (Closed Loop) sterowania: step size = 0, dwell time = 5000 ms (czas trwania) i jedno powtórzenie (repetition=1)
Wejdź w pole Control Algorithm w Setup i ustaw Ts = 0.00442 s. Wybierz Continuos Time Control. Następnie wybierz PI + Velocity Feedback (różniczkowanie w torze sprzężenia) i Set-up Algorithm. Wprowadź, przy zerowych wartościach ki i kd, poziom kp (nie wprowadzaj wartości większych niż kp = 0.08) i wybierz OK. Zaznacz Implement Algorithm a następnie OK.
Wykonaj wykres danych z kodera #1
Na podstawie równań 5-10, 5-11, 5-12 zaprojektuj sterowniki tj. znajdź kp i kd dla sytemu z naturalną częstotliwością ωn = 4Π i trzy przypadki tłumienia: 1) ζ = 0.2 (niedotłumienie), 2) ζ = 1.0 (tłumienie krytyczne), 3) ζ = 2.0 (dwuinercja).
Obliczenia:
1o dla
=0.2 -niedotłumienie
2o dla
=1 -tłumienie krytyczne
3o dla
=2 - dwuinercja
Odpowiedź skokowa
Zaimplementuj sterownik dla przypadku niedotłumienia w trybie PI + Velocity Feeback i ustaw trajektorię sterowanego ruchu serwomechanizmu na 2500 jednostek, dwell time = 2000 ms z jednym powtórzeniem.
Zrealizuj zadanie sterowania, uzyskując wykresy przebiegów pozycji odnotowanych przez koder #1 i pozycji zadanej.
Powtórz krok 12 i 13 dla przypadku tłumienia krytycznego i dwuinercji. Zapisz i zachowaj zarejestrowane przebiegi do późniejszych porównań.
Otrzymane przebiegi z symulacji wykonanej w simulinku na tle rzeczywistych przebiegów z obiektu:
1o dla
=0.2 -niedotłumienie
2o dla
=1 -tłumienie krytyczne
3o dla
=2 - dwuinercja
Jak się okazało dobór nastaw parametrów kp oraz kd okazał się prawidłowy. Natomiast błędne były obliczenia wzmocnienia obiektu khw -okazały się one być o drobinę za małe, co zauważyć można na powyższych przebiegach czasowych (sygnały o mniejszych amplitudach pochodzą z symulacji).