Escolar Documentos
Profissional Documentos
Cultura Documentos
y(t) =
ento
fazendo a transformada de Laplace inversa temos Considerando sistema descrito pela funo transferncia G(s)=Y(s)/U(s) representado na figura 1,
Obtemos ento o modelo de estado pretendido: a) E escolhendo como variveis de estado y(t)=[2 1]x(t) determinou-se o modelo de estado com as seguintes matrizes: C=[2 1] Do diagrama de blocos podemos escrever B=
como
b) Considere-se G(s)= Para um perodo de amostragem de h=0.5, o equivalente discreto de G(s) precedido por ZOH dado pela expresso da tabela:
Partindo da expresso
em que e
em que
, como o
Obtemos ento a matriz dos ganhos do contrlolador deadbeat, de realimentao linear das variveis de estado: . Resoluo usando o MatLab:
% matriz de controlabilidade: Wc=[gama phi*gama]; %como temos controlador deadbeat(tem todos os polos em z=0) p1 e p2 so igual a p1=0; p2=0; % L - formula de Ackerman( L=[0 ... 1]*inv(Wc)*P(phi) ) : disp('Ganho de Realimentao L (alinea c):'); L=[0 1]*inv(Wc)*(phi^2+p1*phi+p2*eye(2)) %matriz de transio de estados em malha fechada: phic=phi-gama*L; % ganho de avano Lc: disp('Ganho de Avano Lc (alinea c):'); Lc=1/(C*inv(eye(2)-phic)*gama) % matrizes do primeiro modelo: Ca=[1 0; 0 1]; Da=[0; 0]; sim('sim_bc') figure plot(y1.time,y1.signals.values); xlabel('Tempo(s)'); ylabel('Amplitude'); grid 0
, mantendo h=0.5s
em que
Ento
Fig. 4 Esquemtico da simulao
e o ganho de avano
Fig. 5 Resposta a escalo para o caso do controlador com variveis de estado acessveis
estim=xobs;
Obteve-se a seguinte curva de resposta: No tendo as variveis de estado disponveis, ento temos de incluir um observador predictor de ordem plena com dinmica deadbeat. Resoluo usando o MatLab:
% OBSERVADOR PREDITOR (de ordem plena com dinamica deadbeat) % matriz de observabilidade Wobs=[C; C*phi]; Woinv=inv(Wobs); % vector de ganhos do observador (deadbeat) Kobs=phi^2*Woinv*[0;1]; % valor inicial do estado observado xobs=[0;0]; sim('sim_d2') figure plot(y2.time,y2.signals.values,'k', x1_est2.time,x1_est2.signals.values,'r',x2_est2.time,x2_est2.signals.values,'g'); xlabel('Tempo (s)'); Fig. 7 Resposta a escalo ylabel('Amplitude ');para o caso do controlador com variveis de estado no acessveis; em sobreposio com as variveis de estado grid
Da anlise das figuras 5 e 7, correspondentes as respostas do controlador, para o caso das Funo do observador: variveis acessveis e no acessveis respectivamente, podemos concluir que as mesmas so function estim=obscorr(ent) prticamente iguais .CQuando no temos as variveis acessveis, o observador predictor consegue global xobs Kobs phi gama; fazer uma boa uk1=ent(1); estimativa das mesmas.
yok=ent(2); %Predio do Estado aumentado %(actualizao da estimativa do estado:) xobs=phi*xobs+gama*uk1+Kobs*(yok-C*xobs); %Devoluo do estado Observado (Devoluo da estimativa);
% alinea d) - d1 %coeficiente de amortecimento e frequencia natural no amortecida do modelo continuo: zeta=0.9;wn=0.5; %calculo de p1 e p2, Coeficientes do polinomio P(phi): p1=-2*exp(-zeta*wn*h)*cos(wn*h*sqrt(1-zeta^2)); p2=exp(-2*zeta*wn*h); %L - formula de Ackerman( L=[0 ... 1]*inv(Wc)*P(phi) ): disp('Ganho de Realimentao L (alinea d1):'); L=[0 1]*inv(Wc)*(phi^2+p1*phi+p2*eye(2)) %matriz de transio de estados em malha fechada: phic=phi-gama*L; % Ganho de avano Lc: disp('Ganho de Avano Lc (alinea d1):'); Lc=1/(C*inv(eye(2)-phic)*gama) sim('sim_d1') figure plot(y1.time,y1.signals.values); xlabel('Tempo (s)'); ylabel('Amplitude y(t)'); grid % alinea d) - d2 % OBSERVADOR PREDITOR (de ordem plena com dinamica deadbeat) % matriz de observabilidade Wobs=[C; C*phi]; Woinv=inv(Wobs); % vector de ganhos do observador (deadbeat) Kobs=phi^2*Woinv*[0;1]; % valor inicial do estado observado xobs=[0;0]; sim('sim_d2') figure plot(y2.time,y2.signals.values,'k', x1_est2.time,x1_est2.signals.values,'r',x2_est2.time,x2_est2.signals.values,'g'); xlabel('Tempo (s)'); ylabel('Amplitude '); grid
Funo Obscorr.m function estim=obscorr(ent) global xobs Kobs C phi gama; uk1=ent(1); yok=ent(2); %Predio do Estado aumentado %(actualizao da estimativa do estado:) xobs=phi*xobs+gama*uk1+Kobs*(yok-C*xobs); %Devoluo do estado Observado (Devoluo da estimativa); estim=xobs;