Wydział Elektryczny, AiR, Rok II, wt. 17.05 |
LABORATORIUM Z PROGRAMOWANIA W ŚRODOWISKU MATLAB | Data wykonania sprawozdania: 16.05.2010 |
---|---|---|
Monika Kutz 165653 |
Temat: Modelowanie prostych układów regulacji – część I | Ocena: |
Model obcowzbudnego silnika prądu stałego.
Na podstawie poniższych równań różniczkowych zamodelowano w SIMULINKu obcowzbudny silnik prądu stałego:
gdzie:
U – napięcie zasilania silnika;
- moment obciążenia silnika;
ω – prędkość kątowa wału silnika;
- moment elektromagnetyczny silnika;
i – prąd twornika;
R – rezystancja uzwojenia stojana;
L – indukcyjność uzwojenia stojana;
k – stała silnika;
J – moment bezwładności silnika sprowadzony na wirnik elektryczny.
Kolejne kroki przy tworzeniu modelu silnika obcowzbudnego:
Dodano dwa bloki integratora, jeden do scałkowania pochodnej prądu, drugi
prędkości.
Na podstawie 1 równania poprowadzono z wyjścia pierwszego integratora sygnał do
bloku Gain o wartości R i następnie do sumatora1 ze znakiem „-”. Z wyjścia drugiego integratora poprowadzono sygnał do Gaina o wartości k i następnie do sumatora2 ze znakiem „-”. Do sumatora2 wprowadzono także sygnał U (wymuszenie skokowe) a wyjście z tego sumatora poprowadzono na wejście sumatora1. Uzyskany sygnał poprowadzono do Gaina o wartości 1/L i w ten sposób uzyskano sygnał będący pochodną wartości prądu twornika.
Na podstawie 2 równania wyjście 1 integratora poprowadzono na Gain o wartości k i
następnie do sumatora3, do wejścia ujemnego wprowadzono wartość momentu obciążenia (wymuszenie skokowe). Wyjście sumatora przemnożone przez 1/J daje pochodną prędkości wału silnika.
Rys. 1: Model obcowzbudnego silnika prądu stałego
Skrypt z parametrami modelu:
clc, clear all;
%parametry układu
Un=440; %znamionowe napięcie zasilania;
Mn=4300; %znamionowy moment silnika;
R=0.029;
L=2.7*10.^-3;
k=9.363;
J=46;
W wyniku przeprowadzonej symulacji uzyskujemy charakterystyki obcowzbudnego silnika prądu stałego: charakterystykę prądu twornika, momentu elektromagnetycznego i prędkości kątowej wału silnika w funkcji czasu.
Utworzenie podsystemu.
Podsystem utworzono przez zaznaczenie wszystkich bloczków oprócz bloczków wymuszeń oraz bloczków obserwacji sygnałów wyjściowych (scope) i zapisu wartości do workspace (rys.2). Tworząc podsystem w ten sposób podsystem będzie miał wszystkie potrzebne wejścia i wyjścia (rys. 3).
Rys. 2: Tworzenie podsystemu
Rys. 3: Podsystem
Rys. 4: Model silnika obcowzbudnego prądu stałego z podsystemem
Badanie układu otwartego.
Skrypt do tworzenia wykresów:
clc, clear all;
obco; %załadowanie parametrów obiektu;
sim('obcowzbudny'); %uruchomienie symulacji;
A=zeros(length(t),3); %utworzenie macierzy zerowych
B=zeros(length(t),3);
C=zeros(length(t),3);
D=zeros(length(t),3);
A=[nap, prad, mob]; %przypisanie macierzom wartości potrzebnych
B=[nap, pred, mob]; %do kolejnych wykresów
C=[nap, mel, mob];
D=[prad, pred, mel];
CE=cell(1,4); %utworzenie macierzy komórkowej
CE{1,1}=A; %przypisanie kolejnym komórkom odpowiedniej
CE{1,2}=B; %macierzy
CE{1,3}=C;
CE{1,4}=D;
E={'1.bmp','2.bmp','3.bmp','4.bmp'};
F={'U[V]','i[A]','Mo[Nm]';'U[V]','omega[rad/s]','Mo[Nm]';'U[V]','Me[Nm]',...
'Mo[Nm]';'i[A]','omega[rad/s]','Me[Nm]'};
%tworzenie wykresów
for i=1:4
figure(i);
Z=CE{1,i};
for j=1:3
subplot(3,1,j);
plot(t,Z(:,j));
Xlabel('t[s]');
Ylabel(F{i,j});
end;
saveas(gcf,E{1,i});
end;
Rys. 5: wykres napięcia zasilania, prądu twornika i momentu obciążenia silnika w funkcji czasu
Rys. 6: wykres napięcia zasilania, prędkości kątowej wału silnika i momentu obciążenia silnika w funkcji czasu
Rys. 7: wykres napięcia zasilania, momentu elektromagnetycznego i momentu obciążenia silnika w funkcji czasu
Rys. 8: wykres prądu twornika, prędkości kątowej wału silnika i momentu elektromagnetycznego w funkcji czasu
Badanie układu zamkniętego z regulacją prędkości za pomocą regulatora PI
Rys. 9: Model silnika obcowzbudnego prądu stałego z regulacją prędkości za pomocą regulatora PI
Parametry regulatora dobrano doświadczalnie poprzez zmianę najpierw parametru wzmocnienia a następnie parametru czasu zdwojenia. Parametry zmieniano w pliku skryptu, w którym także poleceniem sim(‘nazwa_modelu’) przeprowadzano symulacje.
Kod skryptu:
clc, clear all;
%parametry ukladu
Un=440; %znamionowe napiecie zasilania;
Mn=4300; %zanmionowy moment silnika;
R=0.029;
L=2.7*10.^-3;
k=9.363;
J=46;
wz=50;
k=3; %ostateczne parametry regulatora
ki=17; %PI
sim('obcowzbudny');
figure(1);
subplot(3,1,1);
plot(t,omegaz,'b',t,pred,'r'); grid on;
xlabel('t[s]');
ylabel('omega[rad/s]');
legend('omagaz','pred');
subplot(3,1,2);
plot(t,prad,'g'); grid on;
xlabel('t[s]');
ylabel('i[A]');
subplot(3,1,3);
plot(t,mob,'b',t,mel,'r'); grid on;
legend('mob','mel');
xlabel('t[s]');
ylabel('Mo[Nm], Me[Nm]');
figure(2);
subplot(2,1,1);
plot(t,ep); grid on;
xlabel('t[s]');
ylabel('ep');
subplot(2,1,2);
plot(t,ei); grid on;
xlabel('t[s]');
ylabel('ei');
Rys. 10: Przebiegi prędkości kątowej wału silnika, prądu twornika, momentu obciążenia i momentu elektromagnetycznego silnika
Rys. 11: Przebiegi sygnału części proporcjonalnej i części całkującej regulatora