- Componenti richiesti:
- Schema elettrico e collegamenti:
- Spiegazione del codice:
- Funzionamento del convertitore buck DC-DC:
In questo progetto realizzeremo un circuito convertitore Buck utilizzando Arduino e MOSFET a canale N con una capacità di corrente massima di 6 amp. Ridurremo 12 V CC a qualsiasi valore compreso tra 0 e 10 V CC. Possiamo controllare il valore della tensione di uscita ruotando il potenziometro.
Un convertitore buck è un convertitore da CC a CC, che riduce la tensione CC. È proprio come un trasformatore con una differenza; mentre il trasformatore abbassa la tensione CA Il convertitore buck abbassa la tensione CC. L'efficienza del convertitore buck è inferiore a quella di un trasformatore.
I componenti chiave del convertitore buck sono mosfet; Generatore di impulsi quadrati a canale n o canale p e ad alta frequenza (IC timer o microcontrollore). Arduino viene utilizzato qui come generatore di impulsi, a questo scopo può essere utilizzato anche un timer IC 555. Qui abbiamo dimostrato questo convertitore Buck controllando la velocità del motore CC con il potenziometro, testato anche la tensione utilizzando il multimetro. Guarda il video alla fine di questo articolo.
Componenti richiesti:
- Arduino Uno
- IRF540N
- Induttore (100Uh)
- Condensatore (100 uf)
- Diodo Schottky
- Potenziometro
- Resistenza da 10k, 100ohm
- Caricare
- Batteria 12v
Schema elettrico e collegamenti:
Effettuare i collegamenti come mostrato nello schema del circuito sopra per il convertitore buck DC-DC.
- Collegare un terminale dell'induttore alla sorgente del mosfet e un altro al LED in serie con un resistore da 1k. Il carico è collegato in parallelo a questa disposizione.
- Collegare una resistenza da 10k tra gate e source.
- Collegare il condensatore in parallelo al carico.
- Collegare il terminale positivo della batteria allo scarico e il negativo al terminale negativo del condensatore.
- Collegare il terminale p del diodo al negativo della batteria e il terminale n direttamente alla sorgente.
- Il pin PWM di Arduino va al gate del mosfet
- Il pin GND di Arduino va alla fonte del mosfet. Collegalo lì o il circuito non funzionerà.
- Collega i terminali estremi del potenziometro rispettivamente al pin 5v e al pin GND di Arduino. Considerando che il terminale del tergicristallo al pin analogico A1.
Funzione di Arduino:
Come già spiegato, Arduino invia impulsi di clock alla base del MOSFET. La frequenza di questi impulsi di clock è di ca. 65 Khz. Ciò provoca una commutazione molto rapida del mosfet e si ottiene un valore di tensione medio. Dovresti conoscere ADC e PWM in Arduino, che ti chiarirà come gli impulsi ad alta frequenza vengono generati da Arduino:
- Dimmer LED basato su Arduino con PWM
- Come utilizzare ADC in Arduino Uno?
Funzione del MOSFET:
Mosfet viene utilizzato per due scopi:
- Per la commutazione ad alta velocità della tensione di uscita.
- Per fornire corrente elevata con minore dissipazione del calore.
Funzione dell'induttore: l'
induttore viene utilizzato per controllare i picchi di tensione che possono danneggiare il mosfet. L'induttore immagazzina energia quando il mosfet è acceso e rilascia questa energia immagazzinata quando il mosfet è spento. Poiché la frequenza è molto alta, il valore dell'induttanza richiesta a questo scopo è molto basso (circa 100uH).
Funzione del diodo Schottky: il
diodo Schottky completa il ciclo di corrente quando il mosfet è spento, garantendo così una fornitura regolare di corrente al carico. Oltre a questo, il diodo Schottky dissipa un calore molto basso e funziona bene a frequenze più elevate rispetto ai diodi normali.
Funzione del LED: la
luminosità del LED indica la tensione di abbassamento attraverso il carico. Quando ruotiamo il potenziometro, la luminosità del LED varia.
Funzione del potenziometro:
Quando il terminale del tergicristallo del potenziometro viene portato in una posizione diversa, la tensione tra esso e la massa cambia, il che a sua volta cambia il valore analogico ricevuto dal pin A1 di arduino. Questo nuovo valore viene quindi mappato tra 0 e 255 e quindi assegnato al pin 6 di Arduino per PWM.
** Il condensatore attenua la tensione fornita al carico.
Perché resistore tra gate e source?
Anche il minimo rumore al gate del MOSFET può accenderlo, quindi per evitare che ciò accada è sempre consigliabile collegare un resistore di alto valore tra gate e source.
Spiegazione del codice:
Il codice Arduino completo, per la generazione di impulsi ad alta frequenza, è fornito nella sezione codice sottostante.
Il codice è semplice e autoesplicativo, quindi qui abbiamo spiegato solo alcune parti del codice.
Alla variabile x viene assegnato il valore analogico ricevuto dal pin analogico A0 di Arduino
x = analogRead (A1);
Alla variabile w viene assegnato il valore mappato che è compreso tra 0 e 255. Qui i valori ADC di Arduino sono mappati da 2 a 255 utilizzando la funzione map in Arduino.
w = mappa (x, 0,1023,0,255);
La frequenza normale del PWM per il pin 6 è di circa 1 kHz. Questa frequenza non è adatta per scopi come il convertitore buck. Quindi questa frequenza deve essere aumentata a un livello molto alto. Ciò può essere ottenuto utilizzando un codice di una riga nella configurazione void:
TCCR0B = TCCR0B & B11111000 - B00000001; // cambia la frequenza di pwm a 65 KHZ circa.
Funzionamento del convertitore buck DC-DC:
Quando il circuito è acceso, il mosfet si accende e si spegne con una frequenza di 65 khz. Ciò fa sì che l'induttore immagazzini energia quando il mosfet è acceso e quindi fornisca questa energia immagazzinata al caricamento quando il mosfet si spegne. Poiché ciò avviene ad altissima frequenza, si ottiene un valore medio della tensione di uscita impulsiva dipendente dalla posizione del terminale del tergicristallo del potenziometro rispetto al terminale 5v. E poiché questa tensione tra il terminale del tergicristallo e la massa aumenta, aumenta anche il valore mappato sul pin pwm n. 6 di Arduino.
Supponiamo che questo valore mappato sia 200. Quindi la tensione PWM sul pin 6 sarà a: = 3,921 volt
E poiché il MOSFET è un dispositivo dipendente dalla tensione, questa tensione pwm determina in ultima analisi la tensione attraverso il carico.
Qui abbiamo dimostrato questo convertitore Buck ruotando un motore CC e sul multimetro, controlla il video qui sotto. Abbiamo controllato la velocità del motore con potenziometro e controllato la luminosità del LED con potenziometro.