Download PDF
ads:
UNIVERSIDADE FEDERAL DE UBERLÂNDIA
PÓS-GRADUAÇÃO DE ENGENHARIA ELÉTRICA
FABIAN BARBOSA DE REZENDE
Controlador digital de alto desempenho para um inversor senoidal com
realimentação pela corrente do capacitor de saída usando um
processador digital de sinais de 16 bits e ponto fixo
v. 1
UBERLÂNDIA
2008
ads:
Livros Grátis
http://www.livrosgratis.com.br
Milhares de livros grátis para download.
FABIAN BARBOSA DE REZENDE
Controlador digital de alto desempenho para um inversor senoidal com
realimentação pela corrente do capacitor de saída usando um
processador digital de sinais de 16 bits e ponto fixo
Dissertação apresentada ao Programa de Pós-
Graduação em Engenharia Elétrica da
Universidade Federal de Uberlândia, como
requisito parcial à obtenção do título de mestre
em Engenharia Elétrica.
Área de concentração: Sistema de Energia
Elétrica
Orientador: Prof. Dr. Ernane Antônio Alves Coelho
v.1
UBERLÂNDIA
2008
ads:
FOLHA DE APROVAÇÃO
Fabian Barbosa de Rezende
Controlador digital de alto desempenho para um inversor senoidal com
realimentação pela corrente do capacitor de saída usando um processador digital de
sinais de 16 bits e ponto fixo
Dissertação apresentada ao Programa de Pós-
Graduação em Engenharia Elétrica da
Universidade Federal de Uberlândia, como
requisito parcial à obtenção do título de mestre
em Engenharia Elétrica.
Área de concentração: Sistema de Energia
Elétrica
Aprovado em: 12 de dezembro de 2008
Banca Examinadora
Prof. Dr. Ernane Antônio Alves Coelho
Instituição: Universidade Federal de Uberlândia Assinatura:________________
Prof. Dr. Sidelmo Magalhães Silva
Instituição: CEFET – MG Assinatura:________________
Prof. Dr. Aniel Silva de Morais
Instituição: Universidade Federal de Uberlândia Assinatura:________________
Prof. Dr. Fábio Vincenzi Romualdo da Silva
Instituição: Universidade Federal de Uberlândia Assinatura:________________
Prof. Dr. Luiz Carlos Gomes de Freitas
Instituição: Universidade Federal de Uberlândia Assinatura:________________
Prof. Dr. João Batista Vieira Júnior
Instituição: Universidade Federal de Uberlândia Assinatura:________________
Prof. Dr. Valdeir José Farias
Instituição: Universidade Federal de Uberlândia Assinatura:________________
Prof. Dr. Luiz Carlos de Freitas
Instituição: Universidade Federal de Uberlândia Assinatura:________________
DEDICATÓRIA
A Marcela, minha esposa, com amor, admiração e
gratidão por seu carinho, apoio, compreensão e
presença no período de elaboração deste
trabalho.
Aos meu pais, Bromberg e Lenira, e meus irmãos,
Rosane e Bromberg Júnior por acreditarem que
eu seria capaz.
AGRADECIMENTOS
A Deus,
Ao Orientador Ernane, que com a
convivência no mestrado, muito me
ensinou, contribuindo e orientando para
meu crescimento cientifico e intelectual.
A todos que me apoiaram, ajudaram ou
simplesmente confiaram em mim.
Agradecer é admitir que houve um minuto
em que se precisou de alguém e nada
mais justo dizer-lhes: MUITO OBRIGADO
pela presença em meu caminho, pois
todas vezes que os procurei, em qualquer
momento, sempre dispuseram de tempo
para orientar-me.
“O futuro não pode ser previsto, mas pode ser inventado. É a nossa habilidade de
inventar o futuro que nos dá esperança para fazer de nós o que somos.”
Dennis Gabor (1900-1979)
RESUMO
REZENDE, Fabian Barbosa. Controlador digital de alto desempenho para um
inversor senoidal com realimentação pela corrente do capacitor de saída
usando um processador digital de sinais de 16 bits e ponto fixo. 2008. 140 f.
Dissertação (Mestrado) – Programa de Pós- Graduação em Engenharia Elétrica,
Universidade Federal de Uberlândia, Uberlândia, 2008.
RESUMO: Este trabalho apresenta um controlador digital de alto desempenho para
um inversor PWM senoidal monofásico, usando um processador digital de sinais de
16 bits, ponto fixo. Esta topologia é tipicamente utilizada em sistemas UPS
(“Uninterruptible Power Supplies”), onde uma tensão de saída senoidal é desejada.
O controlador digital proposto consiste numa malha interna de realimentação da
corrente do capacitor do filtro de saída, uma malha externa de realimentação da
tensão de saída. Resultados experimentais mostrando o desempenho do sistema
para cargas lineares e não-lineares são apresentados, onde uma baixa distorção
harmônica total (THD) é observada, e é demonstrada uma elevada rigidez dinâmica
da tensão de saída para transientes de carga.
Palavras-chave: controlador digital, inversor senoidal, corrente do capacitor de
saída, processador digital
ABSTRACT
REZENDE, Fabian Barbosa. A high performance sinusoidal inverter digital
controller with output capacitor current feedback on a digital signal processor.
2008. 140 f. Dissertação (Mestrado) – Programa de Pós- Graduação em Engenharia
Elétrica, Universidade Federal de Uberlândia, Uberlândia, 2008.
ABSTRACT: This work presents a high performance digital controller of a single
phase PWM sinusoidal inverter, using a 16-bits fixed point DSP. This converter is
typically used in UPS (Uninterruptible Power Supplies), where a sinusoidal output
voltage is desired. The digital controller has an internal filter capacitor current loop,
and an external output voltage loop. Experimental results showing the performance
of the system under linear and non-linear loads are presented, where a low total
harmonic distortion (THD) is achieved.
Keywords: digital control, sinusoidal inverter, output filter capacitor current, digital
signal processor
LISTA DE FIGURAS
Figura 1 – Estrutura básico do inversor (conversor cc-ca) monofásico ................................................ 19
Figura 2 - Sinal PWM gerado pela borda (assimétrico) ........................................................................ 21
Figura 3 - Sinal PWM com alinhamento central (simétrico) .................................................................. 21
Figura 4 - Geração do sinal PWM ......................................................................................................... 22
Figura 5 - Modulação PWM a três níveis com E = 150V [6] ................................................................ 23
Figura 6 - Inversor com filtro de saída LC ............................................................................................. 24
Figura 7 - Circuito do filtro de saída LC no domínio de laplace ............................................................ 24
Figura 8 - Diagrama de bode do filtro LC com L=600µH e Ro=1ohm .................................................. 27
Figura 9 - Sistema físico do inversor no espaço de estados ................................................................ 29
Figura 10 - Diagrama do sistema do motor cc no espaço de estado análogo ..................................... 30
Figura 11 - Diagrama de blocos do sistema do inversor compensado ................................................. 31
Figura 12 – Circuito elétrico do filtro de saída do inversor (filtro RLC) ................................................. 33
Figura 13 - Malha da corrente do capacitor com compensador pi discreto .......................................... 40
Figura 14 - Sistema resultante C(z)*G(z) do tipo zero .......................................................................... 41
Figura 15 - Lugar das raízes da malha de corrente do capacitor discreta com compensador PI com
Kp=Ki=1 ................................................................................................................................................. 43
Figura 16 - Resposta ao degrau unitário de C(z)·G(z) em malha fechada com Kp=Ki=1 .................... 44
Figura 17 - Lugar das raízes para Kp=1 e Ki=1.68· 10
6
........................................................................ 45
Figura 18 - Lugar das raízes próximo ao circulo unitário de estabilidade ............................................ 45
Figura 19 - Alocação de zero para estabilizar a malha de corrente ic .................................................. 47
Figura 20 - Lugar das raízes para zero escolhido em z = 0.3245 ........................................................ 47
Figura 21 - Resposta ao degrau unitário escolhido com z = 0.3245 .................................................... 48
Figura 22 - Lugar das raízes para Ro = 1000 ohms ............................................................................. 49
Figura 23 - Lugar das raízes para Ro = 100000 ohms ......................................................................... 50
Figura 24 - Lugar das raízes para Ro = 100000 ohms com circulo de limite unitário .......................... 51
Figura 25 - Resposta ao degrau unitário com Ro igual á 100000 ohms............................................... 51
Figura 26 – Corrente de saída da malha fechada de Ic com referência senoidal ................................ 53
Figura 27 - Malha de corrente com saída em tensão ........................................................................... 53
Figura 28 – Tensão de saída obtida pela integral de Ic ........................................................................ 54
Figura 29 – Tensão de saída com off-set” nulo obtido através do ajuste da condição inicial da carga
do capacitor ........................................................................................................................................... 55
Figura 30 - Sistema de controle do inversor PWM senoidal completo e compensado ........................ 56
Figura 31 – Tensão de saída do inversor PWM senoidal com THD de 1,1% ...................................... 56
Figura 32 - Diferença entre a tensão de saída e a referência .............................................................. 57
Figura 33 - Diagrama geral do circuito do inversor senoidal PWM monofásico ................................... 59
Figura 34 - Módulo de potência ............................................................................................................. 60
Figura 35 - Diagrama elétrico geral da placa de aquisição e controle .................................................. 61
Figura 36 - Amplificador de instrumentação da tensão de saída .......................................................... 63
Figura 37 - Amplificador de instrumentação detalhado ........................................................................ 64
Figura 38 - Esquema elétrico da entrada do sinal de corrente do capacitor ........................................ 67
Figura 39 – Amostras do sinal de tensão para entrada em curto - valor 2048 ..................................... 69
Figura 40 - Amostragem para 340V na entrada de tensão ................................................................... 70
Figura 41 - Valor digital de “off-set” da entrada de corrente no dsp com sensor sem corrente ........... 71
Figura 42 - Amostragem da entrada de corrente com 7.071 A de pico ................................................ 72
Figura 43 - Buffer para ajuste de 3.3 para 5 volts do comando PWM1 ................................................ 74
Figura 44 - Esquema elétrico básico da placa de “gate driver” para um braço de IGBTs .................... 75
Figura 45 - Fluxograma básico da rotina principal ................................................................................ 76
Figura 46 - Digrama de tempo das interrupções do controlador digital ................................................ 78
Figura 47 - Diagrama do controlador digital .......................................................................................... 79
Figura 48 - Tensão de saída do inversor em malha aberta .................................................................. 86
Figura 49 - Tensão de saída do inversor em malha fechada ............................................................... 87
Figura 50 - Início do controle ................................................................................................................. 87
Figura 51 - Início do processo de controle com ponte retificadora - carga não linear .......................... 88
Figura 52 - Tensão e corrente de saída para carga não linear ............................................................. 89
Figura 53 - Tensão e corrente de saída do inversor para degrau de carga resistiva ........................... 90
Figura 54 - Medição de corrente de saída do inversor com ponteira isolada ....................................... 91
Figura 55 - Amostras da tensão de saída x referência digital de tensão .............................................. 92
Figura 56 - Diferença entre a tensão de saída e a referência .............................................................. 92
Figura 57 - Protótipo do inversor senoidal PWM – módulo de potência abaixo e “gate drivers” acima 94
Figura 58 - Protótipo do inversor senoidal PWM – vista superior mostrando os “gate drivers” ........... 94
Figura 59 - Protótipo do inversor senoidal PWM – sistema com o módulo de controle acoplado na
parte superior ........................................................................................................................................ 95
LISTA DE TABELAS
Tabela 1 - Vantagens e desvantagens do controle analógico – [5] ...................................................... 15
Tabela 2 - Vantagens e desvantagens do controle digital - [5] ............................................................. 15
Tabela 3 - Resultado de simulações para avaliar THD ........................................................................ 26
Tabela 4 - Parâmetros do sistema do inversor ..................................................................................... 38
Tabela 5 - Especificação das faixas de leitura da placa de aquisição .................................................. 62
Tabela 6 - Passos do “firmware” do controlador digital ........................................................................ 80
Tabela 7 - Representação em notação Q.n de ki’ = 0.11606 ............................................................... 82
Tabela 8 - Representação em notação Q.n de kp' = 0.171 .................................................................. 83
Tabela 9 - Parâmetros do protótipo do inversor .................................................................................... 85
Tabela 10 - THD's da tensão e corrente de saída ................................................................................ 93
LISTA DE SIMBOLOGIA

- Derivada da corrente do capacitor de filtro de saída

- Derivada da corrente do indutor do filtro de saída

- Derivada da corrente da carga de saída do inversor
A - Matriz de dinâmica do sistema
A/D - Analógico para digital
B - Matriz de entrada do sistema
C - Matriz de saída do sistema
C - Capacitor do filtro de saída do inversor
D - Matriz “feed-Forward
E - Tensão do barramento CC do inversor
fc - Freqüência de corte do filtro de saída do inversor
IcRef - Corrente de referência do sistema de controle
KA_Ic - Constante de conversão do sensor de corrente
KA_Vo - Constante de conversão do sensor de tensão
Ki - Ganho integral ajustado para sistema final
Kp - Ganho proporcional ajustado para sistema final
L - Indutor do filtro de saída do inversor
RL - Resistência do indutor do filtro de saída
Ro - Carga do inversor
Ts - Período entre amostragens
Vi - Tensão de entrada do filtro LC do inversor
Vl - Tensão do indutor do filtro de saída
Is - Corrente do secundário do sensor de corrente

- Derivada da tensão de saída do inversor
Vo - Tensão de saída do inversor
Vr - Queda de tensão devido a resistência ôhmica do indutor
Vs - Tensão na saída do sensor de corrente
ic - Corrente do capacitor do filtro de saída
il - Corrente do indutor do filtro de saída
ir - Corrente
ki
- Ganho integral ajustado para sistema final
kp - Ganho proporcional ajustado para sistema final
SUMÁRIO
INTRODUÇÃO ...................................................................................................................................... 13
Capítulo 1. INVERSOR PWM SENOIDAL MONOFÁSICO ............................................................. 19
1.1. Topologia básica do inversor (conversor CC-CA) ................................................................. 19
1.2. Análise e procedimento de cálculo do filtro de saída LC ...................................................... 24
Capítulo 2. CONTROLADOR DO INVERSOR PWM ...................................................................... 28
2.1. Descrição geral do controlador ............................................................................................. 28
2.2. Analogia do sistema físico (filtro LC) com o motor CC ......................................................... 28
2.3. Modelagem matemática do sistema físico do inversor ......................................................... 33
2.4. Discretização da planta e compensador digital ..................................................................... 37
2.5. Simulações do sistema compensado .................................................................................... 52
Capítulo 3. PROJETO DO CIRCUITO ELETRÔNCIO DO INVERSOR SENOIDAL PWM
MONOFÁSICO ...................................................................................................................................... 59
3.1. Descrição do circuito eletrônico do inversor senoidal monofásico ....................................... 59
3.2. Placa de aquisição e controle ............................................................................................... 60
3.2.1. Descrição geral .............................................................................................................. 60
3.2.2. Condicionamento de sinais ........................................................................................... 62
3.2.2.1. Entrada de tensão isolada ..................................................................................... 62
3.2.2.2. Entrada de corrente isolada .................................................................................. 64
3.2.3. Calibração das entradas analógicas ............................................................................. 68
3.2.3.1. Calibração da tensão ............................................................................................. 68
3.2.3.2. Calibração da corrente .......................................................................................... 70
3.2.4. Comando PWM e descrição dos “gate drivers” ............................................................ 73
3.3. Firmware” do controlador digital ........................................................................................... 76
3.3.1. Descrição geral .............................................................................................................. 76
3.3.2. Controlador digital com aritmética de ponto fixo ........................................................... 79
3.3.2.1. Notação Q. ............................................................................................................ 81
Capítulo 4. RESULTADOS EXPERIMENTAIS ................................................................................ 85
CONCLUSÃO ........................................................................................................................................ 96
REFERÊNCIAS BIBLIOGRÁFICAS .................................................................................................... 101
APÊNDICES ........................................................................................................................................ 105
APÊNDICE A.
Firmware” do controlador digital do DSP ........................................................... 105
APÊNDICE B. Esquema elétrico da placa de aquisição e controle ............................................ 129
ANEXO ................................................................................................................................................ 136
ANEXO A.
Folha de dados do “gate driver” SKHI 23/12 ........................................................... 136
13
INTRODUÇÃO
Nas últimas décadas, tem-se observado um grande crescimento da
demanda por computadores pelo mundo, influenciado pela evolução tecnológica da
produção desses equipamentos. Conseqüentemente, o crescimento da demanda
por informação, internet e uso de servidores com grande quantidade de informações
seguiu essa tendência.
É nesse contexto que os sistemas de segurança para suprimento de
energia dos computadores e servidores espalhados pelo mundo apresentam ampla
aplicação.
O Sistema UPS (“Uninterruptible Power Supply”) é uma unidade
eletrônica de alimentação que entra em ação, suprindo os dispositivos a ele ligados,
quando há interrupção no fornecimento de energia da concessionária. Seu circuito é
provido de uma fonte DC, podendo ser bateria, células solares, células a
combustível etc. Sua saída deve possuir a mesma forma de onda da rede elétrica,
estar em conformidade com as normas vigentes, e alimentar os equipamentos
eletro-eletrônicos mais comuns - como computadores - dentro de sua limitação em
potência.
Um equipamento UPS possui um inversor senoidal que converte energia
na forma CC para CA. Esses inversores possuem circuitos eletrônicos, analógicos
14
ou digitais, que controlam a forma de onda de saída, independente da carga que
está sendo alimentada, mantendo-a sempre senoidal e com 60Hz.
Existem diversas topologias de inversores. Inversores com controlador em
malha aberta possuem alta distorção harmônica e só são utilizados em situações
específicas onde uma baixa THD (“Total Harmonic Distortion“) não é necessária
como, por exemplo, em acionamentos elétricos. Inversores com controladores
analógicos e com realimentação pela tensão de saída, e inversores com dupla
realimentação, a da tensão de saída e uma realimentação pela corrente do indutor
de filtro de saída ou uma realimentação pela corrente do capacitor de filtro de saída
ou ambas, são opções utilizadas visando o aumento da estabilidade e velocidade do
controlador.
Inversores de alto desempenho usualmente utilizam controladores
analógicos, pois necessitam de alta largura de banda para manter a forma de onda
de saída senoidal em qualquer tipo de carga, mesmo para cargas com alto conteúdo
harmônico e elevados transientes de carga como pode ser observado em [34] e
[35]. Porém existem algumas desvantagens que prejudicam o desempenho destes
controladores, tais como a variação paramétrica dos componentes em função da
temperatura e a susceptibilidade à interferência eletromagnética. As tabelas 1 e 2
listam vantagens e desvantagens dos sistemas analógicos e digitais,
respectivamente.
15
Tabela 1 - Vantagens e desvantagens do controle analógico – [5]
Vantagens Desvantagens
¾ Elevada banda passante;
¾ Alta resolução;
¾ Não requer a conversão de Dados
(A/D – D/A);
¾ Funções específicas são disponíveis
como CI´s “off-the-shelf”;
¾ Ajuste fácil e rápido via
potenciômetros;
¾ Métodos de análise e projeto são bem
conhecidos.
¾ Desempenho de alguns componentes
dependente da temperatura;
¾ Envelhecimento de componentes implica
ajuste periódico para manter o
desempenho adequado;
¾ Solução em hardware: modificações,
atualizações ou adaptações devem ser
feitas através da manipulação de
circuitos;
¾ Permite somente a implementação de
funções simples no controle (PID,
avanço-atraso);
¾ Sensível ao ruído ambiente;
¾ Não possui capacidade de comunicação;
¾ Não possui capacidade de
armazenamento de dados satisfatória.
Tabela 2 - Vantagens e desvantagens do controle digital - [5]
Vantagens Desvantagens
¾ Solução programável: modificações,
atualizações ou adaptações são
realizadas via software;
¾ Menos sensível ao ruído ambiente;
¾ Suporta algoritmos avançados de
controle;
¾ Permite as funções de controle
adaptativo, não linear e “self-tuning”;
¾ Admite operação “sensorless”;
¾ Admite funções especiais:
monitoramento, diagnóstico, proteção,
etc;
¾ Capacidade de comunicação: permite
a incorporação a um sistema integrado
de controle;
¾ Capacidade de armazenamento de
dados flexível.
¾ Requer a conversão de dados (A/D –
D/A);
¾ Métodos de análise e projeto são mais
complexos;
¾ Taxa de amostragem e resolução podem
afetar os níveis de rejeição aos distúrbios
vinculados à carga
¾ Os atrasos computacionais limitam a
banda passante do sistema e podem
afetar a estabilidade;
¾ Erros de quantização e truncamento
podem afetar a precisão do controle;
¾ Durante a fase de ajuste, é difícil o
acesso à variáveis intermediárias.
A maioria das desvantagens do sistema digital está sendo melhorada com
as novas tecnologias que surgem na área de circuitos integrados. Pode-se citar, por
exemplo, que é fácil de encontrar no mercado atual, DSP (“Digtal Signal Processor”)
com conversores A/D de alta eficiência incorporados em um único chip. Assim, com
16
o desenvolvimento tecnológico atual, pode ser observado o grande uso de
controladores digitais, implementados com DSP ou microcontrolador para realizar o
controle de inversores senoidais. Além disso, o controle digital de equipamentos em
Eletrônica de Potência é comercialmente atrativo, pois aumenta a confiabilidade e a
flexibilidade do equipamento. Inevitavelmente, estas vantagens resultam em uma
redução na complexidade do circuito de controle, que pode ser progressivamente
substituído por software em um único microprocessador. Por conseqüência, é
possível mudar as características do controlador sem alterar o “hardware” envolvido
no projeto.
Existem diversas técnicas de controle digital aplicadas ao controle de
UPS, dentre elas pode-se citar a técnica de controle “deadbeat” digital proposta em
[12], baseada em um microprocessador de 16 bits. Em [28] há uma descrição de
uma implementação do controlador “deadbeat”, utilizando um processador digital de
sinais DSP, para aplicações em UPS. Em [20] há uma comparação entre algumas
técnicas de controle baseadas no controle “deadbeat”. Por sua vez, em [22], uma
apresentação de um algoritmo de controle do tipo “deadbeat”, chamado de
controlador OSAP (“One Sampling Ahead Preview”), que necessita apenas da
aquisição da tensão de saída do sistema. O controle por modos deslizantes discreto
DSMC (“Discrete Sliding Mode Control”) tem sido utilizado, como em [17], para obter
resultados com desempenho robusto mesmo na presença de variações
paramétricas e distúrbios na carga. Contudo, a utilização desta técnica em algumas
situações é comprometida devido à dificuldade de se encontrar uma superfície de
deslizamento adequada e à necessidade de uma alta freqüência de amostragem.
Por outro lado, o uso de controladores adaptativos robustos, como o controle
17
adaptativo robusto por modelo de referência RMRAC (“Robust Model Reference
Adaptive Control”), como em [13] e em [39], também tem sido uma alternativa para
minimizar o efeito da variação paramétrica e de dinâmicas não modeladas do
sistema de controle. No entanto, a relativa complexidade deste controlador pode
impossibilitar a sua implementação em um microcontrolador ou DSP de baixo custo.
Também em [21] e em [16] é empregado o controlador “deadbeat” com um padrão
PWM modificado, permitindo que a largura de pulso seja expandida a todo intervalo
de amostragem. Em outro trabalho, [29], propõe um controlador OSAP modificado.
Pode ser observado que na maioria dessas técnicas de controle digital,
como em [2], estão sendo usados circuitos com microcontroladores e DSPs
avançados, já de ponto-flutuante. Em contrapartida usam filtros de saída com
elevada inércia, ou seja, indutores com alta indutância fazem com que o sistema
responda lentamente a variações na carga, e como a idéia é manter a forma de
onda a qualquer custo, no caso de transientes de carga ou cargas não lineares
serem conectadas à saída do inversor este não consegue manter a forma de onda
de saída puramente senoidal conseqüentemente aumentando sua THD.
A proposta desse trabalho é desenvolver um controlador digital, com DSP
de 16 bits em ponto fixo, para um inversor senoidal monofásico de alto desempenho
com indutor do filtro de saída com baixa indutância, respondendo assim mais
rápidamente aos transientes, e com realimentação pela corrente do capacitor do
filtro de saída. A rigidez dinâmica de inversores senoidais com realimentação pela
corrente do capacitor de saída, já foi verificada em [34] e [35]. Este trabalho
basicamente converte o circuito de controle analógico de [34] e [35], que é um
18
sistema de controle com compensador PI na malha de corrente do capacitor de
saída, para um sistema de controle digital, utilizando o DSP dsPIC33FJ128MC706
da Microchip, usando uma taxa de amostragem alta o suficiente para se obter uma
rigidez dinâmica comparável ao sistema analógico.
O presente trabalho está organizado da seguinte forma. O Capítulo 1
descreve o funcionamento do inversor monofásico senoidal PWM, a topologia básica
que será utilizada, sistema de geração do comando PWM e uma análise para
escolha do filtro LC de saída. No Capítulo 2 é feita a descrição de um procedimento
de modelagem do controle digital do inversor. O modelo matemático do sistema
físico é encontrado com auxílio do MATLAB, e posteriormente encontram-se os
ganhos do compensador digital também utilizando a ferramenta MATLAB. Também
no Capítulo 2 são apresentadas simulações do sistema completo em malha fechada.
O Capítulo 3 descreve o projeto eletrônico do inversor senoidal, o desenvolvimento
do circuito de controle, sistema de aquisição de dados e “gate drivers” dos IGBTs.
Também, neste capítulo, é apresentada a técnica de desenvolvimento do “firmware
do controlador digital, que utiliza matemática de ponto fixo. O Capítulo 4 mostra os
resultados experimentais obtidos do protótipo do inversor desenvolvido. E finalmente
a conclusão geral do trabalho é apresentada.
19
CAPÍTULO 1. INVERSOR PWM SENOIDAL MONOFÁSICO
1.1. Topologia básica do inversor (conversor CC-CA)
Para apresentação do princípio de funcionamento básico do inversor,
conversor CC-CA monofásico, será utilizada a estrutura mostrada na Figura 1, onde
T1, T2, T3 e T4 são as chaves estáticas comandadas, as quais neste trabalho serão
IGBTs, E representa uma fonte contínua de alimentação, e pode também ser
chamada de barramento CC de entrada, e Vi é a tensão de saída do inversor.
Figura 1 – Estrutura básico do inversor (conversor cc-ca) monofásico
Para que não ocorram curtos-circuitos nos “braços” do inversor as chaves
T1 e T3, ou T2 e T4 não podem entrar em condução simultaneamente. Assim os
comandos de acionamento de T1 e T3, bem como os comandos de T2 e T4 devem
20
ser complementares, ou seja, sempre que T1 ou T2 estiverem fechadas, T3 ou T4
estarão abertas, respectivamente. Também, para evitar curtos-circuitos, é
adicionado um tempo morto, ”dead-time”, entre o bloqueio e entrada em condução
de chaves do mesmo braço.
Os diodos D1, D2, D3 e D4 garantem o caminho alternativo para as
correntes durante o bloqueio das chaves com carga reativa. São chamados diodos
de roda livre.
Na Figura 1, pode ser observado que quando as chaves T1 e T4 estão
fechadas e T2 e T3 abertas, desconsiderando as perdas nas chaves, têm-se Vi =
+E. E com T3 e T2 fechadas e T1 e T4 abertas, tem-se Vi = -E. Assim, sabendo que
um sinal PWM tem valor médio proporcional a sua largura de pulso, uma tensão de
saída Vi com valor médio variando entre –E a +E, poderá ser obtido, variando a
largura de pulso do sinal de comando de 0 à 100%.
Um sinal PWM pode ser gerado de duas maneiras diferentes: alinhado
pela borda (Assimétrico) ou alinhado pelo centro (Simétrico). O sinal alinhado pela
borda é o mais comum utilizado e está ilustrado na Figura 2. A Figura 3 ilustra a
geração do sinal PWM alinhado pelo centro. Observa-se uma vantagem no uso
desse tipo de geração, que é a dupla atualização da largura de pulso num mesmo
período de chaveamento, ou seja, no sinal PWM da Figura 2 a largura de pulso pode
ser atualizada a cada período, mas no da Figura 3, a largura de pulso pode ser
atualizada duas vezes num mesmo período. Assim, um sistema de controle
utilizando um atuador comandado por um sinal PWM alinhado pelo centro, poderá
21
ter uma resposta dinâmica maior. As Figuras 2, 3 e 4 ilustram a lógica de
implementação para geração de sinais PWM no DSP da Microchip e pode ser
verificado em [27].
Figura 2 - Sinal PWM gerado pela borda (assimétrico)
Figura 3 - Sinal PWM com alinhamento central (simétrico)
22
Figura 4 - Geração do sinal PWM
A Figura 4 mostra a lógica de comparação de uma largura de pulso
desejada com a onda gerada por um contador integrador. Se o valor de largura de
pulso for maior que o valor da curva do timer a saída do comparador é igual a 1,
caso contrário 0.
Para um inversor monofásico são necessários dois sinais de comando
PWM, um para o “braço” de T1 e T3, e outro para o “braço” de T2 e T4. O comando
para T1, sinal PWM, é gerado conforme as Figuras 2 e 3. O Sinal PWM para T3 será
seu complementar. Para T2 usa-se o sinal PWM de T1 defasado de 180
o
, ou seja,
quando a razão cíclica do pulso do comando da chave T1 for x%, o valor do
comando da chave T2 será igual (100% - x%). Assim considerando-se a geração do
comando PWM alinhado pelo centro, haverá uma combinação de comandos nas
chaves do inversor, a qual resultará em uma modulação PWM de três níveis para a
tensão Vi conforme mostrado na Figura 5.
23
Figura 5 - Modulação PWM a três níveis com E = 150V [6]
Agora, para obter-se a forma de onda senoidal desejada de 60Hz na
saída do inversor é necessário que o sinal PWM Vi seja filtrado. Esse sinal deve ter
uma freqüência de chaveamento muito maior que a freqüência desejada. Uma
análise do filtro de saída do inversor e um procedimento de cálculo de um filtro LC
serão descritas no item 1.2 a seguir.
24
1.2. Análise e procedimento de cálculo do filtro de saída LC
A Figura 6 apresenta o inversor com seu filtro de saída LC e a carga.
Essa carga, apesar de estar representada como um símbolo resistivo Ro, poderá ser
de qualquer tipo, linear ou não linear.
Figura 6 - Inversor com filtro de saída LC
Considerando que a indutância L possui uma resistência série de R
L
, a
função de transferência do filtro de saída LC pode ser encontrada conforme a
análise do circuito da Figura 7.
Figura 7 - Circuito do filtro de saída LC no domínio de laplace
25
Sabendo que o cálculo da impedância equivalente do paralelo (1/sC e Ro)
foi considerado, tem-se que:
··


··1
e
·

··1




1
·


··
··
·

··
Esse filtro terá Vi como tensão de entrada, que tem uma forma de onda
chaveada e PWM. A freqüência de chaveamento do inversor é de 25kHz. Como a
freqüência da tensão de saída do inversor deve ser 60Hz, o filtro LC deverá ter uma
freqüência de corte baixa o suficiente para filtrar a freqüência de chaveamento, e
alta o suficiente para não prejudicar a dinâmica do controlador digital que deve ser
de alta performance. Assim alguns métodos de análise e cálculo do filtro de saída do
inversor PWM podem ser encontrados em [6] e [27].
Porém, uma maneira prática para calcular ou estimar o filtro de saída LC,
é através de simulações com ferramenta simulink do MATLAB, analisar a função de
transferência


, visando a obtenção da melhor resposta de saída, boa filtragem
26
da freqüência de chaveamento e baixa THD da tensão de saída. Desta forma, foram
feitas simulações variando a indutância e a carga, para obter os respectivos valores
de THD da tensão de saída do filtro LC. Em tais simulações foi usado um gerador de
sinal PWM, alinhado pelo centro (simétrico) na freqüência de 25kHz, sinal modulante
de 60Hz - com índice de modulação de 100% - e tensão E de 311V.
Um capacitor de 60µF, próprio para o uso em filtros de inversores estava
disponível no laboratório, portanto, foi considerado esse valor nas simulações. Outra
consideração prática é que o maior indutor que poderia ser construído no laboratório
seria de indutância de 600µH, considerando a corrente máxima de 25A.
Tabela 3 - Resultado de simulações para avaliar THD
L (µH) THD (%) fc(Hz)
Ro = 1 ohm Ro = 10 ohms Ro = 100 ohms Ro = 1M ohm
100 2,60 7,45 11,74 12,22
2054.7
200 2,11 4,11 7,69 9,0
1452.9
300 1,88 3,38 6,00 6,10
1186.3
400 1,71 3,10 12,00 36,00
1027.3
500 1,56 2,80 4,40 5,20
918.8
600 0,08 2,80 4,50 5,50
838.8
Observando a Tabela 3 e a Figura 8, e considerando o melhor resultado
de THD da tensão de saída, e filtragem (freqüência de corte), escolheu-se o indutor
de 600µH.
27
Figura 8 - Diagrama de bode do filtro LC com L=600µH e Ro=1ohm
28
CAPÍTULO 2. CONTROLADOR DO INVERSOR PWM
2.1. Descrição geral do controlador
O controlador digital proposto nesse trabalho foi baseado no controlador
analógico de inversor descrito em [35]. A idéia central desse sistema é controlar a
tensão de saída indiretamente, impondo uma corrente senoidal no capacitor do filtro
de saída, que por sua vez é derivada da tensão de saída escalonada por sua
capacitância. Assim, controlando a derivada da saída, espera-se controlar a saída
com maior velocidade, obtendo tempo de resposta maior para o caso de transientes
rápidos de carga e para cargas não lineares.
Esse sistema é baseado no controlador de maquinas de corrente contínua
o qual foi amplamente estudado antes mesmo dos inversores. A seção 2.2 mostra a
analogia do sistema do inversor com o sistema do motor de corrente contínua e em
seguida e apresentado a modelagem do sistema do inversor para ser usado no
projeto do controlador digital.
2.2. Analogia do sistema físico (filtro LC) com o motor CC
O sistema físico do filtro de saída RLC pode ser representado por
diagrama de blocos no espaço de estados conforme a Figura 9.
29
Figura 9 - Sistema físico do inversor no espaço de estados
Devem ser feitas duas considerações antes de prosseguir com a análise
matemática:
Embora a carga esteja sendo representada por Ro, ela poderá ser
qualquer carga, linear ou não linear;
A tensão do barramento CC de entrada será considerada constante
por questões práticas do projeto do circuito eletrônico.
A Figura 10 mostra o diagrama de uma máquina de corrente contínua
sendo:
Ra Resistência de armadura;
La Indutância da armadura;
Kt Constante de força contra-eletromotriz;
Ke Constante de velocidade;
J1 Momento de inércia do eixo / carga;
BP Coeficiente de atrito viscoso;
Tl Conjugado de carga.
30
Desta forma, nota-se que o filtro RLC é diretamente análogo a este
modelo de motor CC apresentado na Figura 10, onde Ke=Kt=1 e BP=0.
Figura 10 - Diagrama do sistema do motor cc no espaço de estado análogo
A corrente do indutor de filtro do inversor é análoga à corrente de
armadura do motor CC; a corrente de carga é análoga ao torque de carga do motor;
a tensão de saída é análoga à velocidade do motor. O reconhecimento destas
analogias é importante, pois todas as técnicas de controle de motor CC avançadas
podem ser aplicadas diretamente ao controle do inversor e do filtro RLC de saída.
Não é surpresa que esses motores são simulados no laboratório com uma rede
RLC.
Com o reconhecimento dessas analogias é possível pular uma etapa do
projeto do controlador do sistema. Essa etapa é a de encontrar compensadores que
tornem o sistema estável e com erro em regime permanente menor possível. Para
isso utilizam-se métodos como lugar das raízes, adicionando pólos e zeros se
necessário, ou o método da resposta em freqüência.
31
Como o sistema de controle do motor CC já foi amplamente estudado e é
análogo ao sistema RLC, pode-se felizmente adaptá-lo ao este sistema.
O sistema compensado está ilustrado na Figura 11.
Figura 11 - Diagrama de blocos do sistema do inversor compensado
No centro do sistema de controle está a malha para controlar a corrente
do capacitor de filtro, ic. A razão por trás desta aproximação é: se a corrente do
capacitor de filtro pode ser precisamente controlada, sem considerar a corrente de
carga, então a tensão de saída pode ser precisamente controlada, ou regulada, uma
vez que esta é puramente a integral da corrente ic ajustada pelo capacitor de saída
C. A analogia ao sistema do servo motor pode ser desenhando, onde o torque (ou
aceleração) da carga inercial é controlado em malha fechada, assim habilitando que
o torque da carga seja efetivamente rejeitado. A velocidade (e assim a posição) do
motor pode ser precisamente controlada. No sistema do inversor senoidal a corrente
de carga age como um distúrbio na malha ic, e pode ser efetivamente rejeitada até a
32
largura de banda BW da malha ic. O sistema resultante (assumindo o bloco do
inversor ideal, Ka=1) está mostrado na Figura 11.
A malha ic contém um regulador PI, com um ganho proporcional de Kp e
ganho integral de Ki.
Idealmente um comando de corrente de onda senoidal (ic Ref), com
amplitude correta, produzirá a tensão de saída de onda senoidal desejada com uma
componente contínua com valor aleatório dependente das condições iniciais de
carga elétrica do capacitor de saída. Outro problema que poderá ocorrer são
variações de temperatura em C provocando erro na tensão de saída. Para corrigir
esses erros, uma malha de tensão de saída Vo é fechada sobre a malha de ic. Um
integrador extra não é necessário devido a ação integral da malha de corrente.
33
2.3. Modelagem matemática do sistema físico do inversor
O Sistema físico do inversor pode ser representado pelo filtro de saída
RLC, e o circuito elétrico deste está ilustrado na Figura 12.
Figura 12 – Circuito elétrico do filtro de saída do inversor (filtro RLC)
Onde:
Vi Tensão de entrada do filtro do inversor;
Vl Tensão no indutor;
Vr Queda de tensão devido a resistência ôhmica do indutor;
Vo Tensão de saída do inversor;
L Indutância do indutor do filtro de saída;
R
L
Resistência do indutor do filtro de saída;
Ro Carga;
C Capacitância do filtro de saída;
il Corrente do indutor;
ir Corrente de saída;
ic Corrente do capacitor;
34
As equações básicas desse sistema são expressas por:
·
(1)
·
(2)



(3)

· (4)
 (5)
  
·
As variáveis a serem controladas nesse sistema são a tensão de saída e
a corrente do capacitor do filtro de saída. Portanto, devemos representar o sistema
por equações de estados tendo como saída, as variáveis Vo e ic.
Rearranjando as equações de (1) à (5) temos:



(2)
35
(3) em (5) 


(6)

··
(7)



 




 



·
(8)
(6) em (7) –
·


–·
(9)
(8) em (9)

·
·
·




·



·
·

·
·

(10)
onde,












36
Com as equações (2) e (10), pode-se montar as matrizes A, B, C e D no
espaço de estados como segue:


=
0
1


·


·
·


+
0
1
· (11)
y = C ·


 D (12)
A matriz C pode ser escolhida para que o sistema possua uma ou duas
saídas, dependendo do que se deseja analisar, ou projetar.
Para y = ic temos:
C = 01 D = 0
Para y = Vo temos;
C =
10
 D = 0
Para 


temos:
C =
10
01
D =
0
0
37
2.4. Discretização da planta e compensador digital
As três características importantes de um sistema de controle são
estabilidade, erro em regime permanente, e resposta a transitórios. Se existir uma
faixa para o ganho onde o sistema é estável, então as características de regime
permanente do sistema devem ser analisadas para encontrar erro em regime
permanente próximo de zero. Com o modelo do sistema físico e a topologia de
controle conhecida, é possível encontrar o lugar das raízes e verificar se o sistema
possui uma faixa de valores de ganho onde o mesmo é estável e, posteriormente,
ajustar o sistema para ter erro em regime permanente mínimo. Também, como o
controlador do inversor será implementado na versão digital, as equações do
sistema devem ser discretizadas e as análises deverão ser feitas no plano z.
Com as equações no espaço de estados (11) e (12), é possível
determinar a função de transferência em Laplace SISO (“Single Input Single
Output”), onde a entrada é a tensão Vi e a saída é a corrente do capacitor ic,
utilizando comandos do MATLAB. Os parâmetros dessas equações, L, C, R
L
e Ro
estão apresentadas na Tabela 4, sendo que a indutância L e capacitância C do filtro
de saída foram encontrados no Capítulo 1. O valor do período de amostragem, Ts,
também está apresentado na referida Tabela.
A taxa de amostragem foi escolhida a maior possível para o DSP utilizado
sem prejudicar o tempo execução dos cálculos do controle, ou seja, foi escolhida
uma taxa de amostragem da corrente do capacitor de saída e da tensão de saída
que tivesse o tempo suficiente entre amostras para que o DSP consiga executar
todos os cálculos do controle digital.
38
Tabela 4 - Parâmetros do sistema do inversor
Parâmetro Valor
L 600µH
C 60µF
RL 0.01 ohms
Ts 20us
Ro 1 ohm
Com esses valores pode-se agora encontrar a função de transferência
com o MATLAB.
O comando que converte as equações no espaço de estado para função
de transferência em Laplace no MATLAB é, ss2tf, que tem como argumentos de
entrada as matrizes A, B, C e D encontradas no item 1.1. Assim podemos utilizar
esse comando do MATLAB para encontrar a função de transferência SISO com
entrada de tensão e saída corrente do capacitor de filtro ic.
A =
0
1



·



·
B = 
0
1
C =
01
,
para obter-se ic como saída
39
D =
0
Aplicando a função ss2tf do MATLAB temos:
[num,den] = ss2tf(A, B, C ,D);
G(s) = tf(num, den)
Onde G(s) é:

.·

.·
.·
(13)
A função de transferência do sistema físico, onde a entrada é a tensão do
inversor Vi e a saída é a corrente do capacitor de filtro ic, G(s), precisa ser
convertida para uma função de transferência no domínio z para que seja possível a
análise e projeto do controlador digital. Para converter essa função de transferência
para o plano z utilizamos a função do MATLAB c2dm como:
[numd,dend] = c2dm(num,den,Ts,'zoh')
G(z) = tf(numd,dend,Ts)
Onde G(z) é:

0.02829·1
1.7070.7163
20
40
Outro passo que dever ser feito é encontrar o compensador PI no plano z.
Assim temos:
Proporcional Discreto = Kp
Integrador Discreto =
·

Ação PI = 
·


·

·

O malha de corrente do capacitor de filtro de saída com o compensador
PI discreto é mostrado na Figura 13.
Figura 13 - Malha da corrente do capacitor com compensador pi discreto
A função resultante da multiplicação entre o compensador e a função de
transferência discreta, resulta em um sistema do tipo zero como mostra a Figura 14,
pois o pólo na origem presente na planta é cancelado pela raiz na origem inserida
pelo compensador PI.
41
Figura 14 - Sistema resultante C(z)*G(z) do tipo zero
Um sistema do tipo zero tem erro de regime permanente finito ao degrau
unitário, e infinito à rampa. Assim uma tentativa de se encontrar os ganhos Kp ou Ki
pelo uso das equações de cálculo de erro de regime permanente será feita.
Sabe-se que o erro em regime permanente para um sistema discreto em
malha fechada com degrau unitário como entrada é:

1
1
Onde lim

·
Então:
lim


·
1
·
1
·
0.02829·
1
1.7070.7163

0.02829··
0.0093
3.04··
42

1
1


1
13.04··
Para um erro em regime permanente de 1% temos:
0.01
1
13.04··
1.68·10
Essa análise teórica indica que o ganho proporcional Kp é irrelevante para
encontrar o erro de regime permanente do sistema, ou seja, o erro de regime
permanente é determinado somente por Ki. Porém isto estará correto caso o sistema
seja estável. Assim com o ganho do integrador Ki encontrado, uma forma de se
tentar encontrar o ganho proporcional Kp é com a análise do lugar das raízes. Então
para completar a análise do sistema será utilizado o método do lugar das raízes para
verificar a estabilidade e resposta dinâmica do sistema e tentar achar um valor do
ganho proporcional Kp. O MATLAB possui a função “rlocus” ou a ferramenta “rltool
para “plotar” o gráfico do lugar das raízes. Inicialmente a análise do lugar das raízes
é feita com Ki=Kp=1.
43
Figura 15 - Lugar das raízes da malha de corrente do capacitor discreta com
compensador PI com Kp=Ki=1
Como pode ser visto na Figura 15 essa malha de controle com regulador
PI com Kp=Ki=1 é estável para uma faixa de ganhos. Porém em regime permanente
o sistema não atinge o valor final desejado, conforme pode ser visto na Figura 16
quando o sistema e excitado com um degrau unitário.
44
Figura 16 - Resposta ao degrau unitário de C(z)·G(z) em malha fechada com
Kp=Ki=1
Agora com o ganho do integrador encontrado pode-se verificar com a
ajuda do MATLAB a nova configuração de estabilidade do sistema. Assim
resolvendo C(z) com 1.68·10
, 1e 20·10

temos:

·
1
·
1


133.6
1
Portanto 

.

A Figura 17 mostra como fica o lugar das raízes para essa configuração
de ganhos.
45
Figura 17 - Lugar das raízes para Kp=1 e Ki=1.68· 10
6
Pode-se observar que o sistema agora ficou instável, com um zero em
-32.6. A Figura 18 mostra com detalhe o lugar das raízes próximo ao círculo unitário.
Figura 18 - Lugar das raízes próximo ao circulo unitário de estabilidade
46
Os quadrados em rosa na Figura 18 indicam o ponto onde temos Ki=1.68·
10
e Kp=1. Nesse ponto o sistema é instável, pois seu ponto no lugar das raízes
está fora do circulo unitário. Para que o sistema fique estável é necessário ajustar o
ganho Kp para que o ponto onde esteja localizado Ki “entre” no circulo. Ajustar o
ganho Kp pode ser feito por alguns métodos matemáticos conhecidos, como por
exemplo, aplicar o critério de Routh-Hurwitz com a variável de transformação bi-
linear w, ou o teste de estabilidade de Jury. Felizmente o MATLAB possui inúmeras
ferramentas no auxílio de sintonia e projeto de controladores analógicos e digitais,
algumas já vistas e utilizadas nesse projeto.
Para selecionar o ganho Kp será usada a ferramenta do MATLAB “rltool”,
que é um programa que auxilia na alocação de pólos e zeros de maneira visual com
simples arrastes do “mouse”.
Na Figura 19 o zero localizado em -32.6, pode ser “arrastado” com o
mouse” para dentro do circulo unitário onde o sistema fica estável, como pode ser
observado nas Figuras 19 e 20.
47
Figura 19 - Alocação de zero para estabilizar a malha de corrente ic
Figura 20 - Lugar das raízes para zero escolhido em z = 0.3245
Outra grande vantagem dessa ferramenta é a possibilidade da
visualização da resposta ao degrau unitário à medida que é deslocado um pólo ou
48
zero. Com isso pôde-se escolher visualmente um valor para a oscilação natural do
sistema, e taxa de amortecimento como mostra a Figura 21.
Figura 21 - Resposta ao degrau unitário escolhido com z = 0.3245
Sabemos que com 1.68·10
e 20·10

temos:

·
1
·
1


·133.6
1
Onde:
·33.6·

33.6·
Para o zero igual ao encontrado na ferramenta do MATLAB, z = 0.3245, tem-se:
49
33.6·0.324549.74
Esse sistema de controle da corrente do capacitor de filtro de saída tem
uma característica importante; a corrente da carga age como distúrbio que pode ser
efetivamente rejeitado até a largura de banda BW da malha ic [35]. Para verificar
essa afirmação pode-se traçar o lugar das raízes para uma faixa de carga Ro e
verificar se as mudanças ocorridas afetam o desempenho do controlador. Isso é feito
facilmente no MATLAB com os valores de Ro para 1000 e 100000. Assim traça-se
os novos lugares das raízes do sistema mostrados nas Figuras 22 e 23.
Figura 22 - Lugar das raízes para Ro = 1000 ohms
50
Figura 23 - Lugar das raízes para Ro = 100000 ohms
Comparando os lugares das raízes das Figuras 22 e 23 com a Figura 20,
observa-se que pouco é alterado em relação à estabilidade. Observa-se também
que a partir de 1000 ohms de carga o lugar das raízes praticamente não se altera.
Isso quer dizer que teoricamente, baseado nesses gráficos, que o sistema de
controle pode ser estável mesmo sem carga, ou seja, Ro tendendo ao infinito. A
seguir nas Figuras 24 e 25, é mostrado, com a ferramenta rlocus do MATLAB, como
fica o lugar das raízes com Ro=100000 ohms e a resposta ao degrau unitário.
51
Figura 24 - Lugar das raízes para Ro = 100000 ohms com circulo de limite unitário
Figura 25 - Resposta ao degrau unitário com Ro igual á 100000 ohms
Pode ser observado que a amplitude da oscilação desse sistema
aumentou em aproximadamente 12,5% em relação ao sistema com Ro=1 ohm, ou
seja, quanto maior a carga de saída mais amortecido fica o sistema.
52
2.5. Simulações do sistema compensado
Com os valores dos ganhos dos compensadores encontrados no item
anterior, é possível obter, com a ferramenta do MATLAB, Simulink, as formas de
onda de saída do sistema de controle digital da malha de corrente do capacitor de
filtro de saída. Utilizando-se então o diagrama descrito na Figura 13 do item anterior,
pode-se simular a resposta do sistema a vários tipos de entradas. A Figura 26
mostra a resposta do sistema compensado da Figura 13, com os ganhos Ki e Kp
adequados, Ro de 1ohm e entrada senoidal de 60Hz e 5 amperes de amplitude.
Na Figura 26 a corrente de saída esta ilustrada pelo gráfico de cor
vermelha, e corrente de referência pela cor azul. Note que as curvas estão
praticamente sobrepostas, mostrando que o erro é mínimo para entrada senoidal em
60Hz. Como a corrente do capacitor é a derivada da tensão de saída escalada pelo
valor do capacitor de filtro, podemos observar a tensão integrando essa corrente. O
diagrama do sistema com a corrente integrada é mostrado na Figura 27, e a forma
de onda da tensão de saída está mostrada na Figura 28.
53
Figura 26 – Corrente de saída da malha fechada de Ic com referência senoidal
Figura 27 - Malha de corrente com saída em tensão
54
Figura 28 – Tensão de saída obtida pela integral de Ic
Na Figura 28 a tensão de saída está representada pelo gráfico com linha
roxa e a tensão de referência, que é a integral da corrente de referência, está
representada pelo gráfico com linha azul. Pode ser observado o “off-set” na tensão
de saída devido a condição inicial no capacitor de filtro de saída, ou seja, valor da
componente contínua é dependente das condições iniciais de carga no capacitor de
filtro de saída. A Figura 29 mostra a saída de tensão ajustando a condição inicial do
integrador para zerar esse “off-set”. Esse gráfico foi ilustrado para mostrar o erro
próximo de zero entre a tensão de referência e a tensão de saída após a eliminação
do “off-set”.
Para que o sistema de controle do inversor elimine automaticamente esse
off-set”, como já foi discutido anteriormente, é necessário a adição da segunda
55
realimentação, a realimentação da tensão de saída como está ilustrada na Figura 11
do item anterior. Assim o sistema completo está teoricamente compensado. Porém
até então não foi considerado o ganho real do inversor e também os ganhos dos
sensores. Então, para finalizar o sistema de controle do inversor é necessário
adicionar o bloco que representa o inversor com a modulação PWM, como também
os ganhos e ajustes dos sensores. Esse diagrama final já com os devidos ganhos e
o bloco do inversor PWM está mostrado na Figura 30 e sua resposta na Figura 31. A
Figura 32 mostra o erro da tensão de saída em relação à referencia.
Figura 29 – Tensão de saída com “off-set” nulo obtido através do ajuste da condição
inicial da carga do capacitor
56
Figura 30 - Sistema de controle do inversor PWM senoidal completo e compensado
Figura 31 – Tensão de saída do inversor PWM senoidal com THD de 1,1%
A Figura 30 mostra o sistema de controle completo do inversor. Os
valores de KA_Ic e KA_Vo representam os ganhos dos sensores utilizados na planta
real, de modo torne os resultados de simulação o mais próximo possível do
controlador real a ser implementado no DSP.
57
Figura 32 - Diferença entre a tensão de saída e a referência
O Ganho KA_Ic tem valor igual á:
_
2047
7.071
289.49
O circuito eletrônico de aquisição de dados do controlador do inversor, o
qual será apresentado no capítulo 3, possui um canal de aquisição para a corrente e
está ajustado para uma corrente máxima de 7.071A e mínima de -7.071A. O valor
máximo de corrente, convertida para digital através do A/D de 12 bits do DSP, é
4095. Internamente ao DSP, a corrente na verdade será representada de -2048
(-7.071A) à + 2047(7.071A – 1LSB). Como a entrada do conversor A/D é mono-polar
os circuitos de condicionamento do sensor de corrente devem deslocar a origem
58
para a tensão de referência do conversor A/D, Vref, dividida por dois. Assim, para
obter a faixa digital representativa da corrente no mundo externo, o resultado de
conversão dever ser subtraído do valor correspondente a Vref/2, que é 2048.
O Ganho de tensão KA_Vo é:
_
2047
340
6.02
A mesma idéia se aplica ao ganho do sensor de tensão de saída, agora
com o valor máximo de tensão em 340V e mínimo -340V. Assim o DSP terá um
range de tensão de -2048 (-340V) à 2047(340V – 1LSB).
Voltando a Figura 30, os ganhos do compensador PI da malha de
corrente do capacitor foram alterados considerando o ganho KA_Ic presente no
sistema. Para isso dividiu-se os valores encontrados de Ki e Kp anteriormente, por
KA_Ic para se obter o mesmo resultado de resposta do sistema. Assim os valores de
ganho Ki e Kp usados no modelo final que está mostrado na Figura 28 são:


·
_

1.68·10
·20·10

289.49
0.11606


_

49.74
289.49
0.171
59
CAPÍTULO 3. PROJETO DO CIRCUITO ELETRÔNCIO DO
INVERSOR SENOIDAL PWM MONOFÁSICO
3.1. Descrição do circuito eletrônico do inversor senoidal
monofásico
Uma apresentação do circuito eletrônico geral do inversor PWM senoidal
monofásico está ilustrado na Figura 33.
Figura 33 - Diagrama geral do circuito do inversor senoidal PWM monofásico
O diagrama descrito na Figura 33 pode ser dividido em dois módulos: o
modulo de potência e o módulo de controle e aquisição.
60
A Figura 34 mostra o módulo de potência com seus principais
componentes.
Figura 34 - Módulo de potência
Com exceção da placa de aquisição e controle, todos os componentes do
inversor são peças disponíveis do laboratório. Desta forma a placa de aquisição teve
que ser desenvolvida especialmente para este trabalho, e está detalhada na seção
3.2.
3.2. Placa de aquisição e controle
3.2.1. Descrição geral
A Figura 35 ilustra o diagrama esquemático da placa de aquisição e
controle do inversor senoidal PWM. No centro do diagrama encontra-se o DSP de 16
bits, dsPIC33FJ128MC706, que converte os sinais analógicos de corrente do
61
capacitor de filtro de saída e tensão de saída do inversor através de seus dois
conversores A/Ds de 12 bits independentes. Além disso, comanda os “gate drivers
dos IGBTs (“Insulated Gate Bipolar Transistors”) por seus módulos internos de
geração de sinais PWM dedicados, 1 e 2, um para cada braço do inversor. Ademais,
faz comunicação através de uma porta serial SPI para parametrização e calibração
do sistema de aquisição. Esse circuito possui alimentação de 3.3V para o DSP, +15
e -15V para os circuitos de condicionamento de sinais com amplificadores
operacionais, +5V para alimentar o conversor de nível lógico, 3.3V para 5V, e o
+15V também alimenta os “gate drivers”. Para mais detalhes da placa de aquisição e
controle, o esquemático detalhado encontra-se no Apêndice 2.
Figura 35 - Diagrama elétrico geral da placa de aquisição e controle
A Tabela 3 lista as especificações de faixas de leituras das entradas
analógicas da placa de aquisição.
62
Tabela 5 - Especificação das faixas de leitura da placa de aquisição
Faixa de leitura de tensão
340
Faixa de leitura de corrente
7.071

Freqüência de amostragem
50kS/s
A aquisição dos sinais de tensão e corrente são feitas simultaneamente
pelos dois conversores A/D de 12 bits internos ao DSP a uma taxa de amostragem
de 50000 amostras por segundo, 50kS/s.
Os comandos PWM 1 e 2 gerados pelos módulos internos ao DSP
funcionam à 25kHz e o PWM gerado é alinhado pelo centro. Nesse modo de
geração de comando PWM, o módulo gera duas interrupções por período, gerando
interrupções numa freqüência de 50kHz. Essas interrupções são usadas para
disparar as aquisições dos conversores A/D.
3.2.2. Condicionamento de sinais
3.2.2.1. Entrada de tensão isolada
O sinal da tensão de saída do inversor é lido pela placa de aquisição
através de um circuito de condicionamento de sinais que possui alimentação isolada
da alimentação do DSP. Esse isolamento é feito por um conversor DC-DC com
saída isolada e é alimentado do lado do DSP com +15V e entrega ao circuito de
saída 15V isolados. Esse conversor é o circuito integrado DCP011515DB.
63
Para leitura da tensão de saída do inversor, o circuito condicionador
amostra essa tensão por um divisor resistivo como mostra a Figura 36. Apesar da
placa de aquisição e controle possuir no seu diagrama elétrico um filtro ativo na
saída do amplificador de instrumentação, conforme Apêndice 2, “sheet” 3, na versão
prática desse circuito tal filtro foi retirado e o circuito que foi montado está conforme
o esquema mostrado na Figura 36.
Figura 36 - Amplificador de instrumentação da tensão de saída
Os resistores R2 e R3 possuem valor de resistência alta, fazendo com
que a tensão na entrada do amplificador de instrumentação seja bem pequena, da
ordem de poucos mili-volts. A razão de R2 e R3 terem valores de resistência
elevados é para que haja uma proteção no circuito de entrada, onde a tensão lida
pelo amplificador de instrumentação será sempre na ordem de mili-volts.
Esse amplificador possui ganho de tensão elevado, da ordem de 50
vezes. Assim a tensão de saída do amplificador será da ordem de volts. Essa tensão
é então injetada no amplificador ISO124 que a isola do circuito de entrada. Na
Figura 38 são mostrados os amplificadores adicionadores de “off-set”, pois a entrada
do conversor A/D de 12 bits do DSP só aceita sinais mono-polares que só converte
64
valores de tensão na faixa de 0 à 2.5V. Finalmente, com o “off-set” de 1.25V, o DSP
faz a aquisição da tensão através de um de seus conversores A/D.
Figura 37 - Amplificador de instrumentação detalhado
A Figura 37 mostra o circuito eletrônico do amplificador de
instrumentação. Apesar da tensão de saída do inversor desejada ser de 179,6V de
pico, escolheu-se um valor de tensão máxima de leitura de 340V de pico, para que
seja possível ler também uma tensão de saída de 220Vrms.
3.2.2.2. Entrada de corrente isolada
Uma grande vantagem do uso da realimentação pela corrente do
capacitor de filtro de saída é que a corrente do capacitor é muito menor que a
65
corrente do indutor. Desta forma, pode ser usado um sensor para correntes
menores, mais barato.
Nesse trabalho, a corrente do capacitor será:
·


onde, para C = 60µF e Vo = 127Vrms tem-se que:
127·
2·
2··60·
60·10

·127·
2·2··60·cos2··60·
4,062572·cos2··60·
Para a leitura da tensão de 220Vrms tem-se que:
7,037527·cos2··60·
Assim definiu-se que a leitura máxima de corrente da placa de aquisição é
de 7.071A.
Essa corrente do capacitor de filtro de saída será lida através do
transdutor de corrente de efeito Hall LA55P/SP1. Esse tipo de transdutor já possui a
66
leitura de corrente isolada. O transdutor LA55P/SP1 que foi usado neste projeto
converte corrente numa relação de 1 para 2000. Seu valor máximo de corrente no
primário é de 100A. Assim, quando circular uma corrente de 50A rms no primário, na
saída do transdutor circulará uma corrente de 25mA rms.
Como a corrente máxima no primário é de 100A, porém a corrente que se
deseja medir é de somente 7,071A, ajusta-se o numero de espiras no primário para
multiplicar essa corrente por um fator que possibilite ampliar a faixa de medida para
próximo do máximo, ou seja, aplicando 14 voltas no primário, a corrente de 7,071A
será multiplicada por 14, dando 98,994A de pico. Assim, toda faixa de medida do
sensor será utilizada, melhorando a resolução da medição.
A Figura 38 mostra o esquema elétrico resumido da entrada do sinal de
corrente do capacitor. Fazendo o cálculo da corrente que circulará no secundário do
sensor tem-se:

98,994
2000
0,049497
67
Figura 38 - Esquema elétrico da entrada do sinal de corrente do capacitor
A corrente Is circulará através de R60 de 100 ohms fornecendo assim,
uma tensão de:
1000,0494974,9497
Agora com ajuste de R68 para amplitude, e R61 para adição de “off-set”,
ter-se-á uma tensão no DSP que varia de 0 a 2.5V para uma entrada de ± 7,071A
de corrente do capacitor de saída.
68
3.2.3. Calibração das entradas analógicas
3.2.3.1. Calibração da tensão
Primeiramente deverá ser feita a calibração de “off-set”. Para isso, a
entrada de tensão da placa de aquisição deve ser colocada em curto-circuito. Agora
com um “firmware” apropriado, faz-se a conversão A/D do sinal analógico, a uma
taxa de amostragem de 50kHz e então esse sinal amostrado é enviado através de
uma porta serial SPI para uma placa eletrônica auxiliar com DSP, que serve para
calibrar e parametrizar o sistema. Essa placa auxiliar envia esses sinais, através de
uma porta serial RS-485, para um computador que serve de instrumento de
calibração. No computador um software próprio foi desenvolvido em linguagem
Delphi para visualizar os dados amostrados que são recebidos pela porta serial.
Com a entrada de tensão em curto, o software do PC mostrará uma tela
com um valor qualquer digital DC que deverá ser de 2048, ou seja, meio da escala
de 12 bits que é de 4096 e que também corresponde a 1.25V na entrada do DSP.
Para que o valor digital lido seja de 2048, o potenciômetro R34 da placa de
aquisição deve ser ajustado. A Figura 39 mostra a aquisição de 1024 pontos de 12
bits amostrados pelo DSP da placa de aquisição e transmitido para o PC com a
entrada de tensão em curto.
Para ajustar-se a amplitude do sinal de entrada, com um varivolt aplica-se
340V de pico e freqüência de 60Hz na entrada de tensão da placa de aquisição e
controle. Assim teremos uma tensão alternada de 60Hz na entrada do DSP. Com o
off-set” já ajustado, deve-se agora ajustar o ganho final, que é feito pelo
69
potenciômetro R39. A forma de onde final deve se encaixar perfeitamente na tela do
software que tem exatamente 4096 pontos, como mostra a Figura 40.
Assim tem-se que ±340V de tensão simétrica na entrada da placa de
aquisição será representada internamente ao DSP por um range de 0 à 4095, com
2048 sendo o zero.
Figura 39 – Amostras do sinal de tensão para entrada em curto - valor 2048
70
Figura 40 - Amostragem para 340V na entrada de tensão
3.2.3.2. Calibração da corrente
Da mesma forma que a calibração da tensão, a calibração da corrente
deve ser ajustada em duas etapas: a de “off-set” e de amplitude.
Para ajuste de “off-set”, o sensor LA55P deve ser ligado sem que circule
pelo primário nenhuma corrente. Assim em sua saída deverá aparecer alguma
tensão que é a multiplicação do resistor R60 por alguma corrente residual do
secundário do sensor. Agora fazendo a amostragem do sinal que está na entrada do
DSP e enviando ao computador pode-se ajustar esse “off-set” através do resistor
R61. O Valor digital que deverá aparecer como “off-set” é o mesmo da tensão e será
2048 como mostra a Figura 41.
71
Figura 41 - Valor digital de “off-set” da entrada de corrente no dsp com sensor sem
corrente
Para ajustar a amplitude, deverá ser aplicada uma tensão de 4,9497 volts
de pico e senoidal de 60Hz em cima do resistor R60 da placa de aquisição, que
equivale ao que seria a tensão gerada por esse resistor para uma corrente máxima
de entrada no primário do sensor de 7,071 A de pico senoidal de 60Hz, com 14
voltas no primário. Para isto, o sensor LA55P deverá ser retirado.
Assim tem-se que a forma de onda digital amostrada e mostrada na
Figura 42, deve se encaixar na faixa de 0 a 4095.
72
Figura 42 - Amostragem da entrada de corrente com 7.071 A de pico
Assim tem-se que ±7.071A de corrente simétrica na entrada de corrente
da placa de aquisição será representada internamente ao DSP por um range de 0 à
4095, com 2048 sendo o zero.
73
3.2.4. Comando PWM e descrição dos “gate drivers
Como já mencionado, o DSP da placa de aquisição e controle trabalha
com alimentação em 3.3 volts. Assim para acionar os “gate drivers” foi necessário a
adição de um circuito de ajuste de nível lógico, pois os “gate drivers” utilizados
trabalham com o nível de tensão TTL de 5V. A Figura 43 mostra o circuito integrado
utilizado para esta conversão, que é o “buffer” Lógico SN74LVC3G17. Essa figura
também mostra as conexões elétricas entre a placa de aquisição e controle e a
placa do “gate driver” dos IGBTs. No conector CN3, além de sinais de comando TTL
5V e alimentação da placa do “gate driver”, também há um sinal de retorno de erro.
Esse erro poderá ser, falha no acionamento dos IGBTs ou curto no braço. Caso
aconteça um desses erros, o “driver” desliga imediatamente os sinais de comando e
zera o sinal de erro fazendo com que o LED D11 ascenda.
74
Figura 43 - Buffer para ajuste de 3.3 para 5 volts do comando PWM1
Cada braço do inversor PWM possui uma placa de “gate driver” SKHI
23/12, e seu esquema elétrico básico, está mostrado na Figura 44. Na Figura 35,
podem ser observados os sinais PWM1H e PWM1L, que são os sinais dos IGBTs
superior e inferior, respectivamente. Esses sinais PWM são complementares e
existe um tempo morto entre eles, para evitar que o braço de IGBTs entre em curto-
circuito. Esse tempo morto é introduzido pelo circuito interno de geração de sinal
PWM do DSP. Assim cada braço de IGBTs possui um circuito dedicado de geração
de sinal PWM, ou seja, cada braço possui um circuito como o mostrado na Figura
35. Uma descrição mais detalhada da placa de “gate driver” SKHI 23/12 encontra-se
no Anexo I.
75
Figura 44 - Esquema elétrico básico da placa de “gate driver” para um braço de
IGBTs
76
3.3. “Firmware” do controlador digital
3.3.1. Descrição geral
O controle digital do inversor é feito por um “firmware”, que é um software
dedicado no DSP. Esse programa foi desenvolvido em linguagem C, está no
Apêndice 1, e é responsável pelo processo de aquisição das variáveis a serem
controladas, corrente do capacitor e tensão de saída do inversor, cálculo das malhas
de controle e aplicação do sinal PWM do inversor. A Figura 45 mostra um
fluxograma básico do funcionamento da rotina principal do “firmware”.
Figura 45 - Fluxograma básico da rotina principal
77
A rotina principal faz apenas as inicializações dos módulos de hardware -
configuração dos pinos, “clock” da CPU, A/D e PWM – e também inicializa a
referência de corrente do capacitor de saída e a referência de tensão de saída do
inversor. Essas referências podem ser observadas na Figura 30 do capítulo 2, onde
(IcRef * KA_Ic) e (integral de IcRef * KA_Vo) são vetores de números inteiros de 16
bits com sinal, gerados por uma rotina que tem como argumento o valor de tensão
de pico desejada na saída do inversor. Esses vetores possuem 833 valores, que é o
numero de amostras de uma onda senoidal de 60Hz amostradas por 50kS/s. O vetor
de tensão é uma senóide escalada pelo valor do argumento de tensão de pico e o
ganho do sensor de tensão, e o vetor de corrente é uma cossenóide escalada pelo
valor do argumento de tensão, do capacitor de saída e do ganho do sensor de
corrente.
Após a inicialização a rotina principal entra em “loop” infinito, desta forma
as instruções do controlador digital são executadas nas interrupções de hardware do
módulo PWM e conversor A/D.
78
Figura 46 - Digrama de tempo das interrupções do controlador digital
Como mostra a Figura 46, o módulo PWM gera interrupções numa
freqüência de 50kHz, período de 20us. O comando de “sample” dos conversores
A/D é executado por software na rotina de interrupção do módulo PWM, gerando
assim uma taxa de amostragem em 50kS/s. Os conversores A/Ds geram, então,
interrupção após o termino da conversão iniciada na rotina da interrupção do módulo
PWM e o tempo de conversão dos A/Ds é da ordem de 3us. Nessa interrupção o
valor da corrente do capacitor do filtro de saída e o valor da tensão de saída são
usados como entrada no cálculo do algoritmo do controlador digital que será
detalhado no item 3.3.2 a seguir.
As interrupções do módulo PWM são geradas com um atraso
programável em “firmware” após o chaveamento PWM para evitar que o ruído
gerado por este interfira nas conversões dos A/Ds. No Capítulo seguinte há
79
demonstrações práticas que essa técnica contribui significativamente para a redução
de ruído e, conseqüentemente, na operação adequada do controlador.
3.3.2. Controlador digital com aritmética de ponto fixo
A Figura 47 mostra o diagrama de controle do Simulink que será
convertido para “firmware”. Os pontos numerados nessa figura indicam os passos do
algoritmo de controle a serem executados no DSP. Tais passos são identificados na
Tabela 6.
Figura 47 - Diagrama do controlador digital
80
Tabela 6 - Passos do “firmware” do controlador digital
Passo Descrição
1 Erro de tensão = Vetor de Referência de Tensão – Valor Digital (A/D)
de Tensão ( Ponto 1)
2 EKv = Erro de Tensão * Kv
3 Erro de Corrente = Vetor de Referência de Corrente - Valor Digital (A/D)
de Corrente + EKv (Ponto 2)
4 Erro Integrado = Erro Integrado + (Erro de Corrente)*ki’ + (Erro de
Corrente)*Kp’ (Ponto 3)
5 Atuador = Erro Integrado
6 If Atuador < 0 então Atuador = 0 (Ponto 4)
7 If Atuador > (Valor Máximo PWM) então
Atuador = Valor Máximo PWM (Ponto 4)
8 PWM1 = Atuador (Braço Esq. Inv.)
9 PWM2 = Valor Máximo PWM – PWM1 (Braço Dir. Inv.)
Esses passos são executados na rotina de interrupção do conversor A/D,
que é gerada quando as amostras estão prontas para serem retiradas do buffer de
conversão. Assim, observando a Figura 46, o tempo máximo para execução de
todos os passos, não poderá ultrapassar o limite de 20us, intervalo de tempo entre
as interrupções do módulo PWM. Para que o tempo dos cálculos não ultrapasse o
limite de 20us, o DSP deve calcular os passos com velocidade suficiente. Usando o
simulador do dsPIC33FJ128MC706 no software MPLAB da microchip, trabalhando
com ciclo de máquina de 25ns e considerando todas as variáveis do tipo “float” 32
bits, as contas dos passos de 1 a 9 levaram em torno de 5ms para serem
executadas tornando impossível ser feito um controle do sistema indicado na Figura
47 nessas condições.
81
Para resolver esse problema, os cálculos executados pelo controlador
deverão ser feitos com variáveis em ponto fixo, pois o DSP possui um módulo em
“hardware” de multiplicação para variáveis desse tipo e para representar os números
fracionados, como por exemplo, o ganho kp’ que é igual a 0.171, a notação Q.n será
utilizada.
3.3.2.1. Notação Q.
Na Tabela 4 pode-se ser observado que o passo que possui o maior peso
computacional é o passo 4, onde as constantes kp’ e ki’ são multiplicadas pelo erro
gerado entre a referencia e a saída. Com isso, kp’ e ki’ tornam-se o primeiro foco da
análise de representação em notação Q.
82
Tabela 7 - Representação em notação Q.n de ki’ = 0.11606
Notação Resolução ValorPontoFixo ValorEquivalente Erro
Q1 0,5 0 0 100,00%
Q2 0,25 0 0 100,00%
Q3 0,125 1 0,125‐7,76%
Q4 0,0625 2 0,125‐7,76%
Q5 0,03125 4 0,125‐7,76%
Q6 0,015625 7 0,109375 5,71%
Q7 0,0078125 15 0,1171875‐1,02%
Q8 0,00390625 30 0,1171875‐1,02%
Q9 0,001953125 59 0,115234375 0,66%
Q10 0,000976563 119 0,116210938‐0,18%
Q11 0,000488281 238 0,116210938‐0,18%
Q12 0,000244141 475 0,115966797 0,03%
Q13 0,00012207 950 0,115966797 0,03%
Q14 6,10352E05 1901 0,116027832‐0,02%
Q15 3,05176E05 3801 0,115997314 0,00%
Q16 1,52588E05 7602 0,115997314 0,00%
A Tabela 5 foi montada para auxiliar na escolha da melhor representação,
considerando a resolução, o erro gerado pela conversão do número fracionário para
ponto fixo e a forma mais eficiente de executar o cálculo utilizando uma variável de
16 bits. Assim, a notação Q15 será suficiente para representar 0.116, pois o erro é
zero considerando duas casas decimais. O numero 3801 representará 0.116 em
notação Q15.
Outra forma de encontrar a melhor representação para um valor em ponto
fixo é usar a função fi do MATLAB. Executando essa função no MATLAB tem-se:
>> fi(0.116)
ans =
0.1160
DataTypeMode: Fixed-point: binary point scaling
83
Signed: true
WordLength: 16
FractionLength: 18
RoundMode: nearest
OverflowMode: saturate
ProductMode: FullPrecision
MaxProductWordLength: 128
SumMode: FullPrecision
MaxSumWordLength: 128
CastBeforeSum: true
O Parâmetro “FractionLength” é a notação que melhor representa o
valor 0.116, para este caso Q18.
Tabela 8 - Representação em notação Q.n de kp' = 0.171
Notação Resolução ValorPontoFixo ValorEquivalente Erro
Q1 0,5 0 0 100,00%
Q2 0,25 1 0,25‐46,20%
Q3 0,125 1 0,125 26,90%
Q4 0,0625 3 0,1875‐9,65%
Q5 0,03125 5 0,15625 8,63%
Q6 0,015625 11 0,171875‐0,51%
Q7 0,0078125 22 0,171875‐0,51%
Q8 0,00390625 44 0,171875‐0,51%
Q9 0,001953125 88 0,171875‐0,51%
Q10 0,000976563 175 0,170898438 0,06%
Q11 0,000488281 350 0,170898438 0,06%
Q12 0,000244141 700 0,170898438 0,06%
Q13 0,00012207 1401 0,171020508‐0,01%
Q14 6,10352E05 2802 0,171020508‐0,01%
Q15 3,05176E05 5603 0,17098999 0,01%
Q16 1,52588E05 11207 0,171005249 0,00%
84
Outro fator importante na escolha da representação de uma variável ou
constante, é observar como o cálculo será feito. Como kp’ e ki’ estão em um mesmo
cálculo, observar Tabela 4 passo 4, para facilitar a execução do algoritmo de
controle é desejável é que essas constantes sejam representadas na mesma
notação. Assim, como kp’ representado em Q15 apresenta um pequeno erro, 0.01%,
e ki’ está representado em Q15, pode-se então fazer a tentativa de escolher essa
representação para kp’, onde 5603 é a variável em ponto fixo que representa 0.171
(vide Tabela 6).
Agora, com as constantes representadas em números inteiros ponto fixo de
16 bits, pode-se ajustar o algoritmo de controle mostrado na Tabela 4, e passar
todas as variáveis envolvidas nos cálculos para ponto fixo.
Após os devidos ajustes das variáveis, fez-se então uma simulação do
algoritmo com as variáveis em ponto fixo, e observou-se que os cálculos realizados
não gastaram, em média, mais que 2.3us para serem executados. Uma análise
minuciosa do comportamento das variáveis foi feito, para verificar a possibilidade de
saturação de alguma variável dentro da faixa de operação admissível para o
controlador. A rotina completa do controlador digital pode ser encontrada no
Apêndice 1.
85
CAPÍTULO 4. RESULTADOS EXPERIMENTAIS
Serão apresentados nesse capítulo os resultados experimentais
realizados no protótipo montado com os elementos de potência e placa de aquisição
e controle descritos no Capítulo 3. O inversor montado possui uma potência máxima
de saída de 2.5kVA, que está limitada pelo indutor de saída. A Tabela 7 contém os
parâmetros do protótipo montado.
Tabela 9 - Parâmetros do protótipo do inversor
Parâmetro Valor Unid.
Freqüência de Chaveamento 25 kHz
Freqüência de Amostragem 50 kHz
Indutância do Filtro 600 µH
Resistência do Indutor de Filtro 0.01 ohms
Capacitor do Filtro 60 µF
Tensão de Saída 127 volts rms
Potência Máxima 2500 VA
Tensão do Barramento CC 300 volts cc
Primeiramente, foram obtidas as formas de onda para saída do inversor
em malha aberta, visando verificar o funcionamento básico do protótipo como
também configurar os parâmetros do módulo PWM, freqüência de chaveamento,
tempo morto etc. Assim, com o inversor configurado, foi utilizada uma referência
senoidal de 60Hz como sinal modulante sobre uma portadora triangular digital de
86
25kHz. O resultado para um índice de modulação de 55% é mostrado na Figura 48.
Observa-se que em malha aberta o sistema não produz uma tensão de saída
senoidal, mesmo para uma carga resistiva.
Figura 48 - Tensão de saída do inversor em malha aberta
Posteriormente, o “firmware” do inversor foi atualizado para controlar a
saída de tensão, impondo uma corrente senoidal no capacitor de filtro de saída com
os parâmetros de controle e as técnicas definidas no Capítulo anterior. Assim
obteve-se a forma de onda de saída para uma carga de aproximadamente 200W,
como mostra a Figura 49.
87
Figura 49 - Tensão de saída do inversor em malha fechada
A Figura 50 mostra o início do processo de controle para uma carga
resistiva de aproximadamente 2kW. Pode ser observado na Figura 49 que o
controlador atingiu a referência, considerando o período de 60Hz, quase que
imediatamente ao início do processo, pois a referência de tensão é uma senóide
iniciando em zero.
Figura 50 - Início do controle
88
Para verificar a robustez do controlador aplicou-se uma carga não linear,
ou seja, uma ponte retificadora com capacitor de 940µF em paralelo com resistor
para drenar uma corrente de aproximadamente 23A de pico. O Início do processo de
controle para essa carga está mostrado na Figura 51. Pode ser observado que no
início do processo, como os capacitores estão descarregados, tem-se praticamente
um curto-circuito nos instantes iniciais, e o controlador só consegue controlar a saída
a partir de 75% do período da onda senoidal. Pode-se concluir que mesmo com um
curto circuito inicial o controlador, após carregar os capacitores, consegue controlar
a tensão de saída, e com um tempo muito rápido em relação ao período da onda
controlada.
Figura 51 - Início do processo de controle com ponte retificadora - carga não linear
89
A corrente e a tensão de saída do inversor em regime permanente para a
carga não linear são mostradas na Figura 52.
Figura 52 - Tensão e corrente de saída para carga não linear
Mais uma vez, para testar a robustez do controlador digital, foi aplicado ao
inversor um degrau de carga resistiva. A Figura 53 mostra as formas de onda da
tensão e corrente de saída para um degrau de carga resistiva de aproximadamente
2KW.
90
Figura 53 - Tensão e corrente de saída do inversor para degrau de carga resistiva
Os ruídos observados nas figuras dos ensaios apresentados são
decorrentes das interferências produzidas pela comutação dos IGBTs. Tais
interferências afetam o sistema de medição e produzem o efeito observado nas
curvas obtidas com um osciloscópio acoplado aos terminais da carga. Quando um
sensor independente e isolado é utilizado, os ruídos podem ser evitados, como pode
ser visto na Figura 54, a qual apresenta a corrente de carga obtida com uma
ponteira de corrente isolada e com fonte externa. Comparando as Figuras, 53 e 54,
pode-se concluir que realmente os ruídos observados na primeira não existem
efetivamente no sinal e são resultados de interferência na medição.
91
Figura 54 - Medição de corrente de saída do inversor com ponteira isolada
Outra forma de provar que é o ruído de chaveamento que interfere nas
medidas é observar as amostras gravadas no DSP, para a tensão de saída e a
corrente do capacitor de saída, as quais foram obtidas de forma sincronizada com o
chaveamento, em instantes de tempo distintos da faixa de comutação admitida para
o modulador PWM. A Figura 55 mostra a referência digital da tensão de saída e as
amostras feitas pelo DSP e gravadas em memória.
92
Figura 55 - Amostras da tensão de saída x referência digital de tensão
Figura 56 - Diferença entre a tensão de saída e a referência
93
Nos ensaios, além das formas de onda de tensão e corrente também
foram observadas as taxas de distorção harmônica, THD. A Tabela 8 mostra as
THDs das tensões e correntes de saída para dois casos. No primeiro caso é
mostrada a THD da tensão de saída para uma carga resistiva, linear, de
aproximadamente 2kW. E no segundo caso, observaram-se as THDs para a
corrente e tensão de saída de uma ponte retificadora de diodos com um capacitor de
940µF em paralelo com uma carga de 23A de pico, ou seja, uma carga não linear.
Tabela 10 - THD's da tensão e corrente de saída
Carga Io (%) Vo(%)
Resistiva - 2KW (Linear) - 1,2
Ponte de Diodos,
Capacitor e Resistor. (Não
Linear)
148 2,2
Segundo a norma IEEE 519-1992 a taxa de distorção harmônica aceita
para esse tipo de inversor é de 5%. A Agência Nacional de Energia Elétrica
(ANEEL), no documento “Procedimentos de distribuição de energia elétrica no
sistema elétrico nacional – Prodist módulo 8 – qualidade da energia elétrica”, propõe
valores para a distorção harmônica da tensão no sistema de distribuição onde a
máxima THD da tensão na rede não poderá ultrapassar 10%.
Finalmente as Figura 57, 58 e 59 mostram as fotos do protótipo do
inversor.
94
Figura 57 - Protótipo do inversor senoidal PWM – módulo de potência abaixo e “gate
drivers” acima
Figura 58 - Protótipo do inversor senoidal PWM – vista superior mostrando os “gate
drivers
95
Figura 59 - Protótipo do inversor senoidal PWM – sistema com o módulo de controle
acoplado na parte superior
96
CONCLUSÃO
Como pode ser visto na Introdução deste trabalho, o controle digital de
conversores apresenta uma série de vantagens sobre a opção analógica, as quais
serviram de motivação para o estudo e implementação da presente proposta. Mas é
fato que a banda passante obtida pelos controladores analógicos é
incontestavelmente superior, constituindo o fator preponderante na escolha do
controlador, ou seja, se a limitação de banda imposta pela taxa de amostragem
alcançada na opção digital não é significativamente superior à banda apresentada
pela planta, então o controlador não pode ser digital, deve ser analógico.
Com o desenvolvimento tecnológico, observa-se o aumento da
disponibilidade de microcontroladores ou DSPs, cada vez mais rápidos e com menor
custo. Isto tem ampliado a aplicação de controladores digitais na Eletrônica de
Potência e, em muitos casos, a reprodução de controladores analógicos na versão
digital, na medida em que o aumento da taxa de amostragem alcançada permite.
Este trabalho mostrou a viabilidade da implementação de um dos controladores
analógicos para inversores PWM senoidais apresentados em [35] na sua versão
digital.
Os resultados obtidos demonstraram a viabilidade do controlador digital
implementado em função da baixa THD obtida, mesmo para cargas não-lineares.
Para justificar o bom desempenho da versão do controlador digital apresentado,
alguns pontos podem ser destacados:
97
Freqüência de amostragem superior à freqüência de chaveamento
Como pode ser visto no Capítulo 3, a rotina de controle é executada
duas vezes por período de chaveamento, ou seja, o instante de
fechamento dos transistores é função da ação de controle, mas depois
de fechado, o instante de abertura será função de uma nova ação de
controle. Assim não é preciso a espera de um ciclo de chaveamento
para que o controlador imponha correções na planta.
Sincronismo da amostragem com o chaveamento do conversor
O sincronismo da amostragem com o chaveamento permite o ajuste de
fase dos instantes de amostragens em regiões onde não há
chaveamento, eliminando a contaminação das amostras pelos ruídos
elétricos inerentes ao chaveamento.
Realimentação da corrente em sua forma discreta
A forma de onda da corrente do capacitor apresenta um pequeno
ripple” na freqüência de chaveamento, o qual pode ser propagado pela
elevada banda dos controladores analógicos, necessitando de filtros
para sua eliminação, aumentando complexidade do controle. Apesar da
diferença na versão de controle, isto pode ser visto em [8], onde um
filtro passa-baixa é aplicado na amostra da corrente do indutor, antes
de aplicá-la ao compensador analógico. Tal filtro introduz um atraso de
fase que é prejudicial ao controle. A versão digital não apresenta este
problema.
98
Os resultados obtidos mostraram também que o DSP trabalha com
relativa folga de tempo, isto é, a amostragem e cálculo da rotina de controle
demandam um tempo muito pequeno em relação ao período de amostragem, o que
implica ser possível o aumento da taxa de amostragem. Mas para que o aumento da
taxa de amostragem venha a surtir o desejado impacto no desempenho dinâmico
seria necessário o aumento da freqüência de chaveamento. Considerando que a
freqüência de chaveamento está dentro da faixa típica para inversores desta
potência com IGBTs, pode-se dizer que os DSPs atuais já alcançaram a velocidade
adequada para tais controladores.
Em [35] é usando um indutor três vezes menor, pois segundo o autor, as
correntes harmônicas da carga devem passar preferencialmente pelo indutor de
saída, pois via capacitor implicará na distorção da tensão de saída. A redução do
indutor faz com que a malha de corrente do indutor seja mais rápida, exigindo um
compensador de maior banda passante, quando tal corrente é realimentada. A
redução do indutor conduz a uma corrente com maior ripple, o qual será propagado
também para a corrente do capacitor. No presente trabalho foi observado um bom
desempenho do controlador para uma planta relativamente mais lenta que a
apresentada em [35]. A busca do melhor desempenho dinâmico do inversor pode
resultar numa planta não adequada para o controle digital, ou seja, existe então um
compromisso de vários fatores. Portanto, deve-se buscar um projeto que atenda aos
limites da norma e resulte numa planta passível de ser controlada pela versão
digital, permitindo a incorporação das vantagens inerentes desta opção. O presente
trabalho mostra que isto é viável. Assim estudos mais específicos devem ser
99
realizados sobre esta questão, visando verificar se é valido aumentar a banda dos
controladores digitais sem um aumento proporcional da freqüência de chaveamento.
A) Sugestões Para Trabalhos Futuros
Para dar continuidade à pesquisa apresentada neste trabalho, vários
tópicos podem ser investigados. A título de exemplo, alguns deles são apresentados
na lista abaixo:
Implementação do controlador para o inversor trifásico e investigação
de desempenho usando a modulação “space vector”.
Inclusão da malha de realimentação da corrente do indutor e
verificação da relação custo-benefício no desempenho do inversor,
considerando a proteção inerente contra curto-circuito.
A realimentação da corrente do capacitor constitui uma importante
informação para o desempenho dinâmico, mas não agrega a proteção
contra curto-circuito na saída. Um tema de trabalho seria verificar a
possibilidade de estimação da corrente de saída, considerando esta
versão de controlador.
100
Verificação do nível de aumento da precisão do controlador (redução
de THD para cargas com elevado índice de não linearidade) em
versões de DSPs mais rápidos e com maior número de bits, visando
estabelecer a relação custo-benefício.
Uso do controlador digital em sistemas distribuídos, isto é, a conexão
de unidades inversoras em paralelo, visando o aumento de potência e
grau de confiabilidade através da adição de redundâncias.
101
REFERÊNCIAS BIBLIOGRÁFICAS
1. ABDEL-RAHIM, N. and QUAICOE, J. E.. A single-phase voltage-source
utility interface system for weak AC network applications. IEEE-APEC
Conf., Orlando, FL, 1994, pp. 93–99.
2. ANDRADE, Bruno Gomes de. Contribuição ao Controle e Paralelismo de
UPS. Dissertação (Mestrado em Engenharia Elétrica) Programa de pós-
Graduação em Engenharia Elétrica, Universidade Federal de Minas Gerais,
Belo Horizonte, 2005.
3. AYLOR, J. H., RAMEY, R. L., COOK, G.. Design and Application of a
Microprocessor PID Predictor Controller. IEEE Trans. on Ind. Electr. And
Control Instrumentation, vol. IECI-27, n. 3, p. 133-137, agosto 1980.
4. BETTERÓN, Fernando. Análise, Projeto e Implementação de um Inverssor
PWM Trifásico para UPS de Média Potência. 2001. 184 f. Dissertação
(Mestrado em Engenharia Elétrica) Programa de Pós-Graduação em
Engenharia Elétrica, Área de Concentração Processamento de Energia,
Controle de Processos, Universidade Federal de Santa Maria (RS), Santa
Maria, 2001.
5. BIMAL, K. Bose. Power Electronics and Variable Frequency Drives, IEEE
Press, 1997, ISBN 0-7803-1061-6.
6. CAMARGO Michels, R.F. de; BOTTERERÓN, F.; GRUDLING, H.A.;
PINHEIRO, H.. Generalised design methodology of second-order filters
for voltage-source inverters with space-vector modulation. IEEE
Procedings online, vol. 153, no. 2, March, 2006. p. 219-226.
7. CARPITA, M., MAZZUCCHELLI, M., SAVIO, S., and SCIUTTO, G.. A new
PWM control system for UPS using hysteresis comparator. IEEE IAS
Annu. Meeting, Atlanta, GA, 1987, pp. 749–754.
8. COELHO, Ernane Antônio Alves. Técnicas de Controle Aplicadas ao
Paralelismo de Inversores. 2000. 163 f. Dissertação (Doutorado em
Engenharia Elétrica) Programa de Pós-Graduação em Engenharia Elétrica,
Área de Concentração Sistema de Energia Elétrica, Universidade Federal de
Minas Gerais (MG), Belo Horizonte, 2000.
9. DIVAN, D.. A New Topology for Single Phase UPS Systems. IEEE Annual.
Meeting, 1989, pp. 93 1-936. PESC 1989, pp 1013-1020.
ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. NBR 6023: informação e documentação:
referências: elaboração. Rio de Janeiro, 2002.
102
10. FINN, S. D.. A high performance inverter technology, architecture and
applications. IEEE-APEC Conf., San Diego, CA, 1993, pp. 556–560.
11. GYMA, D.. A Novel Control Method to Minimize Distortion in AC
Inverters. IEEE-APEC 1994, pp 941-946.
12. GOKHALE, K. P., KAWAMURA, A., HOFT, R. G.. Dead Beat
Microprocessor Control of PWM Inverter for Sinusoidal Output
Waveform Synthesis. IEEE Trans. on Ind. Appl., vol. IA-23, n. 5, p. 901-910,
setembro/outubro 1987.
13. GRÜNDLING, H. A., CARATI, E. G., PINHEIRO, J. R.. Analysis and
Implementation of a Modified Robust Model Reference Adaptive Control
with Repetitive Controller for UPS Applications. IEEE Ind. Electr. Conf., p.
391-395, 1998.
14. HARA, S., YAMAMOTO, Y., OMATA, T., NAKANO, M.. Repetitive Control
System: A New Type Servo System for Periodic Exogenous Signals.
IEEE Trans. on Automatic Control, vol. 33, n. 7, p. 659-668, julho 1988.
15. HOUPIS, Constantine H.; LAMONT, Gary B.. Digital Control Systems:
Theory, Hardware, Software. 2ª ed., [Singapore], McGraw-Hill International
Editions, 1992. 752 p.
16. HUA, C.. Two-Level Switching Pattern Deadbeat DSP Controlled PWM
Inverter. IEEE Trans. on Power Electr., vol. 10, n. 3, p. 310-317, maio 1995.
17. JUNG, S. L., TZOU, Y. Y.. Discrete Sliding-Mode Control of a PWM
Inverter for Sinusoidal Output Waveform Synthesis with Optimal Sliding
Curve. IEEE Trans. on Power Electr., vol. 11, n. 4, p. 567-577, 1996.
18. _______________________. Sliding mode control of a closed-loop
regulated PWM inverter under large load variations. IEEE-PESC Conf.,
Seattle, WA, 1993, pp. 616–622.
19. KAWABATA, T. et al.. Chargerless UPS using multi-functional BIMOS
inverter—Sinusoidal voltage waveform inverter with current minor loop.
IEEE IAS Annu. Meeting, Denver, CO, 1986, pp. 513–520.
20. KAWAMURA, A., YOKOYAMA, T.. Comparison of Five Control Methods
for Digitally Feedback Controlled PWM Inverters. EPE 91 European Conf.
on Power Electr. and Applic., p. 2-035 - 2-040, 1991.
21. KAWAMURA, A., CHUARAYAPRATIP, R., HANEYOSHI, T.. Deadbeat
Control of PWM Inverter With Modified Pulse Patterns for Uninterruptible
Power Supply. IEEE Trans. on Ind. Electr., vol. 35, n. 2, p. 295-300, maio
1988.
103
22. KAWAMURA, A., HANEYOSHI, T., HOFT, R. G.. Deadbeat Controlled PWM
Inverter with Parameter Estimation Using Only Voltage Sensor. IEEE
Trans. on Power Electr., vol. 3, n. 2, p. 118-125, abril 1988.
23. KAWAMURA, A., HOFT, R. G.. Instantaneous Feedback Controlled PWM
Inverter with Adaptive Hysteresis. IEEE Trans. on Ind. Appl., vol. IA-20, n.
4, p. 769-775, julho/agosto 1984.
24. KAWAMURA, A., HANEYOSHI, T. and HOFT, R. G.. Waveform
compensation of PWM inverter with cyclic fluctuating loads. IEEE IAS
Annu. Meeting, Denver, CO, 1986, pp. 744–751.
25. MAUSSION, P., GRANDPIERRE, M., FAUCHER, J., and HAPIOT, J.C..
Instantaneous Feedback Control of a Single-phase PWM Inverter with
Nonlinear Loads by Sine Wave Tracking. IEEE-IECON 1989, pp. 130-135.
26. MARTINS, Denizar Cruz; BARBI, Ivo. Introdução ao estudo dos
conversores CC-CA. 2ª ed. revisada, Florianópolis, Editora dos Autores,
2008. 490 p.
27. MICROCHIP. dsPIC33F Family Data Sheet - High-Performance, 16-bit
Digital Signal Controllers. USA, 2006. Manual Microchip Technology Inc.
28. MOHR, H. B., MONDARDO, G. E.. PWM Voltage Inverter Implementation
Using Deadbeat Digital Control. Cong. Bras. de Autom., p. 217-221, 1996.
29. NISHIDA, Y., HANEYOSHI, T.. Predictive Instantaneous Value Controlled
PWM Inverter for UPS. IEEE Power Electr. Spec. Conf., p. 776-783, 1992.
30. OGATA, Katsuhikko. Engenharia de Controle Moderno. Tradução de Paulo
Alvaro Maya, Dr. 4ª ed., São Paulo, Pearson Prentice Hall, 2003. 788 p.
31. PHILLIPS, Charles L.; NAGLE, H. Thoy. Digital Control, System, Analysis
and Disegn. 3ª ed., New Jersey, Prentice Hall, 1995. 685 p.
32. PHILLIPS, Charles. L., PARR, J. M.. Robust Design of a Digital PID
Predictor Controller. IEEE Trans. on Ind. Electr., vol. IE-31, n. 4, p. 328-332,
novembro 1984.
33. RECH, Cassiano. Análise e Implementação de Técnicas de Controle
Digital aplicadas a Fontes Ininterruptas de Energia. 2001. 153 f.
Dissertação (Mestrado em Engenharia Elétrica) Programa de pós-Graduação
em Engenharia Elétrica, Área de Controle de Processos, Universidade
Federal de Santa Maria (RS), Santa Maria, 2001.
34. RYAN, Michael J.; BRUMSICKLE, William E.; LORENZ, Robert D.. Control
Topology Options for Single-Phase UPS Inverters. IEEE Transactions on
Industry Applications, vol. 33, no. 2, March/April, 1997. p. 493-50.
104
35. RYAN, Michael J.; LORENZ,Robert D.. A High Performance Sine Wave
Inverter Controller with Capacitor Current Feedback and "Back-EMF"
Decoupling. Dept. of Electrical and Computer Engineering University of
Wisconsin-Madison, Madison, p. 507-513.
36. SILVA, Angela Maria; PINHEIRO, Maria Salete de Freitas; FRANÇA, Maria
Nani. Guia para Normalização de Trabalhos Técnico-Científico: projeto
de pesquisa, trabalhos acadêmicos, dissertação e teses. 5ª ed.,
Uberlândia-MG, EDUFU, 2006. 144 p.
37. SILVA, J. F. and PAULO, S. S.. Fixed Frequency Sliding Mode Modulator
for Current Mode PWM Inverters. IEEE, PESC Conf. Rec., 1993. pp. 623-
629.
38. SKJELLNES, A., SNILSBERT, G., and MUNCHOW, E.. Matching a UPS to
the computer market. IEEE-INTELEC, Florence, Italy, paper no. 19.6, 1989.
39. TAO, G.. Robust Adaptive Control with Reduced Knowledge of
Unmodeled Dynamics. Proc. 29th Conf. on Decision and Control, p. 3214-
3219, 1990.
40. VENKATARAMANAN, G., DIVAN, D. M., and JAHNS, T. M.. Discrete pulse
modulation strategies for high-frequency inverter systems. IEEE-PESC
Conf., Milwaukee, WI, 1989, pp. 1013–1020.
41. VUKOSAVIC, S., PERIC, L., LEVI, E., and VUCKOVIC, V.. Reduction of the
Output Impedance of PWM Inverters for Unitermptible Power Supplies.
IEEE, PESC 1990, pp. 757-762.
42. ZARGARI, N. R., ZIOGAS, P. D., and JOOS, G.. A two switch high
performance current regulated DC/AC converter module. IEEE-IAS Annu.
Meeting, Seattle, WA, 1990, pp. 929–934.
105
APÊNDICES
APÊNDICE A. FIRMWARE” DO CONTROLADOR DIGITAL DO
DSP
Módulo main.c
#include <p33FJ128MC706.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "main.h"
_FBS(0x00C7);
_FSS(0x00CF);
_FGS(0x0007);
_FOSCSEL(0x0023);
_FOSC(0x00C5);
_FWDT(0x0040);
_FPOR(0x00E7);
/*************************************************************************/
/* PROTOTIPOS DAS FUNÇÕES */
/*************************************************************************/
void initPorts(void);
106
void initTimer1(void);
void initTimer3(void);
void initSPI1(void);
void initUART2(void);
void initADC1_12bits(void);
void initADC2_12bits(void);
void initPWM(void);
void DelayMs(unsigned int t);
void DelayUs(unsigned int t);
float GeraRefs(float VoltsPico);
void __attribute__((__interrupt__)) _PWMInterrupt(void);
void __attribute__((__interrupt__)) _ADC1Interrupt(void);
/*************************************************************************/
/* VARIAVEIS GLOBAIS */
/*************************************************************************/
unsigned int Seno60HZ[500];
__attribute__((far)) int IcRef[833];
__attribute__((far)) int VoRef[833];
__attribute__((far)) int Ref0[833];
107
volatile union flagsbits f;
volatile unsigned int contador=0;
volatile unsigned int tSeno=0;
volatile unsigned int aux=0;
volatile unsigned int idx=0;
volatile __attribute__((far)) unsigned int ADBuffer[AMOSTRAS];
#define Kp 5603 // 0,171 em Q15
#define Ki 3801 // 0,116 em Q15
#define Kv 5
volatile int Erro, Iref, Ire, Ev;
volatile long ErroC, Erroi,Ei;
volatile unsigned long Atuador;
/*************************************************************************/
/* ROTINA PRINCIPAL */
/*************************************************************************/
int main (void)
{
initPorts();
initSPI1();
f.data=0;
108
Erroi=26181632; // Valor Inicial do Integrador, Zera Saída PWM;
idx=0;
GeraRefs(180);
initPWM();
DelayMs(250);
initADC1_12bits();
initADC2_12bits();
while(TRUE);
return 0;
}
/*************************************************************************/
/* INICIALIZAÇÃO DAS PORTAS E PERIFERICOS
*/
/*************************************************************************/
void initPorts(void)
{
AD1PCFGL = 0xFFFF;
AD2PCFGL = 0xFFFF;
CLKDIVbits.PLLPRE=0;
109
PLLFBDbits.PLLDIV=0x1E;
CLKDIVbits.PLLPOST=0;
TRISB = 0b1111111111111111;
TRISC = 0b1111000000000000;
TRISD = 0b0000111111110000;
TRISE = 0b0000000011111111;
TRISF = 0b0000000001111111;
TRISG = 0b0000001111001100;
/* Entradas Analogicas */
TREF2V5 = 1;
TAN1 = 1;
TAN2 = 1;
/* Entradas Digitais */
TER1 = 1;
TER2 = 1;
TER3 = 0;
TSYNC = 1;
ER3=0;
/* Saídas Digitais */
TRISE = 0;
110
TIO1 = 0;
IO1 = 1;
TSCK1_PIC = 0;
TSDO1_PIC = 0;
TSDI1_PIC = 1;
f.data=0;
INTCON2=0x10;
IPC5bits.INT1IP=7;
IFS1bits.INT1IF = 0; /*Reset INT1 interrupt flag */
IEC1bits.INT1IE = 0; /*Enable INT1 Interrupt Service Routine */
}
/*************************************************************************/
/* INICIALIZAÇÃO DO TIMER 1
*/
/*************************************************************************/
void initTimer3(void)
{
TMR3=0;
PR3=799; // 20us
111
T3CONbits.TGATE = 0;
T3CONbits.TCS=0;
T3CONbits.TCKPS = 0;
IEC0bits.T3IE=0;
T3CONbits.TON = 1;
}
void initSPI1(void)
{
SPI1STATbits.SPIEN=0;
SPI1CON1bits.MODE16=1;
SPI1CON1bits.DISSDO=0;
SPI1CON1bits.MSTEN=1;
SPI1CON1bits.PPRE=2; /* Primeiro Pre-scaler */
SPI1CON1bits.SPRE=7; /* Segundo Pre-scaler */
SPI1CON1bits.SMP=0;
SPI1CON1bits.CKE=0;
SPI1CON1bits.CKP=0;
112
SPI1STATbits.SPIROV=0;
IFS0bits.SPI1IF=0;
IEC0bits.SPI1IE=0;
SPI1STATbits.SPIEN=1;
}
void initUART2(void)
{
U2MODEbits.UARTEN=0;
U2MODEbits.ALTIO=1;
U2MODEbits.BRGH=0;
//U2BRG=21; // BAUD RATE = Fcy / 16*(BRG+1)
// BRG = (Fcy / 16*BR) - 1
// 21 = 115200bps
U2BRG=130; // BAUD RATE = Fcy / 16*(BRG+1)
// BRG = (Fcy / 16*BR) - 1
// 130 = 19200bps
U2STAbits.URXISEL=0;
U2STAbits.UTXISEL0=0;
113
_U2RXIF=0;
_U2RXIE=0;
_U2TXIF=0;
_U2TXIE=0;
U2MODEbits.UARTEN=1;
U2STAbits.UTXEN=1;
}
void initPWM(void)
{
PTCONbits.PTEN=0;
PTCONbits.PTOPS=0;
PTCONbits.PTCKPS=0; // Divide por 4
PTCONbits.PTMOD=3; // PWM time base operates in a Continuous
Up/Down Count mode
PTPER=799; // PTPER = [(Fcy/(DIV(PTCKPS)))/(2*Fpwm)]
- 1
SEVTCMPbits.SEVTCMP = 799;
PWMCON2bits.SEVOPS = 0;
PWMCON1bits.PMOD1=0; // FAZ PINOS 1L E 1H serem
complementares
114
PWMCON1bits.PMOD2=0; // FAZ PINOS 2L E 2H serem
complementares
PWMCON1bits.PEN1H=1; // Habilita os pinos para serem usados no
PWM
PWMCON1bits.PEN1L=1;
PWMCON1bits.PEN2H=1;
PWMCON1bits.PEN2L=1;
DTCON1bits.DTBPS = 3; // DEAD-TIME
DTCON1bits.DTB = 30;
DTCON1bits.DTAPS = 3;
DTCON1bits.DTA = 30;
PDC1=799;
PDC2=1599-PDC1;
_PWMIF=0;
_PWMIE=1;
PTCONbits.PTEN=1;
}
/*===============================================================
==============
Função de Inicialização de ADC1 de 12 bits
115
================================================================
=============*/
void initADC1_12bits(void)
{
AD1CON1bits.ADON = 0;
AD1CON1bits.AD12B = 1; // A/D 12bits
AD1CON1bits.SSRC = 0; // (2 -Timer 3 - Sample) (3 - PWM - Sample) (0
- AD1CON1bits.SAMP=0 - Sample)
AD1CON1bits.ASAM = 1; // Auto Sample enable
AD1CON1bits.FORM = 0; // DMA
AD1CON1bits.ADDMABM = 1; // DMA
AD1CON2bits.VCFG=1; // Vref+ = 2.5V
AD1CON2bits.CSCNA=0; // Nao Scan
AD1CON2bits.BUFM=0;
AD1CON2bits.SMPI=0;
AD1CON3bits.ADRC=0;
AD1CON3bits.SAMC=2; // (Tosc*32*2)
AD1CON3bits.ADCS=31; // Tosc*32
//AD1CHS0: A/D Input Select Register
AD1CHS0bits.CH0SA=1; // MUXA +ve input selection (AIN1) for CH0
AD1CHS0bits.CH0NA=0; // MUXA -ve input selection (Vref-) for CH0
116
//AD1CSSH/AD1CSSL: A/D Input Scan Selection Register
// AD1CSSH = 0x0000;
AD1CSSL = 0x0002; // Scan AIN1
// AD1CON2bits.SMPI must be set to
(N-1), if "N" channels are scanned.
//AD1PCFGH/AD1PCFGL: Port Configuration Register
AD1PCFGL=0xFFFF;
// AD1PCFGH=0xFFFF;
// AD1PCFGLbits.PCFG0 = 0; // AN0 as Analog Input
AD1PCFGLbits.PCFG1 = 0; // AN1 as Analog Input
IFS0bits.AD1IF = 0; // Clear the A/D interrupt flag bit
IEC0bits.AD1IE = 1; // Enable A/D interrupt
AD1CON1bits.ADON = 1; // Turn on the A/D converter
}
/*===============================================================
==============
Função de Inicialização de ADC2 de 12 bits
================================================================
=============*/
void initADC2_12bits(void)
{
AD2CON1bits.ADON = 0;
117
AD2CON1bits.AD12B = 1; // A/D 12bits
AD2CON1bits.SSRC = 0; // (2 -Timer 3 - Sample) (3 - PWM - Sample) (0
- AD1CON1bits.SAMP=0 - Sample)
AD2CON1bits.ASAM = 1; // Auto Sample enable
AD2CON1bits.FORM = 0; // DMA
AD2CON1bits.ADDMABM = 1; // DMA
AD2CON2bits.VCFG=1; // Vref+ = 2.5V
AD2CON2bits.CSCNA=0; // Nao Scan
AD2CON2bits.BUFM=0;
AD2CON2bits.SMPI=0;
AD2CON3bits.ADRC=0;
AD2CON3bits.SAMC=2; // (Tosc*32*2)
AD2CON3bits.ADCS=31; // Tosc*32
//AD1CHS0: A/D Input Select Register
AD2CHS0bits.CH0SA=2; // MUXA +ve input selection (AIN2) for CH0
AD2CHS0bits.CH0NA=0; // MUXA -ve input selection (Vref-) for CH0
//AD1CSSH/AD1CSSL: A/D Input Scan Selection Register
// AD1CSSH = 0x0000;
AD2CSSL = 0x0004; // Scan AIN2
// AD1CON2bits.SMPI must be set to
(N-1), if "N" channels are scanned.
//AD1PCFGH/AD1PCFGL: Port Configuration Register
AD2PCFGL=0xFFFF;
118
// AD1PCFGH=0xFFFF;
// AD1PCFGLbits.PCFG0 = 0; // AN0 as Analog Input
AD2PCFGLbits.PCFG2 = 0; // AN1 as Analog Input
IFS1bits.AD2IF = 0; // Clear the A/D interrupt flag bit
IEC1bits.AD2IE = 0; // Enable A/D interrupt
AD2CON1bits.ADON = 1; // Turn on the A/D converter
}
float GeraRefs(float VoltsPico)
{
float Ic, It, Is, Vs, Kr;
unsigned int i,j;
Ic = 2.0*PI*60.0*0.00006*VoltsPico;
It = Ic*NVOLTASSENSOR;
Is = It/RELSENSOR;
Vs = Is*RESSENSOR;
Kr = Vs / FUNDOESCALAI;
i=0;
j=208;
while(i<833){
IcRef[i] = (unsigned int)((float)Ref0[j]*Kr + 2047.0);
i++;
j++;
119
if(j>832)j=0;
}
Kr = VoltsPico / FUNDOESCALAV;
for(i=0;i<833;i++) VoRef[i] = (unsigned int)((float)Ref0[i]*Kr + 2047.0);
return Kr;
}
/*************************************************************************/
/* ROTINAS DE INTERRUPÇÃO */
/*************************************************************************/
void __attribute__((__interrupt__)) _PWMInterrupt(void)
{
_PWMIF=0;
AD1CON1bits.SAMP=0; // Dispara conversao do AD12bits
AD2CON1bits.SAMP=0; // Dispara conversao do AD12bits
return;
}
void __attribute__((__interrupt__)) _ADC1Interrupt(void)
{
_AD1IF = 0;
ER3=1;
Ev = VoRef[idx] - (signed int)ADC2BUF0;
120
Ev = Ev*Kv;
Erro = Ev + IcRef[idx++] - (signed int)ADC1BUF0;
Erroi = Erroi + (long)Erro*Ki;
ErroC = Erroi+(long)Erro*Kp;
if (ErroC<0) ErroC=0;
ErroC=ErroC>>15;
Atuador = (unsigned long)ErroC;
if (Atuador>1589) Atuador=1589;
else if (Atuador<10) Atuador=10;
PDC1 = (unsigned int)Atuador;
PDC2 = 1599 - PDC1;
if (idx>832) idx=0;
ER3=0;
return;
}
Módulo main.h
#define TRUE 1
#define FLASH_BASE 0xB000
#define AMOSTRAS 4096
#define NVOLTASSENSOR 14.0
#define RELSENSOR 2000.0
#define RESSENSOR 100.0
121
#define FUNDOESCALAI 7.071
#define FUNDOESCALAV 340.0
#define PI 3.14159265358979
/* SPI1 - Placa Acessoria */
#define SDO1_PIC PORTFbits.RF3
#define SDI1_PIC PORTFbits.RF2
#define SCK1_PIC PORTFbits.RF6
#define TSDO1_PIC TRISFbits.TRISF3
#define TSDI1_PIC TRISFbits.TRISF2
#define TSCK1_PIC TRISFbits.TRISF6
/* Entradas Analogicas */
#define REF2V5 PORTBbits.RB0
#define AN1 PORTBbits.RB1
#define AN2 PORTBbits.RB2
#define TREF2V5 TRISBbits.TRISB0
#define TAN1 TRISBbits.TRISB1
#define TAN2 TRISBbits.TRISB2
/* Entradas Digitais */
#define ER1 PORTDbits.RD8
#define ER2 PORTDbits.RD9
#define ER3 PORTDbits.RD7
#define TER1 TRISDbits.TRISD8
122
#define TER2 TRISDbits.TRISD9
#define TER3 TRISDbits.TRISD7
#define SYNC PORTDbits.RD10
#define TSYNC TRISDbits.TRISD10
/* Saídas Digitais */
#define PWM1L PORTEbits.RE0
#define PWM1H PORTEbits.RE1
#define PWM2L PORTEbits.RE2
#define PWM2H PORTEbits.RE3
#define PWM3L PORTEbits.RE4
#define PWM3H PORTEbits.RE5
#define PWM4L PORTEbits.RE6
#define PWM4H PORTEbits.RE7
#define TPWM TRISE;
#define IO1 PORTDbits.RD6
#define TIO1 TRISDbits.TRISD6
volatile union flagsbits {
struct {
unsigned Display: 1;
unsigned ADBuffer_Full : 1;
123
unsigned : 1;
unsigned : 1;
unsigned : 1;
unsigned : 1;
unsigned : 1;
unsigned : 1;
unsigned : 1;
unsigned : 1; //flag sinalizador de habilitação do limite1
unsigned : 1; //flag sinalizador de habilitação do limite2
unsigned : 1; //flag sinalizador de habilitação do limite3
unsigned : 1; //flag sinalizador de habilitação do limite4
unsigned : 1;
} flag;
unsigned int data;
};
extern volatile union flagsbits f;
extern __attribute__((far)) int IcRef[833];
extern __attribute__((far)) int VoRef[833];
/* Referencia Senoidal Base 2047*sen(2*pi*60*t) */
extern __attribute__((far)) int Ref0[833]=
{0,
15,
31,
46,
62,
323,
338,
353,
368,
384,
637,
652,
667,
681,
696,
936,
950,
964,
977,
991,
1212,
1224,
1236,
1249,
1261,
1457,
1467,
1478,
1489,
1499,
1665,
1674,
1683,
1692,
1700,
1832,
1839,
1846,
1852,
1859,
124
77,
93,
108,
123,
139,
154,
170,
185,
200,
216,
231,
246,
262,
277,
292,
308,
1953,
1958,
1962,
1966,
1971,
1975,
1979,
1983,
1986,
399,
414,
429,
444,
459,
474,
489,
504,
519,
534,
549,
564,
579,
593,
608,
623,
2044,
2045,
2045,
2046,
2046,
2047,
2047,
2047,
2047,
710,
725,
739,
754,
768,
782,
796,
811,
825,
839,
853,
867,
881,
895,
909,
922,
2009,
2006,
2003,
1999,
1996,
1993,
1989,
1985,
1981,
1004,
1018,
1031,
1044,
1057,
1071,
1084,
1097,
1110,
1123,
1136,
1148,
1161,
1174,
1186,
1199,
1850,
1843,
1837,
1830,
1823,
1816,
1808,
1801,
1794,
1273,
1285,
1297,
1309,
1321,
1332,
1344,
1356,
1367,
1379,
1390,
1401,
1412,
1424,
1435,
1446,
1577,
1567,
1557,
1547,
1537,
1527,
1517,
1506,
1496,
1510,
1520,
1530,
1541,
1551,
1561,
1571,
1581,
1590,
1600,
1610,
1619,
1628,
1638,
1647,
1656,
1207,
1195,
1182,
1170,
1157,
1144,
1131,
1118,
1106,
1709,
1717,
1726,
1734,
1742,
1750,
1758,
1766,
1774,
1781,
1789,
1796,
1804,
1811,
1818,
1825,
763,
749,
734,
720,
705,
691,
676,
662,
647,
1865,
1871,
1878,
1884,
1890,
1896,
1901,
1907,
1913,
1918,
1923,
1929,
1934,
1939,
1944,
1948,
272,
257,
241,
226,
211,
195,
180,
164,
149,
125
1990,
1994,
1997,
2000,
2004,
2007,
2010,
2013,
2015,
2018,
2021,
2023,
2025,
2027,
2030,
2031,
2033,
2035,
2037,
2038,
2040,
2041,
2042,
2043,
-236,
2047,
2047,
2046,
2046,
2045,
2044,
2044,
2043,
2042,
2040,
2039,
2038,
2036,
2034,
2033,
2031,
2029,
2027,
2025,
2022,
2020,
2017,
2014,
2012,
-730,
1977,
1973,
1969,
1965,
1961,
1956,
1952,
1947,
1942,
1937,
1932,
1927,
1922,
1916,
1911,
1905,
1899,
1894,
1888,
1882,
1876,
1869,
1863,
1857,
-1178,
1786,
1779,
1771,
1763,
1755,
1747,
1739,
1731,
1723,
1714,
1706,
1697,
1689,
1680,
1671,
1662,
1653,
1644,
1635,
1625,
1616,
1606,
1597,
1587,
-1554,
1485,
1474,
1464,
1453,
1442,
1431,
1420,
1409,
1398,
1386,
1375,
1363,
1352,
1340,
1328,
1317,
1305,
1293,
1281,
1269,
1257,
1244,
1232,
1220,
-1834,
1092,
1079,
1066,
1053,
1040,
1026,
1013,
1000,
986,
973,
959,
945,
932,
918,
904,
890,
876,
862,
848,
834,
820,
806,
792,
777,
-2002,
633,
618,
603,
588,
574,
559,
544,
529,
514,
499,
484,
469,
454,
439,
424,
409,
394,
379,
363,
348,
333,
318,
302,
287,
-2046,
134,
118,
103,
87,
72,
57,
41,
26,
10,
-5,
-21,
-36,
-51,
-67,
-82,
-98,
-113,
-129,
-144,
-159,
-175,
-190,
-205,
-221,
-1964,
126
-251,
-267,
-282,
-297,
-313,
-328,
-343,
-358,
-373,
-389,
-404,
-419,
-434,
-449,
-464,
-479,
-494,
-509,
-524,
-539,
-554,
-569,
-583,
-598,
-613,
-744,
-758,
-773,
-787,
-801,
-815,
-829,
-844,
-858,
-872,
-886,
-899,
-913,
-927,
-941,
-954,
-968,
-982,
-995,
-1009,
-1022,
-1035,
-1049,
-1062,
-1075,
-1191,
-1203,
-1216,
-1228,
-1240,
-1253,
-1265,
-1277,
-1289,
-1301,
-1313,
-1325,
-1336,
-1348,
-1359,
-1371,
-1382,
-1394,
-1405,
-1416,
-1427,
-1438,
-1449,
-1460,
-1471,
-1564,
-1574,
-1584,
-1594,
-1603,
-1613,
-1622,
-1632,
-1641,
-1650,
-1659,
-1668,
-1677,
-1686,
-1694,
-1703,
-1712,
-1720,
-1728,
-1737,
-1745,
-1753,
-1761,
-1768,
-1776,
-1841,
-1848,
-1854,
-1861,
-1867,
-1873,
-1880,
-1886,
-1892,
-1898,
-1903,
-1909,
-1914,
-1920,
-1925,
-1930,
-1935,
-1940,
-1945,
-1950,
-1955,
-1959,
-1964,
-1968,
-1972,
-2005,
-2008,
-2011,
-2014,
-2016,
-2019,
-2021,
-2024,
-2026,
-2028,
-2030,
-2032,
-2034,
-2036,
-2037,
-2039,
-2040,
-2041,
-2042,
-2043,
-2044,
-2045,
-2046,
-2046,
-2046,
-2045,
-2044,
-2043,
-2042,
-2041,
-2040,
-2039,
-2037,
-2036,
-2034,
-2032,
-2030,
-2028,
-2026,
-2024,
-2021,
-2019,
-2016,
-2014,
-2011,
-2008,
-2005,
-2002,
-1998,
-1995,
-1959,
-1955,
-1950,
-1945,
-1940,
-1935,
-1930,
-1925,
-1920,
-1914,
-1909,
-1903,
-1898,
-1892,
-1886,
-1880,
-1873,
-1867,
-1861,
-1854,
-1848,
-1841,
-1834,
-1827,
-1820,
127
-628,
-642,
-657,
-672,
-686,
-701,
-715,
-1761,
-1753,
-1745,
-1737,
-1728,
-1720,
-1712,
-1703,
-1694,
-1686,
-1677,
-1668,
-1659,
-1650,
-1641,
-1632,
-1622,
-1613,
-1088,
-1101,
-1114,
-1127,
-1140,
-1153,
-1165,
-1449,
-1438,
-1427,
-1416,
-1405,
-1394,
-1382,
-1371,
-1359,
-1348,
-1336,
-1325,
-1313,
-1301,
-1289,
-1277,
-1265,
-1253,
-1482,
-1492,
-1503,
-1513,
-1524,
-1534,
-1544,
-1049,
-1035,
-1022,
-1009,
-995,
-982,
-968,
-954,
-941,
-927,
-913,
-899,
-886,
-872,
-858,
-844,
-829,
-815,
-1784,
-1791,
-1799,
-1806,
-1813,
-1820,
-1827,
-583,
-569,
-554,
-539,
-524,
-509,
-494,
-479,
-464,
-449,
-434,
-419,
-404,
-389,
-373,
-358,
-343,
-328,
-1976,
-1980,
-1984,
-1988,
-1991,
-1995,
-1998,
-82,
-67,
-51,
-36,
-21};
-2047,
-2047,
-2047,
-2047,
-2047,
-2046,
-2046,
-1991,
-1988,
-1984,
-1980,
-1976,
-1972,
-1968,
-1813,
-1806,
-1799,
-1791,
-1784,
-1776,
-1768,
128
-1603,
-1594,
-1584,
-1574,
-1564,
-1554,
-1544,
-1534,
-1524,
-1513,
-1503,
-1492,
-1482,
-1471,
-1460,
-1240,
-1228,
-1216,
-1203,
-1191,
-1178,
-1165,
-1153,
-1140,
-1127,
-1114,
-1101,
-1088,
-1075,
-1062,
-801,
-787,
-773,
-758,
-744,
-730,
-715,
-701,
-686,
-672,
-657,
-642,
-628,
-613,
-598,
-313,
-297,
-282,
-267,
-251,
-236,
-221,
-205,
-190,
-175,
-159,
-144,
-129,
-113,
-98,
129
APÊNDICE B. ESQUEMA ELÉTRICO DA PLACA DE AQUISIÇÃO E CONTROLE
130
131
132
133
134
135
136
ANEXO
ANEXO A. FOLHA DE DADOS DO “GATE DRIVER” SKHI 23/12
137
Livros Grátis
( http://www.livrosgratis.com.br )
Milhares de Livros para Download:
Baixar livros de Administração
Baixar livros de Agronomia
Baixar livros de Arquitetura
Baixar livros de Artes
Baixar livros de Astronomia
Baixar livros de Biologia Geral
Baixar livros de Ciência da Computação
Baixar livros de Ciência da Informação
Baixar livros de Ciência Política
Baixar livros de Ciências da Saúde
Baixar livros de Comunicação
Baixar livros do Conselho Nacional de Educação - CNE
Baixar livros de Defesa civil
Baixar livros de Direito
Baixar livros de Direitos humanos
Baixar livros de Economia
Baixar livros de Economia Doméstica
Baixar livros de Educação
Baixar livros de Educação - Trânsito
Baixar livros de Educação Física
Baixar livros de Engenharia Aeroespacial
Baixar livros de Farmácia
Baixar livros de Filosofia
Baixar livros de Física
Baixar livros de Geociências
Baixar livros de Geografia
Baixar livros de História
Baixar livros de Línguas
Baixar livros de Literatura
Baixar livros de Literatura de Cordel
Baixar livros de Literatura Infantil
Baixar livros de Matemática
Baixar livros de Medicina
Baixar livros de Medicina Veterinária
Baixar livros de Meio Ambiente
Baixar livros de Meteorologia
Baixar Monografias e TCC
Baixar livros Multidisciplinar
Baixar livros de Música
Baixar livros de Psicologia
Baixar livros de Química
Baixar livros de Saúde Coletiva
Baixar livros de Serviço Social
Baixar livros de Sociologia
Baixar livros de Teologia
Baixar livros de Trabalho
Baixar livros de Turismo