Podstawy inżynierii sterowania Ćwiczenia laboratoryjne Laboratorium nr 4: Układ sterowania silnika obcowzbudnego prądu stałego z regulatorem PID 1. Wprowadzenie Przedmiotem rozważań jest układ automatycznej regulacji (UAR) o strukturze przedstawionej na poniższym rysunku: Rys.1. Schemat układu regulacji zamkniętej. Jest to klasyczny układ sterowania o szeregowym połączeniu obiekt - regulator w torze głównym systemu. Układ o takiej strukturze zapewnia stabilne sterowanie obiektem, pod warunkiem poprawnego dobrania typu i współczynników wzmocnienia regulatora. Omawiany układ będzie zawierał: - Regulator PID, którego strukturę przybliża schemat blokowy:
Rys. 2. Schemat blokowy regulatora Zawiera on współczynniki wzmocnień części regulatora Kp (proporcjonalnej), Ti (całkującej) oraz Td (różniczkującej). - Silnik jako obiekt regulacji. Przykładowym obiektem będzie silnik obcowzbudny prądu stałego o następujących danych znamionowych i stałych: Moc znamionowa: P N =22kW, Napięcie zasilania nominalne: U N =440V, Prąd znamionowy pracy: I N =56,2A, Znamionowy moment obrotowy: M N =120Nm, Stała napięciowa silnika: K e =2,62Vs/rad, Stała momentowa silnika: K m =2,62Nm/A, Rezystancja twornika (wirnika): R t =0,465Ω, Indukcyjność twornika: L t =0,015H, Moment bezwładności twornika: J b =2,7kgm 2 /s 2, Znamionowa prędkość obrotowa: n N =1500obr/min, Znamionowa pulsacja: ω N =157rad/s Założono stały strumień wzbudzenia. Obecność w modelu znamionowych wartości napięcia i prądu magnesującego jest wyrażona poprzez wartości stałych: elektrycznej K e oraz mechanicznej K m. Schemat blokowy silnika wykonany w oknie edycyjnym programu Simulink przedstawia się następująco:
gdzie:
2. Silnik solo wymuszenie skokowe Aby zbadać dynamikę samego silnika, jako obiektu regulacji, należy powyższy model silnika utworzyć w pakiecie MATLAB/Simulink i zapisać go w pliku o nazwie mg.mdl. Utworzony schemat realizuje program Matlaba o nazwie silnik_solo.m: %Obiekt regulacji-silnik clear clc Rt = 0.465; Lt = 0.015; Km = 2.62; Jb = 2.7; ster = [0.0, 1.0, 0.0 %pierwsza kolumna - czas 0.5, 1.0, 0.0 %druga kolumna - zasilanie 1.0, 1.0, 0.0 %trzecia kolumna - obciążenie 1.5, 1.0, 0.0 2.0, 1.0, 0.0 2.5, 1.0, 0.0 3.0, 1.0, 0.0 3.5, 1.0, 0.0]; [t,x,y]=sim('mg', 1.5, [], ster); %zainicjowanie symulacji plot(ster(:,1), ster(:,2), '.-', t, y); grid axis([0, 1.5, -0.2, 1.8]); title('przebiegi w silniku - wymuszenie skokowe') xlabel('czas [s]') ylabel('prad obroty obciazenie') X=[0.60, 0.60, 0.30]; %opis wykresów Y=[1.05, 0.45, 0.70] text(x(1), Y(1), 'wymuszenie skokowe') text(x(2), Y(2), 'predkosc silnika') text(x(3), Y(3), 'prad silnika')
Rys.3. Przebiegi napięcia zasilającego, prądu silnika, prędkości silnika w układzie otwartym wymuszenie skokowe. W zapisanym powyżej programie zrealizowano nie tylko samą symulację, ale również opisy uzyskanych wykresów. Należy zauważyć, że wymuszenia, czyli sygnały sterujące, związane z portami wejściowymi In1 i In2, zapisane zostały w programie w formie macierzy ster. Macierz ta jest jednym z argumentów głównej procedury symulacyjnej sim. Dzięki takiej formie zapisu wymuszenia, zachodzi możliwość łatwej programowej realizacji różnych prostych sygnałów zadających. W omawianym przykładzie w macierzy ster zapisano, że zasilanie =1 oraz obciążenie =0. 3. Silnik w UAR z regulatorem PID Rysunek 4 przedstawia wykonany w oknie edycyjnym Simulinka schemat blokowy zamkniętego układu sterowania prędkością silnika. Schemat ten, zapisany został pod nazwą uar.mdl. Aby schemat był bardziej czytelny, obiekt regulacji - silnik z pliku mg.mdl, umieszczono w bloku subsystem. Wyjścia tego bloku stanowią: prąd (Out1) oraz prędkość obrotowa wału silnika (Out2). Ustawiona wartość Step1: Step time=0.001.
Rys.4. Schemat blokowy zamkniętego układu sterowania prędkością silnika. Jako regulator, zastosowano dostępny w bibliotekach Simulink blok regulatora PID Controller, w którego okienku dialogowym wpisano symbole współczynników Kp, Ti, Td. W układzie na rys.4 występują dwa bloki generujące sygnał wejściowy. Step1 wytwarza skok jednostkowy, który jest sygnałem sterującym w UAR prędkości. Blok Step2 przewidziany został do generacji sygnału symulującego mechaniczne obciążenie silnika, jednak zgodnie z uczynionym na wstępie założeniem, wszystkie badania symulacyjne zostaną przeprowadzone w warunkach idealnego biegu jałowego. Oznacza to, że sygnał wejściowy bloku Step2 będzie równy zero. Warto zapamiętać, że zachodzi tu jednak możliwość łatwego rozszerzenia programu badań symulacyjnych o przypadki uwzględniające niezerową wartość obciążenia. 4. CEL ĆWICZENIA Przykładowe badania symulacyjne zamkniętego układu sterowania zostaną przeprowadzone w aspekcie doboru nastaw regulatora PID. Problem doboru nastaw regulatora PID sprowadzić można do określenia wartości jego współczynników: Kp, Ti, Td. Jest to, w sposób oczywisty, związane ze strukturą regulatora. ZADANIE NR 1. Najprostszym przypadkiem jest układ UAR z regulatorem proporcjonalnym (P). Program uarp.m demonstruje działanie takiego układu dla trzech arbitralnie wybranych wartości współczynnika Kp. %Badanie UAR z regulatorem P clear clf; Rt = 0.465; Lt = 0.015; Km = 2.62; Jb = 2.7; Ti = 0;
Td = 0; hold on; for Kp = [?,?,?]; %przyjęte na próbę trzy wartości współczynnika Kp [t,x,y] = sim('uar',1); plot (t,y(:,2)); end axis ([0,1,0,1.5]); title('uar predkosci - regulator P'); xlabel ('t[s]') ylabel('predkosc obrotowa') grid X=[0.52, 0.52, 0.52]; Y=[0.46,0.7, 0.93]; text(x(1),y(1),'k=?') text(x(2),y(2),'k=?') text(x(3),y(3),'k=?') hold off Proszę uruchomić program uarp.m i dokonać analizy otrzymanego wykresu, na którym pokazano trzy otrzymane przebiegi prędkości silnika. Należy zwrócić uwagę na dosyć znaczną różnicę pomiędzy wartością zadaną (skok jednostkowy), a prędkością rzeczywistą silnika. Proszę również wskazać zależność pomiędzy trzema rozpatrywanymi wartościami Kp, a zmniejszaniem tej różnicy bądź też wystąpieniem przeregulowania prędkości. Oceniając wizualnie wyniki symulacji, proszę dokonać wyboru takiej wartości współczynnika wzmocnienia regulatora P, która zapewnia najkorzystniejszy, zdaniem oceniającego, przebieg prędkości silnika. ZADANIE NR 2. Dalsze badania symulacyjne dotyczą UAR prędkości silnika z regulatorem proporcjonalnocałkującym (PI): %Badanie UAR z regulatorem PI clear clf; Rt = 0.465; Lt = 0.015; Km = 2.62; Jb = 2.7; Kp =???; Td = 0; hold on; for Ti = [?,?,?]; %przyjęte na próbę trzy wartości współczynnika Ti [t,x,y] = sim('uar',1);
plot (t,y(:,2)); end axis ([0,1,0,1.5]); title('uar predkosci - regulator PI'); xlabel ('t[s]') ylabel('predkosc obrotowa') grid X=[0.52, 0.38, 0.23]; Y=[0.80,1.05, 1.4]; text(x(1),y(1),'ti=?') text(x(2),y(2),'ti=?') text(x(3),y(3),'ti=?') hold off Proszę uruchomić powyższy program uarpi.m i w miejsce Kp zaznaczone na żółto wpisać wartość współczynnika wzmocnienia wyselekcjonowaną w zadaniu nr 1. Dalsze obliczenia prowadzone są dla trzech, również arbitralnie dobranych, wartości współczynnika części całkującej regulatora Ti. Należy ponownie przeanalizować otrzymane przebiegi prędkości silnika, zaznaczając na wstępie co dało dołączenie do regulatora części całkującej. Po dokonaniu oceny uzyskanych przebiegów, należy wybrać najkorzystniejszy (uzasadniając odpowiedź warto wziąć pod uwagę sposób ustalania się prędkości). ZADANIE NR 3. Do tej pory, posługując się metodą symulacji komputerowej, określone zostały takie wartości współczynników Kp i Ti, które zapewniają pożądany kształt przebiegu prędkości silnika prądu stałego. Wprowadzamy do istniejącego regulatora PI część różniczkującą, czyli konstruujemy regulator PID. Mając na uwadze informacje na temat regulatorów ciągłym, proszę odpowiedzieć na pytanie: Jak wprowadzenie regulatora wyposażonego w część D wpłynie na UAR? Co wyeliminuje? Program do obliczeń i symulacji UAR z regulatorem PID przedstawiono poniżej. Działając zgodnie z zastosowanym już wcześniej schematem, należy uruchomić plik uarpid.m, wpisać w miejsce znaków zapytania ustalone wartości Kp i Ti, a następnie przeprowadzić badania dla trzech, próbnie dobranych, wartości współczynnika wzmocnienia części różniczkującej regulatora Td.
%Badanie UAR z regulatorem PID clear clf; Rt = 0.465; Lt = 0.015; Km = 2.62; Jb = 2.7; Kp =???; Ti =???; hold on for Td = [?,?,?]; %przyjęte na próbę trzy wartości współczynnika Td [t,x,y] = sim('uar',1); plot (t,y(:,2)); end axis ([0,1,0,1.5]); title('uar predkosci - regulator PID'); xlabel ('t[s]') ylabel('predkosc obrotowa') grid X=[0.07, 0.21, 0.35]; Y=[0.8,0.8, 0.8]; text(x(1),y(1),'td=?') text(x(2),y(2),'td=?') text(x(3),y(3),'td=?') hold off Po dokonaniu oceny otrzymanych wykresów, należy wybrać najkorzystniejszy przebieg prędkości (odpowiedź proszę uzasadnić). ZADANIE NR 4. Powracając do UAR z regulatorem PID, którego parametry zostały już ręcznie dobrane, raz jeszcze przytoczony zostanie przebieg prędkości oraz nie zaprezentowany poprzednio przebieg prądu. W tym celu proszę tworzyć program uarpid2.m raz uzupełnić trzymane w wyniku zadań wartości Kp, Ti oraz Td. %Badanie UAR z regulatorem PID clear clf; Rt = 0.465; Lt = 0.015; Km = 2.62; Jb = 2.7;
Kp =???; Ti =???; Td =???; hold on [t,x,y]=sim('uar',1); plot(t,y(:,1),t,y(:,2)*10); title('silnik w UAR prędkości'); xlabel ('t[s]') ylabel('predkosc prad') text(0.42,10.4,'predkosc*10') text(0.42, 0.7,'prad') grid hold off Proszę skomentować uzyskane wyniki. Sprawozdania proszę wysłać drogą elektroniczną na adres osoby prowadzącej zajęcia najpóźniej do dnia poprzedzającego kolejne ćwiczenia laboratoryjne.