Escolar Documentos
Profissional Documentos
Cultura Documentos
2.17
Nesta se ca o, os comandos b asicos do CONTROL SYSTEM Toolbox do MATLAB s ao introduzidos. O comando helpcontrol fornece uma lista das diversas fun co es dispon veis. Para obter mais detalhes sobre cada uma das fun co es pode-se usar o comando help < nome da fun ca o >. Para a elabora ca o desta se ca o as seguintes refer encias foram utilizadas MathWorks (1997), Ogata (1997a) e Gaspar et al. (2002). No MATLAB os sistemas din amicos podem ser descritos por uma fun ca o de transfer encia ou por um modelo em espa co de estado. Na representa ca o por fun ca o de transfer encia denemse os coecientes dos polin omios do numerador e denominador. Na representa ca o em espa co de estado denem-se as quatro matrizes que caracterizam o modelo.
2.17.1
As fun co es de transfer encia no dom nio da vari avel complexa s/z s ao usadas para caracterizar as rela co es entre entrada e sa da de sistemas cont nuos/discretos que possam ser descritos por equa co es diferenciais/a diferen ca lineares invariantes no tempo. Para condi co es iniciais nulas, a partir da aplica ca o da transformada de Laplace ` as equa co es diferenciais lineares obt em-se a rela ca o entre a entrada e a sa da descrita por uma rela ca o entre polin omios na vari avel complexa s. No MATLAB, os polinomios s ao descritos pelos seus coecientes. Por exemplo, a fun ca o de transfer encia em s y (s) 3s2 2 = 2 r(s) s + 2s + 4 e introduzida pelos coecientes dispostos em ordem decrescente das pot encias dos polin omios do numerador e denominador num=[3 -2]; den=[1 2 4]; O comando printsys(num, den) fornece a fun ca o de transfer encia na forma num/den= 3s 2 + 2s + 4
3s 2 + 2s + 4
e o comando G = tf(num,den,TS) gera uma fun ca o de transfer encia para sistemas discretos com T S o tempo de amostragem. A saida G e um objeto do tipo TF. Evidentemente, a fun ca o pode ser chamada de outro nome qualquer.
47
2.17.2
Espa co de estado
Um sistema din amico formado por elementos concentrados pode ser representado por equa co es diferenciais ordin arias em que o tempo e a vari avel independente. Fazendo uso de nota ca o matricial-vetorial, uma equa ca o diferencial de ordem n pode ser representada por uma equa ca o matricial-vetorial de primeira ordem. Se n elementos do vetor formam um conjunto de vari aveis de estado, a descri ca o matricial vetorial denominada espa co de estado possui a forma x = Ax + Bu y = Cx + Du Considere o seguinte sistemana forma espa co de estado x = y = 2 3 3 1 1 u x+ 0 1
0.5 x
As matrizes s ao introduzidas no MATLABcomo segue A=[2 -1 ; 3 -1]; B=[1 0]; C=[3 -0.5]; D=[0]; printsys(A,B,C,D); O comando printsys fornece o modelo espa co de estado na forma A= x1 x2 x1 2.00000 -1.00000 x2 3.00000 -1.00000 B= u1 x1 1.00000 x2 0 C= x1 x2 y1 2.00000 -0.50000
48 D= u1 0.
y1
O comando ss fornece o modelo espa co de estado cont nuo nomeado Gss com matrizes A, B, C, D Gss=ss(A,B,C,D) A= x1 x2 x1 2 -1 x2 3 -1 B= u1 x1 1 x2 0 C= x1 x2 y1 2 -0.5 D= u1 0
y1
Continuous-time model. O comando Gd = c2d(sys,Ts,method) converte o sistema continuo Gss para um sistema discreto com Ts o tempo de amostragem e method o metodo de discretiza ca o a ser estudo no Cap tulo 9.3
2.17.3
poss E vel realizar convers oes de representa ca o de sistemas de uma forma para outra
2.17. MATLAB EM SISTEMAS DE CONTROLE Fun ca o de transfer encia (transfer function - tf ) Espa co de estado (state space - ss ) Zeros, p olos e ganho (zero pole gain - zp )
49
Em todos os tipos de convers oes lembrar que a fun ca o de transfer encia e dada por um polin omio no numerador e no denominador, a representa ca o espa co de estado e dada pelas matrizes A, B, C, D e a representa ca o zeros, p olos e ganho e dada pelo conjunto de p olos zeros e ganho. Convers ao entre espa co de estado e fun c ao de transfer encia Para a convers ao de espa co de estado a fun ca o de transfer encia e vice-versa utilizam-se as fun co es ss2tf e tf 2ss, respectivamente. Considere o seguinte sistema dado na forma espa co de estado 2 1 1 x+ u 1 2 2
1 0 x
Convers ao entre p olo, zero e ganho e fun c ao de transfer encia No caso do sistema estar descrito por p olos, zeros e ganho, a convers ao para fun ca o de transfer encia e dada por z = 0; % zero do sistema p1 = -2 + i; % p olo do sistema p2 = -2 - i; % p olo do sistema k = 1; % ganho
obtendo-se portanto a mesma fun ca o de transfer encia do sistema que anteriormente. No caso do sistema estar na forma p olo, zero e ganho, a convers ao para espa co de estado e dada pelas fun co es tf 2ss e zp2ss Considere a seguinte fun ca o de transfer encia G(s) = s2 s + 4s + 5
As linhas de comando para obter a representa ca o espa co de estado seguem num=[0 1 0 ] den = [ 1 4 5 ] [A, B, C, D]=tf2ss(num,den) A sua representa ca o em espa co de estado e como segue A= -4 -5 10 B= 1 0 C= 10 D= 0 Se fossem dados os p olos, zeros e ganho do sistema, a convers ao para a representa ca o espa co de estado seguiria os passos usados para obter a fun ca o de transfer encia, mas, obtendo-se as matrizes A, B, C, D e n ao os coecientes do numerador e denominador da fun ca o de transfer encia. Convers ao para p olo, zero e ganho A convers ao para p olos, zeros e ganho pode ser realizada a partir aas seguintes fun co es
2.17. MATLAB EM SISTEMAS DE CONTROLE tf 2zp % obten ca o p olos, zeros e ganho a partir da fun ca o de transfer encia ss2zp % obten ca o p olos, zeros e ganho a partir da forma espa co de estado
51
Os p olos, zeros e ganho dos exemplos anteriores para sistemas na forma espa co de estado e na forma de fun ca o de transfer encia podem ser obtidos da seguinte forma % Sistema representado no espa co de estado A=[-2 - 1; 1 -2] B=[1 2] C=[1 0] D=[0] [z, p, k]=ss2zp (A, B, C, D) z= 0 p= -2.0000 + 1.0000i -2.0000 - 1.0000i k= 1 % Sistema representado na forma de fun ca o de transfer encia num=[0 1 0] den=[1 4 5] [z, p, k]=tf2zp (num, den)
2.17.4
Sistemas conectados
Existe um conjunto de fun co es que permite obter representa co es de sistemas formados por diversos subsistemas interligados. O diagrama de blocos de um sistema e uma representa ca o das fun co es desempenhadas por cada um dos componentes e uxos de sinais. O diagrama de blocos indica as conex oes entre os v arios componentes do sistema. Sistemas em cascata O comando series permite a associa ca o de blocos em cascata (Figura 2.12), tendo em considera ca o que os dois sistemas dever ao ser do mesmo tipo (cont nuos ou discretos).
52
Aqui e doravante, considera-se que um sistema sys pode estar representado por Fun ca o de transfer encia: sys = (num, den) Espa co de estado: sys=(A, B, C, D) A seguinte fun ca o implementa a associa ca o de sistemas em cascata sys=series(sys1,sys2)
Figura 2.12: Conec ca o em cascata. Considere as fun co es de transfer encia do sistema nomeado sys num1 = [ 0 0 2 ]; den1 = [ 1 2 3 ]; num2 = [ 0 1 1 ]; den2 = [ 4 5 6 ]; sys1=tf(num1,den1); sys2=tf(num2,den2); sys=series(sys1,sys2)
Transfer function: 2s + 2 4s 4 + 13s 3 + 28s 2 + 27s + 18 Para os sistemas descritos por fun ca o de transfer encia pode-se tamb em utilizar o comando conv para conectar sistemas em cascata num = conv (num1, num2 ) den = conv (den1, den2 ) num = 00022 den = 4 13 28 27 18 Assim, utilizando sys = tf(num, den ) obt em-se a fun ca o de transfer encia do sistema resultante. Considere os modelos espa co de estado de um sistema conectado sys
2.17. MATLAB EM SISTEMAS DE CONTROLE A1=[2 -1 ; 3 -1]; B1=[1 0]; C1=[2 -0.5]; D1=[0]; sys1=ss(A1,B1,C1,D1); A2 = [ -4 - 5 ; 1 0 ]; B2 = [ 1 0 ]; C2 = [ 1 0 ]; D2 = [ 0 ]; sys2=ss(A2,B2,C2,D2); sys=series(sys1,sys2) A= x1 -4 1 0 0 x2 x3 x4 -5 2 -0.5 0 0 0 0 2 -1 0 3 -1
53
x1 x2 x3 x4
B= u1 0 0 1 0
x1 x2 x3 x4
C= x1 x2 x3 x4 y1 1 0 0 0 D= u1 0
y1
Continuous-time model
54
2.17.5
Sistemas em paralelo
A liga ca o de sistemas em paralelo, (Figura 2.13) com os dois sistemas do mesmo tipo (cont nuos ou discretos) pode ser feita usando os comandos sys = parallel (sys1, sys2)
Figura 2.13: Conec ca o em paralelo. O comando parallel e equivalente ` a soma direta de polin omios no caso dos sistemas estarem representados na forma de fun ca o de transfer encia.
2.17.6
Um sistema de malha fechada com realimenta ca o unit aria (Figura 2.14) pode ser obtido com o seguinte comando sys = feedback(G) Considere o sistema de malha aberta G(s)
G(s) =
A fun ca o de transfer encia de malha fechada com realimenta ca o unit aria y (s)/r(s) pode ser obtida a partir das seguintes linhas de comando num = [ 0 1 - 6 ] den = [ 1 - 1 5 ]
2.17. MATLAB EM SISTEMAS DE CONTROLE G=tf(num,den) sys=feedback(G,-1) Transfer function: s-6 s 2 - 1 E, a fun ca o de transfer encia e da forma sys : y (s) G(s) s6 = = 2 r(s) 1 + G(s) s 1
55
Observa c ao 2.2 Para realimenta ca o n ao unit aria negativa utiliza-se comando feedback (sys1,sys2,-1) e para realimenta ca o n ao unit aria positiva o comando feedback (sys1,sys2,1).
2.17.7
Sistemas de 2a ordem
2 y (s) wn = 2 2 r(s) s + 2wn + wn
A sua constru ca o na forma de fun ca o de transfer encia ou espa co de estado pode ser realizada a partir da freq u encia natural wn e do coeciente de amortecimento . No caso de sistema na forma de fun ca o de transfer encia com uma freq u encia natural de wn = 2.4rad/s e, com um coeciente de amortecimento = 0.4 pode-se utilizar [num, den] = ord2 (2.4, 0.4) num = 1 den = 1.0000 1.9200 5.7600 correspondendo ` a fun ca o de transfer encia y (s) 1 = 2 r(s) s + 1.92s + 5.76
2.17.8
Resposta no tempo
Em sistemas de controle e usual utilizar entradas de teste t picas para avalia ca o do desempenho do controlador. As entradas de teste usualmente utilizadas s ao degrau,
56
rampa e impulso. A escolha do tipo de entrada deve ser pautada nas caracter sticas da entrada a que o sistema est a submetido mais freq uentemente durante sua opera ca o normal. A propriedade principal da din amica de um sistema de controle e a estabilidade. Diz-se que um sistema de controle e est avel se a sa da quando perturbada voltar ao seu estado de equil brio. Resposta ao degrau unit ario A seguir considera-se a resposta de sistemas 2a ordem a um degrau unit ario. Seja
2 y (s) Kwn = 2 2 r(s) s + 2wn + wn
O comportamento din amico deste sistema de 2a ordem pode ser descrito pela freq u encia natural wn e pelo coeciente de amortecimento . A fun ca o step fornece a resposta de um sistema no dom nio do tempo a uma entrada em degrau unit ario para condi ca o inicial nula. Quando o comando e utilizado sem argumentos, esta fun ca o fornece gracamente a solu ca o do sistema em resposta ao degrau unit ario . A dura ca o da simula ca o e determinada automaticamente baseada nos p olos e zeros do sistema step (sys) onde sys = tf(num,den) % fun ca o de transfer encia sys = ss(A, B, C, D) % forma espa co de estado Para obter o vetor da sa da y e estado x no tempo, deve-se utilizar os argumentos no comando. O comando step, neste formato, n ao gera qualquer gr aco. O gr aco da resposta do sistema pode ser obtido com a fun ca o plot [y, t] = step(sys) %sistema representado por fun ca o de transfer encia [y, x, t] = step(sys) %sistema representado por espa co de estado plot(t, y) O comando [y, t] = step(sys) retorna a sa da y e o tempo t gerado. Se sys tiver ny sa das, nu entradas e, comprimento lt = length(t), y e um conjunto de tamanho lt ny nu onde y (:, :, j ) fornece a resposta ao degrau da j esima entrada do sistema. O comando [y, x, t] = step(sys) retorna o estado x de dimens ao lt nx nu se o sistema tiver nx vari aveis de estado. Do mesmo modo, pode-se estabelecer a dura ca o da simula ca o atrav es da imposi ca o do tempo t = 0 : 0.1 : 10 step (sys,t)
57
A fun ca o step permite a introdu ca o de argumentos distintos para denir v arios sistemas, de modo que sejam apresentados os tra cados da resposta sobrepostos no mesmo gr aco, podendo os tipos, cores e marcadores das linhas de cada sistema serem denidos como nas fun co es b asicas de cria ca o de gr acos step (sys1,y:,sys2,g-) Considere a fun ca o de transfer encia de malha fechada do seguinte sistema y (s) 25 = 2 r(s) s + 4s + 25 A resposta do sistema no dom nio do tempo a uma entrada em degrau unit ario pode ser obtida da seguinte forma y (s) = s2 25 r(s) + 4s + 25
ca o da resposta do sistema seguem com r(s) = 1 s . As linhas de comando para a visualiza (Figura 2.15) num = [0 0 25] den = [1 4 25] sys=tf(num,den) step (sys)
O sistema tamb em pode estar na forma espa co de estado, sendo a resposta a um degrau unit ario obtida com a fun ca o expressa do seguinte modo: step(A, B, C, D) Resposta a entrada rampa O MATLAB n ao disp oe de nenhuma fun ca o para obter a resposta de um sistema no dom nio do tempo a uma entrada em rampa unit aria. Para obter a resposta no tempo a este sinal de entrada particular, utiliza-se a fun ca o step aumentando um grau os coecientes das sucessivas pot encias do polin omio que traduzem o denominador da fun ca o de transfer encia do sistema. O uso do comando segue o caso anterior. Considerando a mesma fun ca o de transfer encia anterior, a resposta do sistema no dom nio do tempo a uma entrada em rampa unit aria e obtida como segue y (s)
1 s2 .
25 r(s) s2 + 4s + 25
58
Step Response
Amplitude
0.5
1.5
Time (sec)
2.5
Figura 2.15: Resposta do sistema num = [0 0 25], den = [1 4 25] ` a uma entrada degrau unit ario. num1=[0 0 25]; den1=[1 4 25]; num2=[0 0 1]; den2=[0 1 0]; sys1=tf(num1,den1); %fun ca o de transfer encia 25/(s2 + 4s + 25) sys2=tf(num2,den2); %fun ca o de transfer encia 1/s sys=series(sys1,sys2); step(sys,r,sys2,k) O erro estacion ario para a resposta no dom nio do tempo de um sistema de 2a ordem sujeito a uma entrada em rampa unit aria e dado por ess = 2 wn
Resposta ao impulso A fun ca o impulse fornece a resposta de um sistema no dom nio do tempo a uma entrada em impulso . Considere o sistema anterior sujeito a uma entrada impulso. A sa da y (s) e da forma 25 y (s) = 2 r(s) com r(s) = 1 s + 4s + 25
59
5 4.5 4 3.5 3
Amplitude
Step Response
Figura 2.16: Resposta sistema G(s) = 25/(s2 + 4s + 25) a uma entrada rampa unit aria. As linhas de comando para a visualizar a resposta do sistema seguem (Figura 2.17) num = [ 0 0 25 ]; den = [ 1 4 25 ]; sys=tf(num,den); impulse(sys)
Como a resposta a uma entrada impulso corresponde ` a derivada da resposta a uma entrada em degrau unit ario, o sobre-sinal m aximo para a resposta a degrau unit ario pode ser determinado a partir da correspondente resposta ao impulso, j a que a area sob a curva de resposta ao impulso de Dirac desde t = 0 at e tp (tempo do primeiro cruzamento com zero) e dada por 1 + Mp onde Mp corresponde ao sobre-sinal m aximo para a resposta a degrau unit ario. Resposta a entradas e a condi c oes iniciais A fun ca o initial gera a resposta no dom nio do tempo de um sistema no espa co de estado com condi co es iniciais n ao nulas. Considere um sistema representado no espa co de estado com condi co es iniciais n ao nulas x = Ax + Bu, x(0) = x0 y = Cx As linhas de comando que possibilitam a obten ca o da resposta do sistema a este tipo
60
3.5 3 2.5 2
Amplitude
Impulse Response
2.5
particular de entrada segue initial(sys, x0) Considere o seguinte sistema representado no espa co de estado 0.5572 0.7814 x 0.7814 0 y = 1.969 6.4493 x e as condi co es iniciais 1 x(0) = 0 As linhas de comando para obter a resposta a x0 seguem (Figura 2.18) x = A = [-0.5572 -0.7814; 0.7814 0]; B = [0 0 ]; C = [1.9691 6.4493]; D = [0]; x0 = [1 0]; initial (A, B, C, D, x0)
61
5 4 3 2 1 0 1 2 0
Amplitude
10
Time (sec)
15
20
2.17.9
A fun ca o lsim (linear simulation) simula a resposta de um sistema no dom nio do tempo a uma entrada arbitr aria e possui a mesma estrutura das fun co es anteriores lsim (sys, u, t) A matriz formada pela entrada u possui tantas colunas quanto a dimens ao do vetor u no tempo t(length(t)). A fun ca o lsim pode tamb em gerar a resposta a entrada arbitr aria de sistemas representados no espa co de estado com condi co es iniciais n ao nulas lsim(sys, u, t, x0) O comando que gera o sinal arbitr ario u e o comando gensig (generate signal). Este comando gera um sinal peri odico escalar u da classe type e per odo , para simula co es no dom nio do tempo atrav es do uso da fun ca o lsim. A fun ca o gensig suporta as seguintes classes de sinal type = sin : onda senoidal type = square : onda quadrada type = pulse : impulso peri odico [u, t] = gensig (type, )
62
AO MATLAB CAP ITULO 2. INTRODUC AO Considere a seguinte fun ca o de transfer encia y (s) s1 = 2 r(s) s +s+5
Pode-se obter a resposta a uma entrada do tipo onda quadrada com um per odo de 4 segundos da seguinte forma. Inicialmente, gera-se a onda quadrada com a fun ca o gensig considerando um tempo de amostragem de 0.1s durante 10s e posteriormente, simula-se a resposta do sistema (Figura 2.19) [u,t] = gensig (square,4,10,0.1 ); num = [ 1 - 1 ]; den = [ 1 1 2 ]; sys=tf(num,den); lsim(sys,r,u,t) axis([0 10 -1.5 1.5]) hold Current plot held plot(t,u,k) axis([0 10 -1.5 1.5])
1.5
Linear Simulation Results
0.5
Amplitude
0.5
1.5 0
4
Time (sec)
10
2.17.10
A caracter stica b asica da resposta transit oria de um sistema em malha fechada est a intimamente relacionada com a localiza ca o dos p olos de malha fechada. Os p olos de
63
malha fechada s ao as ra zes da equa ca o caracter stica (s) = 1 + G(s)H (s). O lugar geom etrico das ra zes e formado pelas ra zes da equa ca o caracter stica em fun ca o de um par ametro. O par ametro usualmente utilizado e o ganho da fun ca o de transfer encia de malha aberta. P olos e zeros A fun ca o pzmap sem argumento fornece um diagrama dos p olos e dos zeros de um sistema cont nuo ou discreto. Os p olos s ao representados por x e os zeros representados por o. Com argumento, pzmap fornece duas colunas correspondentes aos p olos e aos zeros sem gerar qualquer diagrama pzmap(sys) %gera ca o do diagrama de p olos e zeros do sistema [p, z] = pzmap(sys) %obten ca o dos valores dos p olos e dos zeros Considere a fun ca o de transfer encia de malha aberta do sistema G(s) = 2s2 + 5s + 1 s2 + 2s + 3
Pede-se os obter os p olos e os zeros com as linhas de comando como seguem (Figura 2.20) num = [2 5 1]; den = [1 2 3]; sys=tf(num,den); pzmap (sys,r)
1.5
PoleZero Map
0.5
Imaginary Axis
0.5
1.5 2.5
1.5
Real Axis
0.5
64 Usando rlocus
A fun ca o rlocus fornece o lugar geom etrico das ra zes do polin omio caracter stico de um sistema que correspondem aos p olos do sistema realimentado em fun ca o da varia ca o do ganho K desde zero at e innito. O lugar geom etrico das ra zes indica o lugar dos p olos de malha fechada do sistema em fun ca o do ganho de realimenta ca o K para realimenta ca o negativa. O lugar geom etrico das ra zes e usado no estudo dos efeitos da varia ca o do ganho de realimenta ca o na localiza ca o dos p olos de malha fechada. As diferentes fun co es de transfer encia de malha aberta de sistemas para implementa c ao da fun ca o rlocus, s ao mostradas na Figura 2.21
Figura 2.21: Diferentes congura co es de realimenta ca o. Seja G(s) dada por n(s) . d(s) Os p olos do sistema realimentado s ao dados pelas ra zes de G(s) = d(s) + Kn(s) = 0 Quando o comando rlocus e utilizado sem argumentos obt em-se o lugar dos p olos em fun ca o do ganho K . Em caso contr ario, apresenta duas colunas correspondentes ` a localiza ca o das ra zes complexas r e, o respectivo ganho K , sem gerar qualquer gr aco rlocus (sys) %gera ca o do lugar das ra zes rlocus (sys,K) %mapa das ra zes para um determinado ganho K [r,K] = rlocus(sys) %gera ca o dos vetores das ra zes e respectivo ganho r = rlocus (sys,K) %ra zes para um ganho xo K
2.17. MATLAB EM SISTEMAS DE CONTROLE Para visualizar o lugar das ra zes (Figura 2.22) utilizam-se os seguintes comandos num=conv([1 10],[1 10]); den=conv([1 -20],[1 4 68]); sys=tf(num,den) rlocus(sys)
65
30
Root Locus
20
10
Imaginary Axis
10
20
30 50
40
30
20
10
Real Axis
10
20
30
Figura 2.22: Lugar das ra zes de do polin omio caracter stico (s) = d(s) + Kn(s) em fun ca o de K para num=conv([1 10],[1 10])e den=conv([1 -20],[1 4 68].
Ganho est atico A fun ca o rlocf ind utiliza a regra da magnitude do lugar geom etrico das ra zes para determinar o ganho para uma localiza ca o particular das ra zes. Trata-se de uma fun ca o interativa, j a que permite ao usu ario selecionar a localiza ca o das ra zes no tra cado do lugar de ra zes para as quais pretende determinar o ganho de realimenta ca o. No entanto, pode ser utilizada com argumentos de modo a calcular o ganho de realimenta ca o para uma localiza ca o especica das ra zes. [K,poles]= rlocnd (sys) %obten ca o do ganho K interativamente [K,poles] = rlocnd (sys,p) %obten ca o do ganho K para uma localiza ca o especica dos p olos.
66 Curvas de wn e constantes
A fun ca o sgrid permite gerar um gr aco no plano s de curvas de freq u encia natural constante e de coeciente de amortecimento constante. O gr aco e gerado sobre o tra cado do lugar geom etrico das ra zes ou sobre o mapa dos p olos e zeros obtido anteriormente, com um espa camento de 0.1 desde 0 at e 1 para as curvas de coeciente de amortecimento constante, e com um espa camento de 1 rad/s desde 0 at e 90 rad/s para as curvas de freq u encia natural wn constante. Pode-se especicar como argumento as linhas de coeciente de amortecimento constante e as linhas freq u encia natural constante wn sgrid sgrid(xi,wn) Os gr acos mostrados nas Figuras 2.23 e 2.24 ilustram o uso do comando sgrid. Considere a fun ca o de transfer encia de malha aberta do sistema. Para gerar o mapa de p olos e zeros sobre o lugar dos p olos, as linhas no plano s de coeciente de amortecimento constante e de freq u encia natural constante utiliza-se a fun ca o sgrid. Seja G(s) = 2s2 + 5s + 1 s2 + 2s + 3
As linhas de comando para gerar o mapa de p olos e zeros e o lugar das ra zes seguem num = [2 5 1]; den = [1 2 3]; sys=tf(num,den); pzmap (sys) sgrid num=conv([1 10],[1 10]); den=conv([1 -20],[1 4 68]); sys=tf(num,den) rlocus(sys) sgrid
2.17.11
Pelo termo resposta em freq u encia entende-se a resposta em regime estacion ario de um sistema sujeito a uma entrada exponencial complexa. Existe um conjunto de fun co es no Matlab que permite analisar a resposta no dom nio da freq u encia de um dado sistema. Os diagramas de Bode, Nyquist e Nichols s ao usualmente utilizados seja para o sistema descrito por uma fun ca o de transfer encia seja pelo modelo espa co de estado. Diagrama de Bode A fun ca o de transfer encia para s = jw pode ser caracterizada pelo seu m odulo e angulo de fase em fun ca o da freq u encia em escala logar tmica. A fun ca o bode fornece o diagrama de Bode da resposta em freq u encia de um dado sistema pela avalia ca o da fun ca o de
67
1.5
0.5
Imaginary Axis
0.5
1
0.4
1.5 2.5
1.5
Real Axis
0.5
Figura 2.23: P olos e zeros no plano s com indicando p olo, o zero e curva de wn = 5 e = 0.4.
20 0.92
System: sys Gain: 33.8 Pole: 7.28 + 23.7i Damping: 0.294 Overshoot (%): 38.1 Frequency (rad/sec): 24.8
0.99 10 0.965
20 0.92
0.84 30 50 40
0.74 30
0.6 20
0.42
0.22 0 10 20 30
10 Real Axis
68
transfer encia G(s) no eixo imagin ario s = jw. Apenas s ao consideradas freq u encias positivas. Para sistemas na forma espa co de estado, a resposta em freq u encia e dada por G(jw) = D + C (jwI A)1 B, w 0 Quando o comando e utilizado sem argumentos, esta fun ca o gera o m odulo e do angulo de fase em fun ca o da freq u encia. O diagrama de Bode s ao utilizados para analisar propriedades do sistema, tais como margem de ganho, margem de fase, largura de banda, estabilidade, etc. A faixa de freq u encias, em rad/s, e determinada automaticamente baseada nos p olos e zeros do sistema. As diversas sintaxes desta fun ca o seguem bode (sys) %gera ca o diagrama de Bode de m odulo e fase bode (sys,w ) %gera ca o diagrama de Bode com faixa de freq u encia especicada bode (sys1, sys2,..., sysN) %gera ca o do diagrama de Bode diversos sistemas sobrepostos Quando o comando bode e usado com os seus argumentos, obt em-se os vetores do m odulo, angulo de fase e a freq u encia w e, o gr aco n ao e exibido. [mod,fase,w] = bode(sys) %obten ca o dos valores do m odulo, fase e freq u encia [mod,fase] = bode(sys,w) %obten ca o dos valores do m odulo e fase para a faixa de freq u encia especicada Considere a seguinte fun ca o de transfer encia em malha aberta G(s) = s2 + 0.1s + 7.5 . s4 + 0.12s3 + s2
O diagrama de Bode pode ser obtido com as seguintes linhas de comando (Figura 2.25) num = [1 0.1 7.5]; den = [1 0.1 2 9 0 0]; sys=tf(num,den) bode (sys, r) Para obter o gr aco da resposta do sistema no dom nio da freq u encia para uma faixa maior de freq u encia, por exemplo de 0.1 at e 100 rad/s, basta introduzir o comando (Figura 2.26) w = logspace (-1, 2); num = [1 0.1 7.5]; den = [1 0.1 2 9 0 0]; sys=tf(num,den) bode (sys,r, w)
69
50
Bode Diagram
50
100
150 270
10
10
10
50
50
100
150 450
360
270
180
90 10
1
10
10 Frequency (rad/sec)
10
70
Margem de ganho e margem de fase Na an alise da resposta de sistemas no dom nio da freq u encia, as margens de ganho e de fase permitem avaliar a estabilidade relativa do sistema. A margem de fase e denida como o atraso de fase adicional na freq u encia de cruzamento do ganho (wcg ) necess ario para levar o sistema ao limiar da instabilidade. A freq u encia de cruzamento do ganho e a freq u encia na qual |G(jw)|, o m odulo da fun ca o de transfer encia de malha aberta, e unit ario ou 0 dB no caso do m odulo da fun ca o de transfer encia de malha aberta ser representado em dB. A margem de fase (MF) pode ser calculada da seguinte forma M F = 180o + G(wcg ) M F = 180o + Portanto, a MF e 180o mais o a ngulo da fun ca o transfer encia de malha aberta na freq u encia de cruzamento de ganho denotado (wcg ). Para um sistema de fase m nima (todos os p olos e zeros no semiplano s da esquerda) ser est avel, a margem de fase deve ser positiva. A margem de ganho e denida como o inverso do m odulo |G(jw)| na freq u encia de cruzamento da fase (w ). A freq u encia de cruzamento da fase e a freq u encia na qual G(jwcg ), o angulo de fase da fun ca o de transfer encia de malha aberta, e igual a 180o. A margem de ganho (MG) pode ser obtida da seguinte forma M G = 20log |G(w )| dB Uma margem de ganho positiva signica que o sistema e est avel, e o contr ario que o sistema e inst avel. Para um sistema de fase m nima est avel, a margem de ganho indica quanto o ganho pode ser aumentado antes que o sistema se torne inst avel. Para um sistema inst avel, a margem de ganho e indicativa de quanto o ganho deve ser diminu do para tornar o sistema est avel. A margem de ganho e a margem de fase e respectivas freq u encias de cruzamento, s ao calculadas a partir da fun ca o de transfer encia em malha aberta pela fun ca o margin. Indicam a estabilidade relativa do sistema em malha fechada. Quando o comando e usado sem argumentos, exibe os diagramas de Bode de m odulo e angulo de fase com as referidas margens. As sintaxes poss veis para esta fun ca o seguem margin(sys) %diagrama de Bode com as margens [Gm, Pm, Wcg, Wcp] = margin(sys) % margens e freq u encias de cruzamento margin(mag,fase,w) % diagrama de Bode com as margens [Gm, Pm, Wcg, Wcp]=margin (mag,fase,w) % margens e freq u encias de cruzamento allmargin(sys) % todas as margens de ganho e fase Considere a seguinte fun ca o de transfer encia em malha aberta G(s)H (s) = K s(s + 1)(s + 5)
71
Para K = 10 e K = 100 as margens de ganho e fase podem ser obtidas como segue (Figura 2.27) % Para K=10 num=[10]; den1=conv([1 1],[1 5]); den=conv([1 0],den1); sys=tf(num,den) margin(sys)
100 Bode Diagram Gm = 9.54 dB (at 2.24 rad/sec) , Pm = 25.4 deg (at 1.23 rad/sec)
50
100 90
10
10
10
10
Frequency (rad/sec)
Figura 2.27: Margens de estabilidade para K=10. % Para K=100 num=[100]; den1=conv([1 1],[1 5]); den=conv([1 0],den1); sys=tf(num,den) margin(sys) Crit erio de Nyquist O crit erio de estabilidade de Nyquist permite investigar a estabilidade absoluta e a estabilidade relativa de sistemas lineares de malha fechada a partir da resposta em freq u encia do respectivo sistema em malha aberta. Considere o seguinte sistema representado pela
72
100
50
100 90
10
10
10
10
Frequency (rad/sec)
sua fun ca o de transfer encia de malha fechada y (s) G(s) = r(s) 1 + G(s)H (s) Para que este sistema seja est avel, todas as ra zes da equa ca o caracter stica (s) = 1 + G(s)H (s) = 0 devem permanecer no semiplano lateral esquerdo s. O crit erio de Nyquist estabelece que Z=N+P com Z o n umero de p olos inst aveis do sistema em malha fechada N o n umero de envolvimentos do gr aco de Nyquist (plano da fun ca o G(s)H (s)) no sentido hor ario em torno do ponto 1 + j 0 e P o n umero de p olos de G(s)H (s) no semiplano lateral direito. Se o diagrama de Nyquist envolver o ponto 1 + j 0 uma vez no sentido hor ario, N=1, se no sentido anti-hor ario N=-1. Do crit erio pode-se concluir o seguinte 1. Se P = 0, para estabilidade deve-se ter Z = 0 o que implica N = P , ou seja, o n umero de envolvimentos do gr aco de Nyquist, no sentido anti-hor ario em torno do ponto 1 + j 0 deve ser igual ao n umero de p olos de G(s)H (s) no semiplano lateral direito do plano s 2. Se P = 0, para estabilidade deve-se ter Z = N = 0, ou seja, n ao pode haver envolvimento do ponto 1 + j 0
73
A fun ca o nyquist fornece o gr aco de G(jw)H (jw) em fun ca o da frequ encia w. O diagrama de Nyquist permite estudar tamb em a estabilidade relativa do sistema em malha fechada, ou seja, a margem de ganho e margem de fase. Quando o comando nyquist e usado com argumentos obt em-se as partes real e imagin arias de G(jw)H (jw) em fun ca o de w. As sintaxes poss veis para este comado seguem nyquist (num, den) %diagrama de Nyquist nyquist (num, den, w) %diagrama de Nyquist para faixa de freq u encias especicada [re, im, w] = nyquist (num, den) %obten ca o partes real e imagin aria de G(jw)H (jw) Considere a seguinte fun ca o de transfer encia em malha aberta 2s2 + 5s + 1 s2 + 2s + 3
G(s)H (s) =
Para obter o diagrama de Nyquist utilizar os seguintes comandos (Figura 2.29) num = [2 5 1]; den = [ 1 2 3 ]; sys=tf(num,den) nyquist (sys,r)
Nyquist Diagram
Imaginary Axis
0.5
0.5
1
Real Axis
1.5
2.5
74
2.17.12
Diagrama de Nichols
A fun ca o Nichols fornece a resposta de um sistema no dom nio da freq u encia e exibe o diagrama nas coordenadas de Nichols . Esta fun ca o eu til para analisar as propriedades de sistema em malha aberta e em malha fechada. Quando o comando e usado sem argumentos produz a exibi ca o do diagrama de Nichols. A fun ca o ngrid gera as linhas de grade para o tra cado de Nichols que correspondem ` as linhas de m odulo e angulo de fase constantes da fun ca o de transfer encia de malha aberta. A grade e a faixa de freq u encias e determinada automaticamente a partir dos p olos e zeros do sistema nichols (sys) %diagrama de Nichols nichols (sys,w) %diagrama de Nichols com faixa de freq u encia especicada nichols (sys1, sys2,..., sysN) %diagramas de Nichols sobrepostos de diversos sistemas Quando o comando e usado com os argumentos do m odulo, os vetores da resposta s ao exibidos em lugar do diagrama de Nichols [mod,fase,w]= nichols (sys) %valores do m odulo, fase e freq u encia [mod,fase,w]= nichols (sys,w) % valores do m odulo e fase para faixa de freq u encia especicada Considere o seguinte sistema dado pela sua fun ca o de transfer encia em malha aberta G(s)H (s) = 4s2 + 48s3 18s2 + 250s + 600 s2 + 30s3 18s2 + 282s + 60
O diagrama de Nichols pode ser obtido a partir dos comandos (Figura 2.30.) num = [-4 48 -18 250 600]; den = [1 30 282 525 60]; sys=tf(num,den); nichols (num, den ) ngrid
40
Nichols Chart 0 dB
30
0.25 dB 0.5 dB
20
1 dB
1 dB
10
3 dB 6 dB 3 dB
6 dB
10
12 dB
20 180
20 dB
270
360
450
540
630
720
75
2.17.13
Os par ametros de modelos com polos e zeros e um atraso para descrever processos utilizando respostas a entradas t picas podem ser obtidos com o uso de uma interface gr aca denotada ident. A seguir tr es processos frequentemente utilizados em laborat orio s ao identicados: motor CC, mini-forno e circuito RLC. Para identicar o modelo para o primeiro e segundo processos considera-se a resposta ao degrau e para o terceiro a resposta em frequencia. Identica c ao dos par ametros do modelo de um motor CC Identicar as constantes de tempo e ganho constante do modelo de um motor CC a partir da resposta ` a um degrau de tens ao aplicado na armadura. Considere a fun ca o de transfer encia entre a velocidade wrad/s e a tens ao aplicada na armadura va G(s) := = w(s)/va (s) Km (s + )(s + )
As linhas de comando para chamar e denir dados de entrada e sa da do motor CC s ao mostradas na Tabela 2.1 Tabela 2.1: Linhas de comando para uso do ` dent para obter par ametros do motor CC clear all; close all; clc; load dados.dat; %carregar dados do ensaio de tens ao t = dados(:,1); % tempo (s) % w = dados(:,2); % velocidade angular (rad/s)% Ts = 1/3000 %taxa de amostragem motor = iddata;motor.Tstart = 0; % dene objeto motor.Ts = Ts motor.InputData = 12*ones(size(t)); % dene entrada degrau motor.OutputData = w; % dene resposta ao degrau obtida ident % chamar a interface gr aca % importar dados via objeto motor % escolher modelo % executar o comando Estimate motorid.sid % salvar a se ca o ident(motorid.sid % chamar a se ca o salva previamente
76
Identica c ao do modelo de um miniforno Identicar a constante de tempo, atraso e ganho constante do modelo de um miniforno a partir da resposta ` a um degrau de tens ao aplicado na resist encia. Considere a fun ca o de transfer encia entre a temperatura temperatura em o C e a tens ao aplicada na resistencia t ermica G(s) := KesL (1 + sT )
em que K e o ganho est atico, T e a constante de tempo, e L e o atraso. As linhas de comando para chamar e denir dados de entrada e sa da do miniforno s ao apresentadas na Tabela 2.2. Tabela 2.2: Linhas de comando para uso do ` dent para obter par ametros do miniforno clear all; close all; clc; load dados; y = (dados.Y.Data*100/.38); tempo = dados.X.Data; u = 50*ones(size(y)); % tens ao de 50V aplicada D = dados.Capture.Downsampling; Ts = dados.Capture.SamplingPeriod; Ta = double(D)*Ts; % tempo de amostragem f1 = 0; f2 = 1; ltro = [0 (2*pi)*f2]; % Filtro passa banda [0,1Hz] dadoss = iddata(y,u,Ta); dadoss.Tstart = 0; % denindo objeto tempos = dadoss.SamplingInstants; disp(Filtrando...) dadoslt = idlt(dadoss,ltro); disp(Filtragem...OK) disp(Reamostrando...) P = 1; Q = 1000; dadosr = resample(dadoslt,P,Q,25,700); tempor = dadosr.SamplingInstants; gure(1) disp(Reamostragem...OK) saida = dadosr.Outputdata; entrada = dadosr.Inputdata; ident %chamar a interface gr aca
Identica c ao do modelo de um circuito RLC Identica ca o das constantes de tempo e ganho constante a partir da resposta em frequ encia. Seja um circuito RLC s erie como na Figura 5.3, tendo como entrada uma tens ao u(t) e como sa da a tens ao no capacitor y (t), cuja fun ca o de transfer encia se
77
relaciona com a fun ca o na forma can onica de um sistema de segunda ordem da seguinte maneira: G(s) = s2 +
1 LC 1 R L s + LC
Considera-se o seguinte modelo autoregressivo com entrada externa (ARX, das iniciais em ingl es) para representar os dados A(s)y (s) = B (s)u(s) + e(s) em que A(s) e B (s) denotam os polin omios A(s) = sna + a1 sna1 + + ana e B (s) = nb1 b1 s + + bnb , respectivamente. As linhas de comando para chamar e denir dados de entrada e sa da do processo 2.3. Tabela 2.3: Linhas de comando para uso do ` dent para obter par ametros do circuito RLC load dados.dat; %carregar dados da resposta em frequencia An = dados(:,1); % amplitude das oscila co es Fn = dados(:,2); % fase das oscila co es em graus w=dados(:,3); % frequencia das oscila co es em rad/s Ts=0; %sistema cont nuo RLC=idfrd(resposta,w,Ts); % dene objeto %resposta=An*exp(i*Fn*pi/180) % % % % % % chamar a interface gr aca importar dados via objeto RLC escolher modelo ARX de ordem na=2 e nb=1 executar o comando Estimate salvar a se ca o chamar a se ca o previamente salva
ident
RLC.sid ident(RLC.sid)