Akademia Górniczo-Hutnicza
im. Stanisława Staszica w Krakowie
Wydział Inżynierii Mechanicznej i Robotyki
Katedra Automatyzacji Procesów
Sterowanie dyskretne
Projekt
Układ regulacji położenia taśmy produkcyjnej napędzanej obcowzbudnym silnikiem prądu stałego
Opracowali:
Maciej Kołodyński
Jakub Kleszcz
Temat projektu:
Tematem naszego projektu jest układ regulacji położenia taśmy produkcyjnej napędzanej obcowzbudnym silnikiem prądu stałego o zadanych parametrach. Badane urządzenie to uniwersalna taśma produkcyjna znajdująca się w fabryce. Zasada działania jest następująca: na taśmę wrzucany jest towar wytworzony w fabryce. Taśma wraz z towarem przemieszcza się o odpowiednią odległość i zatrzymuje, gdzie dokonywana jest końcowa kontrola jakości wytworzonego produktu. Po odpowiednim czasie (przeznaczonym na skontrolowanie przedmiotu) taśma ponownie rusza, aż na stanowisku pojawi się kolejny produkt.
Dane silnika:
L = 0.3H - indukcyjność cewki wirnika
R = 0.3Ω - oporność cewki wirnika
J = 0.1 kg*m^2 - bezwładność silnika
D = 1 Nms/rad - tarcie wiskotyczne w łożyskach silnika
km = 1 Nm/A - stała mechaniczna
ke = 10 vs/rad - stała elektryczna
P = 400W - moc silnika
r = 0.1m - promień bębna
m = 100kg - masa towaru
k = 650000 N/m - sprężystość taśmy (materiał: skóra)
B = 10 Ns/m - tarcie wiskotyczne pomiędzy taśmą a podłożem
Model układu
Najpierw zajmijmy się zaprojektowaniem naszego układu w Simulinku. Naszą wielkością wejściową będzie U, czyli napięcie zasilające, a wyjściową przemieszczenie taśmy 𝑥2.
Potrzebne nam będą następujące równania:
Uz=UR+UL+E,
Uz − napiecie zasilania
UR − napiecie na rezystancji
UL − napiecie cewce
E - siła elektromotoryczna
Możemy je jednak rozpisać:
$$\omega = \frac{d\theta}{\text{dt}}$$
$$\theta = \frac{x1}{r}$$
$$\omega = \frac{1}{r}*\frac{dx1}{\text{dt}}$$
ω − predkosc katowa silnika
θ − kat o jaki obroci sie beben silnika
x1 − droga na bebnie
Wartości te wstawiamy do równania
$$U_{z} = R*i + L\frac{\text{di}}{\text{dt}} + k_{e}*\frac{1}{r}*\frac{dx1}{\text{dt}}$$
Robimy przekształcenie Laplace'a
$$U_{z} = R*I\left( s \right) + L*s*I\left( s \right) + \ \frac{k_{e}}{r}*s*X1(s)$$
Wyprowadzamy równanie:
$$I\left( s \right) = \frac{U_{z} - \frac{k_{e}}{r}*s*X1(s)}{L*s + R}$$
Następnie tworzymy równanie ruchu dla bębna
$$k_{m}*i = \frac{J}{r\ }*\frac{d^{2\ }x1}{dt^{2}} + \frac{D}{r}*\frac{\text{dx}1}{\text{dt}} - k\left( x2 - x1 \right)*r$$
gdzie
Ms = kmi
Podobnie jak wcześniej dokonujemy przekształcenia Laplace'a i otrzymujemy
$$X1\left( s \right) = \frac{\frac{k_{m}}{r}*I\left( s \right) + k*X2(s)}{\frac{J}{r^{2}}*s^{2} + \ \frac{D}{r^{2}}*s + k}$$
Ostatnie równanie to równanie ruchu dla obciążenia, czyli dla masy towaru przewożonego na taśmie
$$m*\frac{d^{2}x2}{dt^{2}} = - k\left( x2 - x1 \right) - \text{mg}\mu$$
Próby wyregulowania układu z uwzględnieniem siły tarcia zakończyły się fiaskiem. Dlatego tarcie ślizgowe zastępujemy tarciem wiskotycznym. I po raz kolejny dokonujemy transformaty Laplace'a i otrzymujemy
$$X2\left( s \right) = \frac{k*X1\left( s \right)}{ms^{2} + \text{Bs} + k}$$
Na mocy powyższych równań tworzymy w simulinku model naszego układu, który przedstawia się następująco
Do wyregulowania układu potrzebujemy jednak transmitancji zastępczej, którą następnie należy zdyskretyzować. Nie będziemy tego robić ręcznie. Posłużymy się programem Matlab.
clc;
clear all;
%%Parametry
V=5;
L=0.3;
R=0.3;
J=0.1;
D=1;
km=1;
ke=10;
P=400;
r=0.1;
m=100;
k=650000;
B=10;
%Transmitancje poszczegolnych bloczkow
G1=tf([km/r],[L R]);
G1;
G2=tf([1],[J/r^2 D/r^2 k]);
G2;
G3=tf([k],[m B k])
G3;
G4=tf([k],[1]);
G4;
G5=tf([ke/r 0],[1]);
G5;
G6=1/G3
%Transmitancja zastepcza
G23=series(G2,G3);
G23s=feedback(G23,G4,1);
Gg=series(G1,G23s);
Gp=series(G5,G6);
Gz=feedback(Gg,Gp,-1)
%Transmitancja dyskretna
Gzd=c2d(Gz,0.01,'zoh')
[ld,md]=tfdata(Gzd,'v');
Otrzymana transmitancja zastępcza:
Gz =
4.225e12
---------------------------------------------------------------------
1.95e08 s^5 + 2.164e09 s^4 + 1.401e13 s^3 + 2.789e13 s^2 + 4.364e14 s
Oraz dyskretna:
Gzd =
1.5e-08 z^4 + 2.634e-07 z^3 + 5.385e-07 z^2 + 2.515e-07 z + 1.389e-08
---------------------------------------------------------------------
z^5 - 1.267 z^4 - 1.221 z^3 + 1.36 z^2 + 1.023 z - 0.8949
Próby regulacji układu
1) REGULATOR PID
Schemat w simulinku
PORÓWNANIE POŁOŻENIA ZADANEGO I RZECZYWISTEGO
CZAS [s]
WYKRES PRĘDKOŚCI TAŚMY
CZAS [s]
WYKRES PRZYSPIESZENIA
CZAS [S]
Pierwszym zastosowanym przez nas regulatorem był regulator PID. Mamy kilka sposobów dobrania nastaw regulatora. Na początku zastosowaliśmy metodę Zieglera-Nicholsa. Nie przyniosła ona jednak pożądanych skutków. Próbowaliśmy również zastosować gotowy bloczek PID i dobrać nastawy za pomocą funkcji Auto-tune dostępnej w simulinku. Metoda okazała się jednak jeszcze gorsza niż dobieranie parametrów metodą Zieglera-Nicholsa. Dlatego też byliśmy zmuszeni dobrać nastawy regulatorów doświadczalnie. Oto dobrane parametry:
P = 100
I = 0.02
D = 1
Efekt można zaobserwować na powyższych wykresach. Jesteśmy zadowoleni co do regulacji położenia. Zadane położenie osiągamy bardzo szybko i niemalże bez problemów. Gorzej jest jednak z prędkościami i przyspieszeniami. Na wykresie prędkości zauważamy nadmierne oscylacje. Prędkość cały czas "skacze" i nie osiąga danej wartości.
2) Regulator czasooptymalny
Schemat w simulinku
PORÓWNANIE POŁOŻENIA ZADANEGO I RZECZYWISTEGO
CZAS [S]
WYKRES PRĘDKOŚCI
WYKRES PRZYSPIESZENIA
Następnie zbadaliśmy zachowanie układu przy zastosowaniu regulatora czasooptymalnego. Widać, że położenie reguluje się trochę wolniej ni przy zastosowaniu regulatora PID. Ponadto w momencie zatrzymania taśmy produkcyjnej zauważamy minimalny uchyb, którego nie było w przypadku regulatora PID. O wiele lepiej wygląda jednak wykres prędkości i przyspieszenia. Tym razem nie oscyluje on w nieskończoność. W momencie ruszenia taśmy prędkość ustala się po około 5 sekundach, a w momencie zatrzymania taśmy jeszcze szybciej - potrzeba około 3 sekundy. Za tym idzie uzyskanie o wiele lepszych przyspieszeń taśmy.
3) Odporny układ regulacji
PORÓWNANIE POŁOŻENIA ZADANEGO I RZECZYWISTEGO
CZAS [s]
WYKRES PRĘDKOŚCI
CZAS [s]
WYKRES PRZYSPIESZENIA
CZAS [s]
Odporny układ regulacji to ostatni z regulatorów, którego działanie postanowiliśmy przetestować. Jeśli chodzi o położenie, to czas regulacji jest nieco dłuższy w porównaniu poprzednimi dwoma układami. Ponadto w położeniu ustalonym (kiedy taśma powinna się zatrzymać) zauważamy lekkie zakłócenia. Niekontrolowany ruch układu w tym położeniu sprawia, iż nie jesteśmy zadowoleni z wyników działania takiego regulatora. Układ zachowuje się prawidłowo w momencie, gdy taśma jest w ruchu. Prędkość ustala sie szybko i układ pracuje praktycznie bez zakłóceń.
WNIOSKI
Przedmiotem naszych badań był układ regulacji położenia taśmy produkcyjnej. Zbadaliśmy działanie trzech regulatorów zaprojektowanych za pomocą programu Simulink.
Pierwszym z zastosowanych regulatorów był regulator PID. Z wyregulowaniem położenia poradził sobie znakomicie, jednak dopiero po dobraniu jego parametrów doświadczalnie. Parametry dobrane metodą Zieglera-Nicholsa nie dały pożądanego skutku. Podobnie było przy zastosowaniu funkcji Auto Tune. O wiele gorzej wypadło jednak uregulowanie prędkości. Na wykresie zauważamy nadmierne oscylacje, wartość prędkości nie ulega regulacji.
Odporny układ regulacji wypadł lepiej niż regulator PID. Prędkość ustala się bardzo i nie zauważamy tak wielkich oscylacji. Problem jednak pojawia się, kiedy taśma się zatrzymuje. Zauważamy niekontrolowany skok prędkości i przyspieszenia, co minimalnie wpływa na położenie (nagłe odchylenie w jedną i drugą stronę). Ze względu na to zjawisko efekt działania regulatora nie jest satysfakcjonujący.
Podczas naszych badań zdecydowanie najlepiej wypadł regulator czasooptymalny. Prędkość ustala się co prawda wolniej, niż w przypadku układu odpornego. Nie ma jednak niekontrolowanych ruchów taśmy. Działanie regulatora czasooptymalnego uznajemy za najbardziej satysfakcjonujące.