Faça este conversor Buck usando Arduino

Relacionados

Neste projeto vamos reduzir 12v DC para qualquer valor DC entre 2 e 11volts. O circuito que diminui a tensão CC é conhecido como conversor buck. A tensão de saída ou tensão de redução necessária é controlada usando um potenciômetro conectado ao arduino.

Por Ankit Negi

INTRODUÇÃO AOS CONVERSORES:

Existem basicamente dois tipos de conversores:

1. Conversor Buck

2. Conversor de impulso

Ambos os conversores alteram a tensão de entrada de acordo com a necessidade. Eles são semelhantes a um transformador com uma diferença principal. Enquanto os transformadores aumentam/diminuem uma tensão CA, os conversores CC aumentam/diminuem a tensão CC. Os principais componentes de ambos os conversores são:

A. MOSFET

B. INDUTOR

C. CAPACITOR

BUCK CONVERTER: como o próprio nome sugere, buck significa diminuir a tensão de entrada. O conversor Buck nos dá a tensão menor que a tensão DC de entrada com alta capacidade de corrente. É uma conversão direta.

BOOST CONVERTER: como o próprio nome sugere, boost significa aumentar a tensão de entrada.

O conversor Boost nos dá a tensão DC mais do que a tensão DC na entrada. É também uma conversão direta.

** neste projeto vamos fazer um circuito conversor buck para diminuir 12 v DC usando arduino como fonte PWM.

ALTERANDO A FREQUÊNCIA PWM NOS PINOS ARDUINO:

Os pinos PWM do arduino UNO são 3, 5, 6, 9, 10 e 11.

Para realizar o PWM, o comando utilizado é:

analogWrite( PWM PIN NO, PWM VALUE);

e a frequência PWM para esses pinos são:

Para pinos Arduino 9, 10, 11 e 3 —- 500Hz

Para os pinos 5 e 6 do Arduino —- 1kHz

Essas frequências são boas para uso geral, como desvanecimento de um led. Mas para circuitos como conversor buck ou boost, é necessário uma fonte PWM de alta frequência (na faixa de dezenas de KHZ) porque o MOSFET precisa de alta frequência para comutação perfeita e também a entrada de alta frequência diminui o valor ou o tamanho dos componentes do circuito como indutor e capacitor. Assim para este projeto precisamos de fonte PWM de alta frequência.

O bom é que podemos alterar a frequência PWM dos pinos PWM do arduino usando um código simples:

PARA ARDUINO UNO:

Frequência PWM disponível para D3 e D11:
//TCCR2B = TCCR2B & B11111000 | B00000001; // para frequência PWM de 31372,55 Hz
//TCCR2B = TCCR2B & B11111000 | B00000010; // para frequência PWM de 3921,16 Hz
//TCCR2B = TCCR2B & B11111000 | B00000011; // para frequência PWM de 980,39 Hz
TCCR2B = TCCR2B & B11111000 | B00000100; // para frequência PWM de 490,20 Hz (O PADRÃO)
//TCCR2B = TCCR2B & B11111000 | B00000101; // para frequência PWM de 245,10 Hz
//TCCR2B = TCCR2B & B11111000 | B00000110; // para frequência PWM de 122,55 Hz
//TCCR2B = TCCR2B & B11111000 | B00000111; // para frequência PWM de 30,64 Hz
Frequência PWM disponível para D5 e D6:
//TCCR0B = TCCR0B & B11111000 | B00000001; // para frequência PWM de 62.500,00 Hz
//TCCR0B = TCCR0B & B11111000 | B00000010; // para frequência PWM de 7812,50 Hz
TCCR0B = TCCR0B & B11111000 | B00000011; // para frequência PWM de 976,56 Hz (O PADRÃO)
//TCCR0B = TCCR0B & B11111000 | B00000100; // para frequência PWM de 244,14 Hz
//TCCR0B = TCCR0B & B11111000 | B00000101; // para frequência PWM de 61,04 Hz
Frequência PWM disponível para D9 e D10:
//TCCR1B = TCCR1B & B11111000 | B00000001; // define o divisor do temporizador 1 para 1 para a frequência PWM de 31372,55 Hz
//TCCR1B = TCCR1B & B11111000 | B00000010; // para frequência PWM de 3921,16 Hz
TCCR1B = TCCR1B & B11111000 | B00000011; // para frequência PWM de 490,20 Hz (O PADRÃO)
//TCCR1B = TCCR1B & B11111000 | B00000100; // para frequência PWM de 122,55 Hz
//TCCR1B = TCCR1B & B11111000 | B00000101; // para frequência PWM de 30,64 Hz
** vamos usar o pino no. 6 para PWM daí o código:
//TCCR0B = TCCR0B & B11111000 | B00000001; // para frequência PWM de 62,5 KHz

LISTA DE COMPONENTES:

1. ARDUINO UNO

2. INDUTOR (100Uh)

3. DIODO SCHOTTKY

4. CAPACITOR (100uf)

5. IRF540N

6. POTENCIÔMETRO

7. 10k, 100ohm RESISTOR\

8. CARGA (motor neste caso)

9. BATERIA DE 12 V

DIAGRAMA DE CIRCUITO

BUCK CONVERTER USANDO ARDUINO

BUCK CONVERTER USANDO O LAYOUT DE FIAÇÃO DO ARDUINO

Faça as conexões conforme mostrado no diagrama de circuito.

1. Conecte os terminais finais do potenciômetro ao pino de 5v e ao pino terra do arduino UNO, respectivamente, enquanto o terminal do limpador ao pino analógico A1.

2. Conecte o pino PWM 6 do arduino à base do mosfet.

3. Terminal positivo da bateria para drenar o mosfet e negativo para o terminal p do diodo schottky.

4. Do terminal p do diodo Schottky, conecte a carga (motor) em série com o indutor ao terminal fonte do mosfet.

5. Agora conecte o terminal n do diodo Schottky ao terminal fonte do mosfet.

6. Conecte o capacitor de 47 uf no motor.

7. Por fim, conecte o pino terra do arduino ao terminal fonte do mosfet.

Objetivo do mosfet:

O Mosfet é usado para alternar a tensão de entrada em alta frequência e fornecer alta corrente com menor dissipação de calor.

Objetivo do arduino:

Para alta velocidade de comutação do mosfet (na frequência 65 KHz aprox.)

Objetivo do indutor:

Se este circuito for executado sem conectar um indutor, há grandes chances de danificar o mosfet devido a picos de alta tensão no terminal do mosfet.

Para evitar o mosfet desses picos de alta tensão, ele é conectado conforme mostrado na figura, pois quando o mosfet está ligado, ele armazena energia e quando o mosfet está desligado, ele libera essa energia armazenada para o motor.

Finalidade do diodo Schottky:

Suponha que o diodo Schottky não esteja conectado no circuito. Neste caso, quando o mosfet é desligado, o indutor libera sua energia para a carga ou o motor, o que tem um efeito muito pequeno na carga porque há um loop incompleto para o fluxo de corrente. Assim, o diodo Schottky completa o loop para que a corrente flua. Agora, um diodo normal não está conectado aqui porque o diodo schottky tem baixa queda de tensão direta. Objetivo do led:
para indicar a redução da tensão na carga.

Objetivo do potenciômetro:

O potenciômetro dá valor analógico ao arduino (com base na posição do terminal do limpador) de acordo com o qual a tensão pwm é recebida pelo terminal da porta do mosfet do pino 6 do PWM do Arduino. Esse valor, em última análise, controla a tensão de saída na carga.

Por que o resistor está conectado entre a porta e a fonte?

Mesmo uma pequena quantidade de ruído pode ativar o mosfet. Portanto, um resistor pull-down é conectado entre o portão e a fonte, ou seja, o terra.

Código do programa

Burn this code to arduino:
int m ; // initialize variable m
int n ; // initialize variable n
void setup()
{
pinMode(6,OUTPUT) ; // set pwm pin 6 as output pin
pinMode(A1,INPUT) ; // set analog pin as input pin
TCCR0B = TCCR0B & B11111000 | B00000001 ; // for PWM frequency of 62.5 KHz on pin 6( explained under code section)
Serial.begin(9600) ; // begin serial communication
}
void loop()
{
m= analogRead(A1) ;// read voltage value from pin A1 at which pot. wiper terminal is connected
n= map(m,0,1023,0,255) ; // map this ip value betwenn 0 and 255
analogWrite(6,n) ; // write mapped value on pin 6
Serial.print(" PWM Value ") ;
Serial.println(n) ;
}

EXPLICAÇÃO DO CÓDIGO

1. A variável x é o valor de tensão recebido do pino A1 no qual o terminal do limpador do potenciômetro está conectado.

2. A variável y é atribuída ao valor mapeado que está entre 0 e 255.

3. **como já explicado na seção acima para circuito como conversor buck ou boost, é necessário uma fonte PWM de alta frequência (na faixa de dezenas de KHZ) porque o MOSFET precisa de alta frequência para comutação perfeita e a entrada de alta frequência diminui o valor ou tamanho de componentes do circuito como indutor e capacitor.

Assim, vamos usar este código simples para gerar tensão pwm de aprox. Frequência de 65 kHz:TCCR0B = TCCR0B & B11111000 | B00000001 ; // para frequência PWM de 62,5 KHz no pino 6

Como funciona:

Como o potenciômetro fornece valor analógico ao arduino (com base na posição do terminal do limpador), isso determina o valor da tensão pwm recebido pelo terminal da porta do mosfet do pino 6 do PWM do Arduino.

E esse valor, em última análise, controla a tensão de saída na carga.

Quando o mosfet está ligado, o indutor armazena energia e quando ele desliga, essa energia armazenada é liberada para a carga, ou seja, motor neste caso.

E como esse processo ocorre em frequência muito alta, obtemos uma tensão CC reduzida no motor, que depende da posição do terminal do limpador, pois o mosfet é um dispositivo dependente da tensão.

Imagens de protótipo:

IMG 6243DDC31D1F1

IMG 6243DDC369FA9

IMG 6243DDC3B84BB

IMG 6243DDC4135B8

Videoclipe do circuito conversor Buck explicado acima usando Arduino

YouTube video

Hashtags: #Faça #este #conversor #Buck #usando #Arduino
 

FONTE


Nota: Este conteúdo foi traduzido do Inglês para português (auto)
Pode conter erros de tradução

Olá, se tiver algum erro de tradução (AUTO), falta de link para download etc…
Veja na FONTE até ser revisado o conteúdo.
Status (Ok Até agora)


Se tiver algum erro coloque nos comentários

Mas se gostou compartilhe!!!

Relacionados

Relacionados