Leonardo André Machado de Castro ESTUDO DE

Transcrição

Leonardo André Machado de Castro ESTUDO DE
1
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DO PARANÁ
DEPARTAMENTO ACADÊMICO DE ELETROTÉCNICA - DAELT
Leonardo André Machado de Castro
ESTUDO DE SISTEMA DE CONTROLE DE VELOCIDADE
DE BAIXO CUSTO PARA MOTORES DE INDUÇÃO
Curitiba
2003
2
Leonardo André Machado de Castro
ESTUDO DE SISTEMA DE CONTROLE DE VELOCIDADE
DE BAIXO CUSTO PARA MOTORES DE INDUÇÃO
Monografia apresentada para
obtenção total do título de engenheiro,
no curso de Engenharia Industrial
Elétrica - ênfase Eletrotécnica, do
Centro Federal de Educação
Tecnológica do Paraná.
Prof. Orientador: Joaquim Eloir Rocha
Curitiba
2003
3
Leonardo André Machado de Castro
ESTUDO DE SISTEMA DE CONTROLE DE VELOCIDADE
DE BAIXO CUSTO PARA MOTORES DE INDUÇÃO
Este Projeto Final de Graduação foi julgado e aprovado como requisito total para
obtenção do título de Engenheiro Eletricista pelo Centro Federal de Educação
Tecnológica do Paraná.
Curitiba, 25 de novembro de 2003
______________________________
Prof. Carlos Alberto Dallabona
Coordenador de Curso de
Engenharia Industrial Elétrica – Eletrotécnica
______________________________
Prof. Paulo Sérgio Walenia
Coordenador de Projeto Final de Graduação
Engenharia Industrial Elétrica – Eletrotécnica
______________________________
Prof. Joaquim Eloir Rocha
(Orientador)
______________________________
Walter Sanchez
(Banca 1)
______________________________
Eduardo Romaneli
(Banca 2)
4
DEDICATÓRIA
Dedico esta monografia a Deus, por ter
me permitido sobreviver a um acidente
automobilístico extremamente grave,
sem nenhuma seqüela, contrariando
todas as estatísticas humanas.
5
AGRADECIMENTOS
Agradeço a toda minha família por não perderem a esperança, pelo suporte,
pelo amor e pelo carinho.
Em especial à minha mãe Beth Castro, à minha irmã Renata Castro, ao meu
irmão Leandro Castro, ao Sgarbi, à minha avó Thereza e meu avô Josias.
Agradeço à Christiane Schmidtke, minha namorada, por ter me acompanhado
com amor e paciência, durante todos os dias de minha reabilitação e durante todo o
desenvolvimento deste trabalho.
À Evandro Luiz Hauenstein da SIEMENS, pelo auxílio com a programação do
89C51AC2.
Ao Sr. Niceto da SEPAR, pela doação de componentes.
A Marcelo Sung Man Jo da TESLA (empresa hospedada no hotel tecnológico
do CEFET-PR), por emprestar o local e os equipamentos para ensaio do protótipo.
Ao meu orientador, Professor Joaquim Eloir Rocha, pela elucidação de
dúvidas e orientação quanto ao escopo do trabalho.
6
RESUMO
Os motores de indução são muito utilizados em aplicações industriais devido a sua
construção simples, sua baixa manutenção e seu tamanho reduzido se comparado a
um motor de mesma potência, porém de corrente contínua. No entanto a forma de
controle dos motores trifásicos de indução é extremamente mais complexa do que a
de um motor de corrente contínua, devido ao fato de que se trabalha com reatâncias
indutivas variáveis, de acordo com a freqüência de operação. Mesmo com imensas
desvantagens com relação aos motores de indução, os motores CC ainda são
imensamente utilizados, justamente pelo fato de poder ser controlado mais
facilmente. Existiria uma forma de se controlar a velocidade de um motor de indução
de forma simples e barata? Que fosse uma alternativa aos caríssimos inversores e
atendesse aplicações específicas onde a precisão não é extremamente crítica?
Cada um destes pontos remete a inúmeras considerações, que serão dissertadas
nos devidos capítulos. O objetivo deste trabalho é estudar a viabilidade da criação
de um controle de velocidade de motores pequenos de indução. Geralmente a
velocidade do motor é controlada enquanto o fluxo é mantido constante, sendo que
o sistema de controle deve ser capaz de permitir baixas velocidades com torques
nominais. As aplicações possíveis para os controles escalares são inúmeras e podese gerar chaveamentos PWM utilizando-se microcontroladores fáceis de serem
obtidos no comércio, como o 89C51AC2 da Atmel, o qual foi utilizado neste trabalho
na criação de um controle V/F a SPWM. Este protótipo pode ser configurado via
computador, a partir da COM1, com três frequências distintas, uma rampa de partida
e outra para troca de velocidades. O software é todo baseado em tabelas de
freqüências gravadas em sua memória e interrupções geradas pelo contador Timer0.
7
ABSCTRACT
The induction machines are very used on industrial plants, because of their simple
construction, low maintenance and compact dimensions, in comparison with the DC
motors. However, the control of AC machines are extremely more complicated than
the DC machines ones, due to the fact that it works with variable inductances,
according to the operation frequency. The DC motors, even presenting a lot of
disadvantages, are still hugely used, because of their capability of being controlled
more easily. Is there a cheaper way to control the speed of AC machines that can
become an alternative to the expensive commercial inverters? A type of control that
attend specific applications where the precision is not so critic? Each one of these
questions provide numerous considerations, and will be discussed on the appropriate
chapters. The main objective of this work is to study the creation viability of an AC
motor control, that provide low cost and attend specific applications. Generally the
motor speed is variable while the flux is maintained constant, the control system must
be able to allow low speeds with nominal torques. There is a lot of possible
applications where we can apply the V/F method, and to generate the PWM signals
we can use microcontrollers easy to find in the market with low cost, like the
89C51AC2 from the manufacturer Atmel. This controller was used in this work to
create a V/F speed control by SPWM. This prototype may be configured by
computer, by COM1 serial port, with 3 frequencies, 1 start delta and another delta to
interchange the velocities. The entire software is based on frequency tables, that are
saved in controller’s memory, and interruptions generated by the counter Timer0.
8
LISTA DE ABREVIATURAS E SIGLAS
PWM - Pulse Width Modulation (Modulação por largura de pulsos).
SPWM - Senoidal Pulse Width Modulation (Modulação por largura de pulsos
senoidal).
MSPWM - Modificated Senoidal Pulse Width Modulation (Modulação por largura de
pulsos senoidal modificada).
UPWM - Uniform Pulse Width Modulation (Modulação por largura de pulsos
uniforme).
Choppers - Conversor CC – CC.
IGBT – Insulated Gate Bipolar Transistor.
TBP – Transistor Bipolar de Potência.
f.e.m. – Força Eletro Motriz.
f.m.m. – Força Magneto Motriz.
Q1- Abreviatura de transistor 1.
Duty-cycle - Ciclo de condução, expresso em percentagem.
Boost – Incremento de tensão que foge à curva V/F original.
DSP - Digital Signal Processor.
Encoder – Sensor de posição e velocidade.
Gate-Driver – Driver de Porta para elementos de potência, acopla o sinal gerado
pelo microcontrolador à etapa de potência.
Chip – Circuito Integrado.
Status – Situação.
9
LISTA DE FIGURAS
Figura 2.1 – Curvas de torque-velocidade para tensão do estator variável. .............18
Figura 2.2 – Controle de velocidade através da tensão do rotor...............................21
Figura 2.3 – Característica do torque com controle da freqüência............................22
Figura 2.4 – Curvas características torque-velocidade para o controle V/F..............23
Figura 2.5 – Acionamentos de máquinas CA com fonte de tensão...........................24
Figura 2.6 – Inversor trifásico em ponte e sinais de controle. ...................................26
Figura 2.7 – Sinais de comando para condução por 120º.........................................27
Figura 2.8 – Modulação por largura de pulso único...................................................28
Figura 2.9 – Harmônicos da modulação por largura de pulso único. ........................29
Figura 2.10 – Modulação por pulsos múltiplos...........................................................30
Figura 2.11 – Harmônicos da modulação por largura de pulsos múltiplos................30
Figura 2.12 – Sinais de controle e saída da modulação SPWM. ..............................32
Figura 2.13 – Harmônicos na modulação SPWM. .....................................................33
Figura 2.14 – Modulação MSPWM. ...........................................................................34
Figura 2.15 – Harmônicos da MSPWM......................................................................34
Figura 2.16 – Modulação Trapezoidal........................................................................35
Figura 2.17 – Modulação em degrau. ........................................................................36
Figura 4.1 – Esquema universal de potência.............................................................43
Figura 4.2 – Esquemático do controle por frequência ...............................................45
Figura 4.3 – Visão do circuito e da bancada de ensaio. ............................................47
Figura 4.4 – Visão panorâmica do circuito ensaiado. ................................................48
Figura 4.5 – Sinal gerado por 2 fases. .......................................................................48
Figura 4.6 - Sinal de uma fase após filtro de 1ª ordem..............................................49
Figura 4.7 – Valores da fase A, para as tabelas de 30 e 60Hz .................................60
Figura 4.8 - Simulação das 3 fases em 60Hz. 30 pulsos por ciclo. ...........................61
Figura 4.9 – Simulação da tensão entre as fases A e B do motor. ...........................62
Figura 4.10 – Fluxograma do laço principal. ..............................................................62
Figura 4.11 – Fluxograma da subrotina do Timer0....................................................64
Figura 4.12 – Curva das rampas de aceleração. .......................................................64
Figura 4.13 – Estrutura modular do projeto. ..............................................................66
10
Figura 4.14 - Esquema para a placa de potência. .....................................................68
Figura 4.15 – Esquemático do módulo de controle. ..................................................71
Figura 4.16 – Face superior da placa de controle. ....................................................72
Figura 4.17 – Vista panorâmica da placa de controle................................................72
Figura 4.18 – Face inferior da placa de controle........................................................72
Figura 4.19 – Modo de configuração no Terminal. ....................................................74
Figura 4.20 – Programa esperando botões serem pressionados..............................75
Figura 4.21 – Troca de tabelas na partida. ................................................................76
Figura 4.22 – Freqüência de 20Hz e tempo do Timer0. ............................................77
Figura 4.23 – Saídas P1.5 e P1.6 do 89C51AC2 a 40Hz..........................................78
Figura 4.24 – Saídas P1.5 e P1.6 do 89C51AC2 a 60Hz..........................................78
Figura 1 - Face superior da placa de controle. ..........................................................95
Figura 2 - Face inferior da placa de controle. ............................................................95
Figura 3 - Disposição dos componentes na placa de controle. .................................96
11
SUMÁRIO
1
INTRODUÇÃO .....................................................................................................13
1.1
PROPOSTA APRESENTADA......................................................................13
1.1.1
Justificativa ............................................................................................14
1.1.2
Objetivos................................................................................................14
1.1.2.1
Objetivo Geral ................................................................................14
1.1.2.2
Objetivos Específicos.....................................................................14
1.1.3
2
Metodologia ...........................................................................................15
REFERENCIAL TEÓRICO ..................................................................................16
2.1
INTRODUÇÃO..............................................................................................16
2.2
ACIONAMENTOS CA...................................................................................17
2.3
MÉTODOS DE CONTROLE DE MOTORES CA .........................................18
2.3.1
Controle da tensão do estator ...............................................................18
2.3.1.1
2.3.2
Controle da Tensão do Rotor ................................................................20
2.3.3
Controle da Freqüência .........................................................................21
2.3.4
Controle da Tensão e da Freqüência (Controle Escalar V/F)...............22
2.4
3
4
Perdas no rotor devido à variação do escorregamento.................19
INVERSORES TRIFÁSICOS........................................................................25
2.4.1
Condução por 180º................................................................................25
2.4.2
Condução por 120º................................................................................27
2.4.3
Controle de tensão de inversores .........................................................28
2.4.3.1
Modulação por largura de pulso único...........................................28
2.4.3.2
Modulação por largura de pulsos múltiplos (UPWM) ....................29
2.4.3.3
Modulação por largura de pulsos senoidal (SPWM) .....................31
2.4.3.4
Modulação por largura de pulsos senoidal modificada (MSPWM)33
2.4.3.5
Modulação Trapezoidal..................................................................35
2.4.3.6
Modulação escada ou degrau........................................................35
METODOLOGIA ..................................................................................................37
3.1
A ETAPA DE POTÊNCIA .............................................................................37
3.2
A ETAPA DE CONTROLE............................................................................38
ANÁLISE DOS DADOS .......................................................................................41
4.1
INTRODUÇÃO..............................................................................................41
12
4.2
PROJETO DE CONTROLE DE VELOCIDADE ...........................................42
4.2.1
4.3
PROJETO 1: CONTROLE POR FREQUÊNCIA A 120º ..............................45
4.3.1
4.4
Funcionamento do circuito ....................................................................46
PROJETO 2: CONTROLE V/F ATRAVÉS DO SPWM ................................50
4.4.1
O Software.............................................................................................51
4.4.1.1
Aplicação........................................................................................51
4.4.1.2
Tipo de Controle.............................................................................52
4.4.1.3
Compilador .....................................................................................52
4.4.1.4
Timer0 ............................................................................................53
4.4.1.5
Saídas PWM ..................................................................................54
4.4.1.6
Tabelas de Freqüências.................................................................54
4.4.1.7
Funcionamento do software...........................................................62
4.4.2
Hardware ...............................................................................................65
4.4.2.1
O “Gate-Driver”...............................................................................66
4.4.2.2
Módulo de Controle ........................................................................69
4.4.2.3
Custos do protótipo ........................................................................73
4.4.3
5
Esquema universal de potência ............................................................42
Resultados Experimentais.....................................................................74
AVALIAÇÃO GLOBAL DO PROJETO E CONSIDERAÇÕES FINAIS................80
ANEXO A – Especificação de Componentes .............................................................85
APÊNDICE A – Módulo de Controle ...........................................................................94
APÊNDICE B – O Software ........................................................................................97
13
1
1.1
INTRODUÇÃO
PROPOSTA APRESENTADA
Um dos equipamentos mais utilizados em processos industriais é, com
certeza, o inversor de freqüência, devido ao fato de ser quase impossível encontrar
um segmento industrial onde não seja necessária a utilização de motores trifásicos
de indução.
O inversor de freqüência possibilita o controle completo de um motor CA
trifásico de indução, através da variação simultânea da freqüência e da tensão
aplicados ao seu estator. Cita-se, como exemplo, a possibilidade de ter-se torque
nominal em baixas rotações. Este método é denominado de controle escalar V/F, e
entre outras características, impede que o enrolamento do motor queime em baixas
freqüências, a partir da redução da tensão aplicada proporcionalmente à freqüência.
PWM significa Pulse Width Modulation, ou Modulação por Largura de Pulso,
seu princípio de funcionamento, basicamente, é o controle da largura e da
quantidade dos pulsos aplicados sobre o motor. Os duty-cycles (ciclos de condução)
dos pulsos devem ser alterados conjuntamente com a freqüência. Duty-Cycle diz
respeito à razão em porcentagem, do tempo em que a saída de controle permanece
em nível alto com relação ao período da portadora. Ao contrário do UPWM (PWM de
pulsos múltiplos), na modulação SPWM (PWM Senoidal) os duty-cycles não
possuem um único valor para todo o ciclo, pois cada pulso deve ter uma largura
diferente proporcional ao seno do ângulo em questão.
Através de um inversor pode-se parametrizar o tempo para a rampa de
partida, velocidades de operação e valores de sobrecorrente e sobretensão.
O avanço da eletrônica de potência e a microeletrônica, por meio dos
microcontroladores, são o cerne sobre o qual se baseia o acionamento moderno de
máquinas CA.
Seria viável o desenvolvimento de um controle deste tipo?
Hoje em dia existe uma grande gama de empresas fabricantes de
componentes eletrônicos, o que torna a concorrência entre elas muito acirrada e
acarreta na diminuição do preço das peças. Através de um microcontrolador com
suporte a PWM, pode-se projetar um controle de velocidade para motores de
14
indução que atenda as especificações da modulação SPWM.
1.1.1 Justificativa
A tecnologia utilizada no desenvolvimento de inversores é confidencial para
as empresas, cada empresa utiliza um conjunto de componentes diferentes e
programas diferentes para os microcontroladores, contudo pode-se criar um modelo
padrão para o desenvolvimento de aplicações de controle de velocidade de motores
trifásicos de indução.
A única forma disponível no mercado de se controlar motores trifásicos com
rendimento aceitável é via inversores comerciais, porém grande parte das aplicações
existentes, como bombas, ventiladores, misturadores e borbulhadores, na qual a
precisão não é extremamente crítica, poderiam ser acionados por um método
alternativo de controle que tivesse um preço extremamente competitivo.
1.1.2 Objetivos
1.1.2.1 Objetivo Geral
Desenvolver estudo sobre a viabilidade de um sistema de controle de
velocidade de baixo custo para motores de indução.
1.1.2.2 Objetivos Específicos
Estudar
características
de
componentes
eletrônicos,
como:
Microcontroladores, MOSFETs, IGBTs, Gate Drivers, entre outros.
Detalhar diversos tipos de modulações possíveis de serem implementadas,
com seus pontos fortes e fracos e o espectro de harmônicos gerados.
Propor um projeto de baixo custo para o controle de velocidade de motores de
indução de baixa potência.
15
1.1.3 Metodologia
Pesquisar livros, papers e assuntos relacionados aos tipos de modulação
PWM existentes, características de MOSFETs e IGBTs, Microcontroladores e
compiladores. Para tanto serão utilizados a Internet, e livros da biblioteca do CEFET.
Pelas informações obtidas será desenvolvido um modelo padrão sobre o qual
outros controles de velocidade poderão ser desenvolvidos.
O projeto a ser criado deverá gerar via microcontrolador os sinais PWM para
disparo das chaves de potência da Ponte H.
Deve-se escolher um microcontrolador que possua portas PWM, memória
suficiente para alojar o programa, e velocidade para executar todas as rotinas sem
perda de precisão.
A partir do software desenvolvido e do microcontrolador escolhido será
desenhado o esquemático de um módulo de controle para Pontes H, o qual será
implementado e testado. É essencial que o módulo tenha um custo competitivo em
comparação ao dos inversores comerciais.
16
2
2.1
REFERENCIAL TEÓRICO
INTRODUÇÃO
O uso de inversores para controle de velocidade de motores trifásicos de
indução é bastante difundido na indústria em aplicações que variam desde
bombeamento de fluidos até o controle da própria linha de produção.
“Os motores de indução são muito utilizados em aplicações industriais devido
a sua construção simples, sua baixa manutenção e tamanho reduzido se comparado
a um motor de mesma potência, porém de corrente contínua” (SÁ, 1978, p9).
No entanto a forma de controle dos motores trifásicos de indução é
extremamente mais comp4lexa do que a de um motor de corrente contínua, devido
ao fato de que se trabalha com reatâncias indutivas variáveis, de acordo com a
freqüência de operação.
A forma universalmente difundida e comprovadamente eficaz de controle
destes motores é por PWM (Modulação por largura de Pulso), que é apenas uma
das formas de controle da potência aplicada sobre o motor, e possui inúmeras
variações, desde o simples PWM de Pulsos Múltiplos até o extremamente complexo,
porém eficaz, PWM Vetorial.
Em aplicações onde a precisão da velocidade do motor não é crítica
(sistemas de acionamento de uso geral), deveria existir uma forma alternativa de
controle de velocidade que fosse simples e barata.
Seria viável a criação de um circuito de controle simples, focado em aplicações
específicas, utilizando um único microcontrolador, e que pudesse controlar a
velocidade de pequenos motores de indução?
17
2.2
ACIONAMENTOS CA
O controle das máquinas CC requer o fornecimento de uma tensão CC
variável que pode ser obtida a partir de choppers ou retificadores controlados, esses
controladores de tensão são simples e baratos. Porém as máquinas CC são
relativamente caras e requerem mais manutenção devido às escovas e comutadores
que se desgastam rapidamente. Entretanto, os acionamentos CC ainda são
utilizados em diversas aplicações industriais e de transporte.
As máquinas CA, por sua vez, exibem estruturas altamente acopladas, nãolineares e multivariáveis, que são exatamente o oposto das máquinas CC de
excitação separada, com estruturas desacopladas e muito mais simples.
O controle dos acionamentos CA geralmente requer algoritmos complexos
que podem ser implementados através de microcontroladores juntamente com
conversores de potência de chaveamento rápido como as pontes H compostas de
IGBTS ou MOSFETs.
As máquinas CA possuem inúmeras vantagens: são mais leves (20% a 40% mais
leves que as máquinas CC equivalentes), mais baratas e têm menos manutenção.
Requerem basicamente controle de freqüência, tensão e corrente para aplicações
de velocidade variável. (RASHID, 1992, Cap.15).
Os conversores de potência, inversores e controladores de tensão CA podem
controlar a freqüência, a tensão e/ou a corrente para fornecer os requisitos do
acionamento. Os conversores de potência, que são relativamente complexos e mais
caros, requerem técnicas avançadas de controle com realimentação, tais como
modelo de referência, controle adaptativo, controle do escorregamento e controle de
campo orientado. Entretanto as vantagens dos acionamentos CA compensam as
desvantagens de controles tão complexos.
18
2.3
MÉTODOS DE CONTROLE DE MOTORES CA
2.3.1 Controle da tensão do estator
Neste tipo de controle o torque é proporcional ao quadrado da tensão de
alimentação do estator, e uma redução nesta produzirá uma redução na velocidade.
A figura 2.1 mostra as curvas características típicas torque-velocidade para os
vários valores de escorregamento. Os pontos de interseção com a linha da carga
definem os pontos de operação estável.
À medida que a tensão do estator é reduzida, o fluxo do entreferro e o torque
também são reduzidos. A uma tensão mais baixa, a corrente terá um máximo a um
escorregamento de s=1/3. A faixa de controle de velocidade depende do
escorregamento
para
o
torque
máximo.
Para
uma
máquina
de
baixo
escorregamento, a faixa de velocidade é muito estreita, esse tipo de controle de
tensão não é adequado para uma carga de torque constante e em geral é aplicado
em situações que requerem baixo torque de partida e faixa estreita de velocidade.
Figura 2.1 – Curvas de torque-velocidade para tensão do estator variável.
FONTE: RASHID, 1992.
19
A tensão do estator pode ser variada através de:
1. Controladores CA trifásicos;
2. Inversores trifásicos do tipo fonte de tensão com interligação CC variável;
3. Inversores trifásicos PWM.
Devido às características de faixa de velocidade limitada, os controladores de
tensão CA normalmente são utilizados em controle de tensão de estator e são
muito simples, mas o conteúdo harmônico é elevado e o fator de potência de
entrada dos controladores é baixo. (RASHID, 1992, Cap.15).
Caso o motor não tenha um rotor de alta resistência alguns problemas
poderão ocorrer como:
1. A variação da característica do conjugado motor na faixa entre a partida e o
conjugado máximo é instável. Manter uma velocidade limite nesta faixa só é possível
com o auxílio de uma regulação extremamente rápida.
2. Para conseguir-se um alto conjugado de partida são necessárias correntes
de partida da ordem de 6 a 10 vezes a corrente nominal.
3. O fator de potência da máquina é baixo para valores altos de
escorregamento.
2.3.1.1 Perdas no rotor devido à variação do escorregamento
A regulação de velocidade de um motor assíncrono através da variação da
tensão do estator seria um processo simples e barato, se não houvesse uma
desvantagem que limita sua utilização: o aumento do escorregamento resulta em
grandes perdas no rotor da máquina.
Para o escorregamento de 3% o motor deve poder absorver no rotor 3% da
potência nominal sob a forma de perdas.
O
mesmo
motor
deveria,
para
conjugado
resistente
constante
e
escorregamento de 50%, admitir 50% da potência nominal com perdas no rotor.
Sob estas condições, os motores de indução com carga constante não
admitem variação de velocidade através do escorregamento.
Quando o conjugado resistente varia com o quadrado da velocidade as
relações são mais favoráveis. A potência máxima de perdas é de 15% da nominal
20
para 2/3 da velocidade síncrona.
Neste caso através do sobredimensionamento do motor, é possível a
operação em toda a faixa de velocidades.
Para máquinas pequenas que sempre apresentam perdas porcentualmente
maiores, o sobredimensionamento é menor do que nas máquinas grandes com bom
rendimento.
Baseado nestes motivos, o controle de velocidade, em motores de indução
tipo gaiola de esquilo, é feito através da regulação da tensão do estator nos
seguintes casos:
•
Para operação de curta duração, com duração de ligação do controle
de velocidade exatamente definida, por exemplo: partida lenta de
máquinas e aceleração de guindastes.
•
Regulação de velocidade de ventiladores e bombas com variação
quadrática e cúbica do conjugado resistente e sobredimensionamento
correspondente do motor.
•
Regulação de velocidade de pequenos motores que possuam baixo
rendimento, por exemplo: indústria têxtil.
2.3.2 Controle da Tensão do Rotor
Em uma máquina de rotor bobinado1, uma conexão trifásica de resistores
externos pode ser feita aos anéis, como mostrado na figura 2.2. O torque
desenvolvido pode ser variado através da variação da resistência Rx. Esse método
aumenta o torque de partida, além de limitar a corrente de partida. Entretanto, é um
método ineficiente e haverá desequilíbrio nas tensões e correntes se as resistências
no circuito do rotor não forem exatamente iguais. Uma máquina de indução de rotor
bobinado é projetada para ter baixa resistência de rotor de tal forma que a eficiência
de operação seja elevada e o escorregamento a plena carga seja baixo.
1
O controle de velocidade por tensão de rotor só pode ser efetuado em máquinas com rotores
bobinados. Ao Contrário das máquinas de rotor bobinado, os motores de indução com rotores
“Gaiolas de Esquilo” não possuem bobinas de rotor nem tampouco anéis de comutação, contudo são
os motores mais utilizados em aplicações industriais de qualquer tipo.
21
Figura 2.2 – Controle de velocidade através da tensão do rotor.
FONTE: RASHID, 1992.
O aumento na resistência do rotor não afeta o valor do torque máximo, mas
aumenta o escorregamento no torque máximo. As máquinas de rotor bobinado são
amplamente utilizadas em aplicações que requerem freqüentes partidas e frenagens
com torques elevados (por exemplo, guindastes). Devido à disponibilidade dos
enrolamentos do rotor para a variação da resistência deste, a máquina de rotor
bobinado oferece maior flexibilidade para o controle, mas há um aumento do custo e
necessidade de manutenção devido aos anéis e escovas. Rashid (1992, Cap.15)
confirma que: “A máquina de rotor bobinado não é tão amplamente utilizada como a
máquina de rotor em gaiola de esquilo”.
2.3.3 Controle da Freqüência
O torque e a velocidade das máquinas de indução podem ser controlados
variando-se somente a freqüência da fonte de alimentação. Se a tensão for mantida
fixa em seu valor nominal enquanto a freqüência é reduzida abaixo do seu valor
nominal, o fluxo aumentará, o que pode levar à saturação do fluxo do entreferro.
Assim, os parâmetros da máquina podem perder sua validade. Em baixa freqüência,
as reatâncias diminuem e a corrente da máquina pode ser muito elevada.
Devido a estes problemas, “O controle de velocidade por freqüência
normalmente não é muito utilizado”. (RASHID, 1992, Cap. 15).
Se a freqüência for aumentada acima do seu valor nominal, o fluxo e o torque
diminuem.
22
As curvas características típicas torque-velocidade são mostradas na fig. 2.3.
Assim, pode-se concluir que o torque máximo é inversamente proporcional ao
quadrado da freqüência, similar ao comportamento das máquinas CC em série.
Nesse tipo de controle, diz-se que a máquina opera no modo de “enfraquecimento
de campo”.
Para β > 1, a máquina é operada à tensão nominal constante e o fluxo é
reduzido, limitando dessa maneira a sua capacidade de torque.
Para 1 < β < 1,5, a relação entre torque e β pode ser considerada
aproximadamente linear.
Para β < 1, a máquina é normalmente operada a fluxo constante, reduzindose a tensão nominal juntamente com a freqüência de tal forma que o fluxo
permaneça constante. Para este último caso existe o controle escalar V/F, que será
visto na seqüência.
Figura 2.3 – Característica do torque com controle da freqüência.
FONTE: RASHID, 1992.
2.3.4 Controle da Tensão e da Freqüência (Controle Escalar V/F)
Se a relação entre a tensão e a freqüência for mantida constante, o fluxo
permanecerá constante. O torque máximo, que é independente da freqüência, pode
ser mantido aproximadamente constante. Entretanto, em baixa freqüência o fluxo do
entreferro é reduzido devido à queda na impedância do estator, tendo a tensão de
ser aumentada para manter o nível de torque.
As curvas características típicas torque-velocidade são mostradas na fig. 2.4.
23
À medida que a freqüência é reduzida, β diminui e o escorregamento para o torque
máximo aumenta. Para uma dada demanda de torque, a velocidade pode ser
controlada variando-se a freqüência. Portanto, variando-se tanto a tensão quanto a
freqüência, o torque e a velocidade podem ser controlados. O torque normalmente é
mantido constante, enquanto a velocidade é variada. A tensão à freqüência variável
pode ser obtida a partir de inversores trifásicos ou cicloconversores.
Os cicloconversores são utilizados em aplicações de potências muito
elevadas2, nas quais a exigência de freqüência é de metade ou um terço da
freqüência da rede.
Figura 2.4 – Curvas características torque-velocidade para o controle V/F.
FONTE: RASHID, 1992.
A partir do advento da modulação PWM para controle de máquinas de
indução, três esquemas possíveis para obtenção de tensão e freqüência variáveis
são apresentados na figura 2.5.
2
Por exemplo: Locomotivas e moinhos de cimento.
24
Figura 2.5 – Acionamentos de máquinas CA com fonte de tensão.
FONTE: RASHID, 1992.
Na figura 2.5a, a tensão permanece constante e a técnica PWM3 é aplicada
para variar tanto a tensão quanto a freqüência do inversor. Devido ao retificador com
diodos, não é possível a regeneração e o inversor irá gerar harmônicos em direção à
alimentação CA.
Na figura 2.5b, o chopper4 varia a tensão CC para o inversor e este controla a
freqüência. Devido ao chopper, a injeção de harmônicos na rede de alimentação CA
é reduzida. Neste caso o sistema de controle terá que trabalhar com 2 sinais PWMs,
o primeiro fará a variação do sinal CC do chopper para a entrada do inversor, e o
segundo fará a variação da freqüência do PWM na ponte H, que efetivamente será
aplicada ao motor, sendo que o tipo de PWM aplicado ao motor pode aumentar ou
reduzir ainda mais os harmônicos gerados.
Na figura 2.5c, a tensão CC é controlada pelo conversor Dual e a freqüência é
controlada pelo inversor. O arranjo permite regeneração, entretanto o fator de
3
PWM: Pulse Width Modulation ou Modulação por Largura de Pulso.
Segundo Rashid ( 1992), o chopper é “[...] um conversor CC-CC, com entrada CC fixa e saída CC
variável e controlada [...]”.
4
25
potência do conversor é baixo, especialmente quando o ângulo de disparo é alto.
2.4
INVERSORES TRIFÁSICOS
Uma saída trifásica em degrau (tensão quase quadrada) pode ser obtida a
partir da configuração padrão de inversores, onde são utilizados 6 MOSFETs, IGBTs
ou Transistores Bipolares de potência. Os diodos em anti-paralelo servem para
permitir um caminho de retorno para a corrente quando se alimenta uma carga
indutiva. Este esquema se denomina Ponte H trifásica.
2.4.1 Condução por 180º
Neste esquema, cada transistor conduz por 180º, ou seja, sempre existem
três transistores conduzindo a qualquer instante de tempo.
Quando o transistor Q1 entra em condução, o terminal a é conectado ao
positivo da tensão CC de entrada. Quando o transistor Q4 entra em condução, o
terminal a é levado ao negativo da fonte CC. Existem 6 modos de operação em um
ciclo e a duração de cada modo é de 60º. Os sinais de comando mostrados na figura
2.6 são defasados de 60º uns dos outros para que se possa obter tensões trifásicas
de saída equilibradas.
A carga pode ser conectada em estrela ou em triângulo.
Para uma carga em triângulo, as correntes de fase podem ser obtidas
diretamente a partir das tensões de linha, uma vez que as correntes de fase são
conhecidas as correntes de linha podem ser determinadas.
Para uma carga em estrela, a tensão de fase-neutro tem de ser determinada
de modo a se encontrar as correntes de linha e de fase.
26
Figura 2.6 – Inversor trifásico em ponte e sinais de controle.
FONTE: RASHID, 1992.
27
2.4.2 Condução por 120º
Neste tipo de controle cada transistor conduz por 120º. Apenas 2 transistores
conduzem simultaneamente. Os sinais de comando são mostrados na figura 2.7.
A qualquer instante, dois terminais da carga são conectados à fonte de
alimentação CC e o terceiro permanece em aberto. O potencial desse terminal
dependerá das características da carga. Como cada transistor conduz por 120º,
cada um conduz por menos tempo que os de condução por 180º para as mesmas
condições de carga.
Figura 2.7 – Sinais de comando para condução por 120º.
FONTE: RASHID, 1992.
28
2.4.3 Controle de tensão de inversores
Para que possamos ter um controle V/F, precisamos saber as diversas
técnicas existentes para se alterar o ganho do inversor.
O método mais eficiente de controle do ganho consiste em incorporar o
controle de modulação por largura de pulso (PWM) dentro do inversor. As técnicas
mais utilizadas são:
2.4.3.1 Modulação por largura de pulso único
Neste tipo de controle, existe somente um pulso por semiciclo e a sua largura é
variada para controlar a tensão de saída do inversor. A figura 2.8 mostra a geração
dos sinais de comando e a tensão de saída do inversor monofásico em ponte
completa. Os sinais de comando são gerados por comparação de um sinal de
referência retangular, com uma onda portadora triangular. A freqüência do sinal de
referência determina a freqüência fundamental da tensão de saída.
Figura 2.8 – Modulação por largura de pulso único.
FONTE: RASHID, 1992.
29
Figura 2.9 – Harmônicos da modulação por largura de pulso único.
FONTE: RASHID, 1992.
Neste tipo de modulação, conforme figura 2.9, o harmônico dominante é o
terceiro, que é muito difícil de ser filtrado por ter uma freqüência muito próxima da
fundamental, e o fator de distorção aumenta significativamente para baixas tensões
de saída.
2.4.3.2 Modulação por largura de pulsos múltiplos (UPWM)
Os harmônicos podem ser reduzidos se ao invés de termos um único pulso
por semiciclo, tivermos diversos pulsos. A geração dos sinais de comando para ligar
e desligar os IGBTs é feita por comparação de um sinal de referência CC com uma
onda portadora triangular conforme figura 2.10. A freqüência do sinal de referência
estabelece a freqüência de saída, e a freqüência da portadora determina o número
de pulsos por semiciclo. O índice de modulação controla a tensão de saída. Esse
tipo de modulação também é conhecido como modulação por largura de pulso
uniforme5.
5
Tradução do inglês: Uniform Pulse Width Modulation - UPWM
30
Figura 2.10 – Modulação por pulsos múltiplos.
FONTE: RASHID, 1992.
Figura 2.11 – Harmônicos da modulação por largura de pulsos múltiplos.
FONTE: RASHID, 1992.
Segundo a figura 2.11, para p = 5 pulsos por semiciclo, a ordem dos
harmônicos é a mesma da modulação por pulso único, entretanto, devido a um
maior número chaveamentos por unidade de tempo, as perdas por comutação
aumentarão.
Aumentando-se o valor de p, consegue-se diminuir as amplitudes dos
harmônicos de baixa ordem, com o 3º e o 5º, porém as amplitudes de harmônicos de
mais alta ordem aumentarão, o que não é problemático visto que tais harmônicos
31
podem ser facilmente eliminados com filtros, ou na própria bobina do motor.
2.4.3.3 Modulação por largura de pulsos senoidal (SPWM)
Ao invés de manter a largura de todos os pulsos sempre a mesma, como no
caso da modulação de pulsos múltiplos, a largura de cada pulso é variada em
proporção à amplitude de uma onda senoidal de referência.
Neste tipo de modulação, o fator de distorção e os harmônicos são reduzidos
significativamente.
Os sinais de controle são gerados através da comparação de um sinal de
referência senoidal com uma onda portadora triangular. Esse tipo de modulação era
muito utilizado em aplicações industriais, antes do advento da modulação vetorial.
A freqüência do sinal de referência determina a freqüência de saída do
inversor, e sua amplitude máxima controla o índice de modulação M, que, por sua
vez, controla a tensão eficaz de saída.
O número de pulsos por semiciclo depende da freqüência da portadora.
Dentro da restrição de que dois MOSFETs ou IGBTs do mesmo ramo não
podem conduzir ao mesmo tempo, a tensão de saída é mostrada na fig. 2.12.
De acordo com a curva freqüência/torque, o motor de indução, a partir da
tensão nominal de trabalho, consome a corrente nominal e entrega torque nominal à
velocidade nominal, normalmente 1800rpm para 60Hz em um motor de 4 polos,
conforme dados de placa.
Quando se tem aumento de carga no eixo, em velocidade nominal, há uma
perda de velocidade e tanto o escorregamento como a corrente no estator
aumentam. O motor pode suportar até 2,5 vezes o torque nominal com apenas 20%
de diminuição da velocidade nominal, porém, qualquer acréscimo extra de carga
além deste limite causará a queima do motor.
O torque desenvolvido pelo motor é diretamente proporcional ao campo
magnético produzido pelo estator, isto é, a tensão aplicada ao estator é diretamente
proporcional ao produto do fluxo e da velocidade angular. Isto faz o fluxo produzido
pelo estator ser proporcional à razão entre tensão e freqüência aplicadas.
Variando a freqüência, a velocidade do motor também pode ser variada,
32
porém, variando-se a tensão e a freqüência numa mesma proporção, obtemos fluxo
e torque constantes por toda faixa de velocidades, ou seja, podemos ter torque
constante em velocidades extremamente baixas.
Em velocidade nominal, a tensão e a freqüência aplicadas ao motor precisam
estar de acordo com os dados de placa do mesmo.
Podemos acionar o motor em velocidades maiores que as nominais, através
da aplicação de freqüências maiores que a nominal, porém, além do valor nominal, a
tensão não pode ser incrementada, o que ocasiona diminuição da constante V/F,
diminuição do campo e conseqüentemente perda de torque.
Figura 2.12 – Sinais de controle e saída da modulação SPWM.
FONTE: RASHID, 1992.
33
Figura 2.13 – Harmônicos na modulação SPWM.
FONTE: RASHID, 1992.
O perfil dos harmônicos é mostrado na fig. 2.13 para cinco pulsos por
semiciclo. O fator de distorção é significativamente reduzido se comparado ao da
modulação por pulsos múltiplos.
Mas o mais importante é que este tipo de modulação elimina todos os
harmônicos menores ou iguais a 2p -1. Para p = 5, o harmônico de mais baixa
ordem é o 9º.
A tensão de saída de um inversor sempre contêm harmônicos, porém, o
SPWM força os harmônicos a uma faixa de alta freqüência em torno da freqüência
de chaveamento e de seus múltiplos.
2.4.3.4 Modulação por largura de pulsos senoidal modificada (MSPWM) 6
As larguras dos pulsos mais próximos do valor de pico da senóide não mudam
significativamente com a variação do índice de modulação, isso se deve à
característica das ondas senoidais em geral, e a técnica SPWM pode ser modificada
tal que a onda portadora seja aplicada durante o primeiro e o último intervalo de 60º
por semiciclo, conforme figura 2.14. Esse tipo de modulação é conhecido como
6
MSPWM: Modified Sinusoidal Pulse Width Modulation.
34
MSPWM, que significa PWM senoidal modificada.
Resulta em aumento da componente fundamental e suas características
harmônicas são melhoradas conforme figura 2.15.
Reduz-se também o número de chaveamentos dos dispositivos de potência e
com isso as perdas por chaveamento.
Figura 2.14 – Modulação MSPWM.
FONTE: RASHID, 1992.
Figura 2.15 – Harmônicos da MSPWM.
FONTE: RASHID, 1992.
35
2.4.3.5 Modulação Trapezoidal
Os sinais de comando são gerados por comparação de uma onda portadora
triangular com uma onda de referência trapezoidal, como mostrado na figura 2.16.
Figura 2.16 – Modulação Trapezoidal.
FONTE: RASHID, 1992.
2.4.3.6 Modulação escada ou degrau
O sinal de referência é uma escada, o qual não é uma aproximação de uma
onda senoidal. Cada um dos degraus é calculado para que se possa eliminar
harmônicos específicos e otimizar o valor da fundamental. Este é um PWM
otimizado e não é recomendado para menos que 15 pulsos por ciclo, conforme
figura 2.17.
“Neste tipo de modulação, para que a tensão fundamental de saída seja
elevada e o fator de distorção seja baixo, o número de pulsos por ciclo deve ser 15
para 2 degraus, 21 para três e 27 para quatro níveis”. (RASHID, 1992, Cap. 15).
36
Este tipo de modulação fornece alta qualidade da tensão de saída.
Figura 2.17 – Modulação em degrau.
FONTE: RASHID, 1992.
37
3
METODOLOGIA
A partir da teoria de acionamentos, conclui-se que todo e qualquer circuito de
controle de velocidade de motor de indução pode ser dividido em duas partes:
3.1
•
Etapa de potência
•
Etapa de Controle
A ETAPA DE POTÊNCIA
Na etapa de potência, como o nome já diz, temos as altas correntes, a
interface com o motor propriamente dito. Esta etapa segue sempre um mesmo
desenho padrão, composta por um retificador (controlado ou não), e uma Ponte H
que inverte a tensão CC para um sinal modulado em largura de pulso.
Esta ponte H pode ser monofásica (composta por 4 elementos de potência7)
ou trifásica (composta por 6 elementos), no caso de motores trifásicos de indução é
relevante o estudo da ponte com 6 elementos e os pulsos necessários pelo controle
para acioná-las. Cada um dos elementos deve receber um diodo em anti-paralelo
externo, nos casos de Pontes H de grandes potências, para fornecer um caminho de
retorno para a corrente armazenada nas bobinas do motor quando o elemento
chaveador de potência não estiver conduzindo.
Os únicos elementos semicondutores de potência que permitem condução
enquanto houver pulso de gatilho e corte quando o pulso cessa, são os MOSFETs,
IGBTs e Transistores Bipolares.
Os IGBTs trabalham em freqüências menores, suportam maiores correntes e
tensões e são os elementos mais utilizados por inversores comerciais e por
aplicações com motores.
O IGBT alia a facilidade de acionamento dos MOSFET com as pequenas
perdas em condução dos Transistores Bipolares. Sua velocidade de chaveamento,
em princípio semelhante à dos transistores bipolares, tem crescido nos últimos anos,
7
Elementos de potência conduzem quando recebem pulso de gatilho e cortam quando o pulso cessa.
São chamados comercialmente de MOSFETs, IGBTs ou Transistores Bipolares.
38
permitindo operação em dezenas de kHz nos componentes para correntes na faixa
de algumas dezenas de Ampéres.
Os MOSFETs por sua vez, podem trabalhar com freqüências maiores porém
com menores correntes e tensões entre dreno e fonte comparadas às dos IGBTs. A
vantagem dos MOSFETs está no seu preço competitivo.
O dimensionamento, e projeto, de condutores e componentes de potência
deve ser feito a partir dos dados de placa do motor que se quer controlar.
3.2
A ETAPA DE CONTROLE
A etapa de controle pode ser discreta ou microcontrolada.
Salvo aplicações específicas, controles discretos não são utilizados em
inversores que necessitem de parametrizações.
Hoje em dia, com os avanços da microeletrônica, barateamento dos chips e o
crescimento da cultura digital, ficou simples de se obter e programar um
microcontrolador. Componentes desta espécie, da fabricante Microchip por exemplo,
possuem preços a partir de R$5,00 e são facilmente encontrados em lojas de
componentes eletrônicos em Curitiba.
Um microcontrolador pode ter memória FLASH interna para gravação do
programa, ou, quando a memória interna não tem a capacidade necessária
suficiente, pode-se utilizar chips de memória externamente.
O programa deve ser escrito em alguma linguagem a que o compilador tenha
suporte, como Assembly ou C. A programação Assembly é extremamente complexa,
pois trabalha diretamente com registros e bits, já a linguagem C cria uma camada
extra entre o acesso aos registros e o código criado, o que facilita o trabalho do
desenvolvedor do software. Entretanto utilizando-se linguagens de programação de
alto nível, diminui-se a performance do controlador.
Depois de criado o software, deve-se transferi-lo ao microcontrolador através
de gravadores específicos, ou no caso do 89C51AC2 da Atmel, basta conectá-lo,
através de um CI MAX232, à porta serial COM1 do microcomputador.
Dados técnicos sobre o 89C51AC2 podem ser consultados no Anexo A.
Neste trabalho, além da apresentação da teoria relacionada ao controle de
39
motores, procurou-se validá-lo a partir de projetos implementados.
No primeiro projeto, o Controle por Freqüência, a idéia era reproduzir na
prática os pulsos de controle descritos por RASHID, no livro eletrônica de potência, e
verificar se na carga conectada à saída seria gerado um sinal em escada. Como
será visto na seqüência o projeto por controle de freqüência obteve sucesso e
conseguiu concluir seu objetivo.
Para tanto foram analisados os sinais de controle de cada fase e conclui-se
que seguiam um determinado padrão, ou seja, se repetiam a cada 6 ciclos.
O controle por freqüência não é muito utilizado comercialmente, visto que
pode queimar o motor em baixas freqüências, já que este sempre irá receber tensão
nominal, e também por ter o torque variante por toda faixa de freqüências, o que não
é interessante para a maioria das aplicações.
Devido ao fato constatado, o controle por freqüência foi abandonado e
decidiu-se implementar um controle V/F que pudesse variar a velocidade do motor
de 10 a 75Hz, porém com torque nominal para todas as velocidades suportadas,
para tanto foi utilizada a teoria sobre controle escalar V/F e como devem ser gerados
os pulsos de controle para que obtenha-se na etapa de potência, sobre as bobinas
do motor, um sinal de tensão PWM alternado.
Neste segundo projeto, o Controle SPWM, foi necessário um empenho muito
maior, visto que o projeto é microcontrolado, e para tanto foi necessário encontrar
um microcontrolador no mercado que tivesse as características necessárias para o
seu desenvolvimento, como portas PWM, memória suficiente para alojar as tabelas
de freqüências e velocidade suficiente para executar todas as rotinas sem perda de
precisão. Além disso, foi criado um software estruturado e específico para gerar os
sinais PWM de controle. Em paralelo com o desenvolvimento do software foi
projetado o hardware da etapa de controle.
Após reunião com um profissional da área de vendas em acionamentos
elétricos, verificou-se que antes de transformar este projeto em um produto, algumas
alterações
importantes
deveriam
ser
implementadas,
como:
inclusão
da
parametrização de velocidades e da rampa de aceleração.
Para que se pudesse parametrizar determinadas variáveis do programa,
deveria ser criada uma interface com o usuário. Esta interface poderia ser um
display, o qual apresentaria os valores a serem parametrizados, em conjunto com
40
alguns botões, ou poderia ser utilizado como interface, um microcomputador para
aquisição dos dados e envio ao microcontrolador através de comunicação serial.
Optou-se pelo segundo por facilidade de implementação tanto em hardware
quanto em software.
O microcontrolador escolhido, o 89C51AC2 da Atmel possui a facilidade de
conexão serial de fábrica e, através do CI MAX232, pode ser conectado à porta
serial de qualquer microcomputador. Através do “Terminal” do Windows pode-se
parametrizar 3 frequências distintas e consecutivas, cada uma destas freqüências
será disparada no momento do acionamento do respectivo botão. Um quarto botão
serve para parada total, pois zera todas as saídas e permanece desta forma até que
qualquer um dos outros 3 botões seja acionado novamente.
Pode-se também parametrizar um tempo para a rampa de aceleração de
partida e outro tempo para a rampa de mudança de velocidades, para os processos
que necessitem de várias velocidades de acionamento.
No mercado existem diversos microcontroladores de diversos fabricantes,
cada qual com suas características, facilidades e dificuldades, portanto, após uma
vasta pesquisa, decidiu-se escolher um microcontrolador que já possuísse
internamente 3 saídas PWM parametrizáveis, para que assim não fosse preciso
escrever funções específicas para a geração destes sinais em software.
41
4
4.1
ANÁLISE DOS DADOS
INTRODUÇÃO
Os motores de indução trifásicos com rotores gaiola de esquilo são os mais
utilizados universalmente tanto no ambiente industrial como em automação, pelo
simples fato de serem robustos, confiáveis e duráveis.
Quando fornecemos tensão nominal a um motor de indução, ele
conseqüentemente irá girar na velocidade e freqüência nominais, contudo várias
aplicações industriais necessitam da facilidade de variação de velocidade. Por
exemplo, uma bomba deve operar em diferentes velocidades, de acordo com a
vazão necessária em determinado momento do processo.
Antigamente, sistemas de engrenagem eram usados para se conseguir variar
a velocidade, porém, neste caso, as perdas eram muito grandes, pois o motor estava
sempre girando em freqüência nominal. Hoje, a eletrônica de potência e os sistemas
de controle modernos amadureceram o suficiente para permitir a total substituição
de todos os antigos sistemas de variação de velocidade.
A eletrônica não apenas controla a velocidade do motor, mas pode aumentar
as características dinâmicas e de estado estacionário do mesmo, além de reduzir a
potência média consumida e a geração de ruído.
O controle dos motores de indução é complexo devido a suas características
não lineares. A forma mais utilizada de controle de velocidade é sem dúvida a
variação simultânea de freqüência e tensão (V/F), o chamado controle escalar.
Este método é comumente utilizado em aplicações onde não é necessário
controle de posição e a precisão da velocidade do motor não é crítica.
42
4.2
PROJETO DE CONTROLE DE VELOCIDADE
4.2.1 Esquema universal de potência
Um diagrama genérico em malha aberta, para o controle de qualquer motor
CA de indução, é representado na figura 4.1. Para se controlar motores de altas
potências, necessita-se de elementos de potência da ponte H com características
que suportem as altas correntes a que serão submetidos.
Da mesma forma o retificador trifásico será extremamente solicitado, visto que
através dele irá circular toda a corrente de alimentação do motor + as perdas na
ponte H.
Ambos os blocos (Ponte H trifásica e Retificador trifásico) devem ser
projetados a partir de dados de placa do motor, como corrente, tensão e potência
nominais. A freqüência nominal não é crítica, visto que esta será a fundamental dos
PWMs aplicados sobre a bobina do estator, e a velocidade de chaveamento é
facilmente obtida com qualquer MOSFET, IGBT ou Transistor Bipolar comprado no
mercado.
O retificador trifásico contém 6 diodos de potência ligados em ponte, e a
tensão CC em sua saída será √2*Vff.
O capacitor em sua saída ajuda a minimizar a ondulação e torna o sinal CC
pulsante em um sinal CC contínuo.
O controle é a alma do inversor, ele tanto pode ser discreto quanto
microcontrolado, e para diversos controles microcontrolados, podem existir softwares
distintos capazes de otimizar determinadas características da fundamental.
Por exemplo, podemos ter para um mesmo hardware um software de controle
que gere uma saída em degrau, ou PWM de pulsos múltiplos, PWM Senoidal ou até
mesmo o complexo PWM Vetorial.
43
Figura 4.1 – Esquema universal de potência
O motor propriamente dito é conectado ao inversor conforme demonstrado na
figura 4.1. A etapa de potência é composta por 6 elementos que são controlados
pela etapa de controle para gerar os sinais CA a partir do CC do barramento.
Os sinais PWM gerados pelo microcontrolador, controlam estas 6 chaves. A
tensão de fase é determinada pelos duty-cycles de todos os pulsos componentes de
um ciclo do sinal PWM.
No máximo 3 dos 6 IGBTs estarão conduzindo simultaneamente.
Quando estes estão ligados, a corrente flui do barramento CC para as
bobinas de estator, devido ao fato do motor ser altamente indutivo, este mantém a
energia em suas bobinas na forma de corrente.
Parte desta corrente precisa ser devolvida à fonte de entrada quando as
chaves estão desligadas, por isso, os diodos em anti-paralelo com os elementos de
potência fornecem um caminho de retorno para a corrente armazenada nas bobinas
do motor.
Duas chaves do mesmo braço da ponte H nunca devem ser acionadas no
mesmo instante, sob pena de termos um curto do barramento CC à terra.
Para evitar este problema, um tempo morto é introduzido entre a abertura de
uma chave e o fechamento da outra por um elemento chamado Gate-Driver. A
introdução deste componente previne que as duas chaves estejam conduzindo entre
a mudança de estados.
44
O Gate-Driver acopla os sinais gerados pelo controle aos elementos de
potência. Serve para isolar as etapas de controle e de potência, além de criar um
tempo morto entre os sinais aplicados a dois IGBTs de um mesmo braço da ponte H,
sem o qual haveria curto-circuito fase-terra no instante em que um IGBT comutasse
e o seu complementar abrisse. Isso ocorre porque a mudança de estados não é
instantânea, isto é, pode levar alguns nanosegundos para que uma chave passe do
estado de condução para o estado de corte e vice-versa.
O controle por sua vez pode ser discreto ou microcontrolado. Na primeira
solução tem-se um controle engessado que não pode ser parametrizado, porém com
um microcontrolador tem-se o controle total do processo, tanto dos sinais gerados
como das interfaces com o usuário, ou seja, ganha-se infinitamente em flexiblidade.
45
4.3
PROJETO 1: CONTROLE POR FREQUÊNCIA A 120º
Segundo o capítulo 2.3.3, vê-se que através da variação da freqüência do
sinal aplicado ao estator de um motor trifásico, pode-se, com isso, variar a sua
velocidade.
Para que tal fato fosse constatado, criou-se um circuito simples, com controle
discreto e não microcontrolado, que pudesse reproduzir na prática a forma de onda
em degrau com condução por 120º, descrita por Rashid, conforme capítulo 2.4.2.
Inversores de freqüência antigos, da época dos relés eletromecânicos,
geravam esse tipo de saída para alimentar motores e cargas reativas. Por ser uma
carga reativa, aplicando esse tipo de sinal a um motor consegue-se que muitos
harmônicos sejam filtrados. O motor funciona como um filtro passa-baixa, deixando
apenas um certo ruído sobre a fundamental e alguns harmônicos de menor ordem.
O circuito ensaiado utiliza CIs TTL8 e é apresentado na figura 4.2.
Figura 4.2 – Esquemático do controle por frequência
8
TTL significa Transistor Transistor Logic, ou lógica a partir de transistores. São CIs que funcionam
com 5Vcc de alimentação e são compostos por transistores.
46
4.3.1 Funcionamento do circuito
Tem-se um clock, que é o padrão de tempo do circuito montado com portas
lógicas inversoras (74LS04), variando-se o potenciômentro de 10kΩ, variamos a
largura dos pulsos de clock e conseqüentemente a frequência do sinal trifásico de
saída. Esses pulsos são aplicados sobre um 74LS93, um contador binário. Para
cada pulso de clock que recebe, ele incrementa a saída binária, ou seja, antes do
primeiro pulso ele está com 000 de saída, no primeiro pulso a saída vai pra 001 e
assim por diante, conforme tabela 4.1.
Pulso de Clock
1
2
3
4
5
6
7
74LS93
Saída (D2,D1,D0)
000
001
010
011
100
101
110
111
Utilizados
X
X
X
X
X
X
NÃO UTILIZADO
NÃO UTILIZADO
Tabela 4.1 – Saídas do contador 74LS93.
FONTE: Datasheet do 74LS93.
Foram utilizados apenas 6 estados diferentes do contador, por isso uma porta
AND, ligada das saídas D2 e D1 ao pino 3 (reset) do 74LS93, reseta o contador, que
volta a 000 no 7o pulso de clock, quando a saída for pra 110. Essas saídas binárias
do contador são ligadas a dois multiplexadores, os 74LS138, que a partir de um
numero binário de entrada habilita cada uma das saídas, conforme tabela 4.2.
74LS138
Entrada (D2,D1,D0)
000
001
010
011
100
101
Tabela 4.2 – Saídas do 74LS138.
FONTE: Datasheet do 74LS138.
Saída (D7,D6,D5,D4,D3,D2,D1,D0)
11111110
11111101
11111011
11110111
11101111
11011111
47
Segundo a teoria de condução por 120º, os elementos ativos da etapa de
potência, sejam eles MOSFETs, IGBTs ou transistores, precisam receber os pulsos
de controle em sua base sempre de dois em dois, por isso foram utilizados dois MUX
(multiplexadores). Quando o segundo está com 0 em D0 o primeiro já está com 0 em
D1, e assim sucessivamente.
As tensões aplicadas à carga, composta de rês resistores em estrela, são
defasadas de 120o devido aos acionamentos das bases dos transistores serem
seqüenciais e de dois em dois. Como pode-se perceber na figura 4.7, quando foi
ligada uma carga capacitiva, vários harmônicos foram filtrados e o sinal se
assemelhou ainda mais a uma senóide. Se fosse ligado um trafo à etapa de
potência, o sinal em degrau sofreria a mesma filtragem.
Nas figuras 4.3 e 4.4 pode-se ver o circuito montado na bancada de ensaio.
Na figura 4.5 nota-se a semelhança do sinal gerado com a teoria.
A tensão no barramento CC utilizada foi de 15V, porém, qualquer tensão CC
neste barramento resultaria em amplitude proporcional do sinal de saída.
Figura 4.3 – Visão do circuito e da bancada de ensaio.
48
Figura 4.4 – Visão panorâmica do circuito ensaiado.
Figura 4.5 – Sinal gerado por 2 fases.
49
Figura 4.6 - Sinal de uma fase após filtro de 1ª ordem.
Tentou-se filtrar a saída com um filtro passa-baixa para que fosse obtida
somente a senoide fundamental, porém o sinal ficou distorcido e atenuado (figura
4.6).
O filtro utilizado era de 1ª ordem e foi calculado para a freqüência
fundamental de 60Hz, porém o sinal gerado em degrau possui diversos harmônicos
de pequena ordem, como o 3º o que dificulta bastante a filtragem.
Deve-se, portanto, analisar qual será a aplicação do sinal gerado e escolher
corretamente a estratégia de controle a ser utilizada.
Controles por condução a 120º são utilizados normalmente com motores de
altas potências que possuem velocidades nominais baixas sob tensão nominal, isto
é, sua função é converter a freqüência de 60Hz da rede para que se tenha um
controle simples e barato da velocidade deste tipo de motor.
50
4.4
PROJETO 2: CONTROLE V/F ATRAVÉS DO SPWM
Para a implementação do controle por “modulação de largura de pulsos
senoidal” ou simplesmente, controle escalar V/F através de SPWM, recai-se sobre
duas opções de controle:
•
Controle discreto;
•
Controle microcontrolado;
Tanto o retificador trifásico, quanto a Ponte H seguem sempre um mesmo
esquema para qualquer tipo de inversor.
O que diferencia um inversor de outro é em essência, a estratégia de controle.
Controles discretos, baseados em amplificadores operacionais comparando
sinais de referência a portadoras triangulares não são mais utilizados devido a sua
pouca flexibilidade e incapacidade de parametrização.
Os controles modernos são sempre baseados sobre um microcontrolador.
Para se desenvolver um controle escalar V/F em malha aberta, os cálculos
matemáticos não são tão complexos como no controle vetorial, visto que não é
necessário criar um modelo matemático da máquina a ser controlada dentro da
memória do microcontrolador, e não são necessárias compensações no sistema
através de realimentações de posição, velocidade, corrente ou tensão.
No mercado existem diversos fabricantes de microcontroladores com suporte
a PWM, porém foram pesquisados apenas dois, a Microchip e a Atmel.
Microchip
Os microcontroladores da família PIC18 possuem 2 saídas PWM prontas em
hardware e parametrizáveis via firmware, porém, para gerar a terceira saída PWM,
deve-se criar o código em Assembly. Qualquer aplicação com motores de indução
requer 3 saídas PWM. O código Assembly do terceiro PWM pode ser encontrado no
no site da microchip (www.microchip.com) porém esta solução foi descartada por ser
difícil de encontrar no Brasil microcontroladores PIC18.
51
Atmel
Os microcontroladores da família T89C51AC2 possuem 5 saídas PWM, 4
ports de 8 bits, 32k de memória FLASH e até 40MHz de clock, encapsulamento
PLCC44.
Pode ter o software reescrito “onboard”, via porta COM1 serial de qualquer micro
padrão PC, sem a necessidade de gravadores específicos. Na implementação do
controle V/F será visto como é feita a parametrização das freqüências geradas pelo
controle, sem a necessidade de se retirar o microcontrolador de seu soquete.
Este CI foi o escolhido para implementar o controle V/F a SPWM.
Dados técnicos deste componente encontram-se no Anexo A.
4.4.1 O Software
O desenvolvimento do Software foi feito em paralelo com o desenvolvimento
do Hardware, e por fim o módulo de controle de velocidade foi testado e os sinais
obtidos são mostrados na seqüência.
O software completo em linguagem C está no Apêndice B.
O software é a alma do controle, podendo ser diferente para um mesmo
hardware, ou seja, um mesmo módulo de controle, através de diferentes programas
gravados em sua memória pode fazer controles distintos no motor, pode aplicar
diferentes formatos e seqüências de pulsos, de acordo com a estratégia de controle
que se queira adotar, por isso, deve-se definir qual é a aplicação, o tipo de motor,
quantos pulsos por ciclo, a freqüência de sincronismo e outros dados relevantes
para que se possa escrever o código.
4.4.1.1 Aplicação
Segundo estudo da COELCE (Companhia elétrica do Ceará), 40% dos
motores em operação no Brasil são de baixa potência, de 0,5 a 10CV, portanto o
mercado que pode ser alcançado com um projeto para controle de velocidade de
baixo custo para esses motores é enorme. O controle utilizado para validar este
projeto é o mesmo utilizado para o controle de motores de maiores potências, porém
52
a diferença é que neste caso, são utilizadas etapas de potência com maiores
dimensões, devido às maiores correntes.
4.4.1.2 Tipo de Controle
O microcontrolador pode ser programado para gerar quaisquer dos padrões
de controle já apresentados no capítulo 2, porém cabe ressaltar que:
Controles de 120 e 180º são descartados por não suportarem controle V/F
única e exclusivamente via microcontrolador, sendo necessário um controle adicional
para se variar a tensão CC do barramento, a qual precisa variar em conjunto com a
freqüência, para então se conseguir um controle V/F. Fora a grande quantidade de
harmônicos gerados por este tipo de modulação.
Controle por pulsos múltiplos possui harmônicos de baixa ordem, sendo difícil
a sua filtragem, ocasionando perdas menores do que controles a 120 e 180º, porém
ainda significativas tanto na etapa de potência como no próprio motor.
O controle escolhido é o SPWM, por poder ser implementado em malha
aberta, ser universalmente difundido, ter perdas significativamente menores que o
controle por pulsos múltiplos e ser extremamente mais simples de implementar do
que o controle vetorial.
4.4.1.3 Compilador
O código foi escrito na linguagem C e compilado no compilador freeware da
própria Atmel, o qual foi obtido do endereço http://www.atmel.com
Após compilado, o software é transferido via compilador para o 89C51AC2
através da saída serial COM1 do computador. O Jumper JP1 na placa de controle
deve estar conectado para permitir a gravação do software.
Esta mesma saída serial do computador se comunica com o microcontrolador
para enviar as parametrizações recolhidas via Terminal e apresentar dados
referentes ao Status (situação) do mesmo.
53
4.4.1.4 Timer0
O 89C51AC2 possui um temporizador chamado de Timer0, o qual é um
registro que pode receber qualquer valor entre 0 e 255 e, a partir deste valor, gerar
uma interrupção toda vez que chegar ao fim de sua contagem.
No momento em que esta interrupção é gerada, o programa desvia de seu
laço principal e passa a executar as funções da subrotina do Timer0. Uma vez que
esta rotina chegue ao final, o programa retorna ao laço principal exatamente da linha
onde parou.
Cada valor carregado neste registro irá fornecer um tempo de interrupção
diferente, porém, é interessante que na freqüência nominal de 60Hz, o número de
pulsos seja exato, ou seja, a freqüência de sincronismo precisa ser múltipla de 60.
Valores menores no Timer0 resultam em maiores freqüências de sincronismo
e da mesma forma, maiores valores no Timer0 resultam em menores freqüências.
Foi escolhido o valor de 254 para o estouro do Timer0, o que resulta na
freqüência de sincronismo de 1,8kHZ, ou 0,56ms de intervalo entre uma interrupção
e outra. Segundo o capítulo 2.4.3.3, a modulação SPWM elimina todos os
harmônicos abaixo do harmônico de número 2p-1, que equivale ao 2*1800/60 – 1 =
59º harmônico. Os harmônicos de ordem maior do que o 59º são de alta freqüência
e serão eliminados nas próprias bobinas do motor.
Além disso, escolheu-se este valor pelo fato de ter-se um valor inteiro de
interrupções na freqüência nominal, ou seja:
P=Numero de Pulsos na freq. nominal = 1800Hz/60Hz = 30 pulsos.
Para valores menores do que 254 no Timer0, tem-se freqüência maiores de
sincronismo, porém, para se obter um número inteiro de pulsos por ciclo na
freqüência nominal deve-se utilizar um valor múltiplo de 1,8kHz. Por exemplo, para o
valor de 127 carregado ao Timer0, teremos uma portadora de 3,6kHz e assim por
diante. Entre outras coisas, a cada estouro do Timer0, que ocorre a cada 0,56ms, o
Duty-Cycle dos 3 PWMs é alterado, de acordo com a tabela de frequências que está
sendo utilizada naquele instante.
54
4.4.1.5 Saídas PWM
O 89C51AC2 possui 5 saídas PWM no Port 1.0 de 8bits, das quais iremos
utilizar apenas 3.
Cada uma destas três saídas são registros de 8bits e, assim como o Timer0,
podem receber valores de 0 a 255. Estes 256 valores correspondem a 0 e 100% de
duty-cycle respectivamente, ou seja, se colocarmos 127 no registro PWM_A a cada
interrupção do timer0, teremos na saída um sinal quadrado, na freqüência de 1,8kHz
com o mesmo tempo de alto e baixo, ou seja 0,56ms/2 de tempo alto e 0,56ms/2 de
tempo baixo.
A cada interrupção gerada pelo Timer0, uma nova linha da tabela de
freqüência, que está sendo utilizada no momento, é escrita nos registros PWM.
Cada uma dessas linhas permanece nos registros PWM pelo tempo de
0,56ms e dizem respeito a ângulos diferentes dentro do ciclo, de acordo com a
tabela de freqüência que está sendo utilizada. Para a freqüência de 10Hz, teremos
180 pulsos de 0,56ms cada. Se dividirmos 360º/180 encontra-se 2º para cada pulso.
Tem-se 180 valores diferentes de seno, e dos correspondentes duty-cycles, para
esta freqüência. Senos de ângulos muito próximos são quase iguais e as primeiras
casas decimais se repetem, resultando em repetição dos duty-cycles relacionados.
4.4.1.6 Tabelas de Freqüências
O 89C51AC2 possui a função de cálculo de senos, porém como deve ser feito
um cálculo de seno a cada 0,56ms para cada uma das fases, o tempo de
processamento seria muito grande. Optou-se por pré-calcular as tabelas a serem
utilizadas, já que sempre serão as mesmas, disponibilizá-las na memória e capturar
apenas os valores que estiverem sendo requeridos.
Como optou-se pelo controle V/F a SPWM, a freqüência deve ser variada na
mesma proporção que a tensão, para assim obter-se fluxo nominal e conseqüente
torque nominal no eixo do motor.
55
Já que a tensão nominal utilizada será 220V eficaz, e a freqüência nominal é
60Hz, chega-se na seguinte constante V/F:
K(V/F) = 220/60 = 3,67
Para satisfazer esta constante, nota-se que devemos aplicar sobre as bobinas
de estator 3 fases iguais, defasadas de 120º , com 220V e 60Hz.
Como em 60Hz a tensão a ser aplicada é igual a nominal, deve-se aplicar ao
registro PWM da fase A, o valor de 255, correspondente a 100% de duty-cycle em
90º, exatamente no pico da senóide. Da mesma forma, para 270º, o valor do registro
deve ser 0, ou 0% de duty-cycle. Assim, tem-se variação nominal de valores de seno
para todos os 30 pulsos do ciclo na freqüência nominal de 60Hz.
Acima desta freqüência (60Hz), o único parâmetro possível de ser alterado é
o número de pulsos por ciclo, que irá diminuir conforme a freqüência aumentar,
porém os duty-cycles não podem ser incrementados além dos 100%9 o que irá
causar perda de torque ao quadrado da variação de freqüência no motor, conforme
teoria de controle V/F do capítulo 2.3.4.
Devido à perda de torque acima de 60Hz, foi fixada a freqüência máxima de
operação em 75Hz.
Abaixo de 60Hz, os valores dos duty-cycles precisam ser proporcionais à
constante k(V/F)=3,67, conforme tabela 4.3.
F(Hz)
Tensão de pico eficaz
duty-cycle em 90º
duty-cycle em 270º
10
36,66666667
58,3%
41,7%
20
73,33333333
66,6%
33,4%
30
110
75%
25%
40
146,6666667
83,3%
16,7%
50
183,3333333
91,6%
8,4%
60-75
220
100%
0%
Tabela 4.3 – Duty-cycles de pico.
9
Não é possível aplicar ao motor um valor de tensão maior do que o disponível na rede.
56
Os duty-cycles em 90º foram calculados através da fórmula:
Duty-cycle 90 (f) = (f * 0,5 / 60) + 0,5
(4.1)
Os duty-cycles em 270º são os complementares de 90º, e foram calculados
através da fórmula:
Duty-cycle 270 (f) = 1 - Duty-cycle 90 (f)
(4.2)
Sendo: f a freqüência a ser gerada.
Note que 50% de duty-cycle irá resultar em 0V sobre as bobinas do motor, ou
seja, este valor de duty-cycle é utilizado como referência de tensão, valores de 50%
a 100% de duty-cycle na saída do controle irão resultar sobre as bobinas do motor
em pulsos positivos, e valores de 0 a 50% irão resultar em valores negativos nas
bobinas após serem aplicados sobre a etapa de potência.
As variações entre o maior duty-cycle (em 90º) e o menor (em 270º) vão
aumentando proporcionalmente à freqüência da fundamental, visto que para
mantermos a constante V/F, há a necessidade da aplicação de maiores tensões nas
bobinas. Os sinais de controle apresentados são proporcionais aos valores reais
gerados na saída da etapa de potência.
Nas fórmulas de cálculos de duty-cycles não são requeridos valores de
tensão porque sabe-se que, com 100% e 0% de duty-cycle obtem-se tensão nominal
positiva e negativa respectivamente, na saída da etapa de potência, e estes valores
devem ser utilizados nas tabelas de duty-cycles para as freqüências entre 60Hz e
75Hz, incluindo estas.
Devido ao fato dos registros PWM serem de 8 bits, temos a capacidade de
carregá-los com apenas 255 valores possíveis para os duty-cycles, porém para
freqüências próximas, como por exemplo 59 e 60Hz, esta precisão não é o suficiente
para serem obtidos valores distintos, ou seja, temos diversas tabelas com os
mesmos valores para freqüências subseqüentes com o mesmo número de pulsos.
Para freqüências pequenas a variação é menor ainda, por exemplo, para
10Hz temos 90 pulsos por semiciclo, visto que 1800/10 = 180pulsos por ciclo,
57
conforme tabela 4.3, chegamos ao valor de 58,3% de duty-cycle para o pico da
senóide, ou seja, 8,3% acima do valor nulo, conforme teoria de PWM. Este valor de
8,3% deverá ser dividido entre todos os 90 pulsos do semiciclo, seguindo uma
proporção senoidal, o que irá resultar em diversos valores de PWM repetidos, visto
que a precisão é de apenas 255 valores.
Tendo o valor de pico da senóide definido, pode-se criar a tabela completa da
freqüência em questão, com valores os dos senos e dos duty-cycles de todos os
ângulos possíveis para as três fases, como exemplo serão demonstrados os
cálculos para duas freqüências, 30 Hz e 60Hz. Note que na memória do
microcontrolador estão gravadas todas as tabelas entre 10 e 75Hz com precisão de
1Hz.
Os valores binários de 8bits para os PWMs das três fases foram calculados
por regra de três, visto que 255 equivale ao valor 1 ou 100%, e 0 a 0%, assim o valor
calculado na coluna de seno vai resultar num valor proporcional de duty-cycle.
58
Freqüência: 60Hz
Pulsos por ciclo: 1800/60 = 30 pulsos
Intervalos entre ângulos: 360/30 = 12º
Valor de pico da senóide: 0,5
Deslocamento no eixo y: 0,5
Ângulo 0,5+0,5*sen(f)
PWM_A
0,5+0,5*sen(f+120)
PWM_B 0,5+0,5*sen(f+240)
PWM_C
0
0,5
127
0,933012702
237
0,066987298
17
12
0,603955845
154
0,871572413
222
0,024471742
6
24
0,703368322
179
0,793892626
202
0,002739052
0
36
0,793892626
202
0,703368322
179
0,002739052
0
48
0,871572413
222
0,603955845
154
0,024471742
6
60
0,933012702
237
0,5
127
0,066987298
17
72
0,975528258
248
0,396044155
100
0,128427587
32
84
0,997260948
254
0,296631678
75
0,206107374
52
96
0,997260948
254
0,206107374
52
0,296631678
75
108
0,975528258
248
0,128427587
32
0,396044155
100
120
0,933012702
237
0,066987298
17
0,5
127
132
0,871572413
222
0,024471742
6
0,603955845
154
144
0,793892626
202
0,002739052
0
0,703368322
179
156
0,703368322
179
0,002739052
0
0,793892626
202
168
0,603955845
154
0,024471742
6
0,871572413
222
180
0,5
127
0,066987298
17
0,933012702
237
192
0,396044155
100
0,128427587
32
0,975528258
248
204
0,296631678
75
0,206107374
52
0,997260948
254
216
0,206107374
52
0,296631678
75
0,997260948
254
228
0,128427587
32
0,396044155
100
0,975528258
248
240
0,066987298
17
0,5
127
0,933012702
237
252
0,024471742
6
0,603955845
154
0,871572413
222
264
0,002739052
0
0,703368322
179
0,793892626
202
276
0,002739052
0
0,793892626
202
0,703368322
179
288
0,024471742
6
0,871572413
222
0,603955845
154
300
0,066987298
17
0,933012702
237
0,5
127
312
0,128427587
32
0,975528258
248
0,396044155
100
324
0,206107374
52
0,997260948
254
0,296631678
75
336
0,296631678
75
0,997260948
254
0,206107374
52
348
0,396044155
100
0,975528258
248
0,128427587
32
360
0,5
127
0,933012702
237
0,066987298
17
Tabela 4.4 – Tabela dos registros PWM para 60Hz.
59
Freqüência: 30Hz
Pulsos por ciclo: 1800/30 = 60 pulsos
Intervalos entre ângulos: 360/30 = 6º
Valor de pico da senóide: 0,25
Deslocamento no eixo y: 0,5
0
6
12
18
24
30
36
42
48
54
60
66
72
78
84
90
96
102
108
114
120
126
132
138
144
150
156
162
168
174
180
186
192
198
204
210
216
222
228
234
240
246
252
258
264
270
276
282
0,5+0,25*sen(f) PWM_A
0,5+0,25*sem(f+120) PWM_B 0,5+0,25*sen(f+240)
PWM_C
0,5
127
0,716506351
182
0,283493649
72
0,526132116
134
0,702254249
179
0,271613636
69
0,551977923
140
0,685786206
174
0,262235871
66
0,577254249
147
0,667282652
170
0,2554631
65
0,601684161
153
0,646946313
164
0,251369526
64
0,625
159
0,625
159
0,25
63
0,646946313
164
0,601684161
153
0,251369526
64
0,667282652
170
0,577254249
147
0,2554631
65
0,685786206
174
0,551977923
140
0,262235871
66
0,702254249
179
0,526132116
134
0,271613636
69
0,716506351
182
0,5
127
0,283493649
72
0,728386364
185
0,473867884
120
0,297745751
75
0,737764129
188
0,448022077
114
0,314213794
80
0,7445369
189
0,422745751
107
0,332717348
84
0,748630474
190
0,398315839
101
0,353053687
90
0,75
191
0,375
95
0,375
95
0,748630474
190
0,353053687
90
0,398315839
101
0,7445369
189
0,332717348
84
0,422745751
107
0,737764129
188
0,314213794
80
0,448022077
114
0,728386364
185
0,297745751
75
0,473867884
120
0,716506351
182
0,283493649
72
0,5
127
0,702254249
179
0,271613636
69
0,526132116
134
0,685786206
174
0,262235871
66
0,551977923
140
0,667282652
170
0,2554631
65
0,577254249
147
0,646946313
164
0,251369526
64
0,601684161
153
0,625
159
0,25
63
0,625
159
0,601684161
153
0,251369526
64
0,646946313
164
0,577254249
147
0,2554631
65
0,667282652
170
0,551977923
140
0,262235871
66
0,685786206
174
0,526132116
134
0,271613636
69
0,702254249
179
0,5
127
0,283493649
72
0,716506351
182
0,473867884
120
0,297745751
75
0,728386364
185
0,448022077
114
0,314213794
80
0,737764129
188
0,422745751
107
0,332717348
84
0,7445369
189
0,398315839
101
0,353053687
90
0,748630474
190
0,375
95
0,375
95
0,75
191
0,353053687
90
0,398315839
101
0,748630474
190
0,332717348
84
0,422745751
107
0,7445369
189
0,314213794
80
0,448022077
114
0,737764129
188
0,297745751
75
0,473867884
120
0,728386364
185
0,283493649
72
0,5
127
0,716506351
182
0,271613636
69
0,526132116
134
0,702254249
179
0,262235871
66
0,551977923
140
0,685786206
174
0,2554631
65
0,577254249
147
0,667282652
170
0,251369526
64
0,601684161
153
0,646946313
164
0,25
63
0,625
159
0,625
159
0,251369526
64
0,646946313
164
0,601684161
153
0,2554631
65
0,667282652
170
0,577254249
147
60
288
294
300
306
312
318
324
330
336
342
348
354
360
0,262235871
0,271613636
0,283493649
0,297745751
0,314213794
0,332717348
0,353053687
0,375
0,398315839
0,422745751
0,448022077
0,473867884
0,5
66
69
72
75
80
84
90
95
101
107
114
120
127
0,685786206
0,702254249
0,716506351
0,728386364
0,737764129
0,7445369
0,748630474
0,75
0,748630474
0,7445369
0,737764129
0,728386364
0,716506351
174
179
182
185
188
189
190
191
190
189
188
185
182
0,551977923
0,526132116
0,5
0,473867884
0,448022077
0,422745751
0,398315839
0,375
0,353053687
0,332717348
0,314213794
0,297745751
0,283493649
140
134
127
120
114
107
101
95
90
84
80
75
72
Tabela 4.5 – Tabela dos registros PWM para 30Hz.
Com estes dados plotou-se o gráfico 4.7, que demonstra como é a variação
dos valores das tabelas de 30 e 60Hz com relação aos ângulos utilizados por cada
uma.
Valores do registro PWM_A
300
254
250
191
Valores 8 bits (0-255)
200
30Hz
60Hz
150
127
127
100
50
360
348
336
324
312
300
288
276
264
252
240
228
216
204
192
180
168
156
144
132
120
96
108
84
72
60
48
36
24
0
12
0
Ângulos
Figura 4.7 – Valores da fase A, para as tabelas de 30 e 60Hz
Nota-se, nesta simulação, que variando-se a freqüência em 2 vezes, de 30
para 60Hz, o valor máximo da amplitude de pico também varia 2 vezes, indo de 191
a 255, para que assim o valor da constante k(V/F) seja mantido.
Devido a freqüência de referência (portadora) ser 1,8kHz, nota-se que os
61
pontos das duas curvas estão espaçados de 0,56ms, que é o tempo para ocorrer o
estouro do Timer0 e ser gerada uma nova interrupção.
O sinal de 30Hz possui mais pontos no gráfico devido à razão
1800/30=60pulsos por ciclo ser maior do que a razão 1800/60=30pulsos por ciclo.
6
5
4
PWM_A
fundamental
3
PWM_B
PWM_C
2
1
360
348
336
324
312
300
288
276
264
252
240
228
216
204
192
180
168
156
144
132
120
96
108
84
72
60
48
36
24
0
12
0
Figura 4.8 - Simulação das 3 fases em 60Hz. 30 pulsos por ciclo.
Na figura 4.8 visualiza-se a simulação das três fases que serão geradas pelo
microcontrolador de acordo com a estratégia de controle SPWM.
Na figura 4.9 visualiza-se a simulação da tensão entre as fases A e B na
carga, no caso o motor.
Comparando estas duas simulações com a teoria demonstrada na figura
2.4.3.3, percebe-se a enorme semelhança entre elas, ou seja, conclui-se que a partir
dos dados gerados o sistema de controle pode ser implementado e testado.
62
1,5
1
0,5
0
Tensão Vab
0
50
100
150
200
250
300
350
-0,5
-1
-1,5
Figura 4.9 – Simulação da tensão entre as fases A e B do motor.
4.4.1.7 Funcionamento do software
Figura 4.10 – Fluxograma do laço principal.
400
63
Conforme figura 4.10, o programa possui uma rotina principal (main), que
verifica quando qualquer um dos quatro botões for pressionado e em caso afirmativo
coloca na matriz de freqüência qual a tabela que deve ser carregada naquele
instante pelos registros PWM. Note que cada uma das linhas da tabela em questão
só será gravada nos registros PWM uma por vez, a cada interrupção gerada pelo
Timer0.
O laço principal também lê o pino P2.5, que se estiver em nível baixo
enquanto o software estiver sendo resetado, causa a entrada no modo de
configuração, onde pode-se setar 3 freqüências consecutivas, as quais serão
disparadas através dos botões ligados aos pinos P2.1, P2.2, P2.3. Estes disparos
ocorrem em nível baixo através do pressionamento dos botões.
Estes valores de parametrização são feitos via computador na tela de
Terminal, a qual se encarrega de estabelecer uma conexão serial com o 89C51AC,
através do acoplamento via MAX232.
Um quarto botão, ligado a P2.0 zera todas as saídas, este é o botão de
parada.
Além disso, pode-se setar também a rampa de aceleração em segundos
(limitado a 100s) para a partida e para mudança de velocidade. Para os casos onde
o motor parte através do botão1, mas durante o processo é necessário que a
velocidade seja alterada para uma segunda, ou até uma terceira freqüência.
Resumindo, se o motor estiver parado e qualquer um dos 3 botões for
acionado, ele irá demorar ∆t1 segundos para chegar à velocidade setada para o
botão pressionado.
Após estar em velocidade de regime, se qualquer um dos outros 2 botões
remanescentes for pressionado, o motor irá levar ∆t2 segundos para mudar de
velocidade. Conforme figura 4.12.
64
Figura 4.11 – Fluxograma da subrotina do Timer0.
Frequência (Hz)
f3
f2
f1
10
∆t1
∆t2
∆t2
Tempo (s)
Figura 4.12 – Curva das rampas de aceleração.
Uma vez que o motor estiver parado e um dos botões for pressionado, o valor
da freqüência setada para este botão no modo de configuração, é inicialmente
comparado com a freqüência atual em uso, conforme fluxograma da subrotina
Timer0 na figura 4.11, se forem diferentes o programa faz a seguinte conta:
65
∆t1
Tempo entre troca de tabelas =
freq. Final – 10Hz
Este é o tempo que irá levar para o programa mudar a tabela de freqüência
em uso, sendo que após o tempo ∆t1 o motor estará girando na velocidade do botão
pressionado, conforme figura 4.12. O valor de 10Hz é o valor de partida, a menor
freqüência gerada pelo programa.
A cada mudança de tabela o programa envia para a porta serial, e apresenta
na tela do computador, qual é a tabela em uso naquele instante.
Se após isso for pressionado um segundo botão, o programa irá verificar se
as freqüências inicial e final são diferentes e então irá calcular:
∆t2
Tempo entre troca de tabelas =
freq. Final – freq.inicial
Funciona da mesma forma que na partida, porém, dessa vez a freqüência
inicial é uma variável.
Durante o restante do tempo o programa continua carregando um novo valor
da tabela de freqüência em uso nos registros PWM a cada interrupção do Timer0.
A partir do CI MAX 232, o microcontrolador 89C51AC2 pode se comunicar via
porta serial com o programa Terminal, disponível em qualquer PC rodando Windows.
Na tela de terminal, o programa do microcontrolador constantemente informa
qual o Status das saídas, qual freqüência está sendo gerada, qual botão foi
pressionado e dentro da tela de configuração, quais os valores setados e gravados
para as 3 frequências e as 2 rampas de aceleração.
4.4.2 Hardware
O hardware foi dividido em módulos, o de controle e o de potência. A idéia foi
dividir o projeto em dois módulos e conectá-los via “data-cable” para que o sistema
se tornasse escalonável, isto é, pudesse controlar motores de maiores potências a
66
partir do mesmo módulo de controle bastando para isso alterar o módulo de
potência. Conforme figura 4.13.
Rede 3f
Computador
Modulo de
Potência
Modulo de
Controle
M
3f
Botões
Botão de Configuração
Figura 4.13 – Estrutura modular do projeto.
O módulo de controle foi implementado e os resultados experimentais obtidos
nas saídas PWM e nas telas do Terminal podem ser conferidos na seqüência.
O módulo de potência não foi implementado, porém a partir do módulo de
controle, este trabalho pode ser continuado por outra equipe de projeto final que
queira desenvolver aplicações para o acionamento de máquinas.
4.4.2.1 O “Gate-Driver”
Para que se possa operar os MOSFETs como chaveadores de potência, uma
apropriada tensão de porta tem de ser aplicada para excitá-los de modo a levá-los à
saturação e a uma pequena queda de tensão em estado de condução, além disso é
interessante que pouca corrente seja drenada pela Porta e que a troca de estados
seja extremamente rápida10.
10
MOSFETs são elementos ativos de potência que saturam a partir de tensão aplicada ao Gate.
67
O circuito de controle gera 3 sinais PWM defasados de 120º nas portas P1.5,
P1.6 e P1.7 do microcontrolador, os quais não podem ser aplicados diretamente
sobre os elementos de potência, sendo necessário um acoplamento entre a saída do
microcontrolador e a Porta (Gate) destas.
A referência para estes pulsos de controle é o GND, que deve ser interligado
ao GND da placa de potência e como pode-se perceber na figura 4.14, não há
queda de tensão suficiente entre os Gates das chaves superiores e o GND.
Ao contrário das chaves superiores, as inferiores se encontram em posição
relativa ao GND que disponibiliza queda de tensão entre este e a Porta (Gate).
Os pulsos de controle das chaves superioras deve ser referenciado ao pino
Fonte, porém, devido às altas tensões nestes terminais, é necessário que exista
algum isolamento galvânico e lógico entre as etapas de controle e potência.
Outro problema que pode ocorrer em uma ponte H é a troca de estados
simultânea entre duas chaves do mesmo braço11, que pode vir a causar curto entre o
barramento CC e o GND.
Isto ocorre porque as trocas de estados não ocorrem instantaneamente, na
prática levam alguns nanosegundos para que mudem totalmente. Sem os gatedrivers pode acontecer de uma “chave” estar abrindo ao mesmo tempo em que a
sua complementar está fechando, o que pode causar um curto.
Através dos gate-drivers garante-se que a “chave” já mudou de estado para
então ser acionada a sua complementar.
Para evitar este problema, deve-se incluir um tempo morto entre as trocas de
estado, ou seja, quando uma chave troca de estado, um elemento externo introduz
alguns nanosegundos de tempo morto até que a sua complementar (a chave
inferior) troque também de estado.
O elemento que introduz os tempos mortos entre duas chaves do mesmo
braço e, além disso, fornece isolamento entre as etapas de potência e a de controle,
é chamado de Gate-Driver, justamente por ser ligado aos Gates dos elementos de
potência. Além disso, o Gate-Driver referencia o pino Fonte das chaves superiores
para receberem os pulsos de controle com a tensão correta.
11
Os pulsos de controle das chaves inferiores são complementares aos das superiores, isto é,
quando um vai a nível alto, o outro vai a nível baixo.
68
Figura 4.14 - Esquema para a placa de potência.
O componente utilizado no projeto foi o IR2111 da International Rectifier, que
é um Gate-Driver de meia-ponte, isto é, ele recebe os pulsos de controle vindos do
microcontrolador no pino IN e gera dois outros o LO e o HO, já com os devidos
tempos mortos, na tensão de alimentação de 15V, necessária para o chaveamento
dos elementos da Ponte H. O LO é aplicado à chave inferior e o HO à superior do
mesmo braço. O pino VS fornece referência para o pino HO poder saturar as chaves
superiores. O GND é a referência de tensão de alimentação que por sua vez é
interligada ao GND do controle e da placa de potência. Cada IR2111 é resposável
por uma fase do circuito, por isso foram utilizadas três peças para que fossem
gerados 6 sinais de controle a partir dos 3 vindos do microcontrolados 89C51AC2.
Maiores detalhes sobre o Gate-Driver e sua pinagem podem ser encontrados no
Anexo A.
Os 3 Gate-Drivers se encontram na placa de controle, e seus sinais são
obtidos no conector CON4, conforme esquema na figura 4.15.
69
4.4.2.2 Módulo de Controle
O módulo de controle é baseado no funcionamento do microcontrolador
89C51AC2, sendo que o restante dos componentes são apenas interfaces deste
com os periféricos externos.
As face superior e inferior da placa montada estão no Apêndice A.
No esquemático na figura 4.15, percebe-se que o cristal X1 de 11,0592MHz
que em conjunto com os dois capacitores de 22pF, fornecem a base de tempo ao
microcontrolador via pinos XTAL1 e XTAL2.
O microcontrolador pode funcionar à freqüência de até 40MHz, porém, como
o módulo irá se comunicar serialmente com o computador, a velocidade de
transmissão e recepção de dados deve ser múltiplo da velocidade de funcionamento
da porta serial COM1 do computador, ou seja, deve haver sincronismo. Por isso, a
freqüência utilizada é de apenas 11,0592MHz, que é proporcional à base de tempo
utilizada pela COM1 neste projeto, 57600bps.
A chave S2 reseta o microcontrolador, reiniciando o software e zerando todas
as saídas. Apenas neste instante de reset pode-se entrar no modo de configuração,
após qualquer um dos botões ter sido pressionado este modo é bloqueado.
O capacitor C14 está ligado em paralelo com a chave de reset para segurar a
tensão no pino de reset por pelo menos 30ciclos de máquina, o que na verdade é
apenas uma segurança para garantir o evento de reset, visto que a freqüência de
amostragem é alta.
O jumper JP1 deve ser conectado para habilitar a gravação da memória
FLASH, e com isso, poder-se reescrever o software por uma nova versão. O LED1 é
apenas um indicativo de funcionamento, e está setado para piscar na freqüência de
1Hz ou 1 piscada a cada segundo.
O MAX232 é o CI que faz o acoplamento dos dados seriais que são enviados
pelo microcontrolador ao computador e deste para a memória do microcontrolador.
Os valores dos capacitores utilizados foram obtidos no datasheet do CI, conforme
Anexo A.
O CON1 é um DB9 macho em 90º, utilizado para montagem na borda de
placas de circuito impresso. Nele é ligada uma das extremidas de um cabo
composto por dois conectores DB9 fêmeos, e a outra extremidade deste cabo é
70
ligada à COM1 do computador.
O conector CON2 fornece os pinos onde devem ser ligados os 3 botões de
acionamento P2.1, P2.2, P2.3, o botão de parada P2.0 e o botão de configuração o
P2.5.
O CON3 não é utilizado nesta versão do projeto, porém prevê 5 entradas D/A,
digital-analógica, para leitura de dados do motor e da etapa de potência como
corrente, tensão, velocidade e posição. Os pinos Vcc, Varef e GND são utilizados
pelas D/As como referências de tensão. O pino 2.7 apresenta o sinal de sincronismo
de 1,8kHz, sobre o qual ocorre o estouro do Timer0, conforme capítulo 4.4.1.4.
Este conector pode ser utilizado para se criar, a partir deste controle em
malha aberta, outro em malha fechada, aumentando assim a precisão do controle e
do rendimento do motor.
Nota-se também que um port inteiro de 8bits, o port P0, não foi utilizado,
porém, caso abandone-se o computador, este pode ser utilizado por um display de
cristal líquido de diversas linhas para apresentar os dados de parametrização.
O IC2, IC4 e IC5 são os Gate-Drivers IR2111, os responsáveis pela geração
dos 6 pulsos de controle de 15V (LO e VO) a partir do sinal de controle de 5V (P1.5,
P1.6 e P1.7), além da geração do tempo-morto e do isolamento entre etapa de
controle e potência. Para o controle das chaves superiores deve-se utilizar o pino VS
para se referenciar a tensão de controle destes ao pino Fonte.
O conector CON4 fornece todos os 6 sinais PWM de controle, juntamente
com as referências de Fonte VS e o GND. A placa montada pode ser vista nas
figuras 4.16, 4.17 e 4.18.
71
Figura 4.15 – Esquemático do módulo de controle.
72
Figura 4.16 – Face superior da placa de controle.
Figura 4.17 – Vista panorâmica da placa de controle.
Figura 4.18 – Face inferior da placa de controle.
73
4.4.2.3 Custos do protótipo
Resistores 1/2W
Capacitores 25V
89C51AC2
IR2111
MAX232
Placa
Botões
Outros
Software
Qtde
10
15
1
3
1
1
5
1
1
Custo unitário (R$)
0,05
0,10
40,00
9,50
3,50
10,00
2,00
20,00
0,00
TOTAL
Total (R$)
0,50
1,50
40,00
28,50
3,50
10,00
10,00
20,00
0,00
R$114,00
Tabela 4.6 – Custos do protótipo.
A tabela 4.6 mostra os custos brutos do protótipo apresentado neste trabalho
a partir de peças encontradas em Curitiba na R. 24 de maio, porém, para produção
em série, os componentes podem ser importados em lotes SMD (Surface Mounted
Device), o que irá baratear o custo de produção em pelo menos 50%.
74
4.4.3 Resultados Experimentais
Uma vez montados os módulos, partiu-se para a verificação dos sinais
gerados, assim como das freqüências obtidas.
O protótipo foi alimentado por 5Vcc, regulado por um LM7805.
Testou-se inicialmente o modo de configuração do programa, para isso o pino
P2.5 precisava estar em nível baixo na inicialização do software. Apenas neste
momento, quando não há sinal de saída, o controle está habilitado a ser
configurado.
O teste da comunicação serial com o computador teve sucesso, pode-se
entrar no modo de configuração e setar freqüências para 3 velocidades e duas
rampas, uma de partida e outra para a troca de velocidades. Conforme tela
capturada do computador na figura 4.19.
Figura 4.19 – Modo de configuração no Terminal.
75
Figura 4.20 – Programa esperando botões serem pressionados.
Após a parametrização, o programa limpa a tela e fica em espera, e indica
isto na tela do computador, aguardando que qualquer um dos três botões seja
pressionado, conforme figura 4.20.
Quando isto ocorre, o programa verifica se o estado atual do motor é parado,
em caso afirmativo faz a partida do motor através do incremento das tabelas de
freqüência, desde a velocidade mínima 10Hz, até a velocidade setada para o botão
pressionado no modo de configuração (figura 4.19), conforme figura 4.21.
76
Figura 4.21 – Troca de tabelas na partida.
Note na figura 4.21 que todas as tabelas, com variação de 1Hz, foram
carregadas nos regsitros PWM, durante os 30 segundos da partida, conforme valor
setado para ∆t1 na figura 4.20. O tempo que o programa irá levar para trocar de uma
tabela para outra é função do tempo setado para ∆t1 pela freqüência final.
Na troca de velocidades, quando qualquer um dos outros dois botões são
pressionados, a lógica é a mesma, há uma velocidade inicial diferente de zero, e
uma velocidade final. O tempo que o programa irá levar para trocar de uma tabela
para outra vai depender do valor setado para ∆t2 pela freqüência final.
No momento da partida, a freqüência e a tensão são baixas, logo, os valores
dos duty-cycles dos pulsos são muito próximos e o número de pulsos por ciclo é
muito grande, à medida que as tabelas vão sendo trocadas, a freqüência aumenta, o
número de pulsos por ciclo diminui e os duty-cycles começam a se diferenciar.
Na figura 4.22, tem-se duas fases durante a partida, nota-se que os pulsos
possuem quase a mesma largura durante o período amostrado. O tempo indicado
pelo ∆, de 550µs é referente ao tempo de cada interrupção do Timer0, ou o tempo
entre dois términos de pulso.
77
Figura 4.22 – Freqüência de 20Hz e tempo do Timer0.
Na figura 4.23 a troca de tabelas já chegou ao fim e a saída estabilizou na
freqüência setada para o botão 2, no caso 40Hz.
O número de pulsos num ciclo pode ser contado entre os marcadores
verticais como 46, o que é validado pelo cálculo 1800Hz/40Hz = 45 pulsos por ciclo.
O tempo de 12,6ms é equivalente a um semiciclo, ou 25,2ms por ciclo, o que resulta
em 39,68Hz.
Nota-se que o valor de pico para esta freqüência não é 100% de duty-cycle,
devido ao fato de termos tempos com nível zero em torno dos 90º. Da mesma forma
o duty-cycle para 270º, o menor valor negativo, também não chega totalmente a 0%,
por possuir pulsos estreitos em torno deste ângulo.
78
Figura 4.23 – Saídas P1.5 e P1.6 do 89C51AC2 a 40Hz.
Figura 4.24 – Saídas P1.5 e P1.6 do 89C51AC2 a 60Hz.
79
Da mesma forma que em 40Hz, na figura 4.24 vê-se os sinais de duas fases
na freqüência de 60Hz, medidos nas saídas P1.5 e P1.6 do 89C51AC2.
O tempo de 16,6ms entre os dois marcadores verticais diz respeito a um ciclo
completo, ou 60Hz.
Nota-se que o valor de pico para 60Hz, visto que é a freqüência nominal, é de
100% de duty-cycle, inclusive os ângulos ao redor de 90% também são 100%,
devido à falta de precisão dos registros PWM, por só suportarem 8bits, ou 255
valores diferentes de largura de pulso.
Da mesma forma, o ângulo de 270º possui duty-cycles nulos, ou 0%.
Comparando estes sinais com a simulação da figura 4.8, conjuntamente com
os dados obtidos pelas medições, variações de larguras de pulso e quantidade de
pulsos por ciclo, vê-se que são extremamente parecidos, assim, conclui-se que o
controle funciona de forma correta.
80
5
AVALIAÇÃO GLOBAL DO PROJETO E CONSIDERAÇÕES FINAIS
O objetivo específico “Estudar características de componentes eletrônicos,
como: Microcontroladores diversos, MOSFETs, IGBTs, Gate Drivers, entre outros”
na proposta deste trabalho foi concluído, pelo fato de que a partir da pesquisa
destes itens pode-se estruturar o projeto e efetivamente implementar um módulo de
controle pela técnica SPWM.
O objetivo específico: “Detalhar diversos tipos de modulações possíveis de
serem implementadas, com seus pontos fortes e fracos e o espectro de harmônicos
gerados” está detalhado no capítulo dois deste trabalho, através desta base teórica
pode-se escrever o software para o 89C51AC2.
O objetivo específico: “Apresentar um projeto de baixo custo para o controle
de velocidade de motores de indução de baixa potência”, foi concluído através do
projeto desenvolvido, pela especificação de componentes e meramente superado
por ter sido implementado e testado.
Conclui-se que proposta deste trabalho foi totalmente concluída e por fim
superada através da implementação do projeto de controle baseado na teoria do
capítulo 2 sobre modulação SPWM.
Neste trabalho não foram efetuados testes com um motor real, entretanto,
como pode-se perceber pelos sinais obtidos, e pelo comparativo com a teoria a
respeito de acionamentos V/F, conseguiu-se gerar sinais perfeitos em SPWM, assim
conclui-se que o motor teria sua velocidade controlada corretamente caso fosse
ligado.
O programa como um todo é baseado em tabelas, cada uma com quantidade
de linhas e valores específicos para cada uma das freqüências.
Sendo assim, é de se supor que apenas recalculando-se as tabelas pode-se
alterar a forma de controle, para, por exemplo, controle MSPWM (PWM Senoidal
Modificado) que otimiza o controle V/F, inserindo um boost de torque adicional entre
os ângulos de 60 a 120º, fixando a saída na tensão nominal. Assim, forçando o
controle a fugir da curva V/F entre estes ângulos, ganhamos torque extra e
diminuímos a geração de harmônicos.
81
Prevendo uma continuação deste trabalho por outras equipes de projeto final,
ou até mesmo por pessoas que queiram um tema para desenvolver um mestrado, foi
disponiblizado no protótipo o conector CON3, que possui 5 entradas digital/analógica
(DAs) para leitura de dados do motor como corrente, tensão, velocidade e posição.
Tais leituras servem para aumentar a precisão no controle de velocidade, visto que
dependendo da carga aplicada sobre o eixo do motor, no caso de controle em malha
aberta, o escorregamento aumenta e a velocidade real cai, gerando assim um erro
de velocidade, que pode ser corrigido a partir do momento em que se sabe qual a
freqüência real de rotação. A partir disso pode-se mudar a tabela em uso no
momento para uma de freqüência maior. Dessa forma a freqüência no eixo sempre
será a correta, mesmo que para isso a freqüência aplicada sobre as bobinas do
motor seja maior. Esta correção seria utilizada nos casos em que o torque solicitado
é maior do que o nominal para determinada velocidade.
Estas entradas DAs poderiam ser utilizadas para controle de sobrecorrentes e
sobretensões na etapa de potência, monitorando os valores a cada período de
amostragem (por exemplo 0,5ms) e desligando todo o circuito quando determinados
valores fossem excedidos. A parametrização dos valores limites de sobrecorrente e
sobretensão poderiam ser feitas via Terminal, da mesma forma que as freqüências e
a rampa de aceleração.
Pela filosofia escalonável criada neste projeto, pode-se controlar motores de
várias potências apenas trocando-se a etapa de potência, ou seja, reprojetando o
módulo de potência com novos MOSFETs ou IGBTs e uma nova ponte retificadora é
logicamente viável o controle de motores de potências maiores. Contudo um estudo
mais aprofundado, com os limites de potência que podem ser controlados a partir
deste módulo de controle, contemplando cálculos de temperatura, deveria ser
realizado.
No 89C51AC2 existe um outro port, o port P0 que não foi utilizado para
nenhuma função, porém, caso fosse dada continuidade ao projeto, outra versão
poderia contemplar um display ligado a este Port, e a parametrização de variáveis
não mais necessitaria da interligação a um computador.
Outras funções extremamente necessárias e que ainda devem ser
implementadas, antes que este produto possa ser colocado no mercado são as
parametrizações de sobrecorrente e sobretensão, porém tais proteções devem ser
82
desenvolvidas tanto em hardware quanto em software. Contudo a placa base de
controle, neste caso, continuaria intocada, sem modificações, sendo necessário
apenas um “driver” que faça a leitura da grandeza escolhida e a converta em um
valor CC de tensão de 0 a 5V, o qual será lido pelas entradas A/D.
83
REFERÊNCIAS
[1] RASHID, Muhammad H. Circuitos, Dispositivos e Aplicações: Eletrônica de
Potência, 1ª ed., São Paulo: Editora Makron Books, 1992, 827p.
[2] SÁ, Jocélio Souza de. Controle e Regulação de Acionamentos Elétricos em
Corrente Alternada: Informativo Técnico, Volume X: Siemens S.A., 1978, 115p.
[3] LANDER, Cyril W. Eletrônica Industrial, Teoria e Aplicações. 2ª ed., 1996,
356p.
[4] GRESHOCK, Kevin; WEBB, John. Industrial Control Electronics. 1992, 253p.
[5] MILLER, T. J. E. Switched Reluctance Motors and Their Control. Magna
Physics Publishing, Oxford : Oxford Science Publications, 1993.
[6] Mc INTYRE, R. L. Electric Motor Control Fundamentals. 3a ed., 1991.
[7] PHILLIPS, Charles L. Digital Control System, Analysis and Design. 2a ed.,
New Jersey: Editora Prentice Hall, 1989, 630p.
[8] SACCOMANO, Alaor Mousa. Revista Mecatrônica Atual. Automação. Número
8. São Paulo: Editora Saber, fevereiro de 2003.
[9] BRAGA, Newton C. Saber Eletrônica Especial. Número 7. São Paulo: Editora
Saber, julho de 2002.
[10] OTTOBONI, Augusto. Saber Eletrônica. Número 358. São Paulo: Editora
Saber, novembro de 2002.
[12] YEDAMALE, Padmaraja. Speed Control of 3-Phase Induction Motor Using
PIC18 Microcontrollers. 2002.
http://www.microchip.com/pic18/docs/AN843.pdf
84
[13] Cadsoft. EAGLE: Easily Applicable Graphical Layout Editor. 2003.
http://www.cadsoft.de/freeware.htm
[14] Atmel. Fabricante de microcontroladores. 2003.
http://www.atmel.com
[15] International Rectifier. Fabricante de componentes semicondutores. 2003.
http://www.irf.com
85
ANEXO A
Especificações de componentes
94
APÊNDICE A
Módulo de controle
95
Figura 1 - Face superior da placa de controle.
Figura 2 - Face inferior da placa de controle.
96
Figura 3 - Disposição dos componentes na placa de controle.
97
APÊNDICE B
O Software
98
/*-----------------------------------------------------------------------3-Phase Generator with 89C51AC2
Copyright (C) 2003
Leonardo Castro e Evandro Luiz Hauenstein
------------------------------------------------------------------------*/
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
"8051.h"
"t89c51ac2.h"
"edit.h"
"iserial.h"
"output.h"
"vt100.h"
"dtb.h"
"defines.h"
<stdio.h>
<stdlib.h>
volatile unsigned char index;
volatile bit switch_pwm_table = 0;
volatile bit current_pwm_table;
bit P2_7_toggle_flag = 0;
#define
#define
#define
#define
#define
bit
bit
bit
bit
KEY1_PRESSED 1
KEY2_PRESSED 2
KEY3_PRESSED 4
KEY4_PRESSED 8
KEY_SCAN_RATE 72
key1_flag
key2_flag
key3_flag
key4_flag
volatile
volatile
volatile
volatile
=
=
=
=
//
//
//
//
//
key1
key2
key3
key4
40ms
mask
mask
mask
mask
(pwm_reload_isr is called every 1/1800 second)
1;
1;
1;
1;
unsigned
unsigned
unsigned
unsigned
char
char
char
char
key1
key2
key3
key4
=
=
=
=
0;
0;
0;
0;
unsigned char pwm1_maxindex;
code pwm_table * pwm1_ptr;
unsigned char pwm2_maxindex;
code pwm_table * pwm2_ptr;
unsigned
unsigned
unsigned
unsigned
unsigned
unsigned
char
char
char
char
char
char
misc_wait = 10;
start_wait = 30;
current_freq;
freq1 = 40;
freq2 = 60;
freq3 = 75;
unsigned int time_base = 0;
volatile unsigned int clock = 0;
xdata unsigned char str_tmp[10];
/* variable located in XRAM */
void config_parameters (void);
void switch_to_the_freq (unsigned char freq, unsigned char time);
void wait_switch_table (void);
void load_table_from_flash (unsigned char freq);
unsigned char scan_input_keys (void);
void print_out_table(void);
/*
- PWM RELOAD INTERRUPT SERVICE ROUTINE pwm_reload_isr proccess the following tasks:
* toggle the P2_7 pi/o
* reload the PWM module capture registers
* provide the clock timebase
* scan the keyboard
*/
99
void pwm_reload_isr (void) interrupt TF2_VECTOR using 3
{
/* toggle the measure output */
P2_7_toggle_flag = ~P2_7_toggle_flag;
P2_7 = P2_7_toggle_flag;
/* clock will be incremented every 10ms */
if (time_base == 18)
{
time_base = 0;
clock++;
}
time_base++;
/* clear timer 2 overflow flag */
TF2 = 0;
/* test what is the current loaded table */
if (current_pwm_table)
{
/* load next PWM values from table ptr 1 */
CCAP4H = (pwm1_ptr + index)->r;
CCAP3H = (pwm1_ptr + index)->s;
CCAP2H = (pwm1_ptr + index)->t;
/* increments to the next position in the table */
index++;
if (index >= pwm1_maxindex)
{
index = 0;
/* verify if a switch table operation is requested */
if (switch_pwm_table)
{
current_pwm_table = ~current_pwm_table;
switch_pwm_table = 0;
}
}
}
else
{
/* load next PWM values from table ptr 2 */
CCAP4H = (pwm2_ptr + index)->r;
CCAP3H = (pwm2_ptr + index)->s;
CCAP2H = (pwm2_ptr + index)->t;
/* increments to the next position in the table */
index++;
if (index >= pwm2_maxindex)
{
index = 0;
/* verify if a switch table operation is requested */
if (switch_pwm_table)
{
current_pwm_table = ~current_pwm_table;
switch_pwm_table = 0;
}
}
}
/* Scan the key 1 */
if (P2_0 == 0)
{
if (key1 < KEY_SCAN_RATE)
key1++;
}
else
{
if (key1 > 0)
key1--;
}
100
/* Scan the key 2 */
if (P2_1 == 0)
{
if (key2 < KEY_SCAN_RATE)
key2++;
}
else
{
if (key2 > 0)
key2--;
}
/* Scan the key 3 */
if (P2_2 == 0)
{
if (key3 < KEY_SCAN_RATE)
key3++;
}
else
{
if (key3 > 0)
key3--;
}
/* Scan the key 4 */
if (P2_3 == 0)
{
if (key4 < KEY_SCAN_RATE)
key4++;
}
else
{
if (key4 > 0)
key4--;
}
/* toggle the measure output */
P2_7_toggle_flag = ~P2_7_toggle_flag;
P2_7 = P2_7_toggle_flag;
}
int main (void)
{
unsigned char keypress;
unsigned char waiting_keys;
/* Enable X2 mode */
CKCON = 0x7F;
/* Set Timer 2 with highest priority */
IPH0 = 0x20;
IPL0 = 0x20;
/* initialize standard output */
set_serial_output();
/* initialize serial */
com_initialize(CPU_CLOCK,57600);
enable_interrupts();
/* clearscreen and put the cursor at position 1,1 */
vt100_set(CLEARSCREEN);
vt100_set(CURSOR_HOME);
/*-----------------------------------------------Sets up the input parameters
------------------------------------------------*/
config_parameters();
/* shutdown the serial */
//com_shutdown();
/*-----------------------------------------------Sets up the TIMER 0 - Mode 2
101
------------------------------------------------*/
{
ET0 = 0;
/* disable timer 0 interrupt */
TR0 = 0;
/* stop timer 0 */
TH0 = 254;
TL0 = TH0;
/* 460800 Hz */
TMOD &= ~0x0F;
TMOD |= 0x02;
/* clear timer 0 mode bits */
/* put timer 0 into MODE 2 */
TR0 = 1;
/* start timer 0 */
}
/* Configure P2 as input */
P2_0 = 1; P2_1 = 1; P2_2 = 1; P2_3 = 1;
/*-----------------------------------------------Sets up the TIMER 2 - AutoReload Mode
------------------------------------------------*/
{
RCAP2L = TL2 = 0x00; /* reload rate of 1800 Hz */
RCAP2H = TH2 = 0xFE;
C_T2 = 0;
/* clock fonte is CPU_CLOCK/12 */
CP_RL2 = 0;
/* auto-reload on timer 2 overflow */
T2MOD = 1;
TF2 = 0;
/* clear timer 2 overflow flag */
ET2 = 1;
/* enable timer 2 interrupts */
TR2 = 1;
/* start timer 2 */
}
/*-----------------------------------------------Sets up PCA
------------------------------------------------*/
{
/* PCA input is Timer 0 */
CMOD = 0x04;
/* init counter registers */
CH = 0;
CL = 0;
/* PWM A - Initialize Module 4 in PWM mode */
CCAPM4 = ECOMn | PWMn;
/* PWM B - Initialize Module 3 in PWM mode */
CCAPM3 = ECOMn | PWMn;
/* PWM C - Initialize Module 2 in PWM mode */
CCAPM2 = ECOMn | PWMn;
/* Set
CCAP4H
CCAP3H
CCAP2H
the initial comparison value */
= 0;
= 0;
= 0;
}
/*-----------------------------------------------Wait key1 to be pressed
------------------------------------------------*/
index = 0;
waiting_keys = KEY1_PRESSED;
printf("\r\nWaiting key1 press...");
/*-----------------------------------------------Finally the main loop!
------------------------------------------------*/
while (1)
{
102
keypress = scan_input_keys();
if ((keypress & KEY1_PRESSED)&&(waiting_keys & KEY1_PRESSED))
{
printf("\r\nKey 1! Main loop");
if (CR == 1)
{
/* Turn PCA timer OFF */
CR = 0;
printf("\r\nStopped!");
waiting_keys = KEY1_PRESSED;
printf("\r\nWaiting key1 press...");
}
else
{
/* Sets up the first table */
index = 0;
current_freq = 10;
current_pwm_table = 0;
// start with pwm1 table
load_table_from_flash(current_freq); // start with 10Hz
current_pwm_table = 1;
// load the pwm1 table
/* Turn PCA timer ON */
CR = 1;
printf("\r\nStarted!");
waiting_keys = KEY1_PRESSED;
printf("\r\nLoading freq1 %d", freq1);
switch_to_the_freq(freq1,start_wait);
printf("\r\nOK");
waiting_keys = KEY1_PRESSED | KEY2_PRESSED | KEY3_PRESSED | KEY4_PRESSED;
}
}
if ((keypress & KEY2_PRESSED)&&(waiting_keys & KEY2_PRESSED))
{
// load freq1
printf("\r\nKey 2! loading freq1 %d", freq1);
switch_to_the_freq(freq1,misc_wait);
printf("\r\nOK");
}
if ((keypress & KEY3_PRESSED)&&(waiting_keys & KEY3_PRESSED))
{
// load freq2
printf("\r\nKey 3! loading freq2 %d", freq2);
switch_to_the_freq(freq2,misc_wait);
printf("\r\nOK");
}
if ((keypress & KEY4_PRESSED)&&(waiting_keys & KEY4_PRESSED))
{
//load freq3
printf("\r\nKey 4! loading freq3 %d", freq3);
switch_to_the_freq(freq3,misc_wait);
printf("\r\nOK");
}
}
return 1;
}
void config_parameters(void)
{
config_parameters_loop:
/* Welcome message */
vt100_set(CLEARSCREEN);
printf("Edit the requested parameters:\r\n");
103
printf("* frequencies must be between 10Hz and 100Hz and \r\n
must follows the equation:
freq1 < freq2 < freq3\r\n");
printf("* input delta time must be less than 100 seconds\r\n");
/* get the startup wait parameter */
sprintf(str_tmp,"%u",start_wait);
printf("\r\nstart up delta time: ");
X = 22; Y = 6;
vt100_xedit(str_tmp,10);
start_wait = (unsigned char) atol(str_tmp);
/* get the misc wait parameter */
sprintf(str_tmp,"%u",misc_wait);
printf("\r\nmisc delta time: ");
X = 18; Y++;
vt100_xedit(str_tmp,10);
misc_wait = (unsigned char) atol(str_tmp);
/* get the freq1 parameter */
sprintf(str_tmp,"%u",freq1);
printf("\r\nbutton 1 frequency (freq1): ");
X = 29; Y++;
vt100_xedit(str_tmp,10);
freq1 = (unsigned char) atol(str_tmp);
/* get the freq2 parameter */
sprintf(str_tmp,"%u",freq2);
printf("\r\nbutton 2 frequency (freq2): ");
X = 29; Y++;
vt100_xedit(str_tmp,10);
freq2 = (unsigned char) atol(str_tmp);
/* get the freq3 parameter */
sprintf(str_tmp,"%u",freq3);
printf("\r\nbutton 3 frequency (freq3): ");
X = 29; Y++;
vt100_xedit(str_tmp,10);
freq3 = (unsigned char) atol(str_tmp);
printf("\r\n");
if ( (freq1 >= freq2) ||
(freq1 < 10)
||
(freq1 > 100)
||
(freq2 >= freq3) ||
(freq2 < 10)
||
(freq2 > 100)
||
(freq1 >= freq3) ||
(freq3 < 10)
||
(freq3 > 100)
||
(misc_wait > 100) ||
(start_wait > 100) )
{
printf("\r\nError in the input parameters...\r\n");
printf("< press any key to reconfigure >\r\n");
com_getchar();
goto config_parameters_loop;
}
}
unsigned char scan_input_keys(void)
{
unsigned char key;
unsigned char result;
result = 0;
EA = 0;
key = key1;
EA = 1;
if ((key == KEY_SCAN_RATE) && (key1_flag == 1))
{
key1_flag = 0;
result = result + KEY1_PRESSED;
104
printf("\r\nKey 1 pressed!");
}
else
{
if ((key == 0) && (key1_flag == 0))
{
printf("\r\nKey 1 depressed!");
key1_flag = 1;
}
}
EA = 0;
key = key2;
EA = 1;
if ((key == KEY_SCAN_RATE) && (key2_flag == 1))
{
key2_flag = 0;
result = result + KEY2_PRESSED;
printf("\r\nKey 2 pressed!");
}
else
{
if ((key == 0) && (key2_flag == 0))
{
printf("\r\nKey 2 depressed!");
key2_flag = 1;
}
}
EA = 0;
key = key3;
EA = 1;
if ((key == KEY_SCAN_RATE) && (key3_flag == 1))
{
key3_flag = 0;
result = result + KEY3_PRESSED;
printf("\r\nKey 3 pressed!");
}
else
{
if ((key == 0) && (key3_flag == 0))
{
printf("\r\nKey 3 depressed!");
key3_flag = 1;
}
}
EA = 0;
key = key4;
EA = 1;
if ((key == KEY_SCAN_RATE) && (key4_flag == 1))
{
key4_flag = 0;
result = result + KEY4_PRESSED;
printf("\r\nKey 4 pressed!");
}
else
{
if ((key == 0) && (key4_flag == 0))
{
printf("\r\nKey 4 depressed!");
key4_flag = 1;
}
}
return result;
}
void switch_to_the_freq(unsigned char freq, unsigned char time)
{
unsigned int aux;
unsigned int clock_timeout;
105
unsigned int clock_current;
if (freq < current_freq)
{
aux = (time * 100) / (current_freq - freq);
printf("\r\nClock counts between frequencies = %u", aux);
wait_switch_table();
while (freq < current_freq)
{
EA = 0;
clock_timeout = clock + aux;
clock_current = clock;
EA = 1;
while(clock_timeout > clock_current)
{
EA = 0;
clock_current = clock;
EA = 1;
if (scan_input_keys() & KEY1_PRESSED)
{
/* Turn PCA timer OFF */
CR = 0;
printf("\r\nStopped!");
return;
}
}
current_freq--;
printf("\r\nfreq = %d", current_freq);
load_table_from_flash(current_freq);
switch_pwm_table = 1;
wait_switch_table();
printf("\r\nTable loaded!");
}
return;
}
if (freq > current_freq)
{
aux = (time * 100) / (freq - current_freq);
printf("\r\nClock counts between frequencies = %u", aux);
wait_switch_table();
while (current_freq < freq)
{
EA = 0;
clock_timeout = clock + aux;
clock_current = clock;
EA = 1;
while(clock_timeout > clock_current)
{
EA = 0;
clock_current = clock;
EA = 1;
if (scan_input_keys() & KEY1_PRESSED)
{
/* Turn PCA timer OFF */
CR = 0;
printf("\r\nStopped!");
return;
}
}
current_freq++;
printf("\r\nfreq = %d", current_freq);
load_table_from_flash(current_freq);
106
switch_pwm_table = 1;
wait_switch_table();
printf("\r\nTable loaded!");
}
return;
}
printf("\r\nSame freq!");
}
void wait_switch_table (void)
{
while(switch_pwm_table);
}
void load_table_from_flash (unsigned char freq)
{
unsigned char table;
table = freq - pwm_freqs[0];
if (current_pwm_table)
{
printf("\r\nLoading table %u (%uHz) into pwm2_ptr", table, pwm_freqs[table]);
pwm2_ptr = pwm_tables[table];
pwm2_maxindex = pwm_values[table];
}
else
{
printf("\r\nLoading table %u (%uHz) into pwm1_ptr", table, pwm_freqs[table]);
pwm1_ptr = pwm_tables[table];
pwm1_maxindex = pwm_values[table];
}
//print_out_table();
}
void print_out_table(void)
{
unsigned char aux;
unsigned char values;
if (current_pwm_table)
values = pwm2_maxindex;
else
values = pwm1_maxindex;
aux = 0;
while (aux < values)
{
if (current_pwm_table)
{
printf("\r\n%3d ",
printf("%3d ",
printf("%3d",
}
else
{
printf("\r\n%3d ",
printf("%3d ",
printf("%3d",
}
aux++;
}
}
(pwm2_ptr + aux)->r);
(pwm2_ptr + aux)->s);
(pwm2_ptr + aux)->t);
(pwm1_ptr + aux)->r);
(pwm1_ptr + aux)->s);
(pwm1_ptr + aux)->t);

Documentos relacionados