Uploaded by soparautilidades

RELATORIO DEOCLIDESdocx

advertisement
CENTRO UNIVERSITÁRIO DA FUNDAÇÃO EDUCACIONAL DE BARRETOS
DAVID WILLIAM
FÁBIO DE FREITAS
GLAUBER MOREIRA
527960
522793
533511
ACIONAMENTOS ELÉTRICOS E ELETRÔNICOS
INVERSOR DE FREQUÊNCIA COMANDADO POR ARDUINO
BARRETOS
2019
1
INTRODUÇÃO
As principais formas de produção e de transmissão de energia elétrica são
nas formas de tensão alternada, portanto praticamente tudo que conhecemos de
aparelhos elétricos e eletrônicos funcionam sob a forma de tensão alternada
ainda que muitos desses utilizem de fontes para converter a tensão AC.
Contudo, muitas vezes a forma de energia que temos à nossa disposição
está sob a forma de tensão contínua, como uma bateria, por exemplo. Por isso,
para utilizarmos de tal fonte e adequarmos essa tensão às nossas necessidades,
utilizamos os inversores de frequência para essa conversão CC-CA.
Além disso, com o aumento populacional e a evolução da tecnologia, a
demanda de energia elétrica cresceu muito nos últimos tempos. Então se passou
a procurar por novas formas de fontes de energia, como a conversão da energia
solar em energia elétrica. Tal conversão de energia se dá na forma de tensão
constante, por isso também é necessário realizar a conversão de energia CC em
CA para que essa possa ser transmitida através do sistema de distribuição que
funciona sobre o principio de transmissão de corrente alternada.
Além do exposto anteriormente, tem-se como fato importante que os
motores de indução possuem grande aplicação no setor da indústria e no entanto
temos que seu modo de operação depende da forma de tensão que o mesmo
recebe, sendo que a velocidade de operação desses equipamentos assim como
seu conjugado, depende dos valores de frequência e amplitude do sinal de
tensão que alimenta o motor.
No entanto, a energia elétrica que recebemos em nossas residências e
indústrias, chegam até nós com valores fixos de frequência e tensão, então
quando necessitamos controlar a velocidade de um motor por exemplo,
precisamos dos inversores de frequência para realizar a conversão da forma de
tensão aplicada ao motor e assim controlar sua velocidade.
Sendo assim a aplicação dos inversores de frequência, surge a partir da
necessidade de se converter um sinal de tensão constante em um sinal de
tensão alternada senoidal, ou a partir de uma tensão alternada com uma
determinada frequência, transformar esta em uma outra frequência.
2
OBJETIVO
O objetivo deste trabalho é montar um inversor de frequência controlado
por Arduino e praticar o conteúdo absorvido em sala de aula, de modo a obter
maior conhecimento prático.
3
MATERIAIS UTILIZADOS
Equipamentos
1 - Fonte DC com duas saídas uma de 12V e outra de 5V;
1 - Fonte DC com saída de 24V;
1 - Osciloscópio;
1 - Multímetro;
1 - Varivolt;
1 - Arduino uno;
1 - Transformador de 23/127V;
Componentes
8 - Transistor irf840;
2 - CI ir2110;
2 - Diodo 1n4007;
4 - Diodo 1n4004;
4 - Resistor de 10Ω;
8 - Resistor 1k;
2 - Capacitor 33u;
4 - Capacitor 100nf;
4
DESENVOLVIMENTO
Primeiramente foi pesquisou-se um projeto de como se montar um
inversor de frequência utilizando-se um microcontrolador Arduino como
instrumento gerador de PWM. Então, escolheu-se o programa em que era
possível não somente gerar um sinal PWM de saída no Arduino UNO, mas
também um programa que permitisse a escolha da frequência de saída do sinal
PWM.
#include <avr/io.h>
#include <avr/interrupt.h>
#define SinDivisions (200)// Sub divisions of sisusoidal wave.
static int microMHz = 16; // Micro clock frequency
static int freq = 50; // Sinusoidal frequency
static long int period; // Period of PWM in clock cycles.
static unsigned int lookUp[SinDivisions];
static char theTCCR1A = 0b10000010; //varible for TCCR1A
void setup(){
double temp; //Double varible for <math.h> functions.
period = microMHz*1e6/freq/SinDivisions;// Period of PWM in clock cycles
for(int i = 0; i < SinDivisions/2; i++){ // Generating the look up table.
temp = sin(i*2*M_PI/SinDivisions)*period;
lookUp[i] = (int)(temp+0.5);
// Round to integer.
}
// Register initilisation, see datasheet for more detail.
TCCR1A = theTCCR1A; // 0b10000010;
/*10 clear on match, set at BOTTOM for compA.
00 compB disconected initially, toggled later to clear on match, set at
BOTTOM.
00
10 WGM1 1:0 for waveform 15.
*/
TCCR1B = 0b00011001;
/*000
11 WGM1 3:2 for waveform 15.
001 no prescale on the counter.
*/
TIMSK1 = 0b00000001;
/*0000000
1 TOV1 Flag interrupt enable.
*/
ICR1 = period; /* Period for 16MHz crystal, for a switching frequency of
100KHz for 200 subdivisions per 50Hz sin wave cycle. */
sei();
// Enable global interrupts.
// Set outputs pins.
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
5
//DDRB = 0b00000110; // Set PB1 and PB2 as outputs.
pinMode(13, OUTPUT);
}
void loop(){;/*Do nothing . . . forever*/}
ISR(TIMER1_OVF_vect){
static int num;
static int delay1;
static char trig;
if(delay1 == 1){/*delay by one period because the high time loaded into
OCR1A:B values are buffered but can be disconnected immediately by
TCCR1A. */
theTCCR1A ^= 0b10100000;// Toggle connect and disconnect of compare
output A and B.
TCCR1A = theTCCR1A;
delay1 = 0;
// Reset delay1
} else if(num >= SinDivisions/2){
num = 0;
// Reset num
delay1++;
trig ^=0b00000001;
digitalWrite(13,trig);
}
// change duty-cycle every period.
OCR1A = OCR1B = lookUp[num];
num++;
}
As imagens abaixo mostram como o sinal de saída comportou-se quando
controlado pelo microcontrolador Arduino. Utilizando-de de mudanças no código,
alterou-se a frequência de saída nos pinos 9 e 10 do Arduino.
(Verificação do controle do sinal PWM do Arduino)
6
(Saídas com 10Hz e 30Hz)
(Saídas com 60Hz e 90Hz)
(Saída com 100Hz)
Uma vez obtido um código que atendesse às necessidades da geração
de sinal, utilizou-se o circuito drive abaixo na saída do microcontrolador para o
controle do sinal do alternado que irá ser conectado à carga.
7
8
Iniciou-se assim o processo de simulação via software Protheus e uma
vez que obteve-se resultados satisfatórios na simulação, deu-se início à
montagem real do circuito na protoboard, enquanto gerava-se a placa ser
gravada e confeccionada para avaliações futuras. Imagens da montagem em
protoboard e também detalhes da primeira placa a ser impressa e confeccionada
podem ser vistas nas imagens abaixo.
(montagem em protoboard)
(placa gerada via Protheus - Vista superior e vista inferior)
(trilhas do circuito para serem gravadas na placa condutora)
Contudo, ao tentar gravar essa placa utilizando o CNC do laboratório
FabLab, alguns obstáculos surgiram. O principal obstáculo encontrado foi a falta
de experiência no uso do CNC para confecção de placas de circuitos eletrônicos,
tanto por parte dos integrantes do grupo de trabalho quanto por parte do
responsável pelo laboratório. Então optou-se por utilizar o método de corrosão
por percloreto de ferro com a seguinte configuração da placa.
9
(processo de inscrição na placa com marcador permanente)
(Vista inferior da placa)
Neste projeto foi utilizado a topologia de modulação SPWM senoidal e o
que se faz é aplicar pulsos de tensão com largura de pulso variável sobre um
filtro passa baixa que tem a função de rejeitar as componentes harmônicas
indesejadas visando transferir para a carga, um sinal senoidal com a menor
distorção possível.
O circuito tem por finalidade pegar a tensão de entrada (24Vcc) e as
transformar em uma tensão de saída CA, podendo variar sua frequência de
saída a partir do programa de variação de frequência carregado no Arduino e
conectado ao circuito como já foi mostrado acima.
10
CONCLUSÃO
Como mostrado nos ítens anteriores, foram feitos vários testes com o
circuito implementado, variando-se a frequência através do programa carregado
no Arduino e com isso podemos alcançar o objetivo deste trabalho. Também, ao
conectar-se cargas ao circuito, pode-se analisar melhor o circuito e obter dados
mais concretos de como o sinal se comportou uma vez já modulado.
Observou-se por exemplo algumas imperfeições da senoide de saída, o
que aparentemente é causado pelo curtíssimo tempo de pulso nas extremidades
de cada semi-ciclo. Após análise dessas imperfeições, acredita-se que uma
onda mais adequada seria obtida com modificações no código, alterando-se por
exemplo com o número de pulsos gerados no PWM. Essas alterações e futuras
observações deverão ser melhor estudadas em um próximo momento.
Download