Академический Документы
Профессиональный Документы
Культура Документы
DO
RIO
DE
JANEIRO
COMO
PARTE
DOS
REQUISITOS
ii
iii
iv
Solange.
Agradecimentos
vi
NDICE:
Captulo 1. INTRODUO. ........................................................................................ 1
1.1. Motivao............................................................................................................ 2
1.2. Objetivo............................................................................................................... 2
1.3. Delimitao do trabalho. ..................................................................................... 3
1.4. Estrutura da tese. ................................................................................................. 5
Captulo 2. CONCEPO DA BANCADA................................................................ 6
2.1. Introduo............................................................................................................ 6
2.2. Concepo da Bancada........................................................................................ 6
Captulo 3. O MOTOR SNCRONO. ........................................................................ 10
3.1. Histrico. ........................................................................................................... 10
3.2. Princpios Bsicos de Funcionamento............................................................... 11
3.3. Motor Sncrono de m Permanente.................................................................. 11
3.4. Formas Construtivas.......................................................................................... 12
3.4.1. Quanto Fora Eletromotriz. ................................................................... 13
3.4.1.1. Brushless dc Motor (f.e.m. trapezoidal). ........................................ 13
3.4.1.2. Motor Sncrono de ms Permanentes (f.e.m. senoidal)................. 14
3.4.2. Quanto Montagem dos ms Permanentes no Rotor. ............................ 16
3.4.3. Outras Formas Construtivas. .................................................................... 17
Captulo 4. MODELO MATEMTICO DINMICO DO MOTOR. .................... 19
4.1. Introduo.......................................................................................................... 19
4.2. Modelo Matemtico do Motor Sncrono........................................................... 19
4.2.1. Transformada de Park. ............................................................................. 22
4.2.1.1. Seleo da constante K. .................................................................. 23
4.2.2. Conjugado Eletromecnico. ..................................................................... 28
4.3. Modelo Matemtico do Motor Sncrono de ms Permanentes........................ 31
Captulo 5. CONTROLE ORIENTADO PELO CAMPO (FIELD ORIENTED
CONTROL FOC)................................................................................... 34
5.1. Introduo.......................................................................................................... 34
5.2. Representao de Grandezas Trifsicas por Vetor Espacial. ............................ 34
5.3. Transformada de Clarke (Sistema Esttico de Coordenadas -). ................... 36
5.4. Transformada de Park (Sistema Sncrono de Coordenadas d-q)....................... 37
5.5. Princpio do Controle por Orientao de Campo. ............................................. 38
5.6. Controle do Motor Sncrono de m Permanente.............................................. 41
vii
na Superfcie Ld = Lq ........................................................................... 42
5.6.2. Controle Vetorial de Motores Sncronos de ms Permanentes Montados
no Interior Ld Lq . ............................................................................. 46
Captulo 6. MODULAO DO INVERSOR FONTE DE TENSO. ................... 50
6.1. Introduo.......................................................................................................... 50
6.2. Tcnicas de Controle PWM. ............................................................................. 51
6.2.1. PWM Seno Tringulo............................................................................ 51
6.2.2. PWM Senoidal com Injeo de 3o Harmnico......................................... 54
6.2.3. Modulao por Vetor Espacial. ................................................................ 55
6.2.3.1. Seleo da Seqncia...................................................................... 60
6.2.3.2. Implementao por Software. ......................................................... 61
6.2.3.3. Clculo do Ciclo de Trabalho. ........................................................ 63
6.2.3.4. Operao Linear.............................................................................. 65
6.2.4. PWM Realimentado por Controle de Corrente. ....................................... 65
6.2.4.1. Regulador de Corrente por Histerese.............................................. 66
6.2.4.2. Regulador de Corrente Linear com Comparao. .......................... 67
6.2.4.3. Mtodo de Leitura de Tabela Pr-definida. .................................... 68
6.2.4.4. Controle de Corrente Preditivo. ...................................................... 69
6.2.4.5. Controle da Corrente com Rastreamento da Trajetria. ................. 70
Captulo 7. ESTIMADOR DE VELOCIDADE E POSIO. ................................ 72
7.1. Introduo.......................................................................................................... 72
7.2. Tcnicas de estimao....................................................................................... 73
7.2.1. Estimadores de Posio Baseados na Fora Eletromotriz (f.e.m.). .......... 74
7.2.1.1. Mtodo utilizando os parmetros do motor e medies das tenses e
correntes.......................................................................................... 75
7.2.2. Estimadores de Fluxo em Malha Aberta, com Monitoramento da Tenso e
Corrente de Armadura. ............................................................................. 76
7.2.3. Estimadores de Posio Baseados no 3o Harmnico da tenso de fase. .. 79
7.2.4. Estimadores Baseados na Variao da Indutncia Devido aos Efeitos
Geomtricos e de Saturao. .................................................................... 80
7.2.4.1. Tcnicas que Dependem de um Mapeamento das Indutncias....... 80
7.2.4.2. Tcnicas em que so Aplicados Sinais Discretos Mquina. ........ 81
viii
ix
Captulo 1.
INTRODUO.
1.1.
Motivao.
Este trabalho motivado em face do acentuado desenvolvimento de
utilizao
de
acionamentos
de
velocidade
varivel
tem
crescido
1.2.
Objetivo.
Este trabalho tem como objetivo a Implementao de uma Bancada para
1.3.
Delimitao do trabalho.
O
presente
trabalho
foi
desenvolvido
utilizando-se
os
equipamentos
1.4.
Estrutura da tese.
A tese encontra-se dividida em captulos onde so apresentadas as teorias das
tcnicas utilizadas, bem como outras tcnicas, dentre as mais difundidas, que tm
aplicao em acionamentos de motores sncronos de ms permanentes.
A seguir apresentado sucintamente o tema de cada captulo.
Captulo 1
Captulo 2
Captulo 3
Captulo 4
Captulo 5
Captulo 6
Captulo 7
Captulo 8
Captulo 9
Captulo 2.
2.1.
CONCEPO DA BANCADA.
Introduo.
A idia de montar uma bancada foi concebida a partir das dificuldades
2.2.
Concepo da Bancada.
No estudo prospectivo desenvolvido no Centro de Pesquisas de Energia Eltrica
Captulo 3.
3.1.
O MOTOR SNCRONO.
Histrico.
A Mquina Sncrona, tradicionalmente e at algumas dcadas atrs, era quase
10
3.2.
3.3.
11
3.4.
Formas Construtivas.
Os motores sncronos de m permanente so amplamente utilizados,
12
3.4.1.1.
13
varivel,
acionamentos
de
discos
de
computador,
dispositivos
3.4.1.2.
14
Este tipo de motor muito mais eficiente que um motor de induo de mesma
potncia. Alm de no existir perdas no rotor, as perdas por disperso, causadas pela
interao magntica devido proximidade entre os dentes do estator e do rotor no motor
de induo, so praticamente eliminadas devido ao espaamento da estrutura de ao
entre o rotor e estator.
comumente dito que um motor sncrono de IP alimentado no estator com
corrente simtrica senoidal, com tenso induzida senoidal, com entreferro constante e
com a velocidade diretamente relacionada com a freqncia, produz conjugado
constante. De fato, o torque deste motor pulsante ou oscilatrio, porm em muito
menor intensidade que os motores com tenso induzida trapezoidal.
O conjugado do motor sncrono de IP composto de duas componentes e
gerado pela interao da fora magnetomotriz, produzida pela corrente do estator, e
pelas propriedades eletromagnticas do rotor.
A componente principal do torque, chamado de conjugado mtuo ou conjugado
de alinhamento, proporcional componente em quadratura da corrente da armadura e
resultante da interao da fora magnetomotriz com a distribuio de fluxo do rotor.
O efeito das salincias do rotor produzem o torque de relutncia, quando
Ld Lq , portanto o motor com m montado na superfcie praticamente no produz
esta componente do torque. Este conjugado proporcional ao produto das duas
componentes da corrente do estator, isto , do produto da corrente em quadratura pela
corrente de eixo direto e resultante da interao da fora magnetomotriz com a
variao angular da relutncia magntica do rotor [12].
Em adio a estas duas componentes, existem componentes harmnicas do
conjugado [13] devido ao fluxo enlaado no ser senoidal, podendo ocorrer saturao
magntica causada pelos harmnicos do fluxo. Devido tambm distoro da forma de
onda da corrente; variao da relutncia magntica do entreferro, que varia
periodicamente quando as arestas dos ms permanentes do rotor passam pelos dentes
da ranhura do estator e por ltimo originada pela pulsao do campo magntico dos
ms devido s ranhuras do estator.
As trs primeiras causas do origem ao conjugado eletromagntico oscilatrio
enquanto a ltima produz o chamado torque de borda (cogging torque).
Vrias so as tcnicas para reduzir as componentes parasitas do torque, que
podem ser consultadas em [14]-[25].
15
16
a)
2p = 2
d)
N
N
b)
N
N
2p = 6
N
N
S
S
2p = 4
f)
N
2p = 4
N
S
N
d
c)
e)
S 2p = 8
S
q
2p = 8
S
S
N
N
17
18
Captulo 4.
4.1.
Introduo.
Neste captulo ser desenvolvido o modelo matemtico dinmico do motor
4.2.
(referencial d-q). A mquina pode ser representada conforme figura a seguir (Fig. 4.1),
onde as bobinas desenhadas nas direes abc simbolizam o eixo magntico de cada uma
das fases da armadura do estator, enquanto no eixo direto (d) aparece o enrolamento
de campo do rotor, representado pela bobina F. O ngulo entre o eixo d e o eixo da
fase a representado por er , o qual indica a posio relativa entre estator e rotor. A
derivada deste ngulo em relao ao tempo a velocidade angular eltrica do rotor. A
geometria da mquina considerada apresenta apenas um par de plos, mas o modelo
obtido pode ser facilmente generalizado para mquinas com qualquer nmero de plos.
q
a
Rotor
Estator
er
c
F
19
(4.1)
(4.2)
ROTOR
Campo F v F = rF i F +
d F
dt
(4.3)
(4.4)
F = L Fa i a + L Fb ib + L Fc ic + L FF i F
Onde Laa , Lbb , Lcc e LFF representam as indutncias prprias de cada um dos
enrolamentos e as demais so as indutncias mtuas entre dois enrolamentos.
Obtendo-se, desta maneira, uma representao matricial da seguinte forma:
[ ] = [L] [i ]
(4.5)
Lba
[L] =
Lca
L Fa
Lab
Lac
Lbb
Lbc
Lcb
Lcc
L Fb
L Fc
20
LaF
LbF
LcF
L FF
(4.6)
(4.7)
)
3
Lbb = Ll + L0 + L2 cos(2 er +
Lcc = Ll + L0 + L2 cos(2 er
(4.8)
(4.9)
Lbc = Lcb =
Lac = Lca
Lab = Lba
(4.10)
Para as indutncias mtuas entre estator e rotor, isto , entre o estator e o campo
F, representada por M F .
LaF = L Fa = M F cos er
2
)
3
2
+
)
3
LbF = L Fb = M F cos( er
LcF = L Fc = M F cos( er
21
(4.11)
(4.12)
[v ] = T [v ] [v ] = T [v ]
[i ]= T [i ] [i ] = T [i ]
p
dq 0
dq 0
abc
abc
1
p
abc
abc
1
p
dq 0
(4.13)
dq 0
cos er
T p = K sen er
2
2
)
cos( er +
)
3
3
2
2
sen( er ) sen( er + )
3
3
1
1
2
2
cos( er
22
(4.14)
4.2.1.1.
Seleo da constante K.
2
).
3
(4.15)
[ ]
= (T [v abc ]) t (T [i abc ])
t
i dq 0
(4.16)
t
= [v abc ] t T T [i abc ]
T = [I ]
(4.17)
= [T ] t
(4.18)
[T ]
2
3
3
.
2
2
).
3
23
2
.
3
Neste trabalho ser dada preferncia transformao com valores de pico, isto ,
K = 2/3, devido s vantagens descritas anteriormente. Fica ento a matriz de
transformao dada por:
cos er
2
T p = sen er
3
1
2
2
)
cos( er +
)
3
3
2
2
sen( er
) sen( er +
)
3
3
1
1
2
2
cos( er
(4.19)
T p1
cos er
sen er
1
2
2
= cos( er
) sen( er
) 1
3
3
2
2
cos( +
) sen( er +
) 1
er
3
3
24
(4.20)
(4.21)
dT p1
(4.22)
dt
d
d
ou sen
, aps a multiplicao, os termos em
dt
dt
d
, que corresponde velocidade
dt
angular do rotor ( ) .
Ficando a equao reduzida a:
(4.23)
(4.24)
25
(4.25)
0
[LT ] =
0
L Fd
Lq
L0
LdF
L FF
(4.26)
(4.27)
(Lq > Ld )
o valor mximo da
26
(4.28)
3
MF
2
(4.29)
(4.30)
(4.31)
[vdq ] = R [idq ] + [LT ] dtd [idq ] + [idq ] dtd [LT ] + [LT ] [idq ] []
Como explanado anteriormente a matriz
[LT ]
(4.32)
invariantes com o tempo e com a posio, portanto sua derivada nula e a expresso
encontrada :
(4.33)
d
d elet q
dt
d q
dt
+ elet d
(4.34)
(4.35)
27
(4.36)
d
+ Tr
dt
(4.37)
d
+ Tr + T L
dt
(4.38)
d
+ Tr + T L
dt
(4.39)
28
Wcmp ( , )
(4.40)
(4.41)
Graficamente tem-se:
Wcmp
Wcmp
i
I
Fig. 4.2 Representao grfica da Energia e da Coenergia.
(i, )]
[ I Wcmp
elet =
(i, )
Wcmp
(4.42)
= L i di
Wcmp
0
(4.43)
=
Wcmp
1
2 1
Li = i
2
2
29
elet =
t
1
(4.44)
t
1
[L( er )] [i ]abc
[i ]abc
(4.45)
t
1
[ ( er )]
[i ]abc
(4.46)
( )
[ ]
1
elet = n pp i dq
2
[ ]
1
1
T p
T
p dq
(4.47)
d d
elet q
dt
d q
dt
(4.48)
+ elet d
(4.49)
ROTOR
Campo F v F = rF i F +
d F
dt
(4.50)
EQUAO ELETROMECNICA
Telet =
3
n pp d i q q i d
2
30
(4.51)
4.3.
las para o caso especfico do motor sncrono trifsico de ms permanentes com fora
eletromotriz senoidal que foi utilizado no desenvolvimento desta tese.
Este tipo de motor no possui enrolamentos no rotor, tanto o de amortecimento
quanto o de campo, portanto a equao (4.50) no existe no modelo matemtico.
Para produzir o fluxo rotrico, necessrio ao funcionamento, o enrolamento de
campo substitudo pelos ms permanentes e o fluxo magntico destes tem a mesma
direo do eixo direto, semelhante ao fluxo que era produzido pelo campo bobinado.
No havendo relao volt/ampre no rotor o fluxo dos ms permanentes representado
como uma parcela do fluxo enlaado nesta direo.
Matematicamente tem-se:
Td = IP + d
(4.52)
(4.53)
d q
dt
d d
elet q
dt
+ welet d + elet IP
(4.54)
(4.55)
31
EQUAO ELETROMECNICA
Telet =
3
n pp i q ( IP + d ) q i d
2
(4.56)
3
n pp i q ( IP + Ld i d ) Lq i q i d
2
3
n pp i q IP + Ld i q i d Lq i q i d
2
(4.57)
(4.58)
3
n pp i q IP + Ld Lq i q i d
2
(4.59)
d mec
+ Tr + TL = Telet
dt
(4.60)
d mec
3
+ Tr + TL = n pp i q IP + Ld Lq i q i d
dt
2
(4.61)
(4.62)
32
(4.63)
d q
dt
d d
n pp mec q
dt
(4.64)
+ n pp mec d + n pp mec IP
d mec
3
+ B mec + TL = n pp i q IP + Ld Lq i q i d
dt
2
(4.65)
(4.66)
di q
dt
di d
n pp mec Lq i q
dt
(4.67)
+ n pp mec Ld i d + n pp mec IP
d mec
3
+ B mec + TL = n pp i q IP + Ld Lq i q i d
dt
2
(4.68)
(4.69)
Pode-se observar nas expresses (4.64, 4.65, 4.67 e 4.68) que existe um
acoplamento cruzado entre as equaes de eixo direto e em quadratura, pois na terceira
parcela da equao de tenso do eixo d surge o fluxo do eixo em quadratura
33
Captulo 5.
5.1.
Introduo.
O controle por orientao de campo (Field Oriented Control FOC), proposto
por Blaschke [38] baseado na representao das tenses, correntes e fluxo como
vetores espaciais e a transformao de um sistema trifsico variante no tempo em um
sistema de duas coordenadas ( ) , tambm variante no tempo. Posteriormente este
sistema de coordenadas levado a girar com velocidade sincronizada com o rotor num
sistema invariante no tempo. Este novo sistema de coordenadas sncronas (d q ) nada
mais que o clssico sistema de coordenadas utilizado em representao e anlise de
transitrios de mquinas eltricas [2]-[3]. Detalhes da teoria sobre sistemas de
coordenadas podem ser encontrados em [39].
Esta ltima etapa possibilita a transformao do vetor espacial de corrente de um
sistema esttico para um referencial dinmico e assim controlar a relao espacial entre
o vetor de corrente e vetor espacial do fluxo rotrico.
5.2.
(5.1)
ib (t ) = sen (t )
3
(5.2)
ic (t ) = sen (t ) +
3
(5.3)
34
(5.4)
Desde que a soma das trs correntes nula, possvel descrever as grandezas
trifsicas por um vetor espacial complexo com os dois graus de liberdade comentados.
r
i s (t ) = K i a (t ) a 0 + ib (t ) a 1 + ic (t ) a 2
(5.5)
Onde:
K =2/3
(5.6)
2
3
(5.7)
a=e
is
2
a ic
ia
ic
c
(5.8)
Esta representao complexa pode ser realizada atravs das projees do vetor
espacial em um sistema de duas coordenadas. Esta projeo pode ser efetuada
utilizando-se a transformada de Clarke [40].
35
5.3.
V&
&
V
=
K
V&
0
v
a
3
vb
2
1 vc
2
1
2
3
2
1
2
0
1
2
1
2
(5.9)
i (t )
= K
(
)
i
t
3
2
1 i a (t )
ib (t )
3
2 ic (t )
(5.10)
i
is
=a
36
5.4.
(5.11)
(5.12)
i q (t ) sen ( ) cos( ) i (t )
(5.13)
i (t ) sen ( ) cos( ) i q (t )
(5.14)
37
is
iq
d
id
=a
5.5.
orientao de campo. A componente i d sendo uma grandeza de eixo direto seu efeito
magnetizante est centrado nos eixos dos plos dos campos, portanto alinhando esta
componente com o fluxo do rotor ela ser a responsvel pelo fluxo magnetizante,
enquanto a componente em quadratura ( i q ) passa a ser a responsvel pelo torque
produzido pelo motor.
O diagrama apresentado na figura a seguir (Fig. 5.4) mostra a correta posio do
fluxo do rotor alinhado com a componente de eixo direto do vetor espacial da corrente.
is
iq
r
id
d
=a
38
39
+
-
+
-
PI
v*q
IPARK
v*
PI
v*d
v*
SV
PWM
-j
PARK
CLARKE
M
3
Fig. 5.5 Diagrama de blocos do controle por orientao de campo.
Inicialmente duas correntes do motor so medidas, como o enrolamento do
estator do motor conectado em estrela com neutro isolado a terceira corrente obtida
das duas primeiras, ou seja:
i a + ib + i c = 0
(5.15)
ic = (i a + ib )
(5.16)
40
fluxo do rotor e no motor de induo pode-se utilizar, alm deste, o fluxo do entreferro
ou o do estator.
No caso do motor sncrono de ms permanentes o fluxo do rotor fixo,
determinado pelos ms, portanto no h necessidade da referncia de fluxo, isto , a
corrente de referncia i dref deve ser fixa com o valor nulo i dref = 0 . No motor de
induo esta corrente de referncia no ser nula, pois existe a necessidade de se criar o
fluxo de referncia para que o motor opere.
Os sinais de erro aps os comparadores so injetados nos reguladores PI
(proporcional/integral) e a sada destes reguladores so os sinais de tenso de referncia
v dref e v qref , ainda no referencial d-q. Estes valores so a entrada do bloco que realiza
a transformada inversa de Park para obter-se a referncia de tenso nas coordenadas . Estes sinais de referncia so as componentes do vetor espacial de tenso do estator
que deve ser sintetizado pelo inversor.
O bloco que realiza a modulao por largura de pulso do vetor espacial recebe
estas componentes como entrada e fornece como sada os sinais de atuao do drive do
inversor.
Observa-se no diagrama que a transformada de Park, tanto a direta quanto a
inversa, necessita da posio do fluxo do rotor que, no caso do motor sncrono, a
prpria posio do rotor. Esta pode ser obtida por medio, atravs de sensor, ou por
modelos matemtico de estimao.
5.6.
)ea
41
Superfcie Ld = Lq .
A expresso do torque eletromagntico, desenvolvida no captulo 4, para
motores sncronos de ms permanentes dada por:
Telet =
3
n pp i q IP + Ld Lq i q i d
2
(5.17)
(5.18)
3
n pp
2
(5.19)
42
ie
ieq
a
er
IP=Lm.Irf
d
Fig. 5.6 Diagrama fasorial da corrente do estator e do fluxo do rotor do motor com
ms na superfcie.
(5.20)
(5.21)
(5.22)
43
(5.23)
(5.24)
(5.25)
Desta expresso pode-se concluir que o torque varia com o seno do ngulo
= ( er ) , o qual usualmente denominado de ngulo de torque e pode-se afirmar
que o torque ser mximo quando o ngulo de torque for igual a 900.
Substituindo a equao (5.20) na expresso (5.25) obtm-se uma nova expresso
do torque, ou seja:
Telet = K Lm I rf ie sen
(5.26)
44
PI
i*q +
i*q
PI
IPARK
SV
j er
*
id=0
v*
v* PWM
er
i
iq
-j er
id
PARK
ia
ib
ic= -(ia+ib)
CLARKE
ENCODER
M
3~
45
(5.27)
Interior Ld Lq .
As caractersticas de operao destes motores diferenciam-se dos demais em
funo das propriedades magnticas advindas da colocao dos ms no interior do
rotor. Em particular, enterrando-se os ms no rotor introduz salincias no circuito
magntico as quais no esto presentes em outros tipos de mquinas de ms
permanentes [43].
Motor sncrono com ms montados no interior do rotor possui indutncia de
eixo em quadratura diferente da indutncia de eixo direto. Esta caracterstica tem como
efeito direto a produo de torque de relutncia em adio ao torque produzido pela
46
dois
termos
separadamente.
3
n pp i q IP + Ld Lq i q i d
2
encontrados
nesta
expresso
(5.28)
podem
ser
analisados
indutncias Ld Lq .
Portanto, a equao do torque sugere que estas formas construtivas podem ser
interpretadas como uma combinao hbrida dos motores sncronos de relutncia com
os motores com ms montados na superfcie [43].
As salincias do rotor podem ser utilizadas para reduzir o fluxo produzido pelos
ms obtendo-se uma operao adequada em uma faixa mais ampla de velocidade, sem
riscos de danos, com reduo da amplitude da sobre excitao.
O torque eletromagntico tambm pode ser expresso em funo do ngulo de
torque, da corrente do estator e da corrente fictcia do IP [42], ou seja:
Telet =
Ld Lq
3
n pp Ld I rf I e sen +
2
2
2
I e sen (2 )
(5.29)
47
a torque de relutncia positivo com o ngulo na faixa entre 90 e 1800. Deste modo
pode-se afirmar que mximo torque mximo ser alcanado para > 90 o [42].
Nos motores sncronos com ms montados no interior, a fora magneto motriz
produzida pelas componentes de eixo direto e em quadratura da corrente do estator e a
contribuio dos ms permanentes quando somadas tm como resultante uma
distribuio no senoidal [44], mesmo sob condies lineares de operao [41].
Devido permencia magntica elevada na direo do eixo em quadratura, a
densidade de fluxo pode elevar-se na borda do arco polar. Como resultado, os dentes do
estator opostos borda dianteira destes plos so vulnerveis saturao quando se
eleva a corrente de excitao. Para uma dada corrente de armadura, a saturao destes
segmentos dos dentes do estator traz como conseqncia uma reduo da amplitude da
componente fundamental da densidade de fluxo espacial do entreferro e a desloca em
direo ao centro dos plos do rotor. Dos terminais do motor, esta reduo da
componente fundamental do fluxo, aparece como uma reduo das indutncias do
estator, principalmente ao longo do eixo em quadratura [41],[43].
A natureza no linear dos efeitos desta saturao, combinada com a estrutura
saliente do rotor, produz o efeito de acoplamento cruzado no fluxo dos dois eixos
ortogonais [43].
Efeitos magnticos de saturao demandam consideraes em acionamentos que
requisitem preciso de desempenho para operao em baixas velocidades [45]. Devido a
dificuldade de modelagem dos efeitos de saturao, novas propostas tm sido
apresentadas na literatura [44],[46]-[47] para modificar o modelo tradicional da
mquina (modelo nos eixos ortogonais d-q), por modelos que reflitam condies reais,
seja por meio da indutncia dependente da corrente ou por elementos especiais de
acoplamento cruzado [45].
As expresses apresentadas para modelos matemticos do torque so vlidas
somente para baixos valores de corrente do estator para os quais no ocorre saturao
magntica no motor [42].
possvel desenvolver o acionamento controlando-se independentemente as
duas componentes da corrente da armadura, isto , a componente i d responsvel pela
modificao do fluxo no entreferro e a componente i q a qual produz o torque da
mquina. Contudo, a tcnica de controle com a componente de eixo direto mantida igual
a zero uma tcnica tradicional e tem sido usada por longo tempo pois evita o efeito da
48
49
Captulo 6.
6.1.
Introduo.
Neste captulo, sero discutidas as tcnicas de controle do inversor baseadas na
V~
DRIVE
DRIVE
ELO CC
CONTROLE PWM
50
6.2.
51
Na Fig. 6.2 est exemplificado como pode ser feita a gerao de sinais de
chaveamento para uma perna de um inversor.
+
X
Ch1
+
vm
vp
va
Ch2
+
-
Vcc
2
Vcc
+
-
Vcc
2
-
vm
Va
ref
Vp
t
-Va
Vp
ref
Va
va(1)
va
Va (1)
Vcc
2
Vcc
2
-Va (1)
52
(6.1)
(6.2)
(6.3)
(6.4)
53
Vcc
2
Vcc
2
Chaveamento
com onda
quadrada
Sobre
modulao
Modulao
linear
3.24
Vm
Vp
Quando =
(6.5)
2 4 5
,
,
,
e seus mltiplos, tem-se os valores extremos
3 3
3
3
(6.6)
(6.7)
v(1)ref
vm
v(3)ref
4
3
5
3
v ref = 0.866
v(3)ref = 0.167
2
3
de
modulao
de
largura
de
pulso.
Com
desenvolvimento
de
55
2)
S(000)-V0
4)
3)
S(100)-V1
S(110)-V2
5)
S(010)-V3
7)
6)
S(011)-V4
S(001)-V5
8)
S(101)-V6
S(111)-V7=V0
56
Chave a
Chave b
Chave c
Vetor
V0
V1
V2
V3
V4
V5
V6
V7
1 1 0 a
0
1 1 b
1 0
1 c
(6.8)
2 1 1 a
1 2 1 b
1 1 2 c
57
(6.9)
Com as expresses (6.8) e (6.9) pode-se montar a Tabela 6.2, que exibe as
tenses de linha e de fase relacionadas s oito combinaes.
Tabela 6.2 - Estados das chaves do inversor e tenses de sada.
Chaves
Tenses de linha
Tenses de fase
Vab
Vbc
Vca
Va
Vb
Vc
Vcc
-Vcc
Vcc
-Vcc
-Vcc
Vcc
-Vcc
Vcc
-Vcc
Vcc
Vcc
-Vcc
2
Vcc
3
1
Vcc
3
1
Vcc
3
2
Vcc
3
1
Vcc
3
1
Vcc
3
1
Vcc
3
1
Vcc
3
2
Vcc
3
1
Vcc
3
1
Vcc
3
2
Vcc
3
1
Vcc
3
2
Vcc
3
1
Vcc
3
1
Vcc
3
2
Vcc
3
1
Vcc
3
segunda
configurao
(6.10)
Va = Vcc ,
tem-se,
Vb = Vcc
Vc = Vcc ,
correspondendo ao vetor:
j
r
2
V2 = Vcc e 3
3
(6.11)
j (k 1)
r
2
3
Vk = Vcc e
3
k = 1,2...6
58
(6.12)
Forma-se desta maneira um hexgono (Fig. 6.8), composto de seis vetores nonulos, dividido em seis setores. Os dois vetores nulos ficam representados no centro do
hexgono.
(-
1 , 1
) V3 (010)
3
3
V2(110)
1 , 1
)
3
3
Lugar Geomtrico do
vetor de referncia
Vref
V4 (011)
( - 2 ,0
3
V0 (000)
V7(111)
V1(100)
V5 (001)
2 ,0
)
3
V6 (101)
(- 31 , - 1 )
3
1 ,- 1
3
3
Fig. 6.8 Hexgono dos vetores de sada do inversor, nas oito configuraes.
r
Considerando Vref como a tenso desejada, representada no interior do
hexgono por um vetor de mdulo V com ngulo (Fig. 6.8), ela pode ser sintetizada
num intervalo de amostragem Ts . Assumindo que o intervalo de amostragem
suficientemente pequeno, esta tenso aplicada ao motor pode ser considerada constante
neste espao de tempo e dada pela mdia ponderada das tenses obtidas nas seis
configuraes de tal maneira que:
r
r
r
t
t
t r
Vref = 0 V0 + 1 V1 + ...... + 7 V7
Ts
Ts
Ts
(6.13)
t i = Ts
i =1
(6.14)
59
melhorar o contedo harmnico e realizar uma operao com utilizao mxima de cada
estado ativo das chaves, somente os estados de tenso nula e os vetores adjacentes, so
usados. A diferena entre os esquemas, que utilizam vetores adjacentes, a escolha de
qual vetor nulo deve ser utilizado e a seqncia dos vetores a serem empregados num
perodo de chaveamento.
A seleo de um determinado algoritmo pode ser feita atravs das opes:
Escolha do vetor nulo, podendo-se utilizar o vetor V0 ou o vetor V7 ou ambos.
Escolha da seqncia de vetores.
Diviso do ciclo de trabalho dos vetores sem introduzir comutao adicional.
Com estas opes, pode-se obter seqncias de chaveamento assimtricas
alinhada esquerda ou direita, ou simtrica.
6.2.3.1.
Seleo da Seqncia.
O melhor desempenho, dentre as seqncias de chaveamento possveis, obtido
quando se comuta apenas uma perna do inversor por vez. A figura a seguir (Fig. 6.9)
mostra as possibilidades de transio entre uma configurao e outra. Cada seta
representa somente uma comutao entre estados distintos. Por exemplo, a alterao da
configurao V1 para V2 necessita apenas uma comutao, enquanto na passagem do
estado V1 para a configurao V7 so necessrias duas comutaes e para o estado V4
pelo menos trs.
v3
v2
0
1
0
1
1
0
Vetores
nulos
v4
v1
0 1 1
1 1 1
0 0 0
0
0
1
1
0
1
v5
v6
1 0 0
60
6.2.3.2.
Esta implementao realizada com seqncia simtrica com dois vetores nulos,
alm das caractersticas descritas anteriormente, ele apresenta as seguintes propriedades
em termos de programao:
Cada canal de PWM, do processador de sinais, comuta duas vezes em todo perodo
de amostragem, exceto quando o ciclo de trabalho de 0% ou 100%.
Em cada setor, a ordem da seqncia de chaveamento fixa entre os trs canais do
PWM.
Todo perodo do PWM inicia com o vetor
V0 (000).
61
foi utilizado nos trabalhos prticos, em que o mesmo vetor definido pelas suas
componentes no sistema de coordenadas estticas -.
Atendendo o critrio de tima performance de modo que cada comutao seja
realizada em uma nica perna de cada vez, o programa utiliza direes diferentes de
comutao ou de utilizao dos vetores ativos em cada setor.
Desta maneira so obtidas as seqncias de chaveamento mostradas na Fig. 6.10,
onde se nota que uma seqncia aplicada at metade do ciclo e sua inverso no
complemento do perodo.
V0
V1
V2
V7
V2
V1
V0
sa
sa
sb
sb
sc
sc
T0
4
T1
2
T2
2
T0
2
T2
2
T1
2
T0
4
V0
V3
V2
V7
V2
V3
V0
T0
4
T1
2
T2
2
T0
2
T2
2
T1
2
T0
4
Setor I
V0
V3
V4
V7
Setor II
V4
V3
V0
sa
sa
sb
sb
sc
sc
T0
4
T1
2
T2
2
T0
2
T2
2
T1
2
T0
4
V0
V5
V4
V7
V4
V5
V0
T0
4
T1
2
T2
2
T0
2
T2
2
T1
2
T0
4
Setor III
V0
V5
V6
V7
Setor IV
V6
V5
V0
sa
sa
sb
sb
sc
sc
T0
4
T1
2
T2
2
T0
2
T2
2
T1
2
T0
4
Setor V
V0
V1
V6
V7
V6
V1
V0
T0
4
T1
2
T2
2
T0
2
T2
2
T1
2
T0
4
Setor VI
Fig. 6.10 Seqncia de chaveamento e estados das chaves com os sinais obtidos em
todos os sextantes.
62
6.2.3.3.
T
1
= s
2 fs
2
(6.15)
(6.16)
T
T = s = T0 + Tk + Tk +1
2
(6.17)
Onde:
T representa meio perodo de amostragem.
T0 representa metade do tempo total de aplicao dos vetores nulos.
r
Tk representa metade do ciclo de trabalho do vetor ativo Vk .
k indica o setor em que se encontra o vetor de tenso de referncia.
r
r r
r
r
Sabendo-se que V0 = V7 0 , que Vk e Vk +1 so vetores constantes e
r
assumindo que Vref pode ser considerado constante durante o perodo de amostragem,
tem-se:
r
r
r
Vref T = Vk Tk + Vk +1 Tk +1
(6.18)
(k 1)
cos
2
3
T = Vcc
(
k
1)
3
sen
k
cos
k
sen
T
k
Tk +1
(6.19)
63
k
k ref
cos
sen
Tk
3
3
= 3 Ts
2 Vcc
(k 1)
(k 1) ref
Tk +1
cos
V
sen
3
3
(6.20)
O tempo total dos vetores nulos obtido da relao (6.17), de tal modo que:
T
T0 = s (Tk + Tk +1 )
2
(6.21)
Este tempo total do vetor nulo pode ser dividido de maneira arbitrria entre os
dois vetores nulos. A mtodo mais comum dividi-lo igualmente entre os vetores
V0 (000) e V7 (111) conforme mostrado na Fig. 6.10.
A ttulo de exemplo, considere-se que o vetor espacial de referncia que se
deseja sintetizar descreve uma trajetria circular com velocidade constante ,
representando um sistema equilibrado e simtrico de tenses senoidais. No referencial
estacionrio (-), pode-se escrever:
r
r
r
Vref = Vref e jwt = Vref [cos(wt ) + j sen( wt )]
(6.22)
k
k
sen
cos
Tk
cos( wt )
r
3
3
= 3 Ts V
ref
2 Vcc
(
)
(
)
1
1
k
k
Tk +1
sen
cos
sen(
)
wt
3
3
(6.23)
0.5
va( wt )
0.5
0.866
1.05
2.09
3.14
wt
4.19
5.24
6.28
2
64
6.2.3.4.
Operao Linear.
max
2
3 Vcc
2
=
Vcc cos = Vcc
3
2
6 3
3
(6.24)
2
Vcc ), define-se o ndice de
Vref
Vmax 6P
(6.25)
Vcc
3
3
=
=
= 0,906
m=
2
6
2
3
Vcc
(6.26)
65
6.2.4.1.
As
Bs
Cs
M
~
Vcc
AI
i*a
i*b
BI
CI
+i
+i
+i
-i
-i
-i
ia
i*c
ib
ic
66
ix medida
Onde x = a,b,c
ix* + ix*
t
ix*
i*x ix*
va
0
As aberto
Ai fechado
As fechado
Ai aberto
6.2.4.2.
67
is*
Vs*
Vb
2
3
Va
Vc
is
Vs
is
Vtri
M
3
6.2.4.3.
68
6.2.4.4.
s
i*s
is
0
dik
di
Re
Fig. 6.15 Limite circular e vetores espaciais para o controle de corrente preditivo.
69
chaveamento, o estado que permanece por maior tempo ligado ser selecionado a cada
intervalo de amostragem, de modo a manter o vetor de corrente no interior do crculo.
O algoritmo que determina o estado timo de chaveamento produz um atraso no
controle, porm em acionamentos com baixa freqncia de chaveamento este atraso
tolervel. Por isto esta tcnica de modulao mais atrativa para aplicaes em
acionamentos de alta potncia onde a freqncia de chaveamento, em geral, para evitar
perdas de chaveamento, situa-se abaixo de 1kHz. Em acionamentos com alta freqncia
de chaveamento deve-se empregar o mtodo que realiza dupla predio [6].
Este mtodo apresenta duas dificuldades prticas de implementao: a primeira
a necessidade de calcular a possvel trajetria futura da corrente para todos os estados
das chaves do inversor a cada intervalo de amostragem e a segunda a necessidade de
conhecer o valor instantneo da f.e.m. do motor que utilizada para otimizar o mtodo.
Nabae et al [65] apresentam um mtodo de reduzir o tempo computacional desta
tcnica, atravs da seleo do estgio que apresenta a menor taxa de variao da
corrente com tempo, ou seja, menor di
dt
6.2.4.5.
Trata-se de outro mtodo de controle de corrente proposto por Holtz [66], onde o
autor leva em considerao que mtodos de otimizao off-line so realizados em um
perodo fundamental, porm com baixa performance dinmica devido a sua
aplicabilidade somente em regime permanente. Por outro lado, a otimizao on-line
realizada para o prximo ou no mximo os prximos dois instantes de comutao, e
apesar da tima performance o mtodo falho quando se necessita de chaveamento
sincronizado para eliminar subharmnicos. A combinao dos dois mtodos, utilizando
a otimizao off-line para regime permanente e a otimizao on-line para operao
transitria, explora as vantagens de ambos os mtodos [67]. Maiores detalhes da
aplicao deste mtodo pode ser encontrado em [6], onde apresentado uma variante
que otimiza a resposta dinmica e a preciso da tcnica com a introduo de um canal
paralelo de controle [68].
No presente trabalho foi desenvolvida a modulao por vetor espacial com
realimentao de corrente. As correntes medidas so transformadas para um referencial
sncrono e o controle, para injeo de corrente, realizado por meio de reguladores PI
70
com limitao dos sinais de sada. Esta sada do PI serve como referncia para a
modulao por vetor espacial, conforme item 6.2.3.
Com exceo da tcnica de controle por banda de histerese (item 6.2.4.1), a qual
necessita da instalao de comparadores, todas as demais tcnicas podem ser
implementadas na bancada proposta.
71
Captulo 7.
7.1.
Introduo.
O conhecimento da posio e da velocidade rotrica condio bsica e
necessria nos controles mais empregados nestas mquinas, quais sejam, controle de
corrente, torque ou posio.
Para executar as transformaes de coordenadas essencial o conhecimento da
posio do rotor continuamente ou a cada intervalo de tempo de amostragem.
Em mquinas sncronas o torque somente pode ser produzido quando a
excitao est precisamente sincronizada com a velocidade ou freqncia do rotor e sua
posio instantnea [69].
Na maioria das aplicaes, a posio do rotor obtida atravs da utilizao de
sensores de posio do tipo encoder (gerador de pulsos digitais), tanto o incremental
como o absoluto, ou resolver eletromagnticos, com seus sinais de seno e coseno.
A aplicao destes equipamentos apresenta alguns inconvenientes, tais como:
Custos adicionais.
Incremento da massa total do motor e com isso da inrcia do conjunto.
Maior dispndio com manuteno.
Acarretam alteraes no projeto construtivo devido adequao para montagem.
imprescindvel fonte de alimentao e maior nmero de ligaes eltricas.
Necessidade de anlise das condies ambientais a que estaro expostos ou que
possam ficar sujeitos, tais como, riscos de impacto, vibraes, intempries e
interferncia eletromagntica.
Fragilidade e baixa imunidade a rudos e assim reduzida confiabilidade.
Na dcada de 90 houve um aumento substancial na pesquisa com o intuito de
eliminao de sensores fsicos, mesmo os no invasivos, surgindo, em seu lugar, vrias
tcnicas chamadas de operao sem sensores (sensorless). A necessidade de medir
parmetros da mquina continua existindo, pois de fato este tipo de procedimento
implica em utilizar sensores mais integrados ou com melhor disponibilidade para
estimar variveis que so menos disponveis ou com menor facilidade de integrao
com o equipamento. Efetivamente, tais mtodos so baseados em utilizar metodologias
de estimao em substituio ao sensores [70].
72
7.2.
Tcnicas de estimao.
Conquanto o aprimoramento alcanado nas recentes pesquisas desenvolvidas,
73
74
7.2.1.1.
De uma maneira geral este mtodo calcula a posio do rotor num sistema de
coordenadas - no referencial do estator [77]-[78].
As equaes de um motor sncrono de ms permanentes montados na superfcie
di
K e sen ( r )
dt
di
dt
+ K e cos( r )
(7.1)
(7.2)
di
dt
K e cos( r )
(7.3)
(7.4)
(7.5)
(Ld Lq ),
estimados da mquina.
Um mtodo para reduzir os efeitos dos parmetros do motor foi proposto por
Schroedl [79], desprezando-se a resistncia da armadura.
Para mitigar o problema causado pela reduzida amplitude da tenso induzida em
baixas velocidades pode-se utilizar o mtodo da integrao da fora eletromotriz, onde
realizada a integral da f.e.m. para obter o fluxo estimado.
Em [1] foram utilizados os
75
di
+e
dt
(7.6)
Atravs dessa equao fica ntido que conhecendo os parmetros do motor como
resistncia de fase e indutncia de disperso de fase e medindo-se as correntes e as
tenses obtm-se indiretamente a fora eletromotriz pretendida.
Com o conhecimento das formas de onda da f.e.m. de cada fase podem-se
determinar alguns pontos caractersticos em cada perodo, destas tenses induzidas, tais
como os cruzamentos por zero e os pontos de cruzamento entre si.
Utilizando um procedimento de alinhamento do rotor com uma das fases, antes
da partida do motor, pode-se estimar a posio do rotor em cada um destes pontos.
Esta ltima tcnica apresenta como desvantagens a vulnerabilidade quanto
variao dos parmetros da mquina; a disponibilidade de poucos pontos por ciclo, o
que leva necessidade de tcnicas complementares para estimao dos demais pontos; a
impossibilidade de aplicao com o motor parado, isto , no momento da partida, por
no haver ainda gerao de f.e.m.; e performance inadequada em baixa velocidade.
76
is
(7.7)
= v R i dt
(7.8)
i=
=
(7.9)
(7.10)
2
va + a vb + a 2 vc = v + j v
3
2
ia + a ib + a 2 ic = i + j i
3
2
a + a b + a 2 c = + j
3
77
(7.11)
Considerando que num motor trifsico com neutro isolado e tenses equilibradas
tem-se, tambm as seguintes relaes:
va + vb + vc = 0
(7.12)
ia + ib + ic = 0
(7.13)
i =
1
3
(v a + v b )
(7.14)
(7.15)
i = ia
(7.16)
1
(ia + 2 ib )
3
(7.17)
Substituindo estas equaes nas expresses (7.7) e (7.8), obtidas para o enlace
de fluxo, encontram-se as componentes do vetor espacial do fluxo do estator.
1
= (v a v c ) (R i a ) dt
3
1
3
[(v a + vb ) + R(i a + 2 ib )] dt
(7.18)
(7.19)
A posio do vetor espacial do enlace de fluxo pode ser, ento, obtida atravs de
suas componentes por:
= tan 1
(7.20)
78
79
Lq
Ld
elevada).
v a R ia ea
di a
dt
80
(7.21)
d r
dt
(7.22)
d r
a variao da posio do
dt
rotor, a qual pode ser obtida entre dois perodos consecutivos de amostragem.
Portanto atravs da leitura das correntes e das tenses de fase obtm-se a
indutncia, de posse desta, compara-se com os valores pr-calculados em funo da
posio do rotor e obtm-se esta posio.
As desvantagens deste mtodo residem na necessidade de uma tabela com alto
grau de preciso quando se requer sensibilidade no controle de posio e velocidade,
deve-se ter uma boa estimativa dos parmetros da mquina para clculo da indutncia,
pois o mtodo dependente da variao destes parmetros, especialmente das variaes
causadas por efeitos de saturao magntica.
Considerar a fora eletromotriz e a indutncia constante em um perodo de
chaveamento tambm conduz a erros de estimao que podem ser reduzidos utilizandose um controle com alta freqncia de chaveamento.
7.2.4.2.
Lq
Ld
81
alta freqncia fica modulado pelas salincias da mquina. Esta modulao vista dos
terminais do motor, em alta freqncia, alinhada com a posio do rotor.
A tcnica empregada com a seguinte metodologia, descrita de modo
simplificado.
Aplicando-se um sinal de amplitude e freqncia conhecida a resposta detectada
proporcional diferena entre a posio atual e a posio estimada. O sinal de erro da
posio deve ser a entrada de um controlador proporcional integral (PI) cuja sada ser a
velocidade estimada. A posio obtida pela integrao desta velocidade. Este mtodo,
baseada no erro de posio, robusto quanto a rudos e limitaes da converso
analgica/digital, porm este erro uma varivel incremental que se modifica
lentamente em relao freqncia de amostragem.
Uma variao desta metodologia demodular o sinal injetado, porm esta opo
leva a um incremento no tempo de processamento devido complexidade da
implementao. Contudo reporta-se uma condio menos crtica em face resoluo,
pois a tcnica anterior implementada em relao a um erro e no ao ngulo
propriamente dito [86].
A tcnica de injeo de sinal auxiliar em alta freqncia tanto pode ser realizada
com aplicao de tenso e monitoramento da corrente quanto com injeo de corrente e
medio da tenso. Obviamente a primeira opo requer sensores de corrente os quais,
de modo geral, j so utilizados em controle por orientao de campo, evitando-se,
assim, sensores extras para monitoramento da tenso.
Uma grande vantagem desta tcnica a sua independncia da variao dos
parmetros da mquina e aplicabilidade em baixa velocidade.
Alm da opo de injetar corrente ou tenso, existem diversa variantes destas
tcnicas, que podem ser divididas em dois grupos.
No primeiro grupo a tcnica realizada com alta freqncia podendo ser sinal de
fonte auxiliar ou contida na prpria modulao por largura de pulso.
Utilizar a alta freqncia da modulao PWM foi proposto por Ogasawara e
Akagi [87]-[88]. Uma proposta similar encontrada em [89]
onde os autores
82
rd
r
d
r = +
Fig. 7.2- Lugar geomtrico das correntes e posio dos eixos d-q do rotor.
83
equivale a uma realimentao da sada que faz com que os estados estimados convirjam
84
= elet i d
(7.23)
r
1
1
iq +
vq
elet IP
Lq
Lq
Lq
(7.24)
d r
dt
(7.25)
d elet
=0
dt
(7.26)
elet =
(7.27)
(7.28)
Onde:
iq
r T
elet
vq
vvel
]T
iq
]T
(7.29)
85
Estgio 1
Estgio 2
PREDIO
CORREO ou FILTRAGEM
xk = A xk 1 + B uk 1
Kk = Pk HT H Pk HT + R
2) Atualizao da Estimao
priori
Pk
x k = x k + K k y k H x k
= A Pk 1 A + Q
Estimao Inicial
x k 1 e Pk -1
Fig. 7.3 Algoritmo completo do filtro de Kalman.
Para obter valores estimados confiveis o filtro de Kalman necessita ser ajustado
e este ajuste envolve uma busca iterativa por matrizes de covarincias que produzam as
melhores estimaes. Contudo, analisando-se as equaes verifica-se que nenhuma
variao nos parmetros do motor compensada pela malha inerente ao filtro. Caso isso
seja necessrio deve-se recorrer a algum mtodo adaptativo para atualizao de
parmetros.
86
w(k)
v(k)
u(k)
B(k)
-1
x(k)
C(k)
y(k)
+
A(k)
B(k)
+
+
-1
^x(k)
C(k)
^
A(x)
Estimador - EKF
^y(k)
e(k)
87
(7.30)
vc
vb
b
q
ib
va
ia
a
88
d
=
q
cos c
2
3
sen c
a
2
2
cos( c )
cos( c + )
3
3
b
2
2
sen( c ) sen( c + )
3
3 c
(7.31)
v R +
dt
=
d
c
v L
dt
d c
i
sen
dt
d
+ KE
dt
dL
i
cos
R+
dt
(7.32)
Onde:
R a resistncia dos enrolamentos do estator.
L =
3
Le , onde Le a indutncia de disperso por fase do estator.
2
d c
a velocidade do rotor assumida.
dt
KE =
3
IP , a constante da f.e.m. induzida aps a transformao.
2
(7.33)
Onde:
K T a constante de conjugado.
A velocidade e posio podem ser, ento, estimadas atravs de um algoritmo
estimador utilizando as correntes e tenses. As corrente so obtidas por um sensor de
corrente enquanto as tenses no precisam ser medidas, podem ser calculadas usando
informao da estrutura do PWM, da tenso do elo CC e o tempo morto.
Os dois mtodos desenvolvidos pelo autor esto apresentados a seguir.
89
d c d
=
, ou seja, o erro angular nulo e a
dt
dt
velocidade estimada igual real. Deste modo a equao do modelo de tenso pode ser
escrita baseada na equao (7.32).
v M
v M
dL
R +
dt
=
d
L
dt
d
i
0
dt
d
+ KE
dt
dL
1
R+
i
dt
(7.34)
A velocidade estimada pode ser obtida da equao (7.34), de tal forma que:
dL
v M (R +
)
d est
dt
=
dt
K E + L i
(7.35)
(7.36)
(7.37)
d
K E sen
dt
(7.38)
( 0)
e que a
d
K E
dt
90
(7.39)
( )
d c
deve ser diminuda.
dt
d c
deve ser aumentada.
Se v < 0 ( < 0 ) , ento
dt
d c
deve ser aumentada.
dt
d c
Se v < 0 ( > 0 ) , ento
deve ser diminuda.
dt
A expresso da velocidade hipottica obtida deve ser corrigida, de acordo com o
Se v > 0 ( < 0 ) , ento
d
= sgn e K P v + K I v dt
dt
(7.40)
Onde:
K p e K I so os ganhos proporcional e integral do regulador, respectivamente.
Utilizando esta velocidade corrigida pode-se obter a expresso para a
velocidade, isto :
d c d est d correo
=
+
dt
dt
dt
(7.41)
91
i
v R
d 1
=
dt L d c
i
v L
dt
d c
i
sen
dt
cos
R
i
(7.42)
d
dt
= + d T
n +1 n dt
i
i i
(7.43)
i
v R
d 1
=
dt L d c
i
v L
dt
d c
i
dt
ec
R
i
0
1
(7.44)
= + d
T
n +1 n dt
iM i
iM
92
(7.45)
M
=
=
(7.46)
i n +1 i n +1 i n +1 T e
M
=
=
+1
+1
n
n
i
i
iM n +1 L (e ec )
(7.47)
(e ec ) .
ec n+1 = ec K e i n
(7.48)
(7.49)
n +1
est
d est
= est
T
dt
(7.50)
93
x& = Ax + Bu
(7.51)
y = Cx + Du
(7.52)
Onde:
x o vetor de estados, isto , o estado fsico.
u o vetor de entradas.
y o vetor de sadas.
Para um controle efetivo do sistema desejvel ter o vetor de estado x completo
como realimentao para o controlador. Porm, de fato, nem sempre factvel medir
todas as grandezas do sistema fsico, ento se faz necessrio estimar os estados no
medidos.
A utilizao de ganhos de realimentao, aplicados sobre a diferena entre os
estados medidos e os seus correspondentes estados estimados, pode ser usada para
forar o estado estimado a seguir o estado atual. Esta foi a idia introduzida por
Luenberger.
As equaes de estado de um observador em malha fechada esto apresentadas a
seguir e respectivo diagrama de blocos apresentado na Fig. 7.6.
x& = A x + B u + K ( y y )
(7.53)
y = Cx
(7.54)
94
Sistema Fsico
D
u
u
+
B
K
D
+
^
x
x^
^y
A
x^
Observador
Malha Fechada
x& a Aaa
x& = A
b ba
Aab x a Ba
+
u
Abb xb Bb
y = [I
x
0] a
xb
(7.55)
(7.56)
95
(7.57)
(7.58)
(7.59)
(7.60)
^x = Ax + Bu
y = Cx + Du
y
+
Observador
x^
^
^
x = Ax^ + Bu + K(y - y)
y = Cx + Du
y^
= x b K x a
96
(7.61)
(7.62)
(7.63)
(7.64)
(7.65)
+ (Bb K Ba ) u K Aab
(7.66)
A varivel que se deseja observar ( xb ) pode ser obtida pela integral da equao
(7.66) aplicada na expresso (7.61), de tal modo que:
x b = & K x a
(7.67)
[A] e [B] .
Mltiplos so os artigos publicados que apresentam o uso de observadores de
estado, para aplicao em motores sncronos de ms permanentes, em acionamentos
sem sensor de posio, utilizando tcnicas, medies e topologias variadas. Por
exemplo, Kim e Sul [104] descrevem a utilizao de um observador de ordem reduzida
para estimar a fora eletromotriz. Uma avaliao de um observador de ordem reduzida
com o motor modelado em coordenadas estticas apresentado em [105]. Um
observador do fluxo magntico, para acionamentos em baixssimas velocidade,
utilizando medio direta das tenses do estator e com o modelo do motor sncrono
97
98
99
100
Captulo 8.
8.1.
IMPLEMENTAO PRTICA.
Introduo.
A implementao da bancada de acionamento e controle de motores sncronos
8.2.
101
Trans.
Sinal
Entrada do
Transdutor
Sada do
Transduto
r
6,4A
4,5V
A/D
offset
3,3V
Q10
0
-6,4A
0,5
- Q10
<<5
Deslocamento
de 5bits
esquerda
Q15
0
- Q15
102
Transformao de coordenadas.
De posse dos valores das correntes de fase no referencial abc, devidamente
ajustados, estes so convertidos para um sistema esttico de duas coordenadas (-),
atravs da transformada de Clarke.
A etapa seguinte uma nova transformao de coordenadas, para um referencial
girante, porm para efetuar esta transformao, torna-se necessrio conhecer a posio
do rotor, isto , o ngulo er .
A posio do rotor obtida por meio de um gerador de pulsos digital (encoder
incremental) acoplado ao motor.
No programa fonte o valor lido no contador do TIMER2 (T2CNT), que ser
utilizado pra cculo de er , est multiplicado por 24, pois o timer foi programado no
modo up/down com um perodo de 4.095 (T2PR = [(1024*4)-1]). Quando o contador
atingir este valor (4095) o encoder ter realizado metade de um giro, ou seja, 1800.
Considerando que, no programa que executa a transformada de Park e na tabela dos
valores pr-calculados do seno, 1800 corresponde a 32.768 (0x8000h), o valor do
contador precisa ser multiplicado por 8. Finalmente para obter er em ngulos eltricos
torna-se necessrio multiplicar pelo nmero de par de plos do motor utilizado
(n pp = 3) .
( )
103
60
rpm
1.024 T
(8.1)
Onde:
T = 33,9ns o perodo de clock do contador, que foi feito igual ao do DSP).
a diferena entre contagens sucessivas, obtidas pela captura.
Com esses valores escolhidos, a velocidade medida ser mxima quando for
mnimo, ou seja, quando a diferena entre duas interrupes de captura for unitria e o
seu valor ser:
max =
60
60
=
= 1.728.000 rpm
1.024 T 1 1.024 33,9 10 9 1
(8.2)
Contudo, pode-se demonstrar que o valor medido ter uma incerteza dada em
p.u. por = (1)-1. Assim, a medida ter uma preciso melhor que 1% para
velocidades inferiores a aproximadamente 17.280 rpm. Por outro lado, o maior valor de
admitido pelo contador de 16 bits do circuito de captura de 216, o que corresponde a
um limite inferior de velocidade de aproximadamente 26 rpm.
De 8.5 e 8.6, pode-se calcular a velocidade como:
=
max
(8.3)
max 1
base
(8.4)
( )
104
(8.5)
A velocidade base selecionada foi de 6.750 rpm, com esta seleo obtm-se
max 1.728.000
=
= 256 = 28 .
6.750
base
Substituindo os valores apropriados em (8.5), encontra-se:
pu _ Q15 = 2 8 215
1 2 23
=
(8.6)
(8.7)
d (t ) = k p e(t ) + k i e( ) d
(8.8)
(8.9)
105
19,53
ki
1220,70
Regulador de Corrente
kp
0,1328
ki
3,967
106
8.3.
Partida do Motor.
A partida de um motor sncrono de ms permanentes diferencia-se da partida de
outros tipos de motores, pois com os ms no rotor o motor j possui fluxo magntico e
ainda no se tem informao da posio do rotor e, portanto, produzir campo rotativo
aplicando-se correntes no estator numa posio arbitrria pode levar a uma reverso
momentnea da velocidade ou mesmo a uma falha na partida [99].
Os mtodos de partida, encontrados na literatura, podem ser resumidos em:
Partida com Sensor Auxiliar feita com a utilizao de um sensor auxiliar, para
indicar a posio inicial do rotor.
Controle por malha aberta [128] - a partida do motor realizada em malha aberta e
somente aps o alcance de uma certa velocidade, na qual a estimao da posio do
rotor possvel ser calculada com confiabilidade, o controle passa a ser feito em
malha fechada.
Configurao Especfica de Pulsos [129] Neste tipo de partida, uma configurao
especfica dos tiristores do inversor aplicada e repetida vrias vezes em pequenos
intervalos de tempo, at alcanar o alinhamento do rotor com a fase alimentada. O
inversor, assim, atua como um chopper com baixo fator de trabalho.
Partida arbitrria [100],[130] Aqui, em vez de uma configurao especfica,
utilizada uma configurao arbitrria nos tiristores, possvel a ocorrncia de
reverso de velocidade temporria e em casos extremos a partida pode no ser
alcanada.
Partida de Motor de Plos Salientes [131] Este mtodo de partida baseada no
fato de que num motor de plos salientes a indutncia funo da posio do rotor.
Operando o inversor como um chopper e aplicando-se pulsos retangulares de tenso
com fator de trabalho longo e curto e analisando o efeito da saturao magntica
pode-se concluir qual fase est alinhado com um dos plos. Para maiores detalhes
pode-se consultar tambm a referncia [2].
Dentre os tipos de partida descritos foi selecionado a do mtodo de aplicao de
uma configurao especfica de pulsos, com pequenas modificaes. A escolha foi
devido metodologia no implicar em equipamento adicional, ser suficientemente
confivel e pela simplicidade do algoritmo.
A implementao executada atravs da chamada em C da funo
alinhamento, desenvolvida no programa fonte, e traduz-se em aplicar tenso em uma
107
das fases por um perodo determinado de tempo, atravs de uma configurao especfica
dos transistores, at que ocorra o alinhamento de um dos plos com a fase alimentada,
neste instante atribudo o valor nulo ao ngulo entre estator e rotor. Este procedimento
possibilita ajustar a posio especfica do rotor a menos de pequeno erro desprezvel.
A funo alinhamento executa um algoritmo, de tal modo que o transistor
superior da fase a conduz durante metade do ciclo normal de trabalho, ou metade do
perodo do PWM (2,5kHz), por um perodo de tempo pr-estabelecido, isto , at que se
d o alinhamento do fluxo do rotor com o fluxo da fase alimentada.
Aps o alinhamento, o motor inicia o funcionamento, pois, a varivel que
representa a tenso de referncia ( v q ) inicializada com um valor constante, injetandose, assim, corrente na armadura do motor, produzindo o fluxo magntico girante
necessrio ao torque de arranque.
Na figura seguinte (Fig. 8.2) encontra-se o diagrama de blocos do controle
implementado com utilizao dos sinais do encoder para determinar a posio do rotor.
108
8.4.
1200
0.4
1000
0.3
Corrente (pu)
Velocidade (rpm)
800
600
0.2
0.1
400
200
-0.1
-0.2
0.2
0.4
0.6
0.8
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
T emp (s)
T empo (s)
Nas figuras a seguir (Fig. 8.5 e Fig. 8.6) esto as componentes da corrente de
eixo direto e em quadratura. Nota-se que apesar da referncia nula da componente i d ,
esta apresenta valores diferentes de zero devido ao acoplamento cruzado, apresentado
no modelo matemtico do motor equaes (4.67) e (4.68).
Corrente I - 1200 rpm
0.6
0.5
0.5
Corrente (pu)
Corrente (pu)
0.4
0.3
0.2
0.1
-0.5
0
-0.1
0
0.2
0.4
0.6
0.8
-1
T empo (s)
0.2
0.4
0.6
0.8
T empo (s)
109
0.5
Corrente (pu)
Corrente (pu)
0.5
-0.5
-1
-0.5
0.2
0.4
0.6
0.8
-1
0.2
0.4
T empo (s)
0.6
0.8
T empo (s)
Corrente I
I
q
I ref
q
E rro de I
Corrente (pu)
0.5
-0.5
-1
0.2
0.4
0.6
0.8
T empo (s)
Tenso V
0.3
alfa
Posio do rotor
de referencia
400
360
300
0.2
Tenso (pu)
0.1
0
-0.1
-0.2
-0.3
-0.4
0.05
0.1
0.15
0.2
0.25
Tempo (s)
0.3
0.35
200
100
0
-100
-200
-300
-360
-400
0
0.4
0.05
0.1
0.15
0.2
0.25
0.3
0.35
T empo (s)
110
0.4
1800
800
1700
600
400
1600
200
1500
0
1400
-200
1300
-400
1200
-600
1100
0.4
0.45
0.5
0.55
-800
0.4
0.6
0.45
T empo (s)
0.5
0.55
0.6
T empo (s)
Corrente de fase
3000
0.5
2700
2500
0.4
Corrente (pu)
Velocidade (rpm)
0.3
2000
1500
1000
0.2
0.1
0
-0.1
500
0
-0.2
0.2
0.4
0.6
0.8
-0.3
0
0.05
0.1
T empo (s)
0.4
300
0.4
Corrente (pu)
0.35
400
360
I
q
I ref.
0.6
0.2
0
-0.2
-0.4
-0.6
200
100
0
-100
-200
-300
-0.8
-1
0.3
Posicao do rotor
0.8
0.25
Correntes I e I de referencia
q
0.2
T empo (s)
0.15
0.2
0.4
0.6
0.8
-360
-400
0
T empo (s)
0.05
0.1
0.15
0.2
0.25
0.3
0.35
T empo (s)
111
0.4
As formas de onda a seguir (Fig. 8.18 Fig. 8.20) mostram a operao com
acelerao de 1.200 para 2.200 rpm.
Velocidade com acelerao
2500
Corrente de fase
0.3
2200
0.2
0.1
Corrente (pu)
Velocidade (rpm)
2000
1500
1200
1000
0
-0.1
-0.2
500
-0.3
0
0.2
0.4
0.6
0.8
-0.4
0.2
0.3
0.4
T empo (s)
0.5
0.6
0.7
0.8
T empo (s)
T enso V
0.5
alfa
de referncia
0.4
0.3
T enso (pu)
0.2
0.1
0
-0.1
-0.2
-0.3
-0.4
-0.5
0.3
0.35
0.4
0.45
0.5
0.55
0.6
0.65
T empo (s)
1500
0.5
1200
1000
0.4
Corrente (pu)
Velocidade (rpm)
0.3
500
0
-500
0.2
0.1
0
-0.1
-1000
-1200
-1500
0
-0.2
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
-0.3
0
T empo (s)
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
T empo (s)
112
0.8
0.8
0.6
0.6
0.4
0.4
Corrente (pu)
Corrente (pu)
Correntes I e I de referncia
0.2
0
-0.2
-0.4
0.2
0
-0.2
-0.4
-0.6
-0.6
-0.8
-0.8
-1
0.2
0.4
0.6
0.8
-1
0.2
0.4
T empo (s)
0.6
0.8
T empo (s)
Corrente I na reversao
d
0.5
400
360
300
0.4
Corrente (pu)
0.3
0.2
0.1
0
-0.1
-0.2
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
200
100
0
-100
-200
-300
-360
-400
0
0.1
0.2
0.3
0.4
T empo (s)
0.5
0.6
0.7
0.8
0.9
T empo (s)
1600
2500
1400
2000
Velocidade (rpm)
Velocidade (rpm)
1200
1000
800
600
400
200
1500
1000
500
0
0
0.5
1.5
2.5
3.5
T empo (s)
0.5
1.5
2.5
3.5
T empo (s)
Fig. 8.27 Velocidade com referncia Fig. 8.28 Velocidade com referncia
senoidal de 2Hz e amplitude de 200rpm.
em degrau de 500rpm a cada 0,5seg.
113
8.5.
d mec
3
+ B mec = n pp mec IP i q
dt
2
(8.10)
(8.11)
u q = v q n pp mec Ld i d
(8.12)
R n pp IP
1
mec +
uq
Lq
Lq
Lq
(8.13)
(8.14)
114
Lq
dt =
d mec 3 n pp IP
J
dt 2
n pp IP
1
iq
Lq
+ Lq u
mec 0
J
(8.15)
x& a Aaa
x& = A
b ba
Aab x a Ba
+
u
Abb xb Bb
(8.16)
(8.17)
mec = D0 + H 0 i q
(8.18)
dt
Lq
n pp IP
iq
(8.19)
d
1
B
+
= p 0 + + p 0
dt
J
n
pp
IP
Lq
Lq
R
B
+ p0
p0
n pp IP J n pp IP
n pp IP
3 n pp IP
+
iq
2
J
(8.20)
115
Fazendo a equivalncia das expresses (8.20) com (8.17) e (8.19) com (8.18)
encontram-se os coeficientes do observar. Aplicando-se os valores conhecidos dos
parmetros do motor, obtm-se:
B
= p 0 + 0,2
J
(8.21)
1
= p 0 5,55
n pp IP
(8.22)
A0 = p 0 +
B0 = p 0
K 0 = p 02
Lq
n pp IP
Lq
R
B
+ p0
n pp IP J n pp IP
3 n pp IP
+
2
J
(8.23)
Lq
n pp IP
= p 0 0,00967
(8.24)
(8.25)
116
V e lo c id a d e (rp m )
1500
1450
w e s t im a d a
w do m otor
1000
500
0.02
0.04
0.06
0.08
0.1
0.12
Te m p o (s e g . )
0.14
0.16
0.18
0.2
117
Posio do Rotor
2000
500
V elocidade Medida
V elocidade E stimada
1600
1500
1400
1200
1000
800
600
400
200
100
0
-100
-200
-300
-360
200
0
P osio Medida
P osio E stimada
360
300
ngulo em graus
Velocidade (rpm)
1800
0.2
0.4
0.6
0.8
-500
0
T empo (s)
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
T empo (s)
118
60
50
40
30
20
10
0
0.2
0.4
0.6
0.8
T empo (s)
119
Captulo 9.
9.1.
CONCLUSO.
Introduo.
Conforme proposto no escopo desta tese, foi implementada uma bancada para
9.2.
Concluses.
120
121
122
REFERNCIAS BIBLIOGRFICAS:
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10] DOTE, Y., AND KINOSHITA, S., Brushless Servomotors. Fundamentals and
Applications. Clarendon Press, Oxford, 1990.
[11] BOLDEA, I., NASAR, S. A., Electric Drives. Florida, CRC Press, 1999.
[12] JAHNS, T. M., AND SOONG, W. L., Pulsating Torque Minimization
Techniques for Permanent Magnet AC Motor Drives A Review, IEEE Trans.
on Ind. Electronics, vol. 43, no 2, pp. 321-330, Apr. 1996.
[13] HOLTZ, J., AND SPRINGOB, L., Identification and Compensation of Torque
Ripple in High-Precision Permanent Magnet Motor Drives, IEEE Trans. on Ind.
Electronics, vol. 43, no 2, pp. 309-320, Apr. 1996.
123
124
[25] CROS, J., VINASSA, J., CLENET, S., ASTIER, S., and LAJOIE-MAZENC, M.,
A Novel Current Control Strategy in Trapezoidal EMF Actuators to Minimize
Torque Ripples Due to Phase Commutations, In: Proc. Eur. Conf. power
Electon. Applicat. (EPE), Brighton, 1993, pp. 266-271.
[26] DEGARMO, E. P., BLACK, J. T., and KOSHER, R. A., Materials and Processes
in Manufacturing, Macmillan, New York, 1988.
[27] PARKER, R. J., Advances in Permanent Magnetism, J. Willey & Sons, New
York, 1990.
[28] GIERAS, F. G., and WING, M., Permanent Magnet Motor Technology Design
and Applications, Marcel Dekker, Inc., New York, 1997.
[29] KENJO, T., and NAGAMORI, S., Permanent Magnet and Brushless d.c. Motors,
Clarendon Press, Oxford, 1985.
[30] HUANG, S., AYDIN, M. and LIPO, T. A., Low Noise and Smooth Torque
Permanent Magnet Propulsion Motors: Comparison of Non-slotted and Slotted
Radial and Axial Flux Topologies, Intern. Aegean Conf. on Electrical Machines
and Power Electronics, 2001.
[31] BINNS, K. J., Permanent Magnet Drives: The State of the Art, Symp. On
Power Electron. Electr. Drives, Advanced Electr. Motors SPEEDAM94,
Taormina, Italy, pp. 109-114, 1994.
[32] LOVELACE, E. C., JAHNS, T. M., WAI, J., KEIM, T., LANG, J. H.,
WENTZLOFF, D. D., LEONARDI, F., and MILLER, J. M., Design and
Experimental Verification of a Direct-Drive Interior PM Synchronous Machine
Using a saturable Lumped-Parameter Model, IEEE IAS - Ind. Appl. Soc. Ann.
Mtg. Oct. 2002, pp. 1-7.
[33] TAPIA, J., LIPO, T. A., and LEONARDI, F., CPPM Machine: A Synchronous
Permanent Magnet Machine with Field Weakening, Internat. Electrical
Machines and Drives Conf., Cambridge MA, Jun. 2001, pp. 126-131.
[34] ROBSON, R. B., Inductance Coefficients of Rotating Machinery Expressed in
Terms of Winding Space Harmonics, Proc. IEEE, vol. III, no 4, 1964.
[35] LEONHARD, W., Control of Electrical Drives. 2a ed. N. Y., Springer, 1997.
[36] PARK, R. H., Two-reaction Theory of Synchronous Machines: Part II, AIEEE
Trans., vol. 52, pp. 352-355, Jun. 1933.
[37] PALMA, J. C. P., Accionamentos Eletromecnicos de Velocidade Varivel. 1a
ed. Lisboa, Fundao Calouste Gulbenkian, 1999.
125
126
127
[63] HOLTZ, J., and STADTFELD, S., A Predictive Controller for the Stator Current
Vector of AC Machines Fed from a Switched Voltage Source, IPEC Tokyo,
1983, pp. 1665-1675.
[64] HOLTZ, J., and STADTFELD, S., A PWM Inverter Drive System with on-line
Optimized Pulse Patterns, EPE Europ. Conf. Power Electronics and Appl.,
Brussels, pp. 3.21-3.25, 1985.
[65] NABAE, A., OGASAWARA, S., AKAGI, H., A Novel Control Scheme for
PWM Controlled Inverters, IEEE Trans. on Ind. Appl., vol. IA-22, no 4, pp.
697-701, Jul./Aug. 1986.
[66] HOLTZ, J., and BEYER, B. Optimal Synchronous Pulsewidth Modulation with
a Trajectory Tracking Scheme for High Dynamic Performance, Applied Power
Electronics Conf. APEC, Boston, MA, pp. 147-154, 1992.
[67] HOLTZ, J., and BEYER, B. Trajectory Tracking Approach A New Method for
Minimum Distortion PWM in Dynamic High-power Drives, IEEE Trans. on
Ind. Appl., vol. 30, no 4, pp. 1048-1057, Jul./Aug. 1994.
[68] HOLTZ, J., and BEYER, B. Fast Current Trajectory Tracking Control Based on
Synchronous Optimal Pulse Width Modulation, IEEE Trans. on Ind. Appl.,
1995.
[69] SLEMON, G. R., and STRAUGHEN A., Electric Machines, Addison-Wesley,
Reading, MA, 1980.
[70] LORENZ, R. D., Observers and State Filters in Drives and Power Electronics,
IEEE IAS OPTIM 2002, Brasov, Romania, May 16-19, 2002.
[71] JIANG, J., HOLTZ, J., High Dynamic Speed Sensorless AC Drive with On-Line
Parameter Tuning and Steady State Accuracy, IEEE Trans. on Ind. Electronics,
vol. 2, Mar./Apr. 1997. pp. 240-246.
[72] PETROVIC, V., STANKOVIC, A. M., BLASKO, V., Position Estimation in
Salient PM Synchronous Motors Based on PW Excitation Transients, IEEE
Trans. on Ind. Appl., vol. 39, no 3, MAY/JUNE 2003.
[73] SEPE, R. B. AND LANG, J. H., Real-time observer-based (adaptative) control
of a permanent-magnet synchronous motor without mechanical sensors, IEEE
Trans. on Ind. Appl., vol. 28, Nov./Dec. 1992, pp. 1345/1352.
[74] BOLOGNANI, S., OBOE, R., and ZIGLIOTTO M., Sensorless full-digital
PMSM drive EKF estimation of speed and rotor position, IEEE Trans. Ind.
Electronics, vol. 46, pp184-191, Feb. 1999.
128
[75] KIM, J. S., and SUL, S. K., New Approach for High Performance PMSM
Drives Without Rotational Position Sensors, IEEE Trans. Power Elect., vol. 12,
pp. 904-911, Sep. 1997.
[76] SHOUSE, K. R. and TAYLOR, D. G., Sensorless Velocity Control of
Permanent-magnet Synchronous Motors, IEEE Trans. Contr. Syst. Technol., vol.
6, pp. 313-324, May 1998.
[77] JUFER, M., OSSENI, R., Back EMF Indirect Detection for Self-Commutation
of Synchronous Motor, EPE 87.
[78] ERTUGRUL, N., ACARNLEY, P., A New Algorithm for Sensorless Operation
of Permanent Magnet Motors, IEEE IAS Ann. Meeting, 1992.
[79] SCHROEDL, M., An Improved Position Estimator for Sensorless Control of
Permanent Magnet Motors, EPE 1991.
[80] ZINGER, D., PROFUMO, F., LIPO, T A., and NOVOTNY, D. W., A Direct
Field-Oriented Controller for Induction Motor Dives Using Tapped Stator
Windings, IEEE PESC 1998 Record, pp. 855-861.
[81] WU, R. and SLEMON, G. R, 1990, A Permanent Magnet Motor Drive without a
Shaft Sensor, IEEE IAS Ann. Mtg., pp. 553-558.
[82] MOREIRA, J. C., Indirect Sensing for Rotor Flux Position of Permanent
Magnet AC Motors Operating in a Wide Range Speed, Conf. Rec. of IEEE ISA,
Ann. Meet., pp. 401-407, 1994
[83] SCHROEDL, M., Digital Implementation of Sensorless Control Algorithm for
Permanent Magnet Synchronous Motor, In: Proc. Int. Conf. SM 100, ETH
Zurich, pp. 430-435, 1991.
[84] KULKARNI, A., EHSANI, M., A Novel Position Sensor Elimination Technique
for Interior Permanent-Magnet Synchronous Motor Drive, IEEE Trans. on Ind.
Appl., vol. 28, no 1, pp. 144-150, Jan./Feb. 1992.
[85] WANG, L., LORENZ, R. D., Rotor Position Estimation for Permanent Magnet
Synchronous Motor Using Saliency-Tracking Self-Sensing Method, IEEE - IAS
2000 Ind. Appl. Society, vol. 1, pp. 445-450.
[86] LINKE, M., KENNEL, R., HOLTZ, J., Sensorless Position Control of
Permanent Magnet Synchronous Machines without Limitation at Zero Speed,
IEEE IECON 02 Ind. Elect. Society Ann. Conf., vol. 1, pp. 674-679, Nov. 2002.
129
[87]
[88] OGASAWARA, S. and AKAGI, H., 1991, Implementation and Position Control
Performance of a Position-Sensorless IPM Motor Drive System Based on
Magnetic Saliency, IEEE Trans. on Ind. Appl., vol. 34, pp. 806-812, Jul./Aug.
1998.
[89]
WANG, C., XU, L., A novel Approach for Sensorless Control of PM Machines
Down to Zero Speed without Signal Injection or Special PWM Techniques, In:
Proc. IEEE APEC 01, vol. 2, pp. 857-864, Anahein, CA, Mar. 2001.
[90] CORLEY, M. J., and LORENZ, R. D., Rotor Position and Velocity Estimation
for a Salient-Pole Permanent Magnet Synchronous Machine at Standstill and
High Speeds. IEEE Trans. on Ind. Appl., vol. 34, pp. 784-789, Jul./Aug. 1998.
[91] JANSEN, P. L., and LORENZ, R. D., Transducerless Position and Velocity
Estimation in a Induction and Salient AC Machines. IEEE Trans. on Ind. Appl.,
vol. 31, pp. 240-247, Mar./Apr. 1995.
[92] SCHROEDL, M., Detection of the Rotor Position of a Permanent Magnet
Synchronous Machine at Standstill., Proc. ICEM, Pisa, Italy, pp. 195-197, 1988.
[93] SCHROEDL, M., Operation of the Permanent Magnet Synchronous Machine
without a Mechanical Sensor, Proc. of IEE Conf. On Power Elect. and Variable
Speed Drives, 1990.
[94] KONDO, S., TAKAHASHI, A., and NISHIDA, T., Armature Current Locus
Based Estimation Method of Rotor Position of Permanent Magnet Synchronous
Machine without a Mechanical Sensor. IEEE IAS Meeting, pp. 55-60, 1995.
[95] SCHROEDL, M., and WEINMEIER, P. Sensorless Control of Reluctance
Machines at Arbitrary Operation Conditions Including Standstill, IEEE Trans.
on Power Elect., vol. 9, pp. 225-231, Mar. 1994.
[96] KALMAN, R. E., A New Approach to Linear Filtering an Prediction Problems,
Trans. of the ASME Journal of Basic Engineering, pp. 35-45, Mar. 1960.
[97] WELCH, G., BISHOP, G., An Introduction to the Kalman Filter, Department of
Computer Science, University of North Carolina at Chapel Hill, TR95-041, May
2003.
130
[98] MATSUI, N., SHIGYO M., Brushless dc Motor Control without Position and
Speed Sensors, IEEE Trans. on Ind. Appl., vol. 28, no 28, pp. 120-127, Jan./Feb.
1992.
[99] MATSUI, N., Sensorless PM Brushless DC Motor Drives, IEEE Trans. on Ind.
Electron., vol. 43, no 2, pp. 300-308, Apr. 1996.
[100] MATSUI, N., Sensorless Operation of Brushless DC Motor Drives, IEEE,
IECON, pp. 739-744, 1993.
[101] LORENZ, R. D., Observers and State Filters in Drives and Power Electronics,
IEEE IAS OPTIM 2002, Brasov, Romania, May 16-18, 2002.
[102] LUENBERGER, D. G., An Introduction to Observers, IEEE Trans. on Autom.
Control, vol. AC-16, no 6, pp. 596-602, Dec. 1971.
[103] GOPINATH, B., On the Control of Linear Multiple Input-Output Systems, The
Bell System Technical Journal, vol. 50, no 3, pp. 1063-1081, Mar. 1971.
[104] KIM, J.-S. and SUL, S.-K., High Performance PMSM Drives without Rotational
Position Sensors Using Reduced Order Observer, IEEE-IAS Conf. Rec., pp. 7582, 1995.
[105] PEK, W. K., LIM, K. W., PANDA, S. K., Evaluating the Robustness of a
Sensorless Controller for Permanent Magnet Synchronous Motor Drives, IEEE
IECON 2000, pp. 1389-1394.
[106] SON, Y.-C., BAE, B.-H., and SUL, S.-KI, Sensorless Operation of Permanent
Magnet Motor Using Direct Voltage Sensing Circuit, IEEE Conf Rec. of the Ind.
Appl. Conf., 2002. 37th IAS Ann. Mtg., vol. 3, pp. 1674-1678, Oct. 2002.
[107] SHOUSE, K. R., TAYLOR, D. G., Observer-Based Control of PermanentMagnet Synchronous Motors, IEEE Proc. of Int. Conf. On Ind. Electron.,
Control, Instrum., and Autom. 1992. Power Electron. And Motion Control, San
Diego, CA, vol. 3, pp. 1482-1487, Nov. 1992.
[108] JONES, L., LANG, J., A State Observer for the Permanent-Magnet
Synchronous Motor, IEEE Trans. Ind. Electron., vol. 26, pp. 374-382, Aug.
1989.
[109] SEPE, R. B., LANG, J. H., Real-Time Observer-Based (Adaptive) Control of a
Permanent-Magnet Synchronous Motor without Mechanical Sensors, IEEE
Trans. on Ind. Appl., vol. 28, no 6, pp. 1345-1352 Nov./Dec. 1992.
131
[110] LOW, T., LEE, T., and CHANG, K., A Nonlinear Speed Observer for
Permanent-Magnet Synchronous Motor, IEEE Trans. on Ind. Electron., vol. 40,
pp. 307-315, Jun. 1993.
[111] SOLSONA, J., VALLA, M. I., and MURAVCHIK, C., A Nonlinear Reduced
Order Observer for Permanent-Magnet Synchronous Motor, IEEE Trans. on Ind.
Electron., vol. 43, no 4, pp. 492-497, Aug. 1996.
[112] TATEMATSU, K., HAMADA, D., UCHIDA, K., WAKAO, S. and ONUKI, T.,
New Approaches with Sensorless Drives, IEEE Trans. on Ind. Appl., vol. 6, pp.
44-50 Jul./Aug. 2000.
[113] ZADEH, L. A., Fuzzy Sets, Information Control 8, pp. 338-353, 1965.
[114] ZADEH, L. A., Similarity Relations and Fuzzy Ordering. Information Sciences
3, pp. 177-206, 1971.
[115] ZADEH, L. A., Outline of a New Approach to the Analysis of Complex
Systems and Decision Processes. IEEE Trans. on Systems, Man. and
Cybernetics 3, pp. 28-44, 1973.
[116] MANDANI, E. H., Application of Fuzzy Algorithms for Simple Dynamics
Plant, Proc. IEE 121, pp. 1585-1588, 1974.
[117] KOSKO, B., Neural Networks and Fuzzy Systems, Prentice Hall, 1992.
[118] SUGENO, M., An Introdutory Survey of Fuzzy Control, Information Sciences
36, pp. 59-83, 1985.
[119] TAKAGAKI, T. and SUGENO, M., Fuzzy Identification of Systems and its
Applications to Modeling and Control, IEEE Trans. on Systems, Man. and
Cybernetics 15, pp. 116-132, 1985.
[120] JANG, J. G., ANFIS: Adaptative-Network-Based Fuzzy Inference System,
IEEE Trans. on Systems, Man. and Cybernetics 23, pp. 665-684, 1993.
[121] KONOHEN, T, The Self-Organization Map, Proc. IEEE 78, pp. 1464-1480,
1990.
[122] FILIPPETI, F., FRANCESCHINI, G., and TASSONI, C., Neural Networks
Aided Diagnostics of Induction Motor Rotor Faults, IEEE IAS, pp. 316-326,
1994.
[123] VAS, P., STRONACH, A. F., and NEUROTH, M., DSP-Controlled Intelligent
High-Performance AC Drives Present and Future, IEE Colloquium on Vector
Control and Direct Torque Control of Induction Motors, pp. 7/1-7/8, Oct. 1995.
132
133
APNDICES
A - Dispositivos de Hardware
B - Caractersticas dos ms Permanentes
C - Aritmtica de Ponto Fixo
D - Programa Fonte
E - Diagramas
134
127 Vca
Corrente Nominal
1,6 A
Velocidade Nominal
5420 rpm
Torque Nominal
0,47 N.m
Fluxo
0,06 Wb
Rendimento
95%
135
Alm desses parmetros foram utilizados os valores obtidos por Imbuzeiro [1],
atravs de ensaios no motor, para resistncia, indutncias de eixo direto e quadratura,
momento de inrcia e fator de frico, conforme tabela seguir.
2,35
1,61 mH
1,74 mH
Momento de Inrcia
200 Kg.m2
40 kg.m2.s
Trs mdulos de chaves (transistores) IGBT com duas chaves em cada mdulo
(TOP BOTTOM), modelo SKM 150 GB 063 D, freqncia de chaveamento
at 10kHz, para 600Vcc, potncia de 10.5kW.
Trs mdulos de interface modelo SKHI 22A, que fazem a ligao entre o sinal
para disparo e os IGBTs, tenso de alimentao de 15V (faixa de 14,4 a 15,6V),
tenso de turn on de +15V e turn off de 7V.
136
RAM para dados e programa at 2,5k words x 16 bits, com 544 words de
acesso dual (DARAM) e at 2k words acesso simples. (SARAM).
137
138
Histrico e Evoluo.
A existncia de materiais magnticos remonta Grcia antiga, tendo sido
comentada a sua existncia por filsofos daquela poca [134]. Tratava-se de um xido
natural de ferro (Fe3O4) com propriedades magnticas denominado de magnetita.
Os primeiros ms artificiais utilizados pelo homem eram agulhas magnticas
para bssolas, produzidas pelo toque em magnetitas. H referncias que indicam sua
utilizao na China em torno do ano 500 DC.
As primeiras experincias utilizando ms permanentes em sistemas de excitao
em mquinas eltricas foram realizadas na primeira metade do sculo XIX (1831 1839) [135]. Devido baixa qualidade dos materiais empregados, a preferncia foi dada
utilizao de sistemas com excitao eletromagntica.
Somente com a descoberta, no Japo, do m permanente (IP) composto de ligas
de ao cobalto em 1917 e da liga AlNiCo (Al, Ni, Co, Fe) em 1931, o uso de sistemas
de excitao com ms permanentes tomou novo impulso.
A liga magntica AlNiCo sinterizada ou fundida, composta principalmente de
alumnio, nquel,
139
B.2.
140
A figura a seguir (Fig. B.2) apresenta uma curva de histerese tpica, onde se
pode observar os principais pontos caractersticos que sero comentados a seguir.
B(T)
Bsat
+Bmx
Br
E=B.H
Hc
Hsat
H(A/m)
-Bmx
(H sat )
Neste ponto
(H c )
141
( rec )
B
H
(B.1)
E = BH
(B.2)
Br2
=
4 0
(B.3)
(BH )max
Br H c
(B.4)
142
1,2
1,0
Br [T]
0,8
NdFeB
AlNiCo
0,6
SmCo
0,4
Ferrite
0,2
0
-1000
-900
-800
-700
-600
-500
-400
-300
143
144
(H c ) ,
145
146
147
b11
b10
b9
b8
b7
b6
b5
b4
b3
Ponto Binrio
148
b2
b1
b0
Onde:
bi so dgitos binrios (bit), onde bi = 0 ou 1 e i = 0,1,2...15.
A dimenso da palavra dada por ws=16.
O bit mais significante (MSB most significant bit) o bit mais esquerda e
representado pela localizao bws-1, ou seja, b15.
O bit menos significante (LSB least significant bit) o bit mais direita e
representado pela localizao b0.
O ponto decimal mostrado quatro casas esquerda do bit menos significante.
Considerando que o programa fonte desenvolvido em linguagem C, as
designaes dos tipos das variveis indicam os formatos de nmeros, se inteiro com ou
sem sinal.
A faixa de nmeros sem sinal representvel em uma palavra de ws bits pode ser
apresentada conforme figura abaixo:
QN 2 ws 1
0
Nmeros Positivos
QN 2 ws 1
Nmeros Negativos
QN 2 ws 1 1
Nmeros Positivos
149
Para fazer o negativo de um nmero binrio de ponto fixo os nmeros com sinal
so representados no formato complemento de dois.
O fato de um nmero ser com sinal ou sem sinal no usualmente explcito na
palavra binria, ou seja, no existe um bit de sinal. A informao do sinal est
implicitamente definida na arquitetura do processador.
O valor real (V) de um nmero representado pelo somatrio dos valores dos
bits multiplicados por um peso.
O valor de um nmero de ponto fixo sem sinal pode ser encontrado pela
expresso:
ws 1
V = QN bi 2 i
i =0
(C.1)
V = QN bws 1 2 ws 1 + bi 2 i
i =0
(C.2)
Este nmero ter o mesmo valor positivo tanto para a representao sem sinal
como na representao de complemento de dois (com sinal), visto que o MSB nulo
no existindo a parcela que daria um valor negativo. Utilizando-se os pesos apropriados,
o bit multiplicador e a escala o valor ser:
150
ws 1
V = QN bi 2 i = 2 4 0 2 3 + 1 2 2 + 0 21 + 1 2 0 = 2 4 (5) = 0,3125
i =0
(C.3)
ws 1
V = QN bi 2 i = 2 4 1 2 3 + 1 2 2 + 0 21 + 1 2 0 = 2 4 (13) = 0,8125
i =0
Enquanto uma varivel especificada como sendo com sinal o seu valor ser:
[(
) (
ws 2
V = QN bws 1 2 ws 1 + bi 2 i = 2 4 1 2 3 + 1 2 2 + 0 21 + 1 2 0
i =0
3
= 0,1875
V = 2 4 [( 8) + (5)] =
16
)]
( )
uma potncia de dois 2 N , que uma base inteira, com N indicando a posio do
ponto decimal. A expresso dada por:
Y = X 2N
Deve-se atentar que o nmero Y deve ser um inteiro e que as casas decimais
resultantes da multiplicao sero abandonadas, pois o processador s opera com
nmeros inteiros em formato binrio.
Deste modo, pode-se montar a tabela a seguir para um dado de 8 bits.
151
Q0
0 a 255
-128 a 127
Q1
0 a 127,5
-64 a 63,5
Q2
0 a 63,75
-32 a 31,75
Q3
0 a 31,875
-16 a 15,87
Q4
0 a 15,937
-8 a 7,937
Q5
0 a 7,9687
-4 a 3,968
Q6
0 a 3,9843
-2 a 1,984
Q7
0 a 1,9921
-1 a 0,992
Q8
0 a 0,996
-0,5 a 0,496
Q9
0 a 0,498
-0,25 a 0,298
Q10
0 a 0,249
-0,125 a 0,149
Q11
0 a 0,124
-0,062 a 0,074
152
65.635
= +1,999
32.768
X max = 2 N 1 1 QN = 32.767 2 15 =
32.767
= +0,999
32768
X min = 2 N 1 QN = 32.768 2 15 =
32.768
= 1
32.768
32.767
= +31,999
1.024
Ymin = 32.768 2 10 =
153
32.768
= 32
1024
*/
/*********************************************************/
/*------------------------------------------------------*/
/*Diretivas Gerais
*/
/*------------------------------------------------------*/
154
*/
/*-----------------------------------------------------*/
/*Interrupes*/
#define ENABLE_INTERRUPTS asm(" CLRC INTM") /*Habilita interrupo atravs
do INTM no Status Register da CPU*/
#define DISABLE_INTERRUPTS asm(" SETC INTM") /*Desabilita interrupo
atravs do INTM no Status Register da CPU*/
/*Opo para trabalhar com monitor em tempo real*/
#define
REALTIME 0
/*TIMER E PWM*/
#define PWMPER 200e-6
/*5kHz*/
156
/*Clculo da Velocidade*/
#define W_BASE 6750 /*Velocidade Base*/
#define INV_W_BASE_Q20 ((long int)Q20/W_BASE)
/*Varivel temporria da velocidade em Q15*//*Esta diretiva foi colocada na malha de
velocidade para executar inverso e impulso em operao*/
//#define w_temp_Q15 ((long)w_ref_rpm*(long)INV_W_BASE_Q20>>5)
/*Velocidade de referncia em Q15*/
long int w_ref_Q15=0;
int direcao=0; /*Varivel para indicar o sentido de rotao*/
/*CAPTURA para Velocidade*/
unsigned int CAP_old=0,CAP_new=0;
unsigned int delta=0; /*DELTA entre capturas*/
int inv_delta_Q23=0; /*Inverso de DELTA*/
long int w_n_Q15=0; /*Velocidade normalizada em Q15*/
long int w_rpm=0;
int espera=0;
/*************************************************/
/*Declarao de Variveis GLOBAIS
*/
/*************************************************/
/*Inicializao dos valores de referncias*/
/*Variveis de sada do PI*/
long int dk_w=0;
long int dk_iq=0;
long int dk_id=0;
/*Variveis para apresentar formas de onda na tela*/
#define N_AMOSTRAS 5000
int amostra=0;
int var1[N_AMOSTRAS];/*,var2[N_AMOSTRAS],var3[N_AMOSTRAS];
//int var4[N_AMOSTRAS],var5[N_AMOSTRAS],var6[N_AMOSTRAS];
/*Variveis para parar programa no Watch Window*/
int parar=0;
157
int flag_parada=0;
int ref_malha_aberta=0;
/*INVERSA DE PARK*/
/*Foi adicionado ao projeto o arquivo SINTB360.asm*/
/*Arquivo de tabela de seno para clculo da funo*/
struct {int vd_ref; int vq_ref; int theta;} ipark_in;
struct {int valfa_ref; int vbeta_ref;} ipark_out;
/*SVGEN-PWM VETOR ESPACIAL*/
/*Parte est no Header - arquivo svgen.h*/
SVGENDQ svgen1;
SVGENDQ svgen1=SVGENDQ_DEFAULTS;
int TVa,TVb,TVc;
/*TRANSFORMADA DE CLARKE*/
struct {int ia_Q15; int ib_Q15; int ic_Q15;} clark_in;
struct {int ialfa; int ibeta;} clark_out;
/*TRANSFORMADA DE PARK*/
/*Foi adicionado ao projeto o arquivo SINTB360.asm*/
/*Arquivo de tabela de seno para clculo da funo*/
struct {int i_alfa; int i_beta; int theta;} park_in;
struct {int id; int iq;} park_out;
/*CONVERSOR AD*/
int ia_med_Q10=0, ib_med_Q10=0;
int ia_med_Q15=0, ib_med_Q15=0, ic_calc_Q15=0;
int cont=0; /*Contador para PIW ter tempo 10x PI Iq e Id */
/*QEP para Posio THETA*/
int angulo_Q15=0;
158
159
/* RTM em uso */
IMR = 0x004A;
#else
IMR = 0x000A;
#endif
/*** Inicializa monitor em tempo real ***/
#if REALTIME != 0
asm(" .ref MON_RT_CNFG");
asm(" CALL MON_RT_CNFG");
#endif
ENABLE_INTERRUPTS;
Register da CPU*/
while (1<2) /*Malha infinita*/
{
if (parar |=0) parar_motor(); /*Chamada da funo de parada*/
160
}
}
/*Interrupo Gerada pelo TIMER1*/
interrupt void gisr2()
{
#define OFFSET_A_Q10 512 /*((int)(Q10*1.65/3.3=512)) /* zero Amp = 1.65V; 3.3V
= 1.0(Q10) */
#define OFFSET_B_Q10 512
#define OFFSET_C_Q10 10 /*3.3V = 1.0Q10 e /*1.65V = X >> X = 1.0Q10*1.65/3.3
*/
#define
GAIN_SENSE_Q0
//((int)(6.4*1.65/2.0))
/*Di=6.4A->Dv=2V;
Di(Dv=1.65V)=? (Q0) */
switch (PIVR) /*Peripheral Interrupt Vector Register*/
{
case 0x0029:
*/
/***************************************************************/
ia_med_Q10 =((RESULT0>>6) - OFFSET_A_Q10)*(GAIN_SENSE_Q0);
ib_med_Q10 =((RESULT1>>6) - OFFSET_B_Q10)*(GAIN_SENSE_Q0);
ia_med_Q15 = ia_med_Q10<<5;
ib_med_Q15 = ib_med_Q10<<5;
ic_calc_Q15 = -((ia_med_Q15+ib_med_Q15)-OFFSET_C_Q10);
161
/**************************************************************/
/*Transformada de Clarke
*/
/**************************************************************/
clark_in.ia_Q15 = ia_med_Q15;
clark_in.ib_Q15 = ib_med_Q15;
clark_in.ic_Q15 = ic_calc_Q15;
clark(&clark_in,&clark_out);
/**************************************************************/
/*Clculo da posio do rotor com ENCODER
*/
/**************************************************************/
angulo_Q15 = ((int)(T2CNT*24));
park_in.theta = angulo_Q15;
ipark_in.theta = angulo_Q15;
/****************************************************/
/*Transformada de Park
*/
/****************************************************/
park_in.i_alfa = clark_out.ialfa;
park_in.i_beta = clark_out.ibeta;
park(&park_in,&park_out);
/********************************************************/
/*REGULADOR PIW - Velocidade angular
*/
/*O regulador PIW atuar com tempo de 10x o tempo do regulador das correntes id e iq
(PI1 e PI2)*/
/********************************************************/
/*Incremento de contador para Regular Velocidade*/
if(++cont == 10)
{
cont = 0;
162
else
{
w_n_Q15 = -inv_delta_Q23;
}
/*Clculo velocidade rpm (Para ver no grfico)*/
/*No utilizada nos cculos do programa*/
w_rpm = (((long)w_n_Q15)*((long)W_BASE))>>15;
/*Regulador PI de velocidade*/
ek_w = w_ref_Q15 - w_n_Q15;
//dk_w+=(((long)Kpw_Q10*((long)(ek_wek1_w)))>>10)+(((long)Kihw_Q10*(long)ek_w)>>10);
dk_w += ((20000*((long)(ek_w - ek1_w)))>>10) + ((2500*((long)ek_w))>>10);
/*Esta segunda equao est com o valor expandido para permitir ajuste mais preciso
nos testes*/
if (dk_w > MAXW_Q15) dk_w = MAXW_Q15;
if (dk_w < MINW_Q15) dk_w = MINW_Q15;
ek1_w = ek_w;
}
/****************************************************/
/*REGULADOR PI1 - Corrente iq
*/
/****************************************************/
ek_iq = (dk_w - park_out.iq);
dk_iq+=(((long)Kp_Q10*(long)(ek_iqek1_iq))>>10)+(((long)Kih_Q15*(long)ek_iq)>>15);
//dk_iq += ((136*(ek_iq - ek1_iq))>>10)+((26*ek_iq)>>15);
/*Esta segunda equao est em Q0 para permitir ajuste mais preciso nos testes*/
if (dk_iq > MAX_iq) dk_iq = MAX_iq;
164
*/
/****************************************************/
//ek_id = (id_ref - park_out.id);
//dk_id+=(((long)Kp_Q10*(long)(ek_idek1_id))>>10)+(((long)Kih_Q10*(long)ek_id)>>10);
//if (dk_id > MAX_id) dk_id = MAX_id;
//if (dk_id < MIN_id) dk_id = MIN_id;
//ek1_id = ek_id;
/**************************************************************/
/*Transformada Inversa de Park
*/
/**************************************************************/
/*Degrau para teste com vq_ref=cte ~9000 a 1500*/
/*if (++espera<1000){ipark_in.vq_ref=2000;}
else
{
*/
if (flag_parada == 0)
{
w_ref_Q15 = w_temp_Q15;
ipark_in.vq_ref = dk_iq;
ipark_in.vd_ref = dk_id;
}
else
{
/*Operao em malha aberta*/
ipark_in.vq_ref = ref_malha_aberta;
}
165
*/
/**************************************************************/
svgen1.v_alfa_ref = ipark_out.valfa_ref;
svgen1.v_beta_ref = ipark_out.vbeta_ref;
svgen1.calc(&svgen1);
/*Como a sada de svgen1 varia entre -1 e +1 em Q15 e T1PR=TSW deve variar entre
0 e TSW, multiplica-se por TSW/2 e a seguir faz-se um offset de +TSW/2 */
/*A multiplicao feita com variveis do tipo "long" pois o resultada ser maior que o
valor mximo para Q15(32768). Fora-se, assim, que o resultado seja armazenado em
32bitsno registro e s depois convertido para 16bits*/
TVa = ((long)svgen1.t1) * ((long)MEIO_TSW)>>15; /*Q15/Q0*/
TVb = ((long)svgen1.t2) * ((long)MEIO_TSW)>>15; /*Q15/Q0*/
TVc = ((long)svgen1.t3) * ((long)MEIO_TSW)>>15; /*Q15/Q0*/
/*COMPARE REGISTER - CMPRx*/
CMPR1 = TVa + MEIO_TSW; /*Offset=TSW/2*/
CMPR2 = TVb + MEIO_TSW; /*Offset=TSW/2*/
CMPR3 = TVc + MEIO_TSW; /*Offset=TSW/2*/
/*******************************************/
#undef SENO
//#define SENO
#ifdef SENO
/*Referncia Senoidal aps 1seg de operao**********************/
ipark_in1.vq1_ref = 200; /*Amplitude +- este valor, depender da freq. aplicada*/
ipark_in1.vd1_ref = 0;
166
ipark(&ipark_in1,&ipark_out1);
if (++espera>5000) /*Espera de 1seg para 5kHz*/
{
espera = 5001;
w_ref_rpm = ipark_out1.valfa1_ref + 1200; /*1200=Valor mdio*/
}
//w_ref_rpm = -w_ref_teste; /*Ref. senoidal na partida*/
ipark_in1.theta1 += DTHETA; /*Ser angulo em Q15*/
#endif
/*********************************************/
/*Variveis para apresentar grficos*/
var1[amostra] = w_rpm;
//var2[amostra] = angulo_Q15;
//var3[amostra] = park_out.id;
//var4[amostra] = espera;
//var5[amostra] = w_rpm;
//var6[amostra] = ek_iq;
amostra++; if (amostra>=N_AMOSTRAS) amostra=N_AMOSTRAS-1;
PCDATDIR &=CLEARBIT3; /*IOPC3 LOW - Verificar Tempo de interrupo*
/*Bit 30 conector I/O*/
EVAIFRA |=SETBIT9; /*Reset Flag para TUFINT /*GPTimer 1 underflow interrupt*/
}
default:
{
}
}
}
167
/*Offset=TSW/2(Equivale a zero)*/
CMPR3 = MEIO_TSW;
/*Offset=TSW/2(Equivale a zero)*/
ref_malha_aberta = ref_malha_aberta-200;
}
}
else
{
ref_malha_aberta = dk_iq;
while (ref_malha_aberta<-200)
{
for(k=0;k<40000;k++);
ref_malha_aberta = ref_malha_aberta+200;
}
}
/*Apesar de parado, o motor continua alimentado*/
/*Estes comandos desalimentam o motor*/
COMCONA &= CLEARBIT9; /*Desabilita Comparadores*/
DISABLE_INTERRUPTS; /*Desabilita Interrupes*/
}
PROGRAMA DE INICIALIZAO DAS INTERRUPES
#include "regs2407.h"
#include "SETBIT.h"
void interrupt_init()
{
/* IMR - INTERRUPT MASK REGISTER*/
IMR =0;
EVAIMRB = 0;
EVAIMRC = 0;
EVBIMRB = 0;
EVBIMRC = 0;
*/
171
*/
*/
/*************************************************************/
SCSR1 |=SETBIT0; /*bit 0(1)Clear ILLADR-Reset Illegal Adress*/
SCSR1 |=SETBIT2; /*bit 2(1)Enable EVA clock module*/
SCSR1 |=SETBIT3; /*bit 3(1)Enable EVB clock module*/
SCSR1 |=SETBIT7; /*bit 7(1)Enable AD*/
SCSR1 &=0xF1FF;
/*4x7,3728MHZ=29,4912MHz ~ 33.9ns*/
}
*/
*/
/*******************************************************/
/********************************************************/
/*I/O MUX CONTROL REGISTER A[7090]
/*Habilitao dos pinos I/O para QEP/CAPTURE
*/
*/
/********************************************************/
MCRA |=0x0018; /*(0000 0000 0001 1000)*/
/*bits 3-4 QEP1-QEP2*/
/*I/O Pinos 21-22*/
MCRC |=0x0080; /*(0000 0000 1000 0000)*/
/*bit 7 CAP4*/
172
*/
(0x9870) */
*/
*/
/*********************************************************/
T2CNT=0; /*Inicializa TIMER COUNTER 2 em ZERO*/
T2PR=4095; /*Perodo igual a [(4*1024)-1] */
/*Encoder com 1024pulsos/rotao (2^10=1024)*/
T2CON=0x9830;
/*FREE,SOFT-bits15-14(10)Operation is not affected by emulation suspend*/
/*RESERVED -bit13 - -(R)Writes have no effect*/
/*TMODE1e0 -bits12-11(1 1)Directional up/down-count mode*/
/*TPS2-TPS0 --bits10-8-(000)Prescaler x/1*/
/*T2SWT1 - - -bit7- - -(0)Use own TENABLE bit*/
/*TENABLE- -bit6- - -(1)Enable Timer Operations
/****>>>>>>Habilitado na segunda configurao*/
/*TCLKS1e0 -bits5-4 -(11)Clock Source select QEP Circuit for TIMER2*/
/*TCLD1e1- -bits3-2-(00)Timer compare register reload condition
(00)when counter is 0
(01)when counter value is 0 or equals period register value
(10)immediately*/
/*TECMPR - -bit1 - -(0)Disable timer compare operations*/
/*SELT1PR- -bit0 - -(0)Use own period register*/
}
173
*/
*/
/*********************************************************/
/*********************************************************/
/*I/O MUX CONTROL REGISTER A[7090]
/*Habilitao dos pinos I/O para o PWM
*/
*/
/*
*/
*/
*/
/*********************************************************/
MCRA |=0x0FC0; /*(0000 1111 1100 0000)*/
/*bits 6-11 PWM1 a PWM6*/
/********************************************************/
/*GENERAL PURPOSE TIMER CONTROL REGISTER A [7400] */
/*Configurao GPTCONA RrrR R000 10RR 0000
(0x0080)
*/
/********************************************************/
/*bit 15,R=Reserved*/
/*bit 14,r=read only-Status do Timer2*/
GPTCONA = 0x0080;
/*bit 13,r=read only-Status do Timer1*/
/*
(0)Counting downward*/
/*
(1)Counting upward */
/*bits 12-11,R=Reserved*/
/*bits 10-9 (00)Timer2-No events start ADC*/
/*bits 8-7 (0 1)Timer1-underflow interrupt flag start ADC*/
/*bit 6(0)Disable all GP TIMER COMPARE OUTPUT*/
174
/*bits 5-4,R=Reserved*/
/*bits 3-2 Polarity GP Timer2 compare output
/*bits 1-0 Polarity GP Timer1 compare output
/*
/*
/*
/*
/*********************************************************/
/*TIMER 1 CONTROL REGISTER [7404] - EVA
*/
*/
*/
*/
/*********************************************************/
T1CON=0x8800;
/*FREE-SOFT-Bits 15-14(10)Operation is not affected on emulation suspend*/
/*RESERVED -Bit 13
(Reserved)*/
(00)when counter is 0
/*
/*
(10)immediately*/
/*TECMPR - -Bit 1
/*SELT1PR- -Bit 0
Reserved-for Timer1*/
/*
/*
175
/*********************************************************/
/*COMPARE CONTROL REGISTER A [7411]
*/
(0x8200) */
/*********************************************************/
COMCONA=0x8200;
/*CENABLE- -bit 15 (1)ENABLE compare operation*/
/*******>>>> Habilitado na segunda configurao-BIT 12-*/
/*CLD1e2 - -bits14-13 (00)Reload CMPRx-Compare register condition*/
/*
*/
(0x0999)
*/
/***************************************************************/
ACTRA = 0x0999; /*SVRDIR bits 15 Space Vector PWM rotation direction*/
/*(0)Positive(CCW)*/
/*(1)Negative(CW)*/
/*D2-D0 bit 14-12 Basic Space Vector bits*/
/*D2 D1 D0=(001)Uout in sector U0-U60-SVRDIR=0*/
/*CMP6ACT1-0 bits 11-10(10)CMP6 Active High*/
/*CMP5ACT1-0 bits 9-8 (01)CMP5 Active Low*/
/*CMP4ACT1-0 bits 7-6 (10)CMP4 Active High*/
/*CMP3ACT1-0 bits 5-4 (01)CMP3 Active Low*/
/*CMP2ACT1-0 bits 3-2 (10)CMP2 Active High*/
/*CMP1ACT1-0 bits 1-0 (01)CMP1 Active Low*/
176
/***************************************************************/
/*DEAD-BAND TIMER CONTROL REGISTER [xx15=7415]
/*Configurao DBTCONA RRRR 1001 1111 00RR
/*
(0x09F0)
*/
*/
*/
/***************************************************************/
DBTCONA=0x09F0; /*DBT3(MSB)-DBT0(LSB)
/*bits 11-8 (1100)Dead-band Timer Period*/
/*varia de 0 a F (0 1111)-selecionado 9>>1001b*/
/*DBand=clock*prescale*DBTx=33.9ns*16*9=4.88e-6*/
/*Escolhido Dband de 4.8e-6s devido ao inversor utilizado ter Interlock de Dead Time
para TOP-BOTTOM de 3.3e-6s(min) a 4.3e-6s(max)*/
/*EDBT3 bit 7 (1)Enable Dband timer3(for pins PWM5 e 6 of Compare Unit3)*/
/*EDBT2 bit 6 (1)Enable Dband timer2(for pins PWM3 e 4 of Compare Unit2)*/
/*EDBT1 bit 5 (1)Enable Dband timer1(for pins PWM1 e 2 of Compare Unit1)*/
/*DBTPS2-0 bits 4-2 (1 00)Dband Timer Prescaler x/16*/
/***************************************************************/
}
PROGRAMA DE INICIALIZAO DA CAPTURA
#include "regs2407.h"
extern void cap_init(void)
{
/********************************************************/
/*I/O MUX CONTROL REGISTER A[7090]
/*Habilitao dos pinos I/O para CAPTURE
*/
*/
/********************************************************/
MCRC |=0x0080; /*(0000 0000 1000 0000)*/
/*bit 7 CAP4*/
/*I/O Pino 24*/
177
/*********************************************************/
/*TIMER 4 CONTROL REGISTER [7508] - EVB
*/
*/
*/
*/
/*********************************************************/
T4CON=0x9000; /*FREE,SOFT - - -bits15-14(10)Opration not affected on emulation
suspend*/
/*RESERVED - - - bit13 - -(R)Writes have no effect*/
/*TMODE1-TMODE2- bits12-11(1 0)Continuous up count mode*/
/*TPS2-TPS0 - - -bits10-8-(000)Prescaler x/1*/
/*T4SWT3 - - - - bit7- - -(0)Use own TENABLE bit*/
/*TENABLE - - - -bit6- - -(1)Enable Timer Operations
/****>>>>>>Habilitado na segunda configurao*/
/*TCLK1,TCLK0 - -bits5-4-(00)Clock Source select-INTERNAL*/
*TCLD1,TCLD2 - -bits3-2-(00)Timer compare register reload condition
(00)when counter is 0
(01)when counter value is 0 or equals period register value
(10)immediately*/
/*TECMPR - - - -bit1- - -(0)Disable timer compare operations*/
/*SELT3PR - - - bit0- - -(0)Use own period register*/
/*
/***********************************************************/
/*Configurao CAPCONB[7420] 1010 R000 0100 00RR (0xA040h) */
/*Habilitado CAP4 e 5, com leitura do CAP, com Tmer 4
/*Captura para VELOCIDADE
*/
/*
/***********************************************************/
CAPCONB=0x0000; /*Limpa registradores de Captura*/
//CAPFIFOB=0x0100;
/*CAPRES-bit15 - -(1) No action
(0)Clear all register of capture units*/
/*CAPQEN-bits14-13(01)Enable CAPTURE units 4 e 5*/
178
*/
*/
*/
/*********************************************************************/
179
/****************************************************************/
/*Configurao ADCTRL1[70A0] R0x1 0000 0101 0000
(0x1010h)
*/
*/
/****************************************************************/
ADCTRL1=0x1010;
/*RESERVED bit15
/*RESET bit14
(R)Reserved*/
(1) Reset ADC intire module
(0) No effect*/
/*Soft-Freebits13-12 (x1)Free run
(10)Complete currente conversion before stoppin*/
/*ACQ PS3-PS0 bits11-8(0000)Aquisition Time Window para CPS=0(bit7)
Aqusition Time=2xTclk=2*33ns*/
/*CPS bit7 (0) clk/1 - Conversion clock prescaler
(1) clk/2*/
/*CONT RUN bit6 (0)Start-stop conversion mode
(1)Continuous conversion mode*/
/*INT PRI bit5 (0)Interrupt priority high
(1)Interrupt priority low*/
/*SEQ CASC bit4 (0)Dual-sequencer mode SEQ1 e SEQ2 operate as two 8-stete
sequencers
(1)Cascade mode SEQ1 e SEQ2 operate as a single(SEQ)16-state sequencer*/
/*CAL ENA bit3 (0)Clibration disable
(1)Clibration enable*/
/*BRG ENA bit2 (0)Full reference voltage is applied to ADC input
(1)A reference midpoint voltage is applied to ADC input*/
/*HI/LO bit1
(0x6000h)
*/
*/
/************************************************************** */
180
ADCTRL2 =0x4100;
/*Inicio de conversao-SEQ1 - Channel 0 - 1 Conversao*/
/*EVB SOC SEQ
/*SEQ1 BSY
bit12 (r)SEQ1-Read-bit
(0)Sequencer is idle
(1)Conversion in progress */
(r)SEQ1-Interrupt flag*/
(0)RESET SEQ2*/
(r)SEQ2-Read-bit
(0)Sequencer is idle
(1)Conversion in progress*/
/*INT ENA SEQ2 bits3-2
(00)SEQ2-Interrupt disable*/
(0)SEQ2-Interrupt flag*/
181
*/
/* ZERO-STATE-VISIBILITY OFF
*/
/******************************************************/
WSGR=0;
/*bits 15-11 RESERVERD*/
/*bits 10-9 (00)Bus Visibility OFF*/
/*bits 8-6 I/O Space Wait-State de 0 a 7 (0 a 111)*/
/*bits 5-3 DATA-Space Wait-State(idem)*/
/*bits 2-0 PROGRAM_Space Wait-State(idem)*/
/*extern void watchdog_init();
void watchdog_init(void)
{
/*******************************************************/
/*Desabilitando WATCHDOG /*Registradores de 8 bits*/
/*******************************************************/
WDCR =0x0068; /*WDCR [7029] Desabilita*/
/*R110 1000*/
/*bit 7 Reserved*/
/*bit 6 (1) WD disable*/
/*bit 5 (1) Normal operation*/
/*bit 4 (0) Normal operation*/
/*bit 3 (1) Normal operation*/
/*bits 2-0 (000) Prescale*/
WDKEY=0x0055; /*WDKEY [7025] Abilita o RESET do contador*/
WDKEY=0x00AA; /*WDCNTR[7023] RESET COUNTER*/
}
182
APNDICE E Diagramas.
183
I/O
33/34
P1
ANALOG
GND
23
24
P2
ADCIN0
ADCIN1
3
4
5
6
7
8
21/24
23
33/34
PWM1/IOPA6
PWM2/IOPA7
PWM3/IOPB0
PWM4/IOPB1
PWM5/IOPB2
PWM6/IOPB3
CAP1/CAP4
CAP3
GND
P3
ADRESS/DATA
CONTROL
SPECTRUM DIGITAL
INCORPORATED
TMS320LF2407 EVM
P4
184
Transf. Isol.
2
4
CN1
8/9
10/11
2
4
CN2
8/9
10/11
2
4
CN3
8/9
10/11
B
T
+16V
GND
B
T
+16V
GND
B
T
+16V
GND
AC
AC
M
3
INVERSOR
185
CON2
MOTOR
R1
2 k2
+ 5V
LEM
F1
IN2
OUT2
0V
IN
F2
IN1
+ 5V
OUT
P2
100k
+5V
ref.
LTS 6NP
OUT1
8
-
LEM
U1 :A
ANALOG
OUT
+5V
ref.
R2
10k
0V
IN
23
TL0 8 2
D1
1 n4 1 4 8
+ 5V
LTS 6NP
P1
50k
+ 5V
+ 16V
- 5V
GND
I/ O
I/ O
I/ O
I/ O
I/ O
I/ O
R1 5
R1 4
R1 3
R1 2
R1 1
R1 0
74 07
11
+ 16V + 5V
FASEA
8
+ 16V
GND
FASEA
FASEA
FASEB
FASEB
FASEC
FASEC
- 5V
CON1
VCC GND
GND
+ 5V
FASEA
14
- 5V
ALIMENTACAO
+ 16V
10
CON3
FASEB
U2
3
P3
5 0k
U2
TL0 8 2
10k
FASEB
6
ANALOG
24
R4
FASEC
12
U1 :B
7
U2
5
FASEC
4
13
U2
6
GND
P4
100k
U2
7
R5
1k
D3
2 v7
R3
2 k2
+ 5V
U2
D2
1 n4 1 48
33/ 34
I/ O
33 / 3 4
ANALOG
ENCODER
GND
+ 5V
186
2 4/ 2 1
I/ O
22
I/ O
FASE A
B
I/O
FASE B
B
FASE C
B
ANALOG
CON3
ALIMENTAO
22
21
+16V
+5V
GND -5V
D1
Z1
4 5 6
out
3 2 1
5V
D3
LEM1
D2
R1
U1
5 6
3 2 1
5V
OUT2 IN2
CON2
MOTOR
OFFSET
LEM2
OUT1 IN1
GND
R4
P2
P1
P3
P4
PLACA
CONDICIONADORA
U2
CON1
ENCODER
out
GANHO
GANHO
OFFSET
23
D4 R3
R2
8
24
24
R5
R15
R14
R13
R12
R11
R10
187
188