Naredite ta Buck Converter z uporabo Arduina

Preizkusite Naš Instrument Za Odpravo Težav





V tem projektu bomo znižali 12V DC na katero koli vrednost DC med 2 in 11volti. Vezje, ki zniža napetost enosmernega toka, je znano kot pretvornik. Potrebno izhodno napetost ali napetost navzdol nadziramo s pomočjo potenciometra, priključenega na arduino.

Avtor Ankit Negi



UVOD V PRETVORNIKE:

V osnovi obstajata dve vrsti pretvornikov:

1. Buck pretvornik



2. Boost pretvornik

Oba pretvornika spremenita vhodno napetost glede na zahtevo. So podobni a transformator z eno glavno razliko. Medtem ko transformator stopnjuje navzgor / navzdol napetost izmeničnega toka, DC pretvorniki stopnjujejo navzgor / navzdol napetost izmeničnega toka. Glavni sestavni deli obeh pretvornikov so:

A. MOSFET

B. INDUKTOR

C. KAPACITOR

BUCK CONVERTER: kot že samo ime pove, buck pomeni znižanje vhodne napetosti. Buck pretvornik nam daje napetost manjšo od vhodne enosmerne napetosti z visoko tokovno zmogljivostjo. Gre za neposredno pretvorbo.

BOOST CONVERTER: kot že samo ime pove, boost pomeni povečanje vhodne napetosti.

Boost pretvornik nam daje DC napetost več kot DC napetost na vhodu. Je tudi neposredna pretvorba.

** v tem projektu bomo naredili vezje pretvornika dolarjev, da se bomo znižali na 12 v DC z uporabo arduina kot vira PWM.

SPREMINJANJE POWM PWM NA ARDUINO PINS:

PWM zatiči arduino UNO so 3, 5, 6, 9, 10 in 11.

Za izvajanje PWM je uporabljen ukaz:

analogWrite (PWM PIN NO, PWM VALUE)

in frekvenca PWM za te nožice sta:

Za Arduino Pins 9, 10, 11 in 3 ---- 500Hz

Za Arduino Pins 5 in 6 ---- 1kHz

Te frekvence so primerne za splošno uporabo, kot je bledenje LED. Toda za vezje, kot je pretvornik , potrebujemo visokofrekvenčni vir PWM (v območju deset KHZ), ker MOSFET potrebuje visoko frekvenco za popolno preklapljanje in tudi visokofrekvenčni vhod zmanjša vrednost ali velikost komponent vezja, kot so induktor in kondenzator. Tako za ta projekt potrebujemo visokofrekvenčni vir PWM.

Dobra stvar je, da lahko spremenimo frekvenco PWM PWM zatičev arduina z uporabo preproste kode:

ZA ARDUINO UNO:

Razpoložljiva frekvenca PWM za D3 in D11:
// TCCR2B = TCCR2B & B11111000 | B00000001 // za frekvenco PWM 31372,55 Hz
// TCCR2B = TCCR2B & B11111000 | B00000010 // za frekvenco PWM 3921,16 Hz
// TCCR2B = TCCR2B & B11111000 | B00000011 // za frekvenco PWM 980,39 Hz
TCCR2B = TCCR2B & B11111000 | B00000100 // za frekvenco PWM 490,20 Hz (PRIROČNO)
// TCCR2B = TCCR2B & B11111000 | B00000101 // za frekvenco PWM 245,10 Hz
// TCCR2B = TCCR2B & B11111000 | B00000110 // za frekvenco PWM 122,55 Hz
// TCCR2B = TCCR2B & B11111000 | B00000111 // za frekvenco PWM 30,64 Hz
Razpoložljiva frekvenca PWM za D5 in D6:
// TCCR0B = TCCR0B & B11111000 | B00000001 // za frekvenco PWM 62500,00 Hz
// TCCR0B = TCCR0B & B11111000 | B00000010 // za frekvenco PWM 7812,50 Hz
TCCR0B = TCCR0B & B11111000 | B00000011 // za frekvenco PWM 976,56 Hz (PRIROČNO)
// TCCR0B = TCCR0B & B11111000 | B00000100 // za frekvenco PWM 244,14 Hz
// TCCR0B = TCCR0B & B11111000 | B00000101 // za frekvenco PWM 61,04 Hz
Razpoložljiva frekvenca PWM za D9 in D10:
// TCCR1B = TCCR1B & B11111000 | B00000001 // delilec časovnika 1 nastavi na 1 za frekvenco PWM 31372,55 Hz
// TCCR1B = TCCR1B & B11111000 | B00000010 // za frekvenco PWM 3921,16 Hz
TCCR1B = TCCR1B & B11111000 | B00000011 // za frekvenco PWM 490,20 Hz (PRIROČNO)
// TCCR1B = TCCR1B & B11111000 | B00000100 // za frekvenco PWM 122,55 Hz
// TCCR1B = TCCR1B & B11111000 | B00000101 // za frekvenco PWM 30,64 Hz
** uporabili bomo št. 6 za PWM, od tod tudi koda:
// TCCR0B = TCCR0B & B11111000 | B00000001 // za frekvenco PWM 62,5 KHz

SEZNAM KOMPONENT:

1. ARDUINO UNO

2. INDUKTOR (100Uh)

3. SCHOTTKY DIODE

4. KAPACITOR (100uf)

5. IRF540N

6. POTENTIOMETER

7. 10k, 100ohm upor

8. OBREMENITEV (v tem primeru motor)

9.12 V BATERIJA

KROG DIAGRAM

Buck Converter z uporabo Arduina

Buck Converter z uporabo ožičenja Arduino

Vzpostavite povezave, kot je prikazano na vezju.

1. Končne sponke potenciometra priključite na 5v zatič in ozemljitveni zatič arduino UNO, medtem ko njegov terminal brisalca pripnite na analogni zatič A1.

2. Povežite zatič PWM 6 arduina z dnom MOSFET-a.

3. Pozitivni priključek akumulatorja na odtok mosfet-a in negativni na p-terminal Schottky-jeve diode.

4. Od p-terminala Schottky-jeve diode priključite breme (motor) zaporedno z induktorjem na izvorni terminal MOSFET-a.

5. Zdaj priključite n-terminal Schottky diode na izvorni terminal MOSFET-a.

6. Priključite 47uf kondenzator na motor.

7. Nazadnje ozemljitveni zatič arduina priključite na izvorni terminal MOSFET-a.

Namen MOSFET-a:

Mosfet se uporablja za preklapljanje vhodne napetosti pri visokih frekvencah in za zagotavljanje visokega toka z manj odvajanja toplote.

Namen arduina:

Za visoko preklopno hitrost MOSFET-a (pri frekvenci približno 65 KHz)

Namen induktorja:

Če to vezje deluje brez priključitve induktorja, obstaja velika verjetnost poškodbe MOSF-a zaradi visokonapetostnih konic na sponki MOSFET-a.

Za preprečitev MOSFET-a pred temi visokonapetostnimi konicami je povezan, kot je prikazano na sliki, saj ko je MOSFET na njem shranjuje energijo in ko je MOSFET izklopljen, to shranjeno energijo odda motorju.

Namen Schottky diode:

Predpostavimo, da Schottky dioda ni priključena v vezje. V tem primeru, ko je mosfet izklopljen, induktor sprosti svojo energijo za obremenitev ali motor, ki ima zelo majhen učinek na obremenitev, ker obstaja nepopolna zanka za tok. Tako dioda Schottky zaključi zanko za pretok toka. Zdaj tu ni priključena običajna dioda, ker ima Schottky dioda nizek padec napetosti naprej.
za prikaz napetosti navzdol na obremenitvi.

Namen potenciometra:

Potenciometer daje analogno vrednost arduinu (glede na položaj terminala brisalcev), v skladu s katero napetost pwm sprejema vhodni terminal mosfet-a s PWM zatiča 6 Arduina. Ta vrednost v končni fazi nadzoruje izhodno napetost na obremenitvi.

Zakaj je upor povezan med vrati in izvorom?

Tudi majhna količina hrupa lahko vklopi MOSFET. Zato a izvlecite upor je povezan med vrati in tlemi, tj. virom.

Programska koda

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

POJASNILO KODE

1. Spremenljivka x je vrednost napetosti, prejeta od zatiča A1, na katerega je priključen terminal brisalca lonca.

2. Spremenljivki y je dodeljena preslikana vrednost, ki je med 0 in 255.

3. ** kot je že razloženo v zgornjem razdelku za vezje, kot je pretvornik ali ojačevalnik, potrebujemo visokofrekvenčni vir PWM (v območju deset KHZ), ker MOSFET potrebuje visoko frekvenco za popolno preklapljanje in visokofrekvenčni vhod zmanjša vrednost ali velikost komponent vezja, kot so induktor in kondenzator.

Tako bomo s to preprosto kodo ustvarili pwm napetost približno. 65 kHz frekvenca: TCCR0B = TCCR0B & B11111000 | B00000001 // za frekvenco PWM 62,5 KHz na zatiču 6

Kako deluje:

Ker potenciometer daje analogno vrednost arduinu (glede na položaj terminala brisalca), ta določa vrednost napetosti pwm, ki jo prehodni terminal mosfet-a prejme od PWM zatiča 6 Arduina.

In ta vrednost na koncu nadzoruje izhodno napetost med obremenitvijo.

Ko je mosfet vklopljen, induktor shranjuje energijo in ko se ta izklopi, se ta shranjena energija sprosti v breme, v tem primeru motor. In ker ta postopek poteka na zelo visoki frekvenci, dobimo korak navzdol enosmerne napetosti na motorju, kar je odvisno od položaja terminala brisalcev, saj je mosfet napetostno odvisna naprava.

Prototipne slike:

Video posnetek zgornjega pojasnjenega vezja pretvornika Buck z uporabo Arduina




Prejšnja: Preprosto vezje digitalnega vodomera z uporabo Arduina Naprej: 4 enostavna vezja senzorjev bližine - z uporabo IC LM358, IC LM567, IC 555