Crea questo convertitore buck usando Arduino

Prova Il Nostro Strumento Per Eliminare I Problemi





In questo progetto, ridurremo 12 V CC a qualsiasi valore CC compreso tra 2 e 11 Volt. Il circuito che abbassa la tensione CC è noto come convertitore buck. La tensione di uscita o la tensione di riduzione necessaria viene controllata utilizzando un potenziometro collegato ad arduino.

Di Ankit Negi



INTRODUZIONE AI CONVERTITORI:

Esistono fondamentalmente due tipi di convertitori:

1. Convertitore buck



2. Convertitore boost

Entrambi i convertitori modificano la tensione di ingresso in base alle esigenze. Sono simili a un file trasformatore con una differenza principale. Mentre il trasformatore aumenta / diminuisce la tensione CA, i convertitori CC aumenta / diminuisce la tensione CC. I componenti principali di entrambi i convertitori sono:

A. MOSFET

B. INDUTTORE

C. CONDENSATORE

BUCK CONVERTER: come suggerisce il nome stesso, buck significa abbassare la tensione di ingresso. Convertitore buck ci fornisce la tensione inferiore alla tensione CC in ingresso con elevata capacità di corrente. È una conversione diretta.

BOOST CONVERTER: come suggerisce il nome stesso, boost significa aumentare la tensione di ingresso.

Il convertitore boost ci fornisce la tensione CC maggiore della tensione CC in ingresso. È anche una conversione diretta.

** in questo progetto realizzeremo un circuito convertitore buck per ridurre la tensione a 12 V CC utilizzando arduino come sorgente PWM.

MODIFICA DELLA FREQUENZA PWM SUI PIN ARDUINO:

I pin PWM di arduino UNO sono 3, 5, 6, 9, 10 e 11.

Per eseguire PWM, il comando utilizzato è:

analogWrite (PWM PIN NO, PWM VALUE)

e la frequenza PWM per questi pin sono:

Per Arduino Pin 9, 10, 11 e 3 ---- 500Hz

Per Arduino Pin 5 e 6 ---- 1kHz

Queste frequenze vanno bene per un uso generale come lo sbiadimento di un led. Ma per circuiti simili convertitore buck o boost , è necessaria una sorgente PWM ad alta frequenza (nell'intervallo di decine di KHZ) perché i MOSFET richiedono un'alta frequenza per una commutazione perfetta e anche l'ingresso ad alta frequenza diminuisce il valore o la dimensione dei componenti del circuito come induttore e condensatore. Quindi per questo progetto abbiamo bisogno di una sorgente PWM ad alta frequenza.

La cosa buona è che possiamo cambiare la frequenza PWM dei pin PWM di arduino usando un codice semplice:

PER ARDUINO UNO:

Frequenza PWM disponibile per D3 e D11:
// TCCR2B = TCCR2B e B11111000 | B00000001 // per la frequenza PWM di 31372,55 Hz
// TCCR2B = TCCR2B e B11111000 | B00000010 // per frequenza PWM di 3921,16 Hz
// TCCR2B = TCCR2B e B11111000 | B00000011 // per frequenza PWM di 980,39 Hz
TCCR2B = TCCR2B e B11111000 | B00000100 // per la frequenza PWM di 490,20 Hz (DEFAULT)
// TCCR2B = TCCR2B e B11111000 | B00000101 // per frequenza PWM di 245,10 Hz
// TCCR2B = TCCR2B e B11111000 | B00000110 // per frequenza PWM di 122,55 Hz
// TCCR2B = TCCR2B e B11111000 | B00000111 // per frequenza PWM di 30,64 Hz
Frequenza PWM disponibile per D5 e D6:
// TCCR0B = TCCR0B e B11111000 | B00000001 // per frequenza PWM di 62500,00 Hz
// TCCR0B = TCCR0B e B11111000 | B00000010 // per frequenza PWM di 7812,50 Hz
TCCR0B = TCCR0B e B11111000 | B00000011 // per la frequenza PWM di 976,56 Hz (DEFAULT)
// TCCR0B = TCCR0B e B11111000 | B00000100 // per frequenza PWM di 244,14 Hz
// TCCR0B = TCCR0B e B11111000 | B00000101 // per frequenza PWM di 61,04 Hz
Frequenza PWM disponibile per D9 e D10:
// TCCR1B = TCCR1B e B11111000 | B00000001 // imposta il divisore del timer 1 su 1 per la frequenza PWM di 31372,55 Hz
// TCCR1B = TCCR1B e B11111000 | B00000010 // per frequenza PWM di 3921,16 Hz
TCCR1B = TCCR1B e B11111000 | B00000011 // per la frequenza PWM di 490,20 Hz (DEFAULT)
// TCCR1B = TCCR1B e B11111000 | B00000100 // per frequenza PWM di 122,55 Hz
// TCCR1B = TCCR1B e B11111000 | B00000101 // per frequenza PWM di 30,64 Hz
** useremo il pin no. 6 per PWM da cui il codice:
// TCCR0B = TCCR0B e B11111000 | B00000001 // per frequenza PWM di 62,5 KHz

ELENCO COMPONENTI:

1. ARDUINO UNO

2. INDUTTORE (100Uh)

3. DIODO SCHOTTKY

4. CONDENSATORE (100uf)

5. IRF540N

6. POTENZIOMETRO

7. RESISTORE 10k, 100ohm

8. CARICO (motore in questo caso)

BATTERIA DA 9,12 V.

SCHEMA ELETTRICO

Buck Converter utilizzando Arduino

Convertitore buck utilizzando il layout di cablaggio Arduino

Effettuare i collegamenti come mostrato nello schema del circuito.

1. Collegare i terminali del potenziometro al pin 5v e al pin di terra di arduino UNO rispettivamente mentre il suo terminale del tergicristallo al pin analogico A1.

2. Collega il pin 6 PWM di arduino alla base del mosfet.

3. Terminale positivo della batteria per drenare il mosfet e negativo per il terminale p del diodo schottky.

4. Dal terminale p del diodo schottky, collegare il carico (motore) in serie con l'induttore al terminale sorgente del mosfet.

5. Ora collega il terminale n del diodo schottky al terminale sorgente del mosfet.

6. Collegare il condensatore da 47uf attraverso il motore.

7. Infine collegare il pin di massa di arduino al terminale sorgente del mosfet.

Scopo del mosfet:

Mosfet viene utilizzato per commutare la tensione di ingresso ad alta frequenza e per fornire alta corrente con minore dissipazione di calore.

Scopo di arduino:

Per alta velocità di commutazione del mosfet (a una frequenza di 65 KHz circa)

Scopo dell'induttore:

Se questo circuito viene eseguito senza collegare un induttore, allora ci sono alte probabilità di danneggiare il mosfet a causa di picchi di alta tensione sul terminale del mosfet.

Per prevenire il mosfet da questi picchi di alta tensione è collegato come mostrato in figura poiché quando il mosfet è acceso immagazzina energia e quando il mosfet è spento cede questa energia immagazzinata al motore.

Scopo del diodo schottky:

Supponiamo che il diodo Schottky non sia collegato nel circuito. In questo caso, quando il mosfet è disattivato, l'induttore rilascia la sua energia al carico o al motore che ha un effetto molto leggero sul carico perché c'è un anello incompleto per il flusso di corrente. Così il diodo Schottky completa il ciclo per il flusso di corrente. Ora un diodo normale non è collegato qui perché il diodo schottky ha una bassa caduta di tensione diretta.
per indicare la riduzione della tensione attraverso il carico.

Scopo del potenziometro:

Potenziometro fornisce un valore analogico ad arduino (in base alla posizione del terminale wiper) in base al quale la tensione pwm viene ricevuta dal terminale di gate del mosfet dal pin 6 PWM di Arduino. Questo valore controlla in definitiva la tensione di uscita attraverso il carico.

Perché il resistore è collegato tra gate e source?

Anche una piccola quantità di rumore può attivare il mosfet. Quindi a tirare giù la resistenza è collegato tra gate e terra, ovvero sorgente.

Codice programma

Burn this code to arduino:
int m // initialize variable m
int n // initialize variable n
void setup()
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)
}

SPIEGAZIONE DEL CODICE

1. La variabile x è il valore di tensione ricevuto dal pin A1 a cui è collegato il terminale del tergicristallo del vaso.

2. Alla variabile y viene assegnato il valore mappato compreso tra 0 e 255.

3. ** come già spiegato nella sezione precedente per circuiti come il convertitore buck o boost, è necessaria una sorgente PWM ad alta frequenza (nell'intervallo di decine di KHZ) perché il MOSFET necessita di alta frequenza per una commutazione perfetta e l'ingresso ad alta frequenza diminuisce il valore o la dimensione di componenti del circuito come induttore e condensatore.

Quindi useremo questo semplice codice per generare una tensione pwm di ca. Frequenza 65 kHz: TCCR0B = TCCR0B e B11111000 | B00000001 // per la frequenza PWM di 62,5 KHz sul pin 6

Come funziona:

Poiché il potenziometro fornisce un valore analogico ad arduino (in base alla posizione del terminale wiper), questo determina il valore di tensione pwm ricevuto dal terminale di gate del mosfet dal pin 6 PWM di Arduino.

E questo valore controlla alla fine la tensione di uscita attraverso il carico.

Quando il mosfet è acceso l'induttore immagazzina energia e quando si spegne questa energia immagazzinata viene rilasciata al carico, in questo caso il motore. E poiché questo processo avviene ad altissima frequenza, otteniamo un gradino verso il basso della tensione CC sul motore che dipende dalla posizione del terminale del tergicristallo poiché il mosfet è un dispositivo dipendente dalla tensione.

Immagini prototipo:

Video Clip del circuito del convertitore Buck spiegato sopra usando Arduino




Precedente: Semplice circuito digitale del misuratore di portata dell'acqua utilizzando Arduino Avanti: 4 circuiti di sensori di prossimità semplici - Utilizzando IC LM358, IC LM567, IC 555