U ovom ćemo projektu izraditi Buck Converter krug koristeći Arduino i N-Channel MOSFET s maksimalnim trenutnim kapacitetom od 6 ampera. Smanjit ćemo 12v DC na bilo koju vrijednost između 0 i 10v DC. Vrijednošću izlaznog napona možemo kontrolirati okretanjem potenciometra.
Buck pretvarač je pretvarač u istosmjerni u istosmjerni tok koji smanjuje istosmjerni napon. Upravo je poput transformatora s jednom razlikom; dok transformator silazi naizmjeničnim naponom, dok ga pretvarač spušta istosmjerni napon. Učinkovitost pretvarača nižeg stupnja od transformatora.
Ključne komponente pretvarača dolara su mosfet; bilo n-kanalni ili p-kanalni i visokofrekventni kvadratni generator impulsa (bilo mjerač vremena ili mikrokontroler). Arduino se ovdje koristi kao generator impulsa, a u tu se svrhu može koristiti i 555 Timer IC. Ovdje smo demonstrirali ovaj Buck pretvarač upravljajući brzinom istosmjernog motora pomoću potenciometra, također testirajući napon pomoću multimetra. Pogledajte videozapis na kraju ovog članka.
Potrebne komponente:
- Arduino Uno
- IRF540N
- Induktor (100Uh)
- Kondenzator (100uf)
- Schottky dioda
- Potenciometar
- 10k, 100ohm otpornik
- Opterećenje
- 12v baterija
Kružni dijagram i veze:

Uspostavite veze kao što je prikazano na gornjoj shemi za DC-DC pretvarač s naponom.
- Spojite jedan terminal induktora na izvor MOSFET-a, a drugi na LED u seriji s otpornikom od 1 k. Opterećenje je spojeno paralelno s ovim rasporedom.
- Spojite 10k otpornik između vrata i izvora.
- Spojite kondenzator paralelno s opterećenjem.
- Spojite pozitivni terminal baterije na pražnjenje, a negativni na negativni priključak kondenzatora.
- Spojite p terminal diode na minus baterije i n terminal izravno na izvor.
- PWM iglica Arduina ide do vrata MOSFET-a
- GND iglica Arduina ide do izvora MOSFET-a. Spojite ga tamo ili sklop neće raditi.
- Ekstremne stezaljke potenciometra povežite s 5v i GND pinom Arduina. Dok je terminal brisača na analognom pinu A1.

Funkcija Arduina:
Kao što je već objašnjeno, Arduino šalje impulse sata na bazu MOSFET-a. Frekvencija ovih impulsa takta je približno. 65 kHz. To uzrokuje vrlo brzo prebacivanje MOSFET-a i dobivamo prosječnu vrijednost napona. Trebali biste naučiti o ADC-u i PWM-u u Arduinu, što će vam očistiti kako Arduino generira visokofrekventne impulse:
- LED zatamnjivač zasnovan na Arduinu koji koristi PWM
- Kako koristiti ADC u Arduino Uno?
Funkcija MOSFET-a:
Mosfet se koristi u dvije svrhe:
- Za velike brzine prebacivanja izlaznog napona.
- Da bi se osigurala velika struja uz manje odvođenje topline.
Funkcija prigušnice:
Prigušnica služi za upravljanje skokovima napona koji mogu oštetiti MOSFET. Induktor pohranjuje energiju kada je mosfet uključen i oslobađa tu pohranjenu energiju kada je mosfet isključen. Budući da je frekvencija vrlo visoka, vrijednost induktiviteta potrebna za ovu svrhu je vrlo niska (oko 100uH).
Funkcija Schottky diode:
Schottky dioda dovršava petlju struje kada je mosfet isključen i na taj način osigurava nesmetanu opskrbu strujom. Osim toga, Schottky dioda rasipa vrlo nisku toplinu i radi dobro na višim frekvencijama od uobičajenih dioda.
Funkcija LED-a:
Svjetlina LED-a ukazuje na opadajući napon na opterećenju. Dok okrećemo potenciometar, svjetlina LED-a varira.
Funkcija potenciometra:
Kad se terminal brisača potenciometra odbaci u drugi položaj, mijenja se napon između njega i zemlje, što zauzvrat mijenja analognu vrijednost primljenu pinom A1 arduina. Ta se nova vrijednost zatim preslikava između 0 i 255 i daje se na pin 6 Arduina za PWM.
** Kondenzator izravnava napon dan opterećenju.
Zašto otpornik između vrata i izvora?
Čak i najmanji šum na vratima MOSFET-a može ga uključiti, pa se zato spriječava da se to uvijek dogodi, preporuča se spajanje otpora velike vrijednosti između vrata i izvora.

Objašnjenje koda:
Kompletni Arduino kôd za generiranje visokofrekventnih impulsa dat je u donjem odjeljku koda.
Kôd je jednostavan i samorazumljiv, pa smo ovdje objasnili samo nekoliko dijelova koda.
Varijabli x dodjeljuje se analogna vrijednost koja se prima s analognog pina A0 Arduina
x = analogRead (A1);
Varijabli w dodjeljuje se preslikana vrijednost koja je između 0 i 255. Ovdje se ADC vrijednosti Arduina preslikavaju na 2 do 255 pomoću funkcije karte u Arduinu.
w = karta (x, 0,1023,0,255);
Uobičajena frekvencija PWM-a za pin 6 je približno 1khz. Ova frekvencija nije prikladna za svrhe poput pretvarača buck. Stoga se ta frekvencija mora povećati na vrlo visoku razinu. To se može postići korištenjem jednog retka koda u void postavljanju:
TCCR0B = TCCR0B & B11111000 - B00000001; // promijeni frekvenciju pwm na 65 KHZ približno
Rad DC-DC pretvarača:
Kad je krug uključen, mosfet se uključuje i isključuje s frekvencijom od 65 khz. To uzrokuje da induktor pohranjuje energiju kada je mosfet uključen, a zatim daje tu pohranjenu energiju da se optereti kada se mosfet isključi. Budući da se to događa na vrlo visokoj frekvenciji, dobivamo prosječnu vrijednost impulsnog izlaznog napona ovisno o položaju terminala brisača potenciometra s obzirom na 5v terminal. A kako se ovaj napon između terminala brisača i mase povećava, tako se povećava i preslikana vrijednost na pwm pinu br. 6 Arduina.
Recimo da je ova preslikana vrijednost 200. Tada će PWM napon na pinu 6 biti na: = 3,921 volti
A budući da je MOSFET uređaj ovisan o naponu, ovaj pwm napon u konačnici određuje napon na opterećenju.

Ovdje smo demonstrirali ovaj Buck pretvarač okretanjem istosmjernog motora i na multimetru, pogledajte video u nastavku. Kontrolirali smo brzinu motora s potenciometrom i kontrolirali svjetlinu LED-a s potenciometrom.
