lab11 - controle clássico

Download LAB11   - Controle Clássico

If you can't read please download the document

Upload: cddsa

Post on 25-Dec-2015

220 views

Category:

Documents


3 download

DESCRIPTION

Programa Matlab - Código Aula 11 - Controle Clássico

TRANSCRIPT

%%% ECA004 - Sistemas de Controle Clssico% Laboratrio 11 - Projetor de Controlador utilizando o Mtodo por Resposta % em Frequncia% Clara D.%%%Exerccio 3.1 clear all close all clc % GpH: tipo 0 % Controlador: tipo 1 % Malha aberta: tipo 1 % e = 0 % Erro para o degrau e = 2 % Erro para a parbola % Pelos calculos com a frmula de Overshoot, temos: MP=0.15 % overshoot Valor de frequencia de cruzamento: wcgC=8/(Ta*tan(MF*(pi/180))) % equao j em [rad/s] % Valor escolhido da frequncia de cruzamento de ganho igual ao crtico: wcg=wcgC+12.0882 % [rad/s] % Funo de Transferncia da Planta: NP=100; % Numerador da Planta DP=[1 0.8 1]; % Denominador da Planta; GP=tf(NP,DP) % Funo de Transferncia % Funo de transferncia do Sensor: NH=0.04; % Numerador do Sensor DH=[0.001 1]; % Denominador do Sensor H=tf(NH,DH) % Funo de Transferncia % Funo de Transferncia em malha aberta GP(s)H(s) (sem compensador): GMASC=series(GP,H) GPH=GMASC % Calculo dos polos dominantes de GMA sem compensador: polo1=(-zeta*wcg)+(wcg*i*sqrt(1-zeta^2)) polo2=-zeta*wcg-(wcg*i*sqrt(1-zeta^2)) % Parmetro Ki, calculado pelo erro em regime permanente: GPH=@(s) 4/(0.001*s^3 + 1.001*s^2 + 0.801*s + 1) KIC=1/(e*GPH(0)) KI = KIC; % Valores de Mdulo de (GP(jw)H(jw)) e ngulo de (GP(jw)H(jw)) % w1=wcg (frequncia de cruzamento de ganho - valor escolhido): GPH=GMASC w1=wcg GPHjw1=evalfr(GPH,j*w1) % Avalia a funo GP(jw)H(jw) quando %substituindo s=j*w (j* o valor da frequncia de cruzamento de %ganho) mag=abs(GPHjw1) % Obteno do mdulo de GP(jw1)H(jw1) phase=angle(GPHjw1)*180/pi % Obteno do ngulo de %GP(jw1)H(jw1) em graus GPHjw1mag = abs(GPHjw1) % Outra forma de apresentar o mdulo %de GP(jw1)H(jw1) GPHjw1phaseR = angle(GPHjw1) % ngulo de GP(jw1)H(jw1) em %radianos GPHjw1phaseG = angle(GPHjw1)*180/pi % Outra forma de %apresentar o ngulo de GP(jw1)H(jw1) em graus % Defasagem do controlador na resposta em frequncia, na frequncia de cruzamento de ganho: phimG =-180 + MF -GPHjw1phaseG % ngulo em graus phimR = -pi + MF*(pi/180) - angle(GPHjw1) % ngulo em %radianos %Clculo dos parmetros, controlador PID: KP=cos(phimR)/mag KD=(sin(phimR)/(wcg*mag))+(KI/wcg^2) % Funo de transferncia do controlador: NC=[KD KP KI]; DC=[1 0] GC=tf(NC,DC) % Funo de transferncia do controlador em malha aberta com o compensador: GRD=series(GC,GP)% Funo de transferncia de ramo direto GMACC=series(GRD,H)% Funo de transferncia em malha aberta com o compensador T=feedback(GRD,H) % Funo de transferncia em malha fechada com o compensador [NT,DT]=tfdata(T,'v') % Funo de transferncia malha fechada, numerador e denominador % Diagrama de Bode do sistema em malha aberta com compensador: figure(2) bode(GMACC) margin(GMACC) % Margem de ganho e de fase nas frequncias de cruzamento % Grfico do Diagrama de Bode do sistema em malha aberta sem compensador e com compensador: figure(3) bode(GMASC,'r--') hold on bode(GMACC,'b') hold off xlim([0.01 10^5]); % Limites X grid title('Diagrama de Bode do Sistema sem Compensador versus Sistema Compensado') legend('Sistema sem compensador','Sistema com compensador') % Clculo dos polos e zeros da funo de transferncia em malha fechada compensada p=pole(T) z=zero(T); % Anlise de estabilidade pelo critrio de Nyquist: figure(4) nyquist(GMACC) title('Diagrama de Nyquist do Sistema Compensado') % Obtendo a resposta ao degrau unitrio: figure(5) t=0:0.001:10; step(T) A=2; % Amplitude do sinal de referncia na entrada ru=A+0*t; [y,t]=lsim(T,ru,t); plot(t,y,'r') xlabel('Tempo [s]') ylabel('y') title('Resposta de T(s) ao degrau de amplitude do sinal de entrada') S=lsiminfo(y,t) OverShoot=(S.Max-y(length(t)))*100/y(length(t)) S=stepinfo(y,t) % Caractersticas de desempenho da sada do sistema quando aplicado o sinal de entrada de referncia E=50-y(length(t)) % Sada em regime permanente igual a 10, este valor de 10 dever ser alterado a cada condio do sistema % Resposta de T(s) rampa t=0:0.001:10; figure(6) [y,t]=step(tf(A*NT,[DT 0]),t); plot(t,y,'r') grid xlabel('Tempo [s]') ylabel('y') title('Resposta de T(s) Rampa')