Numer ćw.: | Nazwa wydziału: | Ocena: |
---|---|---|
2 | Wydział Inżynierii Elektrycznej i Komputerowej | |
Grupa stud. / grupa lab. | ||
MDM A | Nazwa przedmiotu: | |
Data oddania sprawozdania: | Inżynieria sterowania | |
10.06.2013 | Szyndler Agnieszka | Podpis: |
Schemat układu:
Transmitancje operatorowe:
Parametry systemu sterowania:
k0 = 1.35
k1 = 0.45
k2 = 0.36
k3 = 3.5
k4 = 2.7
T1 = 1.9
T2 = 1.2
T3 = 2.3
Współczynnik k1 wybieramy z warunku aperiodyczności przebiegu czasowego zmiennej Y.
Jakopoczątkowąwartośćk1 ustalamy równą 1.
Metoda Runge-Kutty numer 4:
Wyznaczanie równań dynamiki układu:
x1 = W1 • x6 x1 = k1 • x6
x2 = W2 • x6 $x_{2} = \frac{k_{2}}{s} \bullet x_{6}$ s • x2 = k2 • x6
x3 = W3 • x6 $x_{3} = \frac{k_{3} \bullet s}{T_{3} \bullet s + 1} \bullet x_{6}$ (T3•s+1) • x3 = k3 • s • x6
x4 = x1 + x2 + x3 x4 = k1 • x6 + x2 + x3x4 = k1 • (x−k4•Y) + x2 + x3
x5 = W5 • Y x5 = k4 • Y
x6 = x − x5 x6 = x − k4 • Y
Y = W4 • x4 $Y = \frac{k_{0}}{\left( T_{1} \bullet s + 1 \right)\left( T_{2} \bullet s + 1 \right)} \bullet x_{4}$ (T1•s+1)(T2•s+1) • Y = k0 • x4
OdwrotnatransformataLaplace’a:
$$s = \frac{d}{\text{dt}}$$
$\frac{dx_{2}}{\text{dt}} = k_{2} \bullet x_{6}$
$T_{3} \bullet \frac{dx_{3}}{\text{dt}} + x_{3} = k_{3} \bullet \frac{dx_{6}}{\text{dt}}$
$T_{1} \bullet T_{2} \bullet \frac{d^{2}Y}{\text{dt}^{2}} + \left( T_{1} + T_{2} \right) \bullet \frac{\text{dY}}{\text{dt}} + Y = k_{0} \bullet x_{4}$
$\frac{\text{dY}}{\text{dt}} = y_{1}$
$\frac{dx_{2}}{\text{dt}} = k_{2} \bullet \left( x - k_{4} \bullet Y \right)$
$\frac{dx_{3}}{\text{dt}} = \frac{k_{3} \bullet \left( - k_{4} \bullet y_{1} \right) - x_{3}}{T_{3}}$
$\frac{dy_{1}}{\text{dt}} = \frac{k_{0} \bullet \left\lbrack k_{1} \bullet \left( x - k_{4} \bullet Y \right) + x_{2} + x_{3} \right\rbrack - Y - \left( T_{1} + T_{2} \right) \bullet y_{1}}{T_{1} \bullet T_{2}}$
$\frac{\text{dY}}{\text{dt}} = y_{1}$
Kod programu w środowisku Matlab:
Plikgłówny:
clc
clear all
global n K0 K1 K2 K3 K4 T1 T2 T3
format long
tspan=[0,100]
n=200;
K0=1.35;
K1=0.45;
K2=0.36;
K3=3.5;
K4=2.7;
T1=1.9;
T2=1.2;
T3=2.3;
x2=0;
x3=0;
Y=0;
y1=0;
y0=[x2,x3,Y,y1]
[t, y] = rk4(@f1, tspan, y0)
x2=y(1,:);
x3=y(2,:);
Y=y(3,:);
y1=y(4,:);
plot(t, Y);
grid on
xlabel('t [s]')
ylabel('Y')
title('Y(t)')
Pliki funkcyjne:
function[dy] = f1(t, y)
global K0 K1 K2 K3 K4 T1 T2 T3
dy=zeros(4,1); %macierz zerowa 4 wiersze 1 kolumna
dy(1)=K2*(1-K4*y(3))
dy(2)=(K3*(-K4*y(4))-y(2))/T3
dy(3)=y(4)
dy(4)=(K0*(K1*(1-K4*y(3))+y(1)+y(2))-y(3)-(T1+T2)*y(4))/(T1*T2)
Plik funkcyjny z 4 metodą Rungego-Kutty :
function [t y] = rk4(f1, tspan, y0)
global n
b = tspan(2);
a = tspan(1);
h = (b-a)/n;
t = (a:h:b);
y(:,1) = y0;
for i = 1 : n
i
t(i)
k1 = h * f1(t(i), y(:,i))
k2 = h * f1(t(i) + h/3, y(:,i) + k1/3)
k3 = h * f1(t(i) + 2*h/3, y(:,i)-k1/3 +k2)
k4 = h * f1(t(i) + h, y(:,i) + k1 -k2 +k3)
y(:,i+1) = y(:,i) + (k1+3*k2+3*k3+k4)/8
end
Otrzymany wykres: