Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


CONTROLO DE SISTEMAS, Slides de Automação

Estes apontamentos pretendem descrever e introduzir os comandos básicos da CONTROL SYSTEM Toolbox do MATLAB para permitir o estudo de sistemas dinâmicos lineares. O documento tal como está estruturado, pressupõe alguma familiaridade de utilização do MATLAB, nomeadamente em termos de representação e manipulação de matrizes e polinómios e ainda de elaboração de gráficos.

Tipologia: Slides

2023

Compartilhado em 22/06/2023

jullie-rodrigues-guimaraes-1
jullie-rodrigues-guimaraes-1 🇧🇷

2 documentos

1 / 38

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
U
UN
NI
IV
VE
ER
RS
SI
ID
DA
AD
DE
E
D
DA
A
B
BE
EI
IR
RA
A
I
IN
NT
TE
ER
RI
IO
OR
R
D
DE
EP
PA
AR
RT
TA
AM
ME
EN
NT
TO
O
D
DE
E
E
EN
NG
GE
EN
NH
HA
AR
RI
IA
A
E
EL
LE
EC
CT
TR
RO
OM
ME
EC
CÂ
ÂN
NI
IC
CA
A
CONTROLO DE SISTEMAS
APONTAMENTOS DE M
MA
AT
TL
LA
AB
B
CONTROL SYSTEM Toolbox
Pedro Dinis Gaspar
António Espírito Santo
J. A. M. Felippe de Souza
Edição Abril 2002
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26

Pré-visualização parcial do texto

Baixe CONTROLO DE SISTEMAS e outras Slides em PDF para Automação, somente na Docsity!

UUNNIIVVEERRSSIIDDAADDEE DDAA BBEEIIRRAA IINNTTEERRIIOORR

D DEEPPAARRTTAAMMEENNTTOO DDEE EENNGGEENNHHAARRIIAA EELLEECCTTRROOMMEECCÂÂNNIICCAA

CONTROLO DE SISTEMAS

APONTAMENTOS DE MMAATTLLAABB

CONTROL SYSTEM Toolbox

Pedro Dinis Gaspar

António Espírito Santo

J. A. M. Felippe de Souza

Edição Abril 2002

ÍNDICE

      • INTRODUÇÃO
      • REPRESENTAÇÃO DE SISTEMAS..............................................................................................................
    • 2.1. REPRESENTAÇÃO DA FUNÇÃO DE TRANSFERÊNCIA DO SISTEMA
    • 2.2. REPRESENTAÇÃO DE SISTEMAS EM ESPAÇO DE ESTADOS
    • 2.3. CONVERSÃO DA REPRESENTAÇÃO DE SISTEMAS CONTÍNUOS
      • 2.3.1. Conversão da representação de sistemas para função de transferência...............................................
      • 2.3.2. Conversão da representação de sistemas para espaço de estados
      • 2.3.3. Obtenção dos Pólos, Zeros e Ganho do sistema
      • MODELAÇÃO DE SISTEMAS......................................................................................................................
    • 3.1. BLOCOS EM CASCATA
    • 3.2. SOMADOR DE BLOCOS
    • 3.3. REALIMENTAÇÃO UNITÁRIA DE SISTEMAS
    • 3.4. REALIMENTAÇÃO NÃO UNITÁRIA DE SISTEMAS........................................................................
    • 3.5. CONSTRUÇÃO DE SISTEMAS DE 2ª ORDEM A PARTIR DE ϖn E DE ζ
      • RESPOSTA NO DOMÍNIO DO TEMPO
    • 4.1. RESPOSTA A UMA ENTRADA EM DEGRAU UNITÁRIO................................................................
    • 4.2. RESPOSTA A UMA ENTRADA EM RAMPA UNITÁRIA
    • 4.3. RESPOSTA A UMA ENTRADA EM IMPULSO
    • 4.4. RESPOSTA A ENTRADAS COM CONDIÇÕES INICIAIS NÃO NULAS.
    • 4.5. RESPOSTA A UMA ENTRADA ARBITRÁRIA
      • ANÁLISE DO LUGAR GEOMÉTRICO DAS RAÍZES...............................................................................
    • 5.1. MAPEAMENTO DE PÓLOS E ZEROS DE SISTEMAS EM MALHA ABERTA................................
    • 5.2. LUGAR GEOMÉTRICO DAS RAÍZES (ROOT LOCUS)
    • 5.3. ANÁLISE DE VALOR DO GANHO DE REALIMENTAÇÃO DO SISTEMA
    • 5.4. CURVAS DE ϖn E DE ζ CONSTANTE..................................................................................................
      • RESPOSTA NO DOMÍNIO DA FREQUÊNCIA..........................................................................................
    • 6.1. DIAGRAMAS DE BODE
      • 6.1.1. Diagrama de Bode : Módulo e Ângulo de Fase (BODE)..................................................................
      • 6.1.2. Margem de Ganho e Margem de Fase
    • 6.2. DIAGRAMA DE NYQUIST....................................................................................................................
    • 6.3. DIAGRAMA DE NICHOLS (NICHOLS)
      • REFERÊNCIAS BIBLIOGRÁFICAS

2. - REPRESENTAÇÃO DE SISTEMAS

No MATLAB os sistemas dinâmicos podem representar-se por intermédio de uma função de transferência ou por um modelo em espaço de estados. Na representação por função de transferência definem-se os coeficientes dos polinómios do numerador e denominador. Na representação em espaço de estados definem-se as quatro matrizes que caracterizam o modelo.

2.1. REPRESENTAÇÃO DA FUNÇÃO DE TRANSFERÊNCIA DO SISTEMA

As chamadas funções de transferência são funções usadas para caracterizar as relações entre entrada e saída de componentes ou sistemas que possam ser descritos por equações diferenciais lineares invariantes no tempo. A representação de sistemas em função de transferência pressupõe o emprego das transformadas de Laplace às equações diferenciais lineares que descrevem o modelo matemático do sistema dinâmico. Assim, a equação diferencial linear pode ser transformada numa equação algébrica composta por um num erador e um den ominador , em função de uma variável complexa s. Por exemplo, o seguinte sistema que se encontra apresentado na forma de função de transferência deverá ser introduzido no MATLAB, pelos coeficientes das sucessivas potências dos polinómios que surgem ordenados por ordem significativa decrescente:

2

2

s s

s Rs

Y s

_>> num = [ 3 – 2 ]

den = [ 1 2 4 ] printsys ( num , den )_

Esta última função printsys apresentará na Janela de Comando (Command Windows), a função de transferência que descreve o sistema :

num/den =

_3 s - 2

s^2 + 2 s + 4_

2.2. REPRESENTAÇÃO DE SISTEMAS EM ESPAÇO DE ESTADOS

Um sistema dinâmico que consiste num número finito de elementos concentrados pode ser escrito por equações diferenciais ordinárias em que o tempo é a variável independente. Fazendo uso de notação matricial-vectorial, uma equação diferencial de ordem n pode ser representada por uma equação matricial-vectorial de primeira ordem. Se n elementos do vector são um conjunto de variáveis de estado, então a equação diferencial matricial vectorial é denominada de equação de estado. Deste modo, um sistema representado na forma de equações de estado será dado por:

y Cx Du

x Ax Bu

Considerando o seguinte sistema representado no espaço de estado, a sua introdução no MATLAB efectua-se pelo método comum de introdução de matrizes na Janela de Comando :

y [ ] x

x x u

_>> A = [ 2 - 1 ; 3 - 1 ]

B = [ 1 0 ]’ C = [ 2 - 0.5 ] D = [ 0 ]_

2.3. CONVERSÃO DA REPRESENTAÇÃO DE SISTEMAS CONTÍNUOS

O MATLAB possui diversas funções que convertem a representação na qual o sistema está expresso. É possível realizar conversões de representação de sistemas de e para :

  • Função de Transferência ( t ransfer f unction – tf );
  • Espaço de Estados ( s tate s pace – ss );
  • Zeros, Pólos e Ganho ( z ero p ole gain – zp ).

2.3.1. Conversão da representação de sistemas para função de transferência É possível converter a representação de sistemas em equações de estados ou a partir dos pólos, zeros e ganho através do uso das seguintes funções:

ss2tf Conversão de representação em espaço de estados para função de transferência. zp2tf Representação em função de transferência a partir dos Pólos, Zeros e Ganho do sistema.

Considere o seguinte sistema dado na forma de equações de estado:

y [ ] x

x x u

_>> A = [ -2 - 1 ; 1 - 2 ]

B = [ 1 2 ]’ C = [ 1 0 ] D = [ 0 ] [ num,den ] = ss2tf ( A, B, C, D )_

C = 1 0

D = 0

Se fossem dados os Pólos, Zeros e Ganho do sistema, a conversão para a representação em espaço de estados seguiria a mesma metodologia apresentada para o caso da função de transferência, tendo em consideração que se pretende obter as matrizes A , B , C , D e não o num erador e den ominador.

2.3.3. Obtenção dos Pólos, Zeros e Ganho do sistema Dado qualquer sistema representado no espaço de estados ou descrito por uma função de transferência, é possível extrair os seus os Pólos, Zeros e o Ganho através do uso das seguintes funções:

tf2zp Obtenção dos Pólos, Zeros e Ganho do sistema a partir da função de transferência. ss2zp Obtenção dos Pólos, Zeros e Ganho do sistema a partir da sua representação em espaço de estados.

Os Pólos, Zeros e o Ganho dos sistemas anteriores representados no espaço de estados e em forma de função de transferência são dados por :

_>> % Sistema representado na forma de equação de transferência

num = [ 0 1 0 ] den = [ 1 2 5 ] [ z, p, k ] = tf2zp ( num, den )_

_>> % Sistema representado no espaço de estados

A = [ -2 - 1 ; 1 - 2 ] B = [ 1 2 ]’ C = [ 1 0 ] D = [ 0 ] [ z, p, k ] = ss2zp ( A, B, C, D )_

z = 0

p =

_- 1 + 2 i

  • 1 - 2 i_

k = 1 0

NOTA : Em todos os tipos de conversões apenas é necessário ter em consideração que a função de transferência é dada por um num erador e den ominador , enquanto a representação em espaço de estado pelas matrizes A , B , C , D. A representação do sistema pode ainda ser expressa pelos seus Pólos ( p ), Zeros ( z ) e Ganho ( k ).

3. - MODELAÇÃO DE SISTEMAS

A CONTROL SYSTEM Toolbox do MATLAB possui um conjunto de funções que permitem obter representações de sistemas constituídos por diversos subsistemas interligados. O diagrama de blocos de um sistema é uma representação ilustrativa das funções desempenhadas por cada um dos componentes e fluxos de sinais. Tal diagrama indica as inter- relações que existem entre os vários componentes.

R(s) Y(s) G(s)

3.1. BLOCOS EM CASCATA

Esta função permite a associação de blocos em cascata, tendo em consideração que os dois sistemas deverão ser do mesmo tipo (contínuos ou discretos). Aqui e doravante, considera-se que um sistema sys pode estar representado :

  • Na forma de equação de transferência : sys = num , den
  • No modelo de espaço de estado : sys = A, B, C, D

A seguinte função implementa a associação de blocos em cascata :

>> sys = series ( sys1 , sys2 )

R(s) Y(s) sys 1 sys 2

Este comando é equivalente à multiplicação de polinómios no caso dos sistemas estarem representados na forma de equação de transferência que faz uso da função conv. Por exemplo, dados os polinómios :

2

2

s s

s den

num sys

den s s

num sys

A sua multiplicação é obtida a partir de:

_>> num1 = [ 0 0 2 ]

den1 = [ 1 2 3 ] num2 = [ 0 1 1 ] den2 = [ 4 5 6 ]_

Considerando o sistema de malha aberta G(s) , o sistema de malha fechada com realimentação unitária Y(s)/R(s) será dado por :

s s

s den

num G s 1

s

s Gs

Gs d

n Rs

Y s

_>> num = [ 0 1 – 6 ]

den = [ 1 – 1 5 ] [n,d] = cloop ( num , den )_

n = 1 - 6

d = 1 0 - 1

3.4. REALIMENTAÇÃO NÃO UNITÁRIA DE SISTEMAS

A obtenção de um sistema de malha fechada com realimentação não unitária é dada pela utilização do seguinte comando :

>> sys = feedback ( G, H )

R(s) Y(s) G(s)

H(s)

-

Considerando o sistema constituído pelos blocos G(s) e H(s) :

den s

num Gs

den s

num H s

A função de transferência de malha aberta do sistema será dada por : G(s)H(s) :

den s s

num Gs H s

E a função de transferência de malha fechada do sistema Y(s)/R(s) será dada por :

= = + = s (^2) + s +

s GsH s

Gs den

num Rs

Y s

_>> num1 = [ 0 1 ]

den1 = [ 1 2 ] num2 = [ 0 1 ] den2 = [ 1 0 ] [ num , den ] = feedback ( num1 , den1 , num2 , den2 )_

num = 1 0

den = 1 2 1

NOTA : Por defeito, assume-se que feedback(sys1,sys2) representa realimentação não unitária negativa. Para aplicar realimentação não unitária positiva utilizar o comando : feedback(sys1,sys2, 1).

3.5. CONSTRUÇÃO DE SISTEMAS DE 2ª ORDEM A PARTIR DE ω n E DE ζ

Considerando um sistema de 2ª Ordem expresso por :

den s n s n

num Rs

Y s

A sua construção na forma de função de transferência ou no espaço de estados pode ser realizada a partir da frequência natural : ω n e do coeficiente de amortecimento : ζ.

No caso de se pretender gerar um sistema na forma de equação de transferência com uma frequência natural de ω n = 2.4 [rad/seg] e com um coeficiente de amortecimento : ζ = 0. deverá introduzir-se na Janela de Comando :

>> [ num , den ] = ord2 ( 2.4 , 0.4 )

num = 0 0 1

den = 1.0000 1.9200 5.

Que corresponde à função de transferência :

= (^) den = s (^2) + s +

num Rs

Y s

Tempo de Atraso : td Corresponde ao tempo necessário para que a resposta alcance (pela primeira vez) metade do valor final.

Tempo de Subida : tr Por norma, corresponde ao tempo necessário para que a resposta passe de 0% a 100% do seu valor final. Sabendo que a Frequência Natural Amortecida é dada por :

ω = ω 1 − ς^2

d n

O Tempo de Subida virá :

n

d d

tr ς ω

ω ω

(^1) tan 1

Instante de pico : tp Corresponde ao tempo necessário para que a resposta alcance o primeiro pico do Sobre- sinal (Overshoot) :

d

tp ω

Sobre-sinal Máximo (Overshoot) : Mp Valor de pico da curva da resposta medido a partir do valor final de regime estacionário da resposta. Geralmente é definido em termos percentuais :

1 ς^2

ςπ − − M (^) p = e

Tempo de Estabelecimento : tac Corresponde ao tempo necessário para que a curva da resposta alcance e permaneça dentro de uma faixa em torno do valor final. Por norma, esta faixa é especificada com uma magnitude dada por uma percentagem absoluta de 2% ou 5% do valor final.

n

tac ς ω

n

tac ς ω

O MATLAB não possui funções para retirar automaticamente os valores destas especificações da resposta de sistemas de 2ª Ordem no domínio do tempo, logo terão que ser calculados aritmeticamente após a obtenção da curva da resposta do sistema.

A função step calcula a resposta de um sistema no domínio do tempo a uma entrada em degrau unitário. É considerado um estado inicial nulo quando o sistema está representado no espaço de estado. Quando o comando é utilizado sem argumentos, esta função gera o traçado da resposta ao degrau unitário na Janela Gráfica. A duração da simulação é determinada automaticamente baseada nos Pólos e Zeros do sistema.

>> step ( sys )

No entanto, no caso de se pretender a obtenção dos valores da resposta do sistema (da saída: y , tempo: t e a trajectória de estado: x ), deverão ser utilizados os argumentos no comando. O traçado da resposta do sistema poderá ser obtido através da utilização das função básica do MATLAB para a criação de gráficos: plot :

sys = num , den : Função de transferência ou sys = A, B, C, D : Modelo em espaço de estados.

_>> [ y, t ] = step ( sys ) % Sistema representado por função de transferência.

[ y, x, t ] = step ( sys ) % Sistema representado por um modelo em espaço de estado. plot ( t, y )_

Do mesmo modo, o utilizador poderá estabelecer a duração da simulação através da imposição do tempo:

_>> t = 0 : 0.1 : 10

step ( sys,t )_

A função step permite a introdução de distintos argumentos que definam vários sistemas, de modo a que sejam apresentados os traçados da resposta sobrepostos na mesma Janela Gráfica , podendo os tipos, cores e marcadores das linhas de cada sistema serem definidos como nas funções básicas de criação de gráficos: >> step ( sys1 , ’y:’ , sys2 , ‘g-‘ )

Considere a função de transferência de malha fechada do seguinte sistema :

= (^) den = s (^2) + s +

num Rs

Y s

A resposta do sistema no domínio do tempo a uma entrada em degrau unitário ( R(s)=1/s ), consiste em :

den s s s

num Rs Y s den s s

num Y s

As linhas de comando a introduzir para a visualização da resposta do sistema, serão :

_>> num = [ 0 0 25 ]

den = [ 1 4 25 ]_

Tal que as funções a introduzir na Janela de Comando para a visualização da resposta do sistema, serão :

_>> num = [ 0 0 25 ]

den1 = [ 1 4 25 ] den2 = [ 0 1 0 ] den = conv ( den1 , den2 ) step ( num , den )_

num = 0 0 0 25

den = 1 4 25 0

0 0.5 1 1.5 2 2.5 3 3.5 4

0

1

2

3

4

A m plitude

Tim e (sec.)

Ram p Res pons e

O Erro Estacionário para a resposta no domínio do tempo de um sistema de 2ª Ordem sujeito a uma entrada em rampa unitária é dado por :

n

ess ω

4.3. RESPOSTA A UMA ENTRADA EM IMPULSO

A função impulse calcula a resposta de um sistema no domínio do tempo a uma entrada em impulso. A sua aplicação está sujeita aos mesmos procedimentos e restrições que a função step. A resposta do sistema anterior no domínio do tempo a uma entrada em impulso de Dirac ( R(s)=1 ), consiste em :

den s s

num Rs Y s den s s

num Y s

As linhas de comando a introduzir para a visualização da resposta do sistema, serão :

_>> num = [ 0 0 25 ]

den = [ 1 4 25 ] impulse ( num , den )_

num = 0 0 25

den = 1 4 25

Tim e (sec.)

A m plitude

Im pulse Response

0 0.5 1 1.5 2 2.5 3

-0.

0

1

2

3

Como a resposta a uma entrada em impulso corresponde à derivada temporal da resposta a uma entrada em degrau unitário, o Sobre-sinal Máximo (Overshoot) para a resposta a degrau unitário pode ser determinado a partir da correspondente resposta ao impulso, já que a área sob a curva de resposta ao impulso de Dirac desde t=0 até tp (tempo do primeiro cruzamento com zero) é dada por :

1 + Mp

Onde Mp corresponde ao Sobre-sinal Máximo (Overshoot) para a resposta a degrau unitário.

Tim e (sec.)

A m plitude

Initial Condition Res ults

0 2 4 6 8 10 12 14 16 18

-0.

0

1

2

3

4

NOTA : A aplicação desta função está sujeita aos mesmos procedimentos e restrições que as funções anteriores.

4.5. RESPOSTA A UMA ENTRADA ARBITRÁRIA

A função lsim ( l inear sim ulation ) simula a resposta de um sistema no domínio do tempo a uma entrada arbitrária. Faz uso da mesma sintaxe que as funções anteriores, está sujeita à mesma metodologia de formulação e possui as mesmas limitações.

>> lsim ( sys, u, t )

A matriz representativa da função de entrada : u deverá possuir tantas colunas como a dimensão do vector representativo da amostragem de tempo : t ( length(t) ). Além destas particularidades, a função lsim poderá gerar a resposta a entrada arbitrária de sistemas representados no espaço de estados com condições iniciais não nulas. Para tal, a sintaxe a utilizar será dada por :

>> lsim ( sys , u , t , x0 )

Considerando a função de transferência do sistema :

s s

s den

num Rs

Y s

Pretende-se obter a resposta a uma entrada correspondente a uma onda quadrada com um período de 4 [seg]. Inicialmente, gera-se a onda quadrada com a função gensig ( gen erate sig nal ) considerando uma amostragem cada 0.1 [seg] durante 10 [seg] e posteriormente simula-se a resposta do sistema:

_>> [ u , t ] = gensig ( ‘square’ , 4 , 10 , 0.1 )

num = [ 1 - 1 ] den = [ 1 1 2 ] lsim ( num , den , u , t )_

num = 0 1 -

den = 1 1 2

Tim e (sec.)

A m plitude

Linear S im ulation Res ults

0 2 4 6 8 10

-0.

0

NOTA : A função gensig gera um sinal periódico escalar u da classe type e período tau , para simulações no domínio do tempo através do uso da função lsim.

A função suporta as seguintes classes de sinal : type = ‘sin’ : Onda sinusoidal. type = ‘square’ : Onda quadrada. type = ‘pulse’ : Impulso periódico.

>> [ u , t ] = gensig ( type , tau )