guiao trabalho 01 introducao matlab

12
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

Upload: david-martelo

Post on 05-Aug-2015

44 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Guiao Trabalho 01 Introducao MATLAB

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

Page 2: Guiao Trabalho 01 Introducao MATLAB

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 é:

Page 3: Guiao Trabalho 01 Introducao MATLAB

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.

Page 4: Guiao Trabalho 01 Introducao MATLAB

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.

Page 5: Guiao Trabalho 01 Introducao MATLAB

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

Page 6: Guiao Trabalho 01 Introducao MATLAB

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.

Page 7: Guiao Trabalho 01 Introducao MATLAB

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.

Page 8: Guiao Trabalho 01 Introducao MATLAB

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

Page 9: Guiao Trabalho 01 Introducao MATLAB

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.

Page 10: Guiao Trabalho 01 Introducao MATLAB

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

Page 11: Guiao Trabalho 01 Introducao MATLAB

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.

Page 12: Guiao Trabalho 01 Introducao MATLAB

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).