Escolar Documentos
Profissional Documentos
Cultura Documentos
Coronel Fabriciano
2010
1
Coronel Fabriciano
2010
2
__________________________________________________
Fabrício de Souza Fernandes, MSc.
Prof. Coord. CEE/Unileste-MG - Orientador.
__________________________________________________
Ronaldo Neves Ribeiro (Examinador), MSc.
Prof. CEE/Unileste-MG – Examinador.
3
AGRADECIMENTOS
Agradeço aos meus pais Antônio e Neuza, pela educação e o apoio ao longo desta caminhada.
Agradeço também aos meus amigos pelo incentivo e bons momentos que vivenciamos juntos
e, em especial, aos meus amigos do curso de Engenharia Elétrica do Unileste-MG, Rafael,
Reinaldo, Paulo, Wellington, Clesjue, Ramon, José Penha, Antônio, Victor, Gleidson e
Samuel.
Agradeço a Deus por todos os momentos vividos e por ter me guiado nesta caminhada, que
sem dúvida, não se completaria sem a Sua direção.
5
RESUMO
ABSTRACT
This paper presents the main methods of identification in closed loop to obtain more accurate
mathematical models of the process. Contribution is proposed as the method in a real plant
didactic. Initially the test is performed in open loop plant and then designed a discrete PI
controller to control the level. With the plant operating in controlled closed loop method was
applied in closed loop identification method called join input-output method in three different
trials with different excitation signals and then estimated the possible mathematical models of
the plant. To estimate the models were tested structures ARX, ARMAX and OE in which the
OE showed the best results. With the tests it was concluded that the PI controller designed
open-loop achieved good performance, but the method of identification in closed loop did not
get good results, which may be related to the difficulty of estimating the sensitivity function
of the system, components high frequency signals present in used for identification, or not
minimum phase zeros of the controllers and transfer functions estimated.
LISTA DE FIGURAS
LISTA DE TABELAS
LISTA DE SÍMBOLOS
SUMÁRIO
1 INTRODUÇÃO .............................................................................................................. 14
3 METODOLOGIA .......................................................................................................... 33
4 RESULTADOS .............................................................................................................. 53
5 CONCLUSÕES .............................................................................................................. 59
REFERÊNCIAS ................................................................................................................ 61
(MATLAB®) ..................................................................................................................... 67
1 INTRODUÇÃO
Segundo Aguirre (2004), nem sempre é viável modelar o sistema partindo das leis
físicas que o regem devido à falta de conhecimento e o elevado tempo necessário para a
identificação do modelo.
1.1 Problema
1.2 Objetivos
1.3 Justificativa
Neste estudo, será possível constatar que, segundo Campos (2007, p. 3): “[...] à
medida que mais dados do processo são disponibilizados, o conhecimento do sistema aumenta
e novos (e possivelmente melhores) controladores podem ser projetados [...]”.
16
Outro ponto importante para a aplicação dos métodos de malha fechada é que não
é preciso, como exemplo em indústrias, parar o processo nem sempre é possível ou até mesmo
controlar o sistema em malha aberta podendo com isto ter perda de qualidade, pelo contrário,
o método poderá ser feito com o sistema operando.
2 FUNDAMENTAÇÃO TEÓRICA
Em Anderson e Gevers (1998 apud Gevers, 2004) são citadas algumas orientações
para o trabalho de pesquisa:
Estas orientações fizeram com que diversos autores Forssell (1997), Forssell e
Ljung (2000), Codrons et al. (2000) e Landau (2001) concluíssem que a identificação do
sistema deve ser feita em malha fechada, como constatado em Rodrigues (2007):
[...] pesquisas de diversos autores (Forssell, 1997; Forssell e Ljung, 2000; Codrons
et al., 2000; Landau, 2001) chegaram a mesma conclusão, indicando que o
experimento de identificação deve ser conduzido com a planta sob-controle, ou
seja, em malha fechada. Segundo Forssell e Ljung (2000), essa abordagem foi
rapidamente absorvida pela indústria, uma vez que utilizava as mesmas
informações que já estavam sendo coletadas pelos computadores durante a
operação normal da planta. (RODRIGUES, 2007, p. 4).
Tais conclusões quebraram o paradigma de que a identificação do modelo da
planta devesse ser feito com a planta operando em malha aberta.
18
T ( G0 ,K )
G0 K G0 1
y( k ) 1 G0 K
1 G0 K 1 r ( k ) 1 G0 K (2.1)
u( k ) K
1 r2 ( k ) K
v( k )
1 G0 K 1 G0 K 1 G0 K
y( k ) G0 u( k ) v( k ) (2.2)
1
O operador q será omitido posteriormente para facilitar a compreensão.
2
LTI - Linear Invariante no Tempo (do inglês Linear Time Invariant)
19
Figura 2: Método Direto X Método Indireto – Visualização das variáveis coletadas por cada método
Neste tipo de identificação, segundo Forssell et al. (1999 apud Rodrigues, 2007)
não há necessidade do conhecimento do controlador K nem da realimentação, também não é
necessário o uso de nenhum algoritmo especial e são obtidos parâmetros bem consistentes
(tanto da planta como do ruído da mesma).
O problema existente com este tipo de método é, segundo Ljung (1999 apud
Fernandes, 2006), a necessidade de bons modelos de ruído devido ao sinal u(k) estar
correlacionado com o ruído de saída.
3
Ĝ é o mesmo G0 estimado.
20
G0 K G0 K 1
T11 ; T12 ; T21 ; T22 (2.3)
1 G0 K 1 G0 K 1 G0 K 1 G0 K
T ( G0 ,K )
y( k ) G0 K S0 G0 S0 r1 ( k ) S0
(2.5)
u( k ) K S
S0 r2 ( k ) K S0
H 0 e( k )
0
Nas Equações 2.6 e 2.7 podem-se obter os coeficientes T12 e T22 respectivamente
resolvendo um problema de identificação em malha aberta já que os mesmos não estão
relacionados com e(k). Através dos coeficientes determinados temos que a função de
transferência estimada para o modelo G0 será o quociente da divisão abaixo (Equação 2.8):
^ ^
^ T12 T12
G ^
^ (2.8)
T22 S
Assim sendo, neste método não é necessário conhecimento do controlador K do
processo e, como referem Fernandes (2006) e Rodrigues (2007), os inconveniente neste
método é que, como já visto no método indireto, a ordem de Ĝ4 será o somatório da ordem de
T12 e T22.
4
Ĝ é o mesmo G0 para fins matemáticos, porém Ĝ um é o modelo estimado e G0 é um modelo definido. O
mesmo se aplica para os termos Ŝ e S0.
22
1 K
GC (s) K p 1 Td s K p i K d s (2.9)
Ti s s
Conforme Ogata (2003) a curva em S pode ser caracterizada por duas constantes,
o atraso L e a constante de tempo T. Através destas constantes são determinados os
parâmetros Kp, Ti e Td da Equação 2.9 conforme a Tabela 1:
Tipo de Controlador Kp Ti Td
T
P 0
L
T L
PI 0 ,9 0
L 0 ,3
23
T
PID 1,2 2L 0 ,5 L
L
Tipo de Controlador Kp Ti Td
P 0 ,5 K u 0
1
PI 0 ,45 K u Pu 0
1,2
PID 0 ,6 K u 0 ,5 Pu 0 ,125 Pu
5
Ku do inglês Ultimate Gain ou Ganho Crítico.
6
Pu do inglês Ultimate Period ou Período Crítico.
24
1
Td e sL (2.10)
s 1
Neste método o único parâmetro a ser ajustado é o λ, e este parâmetro será a nova
constante de tempo do sistema em malha fechada controlada.
KG0
Gmf (2.11)
1 KG0
Considerando um sistema com atraso de transporte L igual a 0, e igualando as
Equações 2.10 e 2.11, temos (Equação 2.12):
1 KG0
(2.12)
s 1 1 KG0
Desenvolvendo o K da Equação 2.12 temos que o controlador desejado é
(Equação 2.13):
1
K (2.13)
G0s
Substituindo G0 na Equação 2.13 obtemos o tipo de controlador a ser
implementado ao sistema. Na Tabela 3 são descritos controladores a partir da Sintonia
Lambda (λ) para modelos de primeira ordem com constante de tempo τ, ganho K e tempo de
atraso L segundo Rivera et al. (1986 apud Fernandes 2009):
Tabela 3 – Sintonia do PID segundo Rivera et al. (1986) para sistemas de primeira
ordem com atraso L
25
Tipo de
Kp Ti Td Sugestão
Controlador
2 L L L
PID 0 ,8
K ( 2 L ) 2 2 L L
2 L L
PI - 1,7
K 2 2 L
Na Tabela 4 temos a Sintonia Lambda (λ) para diversos modelos segundo Rivera
et al. (1986 apud Fernandes 2009):
Modelos de
Kp Ti Td
Processo
K
-
s 1 K
K 1 2 1 2
1 2
1 s 1 2 s 1 K 1 2
K 2
2 2
2
s 2s 1 K 2
K 1
- -
s K
K 1
-
ss 1 K
Para este tipo de sintonia, o sistema em malha fechada responderá mais rápido
para λ<1 e mais lento para λ>1 com relação ao sistema em malha aberta de acordo com
Fernandes (2009) e Aström e Hägglund (1995).
1 K
C(s) K p 1 Td s K p i K d s (2.14)
Ti s s
Aplicando o mínimo múltiplo comum (MMC), temos (Equação 2.15):
26
K d s 2 K p s Ki
C(s) (2.15)
s
Aguirre (2004) apresenta algumas formas de mapear funções no domínio s para o
dominio z e vice-versa. Na Equação 2.16 é apresentado a “aproximação implícita de Euler” no
qual a mesma é baseada em aproximações discretas para a derivada com tempo de
amostragem igual a Ts.
z 1
s (2.16)
zTs
Substituindo s da Equação 2.16 na Equação 2.15 temos (Equação 2.17):
2
z 1 z 1
K p K i K d
zT S zTs
C (z)
z 1
zTS
2
z 1 z 1 (2.17)
K p zTS K i zTS K d zTS
zT
S zT
s
Z 1
K
K p z 1 K i zTS d z 2 2 z 1
zTS
z 1
Considerando um sistema conforme a Figura 1 (com r2(k) = 0 e v(k) = 0) onde
C(z) é o mesmo K(q), podemos escrever o controlador C(z) em função da saída U(z) e a
entrada (erro) E(z) (Equação 2.18):
U ( z)
C( z) (2.18)
E( z)
Substituindo o C(z) da Equação 2.17 pelo C(z) da Equação 2.18, temos (Equação
2.19):
Kd 2
U z
K p z 1 K i zTS
zTS
z 2 z 1 1
z
(2.19)
1
E z z 1 z
Resolvendo a Equação 2.19 temos (Equações 2.20 e 2.21):
27
Kd
U z
K p 1 z 1 K iTS
zTS
z 2 z 1 (2.20)
E(z) 1 z 1
K K K
U z - U z z -1 K p K p z 1 K iTS d 2 d z 1 d z 2 E(z) (2.21)
TS TS TS
Escrevendo na forma de equação de diferenças temos que o PID discreto será,
conforme pode ser visto nas Equações 2.22 e 2.23:
U k U k 1 K p E k K p E k - 1 K iTS E k
(2.22)
K K K
d E k 2 d E k - 1 d E k - 2
TS TS TS
K K
U k U k 1 K p K iTs d E k K p 2 d E k - 1
TS TS
(2.23)
K
d E k - 2
TS
A Equação 2.23 descreve a equações de diferenças de um controlador PID
discreto e pode ser encontrada em Palhares (2008). Na Tabela 5 são exibidas as equações de
diferenças dos controladores PID, PI e PD:
7
n – Número de bits do registro. Também representado como b.
8
Tb – Intervalo entre bits.Também representado por m.
29
9 511 5e9
10 1023 7 e 10
11 2047 9 e 11
Em Aguirre (2004), um resultado heurístico normalmente oferece bons resultados
sugere Tb conforme a Equação 2.24 onde τmin é a menor constante de tempo de interesse:
min
Tb min (2.24)
10 3
Um exemplo de PRBS pode ser visto na Figura 6.
y f x (2.25)
y1 f x1 (2.26)
y2 f x2 (2.27)
y k G0 q u k v k G0 q u k H 0 q e k (2.29)
Bq C q
Aq y k u k ek (2.31)
F q D q
Os polinômios da Equação 2.31 são definidos como (Equação 2.32):
Segundo Aguirre (2004), da Equação Geral 2.31 podem ser definidas estruturas
diferentes bastando considerar algum ou alguns dos polinômios iguais a 1.
Aseguir serão apresentadas três estruturas: a ARX, ARMAX e OE. Estas estruturas
serão utilizadas para identificação de modelos posteriormente.
9
SISO - Do inglês Single Input Single Output que caracteriza um sistema de uma única entrada e uma única
saída.
31
Aq y k B q u k C q ek
B q C q (2.34)
y k u k ek
Aq Aq
O mesmo foi determinado da Equação Geral 2.31 fazendo D(q)=1 e F(q)=1.
B q
y k u k ek (2.35)
F q
O mesmo foi determinado da Equação Geral 2.31 fazendo C(q)=1, D(q)=1 e
A(q)=1.
32
3 METODOLOGIA
A princípio, por se tratar de uma planta didática e a mesma não possuir uma malha
de controle fechada já estabilizada, foi preciso fazer a identificação do modelo da planta em
malha aberta através do método de resposta ao degrau segundo Ogata (2003) e com tal
modelo em malha aberta foi implementado um controlador K discreto estabilizante. Com a
planta operando em malha fechada foi aplicado o método de identificação proposto. Para
realização das etafas foi utilizado os softwares MATLAB®, System Identification Tool e Data
Acquisition Toolbox, ambos da The Mathworks. Segue abaixo as etapas executadas:
Com a bomba centrífica ligada, com a planta operando em malha aberta, foi
aplicado um degrau, u(k), de 60% de abertura na válvula FY-31 e coletado com um período de
amostragem igual a 0,2 segundos através do transmissor de nível LIT-31 o nível y(k). Este
tempo de amostragem foi adotado por não se conhecer as constantes de tempo da planta. A
resposta ao degrau pode ser visto na Figura 8 e o código no MATLAB® utilizado na
identificação em malha aberta pode ser visto no Apêndice A.
35
PV 52
^ K 0 ,8667 (3.1)
G MV 60
s 1 s 1 137 s 1 137 s 1
Através do modelo estimado Ĝ da Equação 3.1, foi verificado a relação entre o
modelo real e o modelo estimado na resposta ao degrau de 60% o que pode ser visto na Figura
9. O modelo estimado se aproxima bem do modelo real para esta situação e para o projeto do
controlador K foi considerado que o modelo é LTI.
36
O terceiro método, Sintonia Lambda (λ), foi verificado e visto que é possível o
projeto do controlador PI através deste método. O projeto do controlador foi feito conforme a
Tabela 4 considerando que o sistema em malha fechada tenha uma constante de tempo nova
λ=60 segundos e os parâmetros encontrados para Kp e Ti foram conforme Equações 3.2 e 3.3:
137 158,0770
Kp 2,6346 (3.2)
K 52 60
60
Ti 137 (3.3)
1 1 2 ,6346 s 19 ,2306 10 3
G C (s) K p 1 2 ,6346 1 (3.4)
Ti s 137 s s
Figura 11: Resposta ao degrau – Sistema em Malha Fechada Controlado X Sistema em Malha Aberta
U k U k 1 2 ,6346 19 ,2306 10 3 E k 2 ,6346 E k - 1 (3.5)
A resposta deste novo controlador PI discreto pode ser visto na Figura 12 no qual
foi possível observar que a resposta do PI discreto simulado é equivalente a do PI contínuo
simulado resultando e variações mínimas. A simulação do sistema controlado por controlador
PI discreto pode ser visto no Apêndice C.
39
Figura 13: Resposta ao degrau em malha fechada – Sistema Real X Sistema Simulado
(a) Resposta ao degrau de 60% abertura válvula – Sistema em malha fechada controlado;
(b) % Abertura válvula FY-31.
Foi possível observar que o controlador K estabilizante controlou o nível do
tanque com variações menores que 1% em regime estacionário. Outro fato relevante é que o
modelo foi estimado para uma abertura de válvula igual a 60% e com a introdução do
controlador o sistema passou a atuar dentro de regiões que variam de 74% a 100% que pode
ser um dos fatores que causaram um desvio da variável manipulada em relação ao simulado.
No terceiro ensaio, foi então aplicado um sinal em r2(k) aleatório com variação
entre +10% e -10% e controlador K do tipo PI. Assim como no primeiro ensaio, o objetivo é
melhorar a relação entrada saída do modelo.
10
PRBS: Sigla em inglês para Pseudo Random Binary Signal.
11
Qualquer que seja a escolha do sinal referência, r1 (k) ou r2(k), o resultado final será o mesmo já que a função
de transferência estimada G0 é o quociente das funções de transferências determinadas pelas amostras – Ver item
2.2.3.
42
Para a utilização do PRBS faz se necessário verificar sua autocorrelação para que
seja determinado que o PRBS utilizado é um sinal aleatório ou se existe dentro do intervalo
utilizado alguma repetição de sinais o que faria com que o sinal não fosse aleatório e a
amostra dos dados obtidos não contivesse as mais variadas frequências de excitação para o
experimento. Por este motivo, foi feito a autocorrelação do PRBS (função de autocorrelação,
ver Anexo B) e o resultado pode ser visto na Figura 14:
Para a próxima etapa foram determinados, através dos sinais obtidos, os modelos
(funções de transferências) que descrevem o relacionamento de r2(k) para y(k) e de r2(k) para
u(k), também conhecidos, conforme as Equações 2.6 e 2.7, como T12 e T22 respectivamente.
sistema e foi retirado dos dados a média dos dados e também foi considerado o desempenho
do modelo devido à sua ordem sendo que quanto maior o desempenho para uma menor ordem
melhor.
Identificando T12
12
Esta nomenclatura é utilizada no System Identification Toolbox (SITB) Ljung (1995 apud Rodrigues, 2007),
OE(nb,nf,nk) significa que será estimado um modelo OE com nb parâmetros no numerador, nf parâmetros no
denominador e nk atrasos.
45
A equação da função de transferência T12, vista na Equação 3.8, pode ser extraída
da Equação 2.35 (modelo OE) no qual a entrada é r2(k) e a saída é y(k) com os parâmetros
B(q) e F(q) da Equação 3.6, como visto nas Equações 3.7 e 3.8:
B q
y k r2 k ek T12 r2 k ek (3.7)
F q
B q 0 ,01992q -1 0,0199q-2
T12
F q 1 - 1,946q -1 0 ,9464q - 2
(3.8)
T12 0 ,019915
z 0 ,9995 Ts 1s
z 0 ,9907 z 0 ,9552
Identificando T22
B q 0,8159q -1 0,818q -2 ;
(3.9)
F q 1 - 1,325q -1 0,3707q -2 .
A resposta do modelo matemático comparada com a do sistema real foi (Figura
17):
46
A equação da função de transferência T22, vista na Equação 3.11, pode ser extraída
da Equação 2.35 (modelo OE) no qual a entrada é r2(k) e a saída é u(k) com os parâmetros
B(q) e F(q) da Equação 3.9, como visto na Equação 3.10:
B q 0,8159q -1 0,818q -2
T22
F q 1 - 1,325q - 1 0,3707q - 2
(3.10)
T22 0 ,81587
z 1,003 Ts 1s
z 0 ,9243 z 0 ,4011
Estimando o modelo da planta G0
Ĝ
T12
0 ,02440
z 0 ,9995 z 0 ,9243 z 0 ,4011 T 1s
(3.11)
T22 z 0 ,9907 z 0 ,9552 z 1,003 s
z 0 ,9995 z 1,003
Ĝ
T12
0 ,02440
z 0 ,9243 z 0 ,4011 T 1s (3.12)
s
T22 z 0 ,9907 z 0 ,9552
B q - 0,01404q -1 0 ,02012 q -2
T12
F q 1 - 1,73q - 1 0 ,7374 q - 2
(3.13)
T12 0 ,01404
z 1,433 Ts 1s
z 0 ,9685 z 0 ,7614
Identificando T22
T22 0 ,97083
z 0 ,9957 Ts 1s
z 0 ,9703 z 0 ,1205
z 0 ,9685 z 0 ,9703
Ĝ
T12
0 ,0144
z 1,433 z 0 ,1205 T 1s (3.15)
T22 z 0 ,7614 z 0 ,9557 s
para t≠0, estar dentro do intervalo de confiança (≤ 0,4)) e a resposta do sistema operando em
malha fechada com controlador K do tipo PI pode ser visto na Figura 23.
(a) % Nível método de entrada e saída conjunta devido ao sinal aleatório em r2(k);
(b) % Abertura válvula FY-31 em função da ação de controle e ação do sinal aleatório.
51
Identificando T12
Bq 0,02867q-1
T12
F q 1 - 0,9162q- 1
(3.16)
0 ,02866
T12 Ts 1s
z 0 ,9162
Identificando T22
Bq - 0,0006309q -1
T22
F q 1 - 1,939q -1 0 ,9404 q -2
(3.17)
z
T22 0 ,0006308 2 Ts 1s
z 1,939 z 0 ,9404
Ĝ
T12
45 ,4381
z 2 1,939 z 0 ,9404
Ts 1s (3.18)
T22
z 2 0 ,9162 z
53
4 RESULTADOS
Figura 26: Resposta do 1º Modelo Ĝ estimado pelo método e Local das raízes (z)
Ĝ 0 ,02441
s 0 ,5908 s 0 ,07887
(4.1)
s 0 ,04583 s 0 ,009344
Analisando a Equação 4.1 temos que o modelo real estimado possui um ganho de
2,65 para quanto t→∞ (s→0), ou seja, para uma entrada de 60% o modelo terá um % Nível de
159% como pode ser visto na Figura 26. Se aproximarmos o modelo estimado Ĝ a um modelo
de primeira ordem temos que o mesmo apresenta constante de tempo igual a 102 segundos.
Uma análise feita no diagrama de Bode da Figura 27, observa-se que o modelo
estimado começa a reduzir o gradiente de atenuação em uma freqüência 0,07 rad/s ao
contrário do modelo estimado pela resposta ao degrau que funciona puramente como um filtro
passa baixas.
Figura 28: Resposta do 2º Modelo Ĝ estimado pelo método e Local das raízes (z)
Ĝ 0 ,014462
s 1,126 s 0 ,3872
(4.2)
s 0 ,2726 s 0 ,004309
Pode-se observar que o modelo é de fase não mínima, mas possui um ganho a
altas frequências negativo. Devido a esta características o modelo possui um ganho em regime
estacionário igual a 5,36, o que implica dizer que para uma degrau de 60% o % Nível do
modelo será aproximadamente 322% o que não aproxima ao modelo real da planta que é de
52%.
56
Figura 30: Resposta do 3º Modelo Ĝ estimado pelo método e Local das raízes (z)
Ĝ 91,9907
s 2
0 ,0645 s 0 ,001444 (4.3)
s 2s 0 ,08746
Na Figura 30 observa-se que o ganho inicial do modelo é negativo muito elevado,
o que já nos mostra que o modelo não possui uma boa representação do modelo real. Uma
razão para este ganho negativo elevado pode ser visto no diagrama de bode da Figura 31, no
qual tem se que o modelo estimado se comporta como um filtro passa altas, sendo o degrau
um ponto crítico no qual a freqüência s→∞.
Pode-se então afirmar que o modelo não é considerado um modelo válido para o
processo em questão.
5 CONCLUSÕES
Também foi possível observar que o sistema operando em malha fechada pelo
controlador PI projetado se comportou conforme o esperado e simulado anteriormente o que
reafirma que apesar de simples, o método da Sintonia Lambda (λ) é bem eficiente e preciso
para este caso.
Outro possível problema encontrado é que como a função T22 é que a mesma é a
relação do sinal aplicado ao processo r2(k) com a saída de controle u(k), obterá um sinal com
frequência elevada, o que dificultará a identificação do modelo, sendo que, uma boa
identificação em alguns casos somente será possível com um modelo de grau elevado.
Também foi possível observar que os métodos de predição de erro obtiveram melhores
resultados para modelos de baixa ordem.
Outra razão para este possível problema pode ser visto em Codrons (2000),
quando o controlador K têm zeros de fase não mínima, que é o caso do nosso controlador PI
visto na Equação 3.4, a estimativa dos modelos de T11 e por consequência T12 fica
60
comprometida devido ao fato dos zeros do controlador K serem os pólos de tais modelos a
serem estimados o que poderá levar, no caso da não eliminação deste pólo instável no
processo de estimação, a instabilidade do modelo da planta estimado Ĝ.
Também foi observado que os zeros da função T22 se tornam pólos do modelo
estimado Ĝ, o que se torna um problema que, caso existam zeros de fase não mínima e os
mesmos não sejam anulados, o que é mais comum, acabam gerando um Ĝ instável.
REFERÊNCIAS
ASTRÖM, K.; HÄGGLUND, T. PID Controllers: Theory, Design, and Tuning. 2ª Edition,
1995. Instrument Society of America, Research Triangle Park. NC 1995.
CODRONS, Benoît et al. A practical application of recent results in model and controller
validation to a ferrosilicon production process. 2000. 39th Conference on Decision and
Control (CDC 2000), pp. 2444–2449, 2000.
FORSSELL, Urban; LJUNG, Lennart. 2000. Some results on optimal experiment design.
Automatica, 36: 749–756, 2000.
GEVERS, Michael. Identification for control: achievements and open problems. Center
for Systems Engineering and Applied Mechanics: Université Catholique Louvain, 2004 -
Louvain-la-Neuve, Belgium, 2004.
62
RIVERA, Daniel E. et al. Internal Model Control. 4.PID Controller Design. Industrial and
Engineering Chemistry Process Design and Development, V. 25, p.252 - p.265. 1986.
VAN DEN HOF, Paul. Closed-loops issues in system identification. Anual reviews in
control, p. 173-186, Delf University of Technology, The Netherlands, 1998.
VAN DEN HOF, Paul; BOMBOIS, Xavier. System Identification for Control. 2004. Deft
Center for Systems and Control Delft University of Technology, The Netherlands, 2004.
63
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Função Geradora de PRBS
%% Autor: Luiz A. Aguirre 1995
%% Função: Gera um PRBS com comprimento N e com o número de bits b
%% repetidos por um período de amostragem m.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function y=prbs(N,b,m);
% y=prbs(N,b,m)
% generates a PRBS signal with length N and with b
% bits each value is held during m sampling times.
% For b=8 the PRBS will not be an m-sequence.
y=zeros(1,N);
x=rand(1,b)>0.5;
j=1; % for most cases the XOR of the last bit is with the
% one before the last. The exceptions are
if b==5
j=2;
elseif b==7
j=3;
elseif b==9
j=4;
elseif b==10
j=3;
elseif b==11
j=2;
end;
for i=1:N/m
y(m*(i-1)+1:m*i)=x(b)*ones(1,m);
x=[ xor(y(m*(i-1)+1),x(b-j)) x(1:b-1) ];
end;
64
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Função de autocorrelação
%% Autor: Luiz A. Aguirre 1991
%% Função: Correlaciona um vetor c de 2 colunas.
%% Para autocorrelação o vetor é inserido nas 2 colunas do vetor c
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [t,r,l,B]=myccf(c,lag,flag1,flag2,cor);
% [t,r,l]=myccf(c,lag,flag1,flag2,cor);
% c1=c(:,1); c2=c(:,2);
% the ccf are calculated from -lag/2 to lag/2 if flag1 = 1;
% the ccf are calculated from 0 to lag if flag1 = 0;
% plots the ccf between c1 and c2 if flag2 = 1;
% if flag2=0 the ccf is returned in r (with respective
% lags in t), but not plotted;
% l is a scalar, the 95% confidence interval is +-l;
% if cor='w', white lines are used. If cor='k', black.
% r*B is the unnormalized value of r.
%
% in case of intending the FI(eu) plot c MUST be =[e u]
if flag1==1,
lag=floor(lag/2);
end;
c1=c(:,1);
c1=c1-mean(c1);
c2=c(:,2);
c2=c2-mean(c2);
cc1=cov(c1);
cc2=cov(c2);
m=floor(0.1*length(c1));
r12=covf([c1 c2],lag+1);
t=0:1:lag-1;
l=ones(lag,1)*1.96/sqrt(length(c1));
% ccf
%for i=1:lag+1
65
% raux(i)=r12(3,lag+2-i);
%end;
B=sqrt(cc1*cc2);
r=[raux(1:length(raux)-1) r12(2,:)]/B;
% if plot
if flag2 == 1,
% if -lag to lag
if flag1 == 1,
t=-(lag):1:lag;
l=ones(2*lag+1,1)*1.96/sqrt(length(c1));
if cor=='w'
plot(t,r,'w-',t,l,'w:',t,-l,'w:',0,1,'w.',0,-1,'w.');
else
hold on
plot(t,r,'k',t,l,'b:',t,-l,'b:',0,1,'k.',0,-1,'k.');
plot(t,r,'k-',t,l,'b:',t,-l,'b:',0,1,'k.',0,-1,'k.');
hold off
end;
xlabel('lag');
else
t=0:lag;
l=ones(lag+1,1)*1.96/sqrt(length(c1));
if cor=='w'
plot(t,r12(2,1:lag+1)/B,'w-',t,l,'w:',t,-l,'w:',0,1,'w.',0,-1,'w.');
else
plot(t,r12(2,1:lag+1)/B,'k-',t,l,'b:',t,-l,'b:',0,1,'k.',0,-1,'k.');
end;
xlabel('lag');
end;
else
% if -lag to lag, but no plots
if flag1 == 1,
t=-(lag):1:lag;
else
t=0:lag;
r=r12(2,1:lag+1)/B;
end;
66
end;
l=l(1);
67
(MATLAB®)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Ensaio em Malha Aberta Planta Smar - 2010
%% Aluno: Patrick Pires Alvim
%% Orientador: Fabrício de Souza Fernandes
%% Função: Aplica degrau em malha aberta na planta e coleta os dados de saída
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all;
close all;
clc;
da = opcda('localhost','Smar.DfiOleServer.0') % Criando cliente OPC para DFI
connect(da); % Conectando com o servidor OPC da DFI
grp = addgroup(da,'CallbackTest') % Criando o grup 'grp' no servidor 'da'
itm = additem(grp,{'LIT-31_AI1.OUT.VALUE','FIT-31_AI1.OUT.VALUE','FY-
31_AO1.OUT.VALUE','TY-31_AO1.OUT.VALUE','TIT-31_AI1.OUT.VALUE'});
%Adicionando item(variável)OPC
pause(10); % Aguarda 10 segundos até que as variaveis opc estejam disponíveis.
%%Início Código
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Simulação em malha fechada com controlador PI - 2010
%% Aluno: Patrick Pires Alvim
%% Orientador: Fabrício de Souza Fernandes
%% Função: Simula sistema controlado em malha fechada por controlador PI
%% contínuo devido à resposta ao degrau de entrada
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
69
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Simulação em malha fechada com controlador PI discreto - 2010
%% Aluno: Patrick Pires Alvim
%% Orientador: Fabrício de Souza Fernandes
%% Função: Simula sistema controlado em malha fechada por controlador PI
%% discreto devido à resposta ao degrau de entrada
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
70
PLANTA (MATLAB®)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Ensaio em Malha Fechada Planta Smar
%% Aluno: Patrick Pires Alvim
%% Orientador: Fabrício de Souza Fernandes
%% Função: Controla planta em malha fechada com controlador PI discreto.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all;
close all;
clc;
%%Parâmetros
Ts = 1; %Tempo de amostragem
Kp = 2.6346; %Ganho Proporcional
Ki = 19.2306e-3; %Ganho Integral
%%
%Numero de amostras para o teste do controlador
N = 1300;
NivelRef = 60;
r1 = ones (1,N);
r1 = r1*NivelRef;
t(1) = 0;
y(1)= (itm(1).value);
u(1)= 0;
e(1)= 0;
k=2;
i=20; %usado para plotar com tempo de i*Ts segundos
while k<=N,
%Controlador PI
u(k) = u(k-1)+((Kp+Ki*Ts)*e(k))-(Kp*e(k-1));
71
%Saturaçao
if u(k)>100
u(k)=100;
end
t(k) = t(k-1)+Ts;
k = k+1;
i = i+1;
if i>=20
plot(t,y)
i=0;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Metodo Entrada-Saída Conjunta - PRBS com Malha Fechada - Planta Smar
%% Aluno: Patrick Pires Alvim
%% Orientador: Fabrício de Souza Fernandes
%% Função: Aplica método de identificação em malha fechada (entrada-saída
%% conjunta) em plana controlada por PI discreto e coleta dados.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all;
close all;
clc;
%%Parâmetros do Controlador PI
Ts = 1; %Tempo de amostragem
Kp = 2.6346; %Ganho Proporcional
Ki = 19.2306e-3; %Ganho Integral
%Referencia entrada
NivelRef = 60;
r1 = ones(NIteracoes,1);
r1 = r1*NivelRef;
%Alocando os vetores
VetorZeros = zeros(NIteracoes,1);
u = VetorZeros;
e = VetorZeros;
uk = VetorZeros;
y = VetorZeros;
t = [0:Ts:(NIteracoes-1)]'*Ts;
%open PRBS.mat; %Este arquivo carrega o r2(k) com valores entre -5% e +%5 do nivel.
%Este valor sera somado a açao do controlador.
load prbs2.mat;
k=2;
while k<=(NIteracoes),
%Saturaçao
if u(k)>100
u(k)=100;
end
end
dados = [t y u r2 uk e];
%plot (t,y,t,u);
%figure;
%plot (t,r2,t,y,t,u);