Sprawozdanie z zajęć laboratoryjnych
Nowoczesne Metody Sterowania
Ćwiczenia laboratoryjne 2
Serwomechanizm edukacyjny
Temat: Identyfikacja systemu serwomechanizmu. Modelowanie i badania symulacyjne serwomechanizmu. Sterowanie w ramach struktury PD.
Skład grupy: Adam Kopańko
Radek Czarkowski
Studia dzienne
Kierunek: Elektrotechnika
Specjalność: Automatyka i Technika Mikroprocesorowa
Semestr IX
Prowadzący: mgr inż. A. Ruszewski
Daty wykonania ćwiczeń:
Ć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.
0 do 0.5 [s] od 0 do 42000
1 do 1.6 [s] od37500 do -12000
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.
Parametry obliczone na poprzednich zajęciach :
Pulsacja Dysku1 obciożony(D1P1) =11.55
Pulsacja Dysku1 nie obciążonego (D1P2) =31.73
Pulsacja Dysku3 obcioz(D3P1) =11.56
Pulsacja Dysku3 nie obcioz (D3P2) =36.93
Jm =0.0162
Jd3 =0.001758
Stała sprężyny kd3 =2.398
psid3 =0.02016
Tłumienie cd3=0.002617
Jd1 =0.002474
Stała sprężyny kd1 =2.491
psid1 =0.05576
Tłumienie cd1=0.008755
Plik.m
disp('**************************Zadanie indywidualne******************')
m=0.6; %[kg]
r=0.07; %[m]
Jm=2*m*(r^2); ;
disp('Moment bezwładności(Zada indywidualne)J2')
J2=Jm+Jd3
disp('Współczynnik tłumienia dysku(Zada indywidualne) 2')
c2=cd3
disp('Moment bezwładności dysku1(Zada indywidualne):')
J1=Jm+Jd1
disp('Współczynnik tłumienia dysku1:')
c1=cd1
disp('Współczynnik spręzystości1(Zada indywidualne):')
k1=kd1
disp('Współczynnik sprężystości2(Zada indywidualne):')
k2=kd3
disp('Macież(Zada indywidualne)');
A = [0 1 0 0; -k1/J1 -c1/J1 k1/J1 0;0 0 0 1; k1/J2 0 (k1+k2)/J2 -c2/J2]
B = [0; 1/J1; 0; 0]
L1=[J2 c2 k1 k2+k2];
L2=[k1];
M = [J1*J2 (c1*J2+c2*J1) (J1*(k1+k2)+J2*k1+c1*c2)+(c1*(k1+k2)+c2*k1) k1*k2];
disp('Transmitancja operatorowa dla kodera 1')
printsys(L1,M)
disp('Transmitancja operatorowa dla kodera 2')
printsys(L2,M)
Po wykonaniu pliku.m otrzymujemy :
khw =19.5814
*******************Zadanie wspulne******************
Moment bezwładności J2
J2 = 0.0106
Współczynnik tłumienia dysku 2
c2 = 0.0026
Moment bezwładności dysku1:
J1 = 0.0110
Współczynnik tłumienia dysku1:
c1 = 0.0088
Współczynnik spręzystości1:
k1 = 1.2218
Współczynnik sprężystości2:
k2 = 0
Macierz
A =
0 1.0000 0 0
-111.5093 -0.7990 111.5093 0
0 0 0 1.0000
115.2758 0 115.2758 -0.2469
B =
0
91.2659
0
0
C =
1 0 0 0
**************************Zadanie indywidualne**************************
Moment bezwładności(Zada indywidualne)J2
J2 = 0.0076
Współczynnik tłumienia dysku(Zada indywidualne) 2
c2 = 0.0026
Moment bezwładności dysku1(Zada indywidualne):
J1 = 0.0084
Współczynnik tłumienia dysku1:
c1 = 0.0088
Współczynnik spręzystości1(Zada indywidualne):
k1 = 2.4910
Współczynnik sprężystości2(Zada indywidualne):
k2 = 2.3980
Macierz(Zada indywidualne)
A =
0 1.0000 0 0
-298.1805 -1.0480 298.1805 0
0 0 0 1.0000
326.1325 0 640.0890 -0.3426
B =
0
119.7031
0
0
Transmitancja operatorowa dla kodera 1
0.0076s^3 0.0026s^2 2.4910s^1 4.7960
G1(s) = --------------------------------------------------------
0.0001s^4 0.0001s^3 0.1092s^2 5.9734
Transmitancja operatorowa dla kodera 2
2.4910
G2(s) = -----------------------------------------------------
0.0001s^4 0.0001s^3 0.1092s^2 5.9734
Odpowiedz układu w systemie otwartym na wymuszenie skokowe wraz z układem symulacyjnym .
Odpowiedz układu w systemie z sprzężeniem zwrotnym na wymuszenie skokowe wraz z układem symulacyjnym .
Zadanie indywidualne układy symulacyjne tak samo jak poprzednio
Odpowiedz skokowa układu otwartego :
Odpowiedz skokowa układu zamkniętego: