Napravite ovaj Buck Converter koristeći Arduino

Isprobajte Naš Instrument Za Uklanjanje Problema





U ovom ćemo projektu spustiti 12 V DC na bilo koju vrijednost DC između 2 i 11 volti. Krug koji spušta DC napon poznat je kao pretvarač dolje. Izlazni napon ili potrebni napon smanjuje se pomoću potenciometra spojenog na arduino.

Napisao Ankit Negi



UVOD U PRETVARAČE:

U osnovi postoje dvije vrste pretvarača:

1. Buck pretvarač



2. pojačivač pretvarača

Oba pretvarača mijenjaju ulazni napon prema zahtjevu. Slični su a transformator s jednom glavnom razlikom. Dok transformator korača gore / dolje naizmjeničnom naponu, DC pretvarači povećavaju / spuštaju naizmjenični napon. Glavne komponente oba pretvarača su:

A. MOSFET

B. INDUKTOR

C. KAPACITOR

BUCK CONVERTER: kao što i samo ime sugerira, buck znači spustiti ulazni napon. Buck pretvarač daje nam napon manji od ulaznog DC napona s visokim strujnim kapacitetom. To je izravna konverzija.

BOOST CONVERTER: kao što i samo ime sugerira, pojačanje znači za povećanje ulaznog napona.

Pretvarač pojačanja daje nam DC napon više od DC napona na ulazu. To je također izravna konverzija.

** u ovom projektu napravit ćemo krug pretvarača za smanjenje napona od 12 v DC koristeći arduino kao PWM izvor.

PROMJENA ČESTOĆE PWM-a NA ARDUINO PINOVIMA:

PWM iglice arduina UNO su 3, 5, 6, 9, 10 i 11.

Za izvođenje PWM-a koristi se naredba:

analogWrite (PWM PIN NO, PWM VALUE)

i PWM frekvencija za ove pinove su:

Za Arduino pinove 9, 10, 11 i 3 ---- 500Hz

Za Arduino pinove 5 i 6 ---- 1 kHz

Te su frekvencije dobre za opću namjenu, poput blijeđenja LED-a. Ali za sklop poput buck ili boost pretvarač , potreban je visokofrekventni PWM izvor (u rasponu od desetaka KHZ) jer MOSFET-u trebaju visoke frekvencije za savršeno prebacivanje, a također i visokofrekventni ulaz smanjuje vrijednost ili veličinu komponenata kruga poput prigušnice i kondenzatora. Stoga su nam za ovaj projekt potrebni visokofrekventni PWM izvori.

Dobra stvar je što možemo promijeniti PWM frekvenciju PWM pinova arduina pomoću jednostavnog koda:

ZA ARDUINO UNO:

Dostupna PWM frekvencija za D3 i D11:
// TCCR2B = TCCR2B & B11111000 | B00000001 // za PWM frekvenciju od 31372,55 Hz
// TCCR2B = TCCR2B & B11111000 | B00000010 // za PWM frekvenciju od 3921,16 Hz
// TCCR2B = TCCR2B & B11111000 | B00000011 // za PWM frekvenciju od 980,39 Hz
TCCR2B = TCCR2B & B11111000 | B00000100 // za PWM frekvenciju od 490,20 Hz (ZADANO)
// TCCR2B = TCCR2B & B11111000 | B00000101 // za PWM frekvenciju od 245,10 Hz
// TCCR2B = TCCR2B & B11111000 | B00000110 // za PWM frekvenciju od 122,55 Hz
// TCCR2B = TCCR2B & B11111000 | B00000111 // za PWM frekvenciju od 30,64 Hz
Dostupna PWM frekvencija za D5 i D6:
// TCCR0B = TCCR0B & B11111000 | B00000001 // za PWM frekvenciju od 62500,00 Hz
// TCCR0B = TCCR0B & B11111000 | B00000010 // za PWM frekvenciju od 7812,50 Hz
TCCR0B = TCCR0B & B11111000 | B00000011 // za PWM frekvenciju od 976,56 Hz (ZADANO)
// TCCR0B = TCCR0B & B11111000 | B00000100 // za PWM frekvenciju od 244,14 Hz
// TCCR0B = TCCR0B & B11111000 | B00000101 // za PWM frekvenciju od 61,04 Hz
Dostupna PWM frekvencija za D9 i D10:
// TCCR1B = TCCR1B & B11111000 | B00000001 // postavi djelitelj timera 1 na 1 za PWM frekvenciju od 31372,55 Hz
// TCCR1B = TCCR1B & B11111000 | B00000010 // za PWM frekvenciju od 3921,16 Hz
TCCR1B = TCCR1B & B11111000 | B00000011 // za PWM frekvenciju od 490,20 Hz (ZADANO)
// TCCR1B = TCCR1B & B11111000 | B00000100 // za PWM frekvenciju od 122,55 Hz
// TCCR1B = TCCR1B & B11111000 | B00000101 // za PWM frekvenciju od 30,64 Hz
** koristit ćemo pin br. 6 za PWM, dakle kôd:
// TCCR0B = TCCR0B & B11111000 | B00000001 // za PWM frekvenciju od 62,5 KHz

POPIS KOMPONENTI:

1. ARDUINO UNO

2. INDUKTOR (100Uh)

3. SCHOTTKY DIODE

4. KAPACITOR (100 uf)

5. IRF540N

6. POTENTIOMETAR

7. RESISTOR 10k, 100ohm

8. OPTEREĆENJE (u ovom slučaju motor)

9.12 V BATERIJA

KRUŽNI DIJAGRAM

Buck Converter pomoću Arduina

Buck Converter pomoću Arduino rasporeda ožičenja

Spojite kako je prikazano na shemi spojeva.

1. Spojite krajnje stezaljke potenciometra na pin 5v i na uzemljenje arduino UNO, dok njegov terminal brisača priključite na analogni pin A1.

2. Spojite PWM pin 6 arduina na bazu MOSFET-a.

3. Pozitivni terminal baterije na odvod mosfet-a, a negativni na p-terminal Schottky diode.

4. Od p-terminala Schottky diode, spojite teret (motor) u seriju s induktorom na izvorni terminal MOSFET-a.

5. Sada spojite n-terminal Schottky diode na izvorni terminal MOSFET-a.

6. Spojite 47uf kondenzator na motor.

7. Napokon spojite uzemljeni pin arduina na izvorni terminal MOSFET-a.

Svrha mosfet-a:

Mosfet se koristi za prebacivanje ulaznog napona na visokoj frekvenciji i za osiguravanje velike struje s manje odvođenja topline.

Svrha arduina:

Za veliku brzinu prebacivanja MOSFET-a (pri frekvenciji od približno 65 KHz)

Namjena induktora:

Ako se ovaj krug izvodi bez povezivanja prigušnice, tada postoje velike šanse za oštećenje MOSF-a zbog visokonaponskih šiljaka na priključku MOSFET-a.

Da bi se spriječio MOSFET od ovih visokonaponskih šiljaka, on je povezan kako je prikazano na slici, jer kada je MOSFET na njemu pohranjuje energiju, a kada je MOSFET isključen, ovu pohranjenu energiju odaje motoru.

Svrha Schottky diode:

Pretpostavimo da Schottky dioda nije spojena u krug. U ovom slučaju, kada je mosfet isključen, prigušnica oslobađa svoju energiju pod opterećenjem ili motorom koji imaju vrlo mali utjecaj na opterećenje jer postoji nepotpuna petlja za protok struje. Tako Schottky dioda završava petlju za protok struje. Sada ovdje nije spojena normalna dioda jer Schottky dioda ima mali pad napona prema naprijed. Svrha led-a:
za označavanje opadajućeg napona na opterećenju.

Namjena potenciometra:

Potenciometar daje analognu vrijednost arduinu (na temelju položaja terminala brisača) prema kojem pwm napon prima ulazni terminal mosfet-a s PWM pina 6 Arduina. Ova vrijednost u konačnici kontrolira izlazni napon na opterećenju.

Zašto je otpor povezan između vrata i izvora?

Čak i mala količina buke može uključiti mosfet. Stoga a povucite otpornik je povezan između vrata i tla tj. izvora.

Programski kod

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)
}

OBJAŠNJENJE KODA

1. Varijabla x je vrijednost napona primljena s pina A1 na koji je spojen terminal brisača lonca.

2. Varijabli y dodijeljena je preslikana vrijednost koja je između 0 i 255.

3. ** kao što je već objašnjeno u gornjem odjeljku za sklop poput pretvarača ili pojačala, potreban je visokofrekventni PWM izvor (u rasponu od desetaka KHZ) jer MOSFET-u trebaju visoke frekvencije za savršeno prebacivanje, a visokofrekventni ulaz smanjuje vrijednost ili veličinu komponenata sklopa poput prigušnice i kondenzatora.

Stoga ćemo ovaj jednostavni kod koristiti za generiranje pwm napona od cca. Frekvencija 65 kHz: TCCR0B = TCCR0B & B11111000 | B00000001 // za PWM frekvenciju od 62,5 KHz na pinu 6

Kako radi:

Budući da Potenciometar daje analognu vrijednost arduinu (na temelju položaja terminala brisača), to određuje vrijednost napona pwm primljenog terminalom vrata MOSFET-a s PWM pina 6 Arduina.

I ta vrijednost u konačnici kontrolira izlazni napon na opterećenju.

Kada je mosfet uključen, induktor skladišti energiju i kada se isključi, ta se uskladištena energija oslobađa u teret, tj. U ovom slučaju na motor. I budući da se ovaj proces odvija na vrlo visokoj frekvenciji, dobivamo korak dolje istosmjernog napona na motoru, što ovisi o položaju terminala brisača jer je mosfet uređaj ovisno o naponu.

Slike prototipa:

Video isječak gornjeg objašnjenog kruga pretvarača Buck koristeći Arduino




Prethodno: Jednostavni digitalni krug mjerača protoka vode koji koristi Arduino Dalje: 4 jednostavna kruga senzora blizine - Korištenje IC LM358, IC LM567, IC 555