Tee tämä Buck Converter käyttämällä Arduinoa

Kokeile Instrumenttia Ongelmien Poistamiseksi





Tässä projektissa aiomme laskea 12 V DC: n mihin tahansa DC: n arvoon 2-11 V voltin välillä. Piiri, joka laskee DC-jännitteen alas, tunnetaan buck-muuntimena. Tarvittavaa lähtöjännitettä tai vähennysjännitettä ohjataan arduinoon liitetyllä potentiometrillä.

Kirjoittanut Ankit Negi



JOHDANTO MUUTTIMILLE

Muuntimia on periaatteessa kahta tyyppiä:

1. Buck-muunnin



2. Boost-muunnin

Molemmat muuntimet muuttavat tulojännitettä vaatimusten mukaisesti. Ne ovat samanlaisia ​​kuin muuntaja yhdellä pääerolla. Muuntaja nostaa / laskee AC-jännitettä, kun taas DC-muuntimet lisäävät / laskevat DC-jännitettä. Molempien muuntimien pääkomponentit ovat:

A. MOSFET

B. Induktori

C. KAPASITORI

BUCK CONVERTER: kuten nimestä itsestään käy ilmi, buck tarkoittaa laskemaan tulojännitettä. Buck-muunnin antaa meille jännitteen, joka on pienempi kuin syöttöjännite suurella virtakapasiteetilla. Se on suora muuntaminen.

BOOST CONVERTER: kuten nimestä itsestään käy ilmi, boost tarkoittaa tulojännitteen lisäämistä.

Boost-muunnin antaa meille DC-jännitteen enemmän kuin DC-jännite tulossa. Se on myös suora muuntaminen.

** Tässä projektissa aiomme tehdä buck-muunninpiirin 12 v DC: n alasajoon käyttämällä arduinoa PWM-lähteenä.

PWM-TAAJUUDEN MUUTTAMINEN ARDUINO-PINOISSA:

Arduino UNO: n PWM-nastat ovat 3, 5, 6, 9, 10 ja 11.

PWM: n suorittamiseksi käytetty komento on:

analogWrite (PWM PIN NO, PWM ARVO)

ja näiden tappien PWM-taajuus ovat:

Arduino-nastoille 9, 10, 11 ja 3 ---- 500Hz

Arduino-nastoille 5 ja 6 ---- 1 kHz

Nämä taajuudet sopivat yleiskäyttöön, kuten ledin häipymiseen. Mutta piirin kaltaiselle buck tai boost-muunnin Tarvitaan korkeataajuista PWM-lähdettä (kymmenien KHZ: n alueella), koska MOSFET tarvitsee suurtaajuutta täydelliseen kytkentään ja myös korkean taajuuden tulo pienentää piirikomponenttien, kuten induktorin ja kondensaattorin, arvoa tai kokoa. Siksi tarvitsemme tähän projektiin korkeataajuisen PWM-lähteen.

Hyvä asia on, että voimme muuttaa arduinon PWM-nastojen PWM-taajuutta yksinkertaisen koodin avulla:

ARDUINO UNO:

Saatavilla oleva PWM-taajuus malleille D3 ja D11:
// TCCR2B = TCCR2B & B11111000 | B00000001 // PWM-taajuudelle 31372,55 Hz
// TCCR2B = TCCR2B & B11111000 | B00000010 // PWM-taajuudelle 3921,16 Hz
// TCCR2B = TCCR2B & B11111000 | B00000011 // PWM-taajuudelle 980,39 Hz
TCCR2B = TCCR2B & B11111000 | B00000100 // PWM-taajuudelle 490,20 Hz (OLETUS)
// TCCR2B = TCCR2B & B11111000 | B00000101 // PWM-taajuudelle 245,10 Hz
// TCCR2B = TCCR2B & B11111000 | B00000110 // PWM-taajuudelle 122,55 Hz
// TCCR2B = TCCR2B & B11111000 | B00000111 // PWM-taajuudelle 30,64 Hz
Saatavilla oleva PWM-taajuus malleille D5 ja D6:
// TCCR0B = TCCR0B & B11111000 | B00000001 // PWM-taajuudelle 62500,00 Hz
// TCCR0B = TCCR0B & B11111000 | B00000010 // PWM-taajuudelle 7812,50 Hz
TCCR0B = TCCR0B & B11111000 | B00000011 // PWM-taajuudelle 976,56 Hz (OLETUS)
// TCCR0B = TCCR0B & B11111000 | B00000100 // PWM-taajuudelle 244,14 Hz
// TCCR0B = TCCR0B & B11111000 | B00000101 // PWM-taajuudelle 61,04 Hz
Saatavilla oleva PWM-taajuus malleille D9 ja D10:
// TCCR1B = TCCR1B & B11111000 | B00000001 // aseta ajastimen 1 jakaja arvoon 1 PWM-taajuudelle 31372,55 Hz
// TCCR1B = TCCR1B & B11111000 | B00000010 // PWM-taajuudelle 3921,16 Hz
TCCR1B = TCCR1B ja B11111000 | B00000011 // PWM-taajuudelle 490,20 Hz (OLETUS)
// TCCR1B = TCCR1B & B11111000 | B00000100 // PWM-taajuudelle 122,55 Hz
// TCCR1B = TCCR1B & B11111000 | B00000101 // PWM-taajuudelle 30,64 Hz
** aiomme käyttää tappi nro. 6 PWM: lle, joten koodi:
// TCCR0B = TCCR0B & B11111000 | B00000001 // PWM-taajuudelle 62,5 KHz

KOMPONENTTILUETTELO:

1. ARDUINO UNO

2. INDUKTORI (100Uh)

3. SCHOTTKY-DIODI

4. Kondensaattori (100uf)

5. IRF540N

6. POTENTIOMETRI

7. 10k, 100ohmin VASTUS

8. LOAD (tässä tapauksessa moottori)

9.12 V AKKU

PIIRIKAAVIO

Buck Converter Arduinolla

Buck Converter Arduino-johdotuksen asettelu

Tee liitännät piirikaavion mukaisesti.

1. Kytke potentiometrin pääteliittimet vastaavasti arduino UNO: n 5v: n ja maadoitusliittimeen, kun taas sen pyyhinliitin analogiseen tapiin A1.

2. Liitä arduinon PWM-nasta 6 mosfetin pohjaan.

3. Akun positiivinen napa mosfetin tyhjenemiseen ja negatiivinen schottky-diodin p-napaan.

4. Liitä schottky-diodin p-liittimestä kuorma (moottori) sarjaan induktorin kanssa mosfetin lähdeliittimeen.

5. Liitä nyt schottky-diodin n-terminaali mosfetin lähdeliittimeen.

6. Liitä 47uf-kondensaattori moottorin poikki.

7. Yhdistä vihdoin arduinon maadoitettu nasta mosfetin lähdeliittimeen.

Mosfetin tarkoitus:

Mosfetiä käytetään vaihtamaan tulojännite suurella taajuudella ja tuottamaan korkea virta pienemmällä lämmön haihdutuksella.

Arduinon tarkoitus:

Suurelle mosfetin kytkentänopeudelle (noin taajuudella 65 KHz)

Induktorin tarkoitus:

Jos tämä piiri suoritetaan kytkemättä induktoria, on suuret mahdollisuudet vahingoittaa mosfetiä mosfetin liittimen suurjännitepiikkien vuoksi.

Mosfetin estämiseksi näiltä suurjännitepiikeiltä se on kytketty kuvan osoittamalla tavalla, koska kun mosfet on päällä, se tallentaa energiaa ja kun mosfet on pois päältä, se antaa tämän varastoidun energian pois moottorille.

Schottky-diodin tarkoitus:

Oletetaan, että schottky-diodia ei ole kytketty piiriin. Tässä tapauksessa, kun mosfet kytketään pois päältä, induktori vapauttaa energiansa kuormitukseen tai moottoriin, millä on hyvin pieni vaikutus kuormitukseen, koska virran virtaamiseksi on puutteellinen silmukka. Siten schottky-diodi täydentää silmukan virran virtaamiseksi. Normaalia diodia ei ole nyt kytketty tähän, koska schottky-diodilla on pieni eteenpäin suuntautuvan jännitteen pudotus.
osoittaa alenevan jännitteen kuormituksessa.

Potentiometrin tarkoitus:

Potentiometri antaa analogisen arvon arduinolle (pyyhkimen päätelaitteen sijainnin perusteella), jonka mukaan moswetin porttipääte vastaanottaa pwm-jännitteen Arduinon PWM-nastasta 6. Tämä arvo ohjaa viime kädessä lähtöjännitettä kuormituksen yli.

Miksi vastus on kytketty portin ja lähteen väliin?

Jopa pieni määrä melua voi käynnistää mosfetin. Siksi a vedä alas vastus on kytketty portin ja maan eli lähteen väliin.

Ohjelmakoodi

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

KOODISELITYS

1. Muuttuja x on jännite, joka saadaan tapilta A1, johon potin pyyhinliitin on kytketty.

2. Muuttujalle y määritetään kartoitettu arvo, joka on välillä 0 - 255.

3. ** kuten edellä kappaleessa selitettiin piirille, kuten buck- tai boost-muuntimelle, tarvitaan korkeataajuista PWM-lähdettä (kymmenien KHZ: n alueella), koska MOSFET tarvitsee suurtaajuutta täydelliseen kytkentään ja suurtaajuustulo vähentää arvoa tai kokoa piirikomponenteista, kuten induktori ja kondensaattori.

Siksi aiomme käyttää tätä yksinkertaista koodia generoimaan n. 65 kHz: n taajuus: TCCR0B = TCCR0B & B11111000 | B00000001 // PWM-taajuudelle 62,5 KHz napalla 6

Kuinka se toimii:

Koska potentiometri antaa analogisen arvon arduinolle (pyyhkimen päätelaitteen sijainnin perusteella), tämä määrittää pwm-jännitteen arvon, jonka mosfetin porttipääte vastaanottaa Arduinon PWM-nastasta 6.

Ja tämä arvo ohjaa lopulta lähtöjännitettä kuormituksen yli.

Kun mosfet on päällä, induktori varaa energiaa ja kun se sammuu, tämä varastoitu energia vapautuu kuormitukseen, tässä tapauksessa moottoriin. Ja koska tämä prosessi tapahtuu erittäin suurella taajuudella, saamme alennuksen DC-jännitteestä moottorin yli, joka riippuu pyyhkimen terminaalin sijainnista, koska mosfet on jännitteestä riippuva laite.

Kuvien prototyyppi:

Videoleike yllä olevasta selitetystä Buck Converter -piiristä Arduinoa käyttämällä




Pari: Yksinkertainen digitaalinen vesivirtausmittaripiiri Arduinolla Seuraava: 4 yksinkertaista läheisyysanturipiiriä - IC LM358, IC LM567, IC 555