Upload
hoangcong
View
214
Download
0
Embed Size (px)
Citation preview
SISEL
Sistemas Electromecânicos
Guião do Trabalho Laboratorial Nº 1
Introdução ao MATLAB v7.1
Análise de um Servomecanismo de Posição
GRIS Group of Robotics and Intelligent Systems
Homepage: http://www.dee.isep.ipp.pt/~gris
Email: [email protected]
Ano Lectivo: 2006/2007
© 2006 GRIS – Group of Robotics and Intelligent Systems
Guião N.º 1: Introdução ao MATLAB – Análise de um Servomecanismo de Posição Página 1 de 11
Sistemas Electromecânicos – 2006/2007 Manuel Silva, Ramiro Barbosa, J. A. Tenreiro Machado
Introdução ao MATLAB v7.1 Análise de um Servomecanismo de Posição
Sumário: Pretende-se com este trabalho, fazer uma introdução às capacidades de resolução de problemas de análise de sistemas de controlo recorrendo ao software MATLAB (versão 7.1).
Considere o servomecanismo de posição ilustrado na figura seguinte (servomotor DC controlado pela armadura):
N1Bm
BL
N2
θL
Jm
JL
θm
+V
La
Ra
if=const
-+
eaeL
A
+V
er
θr
t
PotenciómetroAmplificadorDiferencial ede Potência Servomotor DC
Engrenagem
Carga
PotenciómetroArmadura
Excitação
Figura 1: Esquema equivalente do servomecanismo de posição
Este sistema apresenta o seguinte diagrama de blocos:
θR(s) ++
- -
θL(s)kp.A1
s.La+Rak 1
s2.Jeq+s.Beqn
s.Km
Figura 2: Diagrama de blocos do servomecanismo de posição
Que pode ser simplificado de forma a obter-se:
θR(s) +
-
θL(s)kp.A.k.n(s.La+Ra).(s
2.Jeq+s.Beq)+s.km.k
Figura 3: Diagrama de blocos simplificado do servomecanismo de posição
Considerando os seguintes valores para os parâmetros deste sistema:
A Kp Ra La K Km Jm Bm n=N1/N2 JL BL
1790 1 V/rad
2 Ω 0.18 H
10-5 N.m.A-1
56,5 V.rad-1.s
10-4 Kg.m2
5x10-5 N.m.rad-1.s
0,1 10-2 Kg.m2
115x10-4 N.m.rad-1.s
Tabela 1: Parâmetros do servomecanismo de posição
E substituindo os valores da tabela anterior, conclui-se que a função de transferência G'(s) do ramo directo é:
Guião N.º 1: Introdução ao MATLAB – Análise de um Servomecanismo de Posição Página 2 de 11
Sistemas Electromecânicos – 2006/2007 Manuel Silva, Ramiro Barbosa, J. A. Tenreiro Machado
G ss s s
' ( ) =+ +
5012 253 2
Equação 1: Função de transferência do ramo directo do servomecanismo de posição
Determinada a forma canónica do diagrama de blocos apresentado anteriormente, obtém-se:
θR(s) θL(s)kp.A.k.nLa.Jeq.s
3+(La.Beq+Ra.Jeq).s2+(Ra.Beq+k.km).s+kp.A.k.n
Figura 4: Forma canónica do diagrama de blocos do servomecanismo de posição
Daqui, conclui-se facilmente que a função de transferência em malha fechada para este sistema é:
G sss s s s
L
R( )
( )( )
= =+ + +
θθ
5012 25 503 2
Equação 2: Função de transferência do servomecanismo de posição
A partir destes resultados pode-se iniciar o estudo deste sistema, recorrendo ao software MATLAB.
1. Implementação da Função de Transferência no MATLAB
1. O primeiro passo para o estudo deste sistema recorrendo ao MATLAB, passa pela implementação da sua função de transferência no MATLAB.
a) Para esse efeito inicie a aplicação MATLAB;
b) Genericamente pode-se considerar uma função de transferência G(s) como sendo a razão de dois polinómios:
G sB sA s
numden
b s b s b na s a s a n
n n
n n( )( )( )
( ). ( ). ... ( )( ). ( ). ... ( )
= = =+ + ++ + +
−
−
1 21 2
1
1
Equação 3: Função de transferência genérica de um sistema
em que a(1) ≠ 0, mas em que alguns dos coeficientes a(i) e b(i) podem ser nulos.
c) Para definir a função de transferência torna-se necessário estabelecer o seu numerador e denominador. num e den são vectores linha que especificam os coeficientes do numerador e do denominador da função de transferência do sistema, assumindo a seguinte forma: num=[b(1) b(2) … b(n)] den=[a(1) a(2) … a(n)]
d) Uma vez que o numerador da função de transferência deste sistema é N(s) = 50 e o denominador é D(s) = s3+12s2+25s+50, introduza estes dois polinómios no MATLAB, tal como apresentado na Figura 5.
e) A partir deste instante, e como se vai mostrar de seguida, encontra-se em condições de iniciar o estudo do sistema.
Guião N.º 1: Introdução ao MATLAB – Análise de um Servomecanismo de Posição Página 3 de 11
Sistemas Electromecânicos – 2006/2007 Manuel Silva, Ramiro Barbosa, J. A. Tenreiro Machado
Figura 5: Definição da função de transferência do sistema no MATLAB
2. O primeiro passo no estudo de um sistema de controlo a partir da sua função de transferência passa pela factorização do numerador e do denominador em factores básicos. A factorização pode ser útil, por exemplo, para a determinação da Transformada Inversa de Laplace da Função de Transferência do sistema, no caso de se pretender obter a resposta temporal do sistema a uma entrada particular.
a) No caso particular do sistema em consideração só tem interesse determinar a decomposição do denominador em factores básicos. Para isso, deve-se utilizar o comando roots(den), tal como é mostrado na figura seguinte (Figura 6).
b) Obtiveram-se desta forma os pólos da função de transferência, que se conclui serem:
p1 = −10
p2 = −1 + j2
p3 = −1 − j2
c) Alternativamente pode-se pretender decompor a função de transferência em fracções parciais.
d) A decomposição em fracções parciais resulta na seguinte equação:
G sB sA s
k sr
s pr
s pr n
s p n( )
( )( )
( )( )
( )( )
( )...
( )( )
= = +−
+−
+ +−
11
22
Equação 4: Decomposição em fracções parciais da função de transferência genérica de um sistema
e) Para este efeito o comando a utilizar deve ser o comando [r,p,k]=residue(num,den), tal como é apresentado na Figura 7.
Guião N.º 1: Introdução ao MATLAB – Análise de um Servomecanismo de Posição Página 4 de 11
Sistemas Electromecânicos – 2006/2007 Manuel Silva, Ramiro Barbosa, J. A. Tenreiro Machado
Figura 6: Determinação dos pólos da função de transferência
Figura 7: Decomposição da função de transferência em fracções parciais
f) Desta forma obtiveram-se os numeradores (no vector r) e os respectivos denominadores (no vector p) das fracções parciais em que podemos decompor a função de transferência em estudo. Obtém-se ainda informação no vector k que, neste caso particular, é um vector "vazio". Caso a ordem do numerador da função de transferência fosse superior à ordem do
Guião N.º 1: Introdução ao MATLAB – Análise de um Servomecanismo de Posição Página 5 de 11
Sistemas Electromecânicos – 2006/2007 Manuel Silva, Ramiro Barbosa, J. A. Tenreiro Machado
seu denominador, obteríamos no vector k, os termos resultantes da divisão inteira entre o numerador e o denominador da função de transferência.
2. Resposta Temporal do Sistema
3. Depois da função de transferência estar definida no MATLAB (ver alínea 1.) pode-se também verificar qual a resposta do sistema às entradas impulso unitário e degrau unitário.
a) Para traçar a resposta de um sistema a uma entrada em impulso unitário, utiliza-se o comando impulse(num,den), tal como se apresenta na figura seguinte:
Figura 8: Resposta temporal do sistema a uma entrada em impulso unitário
b) Alternativamente, e caso se pretenda especificar o intervalo de tempo para o qual se pretende observar a resposta do sistema a uma entrada em impulso unitário, deve-se utilizar o comando impulse(num,den,t), no qual a variável t deve especificar o intervalo de tempo a visualizar.
c) No caso de se pretender traçar a resposta de um sistema a uma entrada em degrau unitário, utiliza-se o comando step(num,den), tal como se apresenta na figura seguinte (Figura 9).
d) Tal como anteriormente, caso se pretenda especificar o intervalo de tempo para o qual se pretende observar a resposta do sistema a uma entrada em degrau unitário, deve-se utilizar o comando step(num,den,t), no qual a variável t deve especificar o intervalo de tempo a visualizar.
Guião N.º 1: Introdução ao MATLAB – Análise de um Servomecanismo de Posição Página 6 de 11
Sistemas Electromecânicos – 2006/2007 Manuel Silva, Ramiro Barbosa, J. A. Tenreiro Machado
Figura 9: Resposta temporal do sistema a uma entrada em degrau unitário
4. Também é possível esboçar a resposta do sistema a uma entrada em rampa unitária, apesar de neste caso não existir um comando que o permita fazer directamente. Para esse efeito, sabendo que a Transformada de Laplace da função rampa unitária é 1/s2, procede-se da seguinte forma:
a) Uma hipótese passa por multiplicar o denominador da função de transferência por s2 e determinar a resposta do sistema a um impulso unitário, recorrendo ao comando impulse(num,den).
b) Alternativamente pode-se multiplicar o denominador da função de transferência do sistema por s, e determinar a resposta do sistema a um degrau unitário, recorrendo ao comando step(num,den), tal como se apresenta na figura seguinte (Figura 10).
c) É de realçar que em qualquer uma das duas situações referidas anteriormente é necessário definir novamente o polinómio do denominador da função de transferência, para considerar a multiplicação por s2 no primeiro caso e por s no segundo caso, como pode ser verificado na figura anterior.
Guião N.º 1: Introdução ao MATLAB – Análise de um Servomecanismo de Posição Página 7 de 11
Sistemas Electromecânicos – 2006/2007 Manuel Silva, Ramiro Barbosa, J. A. Tenreiro Machado
Figura 10: Resposta temporal do sistema a uma entrada em rampa unitária
3. Análise da estabilidade do sistema recorrendo ao Lugar de Raízes
5. Uma outra possibilidade passa por efectuar o estudo da estabilidade do sistema recorrendo ao Lugar de Raízes. Assim, vamos considerar que neste caso se pretende efectuar o estudo da estabilidade do sistema em função do ganho do bloco amplificador de potência e amplificador diferencial.
a) De forma a fazer a análise pretendida temos que considerar a função de transferência do sistema em malha aberta. Para isso, e recorrendo à Figura 3 e à Equação 1, conclui-se que a função de transferência em malha aberta deste sistema é:
Ak k n
s L R s J s B s k kp
a a eq eq m
' .. .
( . )( . . ) . .+ + +2
Equação 5: Função de transferência em malha aberta do servomecanismo de posição
sendo A' a variação do valor do parâmetro A (ganho do bloco amplificador de potência e amplificador diferencial) relativamente ao seu valor base.
b) Substituindo os valores dos parâmetros na equação anterior (de acordo com a Tabela 1), e dado que vamos considerar as variações do ganho do bloco amplificador de potência e amplificador diferencial relativamente ao ganho pré-estabelecido (A=1790), obtemos a seguinte equação característica:
1 150
12 253 2+ = ++ +
k G s As s s
. ' ( ) ' .
Equação 6: Equação característica do sistema
Guião N.º 1: Introdução ao MATLAB – Análise de um Servomecanismo de Posição Página 8 de 11
Sistemas Electromecânicos – 2006/2007 Manuel Silva, Ramiro Barbosa, J. A. Tenreiro Machado
c) Neste caso o novo polinómio do numerador passa a ser N(s) = 50 e o do denominador é D(s) = s3+12s2+25s.
d) O primeiro passo para se esboçar o Lugar de Raízes é definir os novos numerador e denominador referentes à função de transferência em malha aberta do sistema (ver Figura 11).
e) Para traçar o Lugar de Raízes deve-se recorrer ao comando rlocus(num,den), tal como pode ser visto na figura seguinte:
Figura 11: Lugar Geométrico de Raízes do sistema
4. Análise da resposta em frequência do sistema através dos diagramas de Bode e dos diagramas polares (ou de Nyquist)
6. É também possível esboçar os diagramas de Bode de amplitude e fase de um sistema recorrendo ao MATLAB, quer para o sistema em malha aberta, quer para o sistema em malha fechada.
a) Por exemplo, para o sistema em malha fechada deve-se recorrer ao comando bode(num,den), e considerar a função de transferência em malha fechada do sistema (Equação 2), tal como se apresenta na figura seguinte (Figura 12).
7. Adicionalmente é também possível traçar os diagramas polares de um dado sistema (também chamados diagramas de Nyquist).
a) Para este efeito deve-se recorrer ao comando nyquist(num,den), tal como se apresenta na Figura 13.
Guião N.º 1: Introdução ao MATLAB – Análise de um Servomecanismo de Posição Página 9 de 11
Sistemas Electromecânicos – 2006/2007 Manuel Silva, Ramiro Barbosa, J. A. Tenreiro Machado
Figura 12: Diagramas de Bode, de amplitude e fase, do sistema em malha fechada
Figura 13: Diagrama polar do sistema em malha fechada
Guião N.º 1: Introdução ao MATLAB – Análise de um Servomecanismo de Posição Página 10 de 11
Sistemas Electromecânicos – 2006/2007 Manuel Silva, Ramiro Barbosa, J. A. Tenreiro Machado
5. Análise da estabilidade do sistema recorrendo ao Critério de Nyquist
8. Para se efectuar a análise de estabilidade de um sistema recorrendo ao critério de estabilidade de Nyquist tem que se recorrer ao Diagrama polar do sistema em malha aberta.
a) Assim, o primeiro passo, consiste em definir o numerador e o denominador referentes à função de transferência em malha aberta do sistema (ver Equação 6).
b) De seguida, deve-se traçar o diagrama polar da função de transferência em malha aberta recorrendo ao comando nyquist(num,den), tal como pode ser visto na figura seguinte:
Figura 14: Diagrama polar da função de transferência em malha aberta do sistema
6. Margem de Fase e Margem de Ganho
9. Para além de possibilitar a análise da estabilidade de um dado sistema recorrendo quer ao critério de estabilidade de Nyquist, quer ao seu Lugar Geométrico de Raízes, o software MATLAB possibilita ainda a determinação da estabilidade relativa desse mesmo sistema através do cálculo da sua margem de fase e margem de ganho e da sua representação sobreposta aos traçados de Bode.
a) Para este efeito, deverá ser considerada a função de transferência em malha fechada do sistema (Equação 2), e dever-se-á recorrer ao comando margin(num,den).
b) Tal como se pode ver na Figura 15, são apresentadas a margem de fase (Pm=67.5º) e a margem de ganho (Gm=14.0 dB) do sistema, assim como as frequências a que ocorrem (respectivamente Wcp=2.4 rad/s e Wcg=5.0 rad/s), e é efectuada a sua representação sobreposta aos traçados de Bode.
Guião N.º 1: Introdução ao MATLAB – Análise de um Servomecanismo de Posição Página 11 de 11
Sistemas Electromecânicos – 2006/2007 Manuel Silva, Ramiro Barbosa, J. A. Tenreiro Machado
Figura 15: Margem de fase e margem de ganho do sistema e da sua representação sobreposta aos
traçados de Bode
7. Conclusões
Acabamos de ver como é possível recorrendo ao software MATLAB efectuar o estudo de um sistema de controlo.
As noções aqui introduzidas, de uma forma necessariamente resumida, podem ser desenvolvidas recorrendo à bibliografia que se apresenta de seguida.
8. Bibliografia
[1] – Gene F. Franklin, J. David Powell, Abbas Emami-Naeini; Feedback Control of Dynamic Systems; Prentice-Hall International Edition; Fifth Edition; (2006).
[2] – Katsuhiko Ogata; System Dynamics; Prentice-Hall International Edition; Third Edition; (1998).
[3] – Katsuhiko Ogata; Solving Control Engineering Problems With MATLAB; Prentice-Hall; (1994).