Формулировка выводов по результатам построенных переходных процессов с различными законами управления



 

На основе результатов построенных графиков переходных процессов для различных законов управления, можно сформулировать следующие выводы:

• Неуправляемое движение имеет самый долгий переходный процесс, но сводится к установившемуся значению;

• При управляемом движении, имеющим закон управления  для случая (t)=0,время переходного процесса незначительно уменьшилось в сравнении с процессом при неуправляемом движении, однако, такой способ управления имеет большую колебательность, что не является хорошим показателем;

• При управляемом движении, имеющим закон управления                , значительно уменьшилось время переходного процесса, перерегулирование; в сравнении с законом управления при неуправляемом движении и законом управления, имеющего вид     , — колебательность значительно уменьшилась. Данный закон управления дает наилучшие показатели управления;

• При управляемом движении, имеющим закон управления                  с учетом ограничения угла отклонения рулей ≤, время переходного процесса по крену больше, чем при управлении  без ограничения, но тем не менее остается значительно меньше в сравнении с неуправляемым и с законом управления.

Список используемой литературы

1. Грумонвз В.Т., Половинкин В.В. Управляемое движение подводного аппарата. — М.: МАИ, 2005.

 

 

Приложение

Cкрипт-файл для расчета параметров автоматической системы управления ДСА по крену:

script  

clear

clc

ro=102;               

Delta=0.02;

Jx=5.6;                   

lambda44=0.18;  

G=1435;                

yc=-0.007;

S=0.224;  

L=7.93;        

V=18;                    

m_omega_x_x=-0.00032;  

m_delta_El_x=-0.0019;     

m_omega_y_x=0.0028;      

Dgamama=0.0174;

mu=0.9;

global delta_el_vol

delta_el_vol=0.262; % max

 

global a_gammma a_omx a_delta_El a_omy Omega_max_y

 

a_gammma=(G*yc)/(Jx+lambda44);

a_omx=(m_omega_x_x*ro*S*L^2*V)/(2*(Jx+lambda44));

a_delta_El=(m_delta_El_x*ro*S*L*V^2)/(2*(Jx+lambda44));

a_omy=(m_omega_y_x*ro*S*L^2*V)/(2*(Jx+lambda44));

% 2

 

Omega_max_y=-(a_delta_El/a_omy)*delta_el_vol;

%3

global K1

K1=-(a_gammma*Dgamama+a_omy*Omega_max_y)/(a_delta_El*Dgamama);

%4

 

k2=(0:0.01:10);

 

L=length(k2);

T=zeros(1,L);

S=zeros(3,L);

first=true;

for i=1:L

OMEGA=1/2*sqrt( (a_omx+k2(i)*a_delta_El)^2+4*(a_gammma+K1*a_delta_El) );

S(1,i)=(a_omx+k2(i)*a_delta_El)/2+OMEGA;

S(2,i)=(a_omx+k2(i)*a_delta_El)/2-OMEGA;

Alpha=min(abs(real(S(1,i))),abs(real(S(2,i))));

S(3,i)=k2(i);

 

if(imag(OMEGA)==0&&first)

K2_kritical=k2(i)

first=false;

end

T(i)=1/Alpha*log(1/Delta);

end

 

 

figure

plot(k2,T,'-k',[K2_kritical,K2_kritical],[0,25],'--r');

 

title('T=f(K2)')

grid on

ylabel('T')

xlabel('K2')

 

%5

p(1)=-(a_delta_El^2+a_delta_El^2*mu^2);

p(2)=-(2*a_omx*a_delta_El+2*a_omx*a_delta_El*mu^2);

p(3)=-(a_omx^2+4*(a_gammma+K1*a_delta_El)+a_omx^2*mu^2);

 

K_2=roots(p)

 

global K2

K2=max(K_2);

 

%6

global Delta_varian Omega_varioant    

n=2;

 

%grafic_names=cell(1,12);

grafic_names={'neupr Wy=0','neupr Wy=Wy_max','neupr Wy=-Wy_max',...

'upr= K1*gamma Wy=0','upr= K1*gamma Wy=Wy_max',...

'upr= K1*gamma Wy=-Wy_max','upr= K1*gamma+K2*Omega Wy=0',...

'upr= K1*gamma+K2*Omega Wy=Wy_max','upr= K1*gamma+K2*Omega Wy=Wy_max',...

'upr= K1*gamma+K2*Omega Wy=0 . delta_el=<delta_el_max',...

'upr= K1*gamma+K2*Omega Wy=Wy_max . delta_el=<delta_el_max',...

'upr= K1*gamma+K2*Omega Wy=-Wy_max . delta_el=<delta_el_max'};

for i=1:4

   

Delta_varian=i;

for j=1:3

Omega_varioant=j;

 

 

       % call solver

       t=0:0.001:10; %interval

       w=[0.248;0]; % start condition

       [T,Y]=ode45('diffurs',t,w);

           

figure (n)

   

subplot(2,1,1)

plot (T,Y(1:end,1),'-m')

hold on

     

  if (i==4)

    Delta_Eleron_F=zeros(1,length(t));

for k=1:length(t)

     Delta_Eleron=K1*Y(k,2)+K2*Y(k,2);

       if (Delta_Eleron>=delta_el_vol)

           Delta_Eleron=delta_el_vol;

       elseif (Delta_Eleron<=-delta_el_vol)

           Delta_Eleron=-delta_el_vol;

       end

    Delta_Eleron_F(k)=Delta_Eleron;

end

   plot (T,Delta_Eleron_F,'-k')

  end

    hold off

     

grid on

xlabel('Gamma')

xlabel('Time (seconds)')

legend('Gamma')

     

subplot(2,1,2)

plot(T,Y(1:end,2),'-b')

     

grid on

ylabel('Omega')

xlabel('Time (seconds)')

%title(char(n))

legend('Omega X')

    

fprintf('%s %d %s \n','grafic number ', n,'OK')

disp(grafic_names(n-1))

 n = n + 1;

end

   

end

 

 

 

Файл-функция:

function [di] = diffurs(t,Y)

% Find Gamma AND Wx

%Ou t not used!! Coefficient is constants...

 

global a_gammma a_omx a_delta_El a_omy Omega_max_y K1 K2 Omega_varioant Delta_varian delta_el_vol   

 

Wx=Y(2);

Gamma=Y(1);

 

%SELECT Omega

switch Omega_varioant

case 1

Wy=0;

case 2

Wy=Omega_max_y;

case 3

 Wy=-Omega_max_y;

otherwise

disp('Error')

end

 

% select control law

switch Delta_varian

case 1

Delta_Eleron=0;

case 2

Delta_Eleron=K1*Gamma;

case 3

Delta_Eleron=K1*Gamma+K2*Wx;

case 4

   Delta_Eleron=K1*Gamma+K2*Wx;

       if (Delta_Eleron>=delta_el_vol)

           Delta_Eleron=delta_el_vol;

       elseif (Delta_Eleron<=-delta_el_vol)

           Delta_Eleron=-delta_el_vol;

       end

otherwise

disp('Error')

end

 %Delta_EleronS(d_num)=Delta_Eleron;

 di(1,1) =Wx; % dGamma/dt

 di(2,1) =a_gammma*Gamma+a_omx*Wx+a_delta_El*Delta_Eleron+a_omy*Wy; % dWx/dt

 


Дата добавления: 2019-01-14; просмотров: 165; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!