You are on page 1of 87

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE

CENTRO DE TECNOLOGIA
PROGRAMA DE PS-GRADUAO EM ENGENHARIA ELTRICA
Controle Vetorial de Velocidade de um Motor de Induo
Trifsico com Estimao Neural de Fluxo
Francisco Canind Holanda de Queiroz
Natal - RN, maro de 2008
UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE
CENTRO DE TECNOLOGIA
PROGRAMA DE PS-GRADUAO EM ENGENHARIA ELTRICA
Controle Vetorial de Velocidade de um Motor de Induo
Trifsico com Estimao Neural de Fluxo
Francisco Canind Holanda de Queiroz
Orientador: Andres Ortiz Salazar
Co-orientador: Andr Laurindo Maitelli
Dissertao de Mestrado submetida ao
Programa de Ps-Graduao em Engenharia
Eltrica e de Computao da UFRN (rea
Automao e Sistemas), como parte dos
requisitos necessrios para a obteno do ttulo
de Mestre.
Natal - RN, maro de 2008
Controle Vetorial de Velocidade de um Motor de Induo
Trifsico com Estimao Neural de Fluxo
Francisco Canind Holanda de Queiroz
Dissertao aprovada em 17 de maro de 2008 pela banca examinadora composta pelos
seguintes membros:
---------------------------------------------------------------------------------------
Prof. Andres Ortiz Salazar, D. Sc. (Orientador) ................................ (UFRN)
----------------------------------------------------------------------------------------
Prof. Andr Laurindo Maitelli, D. Sc. (Co-orientador) ..................... (UFRN)
----------------------------------------------------------------------------------------
Prof. Ricardo Ferreira Pinheiro, D. Sc. ..................... (UFRN)
----------------------------------------------------------------------------------------
Profa. Jossana Maria de Souza Ferreira, D. Sc. ............................. (CEFET/BA)
Natal - RN, maro de 2008
Agradecimentos
A Deus, por tudo.
minha esposa e filhos, pela compreenso.
Escola Tcnica Federal de Palmas e Universidade Federal do Rio Grande do Norte.
Ao meu Orientador, Prof. Dr. Andrs Ortiz Salazar, e Co-orientador, Prof. Dr. Andr
Laurindo Maitelli.
Ao Prof. Dr. Jos lvaro de Paiva do CEFET-RN, pela grande contribuio, principalmente
na parte de programao e implementao.
Aos meus colegas Andr Macedo Santana, pelas valiosas informaes, aos bolsistas Leonardo
Fava Souza e Rafael Ferreira Lira e ao Tcnico de Laboratrio Jefferson Doolan Fernandes,
pela colaborao.
CAPES, pelo apoio financeiro, e ao PPgEE.
Enfim, a todos queles que de forma direta ou indireta contriburam na elaborao e
concluso deste trabalho.
iv
Aos meus pais, Raimundo e Maria, e meus irmos.
minha esposa Mnica e meus filhos Eduardo e Letcia.
v
Sumrio
Sumrio vi
Lista de Figuras viii
Lista de Smbolos x
Resumo xv
Abstract xvi
1 Introduo 01
1.1 Introduo 01
1.2 Objetivo 02
1.3 Sumrio 03
2 Controle Vetorial de Velocidade para Mquinas de Induo 04
2.1 Introduo 04
2.2 Modelo Vetorial da Mquina de Induo 05
2.3 Controle Vetorial de Velocidade 07
2.4 Ensaios Prticos com o Modelo Vetorial 10
2.4.1 Ensaio 1: Referncias de velocidade variando em degraus 10
2.4.2 Ensaio 2: Referncias de velocidade variando em rampas 12
2.5 Concluses 13
3 Redes Neurais Artificiais na Estimao Neural de Fluxo 14
3.1 Introduo 14
3.2 Fundamentos Tericos das Redes Neurais Artificiais 15
3.2.1 O Neurnio Artificial 16
3.2.2 Funes de Ativao 17
3.2.3 Arquiteturas das Redes Neurais Artificiais 18
3.2.4 Tipos de Redes Neurais Artificiais 19
3.2.5 Aprendizagem e Treinamento de uma Rede Neural Artificial 20
vi
3.3 Estimao Neural aplicada ao Controle de Sistemas 21
3.4 Implementao do Estimador Neural de Fluxo 24
3.4.1 Treinamento do Estimador Neural de Fluxo do Rotor 25
3.5 Concluses 31
4 Implementao do Controle Vetorial de Velocidade 32
4.1 Introduo 32
4.2 Descrio do Sistema de Controle 32
4.2.1 Estgio de Controle de Velocidade 34
4.2.2 Estgio de Controle de Corrente 35
4.2.3 Estimadores de Fluxo do Rotor 35
4.2.3.1 Estimador Convencional de Fluxo 36
4.2.3.2 Estimador Neural de Fluxo 37
4.3 Descrio do Programa de Controle 39
4.4 Alimentao do Sistema 40
4.5 Concluses 42
5 Resultados 43
5.1 Introduo 43
5.2 Resultados Experimentais do Sistema em Malha Fechada 43
5.2.1 Perfil 1: Variaes de referncia de velocidade em degraus 44
5.2.2 Perfil 2: Variaes de referncia de velocidade em rampas 46
5.3 Limitaes impostas pelo Sistema de Controle 49
5.4 Concluses 49
6 Concluses Gerais e Trabalhos Futuros 50
6.1 Concluses Gerais 50
6.2 Perspectivas e Trabalhos Futuros 50
Referncias Bibliogrficas 52
Apndices
A Parmetros da Mquina de Induo 56
B Pesos, Equaes e Rotinas das RNAs do Estimador Neural 57
C Listagem das principais rotinas em C 61
vii
Lista de Figuras
Figura Ttulo Pgina
2.1. Relaes angulares entre os vetores de correntes 05
2.2. Modelo da mquina de induo em coordenadas de campo do rotor. 06
2.3.
Esquema genrico de um sistema de controle vetorial de velocidade
orientado pelo fluxo do rotor alimentado por correntes impostas.
08
2.4. Resposta de velocidade mecnica com referncias variando em degraus. 10
2.5. Comportamento da velocidade angular do fluxo magntico do rotor. 11
2.6.
Correntes de campo e de magnetizao e corrente de torque.
11
2.7. Resposta de velocidade mecnica com referncias variando em rampas. 12
2.8. Comportamento da velocidade angular do fluxo magntico do rotor. 12
2.9. Correntes de campo e de magnetizao e corrente de torque. 13
3.1. Modelo de neurnio Artificial de McCulloch-Pitts. 16
3.2.
Arquitetura de uma Rede Alimentada Adiante com Mltiplas Camadas ou
redes tipo Feedfoward.
18
3.3. Estrutura de uma rede Perceptron de mltiplas camadas. 20
3.4. Exemplo de sistema com identificador neural para planta no-linear. 22
3.5.
Diagrama de blocos de um controlador vetorial de velocidade com
estimao neural de fluxo.
24
3.6. Diagrama da rede neural para estimao de
dt
d
. 25
3.7.
Diagrama da rede neural para estimao de
mR
i .
26
3.8.
Curva de erro de treinamento para o estimador de
d
dt

.
26
3.9.
Curva de erro de treinamento para o estimador de
mR
i .
27
viii
3.10.
Velocidade angular estimada
d
dt

do modelo com estimador


convencional e com estimador neural.
27
3.11.
Correntes , e do modelo com estimador convencional e com
estimador neural.
Sd
i

mR
i
Sq
i
28
3.12.
Velocidade mecnica do modelo com estimador convencional e com
estimador neural.
29
3.13.
Velocidade angular estimada
d
dt

do modelo com estimador


convencional e com estimador neural.
29
3.14.
Correntes , e do modelo com estimador convencional e com
estimador neural.
Sd
i

mR
i
Sq
i
30
3.15.
Velocidade mecnica do modelo com estimador convencional e com
estimador neural.
30
4.1. Diagrama geral do sistema de controle implementado. 33
4.2. Fluxograma do programa de controle. 39
4.3. Retificador Trifsico de Potncia. 41
4.4. Inversor de potncia duplo trifsico. 41
5.1.
Velocidade mecnica em funo do tempo para referncias de velocidade
em degraus.
44
5.2. Correntes de campo e de magnetizao. 45
5.3. Velocidade angular do fluxo do rotor. 45
5.4. Energia consumida pelo sistema. 46
5.5.
Velocidade mecnica em funo do tempo para referncias de velocidade
em rampas.
47
5.6. Correntes de campo e de magnetizao. 47
5.7. Velocidade angular de fluxo do rotor. 48
5.8. Energia consumida pelo sistema. 48
ix
Lista de Smbolos
nom
P
Potncia Nominal.
nom
e
Velocidade Nominal.
nom
V
Tenso Nominal.
nom
I
Corrente Nominal.
S
R
Resistncia de estator por fase.
R
R
Resistncia de rotor por fase.
dS
L
Indutncia de disperso do estator por fase.
dR
L
Indutncia de disperso do rotor por fase.
m
L
Indutncia de magnetizao.
S
L
Indutncia do estator por fase.
R
L
Indutncia do rotor por fase.
R
T
Constante de tempo do rotor.
p
n
Nmero de pares de plos.
J Momento de inrcia do rotor.
o Fator de disperso.
k ndice de neurnios ou de instantes de amostragem.
D Fator de carga.
t Tempo em segundos.
j
Operador complexo.
h Intervalo de amostragem.
S
i
Vetor de corrente de estator.
1 S
i , e
2 S
i
3 S
i
Valores instantneos das correntes trifsicas do estator.
x
Sa
i e
Sb
i
Valores instantneos das correntes bifsicas em coordenadas do
estator.
Sd
i e
Sq
i
Valores instantneos das correntes de campo e de torque em
coordenadas de campo do rotor.
mR
i
/
mR
i

Valores instantneos das correntes de magnetizao


real/estimada.
1 S ref
i , e
2 S ref
i
3 S ref
i
Valores de referncia das correntes trifsicas de estator.
Saref
i e
Sbref
i
Valores de referncia das correntes bifsicas em coordenadas
de estator.
Sdref
i e
Sqref
i
Valores de referncia das correntes de campo e de torque em
coordenadas de campo do rotor.
f Re m
i
Valor de referncia da corrente de magnetizao.
M
m
Valor instantneo do torque eltrico.
L
m
Valor instantneo do torque de carga.
Mref
m
Valor de referncia do torque eltrico.
ref
e
Velocidade mecnica de referncia em rpm.
mec
e
Valor instantneo da velocidade mecnica em rpm.
mR
e
Velocidade angular do fluxo do rotor.
velorads Valor instantneo da velocidade mecnica em rad/s.
/
Posio angular real/estimada do fluxo do rotor.
c Posio angular instantnea do eixo do rotor.
o Posio angular instantnea do vetor de corrente de estator.

Deslocamento angular de 120.


dt
d
Operador de derivao de uma funo ou varivel.
cos
Funo cosseno do ngulo .
sen
Funo seno de um ngulo .
arctan Funo arcotangente de um ngulo .
( ) x
e Funo exponencial de uma varivel x genrica.
( ) sig x
Funo sigmide de uma varivel x genrica.
p
Nmero de entradas das redes implementadas.
1 2 3
, , ,...,
p
x x x x Valores instantneos das entradas das redes implementadas. p
xi
kp
w
Valores dos pesos sinpticos da sima entrada do
simo neurnio.
p
k
k
b
Valor do peso bi do as k simo neurnio.
_
Operador de Somatrio na juno aditiva do k simo
neurnio.
k
v
Potencial de ativao do k simo neurnio.
k
u
Sada do combinador linear do k simo neurnio.
(.)
Funo de ativao das sadas dos neurnios.
k
y
Valor da sada do k simo neurnio.
y
Valor instantneo de uma sada estimada genrica.
erro Erro instantneo entre duas variveis.
( ) P k
Ao de controle proporcional.
( ) I k
Ao de controle integrativa.
P
K
Valor do ganho proporcional.
I
K
Valor do ganho integrativo.
( ) u k
Ao de controle genrica.
a
I ,
b
I e
c
I
Correntes trifsicas de referncia por fase.
1
I ,
2
I ,
3
I ,
4
I ,
5
I e
6
I
Correntes individuais de cada bobina do estator.
a
i ,
b
i e
c
i
Mdia das correntes de fase.
i
Q
Representao geral de nmeros inteiros de bits. i
i Nmero de bits.
N Nmero real a ser transformado para o formato .
i
Q
i
N Nmero inteiro transformado para o formato .
i
Q
mR
i

d Derivada da corrente de magnetizao aps a discretizao.


d
Velocidade angular estimada do fluxo aps a discretizao.
mec
de
Velocidade angular estimada do fluxo aps a discretizao.
r
K
Constante paramtrica para a corrente de magnetizao.
i
K
Constante paramtrica para a velocidade de escorregamento.
w
K
Constante paramtrica para o incremento angular do vetor de
fluxo do rotor.
xii
M
K
Constante paramtrica para o torque eltrico.
j
K
Constante paramtrica para a velocidade mecnica.
( )
norm
x k
Valor normalizado de varivel x genrica.
( )
desnorm
y k Valor desnormalizado de varivel genrica. y
max
x
Valor mximo de uma varivel x genrica.
min
x
Valor mnimo de uma varivel x genrica.
>> Deslocamento de bits direita.
<< Deslocamento de bits esquerda.
Bloco de controlador em atraso.
Bloco de integrao numrica.
Bloco de clculo de senos e cossenos.
Bloco de controlador PI.
Ponto de entrada das redes implementadas.
Neurnio.
Vetores de entrada e sada, conexes entre blocos ou conexo
entre neurnios.
Ponto de conexo.
Bloco soma de variveis.
Ponto de soma de duas variveis.
Bloco multiplicador de uma varivel por n.
Ponto de diviso de duas variveis.
Bloco de multiplicao de variveis.
xiii
Ponto de multiplicao de duas variveis.
Conversor de sinal Analgico para Digital.
Conversor de sinal Digital para Analgico.
e
Blocos das transformaes de Park direta e inversa.
e
Bloco de transformao de variveis trifsicas para variveis
bifsicas e bloco de transformao de variveis bifsicas para
variveis trifsicas.
Sensor de Corrente.
,
Sensor de velocidade.
xiv
Resumo
Este trabalho descreve o estudo e a implementao de um controle vetorial de
velocidade para um motor de induo trifsico de 1.1 kW / 4 plos utilizando estimao
neural de fluxo do rotor. O controle vetorial de velocidade opera em conjunto com o controle
das correntes nos enrolamentos de cada fase do estator. A estimao neural de fluxo aplicada
ao controle vetorial de velocidade tem como objetivo compensar a dependncia dos
estimadores convencionais em relao s variaes nos parmetros da mquina devido a
aumentos de temperatura ou saturao magntica do rotor. O sistema de controle
implementado possibilita uma comparao direta dos respectivos desempenhos de velocidade
sob orientao do estimador neural em relao ao estimador convencional de fluxo. Todo o
controle do sistema realizado por um programa desenvolvido em linguagem padro ANSI
C. Os principais recursos do DSP utilizados pelo sistema so, respectivamente, os canais de
converso A/D, as sadas PWM e as interfaces paralela e serial RS-232, as quais so
responsveis, respectivamente, pela programao do DSP e a captura de dados atravs de um
sistema de superviso.
Palavras-chave: Controle vetorial, mquina de induo, estimao neural, DSP.
xv
xvi
Abstract
This work describes the study and the implementation of the speed control for a three-
phase induction motor of 1,1 kW and 4 poles using the neural rotor flux estimation. The
vector speed control operates together with the winding currents controller of the stator
phasis. The neural flux estimation applied to the vector speed controls has the objective of
compensating the parameter dependences of the conventional estimators in relation to the
parameter machines variations due to the temperature increases or due to the rotor magnetic
saturation. The implemented control system allows a direct comparison between the
respective responses of the speed controls to the machine oriented by the neural rotor flux
estimator in relation to the conventional flux estimator. All the system control is executed by
a program developed in the ANSI C language. The main DSP recources used by the system
are, respectively, the Analog/Digital channels converters, the PWM outputs and the parallel
and RS-232 serial interfaces, which are responsible, respectively, by the DSP programming
and the data capture through the supervisory system.
Keywords: Vector control, induction machine, neural estimation, DSP.
Captulo 1
Introduo
1.1 Introduo
No passado, os motores de corrente contnua eram usados extensivamente em reas
onde era necessrio que operassem com velocidades variveis. Entretanto, algumas de suas
desvantagens, como a existncia do comutador e das escovas, implicam em uma manuteno
peridica. A superao desses problemas veio com o uso dos motores de induo, por eles
apresentarem estrutura mais simples e manuteno mais fcil e econmica, alm de serem
mais robustos.
Todavia, a variao uniforme de velocidade nesse tipo de mquina bem mais
complexa pelas dificuldades de modelagem (devido s variaes na constante de tempo T
R
do
rotor, por exemplo) e definio da estratgia de controle adequada quanto aos equipamentos
adicionais necessrios. Porm, o progresso na eletrnica de potncia e na microeletrnica vem
possibilitando a implementao de solues eficientes e econmicas. Vrias estratgias de
controle e acionamento das mquinas de induo vem sendo desenvolvidas no sentido de
melhorar seu desempenho e aumentar sua gama de aplicaes (Leonhard, 2001).
Comumente, o controle de velocidade desse tipo de mquina tem sido realizado
utilizando a estratgia de controle tipo escalar atravs da variao proporcional
tenso/freqncia. Porm, por se tratar de mquinas com caractersticas no-lineares, esse tipo
de controle no apresenta desempenho satisfatrio quando submetido a variaes bruscas de
carga, principalmente durante o regime transitrio.
Como soluo s limitaes impostas pelo controle escalar surgiram as tcnicas
vetoriais de controle de velocidade. Tais tcnicas aproximam o modelo trifsico da mquina
de induo do modelo de uma mquina de corrente contnua (Leonhard, 2001). Esta
transformao facilita o controle de velocidade, pois faz o desacoplamento do vetor de fluxo
em relao ao de torque, permitindo o controle independente de ambos (Barbi, 1985). Atravs
das tcnicas de controle vetorial possvel obter bons desempenhos de velocidade e de torque
1
tanto durante o regime transitrio quanto durante o regime permanente, mesmo sob variaes
de carga.
Entretanto, para que se possa obter este alto desempenho, necessrio que se tenha um
conhecimento preciso da magnitude e da posio do campo girante, pois atravs dele que se
obtm o desacoplamento entre o controle de fluxo e o de torque. Isto pode ser conseguido
com a utilizao de sensores de fluxo ou atravs de algoritmos que os estimem.
O uso de sensores no muito adequado nos motores de induo, pois seria necessrio
fazer modificaes na estrutura da mquina para que eles pudessem ser adaptados. Alm
disso, os sensores no apresentam medies confiveis para operao em freqncias de
rotao muito baixas. Quando se tem o fluxo estimado o controle vetorial se torna mais
confivel, pois a estimao se d atravs de um algoritmo que envolve o modelo matemtico
da mquina, cujas variveis recebem valores de medies feitas nos terminais da mquina.
Dentre as tcnicas modernas de controle e estimao de sistemas que foram
desenvolvidas nas ltimas dcadas, a estimao de modelos atravs das Redes Neurais
Artificiais (RNAs) se apresenta como uma soluo vivel para plantas no-lineares e variantes
no tempo (Narendra, 1990).
As redes neurais tm como objetivo principal a aprendizagem do comportamento de
um sistema para diversas condies de funcionamento, fazendo com que variveis estimadas
ou controladas do mesmo se adaptem a possveis variaes e incertezas paramtricas.
1.2 Objetivo
O propsito maior deste trabalho a implementao de um estimador do vetor de
fluxo do rotor de um motor de induo trifsico com base nas tcnicas de Redes Neurais
Artificiais. As redes neurais so do tipo feedfoward multicamadas, aplicadas estimao da
corrente de magnetizao e da velocidade angular do fluxo, e seu treinamento feito off-line
baseado em dados reais obtidos de ensaios realizados com o motor submetido a dois perfis de
variaes de referncia de velocidade. As variveis estimadas supracitadas esto relacionadas
magnitude e posio do campo girante, respectivamente.
O estimador neural faz parte do sistema de controle vetorial de velocidade para um
motor de induo implementado neste trabalho, sendo este sistema baseado em outro
implementado por Paiva (2007), cujo controle feito digitalmente por um dispositivo
microcontrolado do tipo DSP (Digital Signal Processor) que oferece baixos tempos de
processamento e alta capacidade de executar instrues dentro de um lao de controle.
2
O uso do DSP justificado pela necessidade de se amostrar e controlar variveis como
as correntes trifsicas da mquina em freqncias elevadas e ainda efetuar operaes
aritmticas e lgicas. O DSP utilizado um microcontrolador de 32 bits operando a uma
freqncia de 150 MHz, o qual possibilita a comunicao com um computador PC atravs das
interfaces paralela e serial RS-232, utilizadas para a programao e comunicao com o
sistema supervisrio (Spectrum, 2003), respectivamente.
O prottipo utilizado um motor de induo trifsico de 1.1 kW / 4 plos. O programa
de controle vetorial de velocidade foi desenvolvido em linguagem padro ANSI C atravs de
um ambiente prprio no qual esto implementados, tambm, os controladores do tipo PI
(Proporcional-Integrativo) para o controle das correntes do estator.
Com isso, espera-se contribuir com a pesquisa sobre controle de motores eltricos de
induo sem mancais desenvolvida na Base de Pesquisa em Controle e Acionamento de
Sistemas (BPCAS) da UFRN.
1.3 Sumrio
A seguir, apresenta-se uma breve descrio dos captulos que compem este trabalho
com seus respectivos contedos.
No Captulo 2 o controle vetorial introduzido. So apresentados o modelo vetorial da
mquina de induo e o esquema de controle vetorial genrico de um sistema de controle
vetorial de velocidade. Alm disso, so mostrados os resultados de dois ensaios realizados
com o motor utilizando o estimador convencional que servem de referncia e motivao para
a implementao do estimador neural.
Os aspectos gerais sobre Redes Neurais Artificiais e sua aplicao no desenvolvimento
do estimador neural do vetor de fluxo do rotor so abordados no Captulo 3.
O Captulo 4 trata da implementao do sistema. Neste captulo se apresentam os
procedimentos realizados no sentido de alcanar o objetivo proposto.
Os resultados so apresentados no Captulo 5. Uma anlise comparativa do
comportamento do sistema operando com cada um dos estimadores realizada, assim como
so relatadas as caractersticas e limitaes prticas impostas pelo sistema.
No Captulo 6, das concluses e trabalhos futuros, so descritos os principais aspectos
tericos e prticos observados durante o desenvolvimento do sistema. Estes aspectos sero os
pontos norteadores para o desenvolvimento e otimizao do sistema em outros trabalhos na
rea de controle e acionamento das mquinas de induo.
3
Captulo 2
Controle Vetorial de Velocidade para Mquinas de Induo
2.1 Introduo
Ao contrrio do controle escalar do tipo V/F (tenso/freqncia), as tcnicas vetoriais
de controle para mquinas de induo apresentam alto desempenho tanto em regime
permanente quanto durante os transitrios. Este rendimento conseguido atravs do controle
independente do torque e do fluxo (Barbi, 1985).
O controle vetorial, tambm conhecido como controle por orientao de campo, foi
proposto por (Blaschke, 1972), e objetivamente consiste em controlar as correntes do estator
da mquina, representadas por um vetor.
Esse tipo de controle se baseia em projees que transformam um sistema trifsico em
um sistema de duas coordenadas ( e ), implicando numa transformao do modelo da
mquina de induo em um modelo similar ao de uma mquina de corrente contnua, de onde
decorre o desacoplamento entre o controlador de torque e o de fluxo, tornando o controle bem
mais simples e eficaz tanto para as altas quanto para as baixas rotaes.
d q
A principal exigncia dos controladores vetoriais o conhecimento do valor exato da
magnitude e da posio do campo girante. Este fator gera a necessidade do uso de sensores de
fluxo colocados no interior da mquina, o que pode ser invivel em determinados sistemas
pela dificuldade de acesso e/ou pelo alto custo destes sensores.
Uma forma de contornar essas limitaes utilizar estimadores de fluxo baseados no
modelo vetorial da mquina. Para implementar um estimador de fluxo, as entradas devem ser
escolhidas de forma que elas estejam relacionadas a um referencial especfico, sendo esta
escolha dependente das condies de projeto e do grau de complexidade que exigido pelo
sistema. As entradas podem ser as correntes e as tenses do estator ou ainda a velocidade
mecnica, que pode ser disponibilizada por um sensor acoplado ao eixo principal da mquina,
e o referencial de fluxo pode ser definido entre os referenciais do fluxo do estator, do rotor ou
ainda do entreferro, cada um deles com suas vantagens e desvantagens.
4
Os modelos representados em coordenadas de campo do estator e do entreferro so
precisos e permitem a estimao tanto de fluxo quanto de velocidade mecnica atravs da
leitura das correntes e tenses dos enrolamentos da mquina. Porm, estes modelos exigem
um esforo computacional bem maior devido ao elevado nmero de equaes neles presentes.
O modelo cujo referencial o vetor de fluxo do rotor representado por um nmero
reduzido de equaes sem perdas significativas de exatido. A estimao utilizando-se deste
referencial necessita apenas das correntes de fase do estator e da velocidade mecnica
(Santisteban, 2001).
Analisando estas opes, possvel concluir que o referencial no fluxo do rotor tem
preferncia quando se deseja minimizar o esforo computacional e simplificar a
implementao prtica de um sistema.
Por essas razes, neste trabalho o referencial utilizado no controle vetorial orientado
pelo fluxo do rotor.
2.2 Modelo Vetorial da Mquina de Induo
A mquina de induo tem suas correntes representadas em regime permanente pelo
diagrama vetorial ilustrado na Fig. 2.1 (Leonhard, 2001).
i
S3
i
Sd

mec
S
i
i
Sb
i
Sa
i
S1

i
mR

mR
2
i
S2
Eixo de referncia
de fluxo do rotor
i
Sq
Eixo do estator
Eixo do rotor
Fig. 2.1. Relaes angulares entre os vetores de correntes.
A partir deste diagrama e da considerao do sistema ser balanceado
( 0
3 2 1
= + +
S
i
S
i
S
i ), pode-se descrever inicialmente a seguinte relao:
. .2.
. .
1 2 3
j j
i i i e i e i j i
S
S S S Sa S
.
b

= + + = + (2.1)
5
em que
S
i o vetor de corrente gerado pelas correntes trifsicas , e presentes no
estator da mquina e e so as correntes correspondentes a um sistema bifsico
equivalente no referencial estacionrio.
1 S
i
2 S
i
3 S
i
Sa
i
Sb
i
Realizadas algumas substituies, com base na Eq. 2.1, obtm-se as Eqs. 2.2 e 2.3
seguintes:
1
3
.
2
Sa S
i i =
(2.2)
2 3
3
.[ ]
2
Sb S S
i i = i (2.3)
Representando essas correntes em coordenadas de campo atravs da posio angular
do campo girante, tm-se as Eqs. 2.4 e 2.5 seguintes:
. . cos sin i i i
Sa Sd Sb
= +
(2.4)
. cos . sin i i i
Sq Sa Sb
=
(2.5)
Representadas no sistema d q , essas correntes so, respectivamente, as correntes de
campo e de quadratura , que so aplicadas ao modelo da mquina para o estudo e
estimao de estados da mesma.
Sd
i
Sq
i
A estrutura do modelo vetorial da mquina de induo com referncia no fluxo do
rotor est mostrada no diagrama de blocos da Fig. 2.2 (Leonhard, 2001).
Fig. 2.2. Modelo da mquina de induo em coordenadas de campo do rotor.
Com base nesse diagrama, as seguintes equaes so obtidas:
.
M
m k.i i
mR Sq
=
(2.6)
6
2
.(1 ).
3
S
k L o = (2.7)
1 1
. .
mR
Sd mR
R R
di
i i
dt T T
=
(2.8)
1
. .
Sq
p mec
R mR
i
d
n
dt T i

e = + (2.9)
em que
M
m o torque eltrico aplicado mquina, k uma constante relacionada
indutncia prpria do estator, , e ao fator de disperso,
S
L o , a corrente de
magnetizao que est diretamente relacionada magnitude do campo girante, a
constante de tempo do rotor,
mR
i
R
T
mec
e a velocidade mecnica do rotor, o nmero de pares
de plos da mquina e
p
n
a posio do campo girante em coordenadas de fluxo do rotor.
Fazendo uma comparao, a Eq. 2.6 lembra a equao de torque eltrico de uma
mquina de corrente contnua, onde corresponde ao fluxo principal e (corrente de
torque) corrente de armadura (Leonhard, 2001). Conforme mostra a Fig. 2.1, a corrente de
magnetizao controlada pela corrente de campo do vetor de corrente do estator, a
qual pode ser comparada com a tenso de campo, por estarem consideravelmente ligadas
magneticamente. Portanto, e so duas quantidades de entrada independentes.
mR
i
Sq
i
mR
i
Sd
i
Sd
i
Sq
i
Para o estudo do comportamento mecnico do modelo da mquina so utilizadas as
Eqs. 2.10 e 2.11. Nestas equaes o atrito viscoso foi desprezado.
. m D m
L M
=
(2.10)
1
.[ ]
J
d
mec
m m
M L
dt
e
= (2.11)
em que o torque de carga, o fator de carga e o momento de inrcia do rotor.
L
m D J
O estimador convencional de fluxo se baseia no modelo vetorial apresentado na Fig.
2.2 e utilizado em sistemas de controle vetorial de velocidade para mquinas de induo.
2.3 Controle Vetorial de Velocidade
O objetivo bsico dos controladores vetoriais a obteno de respostas rpidas de
velocidade com torque elevado para as mquinas de induo durante o regime transitrio e
tambm no regime permanente.
7
Genericamente, os sistemas de controle vetorial de velocidade para as mquinas de
induo seguem o esquema apresentado no diagrama da Fig. 2.3 (Leonhard, 2001).
Fig. 2.3. Esquema genrico de um sistema de controle vetorial de velocidade orientado pelo fluxo do
rotor alimentado por correntes impostas.
De acordo com a Fig. 2.3, o controle vetorial de velocidade composto basicamente
por trs controladores do tipo PI, sendo eles: um controlador para o erro de velocidade cuja
sada o torque eltrico de referncia,
MRef
m . Em srie com esse controlador, tem-se o
controlador de torque, o qual responsvel pela gerao da referncia de corrente de torque,
. E o terceiro controlador executa o controle da corrente de magnetizao, , o qual
responsvel pela gerao da referncia de corrente de campo, .
SqRef
i
mR
i
SdRef
i
As sadas de todos os controladores devem possuir limitadores do sinal de controle
como forma de obedecer aos valores possveis de serem aplicados mquina.
As correntes e passam por uma transformao rotacional gerando as
correntes de um sistema bifsico, e . Essas correntes bifsicas passam por uma
outra transformao para se obter as correntes trifsicas de referncia, que so aplicadas
mquina:
SdRef
i
SqRef
i
SaRef
i
SbRef
i
8
1
2
.
3
S Ref SaRef
i i = (2.12)
2
1 3
. .
3 3
S Ref SaRef SbRef
i i = + i
(2.13)
3
1 3
. .
3 3
S Ref SaRef SbRef
i i = i
(2.14)
As transformaes angulares so realizadas com base no ngulo gerado pelo
estimador de fluxo. O modelo do estimador de fluxo disponibiliza tambm o torque eltrico
M
m e a corrente de magnetizao atuais. O estimador de fluxo tem como entradas as
correntes e e a velocidade mecnica,
mR
i
Sd
i
Sq
i
mec
e .
Toda a comunicao do microcontrolador com os circuitos de interface realizada
atravs dos conversores A/D e D/A disponveis na maioria dos dispositivos microcontrolados
dedicados. Em microcontroladores do tipo DSP (Digital Signal Processor) as funes de
controle de corrente e gerao de sinais PWM podem ser implementadas internamente ao
prprio dispositivo.
Os sistemas de controle vetorial de velocidade para mquinas de induo podem ser
implementados atravs de modelos alimentados por tenses ou correntes impostas.
Quando se utiliza o modelo alimentado por correntes impostas, as equaes de malha
do estator so eliminadas, fazendo com que a implementao digital seja mais simples. No
entanto, gera-se uma dependncia considervel em relao constante de tempo do rotor, .
Caso os parmetros do rotor variem ou no sejam conhecidos com exatido, esta dependncia
produz erros considerveis na estimao do fluxo.
R
T
Para a alimentao por tenso, tem-se uma estimao mais exata dos estados internos
da mquina. Porm, sua implementao digital mais complexa e demanda mais tempo de
processamento.
Apesar das limitaes, o sistema de controle deste trabalho utiliza alimentao por
correntes impostas e os parmetros do rotor do estimador convencional de fluxo advm dos
dados obtidos nos ensaios feitos com o motor de induo apresentados na seo 2.4.
9
Pode-se implementar ainda neste sistema o enfraquecimento de campo para a gerao
de , porm esta operao demanda mais processamento do microcontrolador. Neste
trabalho utilizada uma referncia constante de corrente de magnetizao.
mRRef
i
10
sistema, apenas os
control
tanto de no-
do sistema de controle vetorial de
velocid
locidades mecnica
O modelo e sistema de controle vetorial de velocidade do motor de induo
desenvolvido neste trabalho se baseiam no modelo e sistema mostrados nas Figs. 2.2 e 2.3,
respectivamente, e so implementados em DSP. Porm, no que tange ao
adores de velocidade e da corrente de magnetizao so implementados.
2.4 Ensaios Prticos com o Modelo Vetorial
So apresentados a seguir os resultados de dois ensaios realizados, cada um com suas
variaes de referncia de velocidade, cujo objetivo mostrar caractersticas
linearidades do motor de induo quanto de desempenho
ade em malha aberta, alm de servirem de referncia e motivao para a
implementao de um estimador neural de fluxo.
Os grficos seguintes mostram o comportamento das variveis do modelo vetorial do
motor de induo com referncia no fluxo do rotor o qual submetido a variaes de
referncia de velocidade. Estas variveis so as ve
mec
e e angular do fluxo
do rotor
d
dt

, as correntes de campo
Sd
i e de magnetizao
mR
i e a corrente de torque
Sq
i .
O motor de induo utilizado nos ensaios teve seus parmetros determinados atravs
2.4.1 Ensaio 1: Referncias de velocidade variando em degraus
dos mtodos convencionais de medio (Simone, 2000), listados no apndice A.
graus sem a
Nas Figs. 2.4, 2.5 e 2.6 esto ilustrados os grficos dos comportamentos das variveis
do motor de induo submetido a referncias de velocidade variando em de
aplicao de carga.
Fig. 2.4. Resposta de velocidade mecnica com referncias variando em degraus.
11
Como se pode observar na Fig. 2.4, tem-se uma rpida resposta de velocidade devido
ausncia de carga.
Fig. 2.5. Comportamento da velocidade angular do fluxo magntico do rotor.
Na Fig. 2.5 se observam distrbios antes que a velocidade angular do fluxo do rotor se
estabilize, mostrando claramente caractersticas de no-linearidades advindas por exemplo da
variao de com a temperatura ou saturao do fluxo magntico do rotor.
R
T
Fig. 2.6. Correntes de campo e de magnetizao e corrente de torque.
E, pelo que se v na Fig. 2.6, as correntes e e tendem para valores
contnuos e constantes, sendo que a corrente de campo tende para a amplitude mxima das
Sd
i
mR
i
Sq
i
Sd
i
12
correntes de fase e a corrente de torque tenderia para zero devido a sua relao com o
torque eltrico, o que no ocorre devido a inrcia existente.
2.4.2 Ensaio 2: Referncias de velocidade variando em rampas
Da mesma forma que no Ensaio 1, as Figs. 2.7, 2.8 e 2.9 ilustram, respectivamente, o
comportamento de cada uma das mesm eis, s que agora com o motor de induo
submetido a referncias de velocidade variando em rampas e tambm no se aplicou carga.
Sq
i
as variv
Fig. 2.7. Resposta de velocidade mecnica com referncias variando em rampas.
Fig. 2.8. Comportamento da velocidade angular do fluxo magntico do rotor.
Fig. 2.9. Correntes de campo e de magnetizao e corrente de torque.
2.5 Concluses
Este captulo tratou da estratgia de controle vetorial de velocidade para mquinas de
induo. Em termos de desempenho, se comparado ao controle escalar, tem-se que a tcnica
vetorial apresenta alto desempenho tanto em regime permanente quanto durante os
transitrios das mquinas de induo.
O estudo apresentou o modelo vetorial da mquina de induo orientado pelo fluxo do
rotor que tem um estimador convencional de fluxo nele baseado. Por esse modelo ser similar
ao modelo de uma mquina de corrente contnua torna seu controle bem mais simples e eficaz
tanto para as altas quanto para as baixas rotaes devido ao desacoplamento entre o
controlador de torque e o de fluxo.
Foi tambm mostrado o esquema genrico de um sistema de controle vetorial de
velocidade orientado pelo fluxo do rotor no qual se baseia a implementao prtica do sistema
de controle des
actersticas de no-linearidades do motor de induo utilizado assim
como o
te trabalho, a menos do controlador de torque.
E para mostrar car
desempenho do sistema de controle em malha aberta e sob diferentes condies de
funcionamento foram apresentados resultados de ensaios prticos utilizando o modelo vetorial
do motor que servem de referncia e motivao para a implementao do estimador neural de
fluxo.
13
14
Captulo 3
Redes Neurais Artificiais na Estimao Neural de Fluxo
3.1 Introduo
A rea de controle de sistemas vem sofrendo profundas modificaes na abordagem e
manipulao de suas grandezas fsicas e matemticas. Estas modificaes afetam tambm a
aplicao de controladores clssicos projetados para modelos lineares com parmetros
constantes e ajustados para pontos de operaes especficos.
Como a maioria dos sistemas reais no-linear, esses controladores apresentam
limitaes de desempenho em regies distantes do ponto de operao de projeto.
Para solucionar os problemas de no-linearidades em sistemas de difcil modelagem,
algumas tcnicas modernas de estimao de modelos no-lineares vm sendo desenvolvidas e
tm apresentado bons resultados quando aliadas aos controladores clssicos ou mesmo aos
controladores modernos, como por exemplo, os sistemas de controle robustos e controladores
adaptativos (Vaz, 1996; Furtunato, 2001).
Dentre as tcnicas de estimao de plantas no-lineares em evidncia, destacam-se os
estimadores baseados nas Redes Neurais Artificiais (RNAs). Este destaque se deve a sua
ampla faixa de aplicao e pela capacidade de adaptao e aprendizado do comportamento
das plantas a serem estimadas.
Uma das reas de pesquisa mais promissoras para a implementao das redes neurais
artificiais a rea de controle e de estimao dos parmetros e estados das mquinas eltricas,
como as mquinas de induo (Chen, 1994; Almeida, 1999).
As mquinas de induo possuem no-linearidades em seus modelos e tambm sofrem
variaes nos valores de seus parmetros devido a fatores internos como a saturao
magntica do rotor e externos como as variaes de temperatura. Desta forma, a aplicao de
controladores clssicos ajustados atravs de modelos lineares ou linearizados fica limitada a
pontos de operaes especficos.
Para contornar estes problemas, os estimadores baseados em RNAs podem ser
treinados para vrios pontos de operao, de modo a contemplar e compensar as variaes nos
15
parmetros da mquina e tambm manter o desempenho desejado para os controladores do
sistema, sejam eles clssicos ou modernos.
A proposta deste trabalho utilizar a estimao neural de fluxo rotrico da mquina de
induo em substituio a estimao convencional baseada no modelo inverso com
parmetros associados aos dados obtidos nos ensaios realizados no Captulo 2.
Este captulo apresenta os fundamentos das RNAs e sua aplicao na estimao dos
principais estados da mquina eltrica de induo.
Com o objetivo de justificar a eficincia das redes neurais, ao final deste captulo so
apresentados os resultados dos mesmos ensaios realizados no Captulo 2 utilizando o
estimador neural de fluxo do rotor implementado onde so comprovadas melhorias quando se
comparam estes com aqueles que utiliza o estimador convencional de fluxo.
3.2 Fundamentos Tericos das Redes Neurais Artificiais
O estudo das Redes Neurais Artificiais (RNAs) fornece um enfoque alternativo a ser
aplicado em problemas onde os enfoques numrico e simblico no so muito adequados. As
Redes neurais artificiais so apenas inspiradas no nosso conhecimento atual sobre sistemas
nervosos biolgicos da natureza, e no buscam ser realsticas em todos os detalhes, isto , o
modelamento de sistemas nervosos biolgicos no o ponto principal de interesse
(Nascimento Jr., 2004).
O crebro humano contm aproximadamente 10
11
clulas nervosas elementares
chamadas de neurnios. Cada um desses neurnios est conectado a cerca de 10
3
a 10
4
outros
neurnios. Portanto, estima-se que o crebro humano teria 10
14
a 10
15
interconexes.
Estas caractersticas fornecem uma imensa capacidade de processamento
computacional e de memria.
Desta forma, uma RNA uma mquina projetada para tentar reproduzir a maneira pela
qual o crebro realiza uma tarefa particular ou funo de interesse.
Normalmente, as RNAs so implementadas com componentes eletrnicos ou
simuladas em computadores digitais. Dentre as muitas definies sobre as RNAs, cita-se
Haykin (2001):
A rede neural um processador maciamente paralelamente distribudo, constituda
de unidades de processamento simples, que tm a propenso natural para armazenar
o conhecimento experimental e torn-lo disponvel para o uso. Ela se assemelha ao
crebro em dois aspectos:
i) O conhecimento adquirido pela rede a partir de seu ambiente atravs de um
processo de aprendizagem;
ii) Foras de conexo entre os neurnios artificiais, conhecidas como pesos
sinpticos, so usadas para armazenar o conhecimento adquirido.
3.2.1 O Neurnio Artificial
O neurnio artificial a unidade de processamento de informao de uma rede neural
e pode ser representado por um modelo linear ou no-linear.
Os modelos no-lineares tm a capacidade de representar com maior exatido os
sistemas fsicos, que em sua grande maioria, possuem caractersticas no-lineares. No entanto,
sua implementao prtica requer elevada carga computacional em relao aos neurnios com
funes lineares.
Por esta razo, neste trabalho, optou-se por utilizar neurnios com funes lineares
baseados no modelo de McCulloch-Pitts (1943), cuja estrutura est mostrada na Fig. 3.1.
w
k1
E
(.)
funo de
ativao Sada
y
k
w
k2
w
kp
Juno
aditiva
v
k
x
1
x
2
x
p
Bias
Pesos
sinpticos
.
.
.
b
k
Entrada
Fixa
x
0
=+1
Sinais
de
entrada
Fig. 3.1. Modelo de neurnio Artificial de McCulloch-Pitts.
O neurnio artificial mostrado constitudo por um conjunto de conexes sinpticas
(pesos), um somador, uma funo de ativao ou funo restritiva, sinais de entrada e sinal de
sada.
Uma das principais caractersticas deste modelo a incluso no somador do efeito
gerado pelo bias, cuja funo aumentar ou diminuir a entrada lquida da funo de ativao
(.) .
Em termos matemticos, a operao do k-simo neurnio de uma rede neural
expressa por:
16
17
j
x
k
1
.
p
k kj
j
u w
=
=
_
(3.1)
k k
v u b = +
(3.2)
e
( )
k k
y v =
(3.3)
em que o nmero de entradas, p
1 2
, ,...,
p
x x x so as entradas, so os
pesos sinpticos do neurnio k ,
p
1 2
, ,...,
k k k
w w w
p
0
x a entrada de polarizao, o peso bias, a sada
do combinador linear das entradas
k
b
k
u
1 2
, ,...,
p
x x x , o potencial de ativao,
k
v (.) a funo
de ativao e a sada do simo neurnio.
k
y k
3.2.2 Funes de Ativao
Em geral, o neurnio artificial contm uma funo de ativao no-linear que busca
representar o comportamento no-linear do neurnio biolgico. O uso de funes de ativao
no-lineares nos neurnios possibilita a identificao de modelos no-lineares. Porm, a
implementao digital deste tipo de funo gera uma carga computacional considervel,
principalmente quando o processador opera com aritmtica de ponto fixo. Portanto, a escolha
da funo de ativao depende de diversos fatores como: o tamanho da rede a ser
implementada, a complexidade do sistema de controle no qual a rede ser inserida, o erro de
estimao permitido e a capacidade de processamento do dispositivo digital que executar o
algoritmo de estimao (Narendra, 1990).
O k-simo valor de ativao de um modelo dado p po or r: :
1
( ) .
p
k kj j
j
k
f v f w x b
=
| |
= +
|
\ .
_
(3.4)
Dentre os vrios tipos de funes de ativao utilizados nas redes neurais artificiais, os
mais comuns so:
Funo de limiar

<
>
=
0 v 0
0 v 1
) v (
se
se
(3.5)
Sigmide
) (
1
1
) ( ) (
v
e
v sig v

+
= = (3.6)
Tangente hiperblica
( )
( )
) v ( ) v (
) v ( ) v (
e e
e e
) v (

= (3.7)
Arcotangente ) v arctan( ) v (
t

2
= (3.8)
Linear v ) v ( = (3.9)
Em sistemas no-lineares como por exemplo, as mquinas eltricas de induo, existe
uma tendncia natural da escolha de funes de ativao no-lineares para representar com
maior aproximao os estados internos dos mesmos. No entanto, levando em considerao os
fatores citados anteriormente, a implementao digital de estimadores com este tipo de funo
pode se tornar difcil ou mesmo invivel, em caso de uso de dispositivos dedicados para
implementao. Por essa razo, neste trabalho, optou-se por utilizar funes de ativao
lineares em todos os neurnios que compem as redes do estimador neural de fluxo do rotor.
3.2.3 Arquiteturas das Redes Neurais Artificiais
A maneira pela qual os neurnios esto interconectados define a arquitetura da Rede
Neural. Em geral, existem trs classes de arquiteturas de redes fundamentalmente diferentes:
redes alimentadas diretas com camadas nicas, redes alimentadas diretas de mltiplas
camadas e as redes recorrentes (Haykin, 2001).
A arquitetura das redes neurais com aplicaes significativas na rea de controle e
acionamento de mquinas eltricas so as redes neurais alimentadas adiante com mltiplas
camadas, ou redes do tipo Feedfoward.
Esta rede possui uma ou mais camadas ocultas, cujos ns computacionais so
chamados de neurnios ocultos, como mostra a Fig. 3.2.
Camada de entrada de ns
de fonte
Camada de neurnios de
sada
Camada de neurnios
ocultos
Fig. 3.2. Arquitetura de uma Rede Alimentada Adiante com Mltiplas Camadas ou redes tipo
Feedfoward.
A funo dos neurnios ocultos intervir entre a entrada externa e a sada da rede de
maneira til. Porm, estes elementos tornam o processamento das informaes e o algoritmo
de aprendizagem mais complexo.
18
19
Desta forma, a escolha da topologia da rede influencia diretamente na exatido obtida
pelo algoritmo de treinamento, pois, ao utilizar-se um nmero pequeno de neurnios ou
mesmo um nmero reduzido de camadas escondidas, acelera-se o processo de treinamento.
No entanto, a sada da rede fica limitada a pontos de operao muito restritos.
Caso se opte por utilizar um nmero elevado de neurnios ou de camadas escondidas,
geralmente o aprendizado mais eficiente e, conseqentemente, generaliza-se melhor a sada
da rede para diferentes pontos de operao. Todavia, a carga computacional para se executar
em tempo real o clculo da rede bem maior.
Por essa razo, ao se iniciar o processo de treinamento (mesmo que no modo off-line)
deve-se testar diferentes topologias de modo a obter uma soluo que contemple as condies
de operao dos valores para a sada sem comprometer o desempenho do dispositivo de
controle.
3.2.4 Tipos de Redes Neurais Artificiais
Com o avano das pesquisas na rea das redes neurais artificiais, diversos tipos de
redes foram desenvolvidos e adaptados s mais diversas aplicaes (Narendra, 1996). Como
conseqncia, foram geradas redes que possuem estruturas hbridas, com e sem
realimentao, diferenciando-se na complexidade de seus projetos e algoritmos de
aprendizado.
Dentre os tipos mais conhecidos esto as redes do tipo PERCEPTRON, ADALINE e
MADALINE, Rede WAVELET Polinomial e Rede de FOURIER e rede de Funes
SAMPLE. Cada um destes tipos de redes possui aplicaes diversas como, por exemplo,
aproximao de funes, reconstituio e tratamento de sinais e principalmente a estimao
de estados de sistemas fsicos.
Dentre estes tipos de redes, as redes PERCEPTRON de mltiplas camadas tm sido
aplicadas com sucesso para resolver problemas complexos, atravs do treinamento de forma
supervisionada. Para as aplicaes em estimao de estados das mquinas eltricas em geral,
elas vm se difundindo atravs de diversos trabalhos na rea de controle e acionamento de
mquinas.
As redes PERCEPTRON so do tipo totalmente conectado, isto significa que um
neurnio em qualquer camada da rede est conectado a todos os ns da camada anterior,
como mostra a Fig. 3.3.
Camada de entrada
Ca a mada de sad
2
a
camada
oculta
1
a
camada
oculta
.
.
.
.
.
.
Fig. 3.3. Estrutura de uma rede Perceptron de mltiplas camadas.
Devido ao nmero de aplicaes bem sucedidas deste tipo de rede na estimao de
estados das mquinas eltricas em geral, optou-se neste trabalho por utilizar este tipo de rede
para a estimao neural do fluxo do rotor para o controle vetorial de velocidade do motor de
induo.
3.2.5 Aprendizagem e Treinamento de uma Rede Neural Artificial
Aprender o ato que produz um comportamento diferente a um estmulo externo
devido a excitaes recebidas no passado e , de uma certa forma, sinnimo de aquisio de
conhecimento.
Em inteligncia artificial comum se falar de aprendizado pela mquina e aprender
pode ser considerado como atributo fundamental de um comportamento inteligente. As
RNAs possuem a capacidade de aprenderem por exemplos, e fazerem interpolaes do que
aprenderam. Existem diversas maneiras de aprendizado, dentre elas podemos citar:
- Memorizao;
- Por ser contado;
- Por exemplos;
- Por analogia;
- Por explorao e descoberta.
As RNAs aprendem principalmente por uma mistura dos trs ltimos.
Existem basicamente dois tipos de aprendizado para as redes neurais, so eles:
i) Aprendizado Supervisionado Existe a figura do professor que indicar se o
comportamento do aprendizado est bom ou ruim, e este deve aplicar as correes
necessrias para o bom desempenho da rede.
ii) Aprendizado fracamente supervisionado quando para se fazerem modificaes
nos valores das conexes sinpticas no se usam informaes sobre se a resposta da
rede foi correta ou no.
Aps a definio do modo de aprendizado da rede, inicia-se ento o processo de
20
21
treinamento cujo principal objetivo a obteno de um conjunto de pesos, de modo que o erro
mdio entre entrada e sada seja mnimo.
Para a realizao desta tarefa, existem diferentes algoritmos. Dentre os mais
conhecidos esto a regra Delta (Haykin, 2001) para redes de camadas nicas e o algoritmo
back-propagantion, que pode ser considerado como uma generalizao da regra Delta para
redes de mltiplas camadas. O algoritmo back-propagation consiste basicamente de dois
passos atravs das camadas da rede: um passo para frente e outro para trs. No passo para
frente, os pesos da rede so fixos e o conjunto das entradas se propaga atravs dos diferentes
ns at atingir a sada da rede. O sinal de sada comparado com o sinal desejado, gerando
um erro. Este erro processado atravs de uma regra de correo de erros, cujo efeito se
propaga para trs corrigindo todos os pesos da rede at a camada de entrada. Os processos de
propagao e retropropagao continuam at que seja atingido o erro mnimo desejado entre a
sada real da rede e a sada utilizada como padro (Haykin, 2001).
Este algoritmo pode ser utilizado tanto no treinamento off-line como no treinamento
on-line. Porm seu uso no treinamento on-line gera uma grande demanda computacional para
o dispositivo digital de controle. Esta demanda pode inviabilizar seu treinamento, pois alm
do algoritmo da rede, este dispositivo deve executar o controle global do sistema. Neste
trabalho, o treinamento foi feito off-line a partir dos dados obtidos de ensaios realizados com
o motor de induo, apresentados no Captulo 2.
3.3 Estimao Neural aplicada ao Controle de Sistemas
Um sistema de controle dito ser neural quando usa de alguma forma uma rede neural
como parte componente.
As pesquisas na rea dos Neurocontroladores tm obtido avanos significativos,
principalmente nos casos em que o modelo do processo a ser controlado oferece grande
dificuldade de ser obtido e se deseja usar a capacidade de aprendizado das RNAs para obter a
soluo do problema.
Os sistemas neurocontrolados j esto presentes em uma ampla faixa de aplicaes
como as refinarias de petrleo, plantas qumicas, siderrgicas, eletrodomsticos, controle de
robs, etc.
Uma das grandes barreiras para o uso das redes neurais em sistemas de controle em
tempo real a elevada carga computacional dos algoritmos de aprendizagem, fazendo com
que se opte por uma aprendizagem do tipo off-line, podendo levar a rede a no se adaptar s
mudanas de parmetros da planta.
Uma das aplicaes mais difundidas dos neurocontroladores a identificao de
modelos de plantas. Geralmente, estas plantas apresentam no-linearidades que tornam a
modelagem pelos mtodos tradicionais invivel. Um exemplo de sistema de identificao de
modelos est mostrado na Fig. 3.4.
Planta No-Linear
Identificador
Neural
Algoritmo de
aprendizagem
) ( t y
Ajuste de pesos
u(t) y(t)
+
_
Fig. 3.4. Exemplo de sistema com identificador neural para planta no-linear.
Neste sistema, a ao do controle aplicada simultaneamente s entradas da planta e
do identificador neural (Rede Neural). Ento, a sada da planta comparada sada do
identificador , e o erro gerado aplicado ao algoritmo de aprendizagem para o
ajuste dos pesos da rede, at que o erro entre planta e modelo neural seja nulo. Ao terminar a
aprendizagem, considera-se que a dinmica do modelo da planta foi identificada.
( ) y t
) ( t y ( ) erro t
Utilizando estes conceitos para a estimao de modelos, encontramos aplicaes
importantes para os observadores neurais e as tcnicas vetoriais de controle para mquinas
eltricas de induo. Dentre as principais variveis estimadas esto o fluxo magntico, o
torque eltrico e tambm a velocidade mecnica, conforme est descrito nas aplicaes a
seguir.
Uma das primeiras aplicaes das redes neurais para mquinas eltricas est
apresentada em Simes (1995). Neste trabalho proposta uma rede do tipo feedfoward para a
estimao dos sinais de realimentao de fluxo, torque e vetores de seno e cosseno do ngulo
de referncia, para a aplicao em um sistema de controle vetorial direto (DVC) para
mquinas de induo. Neste trabalho, os resultados de estimao foram apresentados atravs
de simulaes computacionais e sua principal contribuio se deve proposta de operao do
estimador neural implementado em um computador PC em conjunto com um programa de
controle desenvolvido para DSP, que nesta poca j se apresentava como um dispositivo
bastante verstil e eficiente para a implementao de sistemas digitais de controle.
22
Outra aplicao importante das redes neurais apresentada em Maia (1997). Neste
trabalho, foi proposta uma rede neural para a orientao pelo campo e controle de torque da
23
mquina de induo. Nesta aplicao, o controle da rede derivado de uma tcnica conhecida
como gain sheduling technique, a qual executa a mdia de um modelo da mquina de
induo variante no tempo para diversas condies de operao. Os resultados de simulao
mostraram que a estratgia neural de controle permite uma boa interpolao com o modelo
utilizado para o treinamento, gera respostas rpidas de torque e mantm a orientao de fluxo
com erro de ordem zero nulo.
Dando segmento s aplicaes dos estimadores neurais, em Almeida (1999) apresenta-
se a estimao neural do fluxo do rotor para controle orientado pelo campo de uma mquina
de induo.
Recente implementao de estimador neural de fluxo do rotor em DSP apresentada
em Lisboa (2007). Nesse caso, a eficincia comprovada pelas comparaes geradas em
tempo real entre os estimadores neurais e os estimadores convencionais baseados no modelo
inverso com parmetros fixos. Estas comparaes forneceram resultados importantes em
relao robustez e eficincia no consumo de energia do sistema para a operao com o
estimador neural de fluxo. Em Paiva (2007), o comportamento da rede para variaes (em
termos percentuais) na constante de tempo do rotor, T
R
, estudado atravs de simulaes
computacionais, sendo as informaes obtidas depois aplicadas ao estimador neural de fluxo
do sistema de controle de velocidade respectivo.
O estimador neural desenvolvido neste trabalho foi treinado para aprender de modo
eficiente a dinmica do modelo inverso da planta a partir dos dados obtidos de ensaios feitos
com a mquina. Para permitir uma adaptao eficiente s diferentes condies de operao,
durante o processo de treinamento, foram aplicadas variaes nas referncias de velocidade.
Os resultados apresentados comprovam a hiptese de robustez e versatilidade das redes
neurais aplicadas estimao de fluxo do rotor.
Enfim, os resultados estudados nos trabalhos citados para as mquinas de induo
motivaram e direcionaram a implementao do sistema de controle vetorial de velocidade da
mquina de induo. Esta implementao teve o objetivo de aliar as vantagens promovidas
pelo uso das tcnicas vetoriais de controle e a capacidade de aprendizado das redes neurais
sobre plantas no-lineares como a mquina de induo.
O sistema de controle vetorial com estimao neural de fluxo para um motor de
induo utiliza quase todos os elementos presentes no modelo clssico de controle vetorial
orientado pelo fluxo do rotor proposto em Leonhard (2001). A diferena est no tipo de
estimador utilizado e na inexistncia do controlador de torque, como mostra o diagrama de
blocos da Fig. 3.5. Observando esta mesma figura, v-se que est sendo feito o clculo do
consumo de energia a partir da integrao do produto entre a velocidade mecnica
mec
e e o
torque eltrico
M
m aplicado mquina, que tambm calculado.
Fig. 3.5. Diagrama de blocos de um controlador vetorial de velocidade com estimao neural de
fluxo.
A partir desse modelo, idealizou-se o sistema de controle vetorial de velocidade.
Todos os detalhes da implementao em DSP do sistema completo de controle esto descritos
no Captulo 4.
3.4 Implementao do Estimador Neural de Fluxo
Para simplificar a implementao digital e minimizar a carga computacional do
sistema, o estimador neural foi implementado atravs de duas redes neurais de mltiplas
camadas do tipo feedfoward com funes de ativao lineares.
O aprendizado foi do tipo supervisionado atravs do modelo da mquina com
parmetros nominais e o processo de treinamento foi realizado com os dados reais oriundos
dos ensaios apresentados no Captulo 2.
24
As redes neurais implementadas executam a estimao independente da velocidade
angular do fluxo
dt
d
e da corrente de magnetizao .
mR
i
3.4.1 Treinamento do Estimador Neural de Fluxo do Rotor
O treinamento das redes neurais foi realizado a partir de dados obtidos utilizando o
modelo convencional apresentado no Captulo 2 com alguns parmetros nominais do motor
de induo apresentados no apndice A.
O processo de treinamento consistiu em aplicar variaes na referncia de velocidade,
de maneira a permitir que a rede se adaptasse a diversas condies de funcionamento. Como
ferramenta de treinamento, utilizou-se a toolbox neural network do MATLAB

.
As redes neurais implementadas so redes de trs camadas, sendo: uma camada de
entrada, uma camada escondida e uma camada de sada. Todos os neurnios das redes
implementadas executam funes lineares.
A primeira rede implementada responsvel pela estimao da velocidade angular do
fluxo do rotor,
dt
d
, a qual integrada para a obteno da posio angular do vetor de fluxo do
rotor,
^
. Suas entradas so as correntes e e a velocidade mecnica , em rad/s,
atuais e anteriores. Sua estrutura est mostrada na Fig. 3.6.
Sd
i
Sq
i velorads
velorads(t -h)
i
Sd
(t)
i
Sq
(t)
velorads (t)
i
Sd
(t - h)
i
Sq
(t - h)
dt
) t ( d
Bias
Fig. 3.6. Diagrama da rede neural para estimao de
dt
d
.
A segunda rede implementada responsvel pela estimao da corrente de
magnetizao, , cujas entradas so atual e anterior e anterior, como mostra a Fig.
3.7.
^
mR
i
Sd
i
^
mR
i
25
i
Sd
(t)
) h t ( i

mR

i
Sd
(t - h) ) t ( i

mR
Bias
Fig. 3.7. Diagrama da rede neural para estimao de .
mR
i
Conforme colocado, para o treinamento das redes projetadas foram utilizados os dados
oriundos dos ensaios apresentados no captulo 2.
Aps o processo de treinamento, as curvas de erro convergiram para as metas
desejadas como mostram as Figs. 3.8 e 3.9. Estas metas de erros foram de (10
-3
) e (10
-8
) para
a redes de estimao de
d
dt

e de , respectivamente. A escolha destas metas foi feita


empiricamente atravs de vrios ensaios.
mR
i
Fig. 3.8. Curva de erro de treinamento para o estimador de
d
dt

.
26
Fig. 3.9. Curva de erro de treinamento para o estimador de .
mR
i
A eficincia das redes neurais implementadas pode ser comprovada nos resultados
obtidos mostrados nas Figs. 3.10, 3.11 e 3.12 para o Ensaio 1 do Captulo 2.
As variveis de sada do modelo convencional esto representadas pelas linhas em
azul ou preta e as variveis de sada das redes neurais esto representadas em vermelho ou
verde.
Fig. 3.10. Velocidade angular estimada
d
dt

do modelo com estimador convencional e com estimador


neural.
27
Na Fig. 3.10, observa-se que a velocidade angular do fluxo
d
dt

gerada pelo estimador


neural alm de seguir a referncia desejada apresenta melhoria em relao aos distrbios
gerados pelo estimador convencional.
Os respectivos comportamentos das velocidades angulares estimadas pelos
estimadores convencional e neural se refletem diretamente na gerao das correntes , e
apresentadas nos grficos da Fig. 3.11. Nestes grficos, v-se que nos transitrios as
correntes geradas pelo estimador neural atingem valores mais elevados e sua chegada ao valor
de regime se d de forma mais suave e sem os chaveamentos que existem com o estimador
convencional. Em se tratando de valores, as correntes de campo e de magnetizao resultantes
da utilizao do estimador neural so maiores que as do estimador convencional. J para a
corrente de torque, fazendo a mesma comparao, esses valores so menores.
Sd
i

mR
i
Sq
i
Fig. 3.11. Correntes , e do modelo com estimador convencional e com estimador neural.
Sd
i

mR
i
Sq
i
O comportamento da velocidade gerada pelo modelo orientado pelos estimadores
convencional e neural est mostrado na Fig. 3.12. Neste grfico, a velocidade resultante da
utilizao do estimador neural praticamente segue a velocidade obtida com o uso do
estimador convencional.
28
Fig. 3.12. Velocidade mecnica do modelo com estimador convencional e com estimador neural.
Para o Ensaio 2, os resultados so os apresentados nas Figs. 3.13, 3.14 e 3.15.
Fig. 3.13. Velocidade angular estimada
d
dt

do modelo com estimador convencional e com estimador


neural.
Da mesma forma que no Ensaio 1 apresentado no Captulo 2, a velocidade angular do
fluxo segue a referncia e apresenta melhorias quanto aos distrbios gerados com o uso do
estimador convencional.
29
Fig. 3.14. Correntes , e do modelo com estimador convencional e com estimador neural.
Sd
i

mR
i
Sq
i
Similarmente ao mostrado na Fig. 3.11, as correntes apresentadas na Fig. 3.14
praticamente possuem as mesmas caractersticas.
Fig. 3.15. Velocidade mecnica do modelo com estimador convencional e com estimador neural.
Igualmente ao que se v na Fig. 3.12, na Fig. 3.15 observamos que a velocidade
resultante da utilizao do estimador neural praticamente coincide com aquela produzida pelo
estimador convencional.
Aps a comprovao da eficcia na etapa de treinamento das redes propostas, fez-se a
converso dos pesos e equaes para a aritmtica de ponto fixo para possibilitar a
implementao em DSP do algoritmo de estimao neural do fluxo do rotor e do controle
30
31
vetorial de velocidade para o motor de induo. As equaes que executam os clculos das
sadas das redes propostas esto descritas no Captulo 4 e os pesos obtidos aps o treinamento
esto apresentados no apndice B.
3.5 Concluses
De acordo com as aplicaes citadas e resultados de ensaios apresentados, foi possvel
constatar a grande potencialidade das redes neurais artificiais aplicadas na estimao de fluxo
no controle das mquinas de induo.
Esta potencialidade motivou a implementao do sistema de controle vetorial de
velocidade com estimao neural de fluxo do rotor para as mquinas de induo em
substituio aos estimadores convencionais baseados no modelo inverso.
Enfim, a implementao da estimao neural de fluxo do rotor aplicado ao sistema de
controle vetorial de velocidade para a mquina de induo teve o objetivo principal de aliar o
que h de mais moderno e eficiente nas reas de controle de mquinas eltricas e inteligncia
artificial.
32
Captulo 4
Implementao do Controle Vetorial de Velocidade
4.1 Introduo
O sistema de controle de velocidade implementado neste trabalho alia o uso das
eficientes tcnicas de controle vetorial estimao neural de fluxo do rotor.
Todo o controle do sistema est implementado em um DSP (Digital Signal
Processor), que afora as desvantagens que ele possua, suas caractersticas de alto desempenho
e capacidade de processamento tem sedimentado sua aplicao nas mais diversas reas de
pesquisas como controle de mquinas, telecomunicaes e processamento de imagens
(Stronach, 1998).
Apesar do foco deste trabalho ser a estimao neural de fluxo aplicada ao controle
vetorial de velocidade de um motor de induo, a versatilidade do hardware implementado
permite sua comparao com outros tipos de estimadores como, por exemplo, os baseados no
modelo inverso da mquina. A opo de estimar a posio e a magnitude do fluxo do rotor se
justifica pela minimizao dos custos de implementao do sistema e tambm por que o
posicionamento de sensores de fluxo no interior da mquina apresenta uma dificuldade
considervel.
A implementao digital do sistema de controle buscou uma comparao direta entre
os respectivos desempenhos da mquina sob orientao do estimador convencional de fluxo
(baseado no modelo com parmetros associados a dados de ensaios) e sob orientao do
estimador neural de fluxo.
Nas sees seguintes faz-se uma descrio detalhada de todo o sistema de controle
proposto. Esta descrio trata do projeto e execuo de cada elemento do sistema e suas
respectivas funes no desempenho global do mesmo.
4.2 Descrio do Sistema de Controle
O sistema de controle do motor de induo divide-se em duas partes constitudas
respectivamente pelos estgios de controle vetorial da velocidade e controle das correntes em
suas bobinas. O controlador de velocidade responsvel pela gerao das correntes de
referncias para o controle das correntes das bobinas do estator. Aps a ao do controle das
correntes de cada bobina, geram-se as sadas PWM para os dois inversores trifsicos, cujas
sadas so aplicadas aos enrolamentos da mquina.
O estimador neural de fluxo do rotor implementado utiliza como entradas as correntes
do estator e a velocidade mecnica rotacional disponibilizada por um sensor ptico. d q
O diagrama geral do sistema implementado est mostrado na Fig. 4.1.
Fig. 4.1. Diagrama geral do sistema de controle implementado.
Os sinais de velocidade rotacional, torque eltrico , correntes , ) k ( m
M
) k ( i
Sd
) k ( i

mR
e
, so monitorados por um sistema de superviso implementado no ambiente do
software LabView
) k ( i
Sq

, o qual disponibiliza sadas grficas e numricas dos sinais da velocidade


mecnica , das correntes , ) k ( velorads ) k ( i
Sd
) k ( i

mR
e , e do torque eltrico . ) k ( i
Sq
) k ( m
M
33
O DSP utilizado um processador de 32 bits operando a 150 MHz e possui diversos
recursos com canais Analgicos/Digitais, sadas PWM e digitais, alm de portas seriais e
paralelas para a comunicao com computadores PC (Spectrum, 2003). Toda a programao
do sistema foi realizada na linguagem C com aritmtica de ponto fixo.
Nas subsees seguintes esto descritos detalhes de implementao e funcionamento
de cada bloco relacionado com as malhas de controle.
4.2.1 Estgio de Controle de Velocidade
O estgio de controle vetorial de velocidade composto por dois controladores do tipo
PI (Propocional-Integral) digitais. Um deles responsvel pelo controle especfico de
velocidade. Sua ao tem como sada, a corrente de referncia . O segundo
controlador executa o controle da corrente de magnetizao e responsvel pela gerao da
corrente de campo .
( )
Sqref
i k
) k ( i
Sdref
Para a execuo eficiente do controle do motor, a sintonia do controlador de
velocidade deve ser executada independentemente do controlador de corrente de
magnetizao. As equaes gerais dos controladores do tipo PI digitais implementados em
todo o sistema so as seguintes:
Clculo do erro
) k ( y ) k ( I ) k ( erro = (4.1)
Ao Proporcional
( ) . ( )
P
P k K erro k = (4.2)
Ao Integral
( ) ( 1) . ( )
I
I k I k K erro k = + (4.3)
Ao de controle para os Controladores PI
) k ( I ) k ( P ) k ( u + = (4.5)
Em que a varivel de controle e a ao de controle aplicada no
intervalo de tempo da sima amostra e
) k ( y ) k ( u
k
P
K e so, respectivamente, os ganhos
proporcional e integrativo dos controladores do sistema.
I
K
Para a execuo do controle de velocidade utiliza-se a velocidade lida por um sensor
ptico acoplado ao eixo da mquina. Durante o seu funcionamento geram-se pulsos quadrados
que so enviados diretamente para o canal digital de captura do DSP. A partir da contagem
dos pulsos capturados, calcula-se a velocidade mecnica em rad/s.
34
Para facilitar o ajuste dos controladores que compem o estgio de controle de
velocidade foi implementado um filtro digital para tratar o rudo inerente sada do sensor
ptico confeccionado. A aplicao deste filtro tambm melhorou as respostas dos estimadores
de fluxo estudados.
O prottipo utilizado em verdade uma mquina de induo trifsica sem mancais
com bobinado dividido, conforme se v em Paiva (2007), sendo uma de suas principais
caractersticas a semelhana com uma mquina de induo trifsica convencional.
Para o contexto deste trabalho ela foi ento preparada para funcionar como uma
mquina de induo trifsica convencional, e dessa forma o desbalanceamento das correntes
de fase que se v na Fig. 4.1 deixa de existir. Assim sendo, as aes de controle ,
e so feitas iguais a zero e portanto:
) k ( u
a
) k ( u
b
) k ( u
c
1
2
3
4
5
6
( ) ( )
( ) ( )
( ) ( )
( ) ( )
( ) ( )
( ) ( )
a
b
c
a
b
c
I k I k
I k I k
I k I k
I k I k
I k I k
I k I k
= ( (
( (
=
( (
( (
=
= ( (
=
( (
( (
=
( (
=
( (

(4.6)
Estas correntes de referncia so aplicadas aos controladores individuais das correntes
de cada meia bobina das fases do estator.
4.2.2. Estgio de Controle de Corrente
Para o controle de corrente foram implementados seis controladores digitais idnticos
do tipo PI (Proporcional-Integrativo), sendo um para cada bobina do estator. Estes
controladores utilizam as correntes de referncia geradas pelo controlador de velocidade as
quais so comparadas com as correntes lidas diretamente dos sensores de correntes, e os
respectivos erros so processados digitalmente pelo DSP.
As sadas do DSP so sinais do tipo PWM (Pulse With Modulation) modulados pelos
sinais oriundos dos controladores de corrente. Por fim, os sinais PWM so aplicados aos
inversores trifsicos que alimentam individualmente as bobinas do estator.
4.2.3. Estimadores de Fluxo do Rotor
O sistema permite uma comparao entre diversos tipos de estimadores. Neste
trabalho foram implementados e estudados desempenhos dos estimadores convencional e
neural de fluxo do rotor aplicados ao controle vetorial de velocidade. A discretizao e
implementao destes estimadores esto descritas nas sees seguintes.
35
4.2.3.1. Estimador Convencional de Fluxo
O estimador convencional de fluxo foi desenvolvido a partir do modelo do motor de
induo por correntes impostas em coordenadas d q com referncia no fluxo do rotor, cujo
diagrama de blocos est mostrado na Fig. 2.3. A sua implementao digital em aritmtica de
ponto fixo necessita da transformao numrica dos parmetros e estados da mquina para
nmeros no formato , o qual facilita divises por deslocamentos de bits. Esta representao
foi realizada da seguinte forma:
i
Q
i
i
* N N 2 =
(4.7)
em que i o numero de bits, o nmero a ser transformado e o nmero no formato
.
N
i
N
i
Q
A escolha do nmero de bits levou em considerao a preciso desejada para cada
grandeza discretizada.
A partir do modelo da mquina apresentado no Captulo 2 (Fig. 2.2), chegou-se s
seguintes equaes discretizadas:
Equaes eltricas:

( ) ( ( ) ( )).
imR Sd mR r
d k i k i k K = (4.8)
5 1 >> + = ) k ( d ) k ( i

) k ( i

imR mR mR
(4.9)
( ).
( ) . ( )

( )
Sq i
mR
i k K
d k np velorads k
i k
= +
(4.10)
( ) ( 1) . ( ) 8
w
k k K d k = + >>
(4.11)
( )

( ). ( ) 10 m (k) K .i k i k
M mR Sq
M
= >>
(4.12)
As constantes presentes nestas equaes foram definidas da seguinte forma:
5
.2 1
r
R
h
K
T
= ~
(4.13)
2 10
. .2 28
M nom
K k I = ~ 0 (4.14)
70
1
~ =
R
i
T
K
(4.15)
10
8
2
.2 . 21
2.
w
K h
t
( | |
= ~
( |
\ .
(4.16)
36
A corrente nominal da mquina
nom
I de 1,0 A e serviu de base para todos os valores
inteiros da discretizao do sistema. Os demais parmetros foram definidos no Captulo 2.
Equaes mecnicas:
) k (
M
m . D ) k (
L
m =
(4.17)
( ) ( ( ) ( )). d k m k m k
mec
M L j
e = K
>>
(4.18)
. ( ) ( 1) ( ) 8 k n k d k
mec mec mec
p
e e e = +
(4.19)
8 >> = ) k (
mec
) k ( velorads e
(4.20)
12.
1
j
h
K
J
= ~ (4.21)
em que D o fator de carga,
j
K a constante paramtrica e a velocidade da
mquina em rad/s. Como a velocidade mecnica, em rads/s, foi disponibilizada diretamente
do sensor ptico, as equaes mecnicas serviram apenas para ajustes off-line dos ganhos do
controlador. Assim, estas equaes no esto implementadas no programa de controle do
DSP.
) k ( velorads
4.2.3.2. Estimador Neural de Fluxo
O estimador neural de fluxo implementado composto por duas redes multicamadas
feedforward e utiliza neurnios que implementam funes lineares. Conforme discutido no
Captulo 3, a escolha deste tipo de rede teve como objetivo a minimizao da carga
computacional do DSP sem que houvesse perdas significativas de desempenho.
A implementao em DSP do estimador neural de fluxo do rotor desenvolvido no
Captulo 3 foi realizada no formato de representao numrica . Este formato
proporcionou perdas mnimas para os valores dos pesos das redes de
12
Q
) k ( d e ) k ( i

mR
.
Para uniformizar a faixa dos valores das entradas das redes implementadas com os
valores dos pesos, foi implementada uma rotina de normalizao das mesmas em valores
inteiros compreendidos entre 4096 a 4096. Esta normalizao executada atravs da
seguinte expresso:
4096
4096 2

=
) x x (
) * * ) x ) k ( x ((
) k ( x
min max
min i
norm
(4.22)
em que o valor normalizado da entrada, o valor atual da entrada e ) k ( x
norm
) k ( x
i
i
max
x e
min
x so, respectivamente, os valores mximos e mnimos de cada uma das entradas.
37
Aps a execuo do clculo das sadas de cada rede, faz-se a desnormalizao das
mesmas atravs da expresso:
min min max desnorm
y )) y y ( * ) ) ) k ( y (( ) k ( y + >> >> + = 12 1 4096
(4.23)
em que o valor desnormalizado da sada atual e e so,
respectivamente, os valores mximos e mnimos de cada uma das sadas das redes.
) k ( y
desnorm
) k ( y
max
y
min
y
A topologia das redes implementadas composta por uma camada de entrada, uma
camada escondida com seis neurnios e uma camada de sada com um neurnio. O vetor de
entrada da rede que fornece ) k ( d definido como:
(
(
(
(
(
(
(
(

=
) k ( velorads
) k ( velorads
) k ( i
) k ( i
) k ( i
) k ( i
) k ( x
Sq
Sq
Sd
Sd
d
1
1
1

(4.24)
A sada da camada escondida dada por:
1 1
( ) ( * ( )) 12
T T
i d
y k b w x k

= + >>
(4.25)
em que o vetor transposto de bias e a matriz transposta de pesos da camada
escondida. Tomando a sada como entrada da camada de sada tem-se:
1
T
b
T
i
w
) k ( y
1
) k ( y
2
2 2 1 1
( ) ( * ( )) 12
T T
y k b w y k = + >> (4.26)
em que o vetor transposto de bias e a matriz transposta de pesos da camada da
sada. Fazendo
2
T
b
1
T
w
) k ( y ) k ( d
2
= , integra-se o ngulo estimado atravs da mesma expresso
(Eq. 4.11) utilizada para o estimador convencional de fluxo.
A rede que estima a corrente de magnetizao ) k ( i

mR
tem estrutura similar anterior,
porm o seu vetor de entradas dado por:
(
(
(

=
) k ( i
) k ( i
) k ( i
) k ( x
mR
Sd
Sd
imR
1
1 (4.27)
As demais expresses das camadas internas so idnticas s Eqs. 4.25 e 4.26, porm,
as matrizes de pesos e e os vetores das bias e so especficos para esta rede.
i
w
1
w
1
b
2
b
38
4.3. Descrio do Programa de Controle
O programa de controle do sistema foi desenvolvido na linguagem C dentro de um
ambiente prprio do DSP. possvel dividi-lo em trs blocos de operaes bem definidas,
conforme Fig. 4.2.
Fig. 4.2. Fluxograma do programa de controle.
39
40
O primeiro bloco executa as definies e declaraes dos seguintes elementos do
sistema: vetor de senos, matrizes de pesos das redes, constantes, ganhos dos controladores,
variveis globais e funes auxiliares do programa.
O segundo bloco est definido na funo principal do programa. Neste bloco esto as
operaes executadas uma nica vez como: inicializao de registradores e variveis e leitura
dos offsets de corrente. Executa-se ainda neste bloco um lao infinito que: l o estado da
chave que habilita os sinais PWM, faz a leitura da velocidade da mquina, em rad/s, e realiza
a comunicao serial com o PC junto ao sistema de superviso.
O terceiro bloco est alocado dentro da funo de interrupo e executa todas as
funes de controle do sistema.
Para a realizao do controle global do sistema, utilizam-se os canais
Analgicos/Digitais para leituras dos sinais de correntes oriundas dos sensores de efeito Hall.
Para a leitura da velocidade rotacional, utiliza-se um canal digital de captura, o qual recebe
pulsos gerados pelo sensor ptico.
Para a execuo de todos os passos de controle do sistema foi escolhida uma
freqncia de interrupo de 10 kHz, que coincide com a freqncia de chaveamento dos
canais PWM. Essa escolha tomou como base o nmero de instrues possveis de serem
realizadas dentro do intervalo dessas interrupes (100 s). Como o nmero de instrues
necessrias para o controle geral do sistema extenso, subdividiu-se essas instrues em
blocos alocados em 4 interrupes subseqentes. Cada um destes blocos responsvel pela
execuo de tarefas especficas. As tarefas executadas so basicamente os clculos das
equaes de estimao e controle, leitura de sinais do sistema e envio dos sinais de referncia
de correntes para os canais PWM, cujos sinais controlam os inversores de freqncia. Desta
forma, o lao de controle geral do sistema tem um passo de integrao h de 500 s, o qual foi
utilizado para a definio das constantes definidas nas Eqs. 4.13, 4.16 e 4.21. Uma listagem
das principais rotinas desenvolvidas para o programa de controle est disponibilizada no
apndice C.
4.4. Alimentao do Sistema
A fonte de potncia que alimenta a mquina est dividida em duas partes distintas. A
primeira parte um retificador trifsico de onda completa, responsvel pela carga do
barramento de capacitores que alimenta o inversor de potncia. A outra parte composta pelo
inversor de potncia que alimenta individualmente cada meia-bobina da mquina.
Fig. 4.3. Retificador Trifsico de Potncia.
Conforme Fig. 4.3, o retificador trifsico de potncia tem como fonte primria um
varivolt trifsico de 0 - 220 V.
O sistema conta ainda com outras duas fontes de corrente contnua simtricas
reguladas de 5V e 15V responsveis pela alimentao dos seguintes elementos do sistema:
DSP;
Circuito driver de disparo dos IGBTs;
Sensores de correntes;
Sensor de velocidade ptico.
Cada um destes elementos opera com tenses CC diferentes. Por esta razo, foram
colocados reguladores de tenso especficos para cada componente do sistema (Castro, 2004).
A fonte de corrente alternada que alimenta a mquina composta por dois inversores
trifsicos montados com IGBTs, como mostra a Fig. 4.4.
Fig. 4.4. Inversor de potncia duplo trifsico.
A segurana do sistema conta com um disjuntor trifsico, trs fusveis, lmpadas
indicadoras de operao internas e externas.
O painel de acionamento do sistema composto por uma botoeira NA-NF que aciona
um contactor trifsico, um voltmetro, um ampermetro, um boto de emergncia e uma chave
responsvel por habilitar os pulsos PWM para os IGBTs.
41
42
4.5. Concluses
De acordo com o contedo apresentado neste captulo, alguns pontos importantes so
enumerados depois da implementao do sistema de controle.
O sistema implementado permite a integrao entre os controles de velocidade e de
correntes, bastante verstil, permitindo tanto a anlise de diferentes estimadores de fluxo
quanto o teste de diferentes tipos de controladores sem a necessidade de modificaes no
hardware desenvolvido. Alm disso, o hardware e o software desenvolvidos utilizam os
dispositivos e as tcnicas mais modernas na rea de controle das mquinas eltricas que so o
DSP e o controle vetorial de fluxo aliado s tcnicas de estimao neural de sistemas.
Pelas razes citadas, conclui-se que os principais objetivos de implementao
propostos para o sistema de controle para a mquina de induo foram atingidos.
Captulo 5
Resultados
5.1 Introduo
A implementao do sistema de controle vetorial de velocidade para um motor de
induo foi realizada de forma que permitisse uma comparao direta entre os desempenhos
dos estimadores de fluxo convencional e neural.
Depois da implementao prtica do sistema de controle em DSP, foram realizados
ensaios para ajustes e refinamento das respostas dos controladores de velocidade mecnica e
corrente de cada bobina do motor de induo.
Todos os ensaios foram executados sob condies iguais para os dois estimadores em
estudo, condies essas tais que:
- No se aplicou carga ao sistema;
- Todos os controladores foram sintonizados empiricamente de modo a oferecer
respostas rpidas e suaves de velocidade para o sistema;
- Os ganhos individuais de cada um dos controladores implementados foram
mantidos.
A Execuo dos ensaios foi dividida em dois perfis de variaes de referncia de
velocidade. Estes perfis utilizaram variaes de referncia de velocidade em degraus e em
rampas, ambos com valores constantes e variveis. Para os perfis variveis, foram
implementadas variaes ascendentes e descendentes.
5.2 Resultados Experimentais do Sistema em Malha Fechada
As subsees seguintes apresentam e analisam as respostas das principais variveis de
sada do sistema de controle, em funo do tempo em segundos. Todas as variveis so
capturadas pelo sistema de superviso desenvolvido no ambiente LabView

, a menos da
energia consumida pelo sistema, que calculada tomando-se a integrao do produto da
velocidade mecnica com o torque aplicado mquina. No caso, o torque tambm calculado
43
atravs do produto da constante (Eq. 2.7) com as correntes de magnetizao estimada e de
quadratura mencionadas a seguir.
k
As variveis capturadas em funo do tempo so, respectivamente: a velocidade
mecnica ) k (
mec
e , a corrente de campo , em conjunto com as correntes de
magnetizao estimada
) k ( i
Sd
) k ( i

mR
e de quadratura , e a velocidade angular estimada ) k ( i
Sq
) k ( d .
5.2.1 Perfil 1: Variaes de referncia de velocidade em degraus
Neste perfil foram aplicadas diferentes referncias de velocidade em degraus com o
intuito de analisar o comportamento da mquina no regime transitrio e em regime
permanente para este tipo de situao.
A primeira varivel apresentada na Fig. 5.1 a velocidade mecnica ) k (
mec
e em
funo do tempo.
Fig. 5.1. Velocidade mecnica em funo do tempo para referncias de velocidade em degraus.
Observando o grfico, v-se que o comportamento da velocidade mecnica ) k (
mec
e
da mquina ligeiramente mais rpido nos transitrios das baixas para as altas velocidades
para a operao do sistema com o estimador convencional. Porm, nos transitrios das altas
para as baixas velocidades, operando com o estimador neural esse comportamento mais
suave, ao passo que operando com o estimador convencional existe um pequeno overshoot.
Em regime os dois estimadores se comportam de forma similar.
44
Fig. 5.2. Correntes de campo e de magnetizao.
No grfico da Fig. 5.2 v-se que as correntes de campo e de magnetizao
estimada
) k ( i
Sd
) k ( i

mR
oscilam em torno da corrente de referncia. Nota-se que essas oscilaes so
mais acentuadas para o sistema operando com o estimador convencional. Os valores destas
correntes de referncia de campo ) e de magnetizao estimada k ( i
Sd
) k ( i

mR
, responsveis
pela magnitude do fluxo magntico do rotor, foram tomados em funo da limitao de torque
da mquina, obrigando o sistema a operar com baixos valores de correntes de magnetizao.
Na Fig. 5.3 seguinte so apresentadas as velocidades angulares estimadas ) k ( d .
Fig. 5.3. Velocidade angular do fluxo do rotor.
45
Analisando o grfico, observa-se que para a operao do sistema com o estimador
convencional existem chaveamentos nos transitrios das altas para as baixas velocidades.
Todavia, para a operao com o estimador neural, isso se d de forma suave das altas para as
baixas velocidades e vice-versa.
Concluindo a anlise do comportamento do sistema para o perfil em questo, o clculo
de energia consumida durante sua operao para cada um dos estimadores foi realizado e est
mostrado graficamente na Fig. 5.4.
Fig. 5.4. Energia consumida pelo sistema.
De acordo com o grfico, observa-se que quando o sistema opera com o estimador
neural o consumo menor comparado operao com o estimador convencional.
5.2.2 Perfil 2: Variaes de referncia de velocidade em rampas
Para este segundo perfil, foram aplicadas diferentes referncias de velocidade agora
em rampas com o mesmo objetivo de se analisar o comportamento da mquina nos regimes
transitrio e permanente.
A velocidade mecnica est apresentada na Fig. 5.5. Conforme o grfico, nas
variaes ascendentes e descendentes o comportamento de velocidade da mquina operando
com o estimador convencional ligeiramente mais rpido, sendo que antes que a velocidade
se estabilize nas baixas velocidades existe um pequeno overshoot. Operando com o estimador
neural, a resposta do sistema mais suave nas variaes descendentes. Em regime os dois
estimadores se comportam de forma similar.
46
Fig. 5.5. Velocidade mecnica em funo do tempo para referncias de velocidade em rampas.
Da mesma forma que o apresentado no grfico da Fig. 5.2, observa-se na Fig. 5.6 que
as correntes de campo e de magnetizao estimada ) k ( i
Sd
) k ( i

mR
tambm oscilam
significativamente em torno da corrente de referncia.
Fig. 5.6. Correntes de campo e de magnetizao.
Na Fig. 5.7 esto mostrados a sada principal dos estimadores convencional e neural,
as velocidades angulares estimadas ) k (

d .
47
Analisando o grfico, observa-se que para o perfil em questo, operando com o
estimador convencional, a velocidade angular chaveia em determinados pontos ao passar do
tempo. Porm, operando com o estimador neural, isso ocorre, mas se d de forma mais suave.
Fig. 5.7. Velocidade angular de fluxo do rotor.
Finalmente, concluindo a anlise do comportamento do sistema para o perfil em
anlise, calculou-se a energia consumida durante sua operao para cada um dos estimadores
e mostrou-se graficamente na Fig. 5.8.
Fig. 5.8. Energia consumida pelo sistema.
Da mesma forma, observa-se no grfico que quando o sistema opera com o estimador
neural o consumo tambm menor comparado operao com o estimador convencional.
48
5.3 Limitaes impostas pelo Sistema de Controle
Ao longo do desenvolvimento do sistema de controle foram observadas diversas
limitaes impostas por elementos do sistema e pela mquina utilizada, obtida de outra que
possui caractersticas especficas (mquina de induo sem mancais). Estas limitaes no
permitiram a captura de resultados mais refinados. As principais limitaes detectadas foram
as seguintes:
- Devido existncia de dois conjuntos estator/rotor com peso elevado e os
controles de velocidade mecnica terem sido implementados em apenas um destes
conjuntos, obrigou-se todo o sistema de controle a conviver com uma elevada
inrcia do rotor. Esta limitao elevou consideravelmente os tempos de
estabilizao de velocidade mecnica da mquina.
- O sensor de velocidade utilizado foi construdo de forma artesanal com algumas
imperfeies no alinhamento junto ao eixo do rotor. Estas imperfeies geraram
sinais com rudos significativos, obrigando o uso de filtros digitais para tratar as
variveis dependentes da velocidade.
Enfim, para a obteno de resultados experimentais significativos, foram necessrios
ajustes computacionais para se chegar a solues que proporcionassem respostas de
velocidades mecnicas satisfatrias sob orientao de ambos tipos de estimadores estudados.
5.4 Concluses
Os resultados apresentados mostram que, apesar das limitaes de ordem prtica
impostas por elementos do sistema, o estimador neural proporcionou respostas de velocidade
semelhantes s respostas proporcionadas pelo estimador convencional. Alm disso, verifica-se
que ao utilizar o estimador neural o consumo de energia menor.
Esta comparao proporcionou concluses importantes que reforam a importncia
dos estimadores neurais no controle de plantas no-lineares, como as mquinas de induo.
Pelas razes descritas acima, o sistema de controle vetorial de velocidade do motor de
induo utilizando estimao neural de fluxo se firma como mais uma aplicao bem sucedida
das redes neurais artificiais aplicadas s mquinas eltricas.
49
Captulo 6
Concluses e Trabalhos Futuros
6.1 Concluses Gerais
Fez parte do objetivo principal deste trabalho implementar e estudar
comparativamente o desempenho dos estimadores convencional e neural de fluxo aliado
tcnica de controle vetorial de velocidade em quadratura para um motor de induo.
A escolha das estratgias de estimao e controle baseou-se nas suas diversas
aplicaes bem sucedidas para a mquina de induo.
Ao finalizar a implementao prtica de todo o sistema de controle em DSP e a
captura de importantes resultados, foi possvel chegar s seguintes concluses gerais:
- O controle de velocidade limitado a pequenas e suaves variaes de referncia de
velocidade;
- Por se tratar de uma mquina com caractersticas no-lineares, as redes neurais
artificiais implementadas foram treinadas para diversas condies, contemplando
as no-linearidades e proporcionando a melhoria do desempenho do sistema;
- Ao se utilizar o estimador neural de fluxo no sistema de controle h uma
diminuio no consumo de energia.
Enfim, apesar de todas as limitaes prticas impostas pelos elementos do sistema e
pelas caractersticas do motor utilizado, os resultados experimentais obtidos em tempo real
contriburam significativamente para reafirmar a importncia das tcnicas vetoriais de
controle e dos estimadores neurais aplicados ao controle e acionamento das mquinas
eltricas.
6.2 Perspectivas e Trabalhos Futuros
As pesquisas com as mquinas de induo vm recebendo contribuies importantes
nas reas de modelagem e controle para a viabilizao do seu uso em plantas que apresentem
dificuldades e/ou alto custo.
50
Diante deste cenrio, faz-se necessrio desenvolver novos trabalhos com este tipo de
mquina com o objetivo de otimizar os resultados obtidos ou mesmo de compar-los com
outras estratgias de controle e estimao de plantas no-lineares.
Por essas razes, so propostas a seguir algumas idias de modificao dos elementos
do sistema e tambm de estudos com outras tcnicas de controle e estimao de plantas no-
lineares.
As principais propostas para trabalhos futuros so:
- A aplicao dos Filtros de Kalman para a estimao do modelo matemtico deste
tipo de mquina, permitindo uma comparao direta dos futuros resultados com os
obtidos neste trabalho.
- A implementao de um sistema de controle vetorial de velocidade com referncia
no fluxo do estator ou entreferro que tambm possibilite uma comparao direta de
desempenho com este trabalho.
- A implementao de um sistema de controle com tcnicas do tipo Sensorless para
eliminao de sensores e conseqente minimizao de custos.
Enfim, ao apresentar estas propostas, busca-se atingir algumas das diversas
possibilidades de pesquisa com a mquina de induo, mantendo-a em sintonia com as
estratgias mais eficientes e modernas na rea de controle e acionamento de mquinas
eltricas.
Diante de todo o contedo exposto neste documento, conclui-se que os principais
objetivos almejados neste trabalho foram atingidos de forma consistente e objetiva.
51
52
Referncias Bibliogrficas
(Almeida, 1999) Almeida, P. R., Stephan, M., Branco, P. J. C., Suemitsu, W. I.,
Rotor Flux Angle Estimation Using Neural Networks, In:
Electrimacs'99, 1999, Lisboa. Electrimacs'99, Vol. 1. pp. I-157-I-
162, 1999.
(Barbi, 1985) Barbi, I., Teoria Fundamental de Motor de Induo, Editora da
UFSC, Florianpolis, 1985.
(Blaschke, 1972) Blaschke, F., The principle of field orientation as applied to new
transvector closed-loop system for rotating field machines,
Siemens Review 39(5).
(Castro, 2004) Castro, F. E. F., Motor de Induo Trifsico sem Mancais com
Bobinado Dividido: Otimizao do Sistema de Posicionamento
Radial, Dissertao de mestrado, PPgEE/UFRN, Natal-RN,
2004.
(Chen, 1994) Chen, T. C., Liaw, C. Y., Design of a Neural Fuzzy Controller
For Induction Motor Speed Control, 20
th
International
conference on Industrial Electronics, Control and Instrumetation,
1994. IECON 94, Vol. 1, pp. 611-616, September 5-9, 1994.
(Ferreira, 2002) Ferreira, J. M. S., Proposta de Mquinas de Induo Trifsica
sem Mancal com Bobinado Dividido, Dissertao de mestrado,
PPgEE/UFRN, Natal-RN, 2002.
(Ferreira, 2007) Ferreira, J. M. S., Modelagem de Mquina de Induo Trifsica
sem Mancais com Bobinado Dividido, Tese de doutorado,
PPgEE/UFRN, Natal-RN, 2007.
53
(Furtunato, 2001) Furtunato, A. F. A., Arajo, A. D., Salazar, A. O.,
Implementao de um Controlador de Velocidade Usando
modos Deslizantes Suaves Para um Motor de Induo
Trifsico, Revista Controle & Automao, Vol. 12, N 2, Maio-
Agosto, 2001.
(Garcia, 1990) Garcia, G, O, Controle de Velocidade de Motor de Induo
Usando Tcnicas Campo Orientado Indireto e Escorregamento
Controlado, Tese de Doutorado, COPPE/UFRJ, Rio de Janeiro,
1990.
(Gomes, 2007) Gomes, R. G., Motor mancal com controle implementado em
DSP, Dissertao de mestrado, COPPE/UFRN, 2007.
(Haykin, 2001) Haykin, S., Rede Neurais: Princpios e Prtica, Traduo
Paulo Martins Engel. - 2
a
Edio, Bookman, Porto Alegre-RS,
2001.
(Jacobina, 1984) Jacobina, C. B., Acionamentos de Mquinas Eltricas de Alto
Desempenho, Minicurso do XIV Congresso de Brasileiro de
Automtica, Setembro, 2002.
(Leonhard, 1998) Leonhard, W., Field-orientation for controlling ac machines
principle and application. 3
rd
International Conference on
Power Electronics and Variable-Speed Drives, pp. 277-282, July,
1988.
(Leonhard, 2001) Leonhard, W., Control of electrical drives, Springer-Verlag,
Third Edition, Berlin Heidelberg New York, Germany, 2001.
(Lisboa, 2007) Lisboa, S. D., Paiva, J. A., Queiroz, F. C. H., Salazar, A. O.,
Maitelli, A. L., Neural Flux Estimation Applied To The Vector
Speed Control For Induction Machines, 9 Congresso
Brasileiro de Eletrnica de Potncia, 30 de Setembro 04 de
Outubro, Blumenau-SC, 2007.
(Maia, 1997) Maia, C. A., Resende, P. Silvino, J. L., A Neural Vector Control
for Induction Machine, ISIE - IEEE International Symposium
54
on Industrial Electronics, pp.1265-1269, 1997.
(Narendra, 1990) Narendra, K. S., Parthasarathy, K., Identification and control of
dynamical systems using neural networks, IEEE Transactions
on Neural Networks, Vol. 1, pp. 2-27, March, 1990.
(Narendra, 1992) Narendra, K, S, Mukhopadhyay, S, Intelligent Control Using
Neural Networks, IEEE Control Systems Magazine, Vol. 12, N
2, pp.11-18, April, 1992.
(Narendra, 1996) Narendra, K, S, Neural Networks for Control: Theory and
Pratice, Proceedings of the IEEE, Vol. 84, N 10, pp. 1385-
1406, October, 1996.
(Nascimento, Jr., 2004) Nascimento Jr., Cairo L., Yoneyama, T., Inteligncia Artificial
em Controle e Automao, Edgard Blcher: FAPESP, So
Paulo, 2004.
(Paiva, 2006) Paiva, J. A., Ferreira, J. M. S., Salazar, A. O. Maitelli, A. L.,
Vectorial Speed Control using a Flux Estimator for Bearingless
Machines with Divided Winding, The 10
th
International
Symposium on Magnetic Bearing, Martigny, Switzerland, Aug.
21-23
rd
, 2006.
(Paiva, 2007) Paiva, J. A., Controle Vetorial de Velocidade de uma Mquina
de de Induo sem Mancais Trifsica com Bobinado Dividido
utilizando Estimao Neural de Fluxo, Tese de Doutorado,
PPgEE/UFRN, Natal-RN, Dezembro, 2007.
(Santisteban, 2001) Santisteban, J. A., Stephan, R. M., Vector Control Methods for
Induction Machines: An Overview, IEEE Transactions on
Education, Vol. 44, N 2, pp. 170-175, May, 2001.
(Simes, 1995) Simes, M. G., Bose, B. K., Neural Network Based Estimation
of Feedback Signals for Vector Controlled Induction Motor
Drive, IEEE Transactions on Industry Applications, Vol. 31, N
3, pp. 620 629, May/June, 1995.
(Simone, 2000) Simone, G. A. Mquinas de Induo Trifsicas: Teoria e
55
Exerccios, Editora rica, 2000.
(Spectrum, 2003) Spectrum Digital, EzDsp LF2812 Technical Reference, DSP
developem systems, September, 2003.
(Stronach,1998) Stronach, A. F., Vas, P., Design, DSP implementation, and
performance of artificial-inteligence-based speed estimators for
electromachanical drives, IEE proceedings on control Theory
Applications, Vol, 145, N 02, pp. 197-203, March, 1998.
(Texas, 1998) Texas Instruments, Implementation of a Speed Field Orientated
Control of Three Phase AC Induction Motor using
TMS320F240, Application Notes for Industrial Applications, N
BPRA076, March, 1998.
(Texas, 2001) Texas Instruments, Motor Speed Measurement Considerations
when using TMS320C24x DSPs, Application Report, N
SPRA771, August, 2001.
(Vas, 1996) Vas, P., Stronach, A. F., Adaptive Fuzzy-Neural DSP Control of
High-Performance Drives, Power Electronics and Variables
Speed Drives, Conference Publication N 429, IEE, 23-25,
September, 1996.
Apndice A
Parmetros da Mquina de Induo
Os parmetros da mquina de induo utilizada nos ensaios esto listados na Tab. 1 e
foram utilizados no modelo vetorial apresentado no Captulo 2, servindo de base para todo o
projeto e desenvolvimento do sistema.
Tab. A.1. Parmetros da Mquina de Induo.
Parmetro Descrio Valor
P
nom
Potncia Nominal 1,1 kW

nom
Velocidade Nominal 1.800 rpm
V
nom
Tenso nominal 145 V
I
nom
Corrente Nominal 1 A
R
S
Resistncia de Estator por fase 4,5853 O
R
R
Resistncia de Rotor por fase 32,0894 O
L
dS
Indutncia de disperso do estator por fase 41,6 mH
L
dR
Indutncia de disperso do rotor por fase 41,6 mH
L
m
Indutncia de magnetizao 278,6 mH
L
S
Indutncia do estator por fase 459,6 mH
L
R
Indutncia do Rotor por fase 459,6 mH
n
p
Nmero de Par de Plos 2
J Momento de Inrcia 6,06.10
-3
Kg.m
2
o Fator de Disperso 0,1
Os parmetros fsicos da mquina foram obtidos experimentalmente atravs de ensaios
de curto-circuito e circuito aberto (Simone, 2000; Ferreira, 2007).
As indutncias prprias de estator e rotor foram calculadas a partir das respectivas
indutncias de disperso e de magnetizao atravs das Eqs. A.1 e A.2 (Santisteban, 2001):
m dS S
L L L
2
3
+ =
(A.1)
m dR R
L L L
2
3
+ =
(A.2)
56
Apndice B
Pesos, Equaes e Rotinas das RNAs do Estimador Neural
Este apndice apresenta todos os dados, equaes e rotinas desenvolvidas para a
execuo da estimao neural de fluxo do rotor.
B.1. Pesos e equaes para a implementao das redes que compem o
Estimador Neural de Fluxo do Rotor.
Aps o treinamento no ambiente Matlab

das redes neurais que executam a estimao


de ) k ( d e ) k ( i

mR
, foram obtidos os pesos listados a seguir:
Pesos da rede 1 que executa a estimao de ) k ( d :
;
- 0.62585 - 0.76378 0.34807 0.82384 0.49042 0.27349
- 0.71184 0.13846 - 0.74821 - 0.85334 - 0.35142 0.26833
i
w =
1.2811 - 0.74768 - 0.78785 0.37799 0.21666 - 0.51263
- 0.73185 0.239 - 0.9592 0.15989 0.23935 0.30611
- 0.89785 1.2559 - 0.44406 0.39101 - 0.26579 - 0.78652
0.60168 0.84415 0.61065 - 0.26645 0.47027 - 0.031131
(
(
(
(
(
(
(
(

| |
1
- 0.11254 - 0.23789 0.96384 - 0.44256 - 1.2962 - 0.4687 w = ;
1
0.1867
0.42063
0.23734
0.72359
- 0.84977
- 0.27316
b
(
(
(
(
=
(
(
(
(

;
| |
2
- 1.1115 b = .
57
Pesos da rede 2 que implementa o clculo de ) k ( i

mR
:
_
- 0.78112 - 0.42278 0.77907
- 0.18729 - 0.41936 - 0.22892
- 0.17426 0.50061 0.417
- 0.74353 0.40483 1.0391
0.44994 0.87017 - 0
mR
i i
w =
.43725
0.72603 - 0.25667 0.26152
(
(
(
(
(
(
(
(

;
| |
1_
0.17709 - 0.14533 - 0.17965 0.66304 0.053866 0.79337
mR
i
w = ;
1_
0.027488
0.36543
0.034605
0.12817
0.01476
- 0.56814
mR
i
b
(
(
(
(
=
(
(
(
(

;
| |
2_
0.41526
mR
i
b = .
Aps a determinao destes pesos foram aplicadas transformaes em cada uma das
matrizes e vetores para coloc-los no formato da seguinte forma: , em que
a matriz ou vetor no formato e a matriz ou o vetor no formato original.
12
Q
12
12
*2
Q
w w =
12
Q
w
12
Q w
Para normalizar todas as entradas das redes implementadas, foram aplicadas
transformaes dadas pela equao:
1
x x
) x x .( 2
x
min max
min
n

=
(B.1)
em que
n
x o valor normalizado da entrada x , e
max
x e
min
x so, respectivamente, os valores
mximos e mnimos da entrada x .
Para desnormalizar as sadas das redes implementadas, foram aplicadas
transformaes dadas pela equao:
max min min
1
( 1).( )
2
n
y y y y y = + + (B.2)
em que o valor desnormalizado da sada , e e so, respectivamente, os
valores mximos e mnimos da sada .
y
n
y
max
y
min
y
y
58
59
Na seo seguinte, est apresentada a listagem completa das rotinas e funes para o
clculo dos estimadores neurais implementados.
B.2. Listagem das rotinas e funes para o clculo das Redes Neurais
implementadas
/* Definio da topologia das Redes implementadas */
/* Topologia da rede 1 */
#define num_entradas_1 6
#define num_saidas_1 1
#define camada_1_1 6
/* Topologia da rede 2 */
#define num_entradas_2 3
#define num_saidas_2 1
#define camada_1_2 6
/* Funo de normalizao das entradas da rede */
int normaliza(long int x, int min, int max){
long int saida;
saida = (((x-min)<<1)*4096) / (max-min) - 4096;
return saida;
}
/* Funo de desnormalizao das saidas da rede */
int desnormaliza(long int x, int min, int max){
int saida;
saida = ((((x+4096)>>1)*(max-min))>>12) + min;
return saida;
}
/* Funo de implementao da rede 1 */
long int rna1 (long int x[]){
/* Declarao das variveis e pesos da rede 1 no formato Q12 */
long int y1[camada_1_1] = {0, 0, 0, 0, 0, 0};
long int y2[num_saidas_1] = {0};
long int wi[num_entradas_1][camada_1_1] =
{{-2563, -2916, 5247, -2998, -3678, 2464},
{-3128, 567, -3062, 979, 5144, 3458},
{1426, -3065, -3227, -3929, -1819, 2501},
{3374, -3495, 1548, 655, 1602, -1091},
{2009, -1439, 887, 980, -1089, 1926},
{1120, 1099, -2100, 1254, -3222, -128}};
long int w1[camada_1_1][num_saidas_1] =
{{-461}, {-975}, {3948}, {-1813}, {-5309}, {-1920}};
long int b1[camada_1_1] = {765, 1723, 972, 2964, -3481, -1119};
long int b2[num_saidas_1] = {-4553};
int i,j;
for (i = 0; i < camada_1_1; i++)
{
for (j = 0; j < num_entradas_1; j++)
{
y1[i] = y1[i]+((x[j]*wi[j][i])>>12);
}
y1[i]=y1[i] + b1[i];
}
for (i = 0; i < num_saidas_1 ; i++)
{
for (j = 0; j < camada_1_1; j++)
{
y2[i] = y2[i]+((y1[j] * w1[j][i])>>12);
}
y2[i] =y2[i] + b2[i];
60
}
return (y2[0]);
}
/* Funo de implementao da rede 2 */
long int rna2(long int x[]){
/* Declarao das variveis e pesos da rede w no formato Q12 */
long int y1[camada_1_2] = {0,0,0,0,0,0};
long int y2[camada_1_2] = {0};
long int wi_imR[num_entradas_2][camada_1_2]=
{{-3199, -767, -714, -3045, 1843, 2974},
{-1732, -1718, 2050, 1658, 3564, -1051},
{3191, -938, 1708, 4256, -1791, 1071}};
long int w1_imR[camada_1_1][num_saidas_1]=
{{725}, {-595}, {-736}, {2716}, {221}, {3250}};
long int b1_imR[camada_1_2] = {113, 1497, 142, 525, 60, -2327};
long int b2_imR[num_saidas_1] = {1701};
int i,j;
for (i = 0; i < camada_1_2; i++)
{
for (j = 0; j < num_entradas_2; j++)
{
y1[i] = y1[i]+((x[j]*wi_imR[j][i])>>12);
}
y1[i]=y1[i] + b1_imR[i];
}
for (i = 0; i < num_saidas_2 ; i++)
{
for (j = 0; j < camada_1_2; j++)
{
y2[i] = y2[i]+((y1[j] * w1_imR[j][i])>>12);
}
y2[i] =y2[i] + b2_imR[i];
}
return (y2[0]);
}
61
Apndice C
Listagem do Programa de Controle
Apresenta-se a seguir a verso final do programa de controle do sistema
implementado.
/****************************************************************************
Programa para o Controle de Velocidade da Mquina de Induo utilizando
Estimao Neural de Fluxo.
Nome: contveloRNA.c
Verso: 2.0
07/02/2008: ltima atulizao do controle de Velocidade;
*****************************************************************************/
#include "senlc.h"
#include "DSP281x_Device.h" // DSP281x Headerfile Include File
#include "DSP281x_Examples.h" // DSP281x Examples Include File
// Prototype statements for functions found within this file.
interrupt void timer_isr (void);
void inicializa(void);
void ComSerial(void);
void desabilita_PWM(void);
void habilita_PWM(void);
void init_SCI(void);
// ADC start parameters
#define ADC_MODCLK 0x3 // HSPCLK=SYSCLKOUT/2*ADC_MODCLK2 = 150/(2*3) = 25MHz
#define ADC_CKPS 0x1 // ADC module clock = HSPCLK/2*ADC_CKPS =
// = 25MHz/(1*2) = 12.5MHz
#define ADC_SHCLK 0xf // S/H width in ADC module periods
/********* Parmetros da mquina no formato Qi ****************************/
#define KM 280
#define K 70
#define Kr 1
#define Ki 70
#define Kj 1
#define Kw 21
#define I2 4
#define IDMAX 80
#define IQMAX 100
/******************** Parmetros do Controlador ****************************/
#define KPW 11
#define KIW 1
#define KPIMR 2
#define KIIMR 2
#define MIW 20
#define MIIMR 35
/************** Parmetros dos filtros *******************/
#define Aw 15
#define Bw 1
#define Adp 15
#define Bdp 1
62
/************** Parmetros dos filtros digitais *******************/
#define Aw 15
#define Bw 1
#define Adp 15
#define Bdp 1
/******************** Controle de corrente ***********************/
#define GPC 145 /* 220 / 8 ganho proporcional de corrente; tenso CA RMS */
/* Obs.: colocar 145 Vac no varivolt!!!! */
#define GIC 30 /* 30 / 8 */
#define MPI 312 /* Limite da ao integrativa (Max. PWM Integrativo) */
#define CORRENTE_NOMINAL 60 /* max. = 400; min. = 40; nom. = 45 */
#define PWM_MAX 1250 // ciclo de trabalho igual a 100% */
#define PWM_50 625 // ciclo de trabalho igual a 50% */
/* Deslocamentos de ciclo de trabalho para os braos inversores */
#define DES0 625
#define DES1 625
#define DES2 625
#define DES3 625
#define DES4 625
#define DES5 625
/****** Mximos mnimos da RNA 1 - Treinamento 22/01 ***************/
#define MIN_ISD -53
#define MIN_ISDANT -54
#define MIN_ISQ -48
#define MIN_ISQANT -45
#define MIN_VEL 0
#define MIN_VELOANT 0
#define MAX_ISD 60
#define MAX_ISDANT 60
#define MAX_ISQ 59
#define MAX_ISQANT 60
#define MAX_VEL 225
#define MAX_VELOANT 222
#define MIN_DP -50
#define MAX_DP 695
/****** Mximos mnimos da RNA 2- Treinamento 22/01 ***************/
#define MIN_IMR -1268
#define MAX_IMR 2100
#define MIN_IMRANT -1268
#define MAX_IMRANT 2100
#define CHAVE (GpioDataRegs.GPEDAT.bit.GPIOE0)
#define TX_Pronto (SciaRegs.SCICTL2.bit.TXRDY) /* se 1 indica pronto para enviar
novo caractere */
#define RX_Pronto (SciaRegs.SCIRXST.bit.RXRDY) /* se 1 indica caractere recebido e
pronto para ser lido */
/******* Parmetros do sensor de velocidade *******/
#define per_tmr2 40946 /* perodo do Timer 2 */
#define per_tmr3 640 /* perodo do Timer 3 */
#define n 60 /* nmero de pulsos por rotao do disco */
#define CT 40946 /* mximo valor de delta */
#define krads 20715 /* fator de converso para clculo da velocida de em
rad/s */
#define krpm 195312 /* fator de converso para clculo do nmero de rpm */
/********* Comunicacao Serial *********/
#define BRR 243 /* determina a taxa de dados (Baud Rate) */
#define NUM_DADOS 9 /* nmero mximo de dados a serem transmitidos */
char fase_com = 1; /* indica a fase atual da comunicao serial */
int dado[NUM_DADOS]; /* armazena um instantneo das variveis a serem
transmitidas */
char indice_dado = 6; /* 1 ndice para o dado atual */
char indice_byte = 1; /* ndice para o byte (MSB ou LSB) atual de
determinado dado */
63
char caractere=0;
/************************ Variveis do controle de velocidade *********************/
long int wrefrpm=0,isd=0,isq=0,isaref=0,isbref=0,incp=0,isa=0,isb=0;
long int imRn=0,imR=1,dpmed=0,dimR=0,velorads=0,vradsmed=0,dwmref=0;
long int isdref=0,isqref=0,wmref=0,dp=0;
long int mM=0,intw=0,intimR=0;
long int mMref=0,erromM=0,intmM=0;
int dalfa=0,is1=0,is2=0,is3=0,limdpmax=0,limdpmin=0;
int mMint=0,z=0,npassos=0,m=1;
int errow=0,flag=0,isqi=0;
int erroimR=0;
int p=0,senl,cossl,imRef=5;
int i=0,j=0,np=2;
long int contint=0;
long int entrada[6]={0,0,0,0,0,0},temp1,entrada1[3]={0,0,0},imRnant=0,temp2=0;
long int veloradsant=0,isdant=0,isqant=0;
/******* Variveis de controle de corrente **********/
int ganho = CORRENTE_NOMINAL, offset[6], ref[6], erro[6], ui[6], controle[6], k = 1,
cont = 0;
int corrente0=0, corrente1=0, corrente2=0, corrente3=0, corrente4=0, corrente5=0;
/************************ Variveis do controle de velocidade *********************/
long int wrefrpm=0,isd=0,isq=0,isaref=0,isbref=0,wmec=0,incp=0,isa=0,isb=0;
long int imRn=1,imR=1,dpmed=0,velorads=0, isdant=0,isqant=0,imRnant=0;
long int isdref=0,isqref=0,wmref=0,dp=0;
long int dimR=0,dwmec=0,mM=0,dwmref=50;
long int vradsmed=0,veloradsant=0;
int dalfa=0,is1=0,is2=0,is3=0;
int mMint=0,mL=0,z=0,npassos=0,m=1;
int flag=0;
int p=0,senl,cossl,senla,cossla;
int alfs,i=0,j=0,np=2;
unsigned int pos=0,fref=60;
long int contint=0;
/******* Variveis de controle de corrente **********/
int ganho = CORRENTE_NOMINAL, offset[6], ref[6], erro[6], ui[6], controle[6],
Ia = 0, Ib = 0, Ic = 0, k = 1;
int corrente0=0, corrente1=0, corrente2=0, corrente3=0, corrente4=0, corrente5=0;
/******* Variveis para medio de velocidade *******/
unsigned int c1=0, c2=0; /* c1 e c2 armazenam valores do TXCNT quando um pulso
recebido */
unsigned int delta=CT; /* delta: contm a diferena c2-c1 */
/*####################### Fim das declaraes ####################### */
/* Incio das funes */
/**************** Configurao da Comunicao Serial *****************/
void init_SCI(void){
/* configura modulo SCI (comunicacao serial) */
SciaRegs.SCICCR.all = 0x0007; /* 1 bit de parada, 8 bits de dados,
sem paridade, idle-mode */
SciaRegs.SCICTL1.all = 0x0003; /* inicializa flags e Mquina de estado
da SCI, habilita tx e rx */
SciaRegs.SCICTL2.all = 0x00C0; /* seta flags rx e tx, desabilita
interrupes rxrdy/brkdt e txrdy */
SciaRegs.SCIHBAUD = BRR >> 8; /* define a taxa de transmissao (parte MSB) */
SciaRegs.SCILBAUD = BRR & 0x00FF; /* define a taxa de transmissao
(parte LSB) */
SciaRegs.SCIPRI.all = 0x0010; /* prioridade das interrupes rx/tx,
comportamento sob emulation suspend */
SciaRegs.SCICTL1.bit.SWRESET = 1; /* habilita SCI*/
}
void desabilita_PWM (void){
EvaRegs.ACTRA.all = 0x0FFF;
EvbRegs.ACTRB.all = 0x0FFF;
}
void habilita_PWM (void){
EvaRegs.ACTRA.all = 0x0666;
EvbRegs.ACTRB.all = 0x0666;
}
64
/* ComSerial: Controla e envia pacote de dados pela serial. */
void ComSerial (void){
/* calcula velocidade do motor */
if (EvaRegs.CAPFIFOA.bit.CAP1FIFO == 2){ /* testa se CAP1FIFO possui 2 entradas */
EvaRegs.CAPCONA.all = 0xA000; /* desabilita novas capturas
(CAPCONA[7,6]-->CAP1EDGE=00) */
c1 = EvaRegs.CAP1FIFO; /* retira o primeiro valor da pilha */
c2 = EvaRegs.CAP1FIFO; /* (aguarda e) retira o segundo valor da
pilha */
EvaRegs.CAPCONA.bit.CAP1EDGE = 1; /* habilita novas capturas
(CAPCONA[7,6]-->CAP1EDGE=01) */
if (c2 <= c1) /* caso 2 */
delta = CT + c2 - c1;
else /* caso 1 */
delta = c2 - c1;
velorads= krads/delta;
}
// envia pacote de informaes pela serial, se requisitado
switch (fase_com){
case 1: {
// realiza o controle de fluxo da comunicao serial
if (RX_Pronto){ // novo caractere recebido?
caractere = SciaRegs.SCIRXBUF.bit.RXDT;
// l o buffer de recepo
if (caractere == 'T') // se recebeu'T' ento v para a fase 2
fase_com = 2;
}
// seno permanea apenas ouvindo
break;
}
case 2: {
// Envio das variveis para o treinamento da rede
dado[0] = wrefrpm;
dado[1] = delta;
dado[2] = mMint;
dado[3] = isd;
dado[4] = imR;
dado[5] = isqi;
dado[6] = dpmed;
dado[7] = 0;
dado[8] = 0;
fase_com = 3; // vai para a fase 3
break;
}
case 3: {
// envia um conjunto de dados (pacote), um dado de cada vez,
at a transferncia completa.
if (indice_byte == 1) // envia byte menos significativo (LSB) do dado
caractere = 0x00FF & dado[indice_dado];
else
if (indice_byte == 2) // envia byte mais significativo
(MSB) do dado
caractere = dado[indice_dado] >> 8;
//envia
if (TX_Pronto){
SciaRegs.SCITXBUF = caractere; // transmite o caractere
if (indice_byte == 1) // transmitiu somente o LSB ?
indice_byte = 2; // na prxima, transmita o MSB
else
if (indice_byte == 2){ // j transmitiu o LSB e MSB ?
indice_dado++; // aponta para o prximo dado a ser transmitido
indice_byte = 1; // comeando pelo LSB
if (indice_dado > NUM_DADOS-1){ // todo o pacote j foi transmitido
indice_dado = 0;
fase_com = 1; // v para a fase 1
}
}
} // if (TX_Pronto)
break;
} // case 3
default:
{
65
fase_com = 1;
break;
}
} // switch (fase_com)
}
void inicializa(void){
isd=0;isq=0;isa=0;isb=0;isaref=0;isbref=0;dp=0;mM=0;
isdref=0;isqref=60;is1=0;is2=0;is3=0;
wmref=0;
imR=1;dalfa=0;
incp=0;p=0;flag=0,dwmref=50;
mMint=16384,z=0;
errow=0;npassos=0;
erroimR=0;
senl=0;cossl=0;imRef=0;
i=0;j=0;
contint=0;
npassos=0,intw=0;intimR=0;
wrefrpm=0;senl=0;cossl=0;velorads=0;
dalfa = ((wrefrpm * np * 578) >> 16);
dado[2]=16384;
}
/****************************************************************************/
/* ROTINA PRINCIPAL */
/****************************************************************************/
void main(void) {
int i, j, tmp;
//char caractere=0;
// Step 1. Initialize System Control:
// PLL, WatchDog, enable Peripheral Clocks
// This example function is found in the DSP281x_SysCtrl.c file.
InitSysCtrl();
// Specific clock setting for this example:
EALLOW;
SysCtrlRegs.HISPCP.all = ADC_MODCLK; // HSPCLK = SYSCLKOUT/ADC_MODCLK
EDIS;
// Step 2. Initalize GPIO:
// This example function is found in the DSP281x_Gpio.c file and
// illustrates how to set the GPIO to it's default state.
InitGpio(); // Skipped for this example
// Step 3. Clear all interrupts and initialize PIE vector table:
// Disable CPU interrupts
DINT;
// Initialize PIE control registers to their default state.
// The default state is all PIE interrupts disabled and flags
// are cleared.
// This function is found in the DSP281x_PieCtrl.c file.
InitPieCtrl();
// Disable CPU interrupts and clear all CPU interrupt flags:
IER = 0x0000;
IFR = 0x0000;
// Initialize the PIE vector table with pointers to the shell Interrupt
// Service Routines (ISR).
// This will populate the entire table, even if the interrupt
// is not used in this example. This is useful for debug purposes.
// The shell ISR routines are found in DSP281x_DefaultIsr.c.
// This function is found in DSP281x_PieVect.c.
InitPieVectTable();
// Interrupts that are used in this example are re-mapped to
// ISR functions found within this file.
EALLOW; // This is needed to write to EALLOW protected registers
PieVectTable.T1UFINT = &timer_isr;
EDIS; // This is needed to disable write to EALLOW protected registers
/* configura registradores de status do sistema */
//*SCSR1 = 0x00FD;
//*SCSR2 = (*SCSR2 | 0x000B) & 0x000F;
EALLOW;
GpioMuxRegs.GPAMUX.all = 0x013F;
GpioMuxRegs.GPADIR.all = 0x007F;
GpioMuxRegs.GPBMUX.all = 0x007F;
66
GpioMuxRegs.GPBDIR.all = 0x013F;
GpioMuxRegs.GPDMUX.all = 0x0000;
GpioMuxRegs.GPDDIR.all = 0x0010;
GpioMuxRegs.GPEMUX.all = 0x0000;
GpioMuxRegs.GPEDIR.all = 0x0000;
GpioMuxRegs.GPFMUX.all = 0x0030;
GpioMuxRegs.GPFDIR.all = 0x0010;
GpioMuxRegs.GPGMUX.all = 0x0000;
GpioMuxRegs.GPGDIR.all = 0x0000;
EDIS;
InitAdc();
/* configura o mdulo ADC para trabalhar sem usar interrupes */
//AdcRegs.ADCTRL1.all = 0x6F90;
//AdcRegs.ADCTRL2.all = 0x4000;
// Specific ADC setup for this example:
AdcRegs.ADCTRL1.bit.ACQ_PS = ADC_SHCLK;
AdcRegs.ADCTRL3.bit.ADCCLKPS = ADC_CKPS;
AdcRegs.ADCTRL1.bit.SEQ_CASC = 1;
AdcRegs.ADCTRL1.bit.CONT_RUN = 1;
/* ----------------- Gerenciadores de eventos -------------------- */
/* Configurao do Timer 2 - Utilizado para medir velocidade */
EvaRegs.T2CNT = 0x0000; /* limpa contador do timer 2 */
EvaRegs.T2PR = per_tmr2; /* define perodo de contagem */
EvaRegs.T2CON.all = 0x1740; /* inicia contagem */
// prescaler 111 = 128 para medir velocidade 4.77Hz
/* Configurao Timer 1 */
EvaRegs.GPTCONA.all = 0x0000; /* registradores de controle dos timers */
EvbRegs.GPTCONB.all = 0x0041; // ??????? REVISAR
EvaRegs.T1CNT = 0x0000; /* limpa contador do timer 1 */
EvaRegs.T1PR = PWM_MAX; /* set the PWM carrier period */
EvaRegs.T1CON.all = 0x0840;
// prescaler 000 = 0 para pwm 10kHz
/* Configurao Timer 3 */
EvbRegs.T3CNT = 0x0000; /* limpa contador do timer 3 */
EvbRegs.T3PR = PWM_MAX; //per_tmr3;
EvbRegs.T3CON.all = 0x0840;//0x0842;
// prescaler 000 = 0 para pwm 19.531kHz
/* Configurao dos PWM's" */
EvaRegs.DBTCONA.all = 0x0000; /* desabilita deadband units */
EvbRegs.DBTCONB.all = 0x0000;
EvaRegs.ACTRA.all = 0x0999; /* configura cada par de PWM para que */
EvbRegs.ACTRB.all = 0x0999; /* um seja ativo-alto e outro ativo-baixo */
EvaRegs.COMCONA.all = 0x8200; /* habilita operao das compare units, */
EvbRegs.COMCONB.all = 0x8200; // REVISAR
/* Configura interrupes do EVA */
EvaRegs.EVAIFRA.all = 0xFFFF; /* clear all EVA group A interrupts */
EvaRegs.EVAIFRB.all = 0xFFFF; /* clear all EVA group B interrupts */
EvaRegs.EVAIFRC.all = 0xFFFF; /* clear all EVA group C interrupts */
EvaRegs.EVAIMRA.all = 0x0200; /* enable desired EVA group A interrupts
0200*/
EvaRegs.EVAIMRB.all = 0x0000; /* enable desired EVA group B interrupts */
EvaRegs.EVAIMRC.all = 0x0000; /* enable desired EVA group C interrupts */
/* Configura interrupes do EVB */
EvbRegs.EVBIFRA.all = 0xFFFF; /* clear all EVB group A interrupts */
EvbRegs.EVBIFRB.all = 0xFFFF; /* clear all EVB group B interrupts */
EvbRegs.EVBIFRC.all = 0xFFFF; /* clear all EVB group C interrupts */
EvbRegs.EVBIMRA.all = 0x0000; /* enable desired EVB group A interrupts */
EvbRegs.EVBIMRB.all = 0x0000; /* enable desired EVB group B interrupts */
EvbRegs.EVBIMRC.all = 0x0000; /* enable desired EVB group C interrupts */
/* Configurao da unidade de captura */
EvaRegs.CAPFIFOA.all = 0x0000; /* 0000 0000 0000 0000 */
EvaRegs.CAPCONA.all = 0x2040; /* 0010 0000 0100 0000 CAPCONA[15]=0,
limpa registradores de captura */
EvaRegs.CAPCONA.all = 0xA040; /* 1010 0000 0100 0000 CAPCONA[15]=1,
no faz nada */
67
/* Inicializa memria dos integradores */
ui[0] = 0;
ui[1] = 0;
ui[2] = 0;
ui[3] = 0;
ui[4] = 0;
ui[5] = 0;
/* Inicializa o mdulo de comunicao serial */
init_SCI();
/* Inicializa todas as variveis */
inicializa();
// Step 5. User specific code, enable interrupts:
// Enable PIE group 2 interrupt 6 for T1UFINT
PieCtrlRegs.PIEIER2.all = M_INT6;
// Enable CPU INT2 for T1UFINT
IER |= (M_INT2);
// Enable global Interrupts and higher priority real-time debug events:
EINT; // Enable Global interrupt INTM
ERTM; // Enable Global realtime interrupt DBGM
// lao principal infinito
while (1){
desabilita_PWM ();
// Calcula referncia trifsica inicial
while (!CHAVE){ // fica preso aqui enquanto a chave no for ligada
ComSerial(); // A comunicao serial permanece ativa.
contint=0;
}
IER = 0x0000; // mascara (desabilita) todas as interrupes
// L os "offset's" dos sensores de corrente
AdcRegs.ADCMAXCONV.all = 0x0000; // L um canal por vez
for (i = 0; i < 6; i++){
offset[i] = 0;
AdcRegs.ADCCHSELSEQ1.all = i; // seleciona o canal a ser capturado
j = 0;
while (j < 32){
AdcRegs.ADCTRL2.bit.RST_SEQ1 = 1;
AdcRegs.ADCTRL2.bit.SOC_SEQ1 = 1; // gatilha o incio da
converso
while (AdcRegs.ADCST.bit.INT_SEQ1== 0); // espera fim da
converso
AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1;
// o resultado sempre colocado em RESULT0
tmp = (AdcRegs.ADCRESULT0 >> 6) - DES_ADC;
if ((tmp < 525) && (tmp > 505)){
offset[i] += tmp;
j++;
}
for (tmp = 0; tmp < 10; tmp++);
// reseta o sequenciador da converso
AdcRegs.ADCTRL2.bit.RST_SEQ1 = 1;
for (tmp = 0; tmp < 10; tmp++);
}
offset[i] = offset[i] >> 5;
}
// Prepara para a aquisio das posies
AdcRegs.ADCMAXCONV.all = 0x0001; // L dois canais por vez
AdcRegs.ADCCHSELSEQ1.all = 0x0076; // seleciona os canais a serem capturados
AdcRegs.ADCTRL2.bit.RST_SEQ1 = 1; // reseta o sequenciador da converso
k = 3;
IER = 0x003F; // habilita interrupes
habilita_PWM ();
while(CHAVE){
/********* Variao em Degraus **************/
if ((contint <= 10) && (flag == 0)){
68
wrefrpm = 1800;
}
if((contint >= 400000) && (contint <= 700050)){
wrefrpm = 900;
flag = 1;
}
if((contint >= 700000) && (contint <= 1000020)){
wrefrpm = 1500;
}
if((contint > 1000020)){
contint = 0;
wrefrpm = 1800;
}
/********* Variao em Rampas Ascendentes e descendentes em 10 rpm *******/
/*
switch(m){
case 1:
if((npassos <= 35) && (wrefrpm <= 1800)){
dwmref = 50;
}
if((npassos > 35) && (npassos < 85)){
dwmref = 0;
}
if((npassos >= 85) && (npassos <= 144)){
flag = 1;
dwmref = -10;
}
if((npassos > 144) && (npassos <= 205) && (flag == 1)){
dwmref = 0;
}
if(npassos > 205){
flag = 0;
npassos = 23;
}
m = 2;
break;
case 2:
if((contint > 5000) && (contint < 5040)){
npassos = npassos + 1;
wrefrpm = wrefrpm + dwmref;
contint = 0;
m = 1;
}
break;
}
//***************************************************************************/
ComSerial(); // A comunicao serial permanece ativa.
}
} // while (1)
} // void main()
/************** INTERRUPT SERVICE ROUTINES **************/
/* Interrupo gerada pelo timer 1 */
interrupt void timer_isr (void){
int i, temp;
BIT_ON;
contint++;
switch (k){
case 1:
k++;
/********* Filtragem da velocidade do sensor ******/
vradsmed = ((Aw*vradsmed + Bw*velorads)) >> 4;
/***********Clculo das redes implementadas************/
/* Clculo da rede 2 - Clculo da corrente de magnetizao */
entrada1[0] = normaliza(isd, MIN_ISD, MAX_ISD);
entrada1[1] = normaliza(isdant, MIN_ISDANT, MAX_ISDANT);
entrada1[2] = normaliza(imRnant, MIN_IMR, MAX_IMR);
temp2 = rna2(entrada1);
imRn = desnormaliza(temp2, MIN_IMR, MAX_IMR);
imR = (imRn) >> 5;
69
/* Clculo da rede 1 - Clculo da velocidade angular do fluxo */
entrada[0] = normaliza(isd, MIN_ISD, MAX_ISD);
entrada[1] = normaliza(isdant, MIN_ISDANT, MAX_ISDANT);
entrada[2] = normaliza(isq, MIN_ISQ, MAX_ISQ);
entrada[3] = normaliza(isqant, MIN_ISQANT, MAX_ISQANT);
entrada[4] = normaliza(vradsmed, MIN_VEL, MAX_VEL);
entrada[5] = normaliza(veloradsant, MIN_VELOANT, MAX_VELOANT);
temp1 = rna1(entrada);
dp = desnormaliza(temp1, MIN_DP, MAX_DP);
dp = (dp >= 600)? 1000 : dp; /*Limitao da velocidade angular */
dp = (dp <= -600)? -1000 : dp;
/* Filtragem da velocidade angular do fluxo */
dpmed = (Adp*dpmed + Bdp*dp) >> 4;
incp = ((Kw*dpmed) >> 8); /* Clculo do incremento angular */
p = p + incp;
/* Clculo do torque eletrico */
mM = (KM*imR*isq) >> 11;
mMint = mM + 16384; /* Torque com Offset para envio para o Labview/
/********** Determinao do seno e cosseno do ngulo estimado *******************/
p = (p >= 1024)? p - 1024 : p ;
p = (p <= -1024)? p + 1024 : p ;
z = (p >= 0)? p : -p;
if(z <= 255){
i = z;
senl = senlc[i];
cossl = senlc[255 - i];
}
else{
if(z <= 511){
i = 511 - z;
senl = senlc[i];
cossl = -senlc[255 - i];
}
else{
if(z <= 767){
i = (z - 512);
senl = -senlc[i];
cossl = -senlc[255 - i];
}
else{
if(z <= 1023){
i = 1023 - z;
senl = -senlc[i];
cossl = senlc[255 - i];
}
}
}
}
break;
case 2:
k++;
/********* Filtragem da velocidade do sensor******/
veloradsant = velorads;
vradsmed = (Aw*vradsmed + Bw*velorads) >> 4;
/*********Tranformao de RPM para rad/s da velocidade de Referncia**********/
wmref = ((wrefrpm * 107) >> 10);
/***************Algoritmo de Controle de Velocidade **************************/
/* Controlador de Velocidade */
errow = (wmref - vradsmed);
intw = intw + ((KIW*errow)/10);
intw = (intw>= MIW) ? MIW : intw;
intw = (intw < -MIW) ? -MIW : intw;
isqref = ((KPW*errow)/10) + intw;
isqref = (isqref>IQMAX)? IQMAX: isqref;
isqref = (isqref<-IQMAX)? -IQMAX: isqref;
/* calculo do erro de fluxo */
imRef = 35;
70
erroimR = imRef - imR;
intimR = intimR + ((KIIMR*erroimR));
intimR = (intimR>= MIIMR) ? MIIMR: intimR;
intimR = (intimR< -MIIMR) ?-MIIMR: intimR;
isdref = ((KIIMR*erroimR)) + intimR;
isdref = (isdref>IDMAX)?IDMAX: isdref;
isdref = (isdref<-IDMAX)?-IDMAX: isdref;
/************ Fim do Algoritmo de Controle***************/
break;
case 3:
k++;
/* Transformao inversa de PARK das Correntes isaref e isbref ************/
isaref = (isdref * cossl - isqref * senl) >> 10;
isbref = (isqref * cossl + isdref * senl) >> 10;
// Transformao para o modelo d-q
Ia = ((86 * isaref) >> 7);
Ib = ((-43 * isaref + 74 * isbref) >> 7);
Ic = ((-43 * isaref - 74 * isbref) >> 7);
case 4:
k++;
/* Clculo das referncias de corrente em cada Bobina do estator*/
/* Calcula os sinais de referncia */
ref[0] = Ia + offset[0]; /* cmpr1 */
ref[1] = Ib + offset[1]; /* cmpr2 */
ref[2] = Ic + offset[2]; /* cmpr3 */
ref[3] = Ia - offset[3]; /* cmpr4 */
ref[4] = Ib - offset[4]; /* cmpr5 */
ref[5] = Ic - offset[5]; /* cmpr6 */
/* Preparao para a aquisio das correntes */
AdcRegs.ADCMAXCONV.all = 0x0005; /* volta a ler seis canais por vez */
AdcRegs.ADCCHSELSEQ1.all = 0x3210; /* seleciona os canais
a serem capturados */
AdcRegs.ADCCHSELSEQ2.all = 0x0054;
AdcRegs.ADCTRL2.bit.RST_SEQ1 = 1; /* reseta seqenciador da converso */
break;
case 5:
k = 1;
/* Incio das leituras das correntes de fase*/
AdcRegs.ADCTRL2.bit.SOC_SEQ1 = 1; /* gatilha o incio da converso */
while (AdcRegs.ADCST.bit.INT_SEQ1== 0); /* espera fim da converso */
AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1;
corrente0 = (AdcRegs.ADCRESULT0 >> 6) ;
corrente1 = (AdcRegs.ADCRESULT1 >> 6) ;
corrente2 = (AdcRegs.ADCRESULT2 >> 6) ;
corrente3 = (AdcRegs.ADCRESULT3 >> 6) ;
corrente4 = (AdcRegs.ADCRESULT4 >> 6) ;
corrente5 = (AdcRegs.ADCRESULT5 >> 6) ;
/* Algoritmo de controle de corrente: PI digital */
erro[0] = ref[0] - corrente0;
ui[0] += ((GIC * erro[0]) >> 3);
if (ui[0] > MPI)
ui[0] = MPI;
else
if (ui[0] < -MPI)
ui[0] = -MPI;
controle[0] = ((GPC * erro[0]) >> 3) + ui[0] + DES0;
EvaRegs.CMPR1 = (controle[0] < 0) ? 0 : controle[0];
erro[1] = ref[1] - corrente1;
ui[1] += ((GIC * erro[1]) >> 3);
if (ui[1] < -MPI)
ui[1] = -MPI;
else
if (ui[1] > MPI)
ui[1] = MPI;
controle[1] = ((GPC * erro[1]) >> 3) + ui[1] + DES1;
71
EvaRegs.CMPR2 = (controle[1] < 0) ? 0 : controle[1];
erro[2] = ref[2] - corrente2;
ui[2] += ((GIC * erro[2]) >> 3);
if (ui[2] > MPI)
ui[2] = MPI;
else
if (ui[2] < -MPI)
ui[2] = -MPI;
controle[2] = ((GPC * erro[2]) >> 3) + ui[2] + DES2;
EvaRegs.CMPR3 = (controle[2] < 0) ? 0 : controle[2];
erro[3] = ref[3] - corrente3;
ui[3] += ((GIC * erro[3]) >> 3);
if (ui[3] < -MPI)
ui[3] = -MPI;
else
if (ui[3] > MPI)
ui[3] = MPI;
controle[3] = ((GPC * erro[3]) >> 3) + ui[3] + DES3;
EvbRegs.CMPR4 = (controle[3] < 0) ? 0 : controle[3];
erro[4] = ref[4] - corrente4;
ui[4] += ((GIC * erro[4]) >> 3);
if (ui[4] > MPI)
ui[4] = MPI;
else
if (ui[4] < -MPI)
ui[4] = -MPI;
controle[4] = ((GPC * erro[4]) >> 3) + ui[4] + DES4;
EvbRegs.CMPR5 = (controle[4] < 0) ? 0 : controle[4];
erro[5] = ref[5] - corrente5;
ui[5] += ((GIC * erro[5]) >> 3);
if (ui[5] < -MPI)
ui[5] = -MPI;
else
if (ui[5] > MPI)
ui[5] = MPI;
controle[5] = ((GPC * erro[5]) >> 3) + ui[5] + DES5;
EvbRegs.CMPR6 = (controle[5] < 0) ? 0 : controle[5];
/******* Atribuio dos valores anteriores das entradas da rede **********/
imRnant = imRn;
isdant = isd;
isqant = isq;
veloradsant = vradsmed;
/* Clculo da mdia das correntes de sada utilizando as correntes lidas ******/
is1 = (corrente0 + corrente3)>>1 - (offset[0] + offset[3]) >> 1;
is2 = (corrente1 + corrente4)>>1 - (offset[1] + offset[4]) >> 1;
is3 = (corrente2 + corrente5)>>1 - (offset[2] + offset[5]) >> 1;
/* Transformao inversa de PARK das Correntes isaref e isbref ************/
/* Transformao para o modelo alfa-beta */
isa = 3*is1 >> 1;
isb = 111 * (is2 - is3) >> 7;
/* Transformao para o modelo d-q */
isd = (isa * cossl + isb * senl) >> 10;
isq = (isb * cossl - isa * senl) >> 10;
isqi = isq + 101; /* corrente isq com Offset para envio dos valores
para o Labview/
break;
default:
k = 1;
}
EvaRegs.EVAIFRA.bit.T1UFINT = 1; /* limpa bit correspondente interrupo
do timer */
// Acknowledge interrupt to receive more interrupts from PIE group 2
PieCtrlRegs.PIEACK.all = PIEACK_GROUP2;
}

You might also like