
























Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Apostila. - Apostila.
Tipologia: Notas de estudo
1 / 32
Esta página não é visível na pré-visualização
Não perca as partes importantes!

























Nesta se¸c˜ao, os comandos b´asicos do CONTROL SYSTEM Toolbox do MATLAB s˜ao introduzidos. O comando helpcontrol fornece uma lista das diversas fun¸c˜oes dispon´ıveis. Para obter mais detalhes sobre cada uma das fun¸c˜oes pode-se usar o comando help < nome da fun¸c˜ao >. Para a elabora¸c˜ao desta se¸c˜ao 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¸c˜ao de transferˆencia ou por um modelo em espa¸co de estado. Na representa¸c˜ao por fun¸c˜ao de transferˆencia definem- se os coeficientes dos polinˆomios do numerador e denominador. Na representa¸c˜ao em espa¸co de estado definem-se as quatro matrizes que caracterizam o modelo.
As fun¸c˜oes de transferˆencia no dom´ınio da vari´avel complexa ‘s/z’ s˜ao usadas para caracterizar as rela¸c˜oes entre entrada e sa´ıda de sistemas cont´ınuos/discretos que possam ser descritos por equa¸c˜oes diferenciais/a diferen¸ca lineares invariantes no tempo. Para condi¸c˜oes iniciais nulas, a partir da aplica¸c˜ao da transformada de Laplace `as equa¸c˜oes diferenciais lineares obt´em-se a rela¸c˜ao entre a entrada e a sa´ıda descrita por uma rela¸c˜ao entre polinˆomios na vari´avel complexa s. No MATLAB, os polinomios s˜ao descritos pelos seus coeficientes. Por exemplo, a fun¸c˜ao de transferˆencia em ‘s’
y(s) r(s)
3 s^2 − 2 s^2 + 2s + 4
´e introduzida pelos coeficientes 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¸c˜ao de transferˆencia na forma num/den=
3 s − 2 s∧2 + 2s + 4
o comando ≫ G=tf(num,den) fornece Transfer function: 3 s − 2 s∧2 + 2s + 4
e o comando ≫ G = tf(num,den,TS) gera uma fun¸c˜ao de transferˆencia para sistemas discretos com T S o tempo de amostragem. A saida G ´e um objeto do tipo TF. Eviden- temente, a fun¸c˜ao pode ser chamada de outro nome qualquer.
Um sistema dinˆamico formado por elementos concentrados pode ser representado por equa¸c˜oes diferenciais ordin´arias em que o tempo ´e a vari´avel independente. Fazendo uso de nota¸c˜ao matricial-vetorial, uma equa¸c˜ao diferencial de ordem n pode ser representada por uma equa¸c˜ao matricial-vetorial de primeira ordem. Se n elementos do vetor formam um conjunto de vari´aveis de estado, a descri¸c˜ao 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˙ =
x +
u
y =
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 x x1 2.00000 -1. x2 3.00000 -1.
B=
u x1 1. x2 0
C=
x1 x y1 2.00000 -0.
Fun¸c˜ao de transferˆencia (transfer function - tf ) Espa¸co de estado (state space - ss) Zeros, p´olos e ganho (zero pole gain - zp) Em todos os tipos de convers˜oes lembrar que a fun¸c˜ao de transferˆencia ´e dada por um polinˆomio no numerador e no denominador, a representa¸c˜ao espa¸co de estado ´e dada pelas matrizes A, B, C, D e a representa¸c˜ao 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¸c˜ao de transferˆencia e vice-versa utilizam-se as fun¸c˜oes ss 2 tf e tf 2 ss, respectivamente. Considere o seguinte sistema dado na forma espa¸co de estado
x˙ =
x +
u
y =
x
≫A = [-2 - 1; 1 - 2]; ≫B = [1 2]’; ≫C = [1 0]; ≫D = [0]; ≫[num,den] = ss2tf(A, B, C, D) num= 0 1 0 den= 1 4 5
E, a fun¸c˜ao de transferˆencia do sistema possui a forma
G(s) =
s s^2 + 4s + 5
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¸c˜ao 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
≫[num,den]=zp2tf (z, [p1 p2], k);
obtendo-se portanto a mesma fun¸c˜ao 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¸c˜oes tf 2 ss e zp 2 ss
Considere a seguinte fun¸c˜ao de transferˆencia
G(s) =
s s^2 + 4s + 5
As linhas de comando para obter a representa¸c˜ao espa¸co de estado seguem ≫ num=[0 1 0 ] ≫den = [ 1 4 5 ] ≫[A, B, C, D]=tf2ss(num,den) A sua representa¸c˜ao em espa¸co de estado ´e como segue A=
Se fossem dados os p´olos, zeros e ganho do sistema, a convers˜ao para a representa¸c˜ao espa¸co de estado seguiria os passos usados para obter a fun¸c˜ao de transferˆencia, mas, obtendo-se as matrizes A, B, C, D e n˜ao os coeficientes do numerador e denominador da fun¸c˜ao 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¸c˜oes
Aqui e doravante, considera-se que um sistema sys pode estar representado por
Fun¸c˜ao de transferˆencia: sys = (num, den) Espa¸co de estado: sys=(A, B, C, D)
A seguinte fun¸c˜ao implementa a associa¸c˜ao de sistemas em cascata ≫ sys=series(sys1,sys2)
Figura 2.12: Conec¸c˜ao em cascata.
Considere as fun¸c˜oes 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: 2 s + 2 4 s∧4 + 13s∧3 + 28s∧2 + 27s + 18 Para os sistemas descritos por fun¸c˜ao 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 = 0 0 0 2 2 den = 4 13 28 27 18 Assim, utilizando ≫ sys = tf(num, den ) obt´em-se a fun¸c˜ao de transferˆencia do sistema resultante. Considere os modelos espa¸co de estado de um sistema conectado sys
≫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)
x1 x2 x3 x x1 -4 -5 2 -0. x2 1 0 0 0 x3 0 0 2 - x4 0 0 3 -
u x1 0 x2 0 x3 1 x4 0
x1 x2 x3 x y1 1 0 0 0
u y1 0
Continuous-time model
≫ G=tf(num,den) ≫ sys=feedback(G,-1)
Transfer function: s - 6 —— s∧2 - 1 E, a fun¸c˜ao de transferˆencia ´e da forma
sys :
y(s) r(s)
G(s) 1 + G(s)
s − 6 s^2 − 1
Observa¸c˜ao 2.2 Para realimenta¸c˜ao n˜ao unit´aria negativa utiliza-se comando feedback (sys1,sys2,-1) e para realimenta¸c˜ao n˜ao unit´aria positiva o comando feedback (sys1,sys2,1).
Considere o sistema de 2a^ ordem
y(s) r(s)
w n^2 s^2 + 2ξwn + w^2 n
A sua constru¸c˜ao na forma de fun¸c˜ao de transferˆencia ou espa¸co de estado pode ser realizada a partir da freq¨uˆencia natural wn e do coeficiente de amortecimento ξ. No caso de sistema na forma de fun¸c˜ao de transferˆencia com uma freq¨uˆencia natural de wn = 2. 4 rad/s e, com um coeficiente de amortecimento ξ = 0.4 pode-se utilizar
≫ [num, den] = ord2 (2.4, 0.4) num =
1
den =
1.0000 1.9200 5.
correspondendo `a fun¸c˜ao de transferˆencia
y(s) r(s)
s^2 + 1. 92 s + 5. 76
Em sistemas de controle ´e usual utilizar entradas de teste t´ıpicas para avalia¸c˜ao do desempenho do controlador. As entradas de teste usualmente utilizadas s˜ao degrau,
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¸c˜ao 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 y(s) r(s)
Kw n^2 s^2 + 2ξwn + w^2 n O comportamento dinˆamico deste sistema de 2a^ ordem pode ser descrito pela freq¨uˆencia natural wn e pelo coeficiente de amortecimento ξ. A fun¸c˜ao step fornece a resposta de um sistema no dom´ınio do tempo a uma entrada em degrau unit´ario para condi¸c˜ao inicial nula. Quando o comando ´e utilizado sem argumentos, esta fun¸c˜ao fornece grafi- camente a solu¸c˜ao do sistema em resposta ao degrau unit´ario. A dura¸c˜ao da simula¸c˜ao ´e determinada automaticamente baseada nos p´olos e zeros do sistema
≫ step (sys) onde sys = tf(num,den) % fun¸c˜ao 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´afico. O gr´afico da resposta do sistema pode ser obtido com a fun¸c˜ao plot
≫ [y, t] = step(sys) %sistema representado por fun¸c˜ao 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¸c˜ao da simula¸c˜ao atrav´es da imposi¸c˜ao do tempo
≫ t = 0 : 0.1 : 10 ≫ step (sys,t)
0 0.5 1 1.5 2 2.5 3 0
1
1.4 Step Response
Time (sec)
Amplitude
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¸c˜ao de transferˆencia 25/(s^2 + 4s + 25) ≫sys2=tf(num2,den2); %fun¸c˜ao 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¸c˜ao 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
y(s) =
s^2 + 4s + 25
r(s) com r(s) = 1
0 1 2 3 4 5 0
1
2
3
4
5 Step Response
Time (sec)
Amplitude
Figura 2.16: Resposta sistema G(s) = 25/(s^2 + 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¸c˜ao initial gera a resposta no dom´ınio do tempo de um sistema no espa¸co de estado com condi¸c˜oes iniciais n˜ao nulas. Considere um sistema representado no espa¸co de estado com condi¸c˜oes iniciais n˜ao nulas
x˙ = Ax + Bu, x(0) = x 0 y = Cx As linhas de comando que possibilitam a obten¸c˜ao da resposta do sistema a este tipo
Response to Initial Conditions
Time (sec)
Amplitude
0 5 10 15 20 −
−
0
1
2
3
4
5
Figura 2.18: Resposta do sistema [A,B,C,D] `a condi¸c˜ao inicial x 0.
A fun¸c˜ao 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¸c˜oes anteriores ≫ lsim (sys, u, t)
A matriz formada pela entrada u possui tantas colunas quanto a dimens˜ao do ve- tor u no tempo t(length(t)). A fun¸c˜ao lsim pode tamb´em gerar a resposta a entrada arbitr´aria de sistemas representados no espa¸co de estado com condi¸c˜oes 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¸c˜oes no dom´ınio do tempo atrav´es do uso da fun¸c˜ao lsim. A fun¸c˜ao gensig suporta as seguintes classes de sinal type = ’sin’ : onda senoidal type = ’square’ : onda quadrada type = ’pulse’ : impulso peri´odico
≫ [u, t] = gensig(type, τ )
Considere a seguinte fun¸c˜ao de transferˆencia y(s) r(s)
s − 1 s^2 + 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¸c˜ao 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 0 2 4 6 8 10
−
−0.
0
1
1.5 Linear Simulation Results
Time (sec)
Amplitude
Figura 2.19: Resposta do sistema a uma entrada quadrada.
A caracter´ıstica b´asica da resposta transit´oria de um sistema em malha fechada est´a intimamente relacionada com a localiza¸c˜ao dos p´olos de malha fechada. Os p´olos de
Usando rlocus
A fun¸c˜ao 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¸c˜ao da varia¸c˜ao do ganho K desde zero at´e infinito. O lugar geom´etrico das ra´ızes indica o lugar dos p´olos de malha fechada do sistema em fun¸c˜ao do ganho de realimenta¸c˜ao K para realimenta¸c˜ao negativa. O lugar geom´etrico das ra´ızes ´e usado no estudo dos efeitos da varia¸c˜ao do ganho de realimenta¸c˜ao na localiza¸c˜ao dos p´olos de malha fechada. As diferentes fun¸c˜oes de transferˆencia de malha aberta de sistemas para implementa¸c˜ao da fun¸c˜ao rlocus, s˜ao mostradas na Figura 2.
Figura 2.21: Diferentes configura¸c˜oes de realimenta¸c˜ao.
Seja G(s) dada por G(s) =
n(s) d(s)
Os p´olos do sistema realimentado s˜ao dados pelas ra´ızes de
d(s) + Kn(s) = 0
Quando o comando rlocus ´e utilizado sem argumentos obt´em-se o lugar dos p´olos em fun¸c˜ao do ganho K. Em caso contr´ario, apresenta duas colunas correspondentes `a localiza¸c˜ao das ra´ızes complexas r e, o respectivo ganho K, sem gerar qualquer gr´afico
≫ rlocus (sys) %gera¸c˜ao do lugar das ra´ızes ≫rlocus (sys,K) %mapa das ra´ızes para um determinado ganho K ≫[r,K] = rlocus(sys) %gera¸c˜ao dos vetores das ra´ızes e respectivo ganho ≫r = rlocus (sys,K) %ra´ızes para um ganho fixo K
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)
Root Locus
Real Axis
Imaginary Axis
−50 −40 −30 −20 −10 0 10 20 30 −
−
−
0
10
20
30
Figura 2.22: Lugar das ra´ızes de do polinˆomio caracter´ıstico δ(s) = d(s) + Kn(s) em fun¸c˜ao de K para num=conv([1 10],[1 10])e den=conv([1 -20],[1 4 68].
Ganho est´atico
A fun¸c˜ao rlocf ind utiliza a regra da magnitude do lugar geom´etrico das ra´ızes para determinar o ganho para uma localiza¸c˜ao particular das ra´ızes. Trata-se de uma fun¸c˜ao interativa, j´a que permite ao usu´ario selecionar a localiza¸c˜ao das ra´ızes no tra¸cado do lugar de ra´ızes para as quais pretende determinar o ganho de realimenta¸c˜ao. No en- tanto, pode ser utilizada com argumentos de modo a calcular o ganho de realimenta¸c˜ao para uma localiza¸c˜ao especifica das ra´ızes.
≫ [K,poles]= rlocfind (sys) %obten¸c˜ao do ganho K interativamente ≫[K,poles] = rlocfind (sys,p) %obten¸c˜ao do ganho K para uma localiza¸c˜ao especifica dos p´olos.