You are on page 1of 25

3 Linearização de modelos: Modelos em variáveis

de estado. Solução de modelos em variáveis de


estado com Scilab. Comparação entre modelos
não-lineares e linearizados.

3.1 Linearização de modelos


Para caracterizarmos o comportamento dinâmico dos processos químicos, temos de integrar
as equações de estado usadas para modelar os processos. Muitos sistemas de processamento
nos quais estamos interessados, são modelados por equações diferenciais não-lineares, e sabe-
se que não há teoria matemática geral para solução analítica de equações não-lineares. As
soluções analíticas estão disponíveis apenas para equações diferenciais lineares.

Quando nos defrontamos com análise dinâmica de sistemas não-lineares, podemos agir de
várias maneiras, como:

- Simulamos o sistema não-linear em computador digital ou analógico e computarmos sua


solução.

- Transformamos o sistema não-linear em linear por intermédio da transformação de suas


variáveis.

- Desenvolvemos um modelo linear que aproxima o comportamento dinâmico do sistema não-


linear em torno das condições de operação especificadas.

3.2 Linearização de sistemas de uma variável


Linearização é o procedimento pelo qual aproximamos sistemas não-lineares de lineares. Os
sistemas lineares são largamente usados nos estudos de dinâmica de processos e em projeto de
sistemas de controle, pelas seguintes razões:

- Podemos desenvolver soluções analíticas para sistemas de equações diferenciais lineares.


Assim podemos ter um quadro completo e geral do comportamento do processo
independentemente dos valores dos parâmetros e das variáveis de entrada. Isso não é possível
para sistemas não-lineares e soluções por computador, pois o comportamento do sistema é
fornecido apenas para os valores especificados das entradas e dos parâmetros.

- Todos os desenvolvimentos significativos em relação ao projeto de sistemas de controle


efetivos têm sido limitados a processos lineares.
A validade da utilização de modelos linearizados dependerá da operação do sistema. Como as
variáveis controladas devem ser mantidas pelos controladores nos valores desejados ou
próximos deles, quando há um bom controle, os desvios são pequenos e o modelo linearizado
é adequado.

Para ilustrar a linearização de um modelo, considere a equação diferencial não-linear:

dx
 f (x) (3.1)
dt

onde a função não-linear f ( x ) pode ser expandida em uma série de Taylor em torno de um
estado estacionário x s .

 df  x  x s  d f  x  x s   x  x s 
2 n
2
 dnf
f (x )  f (x s )      2      n  (3.2)
 dx  x s 1!  dx  x s 2!  dx  xs n!

Se desprezarmos todos os termos de ordem dois ou superior da série, obteremos uma


aproximação linear para o valor de f ( x ) e a equação (3.2) pode ser escrita da forma:

 df 
f ( x )  f ( x s )    x  x s  (3.3)
 dx  x s

Essa aproximação é boa apenas para valores de x próximos de x s . A Figura 3.1 mostra a
função não-linear f ( x ) e sua aproximação em torno do ponto x s . A aproximação só é exata
no ponto de linearização.

Figura 3.1 Função não linear e sua aproximação linear em torno de x s .

Substituindo na equação 3.1 a função f ( x ) por sua aproximação linear, tem-se:

dx  df 
 f ( x s )    x  x s  (3.4)
dt  dx  x s
Observe que a equação 3.4 é uma equação diferencial linear cuja solução analítica é uma
aproximação da solução da equação 3.1. Ou seja, a solução de (3.4) nos dá uma aproximação
do comportamento do sistema dinâmico inicial representado pela equação 3.1.

Exemplo 3.1
Considere o sistema tanque da Figura 3.2 que consiste em um tanque de seção reta uniforme
de área A e altura do nível de líquido h .

Figura 3.2 Sistema de nível.

A Área da seção transversal


h Altura do nível de líquido

Para um líquido de massa específica constante, o balanço da massa de líquido no tanque


fornece:

dV
 Fi  F (3.5)
dt

a) Suponhamos que a vazão volumétrica por meio da resistência se relaciona com a altura de
1
líquido h pela relação linear F  h , sendo R  constante . Substituindo essa relação na
R
equação 3.5 resulta na seguinte equação diferencial linear:

dh 1
A  Fi  h (3.6)
dt R

A equação 3.6 é uma equação diferencial linear, cuja expressão geral é x   f ( t ) x  r ( t ) .

b) Suponhamos agora que a vazão volumétrica através da resistência se relaciona com a altura
de líquido h pela relação não linear

1
F h (3.7)
R

o que resulta na seguinte equação diferencial não-linear:


dh 1
A  h  Fi (3.8)
dt R

1
A equação 3.8 contém um termo não-linear dado por h . Expandindo esse termo em uma
R
série de Taylor em torno do valor estacionário h s , tem-se

1 1 1
h hs  h  h s   1 2 h  h s 2   (3.9)
R R 2R h s 8R 3 h s

Desprezando os termos de segunda ordem e superiores, o resultado é

1 1 1
h hs  h  h s  (3.10)
R R 2R h s

Substituindo a equação 3.10 na equação 3.8, tem-se o seguinte modelo linearizado:

dh 1 1
A  h  Fi  hs (3.11)
dt 2R h s 2R

Exemplo 3.2
Para o sistema tanque do Exemplo 3.1 com área A  0,3 m2, vamos verificar o efeito de uma
variação no ponto de linearização na resposta do modelo linearizado para uma variação
degrau unitário na vazão de alimentação. Suponhamos que a vazão efluente seja dada por:

F8 h (3.12)

Para tanto, vamos considerar os pontos de operação estacionária correspondentes aos níveis
iguais a 1m e 3m de altura (Tabela 3.1), e linearizar o modelo em torno desses dois pontos.

Tabela 3.1 Características da operação estacionária.


Ponto de operação h (m) F (m3/min)
1 1 8
2 3 13,8564

Vamos definir como modelo 1 o modelo linearizado em torno do nível médio de 1 m, e como
modelo 2 o modelo linearizado em torno do nível médio de 3 m. Esses dois modelos serão
aplicados nos pontos de operação da Tabela 3.1, isto é, o modelo linearizado é deslocado para
o ponto de operação em questão.

No primeiro caso, o tanque está operando no nível de 1 m de altura e a vazão é subitamente


aumentada de 8 m3/min para 9 m3/min.

A resposta da altura de líquido de cada um dos modelos é mostrada na Figura 3.3.


Figura 3.3 Resposta ao degrau unitário para uma variação na vazão de alimentação.

Visualmente, podemos notar que a resposta do modelo 1 se aproxima mais da resposta do


modelo não-linear do que a resposta do modelo 2. O novo nível de líquido no tanque é 1,2656
m, enquanto que o nível final previsto pelo modelo 1 é de 1,2500 m e de 1,4328 m pelo
modelo 2. Calculando a razão da variação de nível pela variação da vazão, isto é, o ganho do
processo, temos: 1,2656 m/(m3/min) para o processo, 1,2500 m/(m3/min) para o modelo 1 e
1,4328 m/(m3/min) para o modelo 2. O erro cometido no ganho pelo modelo 1 é de 1,23%
enquanto que o erro cometido pelo modelo 2 é de 13,21%.

No segundo caso, o tanque está operando no nível de 3 m de altura e a vazão é subitamente


aumentada de 13,8564 m3/min para 14,8564 m3/min. A resposta da altura de líquido de cada
um dos modelos é mostrada na Figura 3.4.
Figura 3.4 Resposta ao degrau unitário para uma variação na vazão de alimentação.

Neste caso, a situação é o contrário. O modelo 2 responde melhor do que o modelo 1. Os


níveis finais são: 3,4483 m para o processo, 3,2500 m para o modelo 1 e 3,4328 m para o
modelo 2. Em termos de ganho, são: 3,4483 m/(m3/min) para o processo, 3,2500 m/(m3/min)
para modelo 1 e 3,4328 m/(m3/min) para o modelo 2. Os erros nos ganhos são: 5,75% e
0,45% para os modelos 1 e 2, respectivamente.

Isso demonstra que o modelo linearizado é uma boa aproximação do modelo não-linear
apenas nas proximidades do ponto em que foi feita a linearização.

3.3 Variáveis-desvios
Suponha que x s seja o valor de x no estado estacionário inicial do sistema dinâmico, então

dx s
 0  f (x s ) (3.13)
dt

Suponha agora que a equação 3.1 seja linearizada em x s produzindo o seguinte modelo
linearizado:

dx  df 
 f ( x s )    x  x s  (3.14)
dt  dt  x s

Subtraindo a equação 3.13 da equação 3.14, obtemos


d x  x s   df 
   x  x s  (3.15)
dt  dt  x s

Podemos então definir a variável-desvio x  x  x s (COUGHANOWR & KOPPEL, 1978), e


a equação 3.15 toma a seguinte forma:

dx  df 
  x (3.16)
dt  dt  x s

A equação 3.16 é a aproximação linearizada do sistema dinâmico não-linear (3.1) expresso


em termos da variável-desvio x . A vantagem de se trabalhar com variáveis desvios é que seus
valores no estado estacionário são iguais a zero.

Exemplo 3.3
Consideremos novamente o modelo linearizado do sistema tanque representado em (3.12)

dh 1 1
A  h  Fi  hs (3.17)
dt 2R h s 2R

onde h s é o nível de líquido correspondente a um estado estacionário para um dado valor da


vazão de entrada Fis .

No regime permanente, a equação 3.8 pode ser escrita como

dh s 1
A  h s  Fis (3.18)
dt R
0

Subtraindo a equação 3.18 da equação 3.17, temos

d h  h s  1
A  h  h s   Fi  Fis (3.19)
dt 2R h s

Daí, definindo as variáveis-desvios h  h  h s e Fi  Fi  Fis ,

obtemos a equação linearizada em termos de variáveis-desvios:

dh 1
A  h  Fi (3.20)
dt 2R h s

3.4 Linearização de sistemas multivariáveis


O procedimento descrito para sistemas com uma variável pode ser estendido para sistemas
com várias variáveis de estado (várias equações diferenciais) e várias entradas e saídas. Para
tal consideremos o caso onde temos um sistema com n equações diferenciais (n estados) não-
lineares, k entradas manipuladas e l distúrbios:

dx 1
 f1 (x 1 ,, x n , u 1 ,, u k , d 1 ,, d l )
dt
dx 2
 f 2 (x 1 ,, x n , u 1 ,, u k , d1 ,, d l )
dt (3.21)
 
dx n
 f n ( x 1 , , x n , u 1 , , u k , d1 ,, d l )
dt

Associado a esse conjunto de equações de estado, temos um conjunto de m equações


algébricas não-lineares que definem as saídas do sistema

y1  h 1 ( x 1 ,  , x n , u 1 ,  , u k )
y 2  h 2 (x 1 ,, x n , u 1 ,, u k )
(3.22)
 
y m  h m (x 1 ,, x n , u 1 ,, u k )

A linearização de cada uma das equações definidas em (3.21) e (3.22) leva ao seguinte
conjunto de equações lineares:

dx 1  f 1   f   f 
  x1   1  x2   1  xn
dt x
 1  x s , u s ,d s  x
 2  x s ,u s ,d s  x
 n  x s ,u s ,d s
 f   f   f 
 1 u1   1  u2   1  uk (3.23)
 u 1  xs ,us ,ds  u 2  xs ,us ,ds  u k  xs ,us ,ds
 f   f   f 
 1 d1   1  d2     1  dl
 d 1  xs ,u s ,d s  d 2  xs ,u s ,d s  d l  xs ,u s ,d s

dx 2  f 2   f   f 
  x1   2  x2   2  xn
dt x
 1  x s ,u s ,d s  x
 2  x s ,u s ,d s  x
 n  x s ,u s ,d s
 f   f   f 
 2 u1   2  u2   2  uk (3.24)
 u 1  xs ,us ,ds  u 2  xs ,us ,ds  u k  xs ,us ,ds
 f   f   f 
 2 d1   2  d2     2  dl
 d 1  xs ,u s ,d s  d 2  xs ,u s ,d s  d l  xs ,u s ,d s


dx n  f n   f   f 
  x1   n  x2   n  xn
dt  x 1  xs ,us ,ds  x 2  xs ,us ,d s  x n  xs ,us ,ds
 f   f   f 
 n u1   n  u2   n  uk (3.25)
 u 1  xs ,us ,ds  u 2  xs ,us ,ds  u k  xs ,us ,ds
 f   f   f 
 n d1   n  d2     n  dl
 d 1  xs ,u s ,d s  d 2  xs ,u s ,d s  d l  xs ,u s ,d s

Equações de saída

 h   h   h 
y1   1  x1   1  x2   1  xn
 x 1  xs ,us  x 2  xs ,us  x n  xs ,us
(3.26)
 h   h   h 
 1 u1   1  u2   1  uk
 u 1  xs ,us  u 2  xs ,us  u k  xs ,u s

 h   h   h 
y2   2  x1   2  x2   2  xn
 x 1  xs ,us  x 2  xs ,us  x n  xs ,u s
(3.27)
 h   h   h 
 2 u1   2  u2   2  uk
 u 1  xs ,us  u 2  xs ,us  u k  xs ,us

 h   h   h 
ym   m  x1   m  x2   m  xn
 x 1  xs ,us  x 2  xs ,u s  x n  xs ,u s
(3.28)
 h   h   h 
 m u1   m  u2   m  uk
 u 1  xs ,u s  u 2  xs ,us  u k  xs ,u s

Agrupando as equações anteriores em matrizes, tem-se


   f1    f1  f  
      1 
   x 1  xs ,u s ,ds  x 2  xs ,us ,ds  x n  xs ,u s ,d s  x
 x1   
     f 2   f2   f2   1 
 x 2     x        x 2 
     1  x s ,u s ,d s  x 2  x ,u ,d  x n  xs ,u s ,d s    
    
s s s


x n    f   fn   fn 
 x n 
 n
  
  x     
  1  x s ,u s ,d s  x 2  xs ,us ,ds x
 n  x s ,u s ,d s 
   f1    f1  f  
      1 
  u 1  xs ,us ,ds  u 2  xs ,us ,d s  u k  xs ,us ,ds  u
 
  f   f2    f2   1 
 2
   u 2 
   u 1  x ,u ,d  
 u 2  x ,u ,d

 u k  xs ,us ,ds    
  
s s s s s s


  u k 
  f n   fn 
 
 fn  
  u     
  1  x s ,u s , d s  u 2  xs ,us ,d s  u k  xs ,us ,ds 
   f1    f1   f  
      1 
  d 1  xs ,u s ,d s  d 2  xs ,us ,ds  d l  xs ,u s ,d s   
d
  f   f2   f2   1 
 2        d 2  (3.29)
   d 1  x ,u ,d  d 2  x ,u ,d  d l  xs ,us ,ds    
  
s s s s s s


   d l 
  f n   fn   fn 
  
  d     
  1  x s ,u s , d s  d 2  xs ,us ,ds  d l  xs ,u s ,d s 

   h1    h1    h1  
       
  x 1  x ,u  x 2  xs ,us  x n  xs ,us  x 
 y1   s s
 1 

y    h2   h2   h 
 2    x      2 x 2 
     1  x s ,u s  x 2  x ,u  x n  xs ,u s   
    
s s


y m    h   hm   h 
 x n 
 m
  m 
  x 1    
  x s ,u s  x 2  xs ,us  x n  x ,u
s s 
(3.30)
   h1    h1   h  
      1 
  u 1  xs ,us  u 2  xs ,us  u k  xs ,us  u
 
  h   h 2   h 2   1 
 2
   u 2 
   u 1  x ,u  
 u 2  x ,u

 u k  xs ,us    
  
s s s s


  u k 
  h m   h m   h m 
  
  u     
  1  x s ,u s  u 2  xs ,us u
 k  x s ,u s 

ou, na forma matricial compacta, temos


x  Ax  B u   d (3.31)

y  Cx  D u (3.32)

A matriz A é conhecida como matriz jacobiana ou matriz de estados do sistema, a matriz B


é chamada de matriz de distribuição das entradas e C é a matriz de distribuição das saídas. A
matriz D é nula para todos os modelos de sistemas físicos de interesse.

As n raízes da equação escalar

detI  A   0 (3.33)

em que  é uma quantidade escalar, são os autovalores do sistema. Os autovalores da matriz


A são as raízes da equação característica do sistema. Assim, os autovalores nos dizem se um
sistema é estável ou instável, rápido ou lento, superamortecido ou subamortecido. Eles são
essenciais na análise do comportamento de sistemas dinâmicos.

Exemplo 3.4
Linearização do tanque de aquecimento com agitação do Exemplo 2.1.

Figura 3.5 Tanque de aquecimento com agitação.

Balanço de massa

dh 1
 Fi  F (3.34)
dt A

Balanço de energia

dT 1  Fst H st 
 Fi Ti  T    (3.35)
dt Ah  C p 
ou na forma geral de equações de estado:

1
x 1  f1 (x 1 , x 2 , u 1 , u 2 , d1 , d 2 )  d 2  u 2 
A
(3.36)
1  H st 
x 2  f 2 (x 1 , x 2 , u 1 , u 2 , d1 , d 2 )  d 2 d 1  x 2   u 1 
Ax 1  C p 

y1  h 1 (x 1 , x 2 )  x 1
(3.37)
y 2  h 2 (x 1 , x 2 )  x 2

As primeiras derivadas parciais são:

 f1  f1
0 0
x 1 x 2
 f1  f1 1
0 
u 1 u 2 A
 f1  f1 1
0 
d 1 d 2 A

 f2 1  H st   f2 d
  d 2 d 1  x 2   u 1   2
x 1 Ax 12  C p  x 2 Ax1

 f2 H st  f2
 0
u 1 C p Ax 1 u 2
 f2 d  f 2 d1  x 2
 2 
d 1 Ax 1 d 2 Ax1

h 1 h 1
1 0
x 1 x 2
h 2 h 2
0 1
x 1 x 2

Considerando o estado estacionário como o ponto de linearização, a forma linearizada das


equações 3.36 e 3.37 fica
 0 0 
 x 1  
d  1 
 x
     1 u 1s H st 
 x 2   Ax12s d 2s d 1s  x 2s     2s   x 
  C p  Ax1s   2 
 1  1  (3.38)
 0  0
A   u1   A   d1 
  H     d d 1s  x 2s  d 
 st
0   u 2   2s  2 
 C p Ax 1s   Ax1s Ax1s 

 y1  1 0  x 1 
 y   0 1   x 
 2   2 

Exemplo 3.5
Linearização do reator CSTR não-isotérmico do Exemplo 2.2 (Figura 3.6). Assume-se que as
saídas sejam apenas o volume V e a concentração c A .

Figura 3.6 Reator CSTR.

Como vimos no capítulo anterior, o modelo do reator é formado pelas equações:

dV
 Fi  F (3.39)
dt

d (c A V )
 Fi c Ai  Fc A  k 0 e  E RT c A V (3.40)
dt

d (TV )
C p  C p Fi Ti  C p FT  H r k 0 e  E RT c A V  UA t T  Tc  (3.41)
dt

Para representar o sistema na forma linearizada, vamos adotar a mesma nomenclatura


considerada no Capitulo 2, ou seja:
 x1   V   d1   Fi 
u   F 
x   x 2   c A  u   1    d  d 2   c Ai  (3.42)
 x 3   T  u 2  Tc  d 3   Ti 

A equação 3.39 já é linear e, portanto, coincide com a sua forma linearizada. Ou seja,
podemos escrever:

dV
 Fi  F (3.43)
dt

Que pode ser escrita como:

dx 1
 d1  u 1 (3.44)
dt

Linearizando a equação 3.40 em torno de um ponto estacionário, temos:

dV dc
c As  Vs A  c Ais Fi  Fis c Ais  c As F  Fs c A  k 0 e  E RTs c As V  k 0 e  E RTs Vs c A
dt dt
(3.45)
k 0 E e  E RTs c As Vs
 T
RTs2

Substituindo a equação 3.43 na equação 3.45 e reagrupando os termos, temos:

dc A k 0 e  E RTs  Fs
  E RTs 

k 0 E e E RTs c As c Ais  c As  Fis
 V   k0 e  c A  T  Fi  c Ai (3.46)
dt Vs  Vs  RTs2 Vs Vs

Que na notação definida em (3.42), fica:

dx 2 k e  E RTs F  k E e E RTs c As c  c As  F
 0 x 1   s  k 0 e  E RTs  x 2  0 2
x 3  Ais d1  is d 2 (3.47)
dt Vs  Vs  RTs Vs Vs

Analogamente, linearizando a equação 3.41 em torno de um estado estacionário, temos:

dV dT
C p Ts  C p Vs  C p Fis Ti  C p Tis Fi  C p Fs T  C p Ts F
dt dt
 H r k 0 e  E RTs c As V  H r k 0 e  E RTs Vs c A (3.48)
 E RTs
H r k 0 E e c As Vs
 T  UA t T  UA t Tc
RTs2

Substituindo equação 3.43 na equação 3.48 e reagrupando os termos, temos:


dT H r k 0 e  E RTs c As H r k 0 e  E RTs F UA t H r k 0 E e  E RTs c As 
 V cA   s   T
dt C p Vs C p  Vs C p Vs C p RTs2 
  (3.49)
UA t T  Ts  F
 Tc  is Fi  is Ti
C p Vs Vs Vs

Que na notação definida em (3.42) fica:

dx 3 H r k 0 e  E RTs c As H r k 0 e  E RTs F UA t H r k 0 E e  E RTs c As 


 x1  x2   s   x 3
dt C p Vs C p  Vs C p Vs C p RTs2 
 
UA t T  Ts  F
 u 2  is d1  is d 3
C p Vs Vs Vs
(3.50)

O modelo constituído pelas equações 3.44, 3.47 e 3.50 pode ser colocado na forma:

x  Ax  B u   d (3.51)

y  Cx (3.52)

em que:

 
 
 0 0 0 
 k 0 e  E RTs  Fs  k E e  E RTs
c As 
A     k 0 e  E RTs   0 
 Vs  Vs  RTs2 
  E RTs  Fs 
 H r k 0 e c As H r k 0 e  E RTs  UA t H r k 0 E e  E RTs c As 
   
 C p Vs C p  Vs C p Vs C p RTs2 
  
(3.53)

 
 1 0 
 
B0 0  (3.54)
0 UA t 
 C p Vs 

 
 
 1 0 0
 c Ais  c As  Fis
 0 (3.55)
 Vs Vs 
  
 Tis  Ts  0
Fis 
 Vs Vs 
1 0 0
C  (3.56)
0 1 0 

3.5 Simulação de sistemas lineares na forma de


equações de estado no Scilab
O Scilab prove uma função que lida com sistemas lineares de forma simples. A forma de
chamamento da função é:

- Quando temos a representação espaço de estado

[sl]=syslin(dom,A,B,C [,D [,x0] ])

- Quando temos a representação dada pelo numerador e denominador da função de


transferência (Capítulo 5)

[sl]=syslin(dom,N,D)

- Quando temos a representação dada pela função de transferência (Capítulo 5)

[sl]=syslin(dom,H)

em que:

syslin define um sistema linear como uma lista e verifica a consistência dos dados.

dom especifica o domínio de tempo do sistema e pode ter um dos seguintes valores:

dom='c' para um sistema de tempo contínuo, dom='d' para um sistema de tempo discreto,
n para um sistema amostrado com período de amostragem n (na unidade do tempo em que o
modelo foi definido)

dom=[] se o domínio de tempo é indefinido.

Para simular sistemas lineares no Scilab, utiliza-se a função csim e a forma de chamamento é

[y [,x]]=csim(u,t,sl,[x0 [,tol]])

sl é o sistema contínuo definido por syslin.

u é o controle.

t é o tempo no qual a solução é computada.

x0 é o estado inicial.

x é o estado.
y é a saída.

Exemplo 3.6
Considere o sistema tanque da Figura 3.7, inicialmente operando em estado estacionário no
nível h s  1 m e vazão de alimentação Fi  8 m3/min. Subitamente, a vazão de alimentação
aumenta em 1 m3/min. A vazão de saída se relaciona com a altura h por

1
F h (3.57)
R

Compare o comportamento dinâmico da altura de líquido usando o modelo não linear com o
modelo linear. Dados: A  0,3 m2 e R  0,125 min/m5/2.

Figura 3.7 Sistema de nível.

O modelo não linear é dado por:

dh 1
A  h  Fi (3.58)
dt R

dh 1 1
 Fi  h (3.59)
dt A AR

e o modelo linear por:

dh 1 1 1
 Fi  hs  h (3.60)
dt A 2AR 2AR h s

Em variáveis desvios, o modelo linear fica

dh 1 1
 h  Fi (3.61)
dt 2AR h s A

com h (0)  0 .

Programa
//Comparação entre os modelos linear e não linear
//Ponto de operação
//h=1 m F=8 m3/min
clear
clearglobal
clc

//Função das derivadas


function dht=tanque_nl(t, x)
global A R
global Fi
h=x
F=1/R*sqrt(h)
dht=(Fi-F)/A //não linear
endfunction

//Programa principal
global A R
global Fi

//Valores dos parâmetros e condição inicial


A=0.3 //m2
R=0.125 //min/m^(5/2)
Fis=8 //m3/min
hs=1 //m

//Entradas
DeltaFi=1 //variação degrau
Fi=Fis+DeltaFi //distúrbio, m3/min

//Gera simulação do modelo não linear usando ode


t0=0 //min
tf=1 //min
x0=hs //estado inicial
t=t0:0.01:tf
x=ode(x0,t0,t,tanque_nl) //estado
h_nl=x //saída, m

//Gera simulação do modelo linear usando csim


AA=-1/(2*A*R*sqrt(hs)) //matriz A em representação de espaço de estados
BB=1/A //matriz B em representação de espaço de estados
CC=1 //matriz C em representação de espaço de estados
x0=0 //estado inicial
sl=syslin('c',AA,BB,CC)
[y,x]=csim('step',t,sl) //resposta ao degrau unitário
h_ld=y*DeltaFi //altura em desvio, m
h_l=hs+h_ld //altura, m

//Plota gráficos
scf(1)
clf
plot(t,h_nl,t,h_l)
xlabel('t (min)')
ylabel('h (m)')
legend(['Modelo não linear','Modelo linear'],4)

//Cálculo do ganho
Kp_nl=(h_nl($)-hs)/DeltaFi //não linear
Kp_l=(h_l($)-hs)/DeltaFi //linear
disp('Ganho do processo')
printf('\n')
printf('Kp do modelo não linear = %f\n',Kp_nl)
printf('Kp do modelo linear= %f\n',Kp_l)

A Figura 3.8 mostra as respostas obtidas pelos dois modelos. A resposta linear é
qualitativamente a mesma da resposta não linear. Nota-se que para valores de h próximos de
h s , onde foi feita a linearização, a resposta do modelo linearizado é satisfatória. Para valores
mais afastados, a aproximação linear é insatisfatória, gerando um valor estacionário diferente
do valor obtido pelo modelo não linear, ou seja, o ganho (variação na saída/variação na
entrada) do modelo linear é menor do que o do modelo não linear.

O seguinte resultado é mostrado na janela de comando do Scilab.

Ganho do processo

Kp do modelo não linear = 0.265623


Kp do modelo linear= 0.250000

Figura 3.8 Resposta ao degrau unitário para uma variação de 1,0 m3/min na vazão de
alimentação.

Considere que a vazão de alimentação aumenta de 8 para 8,1 m3/min, ou seja, um aumento de
0,1 m3/min. Neste caso, a resposta linear dá uma boa aproximação do modelo não linear,
como pode ser visto na Figura 3.9. A simulação foi realizada mudando valor de DeltaFi no
programa para 0,1.
O seguinte resultado é mostrado na janela de comando do Scilab.

Ganho do processo

Kp do modelo não linear = 0.251562


Kp do modelo linear= 0.250000

Figura 3.9 Resposta ao degrau unitário para uma variação de 0,1 m3/min na vazão de
alimentação.

Exemplo 3.7
Considere o problema de nível de tanques interagentes.

Figura 3.10 Dois tanques em série com interação.


Assumindo que a vazão efluente seja uma função não-linear da altura de líquido. A vazão
efluente do tanque 1 seja função da diferença dos níveis nos tanques 1 e 2.

F1  1 h 1  h 2 (3.62)

Analogamente, para o tanque 2 temos:

F2   2 h 2 (3.63)

Supondo que, subitamente, a vazão de alimentação aumenta em 1 ft3/min, compare a resposta


do modelo linear com a resposta do modelo não linear.

As seguintes equações descrevem o modelo do sistema

 dh 1   Fi  
  1 h1  h 2 
 dt  f 1 (h 1 , h 2 , Fi ) A1 A1
 dh       (3.64)
 
 2   f 2 (h 1 , h 2 , Fi   1 h 1  h 2  2 h 2 
 dt   A 2 A2 

O modelo linearizado em termos de variáveis desvios é dado por

 dh 1   Fi   1 1 
   A1   2A h 1s  h 2s 2A1 h 1s  h 2s
h 
 dt      1 
1

 d h 2   1 h 1  h 2   2 h 2 
 1

1

2  h 2 
 dt   A 1 A2  2A 2
 h 1s  h 2s 2A 2 h 1s  h 2s 2A 2 h 2s 
 1 
  A 1  Fi
 
 0 
(3.65)

com

h 1  h 1  h 1s (3.66)

h 2  h 2  h 2s (3.67)

Fi  Fi  Fis (3.68)

As variáveis de entrada e variáveis de estado são

u  u   Fi  (3.69)

x  h 
x   1   1 (3.70)
x 2  h 2 
Vamos assumir que apenas a altura do segundo tanque seja medido, daí a saída na forma de
desvio é

y  h2 (3.71)

x 
y  0 1 1  (3.72)
x 2 

Os valores dos parâmetros e condições iniciais são

1  2,5 ft2,5/min
5 2,5
1  ft /min
6
A 1  5 ft2
A 2  10 ft2
Fi  5 ft3/min
h 1 (0)  h 1s  10 ft
h 2 (0)  h 2s  6 ft

A Figura 3.11 mostra as respostas obtidas pelos dois modelos. A resposta do modelo linear é
qualitativamente a mesma da resposta do modelo não linear. Nota-se que para valores de h
próximos de h 2s , onde foi feita a linearização, a resposta do modelo linearizado é satisfatória.
Para valores mais afastados, a aproximação linear pode ser insatisfatória, gerando ganhos
diferentes entre os dois modelos.

Programa

//Comparação entre os modelos linear e não linear


//Ponto de operação
//h1=10 ft h2s=6 ft Fi=5 ft3/min
clear
clearglobal
clc

//Função das derivadas


function dxt=dois_tanques_nl(t, x)
global A1 A2 beta1 beta2
global Fi
h1=x(1)
h2=x(2)
F1=beta1*sqrt(h1-h2)
F2=beta2*sqrt(h2)
dh1t=(Fi-F1)/A1 //não linear
dh2t=(F1-F2)/A2 //não linear
dxt=[dh1t;dh2t]
endfunction

//Programa principal
global A1 A2 beta1 beta2
global Fi
//Valores dos parâmetros e condição inicial
A1=5 //ft2
A2=10 //ft2
beta1=2.5 //ft^(5/2)/min
beta2=5/sqrt(6) //ft^(5/2)/min
Fis=5 //ft3/min
h1s=10 //ft
h2s=6 //ft

//Entradas
DeltaFi=1 //variação degrau
Fi=Fis+DeltaFi //distúrbio, ft3/min

//Gera simulação do modelo não linear usando ode


t0=0 //min
tf=300 //min
x0=[h1s;h2s] //estado inicial
t=t0:1:tf
x=ode(x0,t0,t,dois_tanques_nl) //estado
h1_nl=x(1,:) //saída, ft
h2_nl=x(2,:) //saída, ft
//Gera simulação do modelo linear usando csim
//Matriz A em representação de espaço de estados
A(1,1)=-beta1/(2*A1*sqrt(h1s-h2s))
A(1,2)=beta1/(2*A1*sqrt(h1s-h2s))
A(2,1)=beta1/(2*A2*sqrt(h1s-h2s))
A(2,2)=-beta1/(2*A2*sqrt(h1s-h2s))-beta2/(2*A2*sqrt(h2s))
//Matriz B em representação de espaço de estados
B=[1/A1;0]
//Matriz C em representação de espaço de estados
C=[0 1]
x0=[0;0] //estado inicial
sl=syslin('c',A,B,C)
[y,x]=csim('step',t,sl) //resposta ao degrau unitário
h2_ld=y*DeltaFi //altura h2 em desvio, ft
h2_l=h2s+h2_ld //altura, ft

//Plota gráficos
scf(1)
clf
plot(t,h2_nl,t,h2_l)
xlabel('t (min)')
ylabel('h2 (m)')
legend(['Modelo não linear','Modelo linear'],4)

//Cálculo do ganho
Kp2_nl=(h2_nl($)-h2s)/DeltaFi //não linear
Kp2_l=(h2_l($)-h2s)/DeltaFi //linear
disp('Ganho do processo')
printf('\n')
printf('Kp2 do modelo não linear = %f\n',Kp2_nl)
printf('Kp2 do modelo linear= %f\n',Kp2_l)

O seguinte resultado é mostrado na janela de comando do Scilab.

Ganho do processo
Kp2 do modelo não linear = 2.635372
Kp2 do modelo linear= 2.398726

Figura 3.11 Resposta ao degrau unitário para uma variação de 1,0 ft3/min na vazão de
alimentação.

Considere que a vazão de alimentação aumenta de 5 para 5,1 ft3/min, ou seja, um aumento de
0,1 ft3/min. Neste caso, a resposta linear dá uma boa aproximação do modelo não linear, como
pode ser visto na Figura 3.12. A simulação foi realizada mudando valor de DeltaFi no
programa para 0,1.

O seguinte resultado é mostrado na janela de comando do Scilab.

Ganho do processo

Kp2 do modelo não linear = 2.422523


Kp2 do modelo linear= 2.398726
Figura 3.12 Resposta ao degrau unitário para uma variação de 0,1 ft3/min na vazão de
alimentação.

You might also like