Vous êtes sur la page 1sur 19

CONTROLE DE VELOCIDADE DE UM MOTOR CC

COMPARANDO AS TCNICAS DE ALGORITMO GENTICO,


REDES NEURAIS, PID, FUZZY E NEURO-FUZZY.



Lus Henrique Kamke luiskamke@gmail.com
Gustavo Maia de Almeida gmaia@ifes.edu.br
IFES Instituto Federal do Esprito Santo Unidade Serra
Rodovia ES-010 - Km 6,5 - Manguinhos
29173-087 - Serra ES



Resumo: Esse artigo se prope a comparar tcnicas de controle inteligente
implementadas no controle de velocidade de motor de corrente contnua. Para a
aplicao das tcnicas de Redes Neurais, PID, Fuzzy, Neuro-Fuzzy e Algoritmo Gentico
utilizamos, como ferramenta principal do nosso estudo, o MATLAB, onde foi possvel
simular interativamente toda a dinmica da planta do processo e o seu controle. Ao final
estabelecemos um comparativo da eficincia de cada uma das tcnicas, observando as
vantagens e desvantagens de cada uma delas.

Palavras-chave: Redes Neurais, Algoritmo Gentico, PID, Fuzzy, Neuro Fuzzy, Controle
Inteligente, Motor CC.

1. INTRODUO
Quando se tem um modelo matemtico do processo, possvel aplicar vrias tcnicas
visando determinao dos parmetros do controlador que atendam s especificaes de
regimes transitrio e estacionrio do sistema a malha fechada. (Ogata, 2003). Nesse
contexto temos o Proporcional-Integral-Derivativo (PID) que o algoritmo de controle
clssico mais usado na indstria e tem sido utilizado em todo o mundo para sistemas de
controle industrial.
Contudo, com o avano da tecnologia, os sistemas e processos ficaram ainda mais
complexos, tornando ineficaz ou at mesmo impossvel a utilizao dos controladores
convencionais obtidos a partir da teoria clssica. Isso desencadeou uma busca por novos
mtodos e estratgias de controle tais como: controle multivarivel, controle adaptativo,
controle preditivo e sistemas de controle inteligente. (Guerra, Francisco. 2005, p.1).

Dentre as tcnicas de controle inteligente, sero apresentados nesse artigo
controladores obtidos por Redes Neurais, PID gentico, Fuzzy e Neuro-Fuzzy.



2. APRESENTAO DO MODELO
As mquinas de corrente contnua caracterizam-se por sua versatilidade. Devido
facilidade com que podem ser controladas, sistemas de mquina CC tm sido usados
frequentemente em aplicaes que exigem uma ampla faixa de velocidades ou de controle
preciso da sada do motor.
Os trs mtodos mais comuns de controle de velocidade de motores CC so mtodos
para ajustar o fluxo, usualmente por meio do controle da corrente de campo, da variao da
resistncia associada ao circuito da armadura e da variao da tenso dos terminais de
armadura. (Fitzgerald, A. E. 2006, p. 529).
No modelo apresentado nesse artigo utilizaremos o controle de velocidade atravs da
variao da tenso nos terminais da armadura.

Segue abaixo o diagrama esquemtico do motor CC:


Figura 1 - Representao do circuito do Motor CC

Correlacionando o esquema acima com os parmetros do motor, temos que a inrcia
combinada das partes girantes, carga, rotor, eixo e acoplamentos designada por J (k.g.m).
O atrito viscoso entre motor e carga designado por b(N.m.s). A grandeza L a
indutncia da armadura, R a resistncia do enrolamento da armadura, w a velocidade
angular expressa em radianos por segundo. K uma constante de torque e velocidade do
motor.


A partir das equaes diferenciais do motor de corrente contnua, podemos obter a
funo de transferncia do processo P(s) no domnio da frequncia:

Figura 2 - Equaes diferenciais e parmetros do Motor CC




()
()
()

()

( ) (

()

()
()

()


()
()




Obtida a funo de transferncia da planta iremos determinar os critrios de projeto
que o controle deve satisfazer. Para entendermos melhor a resposta do processo aplicamos
um degrau na entrada do sistema.


Figura 3 - Resposta do Motor CC em malha aberta a um degrau unitrio.
Aplicando um degrau na planta observamos que ela apresenta um tempo de
acomodao rpido (0,9 segundos para um critrio de 2%), um comportamento estvel,
superamortecido, mas com erro diferente de zero em regime estacionrio.
Temos como principal o objetivo do controle corrigir o erro em regime estacionrio
sem prejudicar a resposta rpida do sistema e evitar sobressinal.
Utilizaremos como um padro de referncia os valores de tolerncia de 10% de
overshoot e tempo de acomodao (critrio de 2%) de no mximo 2 segundos.
Para o ponto de operao do Motor CC adotaremos a velocidade variando entre 60
rpm no sentido horrio e 60 rpm no sentido anti-horrio equivalente a w = -6,28 a 6,28
rad/s.








3. TECNICAS APLICADAS DE CONTROLE INTELIGENTE

3.1 Rede Neural Artificial
Uma rede neural ou neuronal uma estrutura composta por um conjunto de unidades
bsicas denominadas neurnios, conectados entre si. Cada neurnio artificial um
operador de uma nica sada e diversas entradas conectadas nas sadas de outros neurnios
que compem a rede. O neurnio pondera as entradas atravs de parmetros denominados
pesos para, em seguida, aplicar uma transformao no somatrio das entradas ponderadas.
Esta transformao, na sua forma mais geral, consiste na aplicao de uma dinmica linear,
seguida de uma funo de ativao, f, conforme esquematizado abaixo.


Figura 4 - Esquemtico de um neurnio artificial

Os pesos podem ser determinados atravs de processos de aprendizagem ou
treinamento. No treinamento, os pesos so ajustados por um algoritmo iterativo com o uso
de uma funo objetivo a ser minimizada. Durante a fase de minimizao, na qual os pesos
so ajustados, a cada passo a rede aprende o comportamento do sistema ao redor dos
pontos treinados. (Carrara, Valdemir. 1997, p. 9)

3.1.1 Ferramenta MATLAB - Controlador NARMA L2

NARMA-L2 uma ferramenta includa no toolbox Neural Network do software
MATLAB que utiliza a teoria de redes neurais e identificao de parmetros para realizar
a identificao e o controlador.
O controlador NARMA-L2 um rearranjo da rede neural que modela o processo que
treinado off-line. Ele procura transformar o sistema no linear em um sistema linear
atravs do cancelamento das no linearidades. (Oliveira, Jlio Csar P. 2009, p 90).



3.1.2 Parmetros utilizados no NARMA-L2


3.1.2.1 Aquisio de dados
Na aquisio de dados utilizamos os seguintes parmetros no NARMA-L2 para a
identificao do processo por meio de entradas aleatrias e suas respectivas sadas do
Motor CC.


Figura 5 - Parmetros da aquisio de dados
Quantidade de amostras
2000
Valor mximo de entrada da planta 10
Valor mnimo de entrada da planta -10
Intervalo mximo da amostra 15 seg
Intevalo mnimo da amostra
3 seg

3.1.2.2 Treinamento da rede
Na rede neural foi utilizada uma camada oculta com oito neurnios, e no seu
treinamento foi feita em 100 pocas utilizando como funo de treinamento a
trainlm(Treinamento Levenberg-Marquardt).
Em uma RNA de Mltiplas Camadas, o algoritmo de retro-propagao (back-
propagation) padro utiliza o mtodo do gradiente decrescente no decorrer do processo de
aprendizagem de forma a minimizar a funo erro. J o algoritmo de Levenberg-Marquardt
(LM) utiliza uma aproximao pelo mtodo de Newton; esta aproximao obtida a partir
do mtodo de Gauss-Newton modificado. (Baptistella, Marisa. 2007. P. 218)










Figura 6 - Parmetros de treinamento da rede neural


3.1.2.3 Resultado

Aps vrias tentativas, a melhor rede obtida nos treinamentos foi aplicada ao
controlador. Para verificar a resposta do processo ao controle foi utilizada a seguinte
configurao do NARMA-L2.



Figura 7 - Simulink NARMA-L2



Figura 8 - Resposta do Motor CC para uma variao aleatria da velocidade angular entre -60 e 60 rpm.







Analisando as respostas do processo controlado
podemos perceber que o overshoot se manteve dentro dos
10% especificados, chegando a 9,7% em grandes
variaes da velocidade angular do motor. E para
pequenas variaes como no grfico acima tem se o
overshoot de 1,5%. Tal fator se deve a causar uma
variao brusca da velocidade do motor em um tempo
muito pequeno. Repare abaixo que o tempo de subida foi
de apenas 0.3s, possivelmente irreal devido as limitaes
fsicas do motor.






O tempo de resposta (critrio de 2%) no foi satisfeito, observando tal fato no tempo
de 7.772 s, vemos que a varivel atingiu 98% do valor de referncia (1.8) em 2,46
segundos, no satisfazendo assim a especificao.
Notamos nos grficos acima que o erro foi praticamente nulo, que o objetivo
principal desse projeto. Garantimos esse resultado somando a sada do controlador um
integrador e um ganho proporcional de valor 0,05.
Figura 10 - Overshoot (1,5%)
Figura 9 - Overshoot (9,7%)
Figura 11 - Tempo de Subida Figura 12 - Tempo de resposta

3.2 PID Gentico
Nessa tcnica utilizamos o Algoritmo Gentico para encontrar as trs constantes timas
dos parmetros de um controlador PID clssico, a constante integral, derivativa e a
proporcional.
Algoritmos Genticos (GAs-Genetic Algorithms) constituem uma tcnica de busca de
otimizao, altamente paralela, inspirada no princpio Darwiniano de seleo natural e
reproduo gentica. Os princpios da natureza nos quais os GAs se inspiram so simples.
De acordo com a teoria de C. Darwin, o princpio de seleo privilegia os indivduos mais
aptos com maior longevidade e, portanto, com maior probabilidade de reproduo.
Indivduos com mais descendentes tm mais chance de perpetuarem seus cdigos
genticos nas prximas geraes. Tais cdigos genticos constituem a identidade de cada
indivduo e esto representados nos cromossomas. Estes princpios so imitados na
construo de algoritmos computacionais que buscam uma melhor soluo para um
determinado problema, atravs da evoluo de populaes de solues codificadas atravs
de cromossomas artificiais. Em GAs um cromossoma uma estrutura de dados que
representa uma das possveis solues do espao de busca do problema. Cromossomas so
ento submetidos a um processo evolucionrio que envolve avaliao, seleo,
recombinao sexual (crossover) e mutao. Aps vrios ciclos de evoluo a populao
dever conter indivduos mais aptos. (Pacheco, Marco Aurlio Cavalcanti. 1999, p.1 e 2).

Em um algoritmo gentico vrios parmetros controlam o processo evolucionrio:
Tamanho da Populao = nmero de pontos do espao de busca sendo considerados
em paralelo a cada ciclo.
Taxa de Crossover = probabilidade de um indivduo ser recombinado com outro.
Taxa de Mutao = probabilidade do contedo de uma posio/gene do
cromossoma ser alterado.
Nmero de Geraes = total de ciclos de evoluo de um GA.
Total de Indivduos = total de tentativas em um experimento (tamanho da
populao x nmero de geraes). (Pacheco, Marco Aurlio Cavalcanti. 1999, p.5).

3.2.1 Ferramenta MATLAB Simulink e Algoritmo gentico

Para calcular os melhores parmetros de um PID para a nossa planta do processo,
utilizamos a seguinte configurao no MATLAB.
Por meio da simulao abaixo so obtidos os dados de entrada e sada da planta
controlada pelo PID, fazendo a partir disso uma seleo natural entre as constantes do
controlador.
Para a seleo do KI, KP, KD utilizamos valores randmicos entre 0 e 10, 20 geraes
com populao mxima igual a 100.


3.2.2 Resultado

Aps fazer a seleo dos ganhos do PID, chegou-se aos seguintes valores:


Figura 13 - Parmetros obtidos do PID por meio do algoritmo gentico

A partir desse resultado foi implementado o PID no controle do Motor CC. Segue os grficos
do processo controlado.


Figura 14 - Resposta do Motor CC controlado pelo PID gentico - Velocidade angular entre -60 e 60 rpm
A partir dos grficos podemos observar que o PID
controlou de forma muito satisfatria as variaes
da entrada. No grfico ao lado entramos com um
degrau de 6.28 rad/s (Velocidade Ang. Mxima)
percebemos que o tempo de resposta foi de 0.02s,
valor bem abaixo da resposta em malha aberta
(0.9s), no houve overshoot e o erro foi
praticamente nulo, chegando a uma resposta
muito melhor que a especificada.
Figura 15 - Resposta a um degrau de 6.28 rad/s

3.3 Fuzzy
A teoria de subconjuntos Fuzzy nasceu da constatao de que quando a
complexidade de um sistema aumenta nossa habilidade para concluir fatos e tomar
decises que sejam ao mesmo tempo precisos e significativos, tende a diminuir at um
limite a partir do qual preciso e relevncia passam a ser caractersticas quase excludentes
[Zadeh, 1973].
O conceito de subconjunto Fuzzy foi introduzido de forma a evitar passagens
bruscas entre duas classes, e a permitir que os elementos no pertenam completamente
nem a uma, nem a outra classe, ou melhor, que os elementos possam pertencer
parcialmente a cada uma delas. A definio de subconjunto Fuzzy responde a
necessidade de representar conhecimentos imprecisos, seja porque eles so exprimidos em
linguagem natural por um observador humano que no capaz de fornecer maiores
precises, seja porque eles so obtidos com instrumentos que possuem erros de medio.
(Campos, Mario Massa. 2004. P 64-65).


Figura 16 - Arquitetura de um Fuzzy



Figura 17 - Funes de pertinncia que representam os subconjuntos Fuzzy


3.3.1 Ferramenta MATLAB Fuzzy e Simulink

Para controlarmos o processo utilizamos a ferramenta Fuzzy do MATLAB, e atravs
do Simulink calibramos os pesos de cada funo de pertinncia e a simulamos a operao.
Para o Fuzzy utilizamos 7 funes de pertinncia para as duas entradas e para a sada.
No erro e na derivada do erro utilizamos funo gaussiana, e na sada funo triangular.
Segue abaixo o layout do Fuzzy com suas funes e regras para controle do Motor CC.



















ERRO DE VELOCIDADE
D_ERRO NG NM NP Z PP PM PG
NG NG NG NG NM NM NP Z
NM NG NM NM NP NP Z PP
NP NM NM NP NP Z PP PP
Z NM NP NP Z PP PP PM
PP NP NP Z PP PP PM PM
PM NP Z PP PP PM PM PG
PG Z PP PM PM PG PG PG
Figura 19 - Pertinncia de entrada (Erro)
Figura 20 - Pertinncia de entrada (D_erro)
Figura 21 - Pertinncia de Sada
Figura 18 - Regras

3.3.2 Resultados




Figura 22 - Resposta do Motor CC controlado pelo PID gentico - Velocidade angular entre -60 e 60 rpm (+-2pi rad/s)
O controle por Fuzzy apresentou uma resposta muito parecida com o PID gentico com um tempo
de resposta um pouco menor (0,161s) e praticamente nenhum overshoot. A especificao foi
satisfeita pois o erro tambm foi zero.

Figura 23 Tempo de resposta (Critrio de 2%)






3.4 Neuro Fuzzy
Pode-se definir um sistema Neuro-Fuzzy como um sistema Fuzzy que utiliza um
algoritmo de aprendizado derivado ou inspirado na teoria de redes neurais para determinar
seus parmetros (subconjuntos e regras Fuzzy) atravs do processamento de amostras de
dados.
Os controladores Neuro-Fuzzy combinam a capacidade de aprendizagem das redes
neurais com a capacidade de raciocnio dos sistemas Fuzzy. Dessa forma, elas formam
uma estrutura que atualiza seus parmetros em funo de uma relao entrada-sada
desejada. (Campos, Mario Massa. 2004. P 165-166).

3.4.1 Ferramenta Simulink, PID Gentico e Rede Neural
Utilizamos o PID Gentico do item 3.2 para obter os dados de treinamento do Neuro-
Fuzzy, e treinamos a Rede Neural para obter as funes de pertinncia otimizadas.


Figura 24 - Dados obtidos do PID gentico para treinamento da rede neural aplicada ao Fuzzy - [erro derro u]

Treinamento da rede

data = [erro derro u];
numMFs = 9
mfType = 'gaussmf'
fismat = genfis1(data,numMFs, mfType)
numEpochs = 30
[fismat1] = anfis(data,fismat,numEpochs,NaN)


3.4.2 Resultados



No grfico acima vimos que o controle do Neuro-Fuzzy foi muito bom, em alguns
momentos no d para identificar diferena entre a referncia e a sada da planta. Foi
necessrio colocar um integrador com ganho 10 para zerar o offset.
Na imagem abaixo conseguimos mostrar que o tempo de resposta (critrio 2%) para
uma variao de -6.28 4 rad/s foi de apenas 0.023s. O erro foi zerado e houve um
pequeno overshoot praticamente irrelevante, pois no passou de 2%.



3.5 Resultado Geral
Simulao com todos os 4 controladores sem modificao na planta e sem distrbio.


Para verificarmos a robustez do nosso controle primeiro alteramos os coeficientes da
planta em 40% e simulamos novamente.







No grfico acima a referncia est em verde, o PID gentico em vermelho, o Neuro-
Fuzzy em amarelo, o Fuzzy em azul e a Rede Neural em roxo.
Notamos que com a alterao da planta o PID, o Fuzzy e o Neuro-Fuzzy conseguiram
manter a dinmica do controle praticamente inalterada e sem prejuzo. No caso da Rede
Neural houve uma diminuio do overshoot e o tempo de resposta aumentou demonstrando
assim uma sensibilidade grande em relao a mudanas na planta.

Figura 25 - Resposta dos controladores alterando os coeficientes da planta em 40%
Roxo (Rd. Neural) / Amarelo - (Neuro Fuzzy) / Vermelho - (PID) / Azul (Fuzzy)

Para outro teste de robustez variamos o ganho da planta em 40%. Seguem abaixo os
resultados.



Figura 26 Planta c/ ganho alterado em 40% - Roxo (Rd. Neural) / Amarelo - (Neuro Fuzzy) / Vermelho - (PID) / Azul (Fuzzy)

Constatamos atravs desse novo teste que a rede neural foi a que mais variou sua
dinmica em relao alterao dos parmetros da planta. Nesse caso ela apresentou um
grande overshoot e tempo de resposta bem mais lento que os outros controladores. O PID e
o Neuro-Fuzzy obtiveram resultados praticamente iguais planta original, atingindo o
setpoint rapidamente, sem overshoot e erro nulo cumprindo toda a especificao de
projeto.

Como ltimo teste de robustez inclumos um distrbio na planta no valor de 0.2 a
partir do tempo 2s, e simulamos.




Figura 27 - Incluso de distrbio na planta em 2s. Roxo (Rd. Neural) / Amarelo - (Neuro Fuzzy) / Vermelho - (PID) / Azul
(Fuzzy)

Nesse teste pudemos comprovar que a Rede Neural a que menos se adaptou a alteraes
na dinmica do processo. O Neuro-Fuzzy e o PID obtiveram uma resposta muito boa
incluso de um distrbio na planta, sendo que o Neuro-Fuzzy (amarelo) se adaptou melhor
que o PID, pois no apresentou um grande pico no momento do distrbio. O Fuzzy sofreu
um overshoot mediano e demorou um pouco at estabilizar. J a Rede Neural atingiu um
overshoot muito alto e demorou um tempo consideravelmente maior que os outros
controladores at voltar ao regime de estabilidade.
















4. CONCLUSO
Por meio dos resultados obtidos nesse projeto, conclumos que foi possvel controlar a
planta com todos os mtodos de controle inteligente trabalhados nesse artigo.
Apesar de controlar a planta a Rede Neural apresentou os piores resultados em relao
a tempo de resposta, overshoot e adaptao variao do sistema.
O Fuzzy se destacou como um bom controlador, com resultados que atenderam a
especificao com sobras e uma adaptao a alteraes na planta bem aceitvel, porm
seus resultados no foram timos.
Os melhores resultados conseguimos obter com o PID Gentico e o Neuro-Fuzzy, que
alm de mostrarem timos tempos de resposta, overshoot e offset praticamente nulos
conseguiram se adaptar a 3 tipos de alteraes no sistema.
O Neuro-Fuzzy foi baseado nos dados obtidos com o PID gentico, por isso conseguiu
aliar todas as qualidades do PID com a adaptao tima do Fuzzy. Tal qualidade se
observou principalmente quando analisamos o distrbio includo no sistema na ltima
simulao.



5. REFERNCIAS BIBLIOGRFICAS
Ogata, Katsuhiko. Engenharia de Controle Moderno, Editora: LTC, 3 Edio, 2003.

Fitzgerald, A. E. Kingsley Jr, Charles; Umans, Stephen D. Mquinas Eltricas com Introduo
Eletrnica de Potncia, Editora Bookman, 6 Ed. 2006.

Carrara, Valdemir. Redes neurais aplicadas ao controle de atitude de satlites com geometria
varivel, 1997.
Disponvel em: < http://www2.dem.inpe.br/val/publicacoes/carrara_inpe_6384_tdl_603.pdf >
Acesso em 26 de julho de 2014.

Guerra, Francisco. Maitelli, Andr. Lopes, Jos. Arajo, Fbio. Oliveira, Luiz. Implementao de
controladores PID utilizando Lgica Fuzzy e Instrumentao industrial. VII Simpsio
Brasileiro de Automao Inteligente. 2005.
Disponvel em: < http://www.dca.ufrn.br/~affonso/FTP/artigos/2005/sbai2005_03.pdf>
Acesso em 25 de julho de 2014.

Oliveira, Jlio Csar P. Avaliao de Controle Neural a um processo de quatro tanques
acoplados. Braslia, 2009. Disponvel em:
<http://repositorio.unb.br/bitstream/10482/4507/1/2009_JulioCesarPeixotodeOliveira.pdf> Acesso
em 27 de julho de 2014.

Baptistella, Marisa. Cunico, Luiz H. Bastos. Steiner, Maria T. A. O Uso de Redes Neurais na
Engenharia de Avaliaes: Determinao dos Valores Venais de Imveis Urbanos. Revista
Cincias Exatas e Naturais, Vol.9 n 2, Jul/Dez 2007. Disponvel em:
< http://revistas.unicentro.br/index.php/RECEN/article/viewFile/82/117> Acesso em 26 de julho de
2014.

Campos, Mario Massa de. Saito, Kaku. Sistemas inteligentes em controle e automao de
processos, Editora Cincia Moderna, Rio de Janeiro, 2004.

Vous aimerez peut-être aussi