Лістинг програми
clc,clear all,close all,format long e,echo off
%State vector: X=[u,w,q,theta,h,Omega]';
%Control: [elevator,throttle]';
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%load('Navion_240')
Alon_240=[-0.10266 0.14233 0.36903 -9.8172 5.4016e-006 0.015386;
-0.3078 -2.3718 64.917 0.054944 0.00096514 0;
-0.0073837 -0.18732 -2.3646 0 1.504e-018 0.00095744;
0 0 1 0 0 0;
-0.0055967 -0.99998 0 66.666 0 0;
35.109 -0.1965 0 0 -0.013966 -13.026];
Blon_240=[-0.029327 0;-12.534 0;-16.817 0;0 0;0 0;0 396.35];
Clon_240=[0.99998 -0.0055969 0 0 0 0;
8.3954e-005 0.015 0 0 0 0;
0 0 1 0 0 0;
0 0 0 1 0 0;
0 0 0 0 1 0];
Navion=ss(Alon_240,Blon_240(':',1),Clon_240,zeros(5,1));
Ta=0.5;
Elevator=ss(-1/Ta,1/Ta,1,0);
Navion=series(Elevator,Navion);
[AN,BN,CN,DN]=ssdata(Navion);
Navion_ss_e_q=Navion(3,1);
[NUM,DEN]=tfdata(Navion_ss_e_q,'v');
disp('Plant_elevator_q 240 km/h')
Navion_tf_e_q=minreal(tf(NUM,DEN));%Transfer function: elevator_q
zpk(Navion_tf_e_q)
sort(eig(Navion_ss_e_q))
figure(1)
bodemag(Navion_ss_e_q,'m'),grid on,title('Amplitude-frequency characteristic Navion_e_q','FontWeight','bold','fontsize',14)
K_wz=-6.3;
D=0.3;%Delay
K=-8;%First hand
K1=-8.1e-002;
K2=-7.3e-001;
s=tf('s');
T=K*(K1/s+K2);
T.inputdelay=D;
disp('Model Tustin')
T
d=0.3;%Delay
k=-8;%First hand
e=0.9;%Damping decrement
w=1.5;%Natural frequency
s=tf('s');
H_B=k/(s^2+2*e*w*s+w^2);
H_B.inputdelay=d;
disp('Model Hyndman&Beach')
H_B
%2 part of work
%SHORT-PERIOD longitudinal motion
%K100 - model with SCAS.
%The K100 aircraft model
%State-space variables:
%1)V-velocity, 2)alpha-angle of attack;
%3)q-pitch rate, 4)theta-pitch angle; 5)h -altitude;
%6)n-engine's rpm
%Control variables:1)elevator; 2)thrust control.
%State-space matrices of Aircraft
V=134.1384 ;
A_K100=[ 0.0027 6.1616 0 -9.8007 0 0.0288
-0.0011 -0.9623 1.0000 -0.0026 0 0.0000
-0.0004 -5.6916 -1.9260 0.0013 0 0.0011
0 0 1.0000 0 0 0
0.0349 V 0 -V 0 0
0 0 0 0 0 -0.6667];
B_K100=[-0.2326 0
-0.0636 0
-3.4498 0
0 0
0 0
0 0.6667];
C_K100=eye(6,6);
D_K100=zeros(6,2);
K_100=ss(A_K100,B_K100,C_K100,D_K100);
Ak=A_K100(2:3,2:3);
Bk=B_K100(2:3,1);
Ck=eye(2);
Dk=zeros(2,1);
Aircraft=ss(Ak,Bk,Ck,Dk);
act=tf(1,[0.1 1]);%Actuator
Aircraft=series(act,Aircraft);
[AK,BK,CK,DK]=ssdata(Aircraft);
[NUM,DEN]=ss2tf(AK,BK,CK,DK);
PF=tf(NUM(2,:),DEN);
disp('Damping of uncontrolled aircraft')
damp(PF)
Pf=-15;
CL=feedback(PF,Pf);
disp('Damping of controlled aircraft')
[ACL,BCL,CCL,DCL]=ssdata(CL);
damp(ACL)
figure(8)
step(CL,'r',PF,'g'),grid on
title('Time response:Closed loop system-CL & Open loop system-PF','FontWeight','bold','fontsize',13),legend('CL','PF',4)
%Taking into account vertical acceleration
ck=(1/9.8)*[ -0.9623 1.0000*V ];
C_K=[eye(2);ck];
D_K=[zeros(2,1); -0.8705];
K100=ss(Ak,Bk,C_K,D_K);
[A100,B100,C100,D100]=ssdata(K100);
break
open SIMLab_1.mdl
Висновок: В результаті виконання даної курсової роботи мною було досліджено систему стабілізації тангажа літака з різними видами управління. Розглянуто роботу системи при блоці human controller і при наявності ПІД – регулятора. Також було розроблено базу даних яка стала основою блоку logic controller. При моделюванні результати показали, що система є оптимальною при ввімкнені ПІД – регулятора, а інші модифікації схеми потребують певної оптимізації.