Escolar Documentos
Profissional Documentos
Cultura Documentos
Júri
Outubro 2013
________________________________________
ii
Agradecimentos
Em primeiro lugar, desejo manifestar a minha palavra de agradecimento ao Professor Doutor Gil
Domingos Marques pela oportunidade concedida de realizar uma dissertação que abrange as áreas
de estudo pelas quais possuo mais interesse, como também por toda a transmissão de
conhecimentos e apoio na resolução de problemas que surgiram no decorrer do trabalho.
Dedico esta dissertação aos meus pais e avós, por toda a confiança, carinho, motivação e inspiração
que tiveram um papel tão determinante no meu sucesso académico.
Aos meus colegas e amigos Marco Rodrigues, Paulo Cordovil, Dário Lourenço, Eduardo Francisco e
Bruno Cardador pela troca de ideias, sugestões e críticas que contribuíram diretamente para a
realização desta dissertação; e a todos os meus restantes amigos que me apoiaram ao longo desta
etapa.
– António Aleixo
Bem haja!
________________________________________
iii
________________________________________
iv
Resumo
Os geradores síncronos são predominantes na produção de energia elétrica. As suas
características garantem um sistema de energia elétrico estável, comportamento amortecido face a
perturbações, efeito compensador de potência e controlo de tensão.
Palavras-chave
________________________________________
v
________________________________________
vi
Abstract
Synchronous generators rules the domain of power generation. Its characteristics guarantee
stable Grid operation, damping, power compensating effect and voltage control.
The concept of Virtual Synchronous Machine (VISMA) implements a control system in order to
combine a three-phase inverter with synchronous generator behavior.
This study implements a Grid feeding system from a decentralized power source, using the
VISMA connected to an infinite bus.
Results showed that VISMA has a damping effect around an equilibrium point and a
compensator effect for Grid oscillations. In the algorithm implementation, it was shown that Heun’s
method is appropriated for real-time differential equation solving for this application.
Keywords
________________________________________
vii
________________________________________
viii
Conteúdo
Agradecimentos ....................................................................................................................................... iii
Resumo ....................................................................................................................................................v
Abstract................................................................................................................................................... vii
1 Introdução ........................................................................................................................................ 1
________________________________________
ix
4.3.1 Sistema de Controlo de Corrente .................................................................................. 35
________________________________________
x
7 Conclusão ...................................................................................................................................... 75
®
A. Blocos do Simulink/MatLab e inserção de dados e métodos no DSP ......................................... 79
________________________________________
xi
________________________________________
xii
Lista de Figuras
Figura 1.1 – Esquema simplificado da Máquina Síncrona Virtual........................................................... 4
Figura 2.1 – Representação em “corte” de uma máquina síncrona trifásica de dois polos salientes. ... 9
Figura 2.2 – Grupo a vapor da central termoelétrica de Sines ............................................................. 10
Figura 2.3 – Representação dos referenciais abc e αβ ........................................................................ 11
Figura 2.4 – Representação da transformação de Park ....................................................................... 12
Figura 2.5 – Esquema da aplicação da transformação de Park à máquina síncrona .......................... 13
Figura 2.6 – Esquema Equivalente da Máquina Síncrona com enrolamentos amortecedores ............ 16
Figura 2.7 – Esquema equivalente do eixo d ........................................................................................ 18
Figura 2.8 – Esquema equivalente do eixo q ........................................................................................ 18
Figura 3.1 – Esquema de um inversor trifásico com IGBT com filtro RL .............................................. 23
Figura 3.2 – SPWM: Ondas modulantes, portadora e respetivos sinais de disparo............................. 24
Figura 3.3 – Exemplo da forma de onda da corrente de saída de uma fase do inversor ..................... 25
Figura 4.1 – Exemplo de um sistema com controlador ......................................................................... 29
Figura 4.2 – Esquema representativo do desempenho do controlador PI ............................................ 31
Figura 4.3 – Exemplo de diagrama de Bode num sistema otimizado: a) Amplitude b) Fase .............. 32
Figura 4.4 – Diagrama de Blocos do sistema de controlo .................................................................... 33
Figura 4.5 – Diagrama de blocos simplificado ...................................................................................... 33
Figura 4.6 – Diagrama de Bode do sistema otimizado pelo critério ótimo de simetria ......................... 35
Figura 4.7 – Resposta temporal de id e iq face ao escalão de 5A de id* aos 10ms............................... 36
Figura 4.8 – Resposta temporal de id e iq face ao escalão de 5A de iq* aos 10ms ............................... 36
Figura 4.9 – Tensões simples da Rede e correntes injetadas face ao escalão de 5 A de iq* aos 5ms 37
Figura 4.10 – Correntes do estator em coordenadas dq (correntes de referência) .............................. 39
Figura 4.11 – Correntes de resposta id e iq ........................................................................................... 39
Figura 4.12 – Corrente na fase “a” do inversor ..................................................................................... 40
Figura 4.13 – Correntes dos enrolamentos amortecedores e de excitação ......................................... 40
Figura 4.14 – Fluxos ligados em coordenadas dq ................................................................................ 41
Figura 4.15 – Tensões do estator em coordenadas dq ........................................................................ 41
Figura 4.16 – Binário eletromagnético desenvolvido ............................................................................ 41
Figura 4.17 – Velocidade do rotor ......................................................................................................... 42
Figura 4.18 – Correntes do estator em coordenadas dq (correntes de referência) .............................. 42
Figura 4.19 – Correntes no inversor em coordenadas dq ..................................................................... 43
Figura 4.20 – Corrente da fase “a” do inversor ..................................................................................... 43
Figura 4.21 – Correntes nos enrolamentos amortecedores e de excitação ......................................... 44
Figura 4.22 – Fluxos ligados em coordenadas dq ................................................................................ 44
Figura 4.23 – Binário eletromagnético desenvolvido ............................................................................ 44
Figura 4.24 – Velocidade do rotor ......................................................................................................... 45
Figura 5.1 – Esquema do Ensaio de Cadeia Aberta ............................................................................. 49
Figura 5.2 – Esquema do ensaio em cadeia fechada ........................................................................... 50
________________________________________
xiii
Figura 5.3 – Esquema do ensaio em cadeia fechada em paralelo com a Rede .................................. 50
Figura 5.4 – Esquema do ensaio da Máquina Síncrona Virtual ............................................................ 51
Figura 5.5 – Inversor Trifásico SEMIKRON .......................................................................................... 52
®
Figura 5.6 – Processador Digital de Sinais dsPIC30F4011 da MICROCHIP ..................................... 54
Figura 5.7 – Esquema representativo dos pinos do microprocessador ................................................ 55
®
Figura 5.8 – Debugger MPLAB ICD2 .................................................................................................. 55
Figura 5.9 – Placa de medição de corrente .......................................................................................... 56
Figura 5.10 – Placa de medição de tensão ........................................................................................... 56
Figura 5.11 – Placa do DSP .................................................................................................................. 57
Figura 5.12 – Esquema das tomadas RJ-11 ......................................................................................... 57
Figura 5.13 – Fluxograma do algoritmo da máquina síncrona .............................................................. 61
Figura 5.14 – Fluxograma do ADC interrupt ......................................................................................... 62
®
Figura 6.1 – Calibragem das tensões compostas Uab (vermelho) e Ubc (verde) com MPLAB IDE ..... 65
Figura 6.2 – Respostas temporais de id* (amarelo; 0,4p.u./div), id (azul; 0,4p.u./div), iq (roxo;
0,4p.u./div) e ia (verde; 0,8p.u./div) para um escalão da corrente id* de 1 p.u. ..................................... 68
Figura 6.3 – Respostas temporais de iq* (amarelo; 0,4p.u./div), id (azul; 0,4p.u./div), iq (roxo;
0,4p.u./div) e ia (verde; 0,8p.u./div) para um escalão da corrente iq* de 1 p.u. ..................................... 68
Figura 6.4 – Respostas temporais de iq* (amarelo; 0,4p.u./div), iq (roxo; 0,4p.u./div), Uα (azul;
0,4p.u./div), Ia (verde; 0,8p.u./div) para um escalão da corrente i q* de 1 p.u. ....................................... 69
Figura 6.5 – Transitório de ligação de id* (azul; 0,4p.u./div) e iq* (roxo; 0,4p.u./div) ............................. 71
Figura 6.6 – VISMA em vazio, regime permanente: id* (azul; 0,4p.u./div), iq* (roxo; 0,4p.u./div), ωr
(amarelo; 0,8p.u./div) e θ (verde; 0,5p.u./div) ....................................................................................... 71
Figura 6.7 – Evolução temporal de id* (azul; 0,4p.u./div), iq* (roxo; 0,4p.u./div), uf (verde; 3,2p.u./div) 72
Figura 6.8 – Evolução temporal de id* (azul; 0,4p.u./div), iq* (roxo; 0,4p.u./div), Tc (verde; 0,4p.u./div) e
Tem (Amarelo; 0,4p.u./div) para um escalão de T c = 0,4 p.u.................................................................. 72
Figura 6.9 – Evolução temporal de ud (amarelo; 0,4p.u./div), uq (verde; 0,4p.u./div), id* (azul;
0,8p.u./div), iq* (roxo; 0,8p.u./div) para uma cava de tensão na Rede de 0,2 p.u. ............................... 73
Figura A.1 – Blocos do sistema de controlo de corrente ...................................................................... 81
Figura A.2 – Bloco “dq->abc” ................................................................................................................ 81
Figura A.3 – Bloco “SPWM” .................................................................................................................. 82
Figura A.4 – Bloco “abc->dq” ................................................................................................................ 82
Figura A.5 – Blocos de simulação da máquina síncrona virtual ........................................................... 83
Figura A.6 – Bloco “Máquina Síncrona” ................................................................................................ 83
Figura A.7 – Bloco “Ldinv” ..................................................................................................................... 84
Figura A.8 – Bloco “Lqinv” ..................................................................................................................... 84
Figura A.9 – Bloco “Momento”............................................................................................................... 84
Figura A.10 – Bloco “Matlab embedded function” ................................................................................. 85
Figura A.11 – Correntes de resposta id e iq da ligação em paralelo...................................................... 86
Figura A.12 – Correntes de resposta id e iq da ligação em paralelo...................................................... 86
Figura A.13 – Interpretação gráfica do Método de Heun ...................................................................... 89
________________________________________
xiv
Figura B.1 – Esquema interno do transdutor de tensão ....................................................................... 93
Figura B.2 – Esquema da eletrónica adicional da cadeia de medição de tensão alternada sinusoidal 94
Figura B.3 – Esquema de ligações da placa de medição de tensões .................................................. 96
Figura B.4 – Placa de medição de tensões........................................................................................... 97
Figura B.5 – Esquema interno do transdutor de corrente ..................................................................... 98
Figura B.6 – Obtenção da tensão de referência. .................................................................................. 98
Figura B.7 – Esquema de ligações da placa de medição de correntes ................................................ 99
Figura B.8 – Placa de medição de correntes ........................................................................................ 99
Figura C.1 – Esquema de ligações da placa do DSP ......................................................................... 104
Figura C.2 – Esquema da placa de circuito impresso do DSP ........................................................... 105
________________________________________
xv
________________________________________
xvi
Lista de Tabelas
Tabela 4.1 – Parâmetros de Simulação do sistema de controlo .......................................................... 35
Tabela 4.2 – Características dos geradores ......................................................................................... 38
Tabela 5.1 – Características nominais do inversor trifásico.................................................................. 52
Tabela 5.2 – Características nominais do transformador trifásico ........................................................ 53
Tabela 5.3 – Características físicas do dsPIC30F4011 ........................................................................ 54
Tabela 5.4 – Configuração dos terminais das tomadas RJ-11 para as PAS ........................................ 58
Tabela 5.5 – Ligações do cabo RJ-11 que conecta o debugger e o DSP ............................................ 58
Tabela 6.1 – Valores de base utilizados no sistema p.u. ...................................................................... 66
Tabela 6.2 – Parâmetros do ensaio de cadeia fechada ........................................................................ 67
Tabela 6.3 – Parâmetros construtivos inseridos no DSP, na representação em Q 15 ........................... 70
________________________________________
xvii
________________________________________
xviii
Lista de Acrónimos
AC Alternating Current
DC Direct Current
PI Proporcional Integral
________________________________________
xix
________________________________________
xx
Lista de Abreviaturas
xa, xb, xc Componentes do referencial abc
if Corrente de excitação
________________________________________
xxi
MDd, MQq Indutâncias mútuas enrolamentos amortecedores - estator em coordenadas dq
H Constante de inércia
Tc Binário de carga
Kp Ganho proporcional
Ki Ganho integral
ℒ Transformada de Laplace
________________________________________
xxii
Capítulo 1
1 Introdução
Neste capítulo será brevemente descrito o sistema a implementar, os objetivos a alcançar e o seu
enquadramento. Será apresentado o Estado da Arte da Máquina Síncrona Virtual e no fim do
presente capítulo encontra-se a estrutura deste trabalho, com um resumo do conteúdo dos capítulos.
________________________________________
1
________________________________________
2
1.1. Enquadramento
Nas Redes de grande dimensão, o conjunto dos geradores síncronos interligados permite que
a Rede seja considerada segundo um modelo ideal denominado por modelo da Rede de Potência
Infinita. Este modelo assume que a Rede é caracterizada pela frequência e tensão fixas nos valores
nominais, independentemente da ocorrência de defeitos ou perturbações, possuindo uma potência de
curto-circuito infinita. No entanto, em Redes isoladas tais como as existentes nas ilhas de pequena
dimensão ou mesmo nas Redes de energia de maior dimensão que testemunharam um aumento
significativo de fontes renováveis e de produção descentralizada, não podem ser tratadas segundo o
referido modelo. Um dos principais problemas referidos é a intermitência, uma vez que as
características dos recursos renováveis tais como a velocidade do vento e irradiância solar são
imprevisíveis a curto prazo, que geram incerteza sobre a energia produzível nestes prazos,
prejudicando o despacho de energia. No caso dos equipamentos elétricos, as centrais mini-hídricas e
eólica podem estar equipadas com geradores de indução (rotor em gaiola ou duplamente
alimentados) ou geradores síncronos de velocidade variável. Os geradores de indução de rotor em
gaiola possuem a vantagem de permitir uma pequena variação de velocidade na produção de
potência ativa, no entanto, necessitam de absorver potência reativa da Rede para a sua
magnetização, sendo incapazes de controlar tensão na Rede. As máquinas de indução duplamente
alimentadas possuem uma maior flexibilidade de velocidades de operação e possuem a
potencialidade de fornecer potência reativa à Rede, devido ao inversor que alimenta as bobinas do
seu rotor. Os geradores síncronos de velocidade variável não podem ser diretamente ligados à Rede,
passando a energia por um andar DC onde pode ser armazenada e de seguida, invertida por um
conversor eletrónico para injeção de potência na Rede, processo semelhante ao caso da energia
solar fotovoltaica. No entanto, na ocorrência de grandes perturbações no SEE, as soluções
anteriormente apresentadas não contribuem para a eliminação de defeitos, podendo levar o sistema a
colapsar com a sucessiva interrupção de grupos. [1] [2]
________________________________________
3
1.1 Objetivos
O objetivo deste trabalho consiste em implementar um sistema que injete potência na Rede de
energia elétrica a partir de um inversor trifásico através da emulação de um gerador síncrono, tirando
partido dos seus benefícios para o SEE. Para o efeito, será necessário proceder ao controlo interno
de corrente em coordenadas dq, em que as correntes de referência serão as correntes do estator,
originadas pelo modelo matemático das máquinas síncronas. Este modelo será inserido num
processador digital de sinais (DSP), que através das placas de aquisição de sinais (PAS) procede às
medições de tensão da Rede e das correntes de saída do inversor, calculando em tempo real o valor
instantâneo das correntes de referência. As correntes medidas são comparadas por retroação com as
correntes de referência e corrigidas por controladores, cujo erro dá entrada no modulador. Os sinais
de comando do inversor irão ajustar-se de maneira a que as correntes de saída obedeçam à forma
das correntes de referência. Na Figura 1.1está representado o esquema simplificado do sistema a
implementar:
PAS PAS
Inversor UDC
Rede
Trifásico
Transformador
Algoritmo
da Máquina
Síncrona
Um outro estudo relatado no artigo “Micro grid stabilization using the Virtual Synchronous
Machine” abordou a regulação de tensão de uma rede isolada, através de um algoritmo de
compensação de oscilações de tensão. Os resultados apresentados foram, mais uma vez, reforçar
que a VISMA possui um desempenho equivalente ao de um gerador síncrono [4].
________________________________________
4
1.3. Conteúdo
________________________________________
5
________________________________________
6
Capítulo 2
Neste capítulo é introduzido o modelo das máquinas síncronas em coordenadas abc, tomando foco
nas suas equações e as suas características construtivas. São abordadas as transformações
matemáticas de Clarke e Park. Seguidamente aplica-se as transformações matemáticas ao modelo
das máquinas síncronas de forma a obter o seu tratamento em coordenadas dq. É ainda abordado o
modelo das máquinas síncronas em valores por unidade, que possui especial interesse para efeitos
de simulação e de implementação em microprocessadores.
________________________________________
7
________________________________________
8
2.1. Modelo da Máquina Síncrona em coordenadas abc
A máquina síncrona é um conversor eletromecânico rotativo que opera com uma velocidade
síncrona com a Rede elétrica à qual está ligada em regime estacionário, independentemente do seu
funcionamento como motor ou gerador (fenómeno a que se deve o seu nome, “síncrona”). As
máquinas síncronas são constituídas por uma parte fixa e uma parte rotativa (estator e rotor,
respetivamente), separados por um espaço de ar denominado por entreferro. O estator é constituído
por enrolamentos trifásicos idênticos espaçados de 120º, correspondendo a um número de pares de
polos magnéticos, que estarão ligados à Rede de energia elétrica. O seu rotor é constituído por
enrolamentos de excitação que têm como função criar um campo magnético com o mesmo número
de polos magnéticos do estator. O rotor possui ainda enrolamentos amortecedores, constituídos por
barras em curto-circuito que efetuam o amortecimento das oscilações do rotor da máquina em regime
transitório. Na figura 2.1 representa-se um esquema da máquina síncrona e os seus enrolamentos
trifásicos (a,b,c), excitação (f) e amortecedores (D e Q).
f Q
a
D
Figura 2.1 – Representação em “corte” de uma máquina síncrona trifásica de dois polos salientes.
As máquinas síncronas podem ser constituídas de diversas formas, sendo adaptada a sua
constituição à sua aplicação, nomeadamente: geradores síncronos acionados por turbinas a vapor ou
gás, denominados por turbogeradores, possuem um rotor praticamente cilíndrico, contendo de dois a
quatro polos. Os geradores utilizados para o aproveitamento de energia hídrica possuem um rotor
com vários pares de polos, sendo destinados a velocidades de rotação mais baixas, possuindo uma
geometria em que se faz sentir bastante as saliências metálicas do rotor.
________________________________________
9
Figura 2.2 – Grupo a vapor da central termoelétrica de Sines
Admitindo que os enrolamentos trifásicos são iguais, da análise das grandezas elétricas
resultam as seguintes equações na forma matricial compacta:
(2.1)
Em que:
(2.2)
(2.3)
(2.4)
(2.5)
(2.6)
Em que i e L são as expressões (2.3) e (2.4), respetivamente. O vetor dos fluxos é dado por:
(2.7)
(2.8)
________________________________________
10
Por sua vez, a posição angular do rotor é dada por:
(2.9)
Na análise das máquinas elétricas assume-se que são conhecidas as formas de onda da
tensão (ondas sinusoidais de um sistema trifásico direto e equilibrado) e pretende-se aplicar as
expressões apresentadas de (2.1) a (2.9) de forma a analisar as correntes, fluxos, velocidade, binário
eletromagnético e posição angular do rotor. Da análise das referidas expressões, verifica-se que o
modelo matemático das máquinas síncronas é composto por um conjunto de equações diferenciais
altamente não lineares que dependem simultaneamente do tempo, posição angular e velocidade do
rotor, possuindo um tratamento matemático relativamente complexo, que dificulta a análise das
grandezas referidas. Surge a necessidade de aplicar transformações matemáticas que simplifiquem
este modelo, principalmente a matriz dos coeficientes de indução L, que é o elemento responsável
pela incómoda dependência da posição angular do rotor.
________________________________________
11
Fazendo o eixo “a” coincidir com o eixo “α”, obtém-se a matriz transformação:
α
β (2.10)
α
β (2.11)
(2.12)
________________________________________
12
produto das matrizes das transformações referidas. Efetuando manipulações algébricas obtém-se a
matriz T:
(2.13)
(2.14)
Para transformar o modelo da máquina síncrona num referencial abc para um referencial
rotativo de componentes direta e quadratura efetuam-se as seguintes operações matemáticas, de
forma a obter um modelo na mesma forma da expressão (2.1), desprezando as componentes
homopolares:
(2.15)
________________________________________
13
(2.16)
(2.17)
(2.18)
Em que uabc, iabc, L e R são dados pelas expressões (2.2), (2.3), (2.4) e (2.5), respetivamente.
A matriz T é a matriz transformação que permite a conversão de coordenadas abc para dq, referida
na expressão (2.13).
(2.19)
(2.20)
(2.21)
A matriz dos coeficientes de indução resultante, após uma extensa manipulação matemática
é dada pela expressão (2.22):
(2.22)
A matriz Ldq é uma matriz de elementos constantes, ou seja, não depende da posição angular
do rotor. Este fenómeno deve-se ao facto da matriz de transformação atribuir uma rotação de acordo
com a rotação do rotor, ficando o referencial estacionário relativamente ao seu movimento.
________________________________________
14
(2.23)
(2.24)
(2.25)
(2.26)
(2.27)
(2.28)
________________________________________
15
Figura 2.6 – Esquema Equivalente da Máquina Síncrona com enrolamentos amortecedores [5]
A matriz das indutâncias pode ser separada ainda em duas submatrizes independentes:
segundo o eixo d e segundo o eixo q. Os elementos destas matrizes podem também ser divididos na
seguinte forma:
(2.29)
(2.30)
(2.31)
Os modelos das máquinas elétricas em valores por unidade têm especial interesse para fins de
simulação ou para implementação do seu modelo em microprocessadores para fins de técnicas de
controlo. Uma outra vantagem do sistema p.u. é de que as indutâncias possuem o mesmo valor das
reatâncias, que são usualmente os parâmetros fornecidos sobre as máquinas. Todos os valores em
p.u. estão obrigatoriamente referidos a um valor de base. Na abordagem das máquinas elétricas
define-se a tensão (Ub) e potência (Sb) de base das máquinas correspondendo ao valor eficaz da
tensão nominal e a potência aparente nominal, respetivamente. Pretende-se obter o valor de base
________________________________________
16
das restantes grandezas em função destas duas grandezas especificadas, com o tempo expresso em
segundos [6]:
(2.32)
Impedância de base:
(2.33)
Para grandezas expressas com termos associados ao tempo, surge a necessidade de definir
uma frequência de base (ωb). Pode-se de seguida definir o fluxo, a indutância e binário de base:
(2.34)
(2.35)
(2.36)
(2.37)
Uma vez definidos os valores de base das grandezas, pode-se escrever o modelo da
máquina síncrona em valores por unidade. Para o tempo se expressar em segundos, deverá dividir-
se os termos dependentes do tempo pela frequência de base:
Equações do estator:
(2.38)
(2.39)
(2.40)
________________________________________
17
(2.41)
(2.42)
(2.43)
A equação do movimento é reescrita em função da constante de inércia:
(2.44)
(2.45)
(2.46)
Aplicando a Transformada de Laplace aos circuitos das figuras 2.7 e 2.8, após uma extensa e
laboriosa manipulação matemática, obtém-se as respostas em frequência das reatâncias
operacionais segundo o eixo direto e quadratura:
________________________________________
18
τ τ
(2.47)
τ τ
τ
(2.48)
τ
τ (2.49)
Transitória em curto-circuito:
τ (2.50)
Subtransitória em vazio:
τ (2.51)
Subtransitória em curto-circuito:
τ (2.52)
Subtransitória em vazio:
τ (2.53)
Subtransitória em curto-circuito:
τ (2.54)
________________________________________
19
________________________________________
20
Capítulo 3
O conversor eletrónico utilizado no presente projeto tem como função de converter tensão contínua
em tensão alternada autonomamente para que seja possível a troca de potência com a Rede de
energia elétrica. Será o elemento responsável por “traduzir” em grandezas elétricas reais o
comportamento da máquina síncrona virtual e todo o controlo associado a esta. Neste capítulo será
introduzido o princípio de funcionamento deste conversor, o seu modelo matemático e o seu
desempenho em modelação sinusoidal.
________________________________________
21
________________________________________
22
3.1 Conversor DC – AC
O conversor DC-AC trifásico é um conversor eletrónico estático que converte tensão contínua
em tensão alternada trifásica. É constituído por três braços inversores, possuindo cada um destes 2
semicondutores comandados. Os semicondutores são controlados de maneira a que a tensão aos
terminais da carga seja alternada, possuindo um desfasamento de 120º elétricos. Desta forma, cada
braço dá origem a uma fase originando tensões simples e compostas. Usualmente os dispositivos
semicondutores comandados destes conversores são IGBT com um díodo associado em anti paralelo
em cada dispositivo, como ilustrado na figura 3.1.
D1 D3 D5
Filtro RL
UDC T1 T3 T5
2 ua ea
2
UDC 2 2
eb
ub
UDC uc ec
2 T2 T4 T6
D2 D4 D6
2 2 2
Am
Ac
T1
T2
T3
T4
T5
T6
(3.1)
Por sua vez, define-se o parâmetro Índice de Modulação de frequência (Kf) à razão entre as
frequências das ondas portadora (fc) e modulantes (fm):
________________________________________
24
(3.2)
Os sinais resultantes da comparação serão enviados para o comando dos IGBT presentes
nos braços inversores. Os sinais são também negados para prevenir a situação de dois
semicondutores do mesmo braço se encontrarem à condução simultaneamente, o que levaria à
ocorrência de um curto-circuito da fonte. Todavia, uma vez que o tempo de transição destes
dispositivos à condução é menor que o tempo de passagem ao corte, adicionam-se ainda tempos
mortos entre comutações (não representado na figura 3.2) de forma a garantir que não se encontram
dois semicondutores do mesmo braço inversor à condução simultaneamente.
Ao colocar-se um filtro RL passa-baixo à saída de cada braço inversor, a corrente não pode
sofrer descontinuidades, que resulta uma corrente com a forma de onda com uma componente
fundamental elevada e ruido de alta frequência, como ilustrado na figura 3.3.
Isaída
Figura 3.3 – Exemplo da forma de onda da corrente de saída de uma fase do inversor
As ondas modulantes definem a forma de onda à saída, bem como a sua amplitude e
frequência, enquanto a onda portadora define a resolução através do número de comparações
efetuadas. Quanto maior for o número de comparações entre as ondas, a onda da corrente de saída
terá maior resolução e maior frequência de ruído associado. Uma vez que o conversor irá alimentar
cargas predominantemente indutivas e/ou terá um filtro RL passa-baixo à sua saída, o ruído de alta
frequência será fortemente atenuado resultando uma forma de onda de corrente praticamente
sinusoidal.
(3.3)
________________________________________
25
O tempo de resposta do conversor comutado está diretamente associado à frequência das
ondas portadoras, sendo definido em cada ciclo: quando há alteração das ondas modulantes, as
respetivas alterações de saída do sistema serão efetuadas apenas no ciclo seguinte de comparação
das ondas modulantes. Este tempo de atraso (τD) é aleatório. Não obstante, é razoável considerar
como o valor médio do período de comutação:
τ (3.4)
ℒ τ (3.5)
(3.6)
Esta função de transferência pode ser simplificada para uma forma mais conveniente ao
desenvolver-se a expressão (3.6) em série de Taylor [8]:
τ τ τ τ (3.7)
τ
________________________________________
26
Capítulo 4
4 Sistema de Controlo
Neste capítulo será descrito o sistema de controlo do inversor de tensão trifásico para que este se
comporte como uma máquina síncrona, com base nos seus modelos apresentados nos capítulos 2 e
3. Serão abordados os controladores para a implementação do sistema e o respetivo
dimensionamento. No final do presente capítulo demonstram-se resultados de simulações
®
computacionais realizadas em Simulink/MatLab do sistema de controlo projetado.
________________________________________
27
________________________________________
28
4.1 Controlo interno de corrente
Existem vários tipos de controladores com diferentes particularidades, pelo que é necessário
conhecer as suas características para escolher o controlador a utilizar, de forma a ter o
comportamento global do sistema desejado. Apresenta-se de seguida, o conjunto de controladores
mais utilizados em controlo de sistemas dinâmicos.
Proporcional-Integral (PI): Controlador PI, tal como o nome indica, reúne as características
dos controladores Proporcional e Integral: Rápida resposta e garante um erro estático nulo, devido à
inserção de um polo na origem do sistema.
________________________________________
29
Proporcional-Integral-Derivativo (PID): Este controlador é considerado como o controlador
mais robusto, possuindo ação proporcional (resposta rápida), integral (erro estático nulo) e derivativa
(reação imediata a alterações de regulação). No entanto, poderá possuir problemas de amplificação
de ruído, devido à ação derivativa.
(4.1)
(4.2)
(4.3)
________________________________________
30
O controlador PI é caracterizado por dois parâmetros: ganho proporcional (Kp) e ganho
integral (Ki), que ao serem criteriosamente dimensionados o sistema terá uma resposta rápida, erro
estático nulo e boa estabilidade. A função de transferência do controlador é dada por:
(4.4)
Em que o ganho integral é definido pela razão entre o ganho proporcional e a constante de
tempo τi:
(4.5)
τ
(4.6)
τ
u (t)
e (t)
2Kp
1 Kp
t τi t
Os controladores PI possuem ainda à sua saída uma saturação que limita os valores da sua
saída. Estes valores são escolhidos pelo utilizador, que visa não só a proteção e bom funcionamento
dos equipamentos a utilizar como a minimização do tempo de resposta em cadeia aberta que se
verifica quando os controladores se encontram em saturação.
________________________________________
31
possui simetria em torno da frequência de corte, fenómeno a que deve o seu nome de “simetria”,
como representado na figura 4.3 [11]:
a) b)
Figura 4.3 – Exemplo de diagrama de Bode num sistema otimizado: a) Amplitude b) Fase [11]
Com base neste critério desenvolvido em 1958 deduziram-se várias vertentes, sendo cada
uma destas versões otimizadas para um tipo de sistema específico. Uma destas vertentes,
especificada no artigo “Modification of Symmetric Optimum Method” [12], é otimizada para sistemas
que possuem controladores PI, apenas uma entrada de regulação e que estão sujeitos a
perturbações, que se enquadra perfeitamente no sistema a controlar no presente trabalho. Esta
vertente está otimizada para funções de transferência de cadeia aberta na seguinte forma [12]:
(4.7)
(4.8)
(4.9)
Em que:
(4.10)
________________________________________
32
(4.11)
ed
um ud
id* id
τ τ
um uq iq
iq*
τ τ
eq
Uma vez que o sistema representado na figura 4.4 possui um polo na origem, as
perturbações tornam-se desprezáveis em regime permanente, podendo ser excluídas do diagrama de
blocos:
id* ud id
τ τ
iq* uq iq
τ τ
τ τ
(4.12)
τ τ
________________________________________
33
Após alguma manipulação matemática, obtém-se a função de transferência de cadeia
fechada:
τ
(4.13)
ττ ττ τ τ τ
Verifica-se que a função de transferência escrita em (4.13) não está na forma especificada
pelo Critério Ótimo de Simetria, representada em (4.8). Para que a expressão (4.13) possa tomar a
forma da expressão (4.8), tira-se partido do facto de que a resistência do filtro de saída do conversor
terá um valor bastante baixo. Ao considerar-se R ≈ 0 Ω obtém-se:
τ
(4.14)
ττ τ τ
τ τ
(4.15)
τ τ τ
τ τ
(4.16)
τ
τ (4.17)
τ τ
τ
(4.18)
τ τ
τ
________________________________________
34
4.3.1 Sistema de Controlo de Corrente
Kp Ganho Proporcional 75
ωc
Figura 4.6 – Diagrama de Bode do sistema otimizado pelo critério ótimo de simetria
________________________________________
35
Verifica-se que os diagramas de fase e amplitude possuem simetria em torno do ponto
correspondente à frequência de corte (ωc ≈ 5krad/s). Para testar o sistema de controlo de corrente,
irão ser introduzidas entradas do tipo escalão, de forma a simplificar a análise do seu desempenho.
Para uma entrada em escalão aos 10 milissegundos com o valor de 5 Amperes na corrente
id*, mantendo iq*=0A, obteve-se as seguintes respostas temporais:
Para uma entrada em escalão da corrente iq* com o valor de 5A, mantendo id*=0A, obteve-se
as seguintes respostas temporais:
Figura 4.9 – Tensões simples da Rede e correntes injetadas face ao escalão de 5 A de iq* aos 5ms
UN [kV] 26 20
pp 2 32
Pretende-se analisar a performance dos dois tipos de geradores face a um escalão do binário
de carga de 0,5 p.u. partindo do vazio. As condições iniciais de vazio estabelecem-se ao substituir-se
por zero as correntes do estator id e iq no modelo da máquina síncrona dado pelas expressões (2.38)
a (2.46), que levam a [5]:
(4.10)
(4.11)
(4.12)
________________________________________
38
(4.13)
(4.14)
(4.15)
________________________________________
39
Figura 4.12 – Corrente na fase “a” do inversor
________________________________________
40
Figura 4.14 – Fluxos ligados em coordenadas dq
________________________________________
41
Figura 4.17 – Velocidade do rotor
Outro tipo de transitório a analisar é a ocorrência de uma cava de tensão aos terminais da
máquina síncrona. Irá simular-se uma cava de tensão da Rede de 20% ocorrente aos 0,1 segundos
utilizando os mesmos parâmetros das máquinas síncronas da tabela 4.2, partindo do vazio:
________________________________________
42
Figura 4.19 – Correntes no inversor em coordenadas dq
________________________________________
43
Figura 4.21 – Correntes nos enrolamentos amortecedores e de excitação
________________________________________
44
Figura 4.24 – Velocidade do rotor
Da comparação das figuras 4.10 com 4.11 e 4.18 com 4.19, verifica-se um bom desempenho
do sistema de controlo para a regulação de correntes de referência.
________________________________________
45
________________________________________
46
Capítulo 5
5 Implementação Laboratorial
________________________________________
47
________________________________________
48
5.1 Ensaios Laboratoriais
Em todos os ensaios referidos, é necessário medir a tensão composta entre duas fases da
Rede e a corrente em duas fases do conversor através de placas de aquisição de sinal equipadas
com transdutores de corrente e tensão. Seguidamente estes sinais são convertidos para formato
digital por um conversor A/D e após processamento de sinal, poderão entrar no sistema de controlo
donde resultam os sinais de disparo do inversor.
No ensaio em cadeia aberta, o principal objetivo é precisamente definir os valores de base das
grandezas e a calibragem dos sinais provenientes dos transdutores, de forma a ajustá-los para o
sistema por unidade com o formato de numeração escolhido do microprocessador. Para o efeito,
efetua-se a montagem representada na figura 5.1:
Carga Filtro V
Rede
a
Inversor UDC
b
Trifásico c
A
6 Sinais de
disparo
ia ua
DSP
ib ub
________________________________________
49
No ensaio em cadeia fechada, o principal objetivo é a verificação dos ganhos dos
controladores PI, segundo o seu dimensionamento pelo critério ótimo de simetria para o efeito de
controlo de corrente. Neste ensaio coloca-se um transformador elevador à saída para se obter mais
margem de manobra sobre a corrente no seu primário.
Rede
a
b Sinais de disparo
c
Trifásico
ub
Ângulo θ abc SPWM
ua
Transformação dq
θ
id ud
id*
dq
iq
iq* uq
abc
DSP
Efetua-se ainda a ligação à Rede em cadeia fechada, através de um auto transformador para
verificar a injeção de potência na Rede, como especificado na figura 5.3:
Rede Sinais de disparo
a
b
c
Filtro IDC
Transformador
Inversor UDC 6
Trifásico
Auto
Transformador
ua SPWM
Ângulo θ abc
ub Transformação dq
θ
id ud
id*
dq
iq
iq* uq
abc
DSP
________________________________________
50
O ensaio da Máquina Síncrona Virtual consiste em gerar as correntes de referência no DSP
com o modelo da máquina síncrona, através da leitura das tensões da rede e corrente do conversor
eletrónico.
Rede
a
Sinais de disparo
b
c
Filtro IDC
Transformador
Inversor UDC 6
Trifásico
Auto
Transformador
ua
abc
ub SPWM
dq θr abc
dq
ud uq θ θ
id* id ud
dq
Algoritmo da
Máquina iq
Síncrona iq* uq
abc
DSP
________________________________________
51
Terminais
dos
Condensadores
Retificador
Dissipador Braços
de calor Inversores
Módulos de
disparo
Entrada de
sinais de
disparo
Grandeza Valor
fmáxPWM [kHz] 10
(5.1)
________________________________________
52
A componente fundamental da tensão simples eficaz aplicada a cada fase do transformador
possuirá uma tensão de aproximadamente 70,71V. Na tabela 5.1 encontra-se o resumo das
características nominais do transformador trifásico utilizado nos ensaios:
Grandeza Valor
Potência [kVA] 2
O DSP é o elemento onde será implementado o modelo da máquina síncrona em valores por
unidade, abordado no capítulo 2 e o sistema de controlo abordado no capítulo 4. Para tal, este
elemento deverá possuir as potencialidades de efetuar o processamento de sinal, efetuar todos os
cálculos do modelo da máquina síncrona e todo o sistema de controlo com os sinais adquiridos e
adequar os respetivos sinais de disparo para aplicação no conversor eletrónico em tempo real.
®
O microprocessador utilizado neste trabalho é o dsPIC30F4011 da MICROCHIP , que possui
recursos para cumprir os requisitos acima mencionados. Este microprocessador foi especialmente
concebido para o controlo de máquinas elétricas. Seguidamente, apresenta-se um resumo das suas
características [15]:
Características Analógicas:
- Conversor A/D de aproximações sucessivas de 10 bits com 9 entradas
- 4 Saídas analógicas de amostragem
- Capacidade de amostragem até 1 MSPS
Características do modulador PWM:
- Geração de 6 sinais PWM, com implementação de tempo morto incluída
- Frequência de PWM definida pelo utilizador
- 3 Geradores de fator de ciclo que poderão estar sincronizados com o conversor A/D
Processador:
- Arquitetura de 16 bits (otimizada para linguagem C)
- Operação até 30 MIPS
- 2kbytes de memória RAM
- 48kbytes de memória Flash
________________________________________
53
®
Figura 5.6 – Processador Digital de Sinais dsPIC30F4011 da MICROCHIP
Uma vez que o microprocessador possui uma arquitetura de 16 bits, o formato numérico
utilizado será o formato Q15, também conhecido como o formato de vírgula flutuante. Este formato
numérico efetua operações matemáticas com palavras binárias de 16 bits, em que o bit mais
significativo possui a informação correspondente ao sinal do número, enquanto o os restantes 15 bits
estão destinados ao seu módulo. Seja “m” e “n” os números de dígitos destinados à representação de
números inteiros e fracionários, respetivamente. Em formato Q 15 tem-se m=0 e n=15. A
representação numérica em complemento para dois em Q15 fica então compreendida entre:
(5.2)
As entradas analógicas do DSP são representadas por “ANx”, em que x é substituído por um
número compreendido entre [0;8]. Da mesma forma estão representadas as portas correspondentes
ao PWM: PWMxH que corresponde ao sinal de fator de ciclo e PWMxL ao sinal negado do fator de
ciclo. Para as portas de PWM, x será substituído por um número compreendido entre [1;3].
Pinos Valores
Vss [V] 0
ANx [V] [0 ; 5]
PWMxH [V] [0 ; 5]
PWMxL [V] [0 ; 5]
AVDD [V] 5
AVSS [V] 0
________________________________________
54
Figura 5.7 – Esquema representativo dos pinos do microprocessador [15]
Os pinos OCx do DSP, em que x é substituído por um número de [1;4], são pinos de
amostragem que colocam à sua saída o valor das variáveis internas selecionadas em fatores de ciclo
com uma tensão de 5V, com um período definido pela sua frequência de amostragem. Ao colocar-se
um filtro RC passa-baixo devidamente dimensionado, pode visualizar-se em osciloscópio o valor
médio dos fatores de ciclo, dando a possibilidade de analisar o valor das variáveis em tempo real.
®
O debugger utilizado neste trabalho é o MPLAB ICD2, a sua comunicação com o
computador realiza-se através de cabo USB, enquanto a comunicação entre o debugger e o DSP se
faz através de cabo RJ-11, acedendo aos terminais de programação PGD, PGC e MCLR do DSP.
®
Figura 5.8 – Debugger MPLAB ICD2
________________________________________
55
5.2.4 Placas de Aquisição de Sinal
________________________________________
56
Os projetos, dimensionamentos, os esquemas da eletrónica adicional das placas de aquisição
de sinal tal como todas as considerações tomadas para a sua conceção encontram-se
pormenorizadamente descritos no Anexo B deste trabalho.
A placa do DSP é alimentada por uma fonte de tensão externa com os níveis 0V, 5V e 15V. A
alimentação das PAS e a respetiva transmissão de sinais são realizadas através de cabo RJ-11, a
partir da placa do DSP. A configuração das ligações das tomadas RJ-11 é comum para todas as
placas de aquisição de sinais, como representado na figura 5.12 e na tabela 5.4:
1 2 3 4 5 6
________________________________________
57
Nº Pino Função
1 Alimentação (5V)
2 Sinal 1
4 Sinal 2
5 Alimentação (0V)
6 Sinal 3
Tabela 5.4 – Configuração dos terminais das tomadas RJ-11 para as PAS
®
Por sua vez, a MICROCHIP especifica a configuração necessária para a comunicação entre
o DSP e o debugger, de acordo com a tabela 5.4:
Nº Pino Função
1 MCLR
2 VDD
3 VSS
4 PGD
5 PGC
6 Não utilizado
Tabela 5.5 – Ligações do cabo RJ-11 que conecta o debugger e o DSP [16]
Neste subcapítulo serão brevemente introduzidos os programas utilizados tomando foco nas
suas funções. O código dos respetivos programas encontra-se no Anexo C, com os devidos
comentários. Depois de introduzido todo o software será apresentado um fluxograma representando
uma interrupção do sistema.
________________________________________
58
5.3.1 adc.c
Este ficheiro tem como função configurar as quatro das nove portas ANx como entradas
analógicas e a sua leitura sequencial, correspondendo ao número de grandezas a medir. Efetua a
configuração do formato de numeração das leituras para Q15 e inicializa os temporizadores e
contadores.
5.3.2 medidas.s
5.3.3 asmultp.s
Este ficheiro efetua a multiplicação de dois números em formato Q 15, devolvendo o resultado
da operação.
5.3.4 transformacoes.c
5.3.5 pi.c
O ficheiro pi.c contém o algoritmo dos controladores PI discretizado, para que possa ser
aplicado a um sistema digital, tal como o DSP. Seja o erro E(s) a entrada do controlador e a saída
U(s), a função de transferência do controlador é dada por:
(5.3)
(5.4)
(5.6)
(5.7)
5.3.6 PWM.c
Este ficheiro tem como função a escrita dos registos para definir a forma da portadora, bem
como a sua frequência e amplitude. A amplitude máxima desta onda é definida pelo valor dum registo
denominado por PTPER. Este registo é definido em função das frequências de oscilação e de PWM,
como especificado pelo fabricante [17]:
(5.8)
Foi estabelecido uma onda portadora de forma em “dente de serra”, uma frequência de
oscilação de 14MHz e uma frequência de PWM de 6kHz. O valor de PTPER, segundo a equação
(5.8) assume um valor aproximado de 0,0745 na representação Q15. O presente ficheiro estabelece
ainda a orientação das ondas modulantes face à portadora como “alinhado ao centro”.
O ficheiro possui ainda a função de escrita dos registos correspondentes aos fatores de ciclo
PDCx, em que x ϵ [1 ; 3], resultantes da modulação sinusoidal.
5.3.8 ms.c
O ficheiro ms.c contém o algoritmo da máquina síncrona em valores por unidade abordado no
capítulo 2. Esta rotina devolve as correntes de referência i d* e iq* e ainda o ângulo do rotor θ que é
utilizado nas rotinas de transformações de variáveis. Seguidamente apresenta-se o algoritmo da
máquina síncrona. Definindo as matrizes:
________________________________________
60
(5.9)
(5.10)
(5.11)
(5.12)
(5.13)
(5.14)
Os fluxos serão obtidos como variáveis de estado, através das expressões (2.38) a (2.42).
Seguidamente, após a integração das expressões de fluxo, procede-se ao cálculo do binário
eletromagnético desenvolvido, pela expressão (2.43). Da equação do movimento (2.44), retira-se a
aceleração angular. Ao integrar-se a aceleração, obtém-se a velocidade do rotor, que por sua vez, ao
ser integrada devolve a posição angular do rotor.
Como referido nos blocos da figura 5.13, o método numérico de integração utilizado será o
método de Heun, que será abordado no Anexo A.
________________________________________
61
5.3.9 main.c
O ficheiro main.c possui o papel de declarar todas as funções acima descritas e invocá-las
por ordem. São criadas variáveis globais para que as rotinas consigam retornar valores de múltiplas
variáveis simultaneamente. Seguidamente procede-se a um interrupt que ao entrar em ciclo infinito
através da instrução while(1), o programa irá repetir as suas instruções continuamente.
Representa-se na figura 5.14 um fluxograma de um ADC interrupt:
________________________________________
62
Capítulo 6
6 Resultados Experimentais
________________________________________
63
________________________________________
64
6.1 Ensaio em cadeia aberta
O ensaio em cadeia aberta consiste em ajustar os valores das grandezas em formato Q 15 com
os valores por unidade, tal como referido anteriormente. Estabeleceu-se que na representação em
Q15 o número 0,25 corresponde a 1 p.u. Desta forma obtém-se bastante margem para esta
representação numérica e a possibilidade de representar números positivos e negativos. Pretende-se
também ajustar os canais de observação OCx. Uma vez que estes canais irão possuir valores em
fatores de ciclo com os níveis 0V e 5V, optou-se por adicionar um offset de 2,5V como sendo o zero
do eixo das ordenadas, podendo assim observar-se valores positivos e negativos.
Efetuaram-se as ligações de acordo com a figura 5.1 e procedeu-se à medida das tensões
compostas Uab e Ubc e ao respetivo ajuste através de ganhos multiplicativos em software, de forma a
®
ajustar o valor das grandezas, com auxílio à ferramenta computacional MPLAB IDE, como
demonstrado na figura 6.1:
®
Figura 6.1 – Calibragem das tensões compostas Uab (vermelho) e Ubc (verde) com MPLAB IDE
________________________________________
65
Grandeza Valor de Base
O principal objetivo neste ensaio é a verificação dos ganhos dos controladores para o controlo
interno de corrente. Os ganhos calculados no final do capítulo 4 não podem ser inseridos no DSP,
não só porque não podem ser representados pelo formato numérico do microprocessador mas
também devido ao sistema ser implementado neste dispositivo em valores por unidade. Pretende-se
seguir o mesmo critério de dimensionamento de ganhos dos controladores abordado no capítulo 4,
desta vez com a implementação do sistema em valores por unidade. Para tal, é necessário recorrer
ao seu modelo em valores p.u., com o tempo expresso em segundos. As equações das tensões de
saída do conversor em valores por unidade são alteradas para:
(6.1)
(6.2)
τ τ
(6.3)
τ
(6.4)
τ
________________________________________
66
As ondas modulantes à saída dos controladores possuem saturação nos valores
±0,7×PTPER. KD será o ganho de amplificação das ondas modulantes que origina a tensão à saída
do conversor. Definida a tensão de base de 70V à saída do inversor, como indicado na tabela 6.1, a
tensão simples máxima aplicada aos enrolamentos do transformador nos ensaios representados nas
figuras 5.2, 5.3 e 5.4 será 1,0722 p.u. KD será é por:
(6.5)
Parâmetro Valor
L [p.u.] 0,3366
τi [ms] 0,333
τD [µs] 83,3
ωb [rad/s] 100
PTPER 0,0745
KD 20,5
Kp 0,3135
Ki 0,0941
No ensaio que se segue foi colocado o transformador trifásico elevador (70V : 400V) à saída
do inversor, tal como representado na figura 5.2. Desta forma, a mesma resistência de carga faz-se
sentir no primário como se tivesse um valor menor, possibilitando maiores intensidades de corrente.
________________________________________
67
Figura 6.2 – Respostas temporais de id* (amarelo; 0,4p.u./div), id (azul; 0,4p.u./div), iq (roxo;
0,4p.u./div) e ia (verde; 0,8p.u./div) para um escalão da corrente id* de 1 p.u.
A corrente id tem um tempo de resposta na ordem dos 4ms, a corrente iq sofre uma pequena
ondulação centrada em zero e a corrente ia é alternada sinusoidal com a amplitude de 1 p.u.
De seguida, ensaia-se o sistema para um escalão de iq*=1 p.u. com id*= 0 p.u. Os resultados
estão representados na figura 6.3:
Figura 6.3 – Respostas temporais de iq* (amarelo; 0,4p.u./div), id (azul; 0,4p.u./div), iq (roxo;
0,4p.u./div) e ia (verde; 0,8p.u./div) para um escalão da corrente iq* de 1 p.u.
________________________________________
68
o sistema para uma entrada tipo escalão iq*=1 p.u. e id*=0 p.u. As evoluções temporais das grandezas
encontram-se na figura 6.3:
Figura 6.4 – Respostas temporais de iq* (amarelo; 0,4p.u./div), iq (roxo; 0,4p.u./div), Uα (azul;
0,4p.u./div), Ia (verde; 0,8p.u./div) para um escalão da corrente iq* de 1 p.u.
Verifica-se que a corrente da fase “a” está em quadratura com a tensão da Rede Ua, para um
escalão de iq*, que se deve ao facto da escolha do referencial das transformações de variáveis
coincidir com as tensões.
Pretende-se com este ensaio efetuar a ligação da máquina síncrona virtual à Rede. Para o
efeito, é necessário verificar o seguinte conjunto de condições: Mesma sequência de fases,
velocidade síncrona com a da Rede, mesma posição vetorial das fases e a mesma magnitude destes
vetores. Pretende-se que a máquina síncrona virtual esteja inicialmente a flutuar na Rede, possuindo
uma velocidade síncrona com a frequência (não absorvendo nem debitando potência), utilizando o
ângulo de transformação das tensões da Rede, desta vez alinhando o eixo d aos fluxos.
Parâmetro Valor
-1
Ld (1;1) 0,6250
-1 -1
Ld (1;2) = Ld (2;1) – 0,2440
-1 -1
Ld (1;3) = Ld (3;1) – 0,3125
-1
Ld (2;2) 0,4671
-1 -1
Ld (2;3) = Ld (3;2) – 0,1830
-1
Ld (3;3) 0,5469
-1
Lq (1;1) 0,6249
-1 -1
Lq (1;2) = Lq (2;1) – 0,4860
-1
Ld (2;2) 0,6480
uf 0,007
Rf 0,02
Rs 0,1
RD 0,0204
RQ 0,0212
H 0,1
Uma vez os parâmetros inseridos no DSP, programou-se este dispositivo para que no instante
em que as condições de ligação à Rede de energia elétrica acima referidas se verifiquem, a máquina
síncrona virtual se ligue à Rede autonomamente, passando a utilizar a partir deste instante, o ângulo
de transformação do rotor virtual. Na figura 6.5 está registado o transitório de ligação à Rede:
________________________________________
70
Figura 6.5 – Transitório de ligação de id* (azul; 0,4p.u./div) e iq* (roxo; 0,4p.u./div)
Este transitório possui um comportamento oscilatório amortecido, que tende para um ponto
de funcionamento em vazio em que a máquina síncrona virtual se encontra em sincronismo com a
Rede, não trocando potência com esta, que é representado na figura 6.6:
Figura 6.6 – VISMA em vazio, regime permanente: id* (azul; 0,4p.u./div), iq* (roxo; 0,4p.u./div), ωr
(amarelo; 0,8p.u./div) e θ (verde; 0,5p.u./div)
________________________________________
71
Figura 6.7 – Evolução temporal de id* (azul; 0,4p.u./div), iq* (roxo; 0,4p.u./div), uf (verde; 3,2p.u./div)
No ensaio de aumento de carga, simula-se por software um aumento de carga, que irá dar
entrada na equação da segunda lei de Newton, travando inicialmente o seu rotor virtual.
Seguidamente, os enrolamentos amortecedores serão percorridos por corrente, que irão levar a
máquina síncrona virtual a estabilizar num novo ponto de funcionamento, desta vez a fornecer
também potência ativa. Para um aumento de carga em forma de escalão com a magnitude de 0,4 p.u.
obtiveram-se os seguintes resultados:
Figura 6.8 – Evolução temporal de id* (azul; 0,4p.u./div), iq* (roxo; 0,4p.u./div), Tc (verde; 0,4p.u./div) e
Tem (Amarelo; 0,4p.u./div) para um escalão de Tc = 0,4 p.u.
________________________________________
72
Face a uma perturbação do binário de carga, a VISMA desenvolve dum binário
eletromagnético oscilatório amortecido em torno de um ponto de equilíbrio (binário de carga). Ambas
as correntes se manifestam no comportamento face à perturbação, estando a corrente iq* associada à
potência ativa enquanto id* está associada à potência reativa.
Neste ensaio é provocada uma cava de tensão na Rede de 20% da sua magnitude através de
software, ou seja, por um fator multiplicador nos sinais recolhidos de tensão. As respostas temporais
deste ensaio encontram-se representados na figura 6.9:
Figura 6.9 – Evolução temporal de ud (amarelo; 0,4p.u./div), uq (verde; 0,4p.u./div), id* (azul;
0,8p.u./div), iq* (roxo; 0,8p.u./div) para uma cava de tensão na Rede de 0,2 p.u.
Face a uma cava de tensão de 20%, a VISMA possui um efeito compensador, que se verifica
inicialmente nas duas componentes da corrente, em que a corrente iq* tende para um valor final nulo
e a corrente id* tende para um valor final constante. A oscilação da VISMA afeta também as tensões,
principalmente a componente ud, devido à escolha do alinhamento dos eixos das transformações.
________________________________________
73
________________________________________
74
Capítulo 7
7 Conclusão
O capítulo de conclusão tem como objetivo analisar e discutir os resultados obtidos, salientando-se os
aspetos positivos e negativos dos assuntos abordados e das experiências realizadas ao longo deste
trabalho. As conclusões adotarão uma perspetiva para futuros estudos, com sugestões de futuros
procedimentos e métodos a implementar.
________________________________________
75
________________________________________
76
Com a realização deste trabalho, verificou-se que a aplicação da transformação de Park ao
modelo matemático das máquinas síncronas torna-o significativamente mais simples, sendo
computacionalmente mais leve e fácil de implementar.
Verificou-se também que o modelo dos inversores trifásicos pode ser aproximado a uma
função de transferência de primeira ordem, com uma constante de tempo proporcional à frequência
de comutação. Esta aproximação despreza polos de alta frequência que embora não se façam sentir
significativamente no seu desempenho, poderá condicionar o sistema de controlo, caso sejam
utilizados controladores com componente derivativa, o que levou à utilização dos controladores PI.
________________________________________
77
Quanto ao funcionamento da máquina síncrona virtual ligada à Rede de energia elétrica,
verifica-se que a VISMA responde às perturbações da Rede tal como um gerador síncrono conectado
a uma Rede de potência infinita. Todavia, não foi implementado o sistema de controlo de corrente à
máquina síncrona virtual, por não se considerar relevante a influência de uma VISMA ligada a uma
rede de potência infinita, tal como a presente em laboratório. Um futuro estudo a realizar é de
elaborar uma rede isolada experimental com um número reduzido de máquinas síncronas rotativas
em funcionamento como gerador em paralelo com a VISMA, provocando perturbações nesta rede de
forma a verificar o seu efeito estabilizante. Além do efeito estabilizador, verificar a performance da
VISMA como filtro de potência ativa, na presença de cargas que provocam potência deformante, tais
como retificadores.
________________________________________
78
Anexo A
®
No Anexo A encontram-se os blocos de Simulink/MatLab correspondentes aos sistemas e
subsistemas de simulação utilizados no capítulo 4, as simulações efetuadas para a ligação da
máquina síncrona virtual à Rede de energia elétrica e ainda a descrição do método de integração
numérica de Heun.
________________________________________
79
________________________________________
80
A.1 Controlo de Corrente:
No sistema de controlo de corrente, foram utilizados blocos de sinal para a geração das
correntes de referência, transformações de variáveis e modulação sinusoidal. Os blocos da biblioteca
“Power Systems” consistem no sistema de potência, constituído pela fonte DC, inversor trifásico, filtro
RL passa-baixo, medidas de grandezas elétricas, fonte trifásica e ainda os controladores PI. Na figura
A.1 está representado o sistema utilizado no controlo de corrente:
________________________________________
81
Figura A.3 – Bloco “SPWM”
________________________________________
82
Figura A.5 – Blocos de simulação da máquina síncrona virtual
________________________________________
83
Figura A.7 – Bloco “Ldinv”
________________________________________
84
A.2. Simulação de ligação em paralelo com a rede
Pretende-se com esta simulação aproximar o seu código tanto quanto possível ao código a
implementar no DSP, sendo implementado um sistema com o bloco “MatLab embedded function” que
permite a escrita de programas com sintaxe e nível semelhantes a linguagem C. À saída das
variáveis de estado, encontram-se blocos integradores com passo de cálculo fixo, em comum com o
clock do DSP (h=0,1ms) utilizando o método de integração numérica de Euler. O algoritmo da
máquina síncrona possui ainda a normalização de grandezas para o formato Q 15, de forma a facilitar
a futura implementação do seu modelo. Os parâmetros construtivos da máquina síncrona nesta
simulação são os valores especificados na tabela 4.2 do hidrogerador. Na figura A.10 representa-se
os blocos de simulação:
Uma vez a máquina síncrona virtual em vazio com velocidade nominal, a força eletromotriz
desenvolvida no estator terá apenas componente segundo o eixo q, dada por:
(A.1)
________________________________________
85
(A.2)
________________________________________
86
instabilidade representada na figura A.11 tem origem na divergência matemática causada pelo
método de Euler.
function [d_dt_Yd, d_dt_Yexc, d_dt_YD, d_dt_Yq, d_dt_YQ, id, iexc, iD, iq,
iQ, Tem] = fcn(ua, ub, uc, Yd, Yexc, YD, Yq, YQ, wm, theta)
%passo de cálculo:
h=0.1e-3;
uexc=7.0205e-004;wb=100*pi;
rs=0.0019*10;rexc=0.002;rD=0.0141;rQ=0.0136;
________________________________________
87
%Correntes do eixo d
id=8*(Ldinv11*Yd+Ldinv12*Yexc+Ldinv13*YD);
iexc=8*(Ldinv21*Yd+Ldinv22*Yexc+Ldinv23*YD);
iD=8*(Ldinv31*Yd+Ldinv32*Yexc+Ldinv33*YD);
%Correntes do eixo q
iq=8*(Lqinv11*Yq+Lqinv12*YQ);
iQ=8*(Lqinv21*Yq+Lqinv22*YQ);
Tem=4*(Yd*iq-Yq*id); %Binário
sin_x=sin(theta);
cos_x=cos(theta);
%força eletromotriz em alfa-beta
ualfa_maq=-4*wm*Yd*sin_x;
ubeta_maq=4*wm*Yd*cos_x;
k=k+1; %contador
(A.3)
O passo de cálculo “hθ” será inserido no DSP de forma a compensar o facto de que 1 p.u. de
velocidade corresponde a 0,25 em Q15, sendo afetado de um fator de 4 e também para que 1p.u. de
velocidade origine uma frequência angular de 100 rad/s, donde resulta um passo hθ=0,04.
Tal como representado na figura 5.13, as correntes elétricas correspondentes ao eixo d serão
-1
calculadas através do produto dos fluxos do mesmo eixo, pelos elementos da matriz Ld . No eixo q,
as correntes são calculadas de forma análoga, utilizando os fluxos desse eixo, com os elementos da
-1
matriz Lq . Visto que a numeração em Q15 está limitada entre [-1;1[, inserem-se os elementos destas
matrizes no DSP afetados de 1/8, sendo as correntes elétricas compensadas com um fator de 8. Uma
vez que o fluxo se encontra normalizado em 0,25, a corrente virá normalizada na mesma forma.
________________________________________
88
A.4. Integração Numérica pelo Método de Heun
A integração pelo Método de Heun, desenvolvido pelo matemático Karl Heun, apresenta uma
melhoria significativa nos resultados de integração face ao método de Euler. É utilizado na resolução
de equações diferenciais de valor inicial, que é indicado em aplicações de integração em tempo real.
(A.4)
(A.5)
(A.6)
k
O valor de y será dado pela média das duas estimativas, somada do valor anterior do
integral:
(A.7)
ŷ k2
k
y
ŷ1k
k k
x x +h x
Da figura A.13, verifica-se que o método de Heun calcula o valor da função derivada no
k k
primeiro ponto x , e seguidamente, estima a derivada no ponto x +h através do diferencial calculado
no passo anterior, sendo o incremento num determinado passo de cálculo a média dos dois pontos
calculados anteriormente.
________________________________________
89
________________________________________
90
Anexo B
Neste anexo encontram-se o dimensionamento dos componentes utilizados nas placas de circuito
impresso concebidas para a aquisição de sinais e o respetivo projeto. As placas de circuito impresso
®
foram concebidas com auxílio à ferramenta computacional DesignSpark PCB . A eletrónica adicional
tem como objetivo tratamento dos sinais provenientes dos transdutores para que os respetivos sinais
deem entrada no conversor A/D incorporado no DSP, dentro dos valores admissíveis.
________________________________________
91
________________________________________
92
B.1 Medição de Tensão
As placas concebidas para medições de tensão são equipadas com transdutores de tensão
®
do modelo LV25-P da LEM . São compostos por um transformador que é alimentado no seu primário
(+HT, –HT) com a tensão que se deseja medir, com uma corrente máxima de 10mA. No seu
secundário possui um amplificador que é alimentado com tensão simétrica de ±15V (+VC, -VC).
(B.1)
No seu secundário, a sua corrente máxima debitada será de 25mA. Na ficha de dados deste
componente é referido que RM deverá estar compreendida entre 100 ≤ RM ≤ 190Ω. Para este trabalho
escolheu-se uma resistência RM com o valor de 100Ω. Assim a sua tensão UM à saída terá um valor
eficaz de:
________________________________________
93
(B.2)
Este sinal será uma onda sinusoidal centrada em zero. Possui um valor de amplitude de
aproximadamente 3,5V, o que implica uma tensão de pico a pico de aproximadamente 7V. Visto que
as tensões de entrada no conversor A/D presente no DSP devem estar compreendidas entre 0 e 5V,
é necessário intervir nesta amplitude para que o sinal possa ser introduzido no DSP.
Para introduzir uma componente contínua de 2,5V, utiliza-se a tensão de referência comum à
tensão de referência do conversor A/D (UA/D), para que caso surja uma perturbação nesta tensão, o
sinal e a respetiva leitura são igualmente afetados. Uma vez que a tensão de referência do conversor
A/D é de 5V, efetua-se uma montagem em divisor de tensão, com duas resistências iguais (R=10kΩ),
sendo a queda de tensão em cada uma destas resistências de 2,5V. Dos terminais da resistência
retira-se o valor pretendido de tensão. Como a montagem em divisor de tensão é altamente não
linear em função do efeito de carga, surge a necessidade de utilizar um AmpOp de isolamento. Esta
tensão obtida será somada com a tensão obtida pelo transdutor de tensão, através de uma
montagem somadora.
UM
UA/D
R’M R
R R
U1 R R
U2
Uout
(B.3)
Sabendo que a tensão U2 virá afetada de sinal negativo, como se pode verificar na expressão
B.3, sabe-se que: U2max = -5V e que U1=2,5V, R=10kΩ. A resistência R’M é dada por:
(B.4)
________________________________________
94
Este seria o valor de R’M que levaria a oscilação aos valores extremos. Tal como referido
anteriormente, não será implementado um sistema de medição que esteja em operação nos valores
limite. Atribuindo R’M = 20kΩ, U2 estará compreendida entre:
Amplitude máxima:
(B.5)
Amplitude mínima:
(B.6)
Desta forma, teremos uma margem de 0,75V entre os valores máximos e mínimos esperados
e os valores limite admissíveis pelo conversor.
A tensão U2 vem afetada do sinal negativo que necessita de ser invertido, para tal, utiliza-se a
montagem inversora com ganho unitário para se obter finalmente a tensão sinusoidal centrada em
2,5V que oscila entre 0,75 e 4,25V que dá entrada no conversor A/D.
O nível DC terá uma tensão de 200V. Seguindo um raciocínio análogo ao ponto B.1.1, a
resistência R1 a colocar para obter o ponto de funcionamento nominal será:
(B.7)
A eletrónica adicional será comum ao ponto B.1.1, possuindo esta montagem um offset de
2,5V. Tomando novamente a nomenclatura da figura B.2, as montagens inversoras serão
dimensionadas para que a tensão Uout tenha no máximo um valor de 4,75V como medida de
precaução de não se operar no limite de tensão admitida pelo conversor A/D. A resistência R’ M será
responsável por atribuir um ganho da tensão UM que deverá ter um valor constante de 2,5V. Uma vez
que o sinal se encontra centrado em 2,5V, o sinal correspondente a uma leitura de 200V deverá
implicar uma amplitude incremental de 2,25V, de forma a obter-se à saída -4,75V. Da função de
transferência da montagem inversora retira-se o valor de R’M:
(B.8)
________________________________________
95
Seguidamente, na figura B.3 representa-se o ficheiro esquemático com as ligações dos
componentes da placa de medição de tensão:
________________________________________
96
Na figura B.4, representa-se o esquema da placa de circuito impresso, onde os limites da
placa estão representados a cor magenta, as pistas a vermelho, os componentes a azul e os shunts a
verde. Todas as placas de circuito impresso projetadas neste trabalho terão a mesma configuração
de cores e elementos.
A placa de corrente será responsável pela leitura das correntes em duas fases da rede e da
corrente no andar DC. Os transdutores de corrente utilizados neste projeto são o modelo LTSR 25-
®
NP da LEM . Possuem um orifício onde é colocado o condutor onde irá percorrer a corrente que se
pretende medir, possuindo a potencialidade de efetuar medições até 25A. No entanto, ao colocar-se
espiras do mesmo condutor neste orifício, a força magneto motriz tem um efeito multiplicador em
função do número de espiras. Neste trabalho, inseriu-se cinco espiras, resultando uma corrente
máxima de 5A. No seu interior, estes transdutores são compostos por um pequeno transformador que
é induzido pela corrente que percorre o condutor referido, sendo o sinal no seu secundário
amplificado, tal como representado a figura B.4. Estes transdutores são alimentados a 0 e 5V, e
necessitam ainda de uma tensão de referência de 2,5V, que será uma componente contínua
________________________________________
97
adicionada ao sinal de saída. Segundo a ficha de dados do fabricante, a tensão de saída é dada por
[19]:
(B.9)
De acordo com a expressão (B.9), verifica-se que a tensão de saída está compreendida entre
0 e 5V, que poderá ser inserida diretamente no conversor A/D.
R URef
________________________________________
98
Figura B.7 – Esquema de ligações da placa de medição de correntes
________________________________________
99
________________________________________
100
Anexo C
C.Placa do DSP
A placa do DSP possui um papel fundamental, uma vez que terá as funções de alimentação do
microprocessador, alimentação das placas de aquisição de sinais, receção dos sinais analógicos
adquiridos, amplificação e transmissão dos sinais de PWM, disponibilização as saídas analógicas do
DSP para visualização em osciloscópio e possuir acesso aos terminais de programação do DSP. No
Anexo B encontra-se o projeto da placa, concebida igualmente com a ferramenta computacional
®
DesignSpark PCB , bem como todos os componentes necessários à implementação das funções
referidas.
________________________________________
101
________________________________________
102
C.1 Circuito da placa do DSP
Para a visualização de sinais, o DSP efetua os cálculos e dispõe o seu resultado nas suas
saídas com sinais de compreendidos entre 0V e 5V, com um determinado fator de ciclo, à sua
frequência de amostragem. Para a observação em osciloscópio é necessário implementar um filtro
RC passa-baixo, de forma a ser visível o valor médio das grandezas computadas. Tendo em conta a
frequência dos sinais, o filtro usado possui R=3,9kΩ e C=0,15μF, resultando uma frequência de corte
de fc= 272 Hz.
Uma vez que os módulos de disparo são alimentados a 15V e os sinais de entrada devem
estar no mesmo nível de tensão, introduziram-se os drivers de disparo, que consistem em portas
lógicas AND do modelo TC4468. Os sinais que dão entrada nas portas AND, possuem uma tensão
de 5V (sinais de disparo e sinal de enable), no entanto, estes drivers possuem um amplificador que
faz com que os seus sinais de saída estejam ao nível de tensão de alimentação, possibilitando que os
sinais de disparo possuam o nível de tensão pretendido.
________________________________________
103
Figura C.1 – Esquema de ligações da placa do DSP
________________________________________
104
Figura C.2 – Esquema da placa de circuito impresso do DSP
________________________________________
105
________________________________________
106
Anexo D
________________________________________
107
________________________________________
108
D.1 Ficheiro adc.c
#include "p30f4011.h"
void ADC_init ( void );
void TMR3_init ( void );
void TMR2_init (void);
//Function: ADC_init()
//Description: ADC Initialization
void ADC_init( void )
{
ADCON1=0;
ADCON1bits.FORM = 3; //Formato numérico: 1.15
ADCON1bits.SSRC = 2; //Sample Clock Source:2 - Timer3; 3 - PWM
ADCON1bits.SIMSAM =0; //Leitura sequencial dos canais analógicos
ADCON1bits.ASAM = 1;
ADCON2=0;
ADCON2bits.CHPS = 0;
ADCON2bits.SMPI = 0b0101; //6 conversões
ADCON2bits.ALTS=0;
ADCON2bits.CSCNA=1;
ADCON3=0;
ADCON3bits.SAMC = 1; // era 1
ADCON3bits.ADCS = 15; // era 15
//Registo ADCHS
ADCHS = 0;
ADCHSbits.CH0NA = 0;// CH0 negative input is Vref-
//Registo ADCSSL
ADCSSL = 0x003F; //Palavra em hexadecimal com o "mapa" de entradas
analógicas que serão lidas
// igual a 0b0000 0000 0011 1111
// *********** Registo ADCPFG ***********
// está relacionado com o ADCSSL serve para programar a porta como
// analógica. Os bits do encoder são digitais
ADPCFG = 0xFFFF;
ADPCFGbits.PCFG0 = 0;
ADPCFGbits.PCFG1 = 0;
ADPCFGbits.PCFG2 = 0;
ADPCFGbits.PCFG3 = 0;
ADPCFGbits.PCFG4 = 0;
ADPCFGbits.PCFG5 = 0;
ADPCFGbits.PCFG6 = 0;
ADPCFGbits.PCFG7 = 0;
ADPCFGbits.PCFG8 = 0;
IFS0bits.ADIF = 0;//Apagar a flag do interrupt do A/D interrupt
IEC0bits.ADIE = 1;//Ativar interrupts do A/D
ADCON1bits.ADON = 1;//Ativar o conversor A/D
}
//Function: initTMR3()
//Description: Inicialização do Timer3 (A/D)
void TMR3_init ()
{
TMR3 = 0x0000;
PR3 = 500; //Trigger ADC1 every 125us
(Original=500) Original=980
IFS0bits.T3IF = 0; //Clear Timer 3 interrupt
IEC0bits.T3IE = 0; //Disable Timer 3 interrupt
T3CONbits.TON = 1; //Start Timer 3
}
void TMR2_init ()
{
________________________________________
109
// ============================= TIMER T2============================
OC1RS = 0x003F; // set the initial duty cycles (master and slave) at
50% originalmente 00FF
OC2RS = 0x003F; // set the initial duty cycles (master and slave) at
50% originalmente 00FF
OC3RS = 0x003F; // set the initial duty cycles (master and slave) at
50% originalmente 00FF
OC4RS = 0x003F; // set the initial duty cycles (master and slave) at
50% originalmente 00FF
// *********** Registo OCXR ***********
OC1R = 0x003F; // set the initial duty cycles (master and slave) at
50% originalmente 00FF
OC2R = 0x003F; // set the initial duty cycles (master and slave) at
50% originalmente 00FF
OC3R = 0x003F; // set the initial duty cycles (master and slave) at
50% originalmente 00FF
OC4R = 0x003F; // set the initial duty cycles (master and slave) at
50% originalmente 00FF
// *********** Registo OCXCON ***********
OC1CONbits.OCM = 0b110; // activate the PWM module
OC1CONbits.OCTSEL = 0;//'0' selects timer T2 and '1' selects timer T3
OC2CONbits.OCM = 0b110;//activate the PWM module
OC2CONbits.OCTSEL = 0; //'0'selects timer T2 and '1' selects timer T3
OC3CONbits.OCM = 0b110; // activate the PWM module
OC3CONbits.OCTSEL = 0;//'0' selects timer T2 and '1' selects timer T3
OC4CONbits.OCM = 0b110;// activate the PWM module
OC4CONbits.OCTSEL = 0;//'0' selects timer T2 and '1' selects timer T3
// *********** Registo T2CON ***********
T2CONbits.TCKPS = 1; // prescale 1:8
T2CONbits.TCS = 0; // internal clock
T2CONbits.TON = 1; // enable Timer T2
}
; file medidas.s
.global _medidas
.global medidas
_medidas:
medidas:
;remoção da componente contínua de Vs_ab
mov.w _offsetHVab,W0
sub.w _ADCBUF0,WREG ; W0=ADC-offset
clr.w W1
btsc W0,#15
setm W1
mov.w W0,W5 ; Guarda em W5 (ADC-Offset)
mov.w _qKUab,W4
mpy W4*W5,A
________________________________________
110
sac A,#-1,W4
mov.w W4,_Vs_ab
add _offsetLVab
mov.w W1,W0
addc _offsetHVab
return
.end
.global _asmultp
_asmultp:
;Os dois multiplicandos vão directamentepara W0 e W1 respectivamente
;é necessário movê-los para W4 e W5
________________________________________
111
mov W0,W4
mov W1,W5
mpy W4*W5,A
sac A,#0,W0
;o resultado é colocado em W0
return
.end
#include "p30f4011.h"
#include "dsp.h"
#include "math.h"
#include "libq.h"
#include "common.h"
//Transformação de Clarke
void abc_alfabeta (Vs_ab,Vs_bc,Is_a,Is_b)
{
int onebysqrt3 = Q15(1.0/sqrt(3));
// conversão dos dados do referencial abc para alfa-beta
Is_alfa = Is_a;
Is_beta = (Is_a + 2*Is_b);
Is_beta = asmultp (Is_beta,onebysqrt3);
// Para a tensão é diferente, pois usa tensões compostas
Vs_alfa = (2*Vs_ab + Vs_bc);
Vs_alfa = asmultp (Vs_alfa,onebysqrt3);
Vs_beta =Vs_bc;
return;
}
________________________________________
112
Uc = -Vs_alfa/2 + ubeta_aux;
return;
}
//Transformação de Park
void alfabeta_dq(ualfa,ubeta,ialfa,ibeta,sen,co_sen,start)
{
if(start==0)
{
ualfa2=asmultp(ualfa,ualfa);
ubeta2=asmultp(ubeta,ubeta);
raiz=ualfa2+ubeta2;
raiz=2*_Q15sqrt(raiz);
asm("repeat #17\n\tdivf %1,%2" : "=a"(sen):"r"(-ualfa), "e"(raiz): "w1");
asm("repeat #17\n\tdivf %1,%2" : "=a"(co_sen):"r"(ubeta), "e"(raiz): "w1");
ud=2*(asmultp(co_sen,ualfa)+asmultp(sen,ubeta));
uq=2*(asmultp(-sen,ualfa)+asmultp(co_sen,ubeta));
}
if(start==1)
{
ud=2*(asmultp(co_sen,ualfa)+asmultp(sen,ubeta));
uq=2*(asmultp(-sen,ualfa)+asmultp(co_sen,ubeta));
}
id=2*(asmultp(co_sen,ialfa)+asmultp(sen,ibeta));
iq=2*(asmultp(-sen,ialfa)+asmultp(co_sen,ibeta));
return;
}
#include "p30f4011.h"
#include "dsp.h"
#include "math.h"
#include "libq.h"
#include "common.h"
volatile int errodk=0;
volatile int erroqk=0;
extern int id;
extern int iq;
extern int IDref;
extern int IQref;
volatile int Vr_d=0;
volatile int Vr_q=0;
volatile int errodk1=0;
volatile int erroqk1=0;
volatile int Va=0;
volatile int Vb=0;
volatile int Vc=0;
volatile int Vr_alfa=0;
volatile int Vr_beta=0;
extern int Vrmax;
extern int Vrmin;
extern int sen;
extern int co_sen;
extern int raiz3over2;
void pi_control(IDref,id,IQref,iq,sin_x,cos_x)
{
int Kpi=Q15(0.3135);//ganho proporcional
int Kii=Q15(0.0941);//ganho integral
// implementação dos PI
________________________________________
113
errodk=(IDref-id);
erroqk=(IQref-iq);
Vr_d=Vr_d+asmultp(Kpi,(errodk-errodk1))+asmultp(Kii,errodk);
if(Vr_d>Vrmax) Vr_d=Vrmax;
if(Vr_d<Vrmin) Vr_d=Vrmin;
Vr_q=Vr_q+asmultp(Kpi,(erroqk-erroqk1))+asmultp(Kii,erroqk);
if(Vr_q>Vrmax) Vr_q=Vrmax;
if(Vr_q<Vrmin) Vr_q=Vrmin;
errodk1=errodk;
erroqk1=erroqk;
// tensões a aplicar à rotina de PWM:
Vr_alfa=2*(asmultp(cos_x,Vr_d)-asmultp(sin_x,Vr_q));
Vr_beta=2*(asmultp(sin_x,Vr_d)+asmultp(cos_x,Vr_q));
Va=Vr_alfa;
Vb=-Vr_alfa/2+asmultp(raiz3over2,Vr_beta);
Vc=-Vr_alfa/2-asmultp(raiz3over2,Vr_beta);
return;
}
#include "p30f4011.h"
#define Fosc_FRC 7372800 // oscilattor is a fast (7.37 MHz +/-2% nominal)
#define PLL 16
#define Fpwm 6000 //5000 // PWM period - 50usec, 5Khz PWM original 1900
#define Fosc Fosc_FRC*PLL
#define Fcy 14694622 //(Fosc/4 ~14 MHz
#define Tcy (1/Fcy)
#define PWMperiod (Fcy/Fpwm)-1 //9999
void InitPWM(void)
{
//PTMR=0; //coloca o timer interno a 0;
PTPER = PWMperiod; // Compute Period based on CPU speed and
// required PWM frequency (see defines)
OVDCON=0x3f00;//Output in PWMxx I/O pin is controlled by the PWM generator
DTCON1 = 0x0080; // ~8 us of dead time 00ff (agora está em 2 us)
PWMCON1 = 0x0077; // Enable PWM output pins and configure them as
// complementary mode
PWMCON2 = 0x0002; // 1 postscale values, for achieving 20 kHz
FLTACON = 0x0087;
PDC1 = PTPER; // Initialize as 0 voltage
PDC2 = PTPER; // Initialize as 0 voltage
PDC3 = PTPER; // Initialize as 0 voltage
SEVTCMP =1;
PTCON = 0x8002; //PWM alinhado ao centro, contagem UP/DOWN
return;
}
________________________________________
115
0b01100000,0b01100001,0b01100011,0b01100100,0b01100101,0b01100111,0b0
1101000,
0b01101001,0b01101011,0b01101100,0b01101101,0b01101110,0b01101111,0b0
1110000,
0b01110001,0b01110010,0b01110011,0b01110100,0b01110101,0b01110110,0b0
1110111,
0b01110111,0b01111000,0b01111001,0b01111001,0b01111010,0b01111011,0b0
1111011,
0b01111100,0b01111100,0b01111101,0b01111101,0b01111101,0b01111110,0b0
1111110,
0b01111110,0b01111111,0b01111111,0b01111111,0b01111111,0b01111111,0b0
1111111};
if (x>=0 && x<=90) cos_x = sine[90-x];//1 quadrante
else if (x>90 && x<=180) cos_x = -sine[x-90];// 2 quadrante
else if (x>180 && x<=270) cos_x = -sine[270-x];//3 quadrante
else if (x>270 && x<=360) cos_x = sine[x-270] ;// 4 quadrante
else if (x>360 && x<=450) cos_x = sine[450-x]; // 1 quadrante
else if (x>450 && x<=540) cos_x = -sine[x-450];// 2 quadrante
else if (x>540 && x<=630) cos_x = -sine[630-x];// 3 quadrante
else if (x>630 && x<=720) cos_x = sine[x-630] ;// 4 quadrante
return cos_x;
}
________________________________________
116
int const Lqinv22=Q15(0.648);
//resistências:
int const rs=Q15(0.1);
int const rexc=Q15(0.02);
int const rD=Q15(0.0204); //int const rD=Q15(0.0141); //originais
int const rQ=Q15(0.0212); //int const rQ=Q15(0.0136);//originais
extern int Uexc;
//eixo d
volatile int Id=Q15(0.0);
volatile int Iexc=Q15(0.0);
volatile int ID=Q15(0.0);
volatile int Yd=Q15(0.25);Yd1=Q15(0.25);Yd2=Q15(0.25);
volatile int Yexc=Q15(0.3202),Yexc1=Q15(0.3202),Yexc2=Q15(0.3202);
volatile int YD=Q15(0.25),YD1=Q15(0.25),YD2=Q15(0.25);
volatile int Tem=Q15(0.0);
volatile int Idref=(0.0);
volatile int Iqref=(0.0);
volatile int DYd1,DYd2,DYexc1,DYexc2,DYD1,DYD2,DYq1,DYq2,DYQ1,DYQ2;
//eixo q
volatile int Yq=Q15(0.0),Yq1=Q15(0.0),Yq2=Q15(0.0);
volatile int YQ=Q15(0.0),YQ2=Q15(0.0),YQ1=Q15(0.0);
volatile int Iq=Q15(0.0);
volatile int IQ=Q15(0.0);
volatile int angulo=Q15(0.0),angulo0=Q15(0.0);
// Condições iniciais:
volatile int Yd0=Q15(0.25);//1 p.u.
volatile int Yexc0=Q15(0.3202); //1,2807 p.u.
volatile int YD0=Q15(0.25);// 1 p.u.
volatile int Yq0=Q15(0.0);
volatile int YQ0=Q15(0.0);
volatile int wr1,Taux1,Taux2,Dwr1,Dwr2,Tem1;
int Idmax=Q15(0.25);
int Iqmax=Q15(0.25);
void maquina_sincrona(Ud,Uq,Tc,Uexc)
{
//Correntes: Compensação de um fator de 8, pela matriz inversa dos
coeficientes de indução e fluxo
//Eixo d
Id=8*asmultp(Ldinv11,Yd)+8*asmultp(Ldinv12,Yexc)+ *asmultp(Ldinv13,YD);
Iexc=8*asmultp(Ldinv21,Yd)+8*asmultp(Ldinv22,Yexc)+ 8*asmultp(Ldinv23,YD);
ID=8*asmultp(Ldinv31,Yd) + 8*asmultp(Ldinv32,Yexc) + 8*asmultp(Ldinv33,YD);
//Eixo q
Iq = 8*asmultp(Lqinv11,Yq) + 8*asmultp(Lqinv12,YQ);
IQ = 8*asmultp(Lqinv21,Yq) + 8*asmultp(Lqinv22,YQ);
//Cálculo dos fluxos, com integração dos fluxos pelo método de Heun:
//Previsão:
Rid=asmultp(rs,Id);
wmYq=4*asmultp(wr,Yq);
DYd1=asmultp(wh,(Ud-Rid+wmYq));
Yd1=DYd1+Yd0;
rexcIexc=asmultp(rexc,Iexc);
DYexc1=asmultp(wh,Uexc-rexcIexc);
Yexc1=DYexc1+Yexc0;
YD1=asmultp(-rD,ID);
DYD1=asmultp(wh,YD1);
YD1=DYD1 + YD0;
wmYd=4*asmultp(wr,Yd);
________________________________________
117
Riq=asmultp(rs,Iq);
Yq1=Uq-Riq-wmYd;
DYq1=asmultp(wh,Yq1);
Yq1=DYq1+Yq0;
YQ1=asmultp(-rQ,IQ);
DYQ1=asmultp(wh,YQ1);
YQ1=DYQ1 + YQ0;
Tem1=4*(asmultp(Iq,Yd1) - asmultp(Id,Yq1));
//Eixo d
Id=8*asmultp(Ldinv11,Yd1)+8*asmultp(Ldinv12,Yexc1)+ 8*asmultp(Ldinv13,YD1);
Iexc=8*asmultp(Ldinv21,Yd1)+8*asmultp(Ldinv22,Yexc1)+*asmultp(Ldinv23,YD1);
ID=8*asmultp(Ldinv31,Yd1)+8*asmultp(Ldinv32,Yexc1)+ 8*asmultp(Ldinv33,YD1);
//Eixo q
Iq = 8*asmultp(Lqinv11,Yq1) + 8*asmultp(Lqinv12,YQ1);
IQ = 8*asmultp(Lqinv21,Yq1) + 8*asmultp(Lqinv22,YQ1);
//2º Passo:
Rid=asmultp(rs,Id);
wmYq=4*asmultp(wr,Yq1);
DYd2=asmultp(wh,(Ud-Rid+wmYq));
Yd=Yd0+(DYd1+DYd2)/2;
Yd0=Yd;
rexcIexc=asmultp(rexc,Iexc);
DYexc2=asmultp(wh,Uexc-rexcIexc);
Yexc=Yexc0 + (DYexc1+DYexc2)/2;
Yexc0=Yexc;
YD2=asmultp(-rD,ID);
DYD2=asmultp(wh,YD2);
YD=(DYD1+DYD2)/2 + YD0;
YD0=YD;
wmYd=4*asmultp(wr,Yd1);
Riq=asmultp(rs,Iq);
Yq2=Uq-Riq-wmYd;
DYq2=asmultp(wh,Yq2);
Yq=(DYq1+DYq2)/2+Yq0;
Yq0=Yq;
YQ2=asmultp(-rQ,IQ);
DYQ2=asmultp(wh,YQ2);
YQ=(DYQ1+DYQ2)/2 + YQ0;
YQ0=YQ;
//Eixo d
Id=8*asmultp(Ldinv11,Yd) + 8*asmultp(Ldinv12,Yexc) + 8*asmultp(Ldinv13,YD);
Iexc=8*asmultp(Ldinv21,Yd)+8*asmultp(Ldinv22,Yexc) + 8*asmultp(Ldinv23,YD);
ID=8*asmultp(Ldinv31,Yd) + 8*asmultp(Ldinv32,Yexc) + 8*asmultp(Ldinv33,YD);
//Eixo q
Iq = 8*asmultp(Lqinv11,Yq) + 8*asmultp(Lqinv12,YQ);
IQ = 8*asmultp(Lqinv21,Yq) + 8*asmultp(Lqinv22,YQ);
Idref=Id;
Iqref=Iq;
//Saturação de corrente a (+/-) 1 p.u.
if(Idref>Idmax)
{
Idref=Idmax;
}
if(Idref<-Idmax)
{
Idref=-Idmax;
}
if (Iqref>Iqmax)
{
Iqref=Iqmax;
________________________________________
118
}
if (Iqref<-Iqmax)
{
Iqref=-Iqmax;
}
Tem=4*(asmultp(Iq,Yd) - asmultp(Id,Yq));
Taux1=Tem1-Tc;
Dwr1=asmultp(Taux1,Q15(0.0005));
wr1=Dwr1+wr0;
Taux2=Tem-Tc;
Dwr2=asmultp(Taux2,Q15(0.0005));
wr=(Dwr1+Dwr2)/2+wr0;
wr0=wr;
angulo=2*(asmultp(wr1,h4)+asmultp(wr,h4))+angulo0;
angulo0=angulo;
theta_g=asmultp(Q15(0.0055),angulo);//Escala decimal para graus: theta € [-
180;180]
theta_g=theta_g+360; // theta € [0;360]
return;
}
#include "p30f4011.h"
#include "dsp.h"
#include "math.h"
#include "libq.h"
________________________________________
119
int qKUbc=Q15(0.17);
int qKUdc=Q15(0.035);
int qKIdc=Q15(0.327);
int qKI=Q15(0.327);// calibrado para 1 p.u. corresponder a 5A
int qKIb=Q15(0.334);
//Declaração de variáveis
int i,j,k;
int Tc,start=0;
extern volatile int Is_alfa,Is_beta,Vs_alfa,Vs_beta;
extern volatile int Ua,Ub,Uc;
extern volatile int ud,uq,id,iq;
extern volatile int ualfa,ubeta,ialfa,ibeta;
extern volatile int theta,wr,omega;
extern volatile int Va,Vb,Vc;
extern volatile int theta_g,Tem;
extern volatile int Idref,Iqref,Tem,Yd,Yexc,Iexc,ID,YD;
extern volatile int Yq,YQ,IQ,wr,wmYd,Tem,angulo;
extern volatile int wmYd,Yq0,Riq;
int sin_x,cos_x;
int Vrmin,Vrmax;
int IDref,IQref,Pe,Qe;
int raiz3over2=Q15(0.866);
volatile int Ualfa_maq,Ubeta_maq;
volatile int u_d,u_q;
int const epsilon=Q15(0.001);
int dif_alfa,dif_beta;
int cont=0;
int cava=0;
int uexc=Q15(0.007);
//Declaração de métodos externos
extern void ADC_init ( void );
extern void TMR3_init ( void );
extern void TMR2_init ( void );
extern void medidas (void);
extern void pi_control(int IDref,int id,int IQref,int iq, int sen, int
co_sen);
extern void initPWM (void);
extern int asmultp (int, int);
extern int seno(int x);
extern int coseno (int x);
extern void SimplestPWM(int Va, int Vb, int Vc);
extern void SVPWM (int Va, int Vb, int Vc);
extern void abc_alfabeta(int Vs_ab,int Vs_bc,int Is_a,int Is_beta);
extern void alfabeta_abc(int Vs_alfa,int Vs_beta);
extern void alfabeta_dq(int Vs_alfa,int Vs_beta,int Is_alfa,int Is_beta,int
sen, int co_sen,int start);
extern void maquina_sincrona(int ud,int uq,int Tc, int uexc);
extern void metodos(int Tem,int Tc);
void __attribute__((__interrupt__)) _ADCInterrupt(void);
void __attribute__ ((__interrupt__,auto_psv)) _T2Interrupt( void);
________________________________________
120
// Não existe porta A neste dsPIC
// A porta B é de entrada e por defeito é de entrada e analógica. Não
necessita de ser inicializada.
// Porta C é de saída (Serve para escrever no RC13 quando está a
fazer cálculos e assim podermos calcular o tempo de cálculo e frequência de
amostragem)
TRISC=0;
// Porta D saem os sinais OC é de saída. Por defeito é digital.
// Porta E por onde saem os sinais de PWMH e PWML para o inversor.
// Também entra o pino do INIBE = FLTA (este é de entrada)
TRISE=0x0100; // 0x100 PWM pins as outputs, and FLTA as input
// Porta F de saída com excepção dos pinos PGC e PGD que servem para
programar o sistema
TRISFbits.TRISF0=0;
TRISFbits.TRISF1=0;
TRISFbits.TRISF4=0;
TRISFbits.TRISF5=0;
Vrmax=asmultp(Q15(0.7),PTPER);
Vrmin=-Vrmax;
/* Ciclo Infinito */
while ( 1 )
{
}
}
// ACABA AQUI O MAIN
//Function: _ADCInterrupt()
//Description: A/D Interrupt Service Routine (ISR)
void __attribute__((__interrupt__)) _ADCInterrupt(void)
{
PORTCbits.RC13=1;
IFS0bits.ADIF = 0;//Clear the A/D interrupt flag bit or else the CPU
will keep vectoring back to the ISR
medidas();
abc_alfabeta (Vs_ab,Vs_bc,Is_a,Is_b);
cos_x=128*coseno(theta_g);
sin_x=128*seno(theta_g);
Ualfa_maq=2*asmultp(-wmYd,sin_x);
Ubeta_maq=2*asmultp(wmYd,cos_x);
alfabeta_dq(Vs_alfa,Vs_beta,Is_alfa,Is_beta,sin_x,cos_x,start);
if(cava==1)
{
ud=asmultp(ud,Q15(0.8));
uq=asmultp(uq,Q15(0.8));
}
maquina_sincrona(ud,uq,Tc,uexc);
pi_control(Idref,id,Iqref,id,sin_x,cos_x);
SimplestPWM(Va,Vb,Vc);
________________________________________
121
i=0;
V1[k] = Iqref;
V2[k] = ud;
V3[k] = YD;
V4[k] = Yq;
k++;
} i++;
if (k == 100){
k=0;
i=1;
}
} j++;
OC1RS = Is_alfa/128 + offset; //Amarelo
OC2RS = Iqref/256 + offset; //Azul
OC3RS = iq/256 + offset; //Magenta
OC4RS = Tc/128 + offset;//Verde
PORTCbits.RC13=0;
dif_alfa=Vs_alfa-Ualfa_maq;
dif_beta=Vs_beta-Ubeta_maq;
________________________________________
122
Anexo E
No Anexo E encontram-se os dados técnicos dos componentes utilizados fornecidos pelos seus
fabricantes, especificando as suas características físicas e configurações.
________________________________________
123
________________________________________
124
Referências
[1] J. P. S. Paiva, “Redes de Energia Eléctrica – Uma Análise Sistémica”, IST Press, 2011
[3] Y. Chen, R. Hesse, D. Turschner and H. Beck, “Dynamic Properties of the Virtual Synchronous
Machine”, Institute of Electrical Power Engineering, Clausthal, Germany
[4] R. Hesse, D. Turschner and H. Beck, “Micro grid stabilization using the Virtual Synchronous
Machine”, Institute of Electrical Power Engineering, Clausthal, Germany
[5] G. Marques, “Dinâmica das Máquinas Eléctricas”, Instituto Superior Técnico, 2007.
[11 S. Preitl, R. Precup, “Points of View In Controller Design by Means of Extended Symmetrical
Optimum Method”, “Politehnica” University of Timisoara, Romania
[12] Mizera, Roman, “Modification of Symmetric Optimum Method”, XXX. ASR 2005 Seminar,
Instruments and Control, Ostrava, April 29, 2005.
[13] P.C. Krause, O.Wasynczuk, S. D. Sudhoff – “Analysis of Electric Machinery and Drive
Systems”, IEEE press, 2002
[14] J. Santana, “Conversores Comutados para Energias Renováveis”, Instituto Superior Técnico,
2012
®
[15] MICROCHIP , “dsPIC30F4011/4012 Datasheet”, MICROCHIP Technology Inc, 2008
(http://www.microchip.com)
®
[16] MICROCHIP , “Using MPLAB ICD 2 Poster” - MICROCHIP Technology Inc, 2004
(http://www.microchip.com)
________________________________________
125
®
[17] MICROCHIP , “dsPIC30F Family Reference Manual”, MICROCHIP Technology Inc, 2005
(http://www.microchip.com)
®
[18] LEM , “Voltage Transducer LV 25-P datasheet”, 2012 (http://www.lem.com)
®
[19] LEM , “Current Transducer LTSR 25-NP datasheet”, 2012 (http://www.lem.com)
________________________________________
126