Download PDF
ads:
UNIVERSIDADE FEDERAL DE ITAJU
PROGRAMA DE PÓS-GRADUAÇÃO EM
ENGENHARIA ELÉTRICA
Desenvolvimentos de Malhas de
Controle por Técnicas de
Escalonamento de Ganhos e
Lógica Fuzzy
Carlos Roberto de Araújo
Dissertação submetida ao Programa de Pós-Graduação em Engenharia Elétrica
como parte dos requisitos necessários para a obtenção de título de Mestre em
Engenharia Elétrica.
SETEMBRO DE 2009
Itajubá – MG
ads:
Livros Grátis
http://www.livrosgratis.com.br
Milhares de livros grátis para download.
ii
A meus pais e à minha namorada, dedico este trabalho
com muito respeito e admiração.
ads:
iii
AGRADECIMENTOS
Agradeço aos meus pais, Nelza e Roberto, por tudo o que fizeram e continuam
fazendo por mim.
À minha namorada, Flávia, pelo incentivo e compreensão nos momentos de
dificuldade.
À Universidade Federal de Itajubá pela estrutura disponibilizada para a realização
deste trabalho.
Ao Professor-Orientador Carlos Alberto Murari Pinheiro, pelo competente e paciente
acompanhamento.
Ao Professor da Universidade Federal de Ouro Preto, Agnaldo José de Rocha Reis,
pela ajuda na obtenção de material teórico para o trabalho.
A todos os meus amigos.
E, finalmente, a Deus, que sempre nos conforta e direciona para um porto seguro.
iv
RESUMO
Neste trabalho, apresenta-se o desenvolvimento de malhas de controle por meio
de técnicas de escalonamento de ganhos e lógica fuzzy. Esta também é conhecida
como lógica difusa ou nebulosa. As estratégias de controle foram aplicadas em uma
planta de nível não-linear cujo comportamento se modifica de forma bastante
significativa conforme a mudança da referência do sistema. Foram realizadas três
abordagens distintas. Os resultados obtidos foram confrontados entre si, incluindo
comparações com resultados de um controlador Proporcional + Integral (PI) com
ganhos fixos.
Técnicas de controle linear apresentam limitações em processos não-lineares
porque os controladores possuem ganhos fixos que não fornecem bons resultados
em uma ampla faixa de operação do sistema. Dessa forma, a motivação para este
trabalho é o desenvolvimento de estratégias capazes de aumentar a eficiência do
sistema de controle através de escalonamento de ganhos e lógica fuzzy.
As estratégias de controle desenvolvidas utilizaram técnicas de escalonamento
de ganhos através de informações da referência de entrada da malha de controle do
processo e de informações da saída da planta. A última estratégia de controle
utilizou lógica fuzzy.
Como exemplo de aplicação foi utilizado um sistema de controle de nível. Foram
realizadas simulações computacionais com o emprego de um modelo matemático do
tipo NARMAX (não linear auto-regressivo de média móvel com entradas exógenas)
do processo citado. Também foi utilizada uma planta em escala reduzida objetivando
a realização de testes reais, complementando os resultados obtidos por simulações
numéricas.
Os resultados dos ensaios demonstraram que as abordagens utilizadas foram
capazes de melhorar o desempenho do controlador PI de ganhos fixos. E as
simulações reproduziram bem os ensaios realizados, demonstrando a boa qualidade
do modelo não linear obtido.
Palavras-chave:
Lógica Fuzzy, Escalonamento de ganhos, processos não-lineares, sistema de
controle de nível.
v
ABSTRACT
In this work is presented the development of control loops using techniques of
gain scheduling and fuzzy logic. This is also known as diffuse logic. The control
strategies were applied to a nonlinear plant-level whose behavior is changed quite
significantly as the change of reference system. Were made three distinct
approaches. The results were compared with each other, including comparisons with
results of a Proportional + Integral controller (PI) with fixed gains.
Linear control techniques have limitations in nonlinear processes because the
controllers have fixed gains that do not provide good results in a wide range of
system operation. Thus, the motivation for this work is the development of strategies
to increase the efficiency of the control system by scheduling gains and fuzzy logic.
The developed strategies of control had used techniques of scheduling gains
through information of the input’s reference of the control loop of the process and
information of the plant’s output. The last control strategy used fuzzy logic.
As an application example it was used a level control system. Computer
simulations were performed with the use of a mathematical model of the type
NARMAX (nonlinear autoregressive moving average with exogenous inputs) of cited
process. It was also used a plant in reduced scale objectifying accomplishment of
real tests, complementing the results obtained by numerical simulations.
The results of the tests showed that the approaches used were able to improve
the performance of the PI controller of fixed gains. And the simulations reproduced
well the tests, demonstrating the good quality of the nonlinear model obtained.
Keywords:
Fuzzy Logic, Gain scheduling, nonlinear processes, level control system.
vi
SUMÁRIO
1. INTRODUÇÃO ........................................................................................................1
2. REVISÃO BIBLIOGRÁFICA....................................................................................3
3. CONCEITOS BÁSICOS ..........................................................................................5
3.1 Modelagem Matemática ........................................................................................5
3.2 Sistemas Fuzzy .....................................................................................................7
4. MÉTODOS E DESENVOLVIMENTOS..................................................................16
4.1 Identificação do Sistema – Modelo Linear...........................................................17
4.2 Modelo Não-Linear..............................................................................................18
5. ESTRATÉGIAS DE CONTROLE ..........................................................................21
5.1 Controlador PI com Ganhos Fixos ......................................................................21
5.2 Controlador PI com Ganhos Escalonados pela Referência.................................22
5.3 Controlador PI com Ganhos Escalonados via Dados de Saída ..........................23
5.4 Controlador Fuzzy ...............................................................................................25
6. RESULTADOS......................................................................................................32
6.1 Controlador PI com Ganhos Fixos ......................................................................32
6.2 Controlador PI com Ganhos Escalonados pela Referência.................................32
6.3 Controlador PI com Ganhos Escalonados via Dados de Saída ..........................33
6.4 Controlador Fuzzy ...............................................................................................34
7. CONCLUSÕES E TRABALHOS FUTUROS.........................................................37
REFERÊNCIAS BIBLIOGRÁFICAS..........................................................................38
ANEXO 1 – PROGRAMA DO MODELO NARMAX...................................................41
ANEXO 2 – PROGRAMA DE OBTENÇÃO DO MODELO FUZZY............................43
ANEXO 3 – PROGRAMA DE SIMULAÇÃO DO CONTROLE FUZZY ......................46
ANEXO 4 – SUB-ROTINA DO LABVIEW DO CONTROLADOR FUZZY..................48
ANEXO 5 – SUB-ROTINA PARA ESCALONAMENTO DE GANHOS I ....................51
ANEXO 6 – SUB-ROTINA PARA ESCALONAMENTO DE GANHOS II ...................52
vii
LISTA DE FIGURAS
Figura 1 – Sistema de Controle de Nível.....................................................................1
Figura 2 – Tanque com área de seção transversal variável........................................6
Figura 3 – Exemplo de variável linguística. .................................................................9
Figura 4 – Conjuntos fuzzy para a variável temperatura. ..........................................10
Figura 5 – Exemplo de domínio associado a conjuntos fuzzy...................................10
Figura 6 – Ilustração de um sistema de inferência fuzzy...........................................14
Figura 7 – Bancada de ensaios.................................................................................16
Figura 8 – Resultados do modelo NARMAX. ............................................................20
Figura 9 – AutoCorrelação do sinal medido (nível) ...................................................20
Figura 10 – Respostas do sistema para diferentes pontos de operação...................22
Figura 11 – Gráfico com as informações dos ganhos variáveis. ...............................23
Figura 12 – Controlador fuzzy. ..................................................................................26
Figura 13 – Dados de ensaios práticos. ....................................................................26
Figura 14 – Funções de pertinência para a entrada relativa ao erro.........................27
Figura 15 – Funções de pertinência para a entrada relativa à integral do erro. ........27
Figura 16 – Superfície de controle. ...........................................................................28
Figura 17 – Dados de medidas reais e do modelo fuzzy da variável de comando....28
Figura 18 – Dados de medidas reais e do modelo fuzzy da variável erro. ................29
Figura 19 – Dados de medidas reais e do modelo fuzzy da integração do erro........29
Figura 20 – Resultados de simulações com controlador PI convencional.................32
Figura 21 – Resultados reais com PI de ganhos escalonados via referência. ..........33
Figura 22 – Simulações com escalonamento via referência de entrada. ..................33
Figura 23 – Resultados reais com escalonamento de ganhos via dados de saída...34
Figura 24 – Resultados de simulações com escalonamento de ganhos via saída....34
Figura 25 – Resultados de ensaios reais com controlador fuzzy. .............................35
Figura 26 – Resultados de simulações com controlador fuzzy..................................35
Figura 27 – Interface gráfica do sistema de controle.................................................50
Figura 28 – Realização do controlador fuzzy. ...........................................................50
LISTA DE TABELAS
Tabela 1 – Dados de ensaios para identificação (SP = 4 para SP = 6).....................17
Tabela 2 – Ganhos para diversos pontos de operação.............................................22
Tabela 3 – Comparação entre controladores (Referência = 8 cm)............................36
ix
LISTA DE ABREVIATURAS
Anfis Adaptive Neuro-Fuzzy Inference System
I-PD-Fuzzy Integral-Proportional Derivative-Fuzzy
i
K Ganho Integral
p
K Ganho Proporcional
p
M Máximo Pico
NARMAX Non-Linear Auto-Regressive Moving Average with Exogenous
Input
PI
Proporcional + Integral
RBF Radial Basis Function
SP Set-Point
a
T Tempo de Acomodação
ω
Frequência natural de oscilação
ξ
Fator de Amortecimento
1
1. INTRODUÇÃO
Este trabalho consiste em implementações e comparações de estratégias de
controle para um processo de nível típico em aplicações industriais. O sistema
escolhido servirá de modelo para comparações de algumas estratégias de controle
que serão implementadas experimentalmente nesta dissertação. A Figura 1 ilustra
um processo de nível. A capacitância (C) representa a capacidade de
armazenamento do tanque, e geralmente está relacionada com a secção transversal
do reservatório. A resistência (R) representa o esforço do deslocamento do fluido
através da tubulação e da válvula de saída (LUNA, et al., 2002), e geralmente
depende da seção transversal da tubulação de saída e da viscosidade do fluído.
Figura 1 – Processo de nível.
Este tipo de sistema é bastante relevante em aplicações industriais. Ele está
presente em diversas áreas de aplicações, como mineração, siderurgia, saneamento
básico, etc. Em alguns casos, um sistema de controle de nível eficiente pode estar
relacionado à diminuição nos custos de produção e, em outros, a questões de
segurança. Independente dos aspectos de interesse, é fato que as indústrias que
empregam esse tipo de processo necessitam de procedimentos adequados,
principalmente devido à alta competitividade dos mercados atuais.
Sistemas de nível possuem características não-lineares. Assim, a atuação de
malhas de controle que utilizam técnicas lineares, para diversos pontos de operação
destes processos, pode o apresentar bons resultados. Neste contexto, são
empregadas estratégias de controle diferenciadas que possam obter melhores
2
resultados. Uma abordagem usual é a utilização de informações das variáveis
principais ou auxiliares do processo. Por exemplo, a informação da saída do
sistema, objetivando a atualização dos ganhos dos controladores utilizados
(ASTRÖM e WITTENMARK, 1989). Esta abordagem pode ser classificada como
uma técnica de controle com características adaptativas, e usualmente recebe a
denominação de técnica de escalonamento de ganhos.
Outras abordagens têm empregado técnicas de inteligência artificial, como gica
fuzzy e redes neurais artificiais. Técnicas de controle fuzzy têm se mostrado muito
oportunas. Encontram-se na literatura alguns trabalhos nesse sentido, como em
sistemas de tanques acoplados (LUNA, et al., 2002, MELO e BERNARDES, 2006),
em que o objetivo é o estudo e a comparação de técnicas de controle para sistemas
não-lineares com múltiplas entradas e saídas.
Este trabalho está dividido nas seções citadas a seguir. O Capítulo 2 traz uma
resenha bibliográfica de temas pesquisados e relacionados aos assuntos abordados
nesta dissertação. O Capítulo 3 mostra a conceituação básica dos principais tópicos
abordados. O Capítulo 4 aborda a metodologia utilizada na pesquisa. No Capítulo 5
são apresentadas as realizações das estratégias de controle propostas para este
trabalho. O Capítulo 6 contém os resultados obtidos. E, finalmente, no Capítulo 7
encontram-se as conclusões e propostas para trabalhos futuros.
3
2. REVISÃO BIBLIOGRÁFICA
Sistemas de controle de nível são processos não-lineares fundamentais em
muitas plantas industriais (BHAMBHANI e CHEN, 2008). A lógica fuzzy tem sido
utilizada em sistemas não-lineares e, principalmente, em sistemas cujo modelo
matemático está sujeito a incertezas (apud SANDRI e CORREA, 1999). Os
principais problemas para se projetar controladores em processos de nível o as
não-linearidades, variações de parâmetros, atrasos de transporte e perturbações
diversas (KOUHI et al., 2008). Alguns trabalhos abordaram questões de processos
com tanques acoplados (LUNA FILHO, GOSMANN e BAUCHSPIESS, 2002, MELO
e BERNARDES, 2006), em que o objetivo é o estudo e a comparação de técnicas de
controle em um sistema não-linear com múltiplas entradas e saídas. Controladores
PID-Fuzzy baseados em modelos de previsão foram propostos em KAYACAN e
KAYNAK (2006), sendo que o objetivo era obter um controlador que possuísse a
capacidade de prever o valor futuro da saída do sistema e realizar correções,
antecipando variações intensas na regulação do processo. CHATRATTANAWUTH
et al. (2006) controlaram um sistema de nível por meio de um controlador I-PD-
Fuzzy. Uma comparação entre estruturas de controladores PI em controle de nível
pode ser encontrada em BHAMBHANI e CHEN (2008). Leis de controle difusas que
usam fórmulas matemáticas ao invés de conhecimento heurístico sobre o processo
também são utilizadas (HECKENTHALER e ENGELL, 1994). DUSSUD et al. (1998),
desenvolveram um controlador nebuloso para o controle de nível de metal fundido
em processos de vazamento contínuo, uma vez que um controlador PID clássico
não é capaz de regular de modo adequado variações intensas de nível (o que pode
levar a derramamento de material).
Na teoria de controle clássica, os controladores apresentam características
operacionais fixas. Isso acarreta algumas limitações, uma vez que sistemas reais
necessitam de certa capacidade de adaptação em face às variações dos processos
envolvidos (COELHO e ALMEIDA, 2003). Nesse sentido, os sistemas de controle
fuzzy podem ser um meio eficiente para se superar as limitações dos controladores
clássicos, porque o algoritmo de controle dos mesmos é formado por um conjunto de
regras lógicas capazes de descrever em uma rotina a experiência humana, intuição
e heurística para controlar um processo (apud SANDRI e CORREA, 1999).
4
Processos reais apresentam características não-lineares, o que leva as malha de
controle clássicas a apresentarem desempenhos diferentes para diversos pontos de
operação em muitos sistemas práticos. Dessa forma, malhas de controle fuzzy
podem constituir uma solução interessante, porque apresentam potencial para tratar
processos com grau de incerteza nos seus valores, e capacidade de agregação de
informações linguísticas por meio de um conjunto de regras (PINHEIRO, 2000). Isso
permite que os sistemas de controle resultantes possam apresentar melhores
resultados.
Outra estratégia para se controlar sistemas não-lineares consiste no uso de
medidas de variáveis auxiliares. Dentre elas pode-se usar a informação da saída do
sistema para a atualização de ganhos de controladores convencionais (ASTRÖM e
WITTENMARK, 1989).
5
3. CONCEITOS BÁSICOS
3.1 Modelagem Matemática
A utilização de modelos matemáticos de sistemas práticos é parte integrante de
várias áreas das atividades humanas. A área do conhecimento que estuda maneiras
de construir e implementar modelos matemáticos de sistemas reais chama-se
modelagem matemática (AGUIRRE, 2004). várias formas de se classificar
técnicas de modelagem. Frequentemente, as técnicas são classificadas em três
grupos: modelagem caixa branca, modelagem caixa preta e modelagem caixa cinza.
Na modelagem caixa branca é necessário um conhecimento sobre as leis físicas
que governam o sistema. Por essa razão, esse tipo de modelagem é também
conhecido como modelagem pela física ou natureza do processo. Infelizmente,
devido ao conhecimento e ao tempo necessários para modelar um sistema prático,
partindo-se das relações físicas envolvidas, muitas vezes, torna-se oneroso a
utilização desse procedimento.
Identificação de sistemas é uma área de modelagem matemática que estuda
técnicas alternativas à modelagem caixa branca. Ela utiliza pouco ou nenhum
conhecimento prévio do sistema, e é conhecida como modelagem caixa preta ou
empírica. Em muitas aplicações será preferível utilizar técnicas de identificação para
a obtenção de modelos. Em sistemas reais existem componentes de difícil
modelagem por meio de equações físicas. O objetivo de modelos obtidos por
técnicas de identificação é descrever relações de causa e efeito entre variáveis de
entrada e saída. Nesse caso, os tipos de modelos, as técnicas usadas e os
requisitos necessários são bastante distintos dos relacionados com modelagens pela
natureza do processo.
A identificação caixa cinza situa-se entre a identificação caixa branca e a caixa
preta. São empregadas informações auxiliares, não presentes no conjunto de dados
utilizados durante a identificação. O tipo de informação auxiliar e a forma como a
mesma é usada varia bastante. Assim sendo, existem métodos mais “claros” e mais
“escuros” de identificação caixa cinza, de acordo com a quantidade de informação
auxiliar.
6
Modelagem matemática é um procedimento muito importante para a engenharia
de sistemas de controle. Os modelos matemáticos podem assumir diferentes
formas. Dependendo do sistema e das circunstâncias do problema, um tipo de
modelo pode ser mais adequado do que outro. Uma vez obtido o modelo
matemático, podem ser utilizadas várias ferramentas analíticas e de computação
para efeito de análise e projeto de controladores (OGATA, 2003).
3.1.1 Modelagem Matemática de Sistemas de Nível
O modelo matemático de sistemas de nível utilizado neste trabalho é definido da
seguinte maneira: Considere um reservatório cuja área de seção transversal (
A
)
pode se modificar com a altura ( h ) do nível do mesmo, como ilustrado na Figura 2
(ASTRÖM e WITTENMARK, 1989).
Figura 2 – Tanque com área de seção transversal variável.
A variação do nível no tempo (
t
) é definida pela vazão de entrada (
i
q ), pela área da
seção transversal (
a
) da tubulação de escoamento de saída do reservatório, e pela
aceleração da gravidade (
g
). A equação (1) representa um modelo não-linear usual
de sistemas de nível.
7
)(2a)()]()([ tghtqthhA
dt
d
i
=
(1)
Para que se possa extrair a função de transferência da equação 1, é preciso que a
mesma seja linearizada, uma vez que a função de transferência apenas é aplicada
para sistemas lineares. Assim, considerando pequenas variações para a vazão de
entrada e para o nível do tanque, e realizando algumas simplificações, pode-se
linearizar o modelo em questão em torno de um determinado ponto de operação
(
00
, hq
in
), obtendo-se a função de transferência (2).
α
β
+
=
s
sG )( (2)
Sendo que:
)(
1
0
hA
=
β
;
00
0
00
0
)(2
2a
)(2 hhA
gh
hhA
q
in
==
α
. (3)
3.2 Sistemas Fuzzy
Seres humanos são capazes de lidar com processos complexos baseados em
informações vagas, em que as mesmas podem ser expressas em termos
linguísticos. A teoria dos conjuntos fuzzy foi desenvolvida a partir de 1965 por Lotfi
Zadeh, para tratar do aspecto vago da informação (SANDRI e CORREA, 1999). Esta
teoria pode ser utilizada para traduzir em termos matemáticos informações vagas ou
imprecisas (TANSCHEIT, 2003). Sistemas fuzzy possuem algumas vantagens
interessantes em relação a sistemas de controle clássico: são fáceis de entender;
robustos a ruídos ou incertezas dos dados; conseguem modelar características não-
lineares de complexidade arbitrária; podem ser combinados com outras técnicas;
podem ser construídos por meio da experiência de especialistas; entre outras
(DRIANKOV et al., 1996).
As primeiras aplicações bem sucedidas da lógica fuzzy situaram-se na área de
sistemas de controle, e uma utilização crescente de sistemas fuzzy em outros
campos como, por exemplo, tomada de decisões, previsão de séries temporais,
8
mineração de dados, planejamento e otimização de sistemas, etc (TANSCHEIT,
2003).
Na teoria clássica dos conjuntos, o conceito de pertinência de um elemento
relacionado a um determinado conjunto é bem definido. Dado um conjunto
A
e um
conjunto universo
X
, os elementos do universo somente pertencem ou não àquele
conjunto. Isto pode ser expresso pela função característica definida por (4).
=
Ax
Ax
xf
A
0
1
)( (4)
Na teoria dos conjuntos fuzzy há generalização da função característica de modo
que ela possa assumir um número infinito de valores no intervalo [0,1]. Um conjunto
fuzzy
A
em um universo
X
é definido por uma função de pertinência
[
]
1,0:)(
Xx
A
µ
, e é representado pelo conjunto de pares ordenados (5).
Xx
x
x
A
A
= ,
)(
µ
(5)
Um determinado elemento pode pertencer a mais de um conjunto fuzzy, tendo
diferentes graus de pertinência em cada um deles. O conjunto suporte de um
conjunto fuzzy
A
é o conjunto de elementos no universo
X
para os quais 0)(
>
x
A
µ
.
Um conjunto fuzzy cujo suporte é um único ponto 'x com 1)'(
=
x
A
µ
é chamado de
conjunto unitário fuzzy ou singleton. Assim, um conjunto fuzzy também pode ser
visto como o mapeamento do conjunto suporte no intervalo [0,1], o que implica em
expressar o conjunto fuzzy por sua função de pertinência.
Conjuntos fuzzy apresentam universos contínuos ou discretos. Se o universo
X
for discreto e finito, o conjunto fuzzy
A
é normalmente representado por meio de um
vetor (6), que contém os graus de pertinência em relação ao conjunto
A
dos
elementos correspondentes de
X
.
=
n
i
i
iA
x
x
1
)(
µ
(6)
9
Se o universo
X
for contínuo, emprega-se a notação (7), em que o símbolo de
integral deve ser interpretado da mesma forma que o da soma no caso de um
universo discreto.
X
A
x
x)(
µ
(7)
Conjuntos fuzzy podem ter denominações linguísticas. Uma variável linguística
possui como valores nomes de conjuntos fuzzy. Por exemplo, o nível de um
determinado processo pode ser uma variável linguística com as denominações:
baixo; médio; alto; etc. Estes valores são representados por intermédio de conjuntos
fuzzy, que, por sua vez, utilizam funções de pertinência, conforme ilustrado na
Figura 3.
0 2 4 6 8 10 12
0
0.2
0.4
0.6
0.8
1
vel (cm)
Grau de Pertinência
Baixo Médio Alto
Figura 3 – Exemplo de variável linguística.
A vantagem das variáveis linguísticas é fornecer uma maneira sistemática para
uma caracterização aproximada de fenômenos complexos ou vagos. Em essência, o
uso de descrição linguística empregada por seres humanos, permite o tratamento de
sistemas que são muito complexos para serem analisados em termos matemáticos
convencionais (TANSCHEIT, 2003).
Existem vários tipos de funções de pertinência utilizados na prática. A escolha do
tipo depende do contexto e do conceito que se pretende representar (TANSCHEIT,
2003). Suponha que se deseja construir um sistema de controle para ar
condicionado. Para a descrição da variável temperatura, podem ser definidos os
10
conjuntos difusos quente, frio, confortável, fresco e morno. Estes conjuntos fuzzy
estão mostrados na Figura 4, e a variável linguística em questão depende do
domínio físico do problema (DRIANKOV et al., 1996).
16 18 20 22 24 26
0
0.2
0.4
0.6
0.8
1
Temperatura ( º C )
Grau de Pertinência
fresco confortável mornofrio quente
Figura 4 – Conjuntos fuzzy para a variável temperatura.
Assim, a princípio, as variáveis linguísticas são dependentes do domínio físico em
que se está trabalhando. Mas, geralmente, em sistemas de controle fuzzy é
conveniente o uso de variáveis linguísticas que não dependem do domínio sico
particular. Para isso, pode-se, por exemplo, construir um domínio que tenha sete
conjuntos fuzzy como Positivo Grande (PG), Positivo Médio (PM), Positivo Pequeno
(PP), Zero (ZO), Negativo Pequeno (NP), Negativo Médio (NM) e Negativo Grande
(NG). A Figura 5 ilustra os conjuntos fuzzy associados ao exemplo.
-6 -4 -2 0 2 4 6
0
0.2
0.4
0.6
0.8
1
NG NM NP ZO PP PM PG
Figura 5 – Exemplo de domínio associado a conjuntos fuzzy.
11
Muitas vezes, as funções de pertinência podem ser construídas por meio da
experiência do projetista, mas o mais frequente é o uso de funções padrão, como as
funções triangular, trapezoidal ou gaussiana (TANSCHEIT, 2003).
Funções de pertinência no domínio contínuo podem ser definidas por meio de
funções analíticas. Por exemplo, a função (8) pode ser usada para definir as funções
de pertinência associadas aos conjuntos baixo, médio e alto da Figura 3:
1
)))((1()(
+=
b
A
cxax
µ
(8)
A forma da função anterior pode ser modificada por meio da manipulação dos
parâmetros
a
,
b
e
c
(TANSCHEIT, 2003), resultando em (9), (10) e (11).
12
)91()(
+= xx
baixo
µ
(9)
12
))5.0(91()(
+= xx
médio
µ
(10)
12
))2(91()(
+= xx
alto
µ
(11)
As funções de pertinência de domínio discreto consistem de conjuntos de valores
correspondendo a elementos discretos do universo. Por exemplo, se
{
}
6,5,4,3,2,1,0
=
X , uma representação possível seria (12), (13) e (14).
{
}
0;0,3,0;7,0;1;7,0;3,0)(
=
x
pequeno
µ
(12)
{
}
3,0;7,0;1;7,0;3,0;0;0)(
=
x
médio
µ
(13)
{
}
1;7,0;3,0;0;0;0;0)(
=
x
grande
µ
(14)
Um conjunto fuzzy
A
em um universo
X
é vazio se e somente se sua função de
pertinência é igual a zero sobre todo
X
:
0)(
=
=
xA
A
µ
, Xx
. (15)
O complemento
'
A
de um conjunto fuzzy
A
é normalmente expresso por:
)(1)(
'
xx
A
A
µ
µ
=
, Xx
. (16)
12
Dois conjuntos fuzzy
A
e
B
em
X
são iguais se suas funções de pertinência
forem iguais sobre todo
X
:
)()( xxBA
BA
µ
µ
=
=
, Xx
. (17)
Um conjunto fuzzy
A
é um subconjunto de
B
se sua função de pertinência for
menor ou igual à de
B
sobre todo
X
:
)()( xxBA
BA
µ
µ
, Xx
. (18)
Utilizando os operadores mínimo (min ou
) e máximo (max ou
), assim como
conceitos de soma algébrica, podem ser definidas as operações (19) e (20).
)()()()()( xxxxx
BABABA
µ
µ
µ
µ
µ
=
=
Xx
(19)
)()()()()()()( xxxxxxx
BABABABA
µ
µ
µ
µ
µ
µ
µ
+
=
=
Xx
(20)
Uma norma-t é uma operação binária
: [0,1] x [0,1] [0,1] tal que,
]1,0[,,,
wzyx , as seguintes propriedades são satisfeitas:
Comutatividade: xyyx
=
Associatividade:
)()( zyxzyx
=
Monotonicidade: se
y
x
,
z
w
, então zywx
Condições de contorno: 00
=
x e xx
=
1
Uma co-norma-t, ou norma-s, é uma operação binária
: [0,1] x [0,1] [0,1],
que satisfaz às seguintes propriedades:
Comutatividade: xyyx
=
Associatividade:
)()( zyxzyx
=
Monotonicidade: se
y
x
,
z
w
, então zywx
Condições de contorno: xx
=
0 e 11
=
x
13
Existem várias normas-t e normas-s. As mais utilizadas em trabalhos de
engenharia são os operadores mínimo e produto algébrico para interseção, e o
operador máximo para união.
As representações de sistemas fuzzy mais conhecidas são do tipo Mamdani e
Takagi-Sugeno. Em geral um procedimento de inferência fuzzy é composto de três
etapas: fuzzyficação das variáveis de entrada; composições das regras; agregação
dos resultados por técnicas de defuzzificação. Estes passos serão mais detalhados
a seguir.
A etapa de fuzzyficação consiste em determinar o grau de pertinência em relação
aos conjuntos fuzzy utilizados, dado o conjunto de valores das entradas, por meio de
funções de pertinência ou tabelas.
O processo de composição é realizado para cada regra e os métodos mais
utilizados nos respectivos antecedentes empregam os operadores mínimo ou
produto. Também é admitida operação de união nos antecedentes (operador
máximo).
A agregação é o processo segundo o qual os conjuntos fuzzy que representam
as saídas das regras são combinados em um único conjunto fuzzy ou valor
ponderado. O processo de agregação é comutativo, assim, a ordem na qual as
regras são executadas não é importante. Os métodos mais utilizados nesse
processo empregam o operador máximo ou soma.
O valor resultante da etapa de agregação é convertido em um dado
correspondente à grandeza física do modelo fuzzy em questão. O método mais
usual de defuzzyficação é o do centróide ou centro de área para os controladores do
tipo Mamdani.
Os passos descritos anteriormente podem ser ilustrados na Figura 6, que
representa valores de um sistema fuzzy com duas variáveis de entrada e uma de
saída. Este sistema fuzzy ilustra o problema “Jantar para Dois” e é composto por
três regras linguísticas descritas a seguir:
Se o serviço é péssimo ou a comida é rançosa, então a gorjeta é baixa;
Se o serviço é bom, então a gorjeta é média;
Se o serviço é excelente ou a comida é deliciosa, então a gorjeta é alta.
14
Figura 6 – Ilustração de um sistema de inferência fuzzy.
O modelo fuzzy da Figura 6 é do tipo Mamdani. Ele utiliza o operador máximo nos
antecedentes das regras. Um conjunto fuzzy global que representa a composição
das saídas das regras é gerado e uma ação de controle é retirada do mesmo.
Para um modelo fuzzy do tipo Mamdani a representação de uma regra genérica é
dada por (21), onde
i
X
1
, ... ,
i
k
X e
i
Y
são conjuntos nebulosos,
1
x
, ... ,
k
x são as
variáveis de entrada e
y
a informação da variável de saída (SANDRI e CORREA,
1999).
:
i
r If
i
Xx
11
=
And
i
Xx
22
=
And … And
i
kk
Xx = Then
i
i
Yy = (21)
Para um modelo fuzzy do tipo Takagi-Sugeno a representação de uma regra
genérica é dada por (22), onde
i
X
1
, ... ,
i
k
X são conjuntos nebulosos,
1
x , ... ,
k
x são
as variáveis de entrada e
y
a informação da variável de saída, cujo valor é definido
pela função ),...,,(
21 ki
xxxf , que geralmente é do tipo polinomial (23) (PINHEIRO,
2000).
:
i
r
If
i
Xx
11
= And
i
Xx
22
= And … And
i
kk
Xx =
Then
),...,,(
21 kii
xxxfy
=
(22)
kkiiiki
xcxccxxxf
+
+
+
=
...),...,,(
11021
(23)
15
Existem vários métodos para obtenção das funções de pertinência associadas
aos conjuntos fuzzy, dos coeficientes das funções polinomiais, e das próprias regras
fuzzy. Alguns procedimentos utilizam informações de especialistas ou dos
operadores de um determinado processo. Outros utilizam formulações numéricas
como métodos de agrupamento, otimização, mínimos quadrados, etc. Também
existem procedimentos que utilizam técnicas de inteligência artificial como
algoritmos evolutivos e redes neurais artificiais (SANDRI e CORREA, 1999).
16
4. MÉTODOS E DESENVOLVIMENTOS
Considera-se neste trabalho um processo de controle de nível como plataforma
para os desenvolvimentos realizados. O processo utilizado é composto de um
sistema de nível em escala reduzida, que contém um módulo eletrônico com a
instrumentação do processo, um computador e um sistema de aquisição de dados.
O módulo condiciona o sinal do transdutor capacitivo localizado no tanque superior,
assim como o sinal de controle que aciona a servo-bomba elétrica. O sistema de
aquisição de dados é um modelo NI USB-6008 do fabricante National Instruments,
que possui 8 entradas e 2 saídas analógicas, 12 entradas/saídas digitais e um
contador de 32 bits, além de uma interface USB. A foto da Figura 7 ilustra a bancada
de ensaios resultante.
Figura 7 – Bancada de ensaios.
O processo possui dois reservatórios sobrepostos. Sem a ação do sistema de
controle, o líquido do processo (água) se concentra no reservatório inferior. A partir
do momento em que o sistema entra em funcionamento e um determinado valor de
nível é ajustado na referência da malha de controle do processo, uma ação de
comando é exercida sobre a servo-bomba elétrica do sistema, transferindo o quido
do tanque inferior para o superior. Existe uma interligação entre os dois tanques, de
modo que o objetivo é controlar o nível de quido no reservatório superior, onde um
17
transdutor do tipo capacitivo realiza a medição da grandeza de interesse. Uma
entrada analógica do sistema de aquisição de dados coleta os dados do transdutor e
uma saída analógica aciona o driver da servo-bomba elétrica do processo.
Foram desenvolvidas algumas estratégias de controle que serão mostradas nos
próximos itens, assim como modelos matemáticos identificados referentes ao
processo em questão.
4.1 Identificação do Sistema – Modelo Linear
Para a identificação do processo utilizado neste trabalho foram realizados
experimentos e os resultados obtidos foram gravados com as respectivas
informações da tensão de comando da bomba elétrica e do nível de líquido (no
tanque superior). Foi utilizada uma malha de controle com um controlador PI de
ganhos fixos. Dessa forma, a identificação foi feita em malha fechada (LYUNG,
2000). Os ensaios foram realizados para diferentes pontos de operação do sistema,
ou seja, para diferentes valores de referência de entrada ou set-point (SP). O motivo
de se utilizar diferentes pontos de operação é que, conforme já mostrado, o modelo
real de um sistema de nível apresenta característica não-linear. Com os dados
coletados foram obtidas funções de transferência (correspondentes a modelos
lineares) para os pontos de operação do sistema. Para a obtenção dessas funções
de transferência foi utilizado o toolbox de identificação de sistemas do software
Matlab e dados como os da Tabela 1.
Tabela 1 – Dados de ensaios para identificação (SP = 4 para SP = 6).
N.º do par de
Entrada/Saída
Tensão elétrica
(V) - Entrada
Nível no tanque
(cm) - Saída
Set-Point
1 5 3,95 6,00
2 5 3,95 6,00
3 5 3,98 6,00
4 5 4,01 6,00
5 5 4,01 6,00
6 5 3,98 6,00
7 5 3,95 6,00
... ... ... 6,00
999 0,05 6,10 6,00
18
Foram obtidos modelos lineares do tipo ARX (auto-regressive with exogenous
inputs). A função do Matlab utilizada para a obtenção desses modelos foi a arx, cuja
sintaxe é a seguinte: arx(Data, [na nb nk]). O parâmetro Data representa os dados
de entrada e saída. Os parâmetros na e nb são ordens de polinômios (quando se
expressam funções de transferência na forma polinomial) e o parâmetro nk é o
atraso entre a entrada e a saída. As funções obtidas foram:
SP de 4 para 6 cm:
16446,82
1901,4
)(
)(
+
=
ssU
sY
(24)
SP de 6 para 8 cm:
10928,103
0722,5
)(
)(
+
=
ssU
sY
(25)
SP de 8 para 10 cm:
11111,111
6778,5
)(
)(
+
=
ssU
sY
(26)
SP de 10 para 12 cm:
19512,121
2195,6
)(
)(
+
=
ssU
sY
(27)
Verifica-se que as funções de transferência se modificam conforme a faixa de
operação do sistema, pois o processo real é não-linear.
4.2 Modelo Não-Linear
Na modelagem, uma importante questão é a escolha da estrutura que deverá
representar o comportamento de um sistema dinâmico. Algumas representações
utilizadas na modelagem de sistemas não-lineares o: redes neurais; funções de
base radial, RBF; séries de Volterra; Wavelets; funções polinomiais e racionais;
equações diferenciais polinomiais (AGUIRRE et al., 1998).
19
Na tentativa de se obter um modelo mais completo do processo de nível,
empregou-se uma representação não-linear tipo NARMAX (sigla em inglês para
modelo não-linear auto-regressivo de média móvel com entradas exógenas)
polinomial. Esta estrutura se ajusta aos dados de ensaio com boa exatidão, desde
que os mesmos não apresentem variações abruptas. Foi elaborado um programa
(ANEXO 1) em Matlab para estimar os parâmetros (
θ
) do modelo em questão (28),
em que o vetor
Y
contém medidas da saída do sistema e
F
é a matriz de medidas
dos regressores. Os parâmetros podem ser estimados pela expressão (32) obtida
pelo método dos mínimos quadrados.
)3()3()2()2()3()3()1(
)1()1()1()3()2()1()(
2
98
3
7
2
6
2
54321
+++
+++++=
kukykukykykuku
kukykukukykyky
θθθθ
θθθθθ
(28)
=
9
3
2
1
...
θ
θ
θ
θ
θ
(29)
=
...
...
)2(
)1(
)0(
y
y
y
Y (30)
=
.........
.........
)2().2()3().3()2()2().4()4().4()4()3()3()4(
)1().1()2().2()1()1().3()3().3()3()2()2()3(
)0().0()1().1()0()0().2()2().2()2()1()1()2(
3322
3322
3322
uyuyyuuuyuuyy
uyuyyuuuyuuyy
uyuyyuuuyuuyy
F (31)
F
F
YF
T
T
=
θ
(32)
Em (33) têm-se os valores dos coeficientes resultantes do modelo NARMAX
adotado. O modelo obtido apresentou uma correlação cruzada igual a 99,46%. A
Figura 8 ilustra os dados de saída do processo real (provenientes das medições) e
20
os dados resultantes do modelo (provenientes de simulação computacional). A
Figura 9 apresenta a autocorrelação do sinal medido.
×
=
0015785.0
0050303.0
100467.8
01726.0
0012312.0
046523.0
075072.0
49709.0
50097.0
6
θ
(33)
0 1000 2000 3000 4000 5000 6000 7000
3
4
5
6
7
8
9
10
11
12
13
Numero de Amostras
y
Dados Simulados e Medidos
Modelo NARMAX
Dados Medidos
Figura 8 – Resultados do modelo NARMAX.
-8000 -6000 -4000 -2000 0 2000 4000 6000 8000
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
x 10
5
Numero de Amostras
AutoCorrelaçao do sinal medido com modelo NARMAX
Autocorrelaçao
Figura 9 – AutoCorrelação do sinal medido (nível)
21
5. ESTRATÉGIAS DE CONTROLE
5.1 Controlador PI com Ganhos Fixos
O modelo básico de um controlador PI contínuo é expresso por (34), onde
p
K
é o
ganho proporcional, e
i
K é o ganho integral. A variável
E
representa o erro da
malha de controle, a diferença entre a referência de entrada (set-point) do sistema e
o valor da grandeza controlada do processo. A variável U representa a informação
de comando da planta. Os valores adotados para os ganhos foram 5
=
i
K e
4
=
p
K
.
Estes valores foram ajustados experimentalmente objetivando estabelecer um
máximo pico (
p
M ) menor ou igual a 5% e um tempo de acomodação (
a
T ) em torno
de 60 segundos.
s
K
K
sE
sU
i
p
+=
)(
)(
(34)
A representação discreta do controlador PI, utilizando-se a aproximação direta de
Euler (35) e um tempo de amostragem
T
de 0,1 segundo, é dada por (36). A
equação a diferença resultante é expressa por (37).
1
1
1
1
z
Tz
s
(35)
1
1
1
5,34
)(
)(
=
z
z
zE
zU
(36)
)(4)1(5,3)1()( nenenunu
+
=
(37)
A Figura 10 contém gráficos de respostas normalizadas ( SPh / ) de experimentos
realizados na bancada de ensaios utilizando-se um controlador PI com os ganhos
citados. Nota-se que as respostas dinâmicas se modificam conforme o ponto de
operação do sistema, ou seja, para diferentes valores de set-point. Isto era
esperado, uma vez que o processo é não-linear e o controlador possui ganhos fixos.
22
0 10 20 30 40 50 60 70 80 90 100
0.65
0.7
0.75
0.8
0.85
0.9
0.95
1
1.05
1.1
1.15
Tempo (s)
SP = 4 para SP = 6
SP = 6 para SP = 8
SP = 8 para SP = 10
SP = 10 para SP = 12
Figura 10 – Respostas do sistema para diferentes pontos de operação.
5.2 Controlador PI com Ganhos Escalonados pela Referência
A primeira abordagem de escalonamento de ganhos utilizada neste trabalho
emprega ganhos variáveis escalonados pela informação da referência de entrada
(ASTRÖM e WITTENMARK, 1989). A idéia consiste em realizar ensaios em uma
malha de controle convencional, utilizando-se ganhos distintos para diferentes faixas
de operação do sistema de modo a manter as especificações desejadas (máximo
pico menor ou igual a 5% e tempo de acomodação em torno de 60 segundos). A
Tabela 2 mostra os valores obtidos após alguns ensaios realizados. A Figura 11
ilustra as variações dos ganhos resultantes (objetivando-se manter as características
de resposta desejadas em diferentes pontos de operação do sistema).
Tabela 2 – Ganhos para diversos pontos de operação.
SP
p
K
i
K
4 10 25
6 10 25
8 8 7
10 6 8
12 4 5
14 4 5
23
4 5 6 7 8 9 10 11 12 13 14
0
5
10
15
20
25
30
Referência (SP)
Valores dos Ganhos
Dados Tabelados de Kp
Dados Tabelados de Ki
Curva do Polinônio para Kp
Curva do Polinômio para Ki
Figura 11 – Gráfico com as informações dos ganhos variáveis.
Com os dados da Tabela 1 foram obtidas as funções de interpolação (38) e (39)
para os ganhos do controlador. A equação de diferenças correspondente é dada por
(40). Os resultados de ensaios com a estrutura de ganhos escalonados pela
referência de entrada serão mostrados no próximo capítulo.
4286,137143,0
+
=
spK
p
(38)
5143,510929,72976,0
2
+= spspK
i
(39)
)()1()()1()( neKneKTKnunu
ppi
+
+
=
(40)
5.3 Controlador PI com Ganhos Escalonados via Dados de Saída
Técnicas de escalonamento de ganhos são classificadas como um tipo de
sistema de controle adaptativo. A questão principal desta modalidade de sistema de
controle é a determinação das variáveis que possam ser utilizadas neste
procedimento. As variáveis devem refletir as condições de operação da planta, e a
seleção das mesmas nem sempre é trivial. O ideal é obter expressões simples que
relacionam os ganhos do controlador com as variáveis de escalonamento.
24
A segunda abordagem realizada neste trabalho utiliza a informação de saída do
sistema, e consiste de um método apresentado em ASTRÖM e WITTENMARK
(1989). O modelo adotado para o processo de nível é representado pelas
expressões (1), (2) e (3). O modelo contínuo do controlador PI é dado por (41) ou
(42), em que o parâmetro
K
representa o ganho proporcional e
i
T define a
constante de integração do controlador.
+= ])(
1
)([)( dtte
T
teKtu
i
(41)
)
1
1(
)(
)(
)(
i
sT
K
sE
sU
sC +== (42)
Será admitido que a função de transferência em malha fechada do sistema de
controle é aproximada por (43), em que a variável
R
representa a referência (set-
point) da malha de controle,
Y
simboliza a variável de saída (nível), sendo o erro da
malha definido como
Y
R
E
=
. Assim, os parâmetros do controlador ficam definidos
por (44) e (45) (ASTRÖM e WITTENMARK, 1989).
22
2
2
)()(1
)()(
)(
)(
ωξω
ω
++
=
+
=
ss
sGsC
sGsC
sR
sY
(43)
β
α
ξω
==
2
p
KK (44)
2
2
ω
α
ξω
=
i
T (45)
Substituindo-se as expressões para
α
e
β
mostradas em (3) em (44) e a expressão
de
α
em (45), e considerando
ξω
α
2
<<
a ponto de poder ser desprezado, obtém-se
as seguintes expressões:
)(2 hAKK
p
ξω
=
=
(46)
25
ω
ξ
2
=
i
T
(47)
Com o objetivo de se cumprir as metas desejadas (máximo pico menor ou igual a
5% e tempo de acomodação em torno de 60 segundos), sejam as especificações de
desempenho: 2238,0
=
ω
rad/s e 7448,0
=
ξ
. Substituindo estes valores nas
expressões dos ganhos definidos anteriormente, e considerando o diâmetro do
tanque igual a 17 cm, obtém-se (48) e (49), em que
Yh
=
consiste na informação da
saída do sistema controlado. O termo dh no desenvolvimento da expressão do
ganho
p
K é a área
)(hA
obtida ao se projetar o volume de líquido sobre uma
superfície plana.
hhdhhAK
p
6678,5))(17)(2238,0)(7448,0(22)(2
=
=
=
=
ξω
ξω
(48)
hhK
T
K
K
p
i
p
i
8527.0)6678,5(
)7448,0)(2(
2238,0
2
====
ξ
ω
(49)
Os resultados de ensaios da malha de controle com um controlador PI de ganhos
escalonados pela informação de saída do sistema serão mostrados no próximo
capítulo.
5.4 Controlador Fuzzy
A terceira estratégia empregada neste trabalho utiliza um controlador fuzzy cuja
estrutura está ilustrada na Figura 12. As informações de entrada do sistema
nebuloso são o valor do erro da malha de controle e o da sua respectiva integração
numérica. A informação de saída do controlador é o valor inferido das regras fuzzy.
As mesmas são obtidas a partir de dados de ensaio da malha de controle com
modificações de ganhos de um controlador convencional (para diversos valores de
referência de entrada), ou então com dados já estabelecidos de um controlador com
escalonamento de ganhos. Dados provenientes de ensaios reais (mostrados na
Figura 13) foram utilizados para gerar as funções de pertinência, os coeficientes e as
regras de um modelo Takagi-Sugeno para realizar o controlador fuzzy.
26
Foi utilizado o toolbox Anfis do Matlab para esta finalidade (Fuzzy Logic
Toolbox, 2004). O mesmo utiliza um algoritmo de rede neural para obtenção dos
parâmetros das funções de pertinência, dos coeficientes das funções polinomiais e
das regras fuzzy do modelo Takagi-Sugeno. O ANEXO 2 ilustra os comandos
utilizados para a obtenção do modelo.
Figura 12 – Controlador fuzzy.
0 50 100 150 200 250 300 350 400 450 500
0
2
4
6
8
10
12
14
Tempo (s)
Nivel (cm)
Set-Point
Saída
Figura 13 – Dados de ensaios práticos.
As Figuras 14 e 15 ilustram, respectivamente, as funções de pertinência
obtidas com o toolbox de lógica fuzzy do Matlab para as informações do erro da
malha de controle e da sua integração. As mesmas foram obtidas utilizando-se a
função plotmf do Matlab. Essa função apresenta todas as funções de pertinência
de uma dada variável e possui a seguinte sintaxe: plotmf(sist_fuzzy, tipo da
variável, índice da variável). No lugar do parâmetro sist_fuzzy foi utilizado o
sistema fuzzy obtido com o Anfis. Em tipo da variável foi colocado input’, uma
vez que se trata de uma variável de entrada. Já em índice da variável foi usado o
número 1 para o Erro e o 2 para a Integral do Erro, uma vez que, no sistema em
E
Er
Ie
U
Regras
27
questão, a Entrada 1 é o Erro e a Entrada 2 é a sua integração. As funções de
pertinência das variáveis de entrada do sistema fuzzy foram definidas como
gaussianas.
-1.5 -1 -0.5 0 0.5 1
0
0.2
0.4
0.6
0.8
1
Erro
Grau de Pertinência
Negativo Positivo
Figura 14 – Funções de pertinência para a entrada relativa ao erro.
-80 -60 -40 -20 0 20
0
0.2
0.4
0.6
0.8
1
Integral do Erro
Grau de Pertinência
Negativa Positiva
Figura 15 – Funções de pertinência para a entrada relativa à integral do erro.
A Figura 16 ilustra a superfície relacionada com a ação de controle (
U
) de
acordo com valores de informações do erro e da sua integração. Essa superfície é
gerada utilizando-se a função gensurf(sist_fuzzy) do Matlab. Essa função gera uma
superfície para um dado sistema fuzzy utilizando as duas primeiras entradas e a
primeira saída. A Figura 17 compara a ação de controle simulada do controlador
fuzzy com a real de um controlador PI com escalonamento de ganhos utilizado no
ensaio, que gerou os dados utilizados no Anfis posteriormente. As Figuras 18 e 19
28
mostram resultados de medidas reais do erro e da sua integração, respectivamente,
e os valores estimados em relação às informações simuladas de entrada e saída do
controlador fuzzy resultante. O deslocamento (offset) que aparece na resposta do
modelo fuzzy na Figura 19 é devido à integração numérica da simulação, e no
sistema real este efeito é corrigido pela realimentação da malha de controle
resultante. O modelo difuso mapeou bem as relações entre suas variáveis de
entrada e saída, e deste modo espera-se que na realização real da malha de
controle o controlador nebuloso apresente um bom desempenho.
-1.5
-1
-0.5
0
0.5
1
-80
-60
-40
-20
0
20
-1
0
1
2
3
4
5
Erro
Integral do Erro
U - Ação de Controle
Figura 16 – Superfície de controle.
0 50 100 150 200 250 300 350 400 450 500
-1
0
1
2
3
4
5
6
Tempo (s)
ão de Controle (u)
Escal. Ganho
Fuzzy
Figura 17 – Dados de medidas reais e do modelo fuzzy da variável de comando.
29
0 50 100 150 200 250 300 350 400 450 500
-2
-1.5
-1
-0.5
0
0.5
1
1.5
Tempo (s)
Erro (Er)
Escal. Ganho
Fuzzy
Figura 18 – Dados de medidas reais e do modelo fuzzy da variável erro.
0 50 100 150 200 250 300 350 400 450 500
-80
-60
-40
-20
0
20
40
Tempo (s)
Integral do Erro (Ie)
Escal. Ganho
Fuzzy
Figura 19 – Dados de medidas reais e do modelo fuzzy da integração do erro.
As regras resultantes e os coeficientes das funções polinomiais do modelo fuzzy
estão relacionados a seguir:
Regras (
=
Er
Erro e
=
Ie
Integração do Erro):
1) Se
NegativoEr
=
e
NegativaIe
=
então
;MuitoBaixoU
=
2) Se NegativoEr
=
e PositivaIe
=
então ;BaixoU
=
3) Se PositivoEr
=
e NegativaIe
=
então ;AltoU
=
4) Se
PositivoEr
=
e
PositivaIe
=
então
.MuitoAltoU
=
Funções Polinomiais:
30
1) IeErIeErf
+
+
=
03503,06018,0422,2),(
1
2)
IeErIeErf
+
+
=
03790,08918,003486,0),(
2
3) IeErIeErf
+
=
008929,02232,0792,5),(
3
4) IeErIeErf
+
=
01179,008374,068,4),(
4
As funções polinomiais mostradas anteriormente representam a resposta fornecida
por cada regra. Estas respostas serão usadas no cálculo da resposta global gerada
pelo controlador fuzzy.
Como exemplo dos processamentos realizados pelo controlador, seja um valor
de entrada de Erro
1
=
Er
e da sua Integração .40
=
Ie Substituindo-se esses
valores nas expressões anteriores, obtém-se:
6226,1
1
=
f
;
6591,0
2
=
f
;
2116,5
3
=
f ; 1247,4
4
=
f .
Os valores fuzzyficados correspondentes são:
:Er
49
2
2599,0
733,1
1048,9
+
== xeNegativo
Er
;
3
2
2367,0
572,1
1091,2
== xePositivo
Er
;
:Ie
51,0
2
73,49
81
==
+
Ie
eNegativa
;
2
2
73,43
1,36
1084,4
== xePositiva
Ie
.
Utilizando-se o operador produto nos antecedentes das regras, têm-se:
4949
1
1083,451,01048,9
== xxw ;
50249
2
1059,41084,41048,9
== xxxw ;
33
3
1048,151,01091,2
== xxw ;
423
4
1041,11084,41091,2
== xxxw .
O valor defuzzyficado correspondente à variável de comando está exemplificado
abaixo:
31
][11,5
1041,11048,11059,41083,4
)1041,1).(1247,4()1048,1()2116,5()1059,4()6591,0()1083,4()6226,1(
435049
435049
V
xxxx
xxxx
Saída =
+++
+++
=
.
Dessa forma, quando
1
=
Er
e
40
=
Ie
, uma tensão elétrica de 5,11 V será aplicada
na servo-bomba elétrica. Na verdade, a tensão aplicada será igual a 5 V, uma vez
que o intervalo de tensão é de 0 V a 5 V. Os resultados de ensaios reais com o
controlador fuzzy obtido serão mostrados no próximo capítulo.
32
6. RESULTADOS
Nesta seção serão apresentados resultados reais relacionados com ensaios
práticos no processo em escala reduzida e também de simulações numéricas.
6.1 Controlador PI com Ganhos Fixos
A Figura 20 apresenta resultados de simulações numéricas que utilizam a função
do controlador PI de ganhos fixos e o modelo NARMAX do processo empregado. Os
gráficos das respostas estão normalizados ( SPh / ). Os resultados obtidos são
similares aos relacionados aos ensaios reais mostrados na Figura 10, indicando que
a modelagem do sistema está adequada.
0 10 20 30 40 50 60 70 80 90 100
0.65
0.7
0.75
0.8
0.85
0.9
0.95
1
1.05
1.1
1.15
Tempo (s)
SP = 4 para SP = 6
SP = 6 para SP = 8
SP = 8 para SP = 10
SP = 10 para SP = 12
Figura 20 – Resultados de simulações com controlador PI convencional.
6.2 Controlador PI com Ganhos Escalonados pela Referência
A Figura 21 apresenta respostas do sistema real que utiliza agora um controlador
PI com ganhos escalonados por intermédio das informações da referência de
entrada (SP) da malha de controle. As respostas dinâmicas para diferentes pontos
de operação do sistema apresentam características semelhantes, diferentemente
das respostas (Figura 10 e Figura 20) com o controlador convencional de ganhos
fixos.
33
0 10 20 30 40 50 60 70 80 90 100
0.65
0.7
0.75
0.8
0.85
0.9
0.95
1
1.05
1.1
1.15
Tempo (s)
SP = 4 para SP = 6
SP = 6 para SP = 8
SP = 8 para SP = 10
SP = 10 para SP = 12
Figura 21 – Resultados reais com PI de ganhos escalonados via referência.
A Figura 22 apresenta resultados de simulações no contexto citado. Novamente,
os resultados são coerentes com os resultados práticos.
0 10 20 30 40 50 60 70 80 90 100
0.65
0.7
0.75
0.8
0.85
0.9
0.95
1
1.05
1.1
1.15
Tempo (s)
SP = 4 para SP = 6
SP = 6 para SP = 8
SP = 8 para SP = 10
SP = 10 para SP = 12
Figura 22 – Simulações com escalonamento via referência de entrada.
6.3 Controlador PI com Ganhos Escalonados via Dados de Saída
A Figura 23 mostra as respostas reais de um controlador PI que faz uso da
informação de saída do sistema para atualizar os valores de seus ganhos. Nota-se
uma melhoria nas respostas dinâmicas obtidas, que apresentaram menores tempos
de acomodação em relação às estratégias anteriores.
34
0 10 20 30 40 50 60 70 80 90 100
0.65
0.7
0.75
0.8
0.85
0.9
0.95
1
1.05
1.1
1.15
Tempo (s)
SP = 4 para SP = 6
SP = 6 para SP = 8
SP = 8 para SP = 10
SP = 10 para SP = 12
Figura 23 – Resultados reais com escalonamento de ganhos via dados de saída.
A Figura 24 apresenta simulações com o controlador PI que usa informação da
saída do sistema. Os resultados estão coerentes com os dados experimentais.
0 10 20 30 40 50 60 70 80 90 100
0.65
0.7
0.75
0.8
0.85
0.9
0.95
1
1.05
1.1
1.15
Tempo (s)
SP = 4 para SP = 6
SP = 6 para SP = 8
SP = 8 para SP = 10
SP = 10 para SP = 12
Figura 24 – Resultados de simulações com escalonamento de ganhos via saída.
6.4 Controlador Fuzzy
A Figura 25 apresenta os resultados de ensaios reais com o controlador fuzzy.
Observa-se que a malha de controle resultante apresentou menores valores de
máximo pico e tempo de acomodação. A explicação pode ser atribuída ao fato de
35
que sistemas fuzzy são aproximadores universais de funções. O modelo difuso
resultante mapeou bem os efeitos das alterações dos ganhos resultantes da etapa
de treinamento (que utilizou dados reais de medições experimentais realizadas na
bancada de ensaio).
0 10 20 30 40 50 60 70 80 90 100
0.65
0.7
0.75
0.8
0.85
0.9
0.95
1
1.05
1.1
1.15
Tempo (s)
SP = 4 para SP = 6
SP = 6 para SP = 8
SP = 8 para SP = 10
SP = 10 para SP = 12
Figura 25 – Resultados de ensaios reais com controlador fuzzy.
A Figura 26 apresenta simulações com o controlador fuzzy. Elas reproduzem com
razoável precisão os ensaios da Figura 22, embora apresentem certo erro em
regime permanente que pode ser atribuído a problemas numéricos da
implementação computacional da simulação.
0 10 20 30 40 50 60 70 80 90 100
0.65
0.7
0.75
0.8
0.85
0.9
0.95
1
1.05
1.1
1.15
Tempo (s)
Nível (cm)
SP = 4 para SP = 6
SP = 6 para SP = 8
SP = 8 para SP =10
SP = 10 para SP = 12
Figura 26 – Resultados de simulações com controlador fuzzy.
36
No ANEXO 3 desta dissertação encontra-se o programa de simulação da malha
de controle com o controlador fuzzy. No ANEXO 4 encontra-se o programa que
implementa a malha de controle real do mesmo. O programa em questão foi
realizado no ambiente LabView. O aplicativo grava os dados dos ensaios em um
arquivo de planilha (Excel) que, posteriormente, pode ser lido no ambiente Matlab
para gerar os gráficos dos resultados dos experimentos realizados.
O ANEXO 5 contém o programa aplicativo referente à abordagem de
escalonamento de ganhos via informações da referência de entrada da malha de
controle. E no ANEXO 6 tem-se o programa relativo à técnica de escalonamento de
ganhos via informações da saída do processo controlado.
Pode-se afirmar que o algoritmo do controlador fuzzy exige maiores recursos
computacionais comparado às metodologias de escalonamento de ganhos.
Entretanto, com os recursos de hardware e software disponíveis atualmente, não
existem grandes dificuldades em implementações práticas de algoritmos desta
natureza.
A Tabela 3 compara o desempenho dos controladores com escalonamento de
ganhos (referência e saída do sistema) e do controlador fuzzy.
Tabela 3 – Comparação entre controladores (Referência = 8 cm).
Controlador
Máximo Pico
)(
p
M
- (%)
Tempo de Acomodação
)(
a
T
- (s)
Proporcional + Integral
(PI) com escalonamento
pela referência do sistema
4,45 25,2
Proporcional + Integral
(PI) com escalonamento
pela saída do sistema
3,42 20,5
Proporcional + Integral
(PI) fuzzy
2,52 10,7
37
7. CONCLUSÕES E TRABALHOS FUTUROS
Neste trabalho foram avaliadas malhas de controle que utilizaram técnicas de
escalonamento de ganhos e lógica fuzzy. Como exemplo de aplicação foi
empregado um sistema de controle de nível. Os resultados obtidos mediante
simulações computacionais e desenvolvimentos experimentais se mostraram bem
promissores no contexto empregado, o que sugere aplicações igualmente
adequadas a outros tipos de sistemas reais. É bem provável que, em plantas
industriais de maiores complexidades, as dificuldades a serem transpostas serão
superiores. Mesmo assim, as técnicas apresentadas neste trabalho contribuem no
sentido de indicar algumas opções de estratégias de controle, que podem ser
alternativas interessantes face à utilização de malhas de controle convencionais.
Com relação à lógica fuzzy, é possível comprovar que se trata de uma ferramenta
bastante poderosa para a engenharia de controle, embora possa demandar mais
recursos computacionais, e até mesmo conhecimentos complementares dos
projetistas e operadores de sistemas industriais.
As técnicas de escalonamento de ganhos, por sua vez, podem constituir
alternativas bastante viáveis de serem implementadas. Elas não demandam muitos
recursos computacionais e/ou conhecimentos amplos sobre o tema.
Como trabalhos futuros são pretendidas implementações das abordagens
estudadas em sistemas embarcados, ao invés de se utilizar um computador e um
sistema de aquisição de dados como plataforma de desenvolvimentos e testes.
Também se planeja o projeto de sistemas híbridos, utilizando-se uma combinação
de lógica fuzzy com outras técnicas de inteligência artificial, como algoritmos
genéticos, redes neurais artificiais, etc.
38
REFERÊNCIAS BIBLIOGRÁFICAS
AGUIRRE, Luiz Antonio. Introdução à Identificação de Sistemas, Edição. Belo
Horizonte: Editora UFMG, 2004.
AGUIRRE, Luiz Antonio; RODRIGUES, Giovani G.; JÁCOME, R. F. Identificação de
Sistemas o-Lineares Utilizando Modelos Narmax Polinomiais Uma Revisão e
Novos Resultados. Revista Controle e Automação, v. 9, n. 2, maio, jun., jul. e
agosto de 1998. Disponível em <http://www.fee.unicamp.br/revista_sba/vol9/V9p90.p
df>. Acesso em: 26 jan. 2009.
ASTRÖM, Karl Johan; WITTENMARK, Björn. Adaptive Control. In: Design of Gain
Scheduling Regulators. Nova Iorque: Addison-Wesley, 1989. cap. 9, p.346-349.
BHAMBHANI, Varsha; CHEN, YangQuan. Experimental Study of Fractional Order
Proportional Integral (FOPI) Controller for Water Level Control. In: 47th IEEE
Conference on Decision and Control, Cancun, Mexico, 9-11 dez. 2008. Disponível
em: <http://ieeexplore.ieee.org/articleSale/Sarticle.jsp?arnumber=4739341>. Acesso
em: 29 jun. 2009.
CHATRATTANAWUTH, Wicharn; SUKSARIWATTANAGUL, Napatpong;
BENJANARASUTH, Taworn; NGAMWIWIT, Jongkol. Fuzzy I-PD Controller for Level
Control. In: SICE-ICASE International Joint Conference 2006, Busan, 18-21 out.
2006. Disponível em: <http://ieeexplore.ieee.org/articleSale/Sarticle.jsp?arnumber=4
108583>. Acesso em: 29 jun. 2009.
COELHO, Leandro dos Santos; ALMEIDA, Otacílio da M. Projeto e Estudo de Caso
da Implementação de um Sistema de Controle Nebuloso. Revista Controle &
Automação, Campinas, v. 14, n. 1, mar. 2003. Disponível em: <http://www.scielo.br/
scielo.php?script=sci_arttext&pid=S0103-17592003000100003>. Acesso em: 28 jun.
2009.
39
DRIANKOV, Dimiter; HELLENDOORN, Hans; REINFRANK, Michael. An
Introduction to Fuzzy Control: 2nd Edition. London: Springer, 1996.
DUSSUD, Michel; GALICHET, Sylvie; FOULLOY, Laurent P. Application of Fuzzy
Logic Control for Continuous Casting Mold Level Control. In: IEEE Transactions on
Control Systems Technology, vol. 6, n. 2, mar. 1998. Disponível em: <http://www.i
eee.org/portal/site>. Acesso em: 29 jun. 2009.
Fuzzy Logic Toolbox for Use With MATLAB. User’s Guide Version 2, Natick, jun.
2004.
HECKENTHALER, Thomas; ENGELL, Sebastian. Approximately Time-Optimal
Fuzzy Control of a Two-Tank System. IEEE Control Systems Magazine, Ann Arbor,
Vol. 29, Issue 5, 2009. Disponível em: <http://ieeexplore.ieee.org/articleSale/Sarticle.j
sp?arnumber=291460>. Acesso em: 29 jun. 2009.
KAYACAN, Erdal; KAYNAK, Okyay. Grey Prediction Based Control of a Non-Linear
Liquid Level System Using PID Type Fuzzy Controller. In: ICM 2006 - IEEE 3rd
International Conference on Mechatronics, Budapeste, 3-5 jul. 2006. Disponível
em: <http://ieeexplore.ieee.org/articleSale/Sarticle.jsp?arnumber=4018376>. Acesso:
em 29 jun. 2009.
KOUHI, Y.; LABIBI, B.; FATEHI, A.; ADLGOSTAR, R. H
and QFT Robust Control
Designs for Level Control Plant. India Conference - INDICON 2008, Kanpur, vol. 2,
p. 388-393, 11-13 dez. 2008. Disponível em: <http://ieeexplore.ieee.org/articleSale/S
article.jsp?arnumber=4768755>. Acesso em: 29 jun. 2009.
LUNA FILHO, Fernando de Melo; GOSMANN, Hugo Leonardo; BAUCHSPIESS,
Adolfo. Controle Fuzzy para Sistemas de vel de Líquidos. In: XIV
CONGRESSO BRASILEIRO DE AUTOMÁTICA, set. 2002, Natal. Disponível em:
<http://www.ene.unb.br/adolfo/papers/CBA2002.pdf>. Acesso em: 28 jun. 2009.
LYUNG, Lennart. System Identification Toolbox for Use With MATLAB. User’s
Guide Version 5, Natick, nov. 2000.
40
MELO, Gustavo Amaral Ferreira de; BERNARDES, Mariana Costa. Instrumentação
e Controle de uma Maquete de Nível de Líquido com Quatro Tanques
Interligados. Brasília, mar. de 2006. Disponível em: <http://www.ene.unb.br/~gaborg
es/orientacoes/tg/pf.mariana.bernardes.gustavo.melo.2005.2.pdf>. Acesso em: 28
jun. 2009.
OGATA, Katsuhiko. Engenharia de Controle Moderno, Edição. In: Modelagem
Matemática de Sistemas Dinâmicos. São Paulo: Prentice Hall, 2003. capítulo 3, p.
45.
PINHEIRO, Carlos A. Murari. Análise e Projeto de Sistemas de Controle Fuzzy:
Uma Abordagem no Domínio da Freqüência. Campinas, fev. 2000. Disponível em:
<http://libdigi.unicamp.br/document/?code=vtls000197797>. Acesso em: 23/03/2009.
TANSCHEIT, Ricardo. Sistemas Fuzzy. In: VI Simpósio Brasileiro de Automação
Inteligente. Mini-curso, Bauru, set. 2003. Disponível em: <http://www.ica.ele.puc-
rio.br/Downloads/41/LN-Sistemas%20Fuzzy.pdf>. Acesso em: 28 jun. 2009.
41
ANEXO 1 – PROGRAMA DO MODELO NARMAX
%Estimaçao de modelo NARMAX
n=6001; %Numero de amostras
m=n+3; %Indexador
%Dados para Identificaçao
load E:\MATLAB6p5\work\e_varios_sp4.txt;%carrega arquivo
in=5*e_varios_sp4(1:m,6); %Entrada
out=e_varios_sp4(1:m,2); %Saida
%Regressores
F(1:n,1)=out(3:n+2); %y(k-1)
F(1:n,2)=out(2:n+1); %y(k-2)
F(1:n,3)=in(2:n+1); %u(k-2)
F(1:n,4)=in(3:n+2); %u(k-1)
for i=1:n
F(i,5)=out(i+2)^2 * in(i+2); %y(k-1)^2*u(k-1)
F(i,6)=in(i+2)^2 * in(i); %u(k-1)^2*u(k-3)
end
F(1:n,7)=out(1:n).^3; %y(k-3)^3
for j=1:n
F(j,8)=out(j+1)*in(j+1); %y(k-2)*u(k-2)
F(j,9)=out(j)^2*in(j); %y(k-3)^2*u(k-3)
end
Y=out(4:n+3); %y(k)
%Estimaçao de Parametros por Minimos Quadrados
P = inv(F'*F);
Q = F'*Y;
T = P*Q; %Vetor de Parametros Estimados
Teta = T;
42
'Vetor de Parametros Estimados'
format short g
Teta
%Dados para Validaçao
load E:\MATLAB6p5\work\e_varios_sp4.txt;%carrega arquivo
iv=5*e_varios_sp4(1:m,6); %Entrada
ov=e_varios_sp4(1:m,2); %Saida
%Validaçao
S1(1)=4.115776; S1(2)=4.066851; S1(3)=3.944540;
for k=4:m
S1(k)=T(1)*S1(k-1) + T(2)*S1(k-2) + T(3)*iv(k-2) + T(4)*iv(k-1) + T(5)*(S1(k-
1)^2)*iv(k-1) + T(6)*(iv(k-1)^2)*iv(k-3) + T(7)*S1(k-3)^3 + T(8)*S1(k-2)*iv(k-2) +
T(9)*(S1(k-3)^2)*iv(k-3);
end
S1=S1'; %Dados de saida simulados
plot(1:m,S1,'b',1:m,ov,'k'); grid; xlabel('Numero de Amostras'); ylabel('y');
legend('Modelo NARMAX','Dados Medidos');
title('Dados Simulados e Medidos');
%Autocorrelaçao do sinal simulado com as medidas de saida
rr=xcorr(S1,ov); %AutoCorrelaçao dos dados simulados e medidas de saida
Crr=corrcoef(S1,ov);
crr=Crr(1,2)*100; %Coeficiente de correlaçao entre os dados simulados e os
medidos
'Coeficiente de Correlaçao do Modelo NARMAX'
crr
figure;
plot(-6003:6003,rr); grid; xlabel('Numero de Amostras'); ylabel('AutoCorrelaçao do
sinal medido com modelo NARMAX');
title('Autocorrelaçao');
43
ANEXO 2 – PROGRAMA DE OBTENÇÃO DO MODELO FUZZY
clear all;
T = 0.1;
N = 5000;
load E:\MATLAB6p5\work\anfis_varios_sp.txt;%carrega arquivo
SP = anfis_varios_sp;%Vetor de Set-Points
Ii = 0;
Kp = 0; %ganho proporcional
Ki = 0; %ganho integral
%valores iniciais de tempo, saida, açao de controle, erro e integral do erro.
t(1)=0;
t(2)=0.1;
t(3)=0.2;
y(1)=4;
y(2)=4;
y(3)=4;
u(1)=0;
u(2)=0;
u(3)=0;
Er(1)=0;
Er(2)=0;
Er(3)=0;
Ie(1) = 0;
Ie(2) = 0;
Ie(3) = 0;
44
%Vetor teta com os parametros do modelo nao-linear
Teta = [0.50097 0.49709 0.015014 -0.0093045 0.00024623 -0.00013808 8.0467e-
006 0.0010061 -0.00031571];
%Dados para a obtençao do Controlador Fuzzy
for n=4:N
t(n)=n*T;
Er(n) = (SP(n) - y(n-1))/4; %divisao por 4 devido a caracteristica do transdutor
Ie(n) = Ie(n-1) + Er(n)*T;
Kp = 5.6673*y(n-1); % Escalonamento dos ganhos
Ki = 0.8515*y(n-1);
P = Kp*Er(n); % Parte Proporcional
Ii = Ii + Ki*Er(n)*T; % Parte Integral
if (Ii<=0)
Ii=0;
end
if (Ii>=5)
Ii=5;
end
u(n)=P + Ii;
% Limitaçao na faixa de 0 a 5 devido ao conversor D/A do sistema
if u(n)<=0
u(n)=0;
end
if u(n)>=5
u(n)=5;
end
y(n) = Teta(1)*y(n-1) + Teta(2)*y(n-2) + Teta(3)*u(n-2) + Teta(4)*u(n-1) +
Teta(5)*y(n-1)*y(n-1)*u(n-1) + Teta(6)*u(n-1)*u(n-1)*u(n-3) + Teta(7)*y(n-3)*y(n-
3)*y(n-3) + Teta(8)*y(n-2)*u(n-2) + Teta(9)*y(n-3)*y(n-3)*u(n-3);
end
plot(t,SP,t,y,'r'); % Gráficos
grid;
axis([0 500 0 14]);
45
xlabel('Tempo (s)');
ylabel('Nivel (cm)');
legend('Set-Point','Saída')
%Obtençao do Controlador Fuzzy
Ent = [Er' Ie'];%Dados de entrada
in_fis = genfis1([Ent u'],2,'gaussmf');
out_fis = anfis([Ent u'],in_fis,1000); % Geraçao do modelo Fuzzy
su = size(u);
np = su(2);
for n=1:np
Ent1 = [Er(n); Ie(n)];
uf = evalfis(Ent1,out_fis);
Vuf(n) = uf;
end
figure(2)
plot(t,u,t,Vuf);
legend('Resultados do Modelo Fuzzy');
grid;
46
ANEXO 3 – PROGRAMA DE SIMULAÇÃO DO CONTROLE FUZZY
clear all;
T = 0.1;
N = 5000;
load E:\MATLAB6p5\work\anfis_varios_sp.txt;
SP = anfis_varios_sp;
%valores iniciais de tempo, saida, açao de controle, erro e integral do erro.
Ie(1) = 0;
Ie(2) = 0;
Ie(3) = 0;
t(1)=0.1;
t(2)=0.2;
t(3)=0.3;
y(1)=4;
y(2)=4;
y(3)=4;
Er(1)=0;
Er(2)=0;
Er(3)=0;
u(1)=0;
u(2)=0;
u(3)=0;
fismat = readfis('cont_fuzzy.fis');
47
%Vetor teta com os parametros do modelo nao-linear
Teta = [0.50097 0.49709 0.015014 -0.0093045 0.00024623 -0.00013808 8.0467e-
006 0.0010061 -0.00031571];
for n=4:N
t(n)=n*T;
Er(n) = (SP(n) - y(n-1))/4; %divisao por 4 devido a caracteristica do conversor
Ie(n) = Ie(n-1) + Er(n)*T;
Ent = [Er(n); Ie(n)];
Vu = evalfis(Ent,fismat);
% limitaçao na faixa de 0 a 5
if Vu<=0
Vu=0;
end
if Vu>=5
Vu=5;
end
u(n)=Vu;
y(n) = Teta(1)*y(n-1) + Teta(2)*y(n-2) + Teta(3)*u(n-2) + Teta(4)*u(n-1) +
Teta(5)*y(n-1)*y(n-1)*u(n-1) + Teta(6)*u(n-1)*u(n-1)*u(n-3) + Teta(7)*y(n-3)*y(n-
3)*y(n-3) + Teta(8)*y(n-2)*u(n-2) + Teta(9)*y(n-3)*y(n-3)*u(n-3);
end
plot(t,y,'g');
grid;
axis([0 N/10 0 14]);
xlabel('Tempo (s)');
ylabel('Nivel (cm)');
48
ANEXO 4 – SUB-ROTINA DO LABVIEW DO CONTROLADOR FUZZY
if(i<1) {Ii=0;}
Ii=Ii+Er*T;
x1=Er;
x2=Ii;
X1a = -1.6;
X1b =1.254;
X1c = -1.6;
X1d = 1.254;
X2a = -81;
X2b = 36.1;
X2c = -81;
X2d = 36.1;
cx1ab = -1.733;
cx1cd = 1.572;
desvx1ab = 0.2599;
desvx1cd = 0.2367;
cx2ab = -81;
cx2cd = 36.1;
desvx2ab = 49.73;
desvx2cd = 49.73;
% Fuzzyficacao.
% Funções de pertinencia gaussianas.
ux1ab = exp(-((x1 - cx1ab)*(x1 - cx1ab)/desvx1ab*desvx1ab));
ux1cd = exp(-((x1 - cx1cd)*(x1 - cx1cd)/desvx1cd*desvx1cd));
ux2ab = exp(-((x2 - cx2ab)*(x1 - cx2ab)/desvx2ab*desvx2ab));
ux2cd = exp(-((x2 - cx2cd)*(x1 - cx2cd)/desvx2cd*desvx2cd));
Y1=0;
Y2=0;
Y3=0;
Y4=0;
49
if ((x1 >= X1a) && (x1 <= X1b) && (x2 >= X2a) && (x2 >= X2b)){ Y1=0.6018*x1 +
0.03503*x2 + 2.422;}
if ((x1 >= X1a) && (x1 <= X1b) && (x2 >= X2c) && (x2 <= X2d)){
Y2=0.8918*x1 + 0.03793*x2 - 0.03486;}
if ((x1 >= X1c) && (x1 <= X1d) && (x2 >= X2a) && (x2 <= X2b)){
Y3=-0.2232*x1 + 0.008929*x2 + 5.791;}
if ((x1 >= X1c) && (x1 <= X1d) && (x2 >= X2c) && (x2 <= X2d)){
Y4=-0.08374*x1 + 0.01179*x2 + 4.68;}
% Comoposiçao
r1 = ux1ab * ux2ab;
r2 = ux1ab * ux2cd;
r3 = ux1cd * ux2ab;
r4 = ux1cd * ux2cd;
% Defuzzificacao
de = (Y1*r1+Y2*r2+Y3*r3+Y4*r4);
sur = (r1+r2+r3+r4);
de = de / sur;
Vu = de;
% limitaçao na faixa de 0 a 5
if (Vu<=0){Vu=0;}
if (Vu>=5){Vu=5;}
u=Vu; % açao de controle
50
Figura 27 – Interface gráfica do sistema de controle.
Figura 28 – Realização do controlador fuzzy.
51
ANEXO 5 – SUB-ROTINA PARA ESCALONAMENTO DE GANHOS I
If (i<1) { Ii=0; }
Kp = -0.7143*SP + 13.4286; %ganho proporcional escalonado pelo SP
Ki = 0.2976*SP*SP -7.0929*SP + 51.5143; %ganho integral
Ii = Ii+Ki*Er*T;
If (Ii<0) Ii=0;
If (Ii>5) Ii=5;
u = Kp*Er+Ii; %açao de controle
% limitaçao na faixa de 0 a 5
if (u<0) u=0;
if (u>5) u=5;
52
ANEXO 6 – SUB-ROTINA PARA ESCALONAMENTO DE GANHOS II
If (i<1) {Ii = 0;}
Kp = 5.6673*h; % ganho proporcional escalonado pela informação do nivel
Ki = 0.8515*h; % ganho integral escalonado pela informação do nivel
Ii = Ii + Ki*Er*T;
If (Ii<0) Ii=0;
If (Ii>5) Ii=5;
u = Kp*Er + Ii; % açao de controle
% limitaçao na faixa de 0 a 5
if (u<0) u=0;
if (u>5) u=5;
Livros Grátis
( http://www.livrosgratis.com.br )
Milhares de Livros para Download:
Baixar livros de Administração
Baixar livros de Agronomia
Baixar livros de Arquitetura
Baixar livros de Artes
Baixar livros de Astronomia
Baixar livros de Biologia Geral
Baixar livros de Ciência da Computação
Baixar livros de Ciência da Informação
Baixar livros de Ciência Política
Baixar livros de Ciências da Saúde
Baixar livros de Comunicação
Baixar livros do Conselho Nacional de Educação - CNE
Baixar livros de Defesa civil
Baixar livros de Direito
Baixar livros de Direitos humanos
Baixar livros de Economia
Baixar livros de Economia Doméstica
Baixar livros de Educação
Baixar livros de Educação - Trânsito
Baixar livros de Educação Física
Baixar livros de Engenharia Aeroespacial
Baixar livros de Farmácia
Baixar livros de Filosofia
Baixar livros de Física
Baixar livros de Geociências
Baixar livros de Geografia
Baixar livros de História
Baixar livros de Línguas
Baixar livros de Literatura
Baixar livros de Literatura de Cordel
Baixar livros de Literatura Infantil
Baixar livros de Matemática
Baixar livros de Medicina
Baixar livros de Medicina Veterinária
Baixar livros de Meio Ambiente
Baixar livros de Meteorologia
Baixar Monografias e TCC
Baixar livros Multidisciplinar
Baixar livros de Música
Baixar livros de Psicologia
Baixar livros de Química
Baixar livros de Saúde Coletiva
Baixar livros de Serviço Social
Baixar livros de Sociologia
Baixar livros de Teologia
Baixar livros de Trabalho
Baixar livros de Turismo