ENTKOPPLUNG_QUANSER.M

Entwurf eines Entkopplungsreglers für das Modell des 2DOF-Hubschraubers von Quanser

Entkopplung_Quanser.m — Objective-C source code, 1 kB (1.472 bytes)

Dateiinhalt

%
% Lineares Zustandsmodell des 2-DOF Hubschraubermodells von Quanser
%
%       
L1  = 0.203;     % [m]
Kfn = 0.8722;    % [N/V]
Ktg = 0.01;      % [Nm/V]
Ktn = 0.02;      % [Nm/V]
Kfg = 0.4214;    % [N/V]
I_N = 0.03071;   % [kgm**2]
I_G = 0.03071;   % [kgm**2]
%
% Kontinuierliches Zustandsmodell
%
A = [0 0 1 0; 0 0 0 1; 0 0 0 0; 0 0 0 0]
%
B = [ 0             0 
      0             0
      L1*Kfn/I_N    -Ktg/I_N
      -Ktn/I_G      L1*Kfg/I_G]
%
C = [1 0 0 0; 0 1 0 0]
%
D = [0 0 ; 0 0]
%
sys_k = ss(A,B,C,D)
%
step(sys_k) % Sprungantwort

tf(sys_k)   % �bertragungsfunktionen

Dtilde = [C(1,1:4)*A*B;C(2,1:4)*A*B]   % Entkopplungsmatrix

Atilde = [C(1,1:4)*A*A;C(2,1:4)*A*A]

Abar = [C(1,1:4)
        C(1,1:4)*A
        C(2,1:4)
        C(2,1:4)*A]
 
 Kbar = [110 21 0 0     % Pole bei -10 und -11
        0 0 156 25]     % Pole bei -12 und -13
    
 Kbar = [22.75 7.8 0 0  % Pole bei -3.9 +- 2.75i
        0 0 9.73 4.8]   % Pole bei -2.4 +-2i

K = inv(Dtilde)*(Atilde+Kbar*Abar) % Entkopplung mit Polvorgabe

Ag = A - B*K;
EW = eig(Ag)    % Eigenwerte des Regelkreises

V = eye(2,2);
V(1,1) = 22.75;     % Vorfiltermatrix
% V(1,1) = 110;
V(2,2) = 9.73
%V(2,2) = 156

Kreis = ss(Ag,B*inv(Dtilde)*V,C,D);
tf(Kreis)
figure(1)
step(Kreis,2)   % Sprungantworten des Regelkreises
%
figure(2)
Stellgroesse = ss(Ag,B*inv(Dtilde)*V,K,D);
step(Stellgroesse,2)    % zugeh�rige Stellgr��en

title('Stellgr��en')