capítulo 4 conversão de corrente contínua em alternadacjr/mestrado/cap_4 - conversao de...

59
51 Capítulo 4 Conversão de corrente contínua em alternada A corrente quase contínua que o conjunto rectificador / bobina_alisamento fornece tem de ser modificada de forma a possuir características que lhe permitam ser injectada na rede eléctrica de distribuição pública. As características impõem: Corrente alternada de componente fundamental sinusoidal e com 50Hz. Baixo conteúdo harmónico. Para obter essas características a corrente passa por um inversor que a torna alternada e por um filtro que lhe baixa o conteúdo harmónico de alta frequência. L C filtro AC inversor corrente fonte corrente I dc corrente sinusoidal Figura 4.1 - Esquema geral da conversão dc-ac. A entrada em corrente do conversor DC/AC obriga ao uso de um inversor de corrente que tem características e funcionalidades diferentes do convencional inversor de tensão. Para minimizar o conteúdo harmónico o inversor de corrente é comandado através da técnica de modulação de largura de impulsos (PWM). Esta técnica permite mudar os harmónicos gerados pela comutação dos interruptores para frequências elevadas, simplificando assim a sua filtragem. Simultaneamente o PWM permite regular a amplitude da componente fundamental, evitando que a fonte de corrente contínua que alimenta o inversor tenha necessidade de ser controlada.

Upload: vantu

Post on 08-Nov-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

51

Capítulo 4

Conversão de corrente contínua em alternada

A corrente quase contínua que o conjunto rectificador / bobina_alisamento fornece tem de sermodificada de forma a possuir características que lhe permitam ser injectada na rede eléctricade distribuição pública.

As características impõem:

• Corrente alternada de componente fundamental sinusoidal e com 50Hz.

• Baixo conteúdo harmónico.

Para obter essas características a corrente passa por um inversor que a torna alternada e porum filtro que lhe baixa o conteúdo harmónico de alta frequência.

L

C

filtro ACinversorcorrente

fontecorrente

Idc

correntesinusoidal

Figura 4.1 - Esquema geral da conversão dc-ac.

A entrada em corrente do conversor DC/AC obriga ao uso de um inversor de corrente que temcaracterísticas e funcionalidades diferentes do convencional inversor de tensão.

Para minimizar o conteúdo harmónico o inversor de corrente é comandado através da técnicade modulação de largura de impulsos (PWM). Esta técnica permite mudar os harmónicosgerados pela comutação dos interruptores para frequências elevadas, simplificando assim asua filtragem. Simultaneamente o PWM permite regular a amplitude da componentefundamental, evitando que a fonte de corrente contínua que alimenta o inversor tenhanecessidade de ser controlada.

Conversão de corrente contínua em alternada

52

1 Inversor de corrente

1.1 Introdução

Como o próprio nome indica o inversor de corrente é um dispositivo que permite transformara corrente contínua com que é alimentado, em corrente alternada com determinadascaracterísticas. Para o efeito, a corrente DC à entrada é cortada em impulsos através dosinterruptores que ligam a entrada às três fases da saída.

g2hg1h g3h

g2Lg1L g3L

IR

IS

IT

Idc

Idc

Figura 4.2 - Esquema básico do inversor de corrente.

O comando dos interruptores tem de ser efectuado de modo a que as componentes espectraissejam as desejáveis. O uso de interruptores rápidos e com capacidade de serem comandadosnos dois estados (corte e condução) permite o uso da técnica de modulação de largura deimpulsos (PWM - Pulse Width Modulation). Esta técnica permite o controlo da amplitude dacomponente fundamental da corrente de saída e afastar os harmónicos para frequênciaselevadas, simplificando a filtragem.

Normalmente o inversor de corrente é ligado a uma carga que pode ser modelizada por umsistema de tensões trifásico equilibrado, e alimentado por uma fonte que consiste numa fontede tensão DC em série com uma bobina de alisamento.

g2hg1h g3h

g2Lg1L g3L

VR

VS

VT

IR

IS

IT

L alisamento

Vdc fonte

Idc

Vdc inv

Figura 4.3 - Utilização normal do inversor de corrente.

Conversão de corrente contínua em alternada

53

Dependendo do esfasamento entre a corrente de saída e a tensão de carga, os interruptorespodem ter de suportar tensões inversas aos seus terminais. Isto leva a que os interruptorestenham de ser implementados com dispositivos que suportem as respectivas tensões.

O inversor de corrente pode ser modelizado quer do lado DC, quer do lado AC, pelo esquemaindicado na figura seguinte:

VR

VS

VT

IR

IS

IT

Idc

Idc

Inversorde

correnteVdc

Parâmetros de controlo:

im -> índice de modulação [0..1]θ -> esfasamento entre a corrente de saída e a tensão decarga [-π..π]

Valores que não dependem do inversor:

V (t) V sin(2 . . t)

V (t) V sin(2 . . t )

V (t) V sin(2 . . t )

I (t) I

R2

3 C r

S2

3 C r23

T2

3 C r43

DC DC

== −= −=

ππ ππ π

f

f

f

VC tensao composta da rede

rfrequencia da rede

⇒f

Valores impostos pelo inversor:

I (t) I sin(2 t ).im

I (t) I sin(2 t ).im

I (t) I sin(2 t ).im

V im V cos ( )

R DC

S DC

T DC

DC32 C

= −= − −= − −= ⋅ ⋅ ⋅

π θπ π θπ π θ

θ

.f .

.f .

.f .

r

r

r

23

43

Figura 4.4 - Modelação do inversor de corrente.

A relação entre a potência activa e reactiva vista pela carga, é dada pelo esfasamento impostoentre a corrente de saída e a tensão de carga.

Se a corrente DC de entrada não depender do inversor (Ex: Se a fonte de corrente for ideal ounum caso mais realista e praticável, se a fonte de tensão DC de entrada for controlada deforma a manter a corrente constante), o trânsito de potência activa (P) e reactiva (Q) pode sercontrolado independentemente um do outro através do índice de modulação (im) e doesfasamento (θ):

P Idc Vc im cos( )

Q Idc Vc im sin( )

32

32

= ⋅ ⋅ ⋅ ⋅= ⋅ ⋅ ⋅ ⋅

θθ

(4.1)

onde Idc é a corrente DC de entrada e Vc é a tensão composta da carga.

Se a corrente DC de entrada tiver de ser controlada através da tensão Vdc gerada pelo inversorà sua entrada, o trânsito das potências activa e reactiva fica condicionado uma vez que osparâmetros de controlo do inversor im e θ ficam relacionados pela seguinte fórmula:

V im VDC c= 32 cos( )θ (4.2)

pelo que a sua escolha fica dependente da tensão que o inversor tem de gerar à entrada,deixando de ser independentes.

Conversão de corrente contínua em alternada

54

1.2 Regras para o controlo

Ao contrário do inversor de tensão onde cada fase do inversor pode ser controladaindividualmente e independentemente das outras duas1, no inversor de corrente o controlo dastrês fases tem de ser feito em conjunto.

A primeira regra surge pela necessidade de haver sempre um caminho por onde a corrente dabobina de alisamento circular. Se em algum instante a corrente não tiver um circuito por ondefluir, criará uma sobretensão aos terminais do inversor de modo a ‘abrir caminho’ para acorrente fluir e dissipar a energia armazenada na bobina. Naturalmente esta sobretensão levaráà destruição do inversor.

Por este facto a primeira regra indica que em cada instante pelo menos um dos trêsinterruptores superiores (g1h, g2h e g3h) e pelo menos um dos três interruptores inferiores(g1L, g2L e g3L) devem estar ligados para permitir um caminho à corrente.

A segunda regra surge pela necessidade de se garantir que a forma de onda da corrente desaída das três fases depende unicamente do controlo do inversor, e não da tensão existente ecriada pela carga nas fases.

Suponha-se que num dado instante os interruptores g1h e g2L estão ligados e que na bobinapassa a corrente Idc. Neste caso a corrente nas fases R, S e T está bem definida e valerespectivamente Idc, -Idc e zero.

g2hg1h g3h

g2Lg1L g3L

VR

VS

VT

IR

IS

IT

Idc

Idc

IR = -IS = Idc

g2hg1h g3h

g2Lg1L g3L

VR

VS

VT

IR

IS

IT

Idc

Idc

IR - IS = IdcIR e IS desconhecidos pelo controladorDependem das tensões V S e V T

??

Figura 4.5 - Demonstração da necessidade de haver apenas 1 interruptor aconduzir nos grupos superior e inferior.

Suponha-se agora que o interruptor g3L também está ligado. Neste caso a repartição dacorrente Idc pelas fases R e T depende das tensões Vrs e Vts fluindo maioritariamente pelafase que oferecer menor resistência (menor tensão). Neste caso o comando do inversor nuncapoderia garantir qual a corrente que está a circular nas 3 fases, uma vez que a distribuição decorrentes dependeria também das tensões de carga.

Realmente, se não fossem os díodos em serie (ver secção 3), neste caso onde estão 3interruptores ligados, poderia inclusive, dar-se o caso de haver uma corrente de circulação dafase com maior tensão para a fase com menor tensão.

1 Na realidade a única regra a cumprir no caso do inversor de tensão é garantir que os dois interruptores de cadafase nunca estão simultaneamente ligados, de forma a evitar que a fonte de tensão DC seja curto-circuitada.

Conversão de corrente contínua em alternada

55

Assim a segunda regra indica que apenas um interruptor de cada grupo superior e inferiorpode estar a conduzir num dado instante.

Estas duas regras combinam-se para gerar a regra de ‘ouro’ para o inversor de corrente: Emcada instante deve estar um e um só interruptor ligado em cada grupo, superior e inferior.

Para se controlar a potência entregue à carga, em vez de se abrirem os 6 interruptores como nocaso do inversor de tensão, fecham-se alternadamente os dois interruptores de cada faseefectuado assim uma ‘roda livre’ na corrente da bobina e isolando a corrente de carga dacorrente de entrada DC.

1.3 Base de PWM

O PWM usado neste trabalho baseia-se no método descrito por Ohnishi e Okitsu [ 8] .

Segundo os autores, este PWM melhora a eliminação dos harmónicos de ordens mais baixas eo ganho para o lado DC (a tensão rectificada obtida é mais elevada e o “ripple” mais baixo)em relação às outras técnicas existentes.

O PWM baseia-se no facto de apenas duas das três referências da corrente de saída seremindependentes, uma vez que a soma das 3 correntes deve ser nula em cada instante de tempo.

IR

IS

IT

( ) ( ) ( )t t t+ + = 0 (4.3)

Isto significa que depois de se definirem os pulsos de PWM para duas correntes, os pulsospara a terceira ficam automaticamente definidos.

A construção do PWM desenvolve-se pela composição de duas moduladoras (M1 e M2)obtidas a partir das três correntes pretendidas (IR, I S e I T). Os sinais M1 e M2 são obtidosdividindo o período das correntes IR, I S e I T em seis intervalos iguais. Em cada intervalo, S1 eS2 são compostos tomando o valor absoluto dos sinais IR, I S e I T de menor valor absoluto.

t

t

t

IR IS IT

T1 T2 T6T3 T4 T5

M1

M2

M t

IR

se t T

IS

se t T

IS

se t T

IT

se t T

IT

se t T

IR

se t T

1

1

2

3

4

5

6

( ) =

∈− ∈

∈− ∈

∈− ∈

M t

IT

se t T

IT

se t T

IR

se t T

IR

se t T

IS

se t T

IS

se t T

2

1

2

3

4

5

6

( ) =

∈− ∈

∈− ∈

∈− ∈

Figura 4.6 - Construção das moduladoras M 1 e M 2.

As moduladoras obtidas vão modular duas portadoras (P1 e P2) com frequência:

( )f m fP r= +6 3. . (4.4)

Conversão de corrente contínua em alternada

56

onde fr é a frequência das moduladoras e m é um número inteiro. A restrição da frequênciadas portadoras pela equação anterior, deve-se ao facto de ser necessário garantir algumassimetrias entre os 6 intervalos de tempo em que as moduladoras são divididas.

A modulação é efectuada através da comparação entre a portadora e a moduladora em cadainstante de tempo:

r tse m t p t

se m t p t( )

( ) ( )

( ) ( )=

>≤

1

0(4.5)

onde r(t) é o resultado da modulação, m(t) é a moduladora e p(t) é a portadora.

Figura 4.7 - Operação de modulação.

A relação entre a amplitude das portadoras P1 e P2 e a amplitude das correntes de referênciaIR, I S e I T indica a relação entre a corrente IDC e a amplitude das correntes obtidas na saída doinversor.

Para simplificar, mantêm-se a amplitude das portadoras igual a 1 e varia-se a amplitude dascorrentes de referência entre 0 e 1 através da sua multiplicação por um factor im, o qual sedenomina por índice de modulação.

Desta forma , o índice de modulação ao determinar a amplitude das correntes de referência:

( )( )( )

I t

I t

I t

R

S

T

== −= −

im

im

im

.sin .

.sin .

.sin .

ωω πω π

23

43

(4.6)

impõe a relação entre a corrente IDC e a amplitude das correntes obtidas na saída do inversor.

Da modulação entre M1 e P1 resulta o sinal S1 e da modulação entre M2 e P2 o sinal S2. Umterceiro sinal: S3, é obtido através da negação de um “ou” lógico entre os sinais S1 e S2:

S S S3 1 2= + (4.7)

Conversão de corrente contínua em alternada

57

g2h

g1L g2L

g3h

g3L

g1h

I Rs

I DC

I SsI Ts

Figura 4.8 - Inversor de corrente.

Os sinais de comando dos interruptores (g1h, g2h, g3h, g1l, g2l, g3l) são calculados a partirdos sinais S1, S2 e S3 e a partir do intervalo de tempo T1..T6 correspondente ao momento, apartir das seguintes expressões lógicas:

g1h T S T T S T S

g2h T S T S T T S

g3h T S T S T S T

g1l T S T S T T S

g2l T T S T S T S

g3l T S T T S T S

1 1 2 3 2 5 3

1 3 3 1 4 5 2

1 2 3 3 5 1 6

2 3 4 2 5 6 1

1 2 1 4 3 6 2

2 2 3 4 1 6 3

= + + += + + += + + += + + += + + += + + +

. . .

. . .

. . .

. . .

. . .

. . .

(4.8)

Analisando as expressões anteriores é possível verificar que este PWM garante o respeito dasregras indicadas na Secção (1.2). Em cada instante de tempo existe sempre um e apenas umIGBT a conduzir nos ramos superior (g1h, g2h, g3h) e inferior (g1l, g2l, g3l) do inversor.

Em cada intervalo de tempo os sinais S1 e S2 dão os instantes em que o inversor injectacorrente na saída. O sinal S3 dá os instantes em que o inversor desliga as saídas, ligando oIGBT superior e inferior do mesmo ramo, fazendo a corrente de entrada circular em roda livre.Verifica-se assim que este PWM controla a “quantidade” de corrente injectada na carga,variando o tempo em que o inversor está em roda livre. Para índices de modulação próximosda unidade S3 é pequeno, crescendo à medida que o im desce, ficando o inversorpermanentemente em roda livre com o im igual a zero.

As correntes de saída IRs, I Ss e I Ts são obtidas a partir do comando das gates e da corrente deentrada IDC.

( )( )( )

I I g h g l

I I g h g l

I I g h g l

Rs DC

Ss DC

Ts DC

= −= −= −

.

.

.

1 1

2 2

3 3

(4.9)

Para controlar a fase das correntes de saída toma-se como referência a fase R da tensão darede (VR) para a qual o inversor debita corrente. O esfasamento entre a tensão da rede e acorrente de referência IR, impõe a fase das correntes debitadas pelo inversor (IRs, I Ss e I Ts) emrelação à tensão da rede.

As figuras seguintes exemplificam o processo de construção do PWM. Para que os impulsosconsigam ser visualizados com clareza no gráfico, optou-se por fazer m=3. Isto significa que

Conversão de corrente contínua em alternada

58

as portadoras têm uma frequência de 21 vezes a frequência das correntes de referência(eq.4.4).

Figura 4.9 - Geração dos sinais de comando do inversor e correntes obtidasna saída para im=1

Conversão de corrente contínua em alternada

59

Figura 4.10 - Geração dos sinais de comando do inversor e correntes obtidasna saída para im=0.5

Conversão de corrente contínua em alternada

60

Figura 4.11 - Geração dos sinais de comando do inversor e correntes obtidasna saída para im=0.1

1.4 Implementação do PWM

O controlo dos interruptores é feito directamente a partir do µC. Como não é possível obterfórmulas explícitas, simples e rápidas de calcular os impulsos de controlo, optou-se portabelar os sinais de comando.

Uma definição que ajuda a compreender a forma de controlo do inversor implementada e aconstrução das tabelas de comando é o “estado de inversor” (est_inv). O est_inv indica se osinterruptores estão ligados ou desligados e durante quanto tempo assim permanecem.

A forma escolhida para representar o estado do inversor é a seguinte:

Conversão de corrente contínua em alternada

61

estado g h g h g h g l g l g l tempo

estado estado gates tempo estado

==

1 2 3 1 2 3; ; ; ; ; ;

_ ; _(4.10)

onde gij assume os valores 1 ou 0 consoante o respectivo interruptor está ligado ou desligado,e tempo representa a duração temporal do estado. O termo “estado_gates” tem origem nosinal que comanda o interruptor utilizado: o IGBT.

Como é óbvio, é possível representar todo o comando de um inversor a partir de umasequência de estados. Como exemplo, mostra-se a sequência de estados para o controlo emonda quadrada.

Figura 4.12 - Forma de onda das correntes de saída para um controlo em ondaquadrada e respectiva sequência de estados de controlo.

Das Figuras 4.9 a 4.11 verifica-se que os sinais S1, S2 e S3 repetem-se a cada 1/6 de períododas ondas de referência. O sinal S2 pode ser obtido se invertermos S1 no tempo, isto é: S2(t) =S1(-t). O sinal S3 é obtido a partir de S1 e S2 segundo a equação 4.7. Isto quer dizer que todo ocontrolo do inversor fica definido a partir do sinal S1 durante o primeiro 1/6 de período (T1).

As transições do sinal S1 (durante T1) são dadas pelos pontos de intersecção dos sinais P1 eM1, conforme pode ser visto na figura seguinte.

m imT

t12

=

sin

π

Os tempos decruzamento t1..t14 sãocalculados porprocessos numéricos.

Figura 4.13 - Transições do sinal S1 em função de P1 e M 1.

Os pontos de transição são obtidos resolvendo numericamente para x, equações da forma:

Conversão de corrente contínua em alternada

62

a x b im x. .sin( )+ = (4.11)

A partir da equação 4.8 e definindo os sinais: C1, C2, e C3 respectivamente como S1(t), S1(-t)e S (t) ou S (t)2 2 apenas durante o primeiro 1/6 período, é obtida a tabela de controlo dosinterruptores do inversor que se representa na seguinte tabela.

T1 T2 T3 T4 T5 T6g1h c1 1 c2 0 c3 0g2h c3 0 c1 1 c2 0g3h c2 0 c3 0 c1 1g1L 0 c3 0 c1 1 c2g2L 1 c2 0 c3 0 c1g3L 0 c1 1 c2 0 c3

Tabela 4.1 - Sinais que devem ser aplicados no comando dos interruptores emfunção do intervalo de tempo respectivo.

Como se verifica na Figura 4.14, existe uma mudança de estado sempre que C3 possui umatransição. Desta forma, os tempos de duração dos estados são dados pelos tempos do sinal C3,e como é óbvio repetem-se a cada 1/6 de período. Uma outra simetria que é visível no sinal C3

é a repetição na segunda metade do sinal, dos valores da primeira metade por ordem inversa.

Figura 4.14 - Obtenção do sinal de comando dos interruptores durante oprimeiro 1/6 de período (T1)

Desta forma a obtenção da sequência de estados no caso do PWM utilizado é conseguidaatravés dos tempos de transição do sinal C3 e do intervalo de tempo considerado (T1..T6)segundo a Tabela 4.1.

A sequência total dos estados obtidos é indicada na próxima tabela. Os valores de temporeferidos são obtidos através da Figura 4.14. Naturalmente, os intervalos de tempo d1..d15 sãocalculados a partir dos intervalos de tempo do sinal C1 (k1..k15) que são obtidos a partir damodulação realizada como se mostra na Figura 4.13.

Conversão de corrente contínua em alternada

63

Tabela 4.2 - Constituição da tabela de controlo do inversor para o PWMusado neste trabalho. A frequência das portadoras é de 45 vezes a frequência

das correntes de referência. Os tempos d1..d15 são função do índice demodulação.

Conversão de corrente contínua em alternada

64

Cada índice de modulação (im) possui uma tabela de controlo. Como é óbvio a sequência docomando dos interruptores é igual para todos os im. O que varia é o tempo de permanência emcada estado. Por outras palavras: o que varia com o im são os tempos d1..d15.

A redundância de informação na tabela é grande. Para 174 “tempos” de estado, apenas 15 sãodiferentes e colocados por uma ordem perfeitamente definida.

Isto sugere que se crie apenas uma tabela com a sequência do comando dos interruptores paratodos os im, e uma tabela com os valores d1..d15 para cada im.

No entanto, para o µC conseguir controlar o inversor com eficiência e para que a rotina queexecuta a mudança de estado seja executada no menor tempo possível, a construção dastabelas é feita de uma forma ligeiramente diferente, ficando com alguma redundância deinformação.

Durante o cálculo dos valores d1..d15 não se coloca nenhuma restrição ao seu valor. Noentanto a duração de um estado está restringida às seguintes condições:

• O tempo de um estado está limitado inferiormente pelo tempo mínimo de condução oucorte dos interruptores. Optou-se por fazer a duração mínima de condução ou corte dosIGBTs de 10µs.

• O tempo de um estado está limitado inferiormente pelo tempo que a rotina do µC queexecuta a mudança de estado demora a ser executada. Esta rotina demora no máximo 8.6µsa ser executada.

• A resolução do tempo de um estado está limitada à resolução do contador que implementao controlo do tempo. Como o contador tem uma resolução de 200ns (rct ), o tempo tem derespeitar a seguinte fórmula:

tempo nc ns n= . ,200 inteiro (4.12)

onde nc representa o valor colocado no contador do µC.

Como é óbvio as duas primeiras restrições são combinadas numa só, limitando a duraçãomínima a 10µs. Isto significa que o valor mínimo de nc é 50 (10µs/200ns).

A influência destas restrições no tempo de duração dos estados de PWM é analisada na secção(1.7).

1.5 Comando do inversor

O módulo de software responsável pelo comando do inversor recebe o índice de modulaçãoatravés da variável global G_pwm_im e da função muda_im_pwm(). A fase é indicada atravésda função muda_fase_pwm(fase). Depois de receber estes dois valores, o módulo éresponsável por todos os acontecimentos relativos ao comando do inversor.

Conversão de corrente contínua em alternada

65

Modulo decomando do

inversor

G _ p w m _ i mmuda_ im_pwm()

muda_fase_pwm( fase)

arranque_ inversor()paragem_ inversor( )

inicial iza_inversor()

G_f lag_er ro_pwm_faseG_er ro_pwm_fase

G_f lag_er ro_pwm_sync_brutaG_er ro_pwm_sync_bru ta

G_f lag_erro_zero_redeG_erro_zero_rede

Figura 4.15 - Modelo do módulo de software de comando do inversor.

As flags e as variáveis de saída indicam erros na sincronização do PWM com a rede eléctrica.O seu significado é explicado nas secções seguintes.

Com o intuito de sincronizar a onda da corrente de saída com a onda da tensão da rede, existeum sinal de sincronismo (Ssync) que gera uma interrupção no µC sempre que a onda da tensãoVR passa por zero no sentido ascendente. Esta interrupção vai servir não só para manter osincronismo, mas também para medir o período real (em cada ciclo) da rede eléctrica.

O módulo possui uma base de dados com as tabelas necessárias ao controlo do inversor para1000 índices de modulação. A forma como as tabelas estão construídas e colocadas namemória do µC está optimizada para que a rotina responsável pela mudança de estado doinversor seja executada no menor tempo possível. Isto leva necessariamente a uma elevadaredundância de informação contida na base de dados do PWM. A quantidade de memóriaocupada pela base de dados não é preocupante, uma vez que a plataforma utilizada possuimemória suficiente. Pelo contrário o tempo de execução da rotina que implementa a mudançade estado do inversor é um factor de extrema importância uma vez que limita o tempo mínimode duração dos estados e é executada durante 174 vezes (o número de estados) durante cadaperíodo da rede eléctrica (20ms).

Para além da base de dados com as tabelas de PWM e do sinal de interrupção parasincronismo o módulo de controlo do inversor utiliza ainda os seguintes recursos do µC:

• Temporizador / Contador T6 - Para a contagem do tempo de duração dos estados,provocando uma interrupção que executa a mudança de estado sempre que o tempo deduração do estado anterior expira.

• Temporizador / Contador T1 - Para a contagem do tempo que decorre entre duasinterrupções consecutivas do sinal de sincronismo. Gera ainda uma interrupção queassinala um erro no caso do sinal de sincronismo não surgir ao fim de 26ms contados apartir da ultima passagem por zero detectada.

• Temporizador / Contador T3 - Utilizado para implementar o controlo do esfasamento entrea corrente de saída e a tensão da rede. Controla o tempo que decorre entre uma interrupçãode sincronismo Ssync (passagem por zero da tensão da rede) e a colocação na origem doPWM (passagem por zero da corrente de saída).

• Porta P7 - Porta utilizada para controlar os interruptores do inversor (P7.0 P7.5) e manter osincronismo do PWM com a rede (P7.6 e P7.7).

Conversão de corrente contínua em alternada

66

• 2 bancos de registos (pwm_regs e sync1_regs) - Para processamento e armazenamento dedados entre chamadas de rotinas. A utilização de registos para armazenamento deinformação entre chamadas de rotinas permite tornar essas rotinas mais rápidas uma vezque não é feito acesso à memória convencional.

• Apontador DPP0 (“data page pointer 0”) - É utilizado para aceder à informação das tabelasdo PWM como se fossem variáveis do tipo “near”. O acesso a variáveis através dos “datapage pointer” (variáveis “near”) é mais rápido do que o acesso tipo “extended page” ou“extended segment”.

A maior parte das rotinas responsáveis pelo comando do inversor foram escritas em assemblyde modo a optimizar o tempo de execução. O código está descrito no Anexo C e encontra-sedocumentado. No entanto a sua total compreensão exige o conhecimento da arquitectura doC167 e do seu assembly.

1.5.1 Organização e armazenamento das tabelas de PWM

A rotina que executa a mudança de estado do inversor utiliza o apontador DPP0 para aceder àinformação necessária a cada estado: o estado dos interruptores (gates) e a duração dorespectivo estado (tempos).

Na Secção 1.4 foi visto que 15 valores (d1..d15) são suficientes para indicar o tempo deduração dos estados para cada índice de modulação (im). Aparentemente a melhor forma deconstruir as tabelas seria formar uma tabela de 15 valores para cada im. Esta tabela seriaalternadamente percorrida nos dois sentidos sendo assim obtida a sequência correcta dostempos.

No entanto, isto leva a que a rotina que executa a mudança de estado tenha de incluir umacondição para verificar em que sentido está a percorrer a tabela. Isto significa um tempo deexecução que pode ser poupado se a tabela for percorrida apenas num sentido.

Desta forma, a tabela de tempos para cada im é constituída por 29 valores correspondentes a1/6 de período das correntes de saída. Cada valor da tabela é armazenado em 16 bits. Paraindicar o fim da tabela é colocado o valor FFFFh (valor negativo em complemento para dois).

Embora 8 bits fossem suficientes, é mais rápido mover e operar 16 bits neste µC do que 8 bits.Alem disso para se usar 8 bits seria necessário baixar a resolução do contador de 200ns para400ns, o que levaria a piorar a linearidade entre Vdc e im conforme é exposto na Secção 1.7.

Atendendo a que o tamanho das tabelas de tempo é sempre o mesmo para cada im, o valorque indica o fim da tabela é dispensável se a rotina que executa a mudança de estado possuirum contador que sinalize que chegou ao fim da tabela. No entanto, incrementar e verificar ocontador demora tempo.

Assim cada tabela de tempo ocupa (29+1)∗2 = 60bytes.

Deve ser notado que a tabela de tempos pode possuir valores com zero, correspondentes aosestados eliminados por terem uma duração inferior ao limite imposto.

Conversão de corrente contínua em alternada

67

d1d2d3

......

d14d15d14

......

d3d2d1

FFFFh

Figura 4.16 - Tabela com a duração dos estados do PWM. Os 29 valorescorrespondem aos estados durante 1/6 de período que depois se repetem paraos restantes 5/6. A tabela é percorrida no sentido descendente e o seu final ésinalizado com o valor FFFFh. Cada im possui uma tabela deste tipo queocupa 60bytes.

Como a sequência de gates é sempre a mesma, aparentemente apenas seria necessário umatabela de gates para todos os índices de modulação. No entanto a informação necessária acada estado deve estar contida dentro do alcance do apontador DPP0. O DDP0 permite acederapenas a uma página (16kb) de memória do µC. Como é óbvio as tabelas de tempo para os1000 im não cabem em 16kb.

Assim em cada página de memória onde existam tabelas de tempo, tem de existir uma tabelacom a sequência de gates.

A posição de gates relativamente ao início de cada página tem de ser a mesma, de modo a queo apontador que mantêm a posição actual de gates esteja sempre certo, independentemente dapágina a ser usada.

4 páginas são suficientes para guardar as tabelas de PWM, pelo que a tabela de gates érepetida 4 vezes no início dessas 4 páginas.

A tabela de gates indica se os interruptores estão ligados ou desligados em cada estado doinversor. Como o sinal da porta do µC que controla os interruptores é invertido nocondicionamento de sinal, um “0” indica que interruptor está fechado e um “1” indica que estáaberto.

Como existem 6 interruptores no inversor, seriam necessários apenas 6 bits para codificar oseu estado. No entanto a organização ao byte da memória do µC e atendendo a que neste µC émais rápido mover e operar 16bits do que 8bits leva a que cada estado de gates ocupe 16bits.

A tabela de gates é terminada com um zero. Desta forma a tabela ocupa(29∗6+1) ∗2=350bytes.

Para localizar a tabela correspondente a um determinado im existem dois vectores que estãoordenados por ordem crescente do im a que se referem. Um dos vectores indica a página dememória, e o outro indica o deslocamento da tabela de tempos do respectivo im.

Conversão de corrente contínua em alternada

68

A figura seguinte fornece o panorama geral da organização das tabelas. Os im são espaçadosde 1/1000=0.001.Com a limitação inferior do tempo de duração dos estados, as tabelas detempos para os im inferiores a 0,027 são iguais. Desta forma o im mais baixo que se tabela éo 0,027, que corresponde a manter o inversor permanentemente em “roda livre”.

g 1g 2g 3g 4

. . . . .

g 171g 172g 173g 1740000h

gate

sim

= 0

.027

d 1 0 .027

. . . . .

FFFFh

. . . . .

d 1 0 .027

d 2 0 .027d 3 0 .027

d 3 0 .027d 2 0 .027

d 14 0 .027

d 14 0 .027d 15 0 .027

im =

0.0

28

d 1 0 .028

. . . . .

FFFFh

. . . . .

d 1 0 .028

d 2 0 .028d 3 0 .028

d 3 0 .028d 2 0 .028

d 14 0 .028

d 14 0 .028d 15 0 .028

. . . . .

. . . . .

. . . . .

im =

0.2

93

d 1 0 .293

. . . . .

FFFFh

. . . . .

d 1 0 .293

d 2 0 .293d 3 0 .293

d 3 0 .293d 2 0 .293

d 14 0 .293

d 14 0 .293d 15 0 .293

015Dh015Eh

0000h

0199h019Ah

01D5h

3F86h

3FC1h

Página Aoffset

g 1g 2g 3g 4

. . . . .

g 171g 172g 173g 1740000h

gate

s

. . . . .

. . . . .

. . . . .

015Dh015Eh

0000h

0199h019Ah

01D5h

3F86h

3FC1h

Página Boffset

im =

0.2

94

d 1 0 .294

. . . . .

FFFFh

. . . . .

d 1 0 .294

d 2 0 .294d 3 0 .294

d 3 0 .294d 2 0 .294

d 14 0 .294

d 14 0 .294d 15 0 .294

im =

0.2

95

d 1 0 .295

. . . . .

FFFFh

. . . . .

d 1 0 .295

d 2 0 .295d 3 0 .295

d 3 0 .295d 2 0 .295

d 14 0 .295

d 14 0 .295d 15 0 .295

im =

0.5

60

d 1 0 .560

. . . . .

FFFFh

. . . . .

d 1 0 .560

d 2 0 .560d 3 0 .560

d 3 0 .560d 2 0 .560

d 14 0 .560

d 14 0 .560d 15 0 .560

g 1g 2g 3g 4

. . . . .

g 171g 172g 173g 1740000h

gate

s

. . . . .

. . . . .

. . . . .

015Dh015Eh

0000h

0199h019Ah

01D5h

3F86h

3FC1h

Página Coffset

im =

0.5

61

d 1 0 .561

. . . . .

FFFFh

. . . . .

d 1 0 .561

d 2 0 .561d 3 0 .561

d 3 0 .561d 2 0 .561

d 14 0 .561

d 14 0 .561d 15 0 .561

im =

0.5

62

d 1 0 .562

. . . . .

FFFFh

. . . . .

d 1 0 .562

d 2 0 .562d 3 0 .562

d 3 0 .562d 2 0 .562

d 14 0 .562

d 14 0 .562d 15 0 .562

im =

0.8

27

d 1 0 .827

. . . . .

FFFFh

. . . . .

d 1 0 .827

d 2 0 .827d 3 0 .827

d 3 0 .827d 2 0 .827

d 14 0 .827

d 14 0 .827d 15 0 .827

g 1g 2g 3g 4

. . . . .

g 171g 172g 173g 1740000h

gate

s

. . . . .

. . . . .

. . . . .

015Dh015Eh

0000h

0199h019Ah

01D5h

29AEh

29E9h

Página Doffset

im =

0.8

28

d 1 0 .828

. . . . .

FFFFh

. . . . .

d 1 0 .828

d 2 0 .828d 3 0 .828

d 3 0 .828d 2 0 .828

d 14 0 .828

d 14 0 .828d 15 0 .828

im =

0.8

29

d 1 0 .829

. . . . .

FFFFh

. . . . .

d 1 0 .829

d 2 0 .829d 3 0 .829

d 3 0 .829d 2 0 .829

d 14 0 .829

d 14 0 .829d 15 0 .829

pof(0.027)pof(0.028)pof(0.029)pof(0.030)

. . . . .

pof(0.997)pof(0.998)pof(0.999)pof(1.000)pag(0.027)pag(0.028)pag(0.029)pag(0.030)

. . . . .

pag(0.997)pag(0.998)pag(0.999)pag(1.000)

page

offs

etpá

gina

im =

1.0

00

d 1 1 .000

. . . . .

FFFFh

. . . . .

d 1 1 .000

d 2 1 .000d 3 1 .000

d 3 1 .000d 2 1 .000

d 14 1 .000

d 14 1 .000d 15 1 .000

3186h

29EAh

3185h

3921h

DPP0 DPP0 DPP0 DPP0

ptr_gates

ptr_tempos

page_offset

página

ptr_gates_RELOAD

ptr_tempos_RELOAD

DPP0 -> aponta para o in ic io de uma das pág inas A , B , C ou DDPP0 = *página ( im )

ptr_gates_RELOAD -> ind ica o of fset page do in ic io da tabela gatesptr_gates_RELOAD = 0000h

ptr_tempos_RELOAD -> ind ica o of fset page do in ic io da tabela tempos do actua l imptr_tempos_RELOAD = *page_offset ( im )

page_offset -> vector para indicar o ptr_gates_RELOAD dos var ios impágina -> vector para ind icar a página a ser ut i l izada para cada im

ptr_gates -> ind ica o o f fset page do estado dos in ter ruptores no prox imo estado do inversorptr_gates -> var ia entre ptr_gates_RELOAD e ptr_gates_RELOAD +2*6*29

ptr_tempos -> ind ica o o f fse t page da duração do prox imo estado do inversorptr_tempos -> var ia entre ptr_tempos_RELOAD e ptr_tempos_RELOAD +2*29

Figura 4.17 - Organização das tabelas usadas na síntese do PWM.

1.5.2 Mudança de estado

A mudança de estado do inversor é realizada através de uma rotina (gera_pwm()) chamadapor interrupção. A interrupção é gerada pelo contador T6 sempre que o seu valor chega a zero(T6INT ).

Conversão de corrente contínua em alternada

69

Sempre que o contador T6 chega a zero, alem de gerar a interrupção, é recarregadoautomaticamente por hardware com o valor guardado no registo T6RELOAD(correspondente à duração do próximo estado), começando uma nova contagem decrescente.

A rotina gera_pwm() quando for chamada devido ao tempo do estado i-1 ter expirado, deveefectuar a sobreposição de condução entre os estados i-1 e i, colocar o inversor no estado i eactualizar o registo T6RELOAD com o tempo de duração do estado i+1. Deve ser reparadoque quando a rotina é chamada, já o T6 foi carregado com a duração do estado i que estava noregisto T6RELOAD .

O tempo do estado i que a rotina coloca em T6RELOAD , é corrigido através da soma de umvalor de correcção (CORRIGE_TEMPO ) ao valor retirado da tabela de tempos (tmp) (verSecções 1.5.4.1 e 1.5.4.2).

No caso do valor de tmp ser zero (devido ao seu tempo calculado ser inferior ao mínimoimposto) a rotina salta para o próximo estado e soma 2 vezes o valor de CORRIGE_TEMPOao novo tmp de forma a que a correcção global aos 174 estados de um período se mantenhaigual. Deve-se notar que a correcção do período do PWM vale174*CORRIGE_TEMPO *200ns.

A sobreposição de condução é conseguida efectuando um “and” entre o estado dosinterruptores do estado i-1 e do estado i. É efectuado um “and” e não um “or” porque a lógicade comando dos interruptores é negada.

Sequência de valores na tabela gatesGates(x)= - - g3L g2L g1L g3H g2H g1HGates(1)= - - 1 0 1 1 0 1Gates(2)= - - 1 1 0 1 0 1

Sequência de valores na porta P7 do yCP7 -> 7 6 5 4 3 2 1 0 - - 1 0 1 1 0 1 <-> valor antes da rotina gera_pwm ser chamada - - 1 0 0 1 0 1 <-> valor de sobreposição - - 1 1 0 1 0 1 <-> valor depois da rotina acabar

Figura 4.18 - Esquema para realizar a sobreposição de condução.

Os apontadores para o início das tabelas gates e tempos são mudados pela rotina que muda oíndice de modulação. O valor de correcção do período é mudado pelas rotinas desincronização com a rede. Os apontadores actuais para as tabelas gates e tempos também sãomudados pelas rotinas que mudam o índice de modulação e que sincronizam com a rede.

A rotina foi escrita em assembly e foi optimizada de forma a correr no menor tempo possível.Para o efeito todas as variáveis foram mantidas num banco de registos (pwm_regs) e acedidascom o apontador DPP0 que é usado exclusivamente1 na síntese do PWM.

1 Deve-se ter muito cuidado em garantir, que as eventuais rotinas fornecidas por terceiros, não utilizem oapontador DPP0.

Conversão de corrente contínua em alternada

70

Em regime normal, a rotina é executada em 7,10µs com uma sobreposição de condução de1,95µs. Se a rotina encontrar um estado de duração nula, ou efectuar o reload1 da tabela detempos é executada em 7.85µs com uma sobreposição de 2,70µs. Se a rotina efectuar umreload simultâneo às tabelas de tempos e gates é executada em 8,60µs com 2,70µs desobreposição.

1 O reload de tabela significa que o ultimo valor foi obtido, pelo que é necessário voltar aoinício da tabela.

Conversão de corrente contínua em alternada

71

Porta_P7 = Porta_P7 and Proxima_gate

gera_pwm

Proximo_tempo = [ ptr_tempos ]ptr_tempos = ptr_tempos + 1

sim

não

ptr_tempos = ptr_inicio_temposProximo_tempo = [ ptr_tempos ]

ptr_tempos = ptr_tempos + 1

Porta_P7 = Proxima_gate

Proximo_tempo=0

sim

Proximo_tempo = [ ptr_tempos ]ptr_tempos = ptr_tempos + 1

ptr_gates = ptr_gates + 1aux_correcção = 2 * corrige_tempo

não

aux_correcção = corrige_tempo

Proximo_tempo=

FFFFh

Proxima_gate = [ ptr_gates ]ptr_gates = ptr_gates + 1

sim

não

ptr_gates = ptr_inicio_gatesProxima_gate = [ ptr_gates ]

ptr_gates = ptr_gates + 1

Proxima_gate=0

T6RELOAD = Proximo_tempo + aux_correcção

FIMgera_pwm

N O T A S :

As tabe las de " tempos" não podem ter opr imeiro valor igual a zero.

O tempo que decor re ent re os passos 1e 2 , é o t e m p o d e s o b r e p o s i ç ã o d econdução

aaa = [ ptr ] -> signi f ica que aaa recebeo c o n t e u d o d a m e m o r i a a p o n t a d a p o rptr . No p rog rama rea l , assume-se queDPP0 (da ta page po in te r 0 ) es tá com ovalor correcto.

Reload da tabela de tempos

Reload da tabela de gates

Estado el iminadoA v a n ç a p a r a opróximo

T 6 e s t á e m c o n t a g e mdecrescente e vai provocaru m a i n t e r r u p ç ã o T 6 I N Tquando chegar a zero

( passo 1 )

( passo 2 )

T6INTerrupt

T6 = T6RELOAD

Figura 4.19 - Fluxograma usado na rotina gera_pwm(). Esta rotina éexecutada por interrupção quando o contador T6 chega a zero.

Conversão de corrente contínua em alternada

72

A prioridade da interrupção T6INT deve ser a mais alta possível de forma a minimizar osatrasos na mudança do estado do inversor. A única interrupção de nível superior é a do ADCque fica a funcionar via PEC. As interrupções do µC nunca são desactivadas para minimizar alatência da interrupção. Até agora não se utilizou um Sistema Operativo, mas no caso de se vira utilizar é necessário ter em atenção o seu efeito na latência desta interrupção, uma vez queao a inibir temporariamente pode estar a introduzir um conteúdo harmónico considerável.

1.5.3 Mudança de índice de modulação

A mudança do índice de modulação é efectuada pela rotina muda_im_pwm() e consiste emcolocar o apontador ptr_tempos_inicio para o início da tabela de tempos correspondente aoíndice de modulação indicado pela variável global G_pwm_im, e colocar o DPP0 a apontarpara a página correcta.

O apontador para a tabela de tempos (ptr_tempos) é mudado de forma a apontar para omesmo estado na sequência de PWM. EX: se o apontador indica a 5ª posição da tabela detempos para im=0.4, e o im pretendido agora é 0.9, o apontador deve indicar a 5ª posição databela de tempos para im=0.9.

O apontador para o início da tabela de gates (ptr_gates_inicio) não precisa de ser mudadoporque as tabelas ocupam sempre a mesma posição nas 4 páginas ocupadas pelas tabelas dePWM. O mesmo se passa para o apontador actual de gates (ptr_gates).

Para garantir a consistência dos apontadores no caso desta rotina ser interrompida pelagera_pwm(), é necessário modifica-los numa sequência de operações indivisível. Como éóbvio esta sequência deve ser executada o mais rapidamente possível para não afectargrandemente a latência da interrupção que chama gera_pwm().

A página das tabelas (gates e tempos) dos índices de modulação é obtida a partir da tabelapágina (Figura 4.17) e o offset da tabela gates é obtido a partir da tabela page_offset (Figura4.17). A variável G_pwm_im (com valores entre 0 e 973 com incrementos de 1) indica aposição do índice de modulação pretendido (respectivamente 1 e 0.027 com incrementos de0.001).

A rotina é escrita em assembly e opera unicamente sobre os registos que guardam os valoresdos apontadores pwm_regs e sobre o DPP0.

Conversão de corrente contínua em alternada

73

aux = ptr_inicio_tempos

muda_im_pwm

ptr_inicio_tempos = auxptr_tempos = ptr_tempos - aux + off

DPP0 = pag

FIMgera_pwm

gu a r d a o o f f s e t i n i c i a l d o i manterior

pag = página( G_pwm_im )off = page_offset( G_pwm_im )

obtem a pág ina e o o f fse t donovo im

P a r a s e g a r a n t i r ac o n s i s t ê n c i a d o s d a d o s ,es tas operações têm de se rr e a l i z a d a s s e m s e r e min te r romp idas . É necessár iogarantir a sua atomicidade.

1234

tabela de tempos do im anteriorptr_inicio_tempos

56

ptr_tempos

123456

tabela de tempos do novo im

apontadores antes da rotina ser executada

1234

tabela de tempos do im anterior

ptr_inicio_tempos

56

ptr_tempos

123456

tabela de tempos do novo im

apontadores depois da rotina ser executada

Figura 4.20 - Fluxograma usado para mudar o índice de modulação.

Desta forma, para se mudar o índice de modulação do inversor é necessário actualizar avariável global G_pwm_im e executar a rotina muda_im_pwm().

1.5.4 Adaptação do PWM às variações de frequência da redeeléctrica.

Deve ser notado que as tabelas são construídas para uma frequência fixa: a frequência da redeeléctrica onde o sistema está ligado (neste caso 50Hz).

Num sistema onde se requeiram correntes de saída com frequência variável, multiplicam-se osvalores d1..d15 de forma a corrigir a frequência pretendida. Esta correcção dos tempos d1..d15

pode ser conseguida através da multiplicação valor a valor, ou através da variação do períododo contador que executa a contagem do tempo. De uma forma ou de outra, o µC escolhido nãoé adequado para o efeito.

No caso de escolhermos a primeira opção, uma plataforma baseada em DSP seria a maisaconselhável devido à facilidade e rapidez com que estes µP executam varias multiplicações.

No segundo caso é necessário um µC que possua um contador com possibilidade de ajustefino do seu período de contagem mantendo uma período aceitável para a resolução requerida.

Conversão de corrente contínua em alternada

74

O µC utilizado consegue criar um contador com período variável através daconcatenação/reload de dois contadores. No entanto a resolução do período de contagem seriamuito grande para a aplicação em causa (o contador deste µC utilizado nesta aplicação possuium período de contagem de 200ns).

Repare-se que ao fazer variar os tempos d1..d15 desta forma, o que se está a fazer é variar afrequência de comutação, uma vez que neste PWM a relação freq._corren._saída /freq_comutação é constante (neste caso vale 1/45).

Para manter a frequência de comutação em valores aceitáveis seria necessário criar tabelaspara varias relações freq._corren._saída / freq_comutação. Desta forma as grandes variaçõesde frequência das correntes de saída são efectuadas através da selecção da tabela que contêm afrequência pretendida (entre fxmax e fxmin na Figura 4.21). Os ajuste finos de frequência sãoobtidos variando os tempos d1..dx .

Figura 4.21 - Esquema básico para obtenção de frequência variável com umPWM tabelado.

Embora o sistema seja definido para funcionar a 50HZ, o problema é que no local onde osistema vai ser instalado, a frequência da rede eléctrica é caracterizada por grandes desvios defrequência. Esta variação é grande para efeitos da rede eléctrica, mas é um pequeno desvio sepensarmos num sistema a frequência variável.

1.5.4.1 Solução adoptada

A solução encontrada para satisfazer este requisito foi somar/subtrair um pequeno valor aostempos de duração de cada estado. Esta correcção faz variar a frequência das correntes nasaída à custa de um ligeiro aumento dos harmónicos.

Note-se que ao somar/subtrair um certo valor à duração de cada estado, o período da onda estáa ser aumentado/reduzido.

Esta correcção é realizada muito facilmente pelo µC uma vez que é executada através da somade dois registos do µC através da rotina que realiza a mudança de estado do inversor:gera_pwm().

Conversão de corrente contínua em alternada

75

Como um período da corrente de saída é gerado através de 174 estados e a resolução docontador é de 200ns, o período obtido e a respectiva frequência são dados por:

T ms n ns

fms n ns

= + ∗ ∗

=+ ∗ ∗

20 174 2001

20 174 200(4.13)

onde n representa o valor somado ao tempo de cada estado. Naturalmente, n é negativo paravalores de f superiores a 50HZ.

O µC para calcular n, utiliza o período medido da rede (Trede) da seguinte forma:

nTrede ms

ns=

−∗

20

174 200(4.14)

Como é óbvio o valor de n tem ser truncado para um inteiro.

Alguns valores de frequência obtida em função do valor de correcção são indicados na tabelaseguinte:

Tabela 4.3 - Valores de frequência obtida em função do valor de correcção.

1.5.4.2 Rotina calcula_correcao_periodo()

O período real da rede Trede é medido através do timer T1 com uma resolução de 400ns eguardado na variável G_periodo. Desta forma o valor que ajusta o período do PWM aoperíodo real da rede (n) é dado pela seguinte equação (ver eq.4.14):

nG periodo ns ms

ns=

∗ −∗

_ 400 20

174 200(4.15)

nG periodo

G periodo=−

= ∗ −∗−_

. _ .50000

871149 574 710

3 (4.16)

Pela equação anterior verifica-se que é necessário realizar uma divisão (ou uma multiplicaçãonão inteira (float real)) para calcular o valor n . Como este valor é calculado a cada 20ms euma divisão (ou multiplicação float) no C167 demora bastante mais tempo do que uma

Conversão de corrente contínua em alternada

76

multiplicação simples de dois inteiros (words), aproveita-se o sistema de multiplicaçõesinteiras do C167 para calcular n com uma única multiplicação inteira.

nG periodo

G periodo=−

=

−_

_50000

87

2

87

2

50000

87

16

16 (4.17)

nG periodo

≅∗

−753

257416

_(4.18)

A multiplicação por 753

216 é realizada segundo o esquema no Anexo B.

O valor de n é guardado no registo R1 do conjunto de registos sync1_regs (variáveln_correcao_periodo).

1.5.5 Sincronismo com a rede e controlo da fase.

Sempre que a tensão da fase R da rede eléctrica passa por zero no sentido ascendente, surgeuma interrupção: passagem_zero_rede().

O timer T1 mede o intervalo de tempo que decorre entre duas interrupções consecutivas.Naturalmente este tempo indica o período da rede eléctrica (Trede).

O valor de Trede também é utilizado para calcular o valor (n), que deve ser somado à duraçãode cada estado do inversor, pela rotina que implementa a mudança de estado: gera_pwm. Ovalor n é calculado pela rotina calcula_correcao_periodo().

Sempre que a medida do período da rede saí fora de um limite inferior ou superior(respectivamente 19ms e 21ms), é gerado um sinal de erro através da flagG_flag_erro_zero_rede, e a variável que indica o número de erros ocorridos é incrementada:G_erro_zero_rede. Este controlo do período medido, evita erros de sincronização provocadospor interrupções intempestivas devidas a ruído.

O timer T1 é um contador de 16 bits com uma resolução de 400ns. Isto significa que T1 podemedir intervalos de tempo até 26.3ms. Se ao fim de 26.3ms não surgir uma interrupção depassagem por zero da rede, o timer T1 fica em overflow e provoca uma interrupção:passagem_zero_rede_falhada(). Esta interrupção sinaliza o erro através da flagG_flag_erro_zero_rede e da variável G_erro_zero_rede.

Devido à filtragem que é realizada no circuito que detecta a passagem por zero da rede, ainterrupção é gerada com um determinado atraso em relação à verdadeira passagem por zero.A filtragem é necessária para evitar falsas detecções de passagem por zero.

Conversão de corrente contínua em alternada

77

t empo

Fase R da tensão da rede

Trede

pass

agem

_zer

o_re

de() a t raso

Figura 4.22 - Atraso nas interrupções da detecção de passagem por zero datensão da rede provocadas pela filtragem.

A compensação deste atraso é feita através da calibração do controlo da fase das correntes desaída do inversor. EX: para um esfasamento nulo, o tempo tfase (Figura 4.23) vale tcal.

O controlo da fase é conseguido através do temporizador T3 que impõe o tempo que decorredesde o surgimento da interrupção de passagem por zero da rede até à passagem por zero doinversor. A passagem por zero do inversor num determinado instante significa que apassagem do ultimo estado (174) para o primeiro se dá nesse instante.

Fas

e R

da

tens

ão d

are

de

passagem_zero_rede()

Fas

e R

da

corr

ente

do

inve

rsor

acerta_fase_pwm() acerta_fase_pwm()

t fase t fase

T3 T3

estado 174

estado 1

estado 174

estado 1

passagem_zero_rede()

t ca l

Figura 4.23 - Controlo do esfasamento entre a tensão da rede e a correntegerada pelo inversor.

Durante a interrupção passagem_zero_rede() o timer T3 é carregado com o valor tfase (Figura4.23) e posto em contagem decrescente. Quando T3 atingir o valor zero, surge umainterrupção (acerta_fase_pwm()) que é responsável por garantir que a passagem por zero doinversor se dá neste instante.

Conversão de corrente contínua em alternada

78

O valor tfase é calculado pela rotina calcula_tempo_fase() e guardado na variável G_pwm_faseconforme é exposto na Secção 1.5.5.1.

Como o período da rede pode sofrer ligeiras oscilações (Trede), o valor tfase tem de serajustado para o valor actual de Trede. Note-se que G_pwm_fase é calculado para um períodode rede de 20ms. Este ajuste é realizado pela rotina calcula_tempo_fase_atribui_T3(), quecoloca o resultado do ajuste directamente no timer T3.

O timer T3 é posto em contagem decrescente pela interrupção passagem_zero_rede() atravésdo bit de controlo T3R (T3R=1) e é parado pela interrupção acerta_fase_pwm() fazendoT3R=0.

Desta forma, quando a interrupção passagem_zero_rede surgir, o bit T3R deve valer zero,significando que a interrupção acerta_fase_pwm() já foi atendida. Se tal não acontecer,significa que houve duas detecções de passagem por zero da tensão da rede consecutivas, semque a interrupção acerta_fase_pwm() fosse atendida. Normalmente isto significa que o valorde tfase é maior que o período da rede.

Se tal acontecer, significa que existem problemas na sincronização. O facto é sinalizadoatravés da flag G_flag_erro_pwm_fase, e a variável que indica o número de erros ocorridos éincrementada: G_erro_pwm_fase.

Como é óbvio a sincronização só é efectuada se não houver erros devido ao período da redeestar fora de limites ou devido ao valor tfase . É melhor não sincronizar o PWM do quesincronizá-lo com base em valores errados. A decisão de parar o sistema em caso de erro(sinalizado através das flags G_flag_erro_zero_rede e/ou G_flag_erro_pwm_fase) é tomadapor outras rotinas que estão numa posição hierarquicamente superior na estrutura docontrolador.

O fluxograma da interrupção passagem_zero_rede() é indicado na Figura 4.24.

Conversão de corrente contínua em alternada

79

G_periodo = T1T1=0

passagem_zero_rede

sim

não

calcula_correcao_periodo

G_periodo > MINIMOe

G_periodo < MAXIMO

sim

não

G_flag_erro_rede = 1incrementa G_erro_zero_rede

T3R = 1

Veri f ica se o períodom e d i d o e s t á d e n t r odos l imites

ob tem o va lo r do con tadore prepara-o para a próximamedida

O b t e m o v a l o r q u e é n e c e s s á r i o s o m a r áduração de cada estado de forma a a justar oper íodo do PWM ao per íodo rea l da rede

interrupção externaCC0INT

P2.0

V e r i f i c a s e o t i m e r T 3 j á e s t áparado.S e n ã o e s t i v e r , s i g n i f i c a q u e ain ter rupção que s incron iza o PWM(acer ta_fase_pwm()) ainda não foiexecutada.

G_flag_erro_pwm_fase = 1incrementa G_erro_zero_pwm_fase

calcula_tempo_fase_atribui_T3

Coloca no t imer T3 o valor necessár iop a r a a f a s e p r e t e n d i d a . O v a l o r éajustado em função do período real darede.

T3R=1

Coloca o t imer T3 a funcionarQ u a n d o o t i m e r T 3 c h e g a r a z e r o , p r o v o c a ainterrupção acer ta_fase_pwm() que obr iga o PWM apassar por zero nesse instante.

FIMpassagem_zero_rede

Figura 4.24 - Fluxograma da interrupção passagem_zero_rede().

1.5.5.1 Rotina muda_fase_pwm(fase)

Esta rotina é utilizada para calcular o intervalo de tempo entre o surgimento da interrupção depassagem por zero (passagem_zero_rede()) e a passagem por zero do PWM(acerta_fase_pwm()). Quando a rotina passagem_zero_rede() é chamada, carrega o timer T3com um determinado valor correspondente à fase pretendida. Quando o timer T3 chega a zero,chama a rotina acerta_fase_pwm() que se encarrega de garantir que o PWM passa por zeronesse instante.

O intervalo de tempo é controlado pelo timer T3 com uma resolução de 400ns.

Conversão de corrente contínua em alternada

80

T3 = 50000

90º 180º 270º 360º0º

T3 = 12500

T3 = 25000

T3 = 37500

T3 = ∗139 θ

θ

Figura 4.25 - Correspondência entre o valor de T3 e a fase.

O valor de T3 correspondente a 360º é dado por:

T3360 = =20

40050000

ms

ns(4.19)

O valor de T3 correspondente a θº é dado por:

T3θ

θ360

θ= ∗ ≅ ∗50000 139 (4.20)

Este valor tem de ser compensado devido ao atraso que o filtro introduz na interrupção. Ovalor que provoca um esfasamento nulo (tcal) tem de ser determinado experimentalmente.Naturalmente, o atraso do filtro é dado por atraso = 50000- tcal .

passagem_zero_rede()

atraso

T 3 t= ca l

T 3 = ∗1 3 9 - at rasoθ 2

T 3 t= ∗ +1 3 9 θ 1 ca lθ 1

θ 2T 3 = ∗1 3 9 θ 2

atraso

T 3 = ∗1 3 9 θ 1

T 3 = 5 0 0 0 0

Figura 4.26 - Compensação devido ao atraso provocado pelo filtro no circuitode detecção de passagem por zero da rede.

Desta forma, o valor real de T3 a que corresponde uma determinada fase é dado por:

aux

aux atraso

aux t

se aux atraso

se aux atrasocal

=

T3

139∗

=−+

≥<

θ

θ

(4.21)

Conversão de corrente contínua em alternada

81

A rotina recebe como parâmetro a fase pretendida (-360..360) e coloca o tempocorrespondente na variável G_pwm_fase . O fluxograma da função é ilustrado na Figura 4.27.Naturalmente, a função só é chamada quando se pretende mudar o esfasamento.

muda_fase( fase )

fase < 0

Função para mudar o esfasamento entre aco r ren te de sa ída do i nve rso r e a tensãoda redefase = -360 . . 360 ; inteiro

sim

fase = fase + 360

aux = fase * 139 139 = 20ms / 400ns / 360

aux > atraso sim

G_pwm_fase = aux + tcal

não

G_pwm_fase = aux - atraso

FIMmuda_fase( fase )

Os valores 'atraso' e ' tcal ' são determinadosexper imenta lmente.tcal + atraso = 50000

O resul tado é guardado na var iável g lobalG_pwm_at raso

Figura 4.27 - Fluxograma da rotina muda_fase_pwm(fase).

1.5.5.2 Rotina calcula_tempo_fase_atribui_T3()

O tempo correspondente a uma determinada fase (obtido pela rotina muda_fase_pwm(fase) eguardado em G_pwm_fase) é calculado para um período de 20ms. Embora o período real darede não se afaste muito deste valor, o desvio é suficiente para variar a fase correspondente aovalor de tempo guardado em G_pwm_fase .

A rotina calcula_tempo_fase_atribui_T3() é chamada pela rotina passagem_zero_rede() acada período da rede eléctrica e tem como objectivo ajustar o valor de G_pwm_fase(correspondente a uma dada fase) em função do período real da rede indicado em G_periodo(medido a cada período da rede).

A seguir deduz-se a relação entre G_pwm_fase e o valor correcto n, em função do período realda rede G_periodo :

G pwm fasems

ns

ns

G periodo ns

ns

_ _

_

=

= =∗

20

400

400

400

400

θ360

θ360

θ360

o

o onTREAL

Conversão de corrente contínua em alternada

82

n =G pwm fase G periodo_ _ _∗

50000(4.22)

Para evitar a divisão por 50000 ou a multiplicação real por 2E- 5é utilizado o estratagemaindicado no Anexo B.

n =G pwm fase G periodo

G pwm fase G periodo

_ _ _

_ _ _

∗≅

50000

242951

22

16

16 (4.23)

A rotina é escrita em assembly e o valor n é guardado directamente no timer T3.

1.5.5.3 Rotina acerta_fase_pwm()

Esta rotina é responsável por manter a passagem por zero da corrente de saída do inversor(passagem do ultimo estado do inversor (174) para o primeiro) no instante em que é chamada.Deste modo não será um exagero afirmar que esta rotina é o coração do sistema desincronização com a rede.

A sincronização é feita de dois modos distintos:

• Sincronização suave;

• Sincronização abrupta.

A escolha entre os dois tipos de sincronização é feita com base no nível de “dessincronização”entre a passagem por zero das correntes de saída do inversor (PWM) e a passagem por zeropretendida (instante em que a rotina acerta_fase_pwm() é chamada).

Sempre que a dessincronização é superior a um determinado intervalo de tempo, é realizadauma sincronização abrupta. Naturalmente no caso contrário é realizada uma sincronizaçãosuave.

A quantificação do nível de dessincronização é feita com base nos estados do inversor. NaFigura 4.28 é ilustrado o princípio da quantificação.

Conversão de corrente contínua em alternada

83

174173172 321 654171170169

PWM adiantadorequer sincronização suave

174173172 321 654171170169

PWM adiantadorequer sincronização abrupta

174173172 321 654171170169

PWM at rasadorequer sincronização suave

174173172 321 654171170169

PWM at rasadorequer sincronização abrupta

174173172 321 654171170169

chamada deacer ta_fase_pwm()

PWM s incrono

1 2173 174 1 2173 174

fase R da corrente de saída do inversor

nº do estado do inversor

88 8986 87 . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . .

Figura 4.28 - Quantificação do nível de dessincronização do PWM.

Desta forma, sempre que a dessincronização do PWM excede 3 estados é realizada umasincronização abrupta. Os 3 estados correspondem a um intervalo de tempo deaproximadamente 200µs (angulo de 3.5º).

Uma sincronização suave é feita através de uma ligeira modificação do período do PWM. Estamodificação do período, permite que o ponto de passagem por zero do PWM, deslize face aoponto de passagem por zero da rede. Se o PWM estiver adiantado, o seu período deve seraumentado de modo a que a sua passagem por zero deslize em direcção ao instante em que arotina acerta_fase_pwm() é chamada. Naturalmente, se o PWM estiver atrasado é necessáriodiminuir ligeiramente o seu período.

A modificação do período do PWM não pode ser muito grande sobe pena de levar àinstabilidade no controlo. Se o nível de dessincronização for muito elevado (maior que 3estados) o tempo de sincronização será grande. Desta forma é necessário ter um método desincronização mais rápido: a sincronização abrupta.

Uma sincronização abrupta consiste em obrigar a que o próximo estado do inversor seja oprimeiro, independentemente do seu estado actual.

Para a rotina acerta_fase_pwm() decidir como deve sincronizar o PWM, tem de identificar oestado em que o PWM se encontra. Os 174 estados são agrupados em três grupos:

• PWM adiantado (estados 72,173 e 174);

• PWM atrasado (estados 1, 2 e 3);

• PWM dessincronizado (estados 4 a 171);

Conversão de corrente contínua em alternada

84

Os três grupos são identificados por dois bits que são agregados ao estado das gates do estadodo inversor. Desta forma, a tabela de gates alem de conter a informação sobre os IGBTs queestão a conduzir, também identifica qual o grupo a que o estado actual pertence. Deve sernotado que esta informação só tem validade quando a rotina acerta_fase_pwm() é chamada,uma vez que as noções de adiantado, atrasado e dessincronizado só fazem sentido nessaaltura.

Os dois bits que identificam os três grupos são transferidos juntamente com os seis bits quecontrolam os IGBTs para a porta P7 do C167. Como é óbvio, estas portas não podem serutilizadas como entradas/saídas para outra função.

Desta forma a rotina acerta_fase_pwm() apenas precisa de ler os bits nº6 e 7 da porta P7 paraidentificar a que grupo pertence o estado actual.

0 1 0 0 1 01 010 0 1 0 1 01 020 1 0 0 1 01 03

g 1 H g 2 H g 3 H g1L g2L g3Lgrupo

tabela de gates

estado

0 0 1 0 0 10 11720 0 1 0 1 00 11730 0 1 0 0 10 1174

0 0 0 1 00 04 11 0 0 1 00 05 00 1 0 1 00 06 0

0 1 1 0 00 0171 00 1 0 0 10 0170 00 1 0 1 00 0169 0

bit1 024 357 6

g 1 H g 2 H g 3 H g1L g2L g3Lgrupo

Porta P7

P7.0P7.1P7.2P7.3P7.4P7.5P7.6P7.7

adia

ntad

oat

rasa

dode

ssin

cron

izad

o

Figura 4.29 - Identificação do grupo do estado actual do PWM.

A variação do período do PWM para a sincronização é feita de modo semelhante ao ajuste doperíodo do PWM ao período da rede eléctrica (secção 1.5.4.1). Ou seja, através dasoma/subtracção de um tempo à duração de cada estado.

Desta forma a variável que indica o tempo total de correcção do período do PWM(CORRIGE_TEMPO , secção 1.5.2) é composta por duas componentes:

• Ajuste do período do PWM ao período da rede eléctrica(n_correcao_periodo);

• Ajuste do período do PWM para sincronização suave (n_sincr_periodo).

A componente n_sincr_periodo é limitada a ± 2 para que o sistema não se torne instável.Com 174 estados e uma resolução no contador de 200ns, isto significa uma variação noperíodo de ± ∗ ∗ =174 2 200 69 6ns ys. .

O valor ± 2 foi determinado experimentalmente. Com a variável n_sincr_periodo limitada± 2, a sincronizações abruptas são quase inexistentes, surgindo apenas quando existemvariações bruscas da frequência, o que naturalmente, raramente acontece na rede eléctrica.

Conversão de corrente contínua em alternada

85

O fluxograma da rotina acerta_fase_pwm() é ilustrado na Figura 4.30. A paragem do timer T3é necessária para evitar que a rotina fosse chamada consecutivamente por overflow do timerT3 no caso de não haver detecções de passagem por zero da rede. O bit T3R também éutilizado pela rotina passagem_zero_rede() para determinar se a rotina acerta_fase_pwm() jáfoi atendida.

T3R = 0

acerta_fase_pwm

grupo = 0 0 sim

coloca_PWM_origemnão

FIMacerta_fase_pwm

Está dessincronizado.Requer uma s incronização abrupta

T 3 g e r a a i n t e r r u p ç ã o q u a n d odecorrer o tempo pretendido entrea p a s s a g e m p o r z e r o d a r e d e epaasagem por zero do PWM

T3INTerrupt

Pára o t imer T3

grupo = 1 0 n_sincr_periodo = 0

não

grupo = 0 1 sim

n_sincr_periodo =n_sincr_periodo - 1

Está atrasado.

sim

n_sincr_periodo =n_sincr_periodo + 1

Está adiantado.

Aumenta per íodo

Diminui per íodo

n_sincr_periodo< -2

n_sincr_periodo = -2

sim

não

n_sincr_periodo> 2

n_sincr_periodo = 2

sim

não

CORRIGE_TEMPO = n_correcao_periodo + n_sincr_periodo

G_erro_pwm_sync_bruta =G_erro_pwm_sync_bruta + 1

G_flag_pwm_sync_bruta = 1

não

Incrementa a var iávelq u e i n d i c a o n u m e r od e s i n c r o n i z a ç õ e sabrup tas e s ina l i za aocorrencia com a f lag.

Figura 4.30 - Fluxograma da rotina acerta_fase_pwm().

No caso do PWM estar dessincronizado, é realizada uma sincronização abrupta: a variáveln_sincr_periodo é colocada a zero e a rotina coloca_PWM_origem() é chamada. A rotinacoloca_PWM_origem() consiste em colocar os apontadores actuais para as tabelas de gates etempos de modo a que o próximo estado seja o primeiro. Para que a mudança se faça o mais

Conversão de corrente contínua em alternada

86

rapidamente possível, o temporizador que mede a duração dos estados (T6), é colocado a zero,de modo a gerar a interrupção neste instante.

Como é óbvio, uma sincronização abrupta é bastante violenta para o conteúdo harmónico dascorrentes de saída do inversor. Felizmente este tipo de sincronização só surge quando existemvariações muito rápidas da frequência da rede eléctrica.

1.5.5.4 Inicialização, arranque e paragem do inversor

A inicialização das rotinas e variáveis que comandam o inversor é efectuada pela rotinainicializa_inversor(), que se encarrega de preparar as portas do µC, os timers, as interrupções,etc. O timer T6 só é posto em funcionamento no arranque (não existem mudanças de estado,pelo que os seis IGBTs continuam desligados).

O arranque do inversor é feito pela rotina arranca_inversor(). O arranque é efectuado com oíndice de modulação máximo, e um esfasamento nulo. O arranque é feito sincronamente coma rede da seguinte maneira:

• A interrupção de passagem por zero é permitida e o timer T1 que mede operíodo da rede é ligado;

• Quando a interrupção surgir o timer T3 é carregado com o valor correspondentea um esfasamento nulo;

• Quando o timer T3 chegar a zero, permite o funcionamento do timer T6 quecontrola a duração dos estados de PWM. (Nesta altura os apontadores dastabelas de PWM apontam para a passagem por zero de PWM)

A paragem do inversor é realizada pela rotina paragem_inversor() que inibe a interrupção depassagem por zero da rede eléctrica, pára os timers T1, T3 e T6, e desliga os seis IGBTs.

É preciso cuidado ao desligar o inversor devido à corrente IDC na bobina de alisamento. Antesde desligar o inversor é necessário ligar o IGBT de protecção.

1.5.5.5 Comando do IGBT da protecção DC

O comando do IGBT de protecção é realizado por três rotinas cuja função é óbvia:

• inicializa_protecao_dc();

• activa_igbt_protecao();

• desliga_igbt_protecao();

Deve ser notado que o IGBT de protecção também pode ser activado directamente peladetecção de sobretensão e pelo sinal de erro do inversor.

Conversão de corrente contínua em alternada

87

1.6 Características do PWM

Nas análises seguintes assumem-se as seguintes condições:

• A saída do inversor está ligada a uma fonte de tensão trifásica e perfeitamente sinusoidal.Isto quer dizer que se desprezam os efeitos do filtro AC, das impedâncias da rede e doseventuais harmónicos da rede.

• O inversor é alimentado por uma fonte ideal de corrente contínua. Isto quer dizer que acorrente de entrada é perfeitamente constante.

• A frequência de comutação do inversor é de 50 (6*m+3; m=7) vezes a frequência dascorrentes de referência. Como as correntes de referência tem 50Hz, as portadoras tem2250Hz.

• As comutações da corrente são ideais:

° As comutações dão-se em tempo nulo.

° Não existe sobreposição de condução.

• Não existem tempos mínimos de condução e/ou de corte. Isto quer dizer que o tempo decondução ou de corte de um dado interruptor pode ser tão pequeno quanto o PWM o exija.

Estas assumpções são válidas numa primeira abordagem e servem para estudar ascaracterísticas do PWM se os componentes que constituem o inversor forem ideais.

1.6.1 Harmónicos da corrente de saída

As figuras 4.31 a 4.33 mostram o espectro típico das correntes na saída do inversor.

O espectro relativo é obtido através de:

harm nI n

IDB( ) * log

( )

( )( )=

201

(4.24)

onde harm(n) é o valor do espectro relativo do harmónico n, I(n) é o harmónico número n eI(1) é a componente fundamental. Naturalmente o valor do espectro relativo da componentefundamental é sempre zero. Esta forma de representar logaritmicamente o espectro torna maissimples a ánalise do “peso” das componentes harmónicas face à componente fundamental naforma de onda analisada. A representação gráfica logarítmica tem a vantagem de poderrepresentar no mesmo gráfico, valores muito diferentes entre si, sendo possível analisar a suarelação.

Repare-se que a relação entre os harmónicos e a componente fundamental é dada por:

I n

I

harm n( )

( )

( )

110 20=

(4.25)

o que significa que se harm(n)=-20, o harmónico I(n) é 10 vezes mais pequeno que I(1).

Conversão de corrente contínua em alternada

88

im = 1

im = 0.5

im = 0.5

Figura 4.31 - Espectro das correntes de saída do inversor para vários índicesde modulação.

Conversão de corrente contínua em alternada

89

im = 1

im = 0.5

im = 0.1

Figura 4.32 - Espectro relativo das correntes de saída do inversor para váriosíndices de modulação.

Conversão de corrente contínua em alternada

90

im = 1

im = 0.5

im = 0.1

Figura 4.33 - Espectro relativo das correntes de saída do inversor para váriosíndices de modulação (zoom das fig:.4.32 )

Analisando os gráficos verifica-se que espectro apenas possui as componentes número: 6i - 1e 6i +1. Isto é: não possui harmónicos pares nem os múltiplos de 3.

Os 5º, 9º e 11º são sempre inferiores a -50db ( 300 vezes mais pequenos que a fundamental)

Conversão de corrente contínua em alternada

91

O espectro possui componentes significativas em torno das frequências múltiplas dafrequência das portadoras P1 e P2 (fP) Esta frequência corresponde ao harmónico número nfP

= 6m+3 conforme a equação (4.4). No caso em ánalise m=7 sendo nfP = 45.

Em torno de nfP as componentes mais significativas são as de ordem nfp 2± e nfp 4± .

Em torno de 2.nfP as componentes mais significativas são as de ordem 2.nfp 1± , 2.nfp 5± e2.nfp 7± .

Figura 4.34 - Evolução da componente fundamental e dos harmónicosnfp 2± e nfp 4± com o índice de modulação.

Da figura 4.34 conclui-se que a componente fundamental da corrente de saída varialinearmente com índice de modulação (im). Os harmónicos nfp 2+ e nfp 2− são iguais, omesmo se passando com os harmónicos nfp 4+ e nfp 4− .

I1

2.I .imsaida RMS fundamental DC= (4.26)

Figura 4.35 - Evolução dos harmónicos 2.nfp 1± , 2.nfp 5± e

2.nfp 7± .com o índice de modulação

Conversão de corrente contínua em alternada

92

Figura 4.36 - Evolução dos harmónicos relativos (DB) do 13º até ao 49.

Figura 4.37 - Evolução dos harmónicos relativos (DB) do 53º até ao 67.

Figura 4.38 - Evolução dos harmónicos relativos (DB) do 71º até ao 97.

Conversão de corrente contínua em alternada

93

As componentes entre a fundamental e nfp - 2 são desprezáveis: inferiores a -30db. ( 30vezes mais pequenos que a fundamental)

A corrente de saída do inversor só depende do índice de modulação. O seu esfasamentorelativamente à tensão de carga só influencia a tensão à entrada como se verá na próximasecção.

1.6.2 Tensão à entrada

g1L

I DC

g2L g1L

g1L g2L g1L VR

VS

VT

I Rs

I Ss

I Ts

VDC

Tensão de carga:

V Vc .sin(2 .t

V Vc .sin(2 .t

V Vc .sin(2 .t

R pico r

S pico .r13

T pico .r23

== −= −

13

1313

2

2

ππ ππ π

. )

. )

. )

f

f

f

Tensão à entrada:Vdc

Figura 4.39 - Esquema utilizado para analisar a tensão à entrada do inversor

A partir daqui, Vdc(t) representa a forma de onda da tensão à entrada do inversor e VDC o seuvalor médio .

As figuras seguintes mostram a forma de onda da tensão Vdc(t) para vários im e váriosesfasamentos (θ) entre a corrente de saída e a tensão de carga. (O esfasamento é dado tomandocomo referência a fase R da tensão de carga: Vr ).

Para melhor visualização dos impulsos de Vdc(t) nos gráficos, optou-se por fazer a frequênciadas portadoras igual a 21 vezes a frequência de referência (m=3 na eq.4.4).

A tensão Vdc(t) é dada pela seguinte expressão em função do comando dos interruptores e datensão de carga:

( ) ( ) ( )V t g h g l V g h g l V g h g l Vdc R S T( ) . . .= − + − + −1 1 2 2 3 3 (4.27)

Conversão de corrente contínua em alternada

94

Figura 4.40 - Forma de onda da tensão Vdc em função da tensão da rede edas correntes do inversor

Conversão de corrente contínua em alternada

95

Figura 4.41 - Comparação da tensão gerada à entrada do inversor para váriosíndices de modulação e esfasamentos.

Pelas figuras anteriores, verifica-se que Vdc(t) se repete a cada 1/6 de período das tensões decarga.

O espectro de Vdc(t) é mostrado nas figuras seguintes. Apenas possui componentes de ordempar 6i. As componentes mais significativas encontram-se em torno da frequência dasportadoras em nfp 3± , 2.nfp 6± e 2.nfp . O espectro é analisado com frequência dasportadoras (P1 e P2) correcta (m=7 na eq.4.4).

Como é óbvio, o espectro relativo de Vdc(t) está referido à componente contínua do sinal.

Conversão de corrente contínua em alternada

96

im=1

DB

im=0.5

DB

im=0.1

DB

Figura 4.42 - Espectro e espectro relativo da tensão à entrada do inversor parafase=0o e vários índices de modulação.

As próximas figuras representam a evolução da componente contínua e dos harmónicos maissignificativos de Vdc(t) em função do índice de modulação e do esfasamento entre a correntede saída e a tensão de carga.

Numero harmonico

0 (fundamental)

90

42=48

84=96

Figura 4.43 - Evolução da componente contínua e dos principais harmónicosda tensão à entrada do inversor em função do índice de modulação para um

esfasamento nulo.

Conversão de corrente contínua em alternada

97

Fase

im=0.75

im=1

im=0.5

im=0.25

Figura 4.44 - Evolução da componente contínua da tensão à entrada doinversor em função do esfasamento para vários índices de modulação.

Das figuras anteriores conclui-se que a componente contínua da tensão gerada à entrada doinversor é dada pela seguinte equação:

V im V

V im V

V im V im V

DC s pico

DC s

DC c c

=

=

= =

15

15 2

15 2

332

. cos( )

. cos( )

.cos( ) cos( )

θ

θ

θ θ

(4.28)

onde im representa o índice de modulação, θ o esfasamento entre a corrente de saída e atensão de carga e Vs pico, Vs e Vc representam respectivamente as tensões de carga: simples depico, simples e composta.

1.6.3 Tensões aos terminais dos interruptores

Como se vê na figura seguinte, os dispositivos que formam o inversor, tem de possuircapacidade para suportar tensões inversas. Para maior clareza optou-se por fazer a frequênciadas portadoras igual a 21 vezes a frequência de referência (m=3 na eq.4.4).

Conversão de corrente contínua em alternada

98

Figura 4.45 - Forma de onda da tensão aos terminais dos interruptores doinversor.

1.7 Características do PWM implementado

A implementação do PWM no µC requer que se imponham algumas limitações ao tempo deduração de cada estado de PWM:

• A duração tem de ser um número inteiro da resolução do contador:

t = n*400ns.

• A duração de um estado não pode ser inferior a um determinado tempo impostopela rotina que muda o estado e pela velocidade de comutação dos IGBTs(10µs).

A limitação dos tempos dos estados a um número inteiro da resolução do contador usado paraa contagem do tempo, leva a uma não linearidade de VDC em função do im. Esta nãolinearidade aumenta à medida que a resolução dos im aumenta (maior número de índices de

Conversão de corrente contínua em alternada

99

modulação). Alias, esta é a razão pela qual não se aumenta o número de im (não faz sentidoutilizar um grande número de im se depois a tensão obtida para o im(i) é igual a tensão para oim(i-1) e im(i+1)).

A introdução de tempos mínimos de condução e de corte provoca um comportamentodiferente nas características do PWM. Como é óbvio estas diferentes só existem nos índicesde modulação que são afectados por essa limitação inferior nos tempos.

As diferenças mais significativas provocadas pela limitação temporal inferior são a introduçãode componentes harmónicas que eram desprezáveis no caso do PWM ideal e o agravamentoda não linearidade de VDC em função do im.

Figura 4.46 - Evolução dos harmónicos de corrente em função do índice demodulação.

Conversão de corrente contínua em alternada

100

har: 23..49 har: 53..67

har: 71..97

Figura 4.47 - Evolução dos harmónicos relativos de corrente em função doíndice de modulação.

2 Trânsito de energia activa e reactiva

Tal como o conteúdo harmónico injectado na rede, o consumo de energia reactiva é um factoque deve ser evitado a tudo custo. O seu trânsito na rede acarreta maiores perdas de energia,sobredimensionamento dos dispositivos devido à corrente ser mais elevada para a mesmapotência activa, flutuações na tensão da rede, etc.

Em certas condições, o inversor de corrente pode compensar o consumo de energia reactiva deum sistema, através da produção de uma quantidade de energia reactiva igual à consumidapelo sistema.

Conversão de corrente contínua em alternada

101

Desta forma, nos sistemas onde é necessário um inversor de corrente, evita-se o uso dastradicionais baterias de condensadores para compensar o factor de potência,.

Deve ser notado, que mesmo que o inversor de corrente não seja requerido pelo sistema, éuma opção a ter em consideração quando se pretende um compensador dinâmico do factor depotência. Isto é particularmente interessante quando o consumo de reactiva varia fortementeao longo do tempo.

A possibilidade do inversor produzir energia activa e reactiva de forma independente, dependeda fonte de corrente que o alimenta.

Se a corrente que alimenta o inversor for independente do seu funcionamento (Ex: Se a fontede corrente for ideal, ou num caso mais realista, se for uma fonte de tensão variável em sériecom uma bobina) as energias activa e reactiva são independentes.

Se o inversor tiver de controlar a sua corrente de entrada, a quantidade de energia reactiva queé possível produzir, passa a estar dependente da energia activa.

Nas Secções 1.6.1 e 1.6.2 concluiu-se que:

I 1

2.I .imREDE DC= (4.29)

V .V .im.cos( )DC32 C= θ (4.30)

onde:

I REDE é o valor eficaz da corrente injectada na rede,

VC o valor eficaz da tensão composta da rede,

I DC o valor da corrente à entrada do inversor,

VDC o valor tensão gerada pelo inversor à entrada,

im o índice de modulação e

θ o esfasamento entre a corrente e a corrente e a tensão da rede.

A potência activa entregue à rede é dada por:

P = V .I

= 3.I .V .im.cos( )

= .I .V .im.cos( )

DC DC

REDE C

32 DC C

θ

θ

(4.31)

e a reactiva:

Q = .I .V .im.sen( )

= P.tan( )

32 DC C θ

θ(4.32)

Conversão de corrente contínua em alternada

102

A potência aparente (S) depende apenas da corrente IDC (a tensão da rede é fixa) e do índicede modulação:

S = 32 DC C.I .V .im (4.33)

2.1 Corrente I DC independente do inversor

Se o inversor for alimentado por uma fonte que imponha a corrente no barramento DC (IDC)independentemente da tensão gerada pelo inversor (VDC), o inversor consegue entregar umapotência reactiva independentemente da potência activa.

Inversorde

corrente

I dc

I R E D E

V CV D C

P P , Q

Inversorde

corrente

I R E D E

V CV D C

P P , Q

I D CL

V f D C

Figura 4.48 - Alimentação do inversor com uma corrente independente.

A determinação dos parâmetros de comando do inversor é muito simples:

A partir da relação entre as potências activa (P) e reactiva (Q) determina-se oesfasamento:

θ =

arct

Q

P

e a partir de P ou Q (um que não seja zero) determina-se o índice de modulação:

imQ P

= =32 DC C

32 DC C.I .V .sen( ) .I .V .cos( )θ θ

.

Este conjunto é uma opção para realizar a compensação do factor de potência de formadinâmica. Se a potência activa for zero, a potência reactiva consumida ou gerada (consoanteθ = 90ºou θ = 270º) é dada por:

Q = 32 DC C.I .V .im (4.34)

A máxima potência reactiva que é possível gerar ou consumir é unicamente dependente dacorrente IDC imposta pela fonte de corrente.

Para manter a corrente IDC constante a fonte de corrente tem de compensar a tensão geradapelo inversor:

V .V .im.cos( )DC32 C= θ (4.35)

e como é óbvio, tem de fornecer a potência activa entregue pelo inversor à rede.

Conversão de corrente contínua em alternada

103

2.2 Corrente I DC controlada pelo inversor

Se a fonte de corrente que alimenta o inversor for constituída por uma fonte de tensão nãocontrolada em série com uma bobina, a corrente IDC tem de ser controlada através da tensãogerada pelo inversor à sua entrada (VDC).

Inversorde

corrente

I R E D E

V CV D C

P P , Q

I D CL

V f D C

Figura 4.49 - Alimentação do inversor por uma fonte de tensão nãocontrolada.

Como a tensão VDC tem de controlar a corrente IDC, os parâmetros de comando do inversorficam presos pela relação:

im.cos( ) =V

.VDC

32 C

θ (4.36)

pelo que a potência activa fica definida:

[ ]P = 32 DC C.I .V . im.cos( ) θ (4.37)

Alias, isto é óbvio, porque se a fonte VfDC fornecer a corrente IDC, a potência activa envolvidano sistema fica automaticamente definida:

P Vf .I DC DC= (4.38)

Desta forma a potência reactiva fica limitada entre o valor zero e um valor máximo (QMAX)que se determina a seguir.

A potência reactiva é maximizada quando o valor:

im.sen( )θ

for o maior possível e o valor:

im.cos( )θ

o menor possível de modo a maximizar sen( )θ .

Isto significa que para maximizar a energia reactiva, o índice de modulação deve ser o maisalto possível (1), e o esfasamento o mais próximo possível de 90º ou 270º.

Da relação (4.36) e fazendo im=1 tira-se que:

cos( ) =V

.VDC

32 C

θ (4.39)

Conversão de corrente contínua em alternada

104

pelo que o valor de [ im.sen( )θ ] vale:

im.sen( ) =V

VDC

C

θ ± −

1

2

3

2

(4.40)

Desta forma o valor máximo de energia reactiva produzida ou consumida vale:

Q =V

VMAX32

DC

C

. . .I VDC C 12

3

2

(4.41)

Q =V

VMAXC

DC

P.3

21

2

− (4.42)

de onde se conclui que a potência reactiva máxima que o inversor consegue fornecer ouabsorver, cresce com a potência activa e com a relação VC/VDC.

2.3 Aplicação no SRED

A possibilidade do inversor de corrente poder fornecer energia reactiva à rede, leva-nos apensar que o SRED poderá funcionar com um factor de potência unitário, sem o recurso aoscondensadores de compensação.

Isto não é possível, porque quando a máquina está a rodar a velocidades perto da velocidadede sincronismo, a potência disponível no rótor e transmitida ao inversor é baixa.

Desta forma, quando a máquina rodar a velocidades perto da de sincronismo, a potênciareactiva que o inversor pode fornecer à rede, está limitada pela potência activa fornecida pelorótor ao inversor, segundo a equação (4.42).

Apesar da potência activa disponível no rótor da máquina ser baixa a essas velocidades, oconsumo de energia reactiva pelo estátor é elevada, devido às correntes de magnetização.

Desta forma, a energia reactiva consumida pela máquina para a sua magnetização, tem de sercompensada por uma bateria de condensadores.

Como se pode observar nos gráficos da Figura 4.50, o consumo de potência reactiva, aumentacom a velocidade de rotação na situação em funcionamento como gerador (ω>ωs), e com oaumento da corrente no barramento DC (com a subida da potência activa disponível no rótor).Este aumento é originado pelas reactâncias de fugas do estátor e do rótor.

Conversão de corrente contínua em alternada

105

Figura 4.50 - Consumo de potência reactiva em função da corrente nobarramento DC e em função da velocidade para vários valores de VDC.

Desta forma, o inversor deve fazer a compensação dinâmica do excesso de reactiva que surgecom o aumento da corrente no barramento DC.

No entanto, no SRED usado neste trabalho, o inversor não consegue realizar essacompensação dinâmica porque a altas velocidades a tensão gerada pelo rótor leva a que arelação VC/VDC diminua. Isto limita a potência reactiva que o inversor pode fornecer, como severifica na equação (4.42).

Isto acontece, porque o inversor para gerar uma tensão VDC semelhante à tensão que osrectificadores do rótor originam, tem de manter o esfasamento nulo e o índice de modulaçãounitário.

Existem várias soluções, de forma a que o inversor possa efectuar a compensação dinâmica daenergia reactiva variável consumida nas reactâncias de fugas do estátor e do rótor:

• aumento da tensão da rede do lado do inversor;

• diminuição da tensão da rede no estátor da máquina;

• uso de uma máquina com uma relação do número de espiras estátor/rótor quebaixe a tensão no rótor.

Obviamente, qualquer uma destas soluções dá origem a que a relação VC/VDC aumente,aumentando assim a máxima potência reactiva que o inversor pode fornecer para a mesmapotência activa.

Como no caso em questão, a compensação dinâmica do factor de potência não pode ser feitoem toda a gama de funcionamento, optou-se por não a fazer de todo.

Desta forma, o inversor vai funcionar com esfasamento sempre nulo, sendo controlado apenascom o índice de modulação.

Conversão de corrente contínua em alternada

106

3 Descrição da montagem utilizada

Como interruptores do inversor foram utilizados semicondutores IGBT (Insulated GateBipolar Transistor). Atendendo a que o projecto se trata de um protótipo os IGBTs foramsobredimensionados, usando-se dispositivos de 1200V e 1000A.

Como a tensão aos terminais de cada interruptor atinge valores negativos, o dispositivo queimplementa o interruptor tem de possuir capacidade para bloquear a tensão inversa.Atendendo a que os IGBTs não tem esta capacidade é necessário colocar um díodo em seriecom cada IGBT de forma a que este bloqueie a tensão e não a deixe aparecer aos terminais doIGBT.

Os díodos em anti-paralelo com os IGBTs são incorporados nas caixas dos IGBTs disponíveiscomercialmente. Isto acontece porque normalmente estes dispositivos são utilizados eminversores de tensão e estes necessitam dos díodos em anti-paralelo para o seu funcionamento.Naturalmente estes díodos não são necessários para o inversor de corrente nem tem qualquerefeito no seu funcionamento.

reset +15V- 8V

comandoon/off

erro

15V

Figura 4.51 - Dispositivos que implementam um interruptor: IGBT, díodo,supressor e driver isolado.

Os supressores de tensão colocados em paralelo com cada IGBT servem para proteger estescontra as sobretensões geradas durante as comutações de corrente. Estas sobretensões surgemdevido às elevadas derivadas de corrente que atravessam as indutâncias parasitas existentesnos cabos e barras de ligação entre os vários componentes do inversor.

O supressor de tensão usado (DSAS 8U da ABB) não deixa que a tensão aos seus terminaissuba acima de 800V. Se a tensão tiver tendência para continuar a subir, a corrente queatravessa o supressor cresce desmesuradamente até que o supressor queima por excesso detemperatura, ficando em curto-circuito. Esta é alias, uma grande vantagem do DSAS face astradicionais VDR que ficam em circuito aberto depois de queimarem. Desta maneira o DSAScontinua a proteger o IGBT mesmo depois de queimar (é claro que nestas condições oinversor deixa de funcionar correctamente uma vez que interruptor protegido fica semprefechado).

Como curiosidade relata-se um acontecimento ocorrido durante um ensaio do inversor:Quando um dos supressores entrou em condução, a corrente que o atravessou foi de tal ordemque o cabo de aproximadamente 5mm de diâmetro que o ligava ao IGBT derreteu. Depois de

Conversão de corrente contínua em alternada

107

retirado, constatou-se que mesmo assim o supressor estava em curto-circuito, não tendo sidoaberto apesar da grande corrente que o atravessou.

Cada IGBT é comandado por um driver que fornece isolamento entre o IGBT e a placa decontrolo. Os 6 drivers são alimentados por uma fonte de 15V independente, uma vez que oseu consumo é considerável.

Os drivers têm uma característica que lhes permite monitorar a tensão Colector - Emissor(VCE) dos IGBTs e retirá-los de condução se essa tensão estiver acima de um certo limiteenquanto o IGBT estiver a conduzir. Isto permite evitar que o IGBT queime por excesso dedissipação numa situação de defeito ou excesso de corrente. É claro que durante a entrada emcondução, a tensão VCE demora algum tempo a descer, pelo que o driver só verifica o VCE apartir de um certo tempo a contar da entrada em condução. Quer este tempo quer o limite detensão a partir do qual o driver retira o IGBT de condução são configuráveis através deresistências e condensadores na placa do driver.

Os IGBTs também são retirados de condução se a alimentação do driver ficar demasiadobaixa ou instável. Isto garante que o sinal de gate que o driver fornece ao IGBT está semprenos níveis correctos de tensão.

O sinal de erro é activado sempre que o driver retira o IGBT de serviço por excesso de VCE oudevido à alimentação do driver, de forma a avisar o controlador do facto. A saída deste sinal éactiva em baixo em “open colector” pelo que os sinais dos 6 drivers são ligados num únicoponto realizando-se assim um “wired OR”.

O sinal de reset do driver deve ser activado sempre que o driver arranca ou a seguir a umaocorrência de erro, de forma a ser possível colocar o IGBT a conduzir por ordem do sinal decomando on/off.

Os sinais de comando do µC passam por um buffer que os inverte e lhes fornece potênciasuficiente para conduzirem o driver. Naturalmente estes buffers estão localizados na placa decontrolo.

IR

IS

IT

g PRT

R PRT

E PRT

g 1H

R 1H

E 1H

g 1L

R 1L

E 1L

g 2H

R 2H

E 2H

g 2L

R 2L

E 2L

g 2H

R 2H

E 2H

g 2L

R 2L

E 2L

IDC

E VDC

Det

ecçã

oso

bret

ensã

o

g1H

actua_protecção

reset_protecção

reset_inversor

sobretensão

erro_inversor

erro_protecção

y C set

reset

EPRT

g2H

g3H

g1L

g2L

g3L

OR

E1H

E2H

E3H

E1L

E2L

E3L

g 1H

g 2H

g 3H

g 1L

g 2L

g 3L

set

reset

OR

EVDC

R PRTreset_protecção

actua_protecção

sobretensão

erro_inversor

g PRT

R1H R2H R3HR1L R2L R3L

Figura 4.52 - Esquema do inversor, protecção e envolvente de comando.

Para proteger o inversor de sobretensões é colocado um IGBT auxiliar e um díodo paracurto-circuitar o barramento DC em caso de sobretensão. A resistência em serie serve paralimitar a corrente no caso de actuação da protecção, o díodo para proteger o IGBT contra astensões negativas que podem surgir no barramento e o supressor serve para “aguentar” atensão enquanto o IGBT de protecção não entra em condução.

Conversão de corrente contínua em alternada

108

O driver do IGBT de protecção é alimentado por uma fonte independente da fonte quealimenta os outros 6 drivers. Isto serve para garantir que no caso da fonte dos 6 IGBTs forabaixo, existe energia para ligar o IGBT de protecção.

No caso da fonte do driver do IGBT de protecção for abaixo, um sinal avisa o µC deste facto eo sistema deve ser parado. Obviamente a sequência de operações de paragem neste caso nãodeve fazer uso do IGBT de protecção.

Para accionar a protecção é colocado um dispositivo que detecta sobretensões no barramento.É composto por um comparador que activa o sinal de erro EVDC no caso da tensão subir acimade um certo nível. Para evitar os atrasos inerentes às interrupções do µC, e atendendo a queem caso de sobretensão não se pode perder tempo para não destruir o inversor, o sistema decomando utiliza este sinal para ligar o IGBT de protecção directamente por hardware.

Uma das causas que leva a existir sobretensão é a retirada de condução intempestiva de umIGBT pelo respectivo driver. Neste caso em vez de se esperar pela sobretensão que certamenteirá surgir (se é que ainda não começou a surgir) o IGBT de protecção também é actuadodirectamente por hardware assim que um dos drivers retirar o respectivo IGBT de condução.

Naturalmente estes dois sinais também são ligados ao µC para se tomarem as medidasnecessárias à paragem do sistema.

O sinal de erro do driver do IGBT de protecção também está disponível mas não tem grandeutilidade para protecção uma vez que este sinal só surge se o driver retirar o IGBT deprotecção de condução, e isto só acontece se o IGBT já estiver a proteger o inversor. Como éobvio, nesta situação o inversor provavelmente ficara destruído. Assim, o sinal serve apenaspara determinar se a causa de destruição foi a saída de condução intempestiva do IGBT deprotecção.

O sinal de sobretensão é enviado pelo circuito de detecção para a carta de controlo através defibra óptica.

Os IGBTs e respectivos díodos estão montados em 3 dissipadores com ventilação forçada. Ossupressores também estão montados individualmente sobre dissipadores.

A velocidade de entrada e saída de condução dos IGBTs é controlada através de resistênciascolocadas na placa do driver e que ligam o andar de saída do driver à gate do IGBT.

4 Conclusões

As regras para um correcto funcionamento do inversor de corrente impossibilitam a adaptaçãodo uso de módulos disponíveis comercialmente para o comando de inversores de tensão.

O controlo da conversão de corrente contínua em alternada foi desenvolvido com base nométodo de PWM. A adopção deste método baseia-se na necessidade de reduzir o conteúdoharmónico para as frequências próximas dos 50Hz da rede, tendo em vista melhorar a suaqualidade bem como controlar a tensão no barramento DC de alimentação do conversorDC/AC. A importância desta funcionalidade será mostrada no capítulo 7 desta dissertação.

Conversão de corrente contínua em alternada

109

Tal como os restantes µC que possuem módulos de PWM para inversores, o módulo de PWMdo C167 é dedicado ao comando de inversores de tensão, não sendo possível adaptá-lo aocomando do inversor de corrente.

Como não é possível obter fórmulas explícitas e de rápida execução, o C167 comanda oinversor de corrente através de valores tabelados.

O módulo desenvolvido para o comando além de regular a amplitude das correntes de saída,também permite o controlo da fase entre as correntes e as tensões da rede.