- Componentes necessários:
- Diagrama de circuito e conexões:
- Explicação do código:
- Funcionamento do conversor DC-DC Buck:
Neste projeto vamos fazer um circuito conversor Buck usando Arduino e MOSFET N-Channel com uma capacidade máxima de corrente de 6 amperes. Vamos reduzir 12 V DC para qualquer valor entre 0 e 10 V DC. Podemos controlar o valor da tensão de saída girando o potenciômetro.
Um conversor buck é um conversor DC para DC, que reduz a tensão DC. É como um transformador, com uma diferença; enquanto o transformador diminui a tensão CA, o conversor buck diminui a tensão CC. A eficiência do conversor Buck é menor do que a de um transformador.
Os principais componentes do conversor de buck são mosfet; canal n ou canal p e gerador de pulso quadrado de alta frequência (um temporizador IC ou microcontrolador). O Arduino é usado aqui como gerador de pulso, um 555 Timer IC também pode ser usado para essa finalidade. Aqui nós demonstramos este conversor Buck controlando a velocidade do motor DC com potenciômetro, também testamos a tensão usando multímetro. Confira o vídeo no final deste artigo.
Componentes necessários:
- Arduino Uno
- IRF540N
- Indutor (100Uh)
- Capacitor (100uf)
- Diodo Schottky
- Potenciômetro
- Resistor de 10k, 100ohm
- Carga
- Bateria 12v
Diagrama de circuito e conexões:
Faça as conexões conforme mostrado no diagrama de circuito acima para o conversor DC-DC Buck.
- Conecte um terminal do indutor à fonte do mosfet e outro ao LED em série com resistor de 1k. A carga é conectada em paralelo a este arranjo.
- Conecte o resistor de 10k entre a porta e a fonte.
- Conecte o capacitor em paralelo para carregar.
- Conecte o terminal positivo da bateria para drenar e o negativo para o terminal negativo do capacitor.
- Conecte o terminal p do diodo ao negativo da bateria e o terminal n diretamente à fonte.
- O pino PWM do Arduino vai para o portão do mosfet
- O pino GND do Arduino vai para a origem do mosfet. Conecte-o lá ou o circuito não funcionará.
- Conecte os terminais extremos do potenciômetro ao pino 5v e pino GND do Arduino, respectivamente. Considerando que o terminal do limpador para o pino analógico A1.
Função do Arduino:
Como já explicado, o Arduino envia pulsos de clock para a base do MOSFET. A frequência desses pulsos de clock é de aprox. 65 Khz. Isso causa uma comutação muito rápida do mosfet e obtemos um valor médio de tensão. Você deve aprender sobre ADC e PWM no Arduino, o que irá esclarecer como os pulsos de alta frequência são gerados pelo Arduino:
- Dimmer LED baseado em Arduino usando PWM
- Como usar ADC no Arduino Uno?
Função do MOSFET:
Mosfet é usado para duas finalidades:
- Para comutação de alta velocidade da tensão de saída.
- Para fornecer alta corrente com menos dissipação de calor.
Função do indutor: O indutor
é usado para controlar picos de tensão que podem danificar o mosfet. O indutor armazena energia quando o mosfet está ligado e libera essa energia armazenada quando o mosfet está desligado. Como a frequência é muito alta, o valor da indutância necessária para esse propósito é muito baixo (em torno de 100uH).
Função do diodo Schottky: o
diodo Schottky completa o loop de corrente quando o mosfet é desligado, garantindo assim um fornecimento suave de corrente para a carga. Além disso, o diodo Schottky dissipa o calor muito baixo e funciona bem em frequências mais altas do que os diodos regulares.
Função do LED: O
brilho do LED indica a redução da tensão na carga. Conforme giramos o potenciômetro, o brilho do LED varia.
Função do potenciômetro:
Quando o terminal do limpador do potenciômetro é acionado para uma posição diferente, a tensão entre ele e o terra muda, o que por sua vez muda o valor analógico recebido pelo pino A1 do Arduino. Esse novo valor é então mapeado entre 0 e 255 e, em seguida, dado ao pino 6 do Arduino para PWM.
** Capacitor suaviza a tensão fornecida à carga.
Por que resistor entre porta e fonte?
Mesmo o menor ruído na porta do MOSFET pode ligá-lo, portanto, para evitar que isso aconteça, é sempre aconselhável conectar o resistor de alto valor entre a porta e a fonte.
Explicação do código:
O código Arduino completo, para gerar pulsos de alta frequência, é fornecido na seção de código abaixo.
O código é simples e autoexplicativo, então aqui explicamos apenas algumas partes do código.
A variável x é atribuída ao valor analógico que é recebido do pino analógico A0 do Arduino
x = leitura analógica (A1);
A variável w é atribuída ao valor mapeado que está entre 0 e 255. Aqui, os valores ADC do Arduino são mapeados para 2 a 255 usando a função de mapa no Arduino.
w = map (x, 0,1023,0,255);
A frequência normal de PWM para o pino 6 é de aproximadamente 1 kHz. Esta frequência não é adequada para fins como conversor de Buck. Portanto, essa frequência deve ser aumentada para um nível muito alto. Isso pode ser feito usando um código de uma linha na configuração vazia:
TCCR0B = TCCR0B & B11111000 - B00000001; // altera a frequência de pwm para 65 KHZ aprox.
Funcionamento do conversor DC-DC Buck:
Quando o circuito é ligado, o mosfet liga e desliga com uma frequência de 65 khz. Isso faz com que o indutor armazene energia quando o mosfet está ligado e, em seguida, fornece essa energia armazenada para carregar quando o mosfet é desligado. Como isso acontece em uma frequência muito alta, obtemos um valor médio da tensão de saída pulsada dependendo da posição do terminal do limpador do potenciômetro em relação ao terminal de 5v. E conforme esta tensão entre o terminal do limpador e o aterramento aumenta, o valor mapeado no pino pwm no. 6 do Arduino.
Digamos que este valor mapeado seja 200. Então a tensão PWM no pino 6 estará em: = 3,921 volts
E como o MOSFET é um dispositivo dependente de voltagem, esta voltagem pwm em última análise determina a voltagem na carga.
Aqui nós demonstramos este conversor Buck girando um motor DC e no multímetro, verifique o vídeo abaixo. Nós controlamos a velocidade do motor com o potenciômetro e controlamos o brilho do LED com o potenciômetro.