Anda di halaman 1dari 37

Introduo ao Simulink

Carlos Andr Vaz Junior cavj@bol.com.br 2003

Objetivos

1) Iniciando o Simulink 1.1 1.2 1.3 1.4 A biblioteca Simulink/Continuous A biblioteca Simulink/Math A biblioteca Simulink/Sinks A biblioteca Simulink / Sources 2) Exemplos 2.1 Exemplo: 2.2 Exemplo: 2.3 Exemplo: 2.4 Exemplo: Criando uma simulao simples Simulao usando modelo dinmico Controle (P) Feedback Controle (PI) Feedback

3) Ajuste de controladores via mtodo da sensibilidade limite 4) Ajuste de controladores via mtodo da curva de reao do processo

1- Iniciando o Simulink

Use o boto Simulink ou o comando simulink.

A principal janela do Simulink, onde esto dispostas as bibliotecas de blocos mostrada ao lado. Os blocos esto agrupados por assunto. Para os propsitos desta aula introdutria, sero necessrios apenas os blocos da biblioteca Simulink. Expandindo a biblioteca Simulink, encontra-se a sua lista de sub-bibliotecas. Para esta introduo, utilizaremos apenas as sub-bibliotecas Math Continuous (sistemas Sinks

contnuos),

(Matemtica),

(Sadas de simulao) e Sources (Entradas de simulao).

Observe que as bibliotecas disponveis variam em funo das instaladas.

toolboxes

1.1- A biblioteca Simulink/Continuous

Expandindo a sub-biblioteca Continuous, encontra-se uma lista de blocos de funes aplicveis a sistemas contnuos. Entre estes blocos encontram-se derivao e integrao numricas (fundamentais para a simulao de sistemas em espao de tempo), sistemas em espao de estados, funes de transferncia (para a simulao de sistemas em espao de frequncias) e o bloco zeros-e-plos (funes de transferncia com numerador e denominador fatorados).

1.2- A biblioteca Simulink/Math

Expandindo

sub-biblioteca

Math,

encontra-se uma lista de funes

matemticas triviais, para utilizao nos modelos. Todo o processamento das entradas vai exigir a utilizao de funes matemticas. Muitas delas esto contidas nesta biblioteca (por exemplo, somatrio, funes trigonomtricas, etc).

1.3- A biblioteca Simulink/Sinks

sub-biblioteca

Sinks

possui

uma

lista

de

sadas

de

simulao

(visualizao em display, em grfico ou envio para variveis do workspace).

1.4- A biblioteca Simulink/Sources

A sub-biblioteca Sources possui uma lista de entradas de simulao (geradores de entradas na forma de rampa, pulsos, randmico, escala de tempo, etc).

2 Exemplos: 2.1) Exemplo: Criando uma simulao simples:

Para criar uma nova simulao do Simulink, clique no cone de criar arquivo no Library Browser (o cone da folha em branco). A janela que surgir encontra-se abaixo. O simulador ser construdo de forma intuitiva, arrastando para a janela de simulao blocos das bibliotecas do Library Browser. Aps construir o modelo, a simulao executada.

Nesse primeiro exemplo vamos observar a gerao de uma rampa e observa-la:

O bloco de rampa possui trs parmetros de configurao: Slope: taxa da rampa (slope=2: para cada 1 tempo, sobe 2 pontos) Start time: tempo a partir do qual a rampa comea Initial Output: valor inicial pra rampa

O bloco scope dispensa configurao. Assim podemos rodar a simulao! O resultado obtido visto no bloco scope:

DICA: caso o grfico esteja para corrigi-la.

fora de escala, aperte sobre o cone do binculo

Experimente outros blocos do Simulink e observe os resultados. A maior parte dos blocos bastante simples de ser compreendida. ambiente, seus recursos e suas funcionalidades! Acostume-se com o

2.2) Exemplo: simulao usando modelo dinmico:

Vamos exemplificar a simulao de modelos dinmicos com o Simulink atravs de exemplos. O primeiro corresponde simulao de um tanque de nvel sob a influncia de uma perturbao degrau na vazo da alimentao. seguir descreve o sistema fsico que ser simulado. A figura a

q1

q2

q3 A

Assumindo que: (i) a densidade do lquido e a rea da seo transversal do tanque A so constantes. (ii) a relao entre a vazo e a carga linear, q3 = h / R .

O modelo descrito por uma equao de balano transiente de massa no tanque:


A dh = q1 + q 2 q 3 dt

Substituindo a hiptese ii na equao anterior ficamos com:


A dh h = q1 + q2 dt R

Introduzindo as variveis-desvio:
AR dh' ' = Rq1' + Rq 2 h ' dt

Aplicando a Transformada de Laplace nos termos da equao anterior:


AR s h' ( s) = Rq1' (s ) + Rq '2 ( s) h' ( s )

h' ( s ) =

R R q1' ( s ) + q '2 ( s ) AR s + 1 AR s + 1

Logo as funes de transferncia so:

Kp h' ( s ) = G1 (s ) = ' q1 ( s) s +1 Kp h' ( s ) = G2 ( s ) = ' q 2 ( s) s +1

onde:

Kp = R = AR

Para o exemplo em questo considere um tanque de 0.5 m de dimetro e uma vlvula na sada na linha atuando sob uma resistncia linear (R) de 6.37 min/m2. Sero simulados um degrau de 1 ft3 na vazo q1 a partir do tempo igual a 0 min (step) e um degrau de 1 ft3 na vazo q2 a partir do tempo igual a 10 min(step1).

A = 3.1415 * (0.5/2)^2 A = 0.196

R = 6.37

K p = R = 6.37 = AR = 1.25

O diagrama de blocos que representa o modelo a ser simulado neste exemplo est mostrado na figura abaixo (arquivo exemplo1.mdl):

O propsito de cada um dos blocos Step: gerar uma entrada-degrau Sum: calcular a soma de entradas Transfer Fcn: calcular o valor da funo de transferncia de uma entrada Scope: mostrar graficamente o resultado da simulao em grfico XY, onde o eixo X corresponde ao tempo de simulao (gerado automaticamente). A seguir veremos em detalhes a configurao de cada bloco. Aps montar o simulador, execute e observe o resultado mostrado em forma de grfico!

a) Bloco Step:

onde: step time: determina o instante do degrau initial value: valor antes do degrau final value: valor depois de degrau

b) Bloco Transfer Function:

onde: numerator: numerador (em potencias decrescentes de s) denominator: denominador (em potencias decrescentes de s) absolute tolerance: tolerncia

c) Bloco Sum:

onde: icon shape: formato do bloco list of signs: sinais das entradas e suas posies

2.3) Exemplo: Controle (P) Feedback:

Considerando um sistema de controle de nvel mostrado na figura a seguir. O nvel de lquido medido e a sada do transmissor de nvel (LT) enviada para um controlador feedback (LC) que controla o nvel pelo ajuste da vazo volumtrica q2. A segunda vazo de fluido, q1, corresponde varivel perturbao

(corrente chegando de outra unidade, no posso controlar essa corrente).

q1

q2
LT hm LC

q3 A

As dinmicas do medidor e da vlvula de controle sero desconsideradas.

O propsito de cada um dos blocos Step: gerar uma entrada-degrau Sum: calcular a soma de entradas Transfer Fcn: calcula o valor da funo de transferncia de uma entrada Scope: mostra graficamente o resultado da simulao em grfico XY, onde o eixo X corresponde ao tempo de simulao. Gain: ganho proporcional PID: calcula a funo de transferncia de um controlador PID

Considerando uma vlvula com a seguinte funo de transferncia:


Gv = K v = 0.0103 m 3 / min psi

Considerando um medidor com a seguinte funo de transferncia:

Gm = K m = 24 psi / m

Inicialmente vamos simular sem variar o SP, para isso necessria a seguinte estrutura de blocos (ver arquivo exemplo2.mdl).

O bloco Step na verdade no est aplicando degrau algum, como mostra a configurao abaixo (valor inicial e valor final idnticos):

DICA: estamos lidando com varivel desvio!

Bloco Gain2 (representa a funo de transferncia do sensor):

O bloco PID o controlador, aqui configurado para ter apenas ao proporcional.

O bloco Gain1 representa a funo de transferncia da vlvula:

O bloco Transfer Fcn2 a funo de transferncia que representa o processo:

O bloco SUM a diferena entre o valor medido (-) e o SP (+). Ele informa o erro para o PID. DICA: para calcular o erro compare informaes na mesma unidade (ou seja: no esquea de passar a sada do processo e o degrau do SP pelo sensor).

O resultado, como esperado, um processo em estado estacionrio (o grfico exibe o nvel do tanque em varivel desvio):

Agora quero aplicar um degrau no SP:

A resposta a uma perturbao degrau de 1m no SET-POINT para um controlador puramente proporcional com constante Kc igual a 1 mostrado a seguir. O processo deveria atingir um novo estado estacionrio, 1m acima do anterior, mas por causa do off-set atingimos apenas 0.6m acima (grfico sempre em varivel desvio).

A resposta a uma perturbao degrau de 1m no SET-POINT para um controlador puramente proporcional com constante Kc igual a 2 :

A resposta a uma perturbao degrau de 1m no SET-POINT para um controlador puramente proporcional com constante Kc igual a 5 :

Pode-se verificar que o aumento de Kc provoca uma reduo do off-set e do tempo necessrio para o novo estado estacionrio ser alcanado. No entanto, para muitos problemas de controle, ao se elevar o valor de Kc pode-se resultar em respostas oscilatrias e instveis devido a efeitos adicionais como lags e tempo morto que foram negligenciados na presente anlise.

2.4) Exemplo: Controle (PI) Feedback:

Utilizando um controlador PI, pode-se verificar que a ao integral leva eliminao do offset para qualquer degrau em uma varivel de entrada ou no setpoint. Porm, pode causar overshoot e alguma instabilidade. Testaremos primeiro com o seguinte ajuste PID:

A resposta ser:

Vemos que o tempo de simulao no foi suficiente para que o processo atingisse um novo estado estacionrio. Devemos aumentar o tempo de simulao:

O resultado ento passa a ser:

Experimente

outras

combinaes

de

valores

para

ao

integral

proporcional no seu controlador. Neste momento torna-se necessrio destacar que o bloco do controlador PID expressa a funo de transferncia do controlador PID de uma forma diferente do que classicamente apresentado na disciplina de controle. Compare a seguir o Gc usualmente utilizado e o apresentado pelo Simulink:
Gc( s ) = P + I +D s s

Simulink Forma clssica

1 Gc( s ) = Kc1 + s + D I

Mantendo um mesmo valor de I

igual a 0.5 min e variando Kc, pode-se

observar que aumentando Kc a resposta dinmica se torna mais rpida. Para uma perturbao de 1m no SP, temos os seguintes perfis: I=0.5 min (I=2) Kc=2 I=0.5 min (I=2) Kc=5 I=0.5 min (I=2) Kc=12.5

Alm disso, a resposta dinmica se torna mais oscilatria na medida que se mantm Kc e reduz I. (aumenta I): I=1.25 min (I=0.8) Kc=5 I=0.5 min (I=2) Kc=5 I=0.2 min (I=5) Kc=5

3) Ajuste de controladores via mtodo da sensibilidade limite

Aplicado a sistemas de controle em malha fechada Controlador proporcional para aplicao deste mtodo considerado puramente

Perturbaes degrau no SP Observar a resposta Ym(t) Variar os valores de Kc at a malha oscilar continuamente Determinar Kclim e o perodo limite Plim. Utilizar as correlaes ZN para determinar parmetros do controlador.

Seja um sistema de controle feedback com Gc=Kc (vou testar vrios valores), Gv=2, Gm=0.25 e Gp =
4e 2 s 5s + 1

O propsito de cada um dos blocos Step: gerar uma entrada-degrau Clock: gerar um vetor de tempos de simulao Sum: calcular a soma de entradas Transfer Fcn: calcula o valor da funo de transferncia de uma entrada Scope: mostra graficamente o resultado da simulao em grfico XY, onde o eixo X corresponde ao tempo de simulao. To workspace: armazena a entrada em uma varivel especificada Gain: ganho proporcional PID: calcula a funo de transferncia de um controlador PID

O ponto principal a ser destacado neste mtodo, e que pode implicar em erros durante a sua a implementao, o fato do controlador ser puramente proporcional.

A figura a seguir mostra o diagrama de blocos a ser construdo no Simulink (ver arquivo Verficando_DSM.mdl):

O mtodo em questo iterativo, ou seja, o usurio deve variar Kc at encontrar uma oscilao sustentada na varivel controlada. implica neste tipo de comportamento chamado Kc limite. O valor de Kc que

Nas figuras abaixo verifica-se que o Kc limite para essa malha igual a 3. Esse valor ser utilizado nas correlaes de Z-N modificado para obter, ento, o ajuste do controlador.

Kc=2.5

Kc=3

Kc=3.2

O prximo passo obter o perodo limite de oscilao, que pode ser obtido diretamente atravs do grfico de Kc=3. Obter o perodo a partir do grfico gera perda de preciso.

Outra tcnica, mais precisa, obter atravs da funo ginput do Matlab. Para utilizar o Matlab, foi includo no diagrama dois blocos de armazenamento de variveis (To Workspace). importante lembrar de configurar o formato da varivel a ser criada que no caso dever ser um vetor, para isso deve-se optar por array na tela de configurao do bloco To workspace:

Tendo criado uma varivel T correspondente ao tempo de simulao e uma varivel H correspondente varivel controlada deve-se ento plotar H (eixo y) contra T (eixo x).

Em seguida ser redefinida a escala para facilitar a visualizao de um perodo. Use o comando axis. O prximo passo utilizar a funo ginput que retorna as coordenadas de pontos clicados sobre o grfico T x Y. Sero obtidas as coordenadas para dois pontos marcados, cada ponto representa os extremos de um perodo de oscilao.

De posse do Kclimite e do Plimite (perodo) o prximo passo utilizar as tabelas de ajuste Z-N de controladores.

4) Ajuste de controladores via mtodo da curva de reao do processo

Configurar o controlador para o modo manual (ver figura abaixo) Perturbar a sada de controle Registrar a varivel medida Obter o valor da derivada no ponto de inflexo e determinar o tempo correspondente ao ponto de interseo da tangente no ponto de inflexo com o eixo do tempo. Aplicar as correlaes de ZN para o mtodo da curva de reao

Arquivo exemplo4.mdl:

Modo manual

Para uma perturbao degrau igual a 1 aplicado no bloco tep 1 s seguinte curva de reao:

temos a

Duas informaes devem ser obtidas do grfico anterior: a) S*: o coeficiente angular no ponto de inflexo (normalizado pela amplitude do degrau) b) : tempo morto do processo.