Tässä projektissa aiomme tehdä Buck Converter -piirin, jossa käytetään Arduinoa ja N-Channel MOSFETiä, maksimivirralla 6 ampeeria. Aiomme laskea 12 V DC: n mihin tahansa arvoon 0-10 V DC. Voimme ohjata lähtöjännitteen arvoa kiertämällä potentiometriä.
Buck-muunnin on DC-DC-muunnin, joka vähentää DC-jännitettä. Se on kuin muuntaja, jolla on yksi ero; kun taas muuntaja laskee vaihtovirtajännitemuuntajan alas DC-jännitteen. Buck-muuntimen tehokkuus on pienempi kuin muuntaja.
Buck-muuntimen avainkomponentit ovat mosfet; joko n-kanavainen tai p-kanavainen ja korkeataajuinen neliöpulssigeneraattori (joko ajastin-IC tai mikro-ohjain). Arduinoa käytetään täällä pulssigeneraattorina, tähän tarkoitukseen voidaan käyttää myös 555-ajastin-IC: tä. Tässä olemme osoittaneet tämän Buck-muuntimen säätämällä DC-moottorin nopeutta potentiometrillä, testanneet myös jännitettä yleismittarilla. Tarkista video tämän artikkelin lopussa.
Vaaditut komponentit:
- Arduino Uno
- IRF540N
- Induktori (100Uh)
- Kondensaattori (100uf)
- Schottky-diodi
- Potentiometri
- 10k, 100ohmin vastus
- Ladata
- 12v akku
Piirikaavio ja liitännät:
Tee liitännät DC-DC Buck Converterin yllä olevan piirikaavion mukaisesti.
- Yhdistä yksi induktorin liitin mosfetin lähteeseen ja toinen LED-sarjaan sarjassa 1k-vastuksella. Kuormitus kytketään rinnan tämän järjestelyn kanssa.
- Liitä 10k vastus portin ja lähteen väliin.
- Liitä kondensaattori rinnan kuormituksen kanssa.
- Liitä akun positiivinen napa tyhjenemään ja negatiivinen kondensaattorin negatiiviseen napaan.
- Liitä diodin p-liitin akun negatiiviseen ja n-napa suoraan lähteeseen.
- Arduinon PWM-tappi menee mosfetin portille
- Arduinon GND-nasta menee mosfetin lähteeseen. Liitä se sinne, tai piiri ei toimi.
- Kytke potentiometrin ääriliittimet vastaavasti Arduinon 5v: n ja GND-nastaa. Pyyhinliitin analogiseen tapiin A1.
Arduinon tehtävä:
Kuten jo selitettiin, Arduino lähettää kellopulsseja MOSFET-tukiasemaan. Näiden kellopulssien taajuus on noin. 65 Khz. Tämä aiheuttaa mosfetin erittäin nopean kytkennän ja saamme keskimääräisen jännitearvon. Sinun tulisi oppia ADC: stä ja PWM: stä Arduinossa, mikä puhdistaa sinut siitä, kuinka korkean taajuuden pulsseja Arduino tuottaa:
- Arduino-pohjainen LED-himmennin PWM: n avulla
- Kuinka käyttää ADC: tä Arduino Unossa?
MOSFETin toiminta:
Mosfetia käytetään kahteen tarkoitukseen:
- Lähtöjännitteen nopeaan kytkentään.
- Tarjota suuri virta vähemmän lämmön haihtumista.
Induktorin toiminta:
Induktoria käytetään ohjaamaan jännitepiikkejä, jotka voivat vahingoittaa mosfetiä. Induktori varaa energiaa, kun mosfet on päällä, ja vapauttaa tämän varastoidun energian, kun mosfet on pois päältä. Koska taajuus on erittäin korkea, tätä tarkoitusta varten vaadittu induktanssin arvo on hyvin pieni (noin 100 uH).
Schottky-diodin toiminta:
Schottky-diodi täydentää virtasilmukan, kun mosfet on kytketty pois päältä, ja varmistaa siten virran sujuvan syötön kuormitukseen. Tämän lisäksi schottky-diodi johtaa hyvin matalaa lämpöä ja toimii hyvin korkeammalla taajuudella kuin tavalliset diodit.
LED: n toiminta: LEDin
kirkkaus ilmaisee alenevan jännitteen kuormituksessa. Kun käännämme potentiometriä, LED-valon kirkkaus vaihtelee.
Potentiometrin toiminta:
Kun potentiometrin pyyhinliitin heitetään pois eri asentoon, sen ja maan välinen jännite muuttuu, mikä puolestaan muuttaa arduinon nastan A1 vastaanottamaa analogista arvoa. Tämä uusi arvo kartoitetaan sitten 0: n ja 255: n välillä ja annetaan sitten Arduinon pinille PWM: lle.
** Kondensaattori tasoittaa kuormalle annettavan jännitteen.
Miksi vastus portin ja lähteen välillä?
Jopa pienin MOSFET-portin kohina voi kytkeä sen päälle, joten tämän estämiseksi on aina suositeltavaa liittää suuriarvoinen vastus portin ja lähteen väliin.
Koodin selitys:
Täydellinen Arduino-koodi suurtaajuisten pulssien muodostamiseksi on annettu alla olevassa koodiosassa.
Koodi on yksinkertainen ja itsestään selvä, joten tässä olemme selittäneet vain muutamia koodin osia.
Muuttujalle x määritetään analoginen arvo, joka vastaanotetaan Arduinon analogisesta nastasta A0
x = analoginen luku (A1);
Muuttujalle w määritetään kartoitettu arvo, joka on välillä 0 - 255. Tässä Arduinon ADC-arvot kartoitetaan arvoon 2 - 255 Arduinon karttatoiminnolla .
w = kartta (x, 0,1023,0255);
PWM: n normaali taajuus nastalle 6 on noin 1 kHz. Tämä taajuus ei sovellu tarkoituksiin, kuten buck-muunnin. Siksi tämä taajuus on nostettava erittäin korkealle tasolle. Tämä voidaan saavuttaa käyttämällä yhden rivin koodia tyhjät asetukset:
TCCR0B = TCCR0B & B11111000 - B00000001; // muuta pwm: n taajuus arvoon 65 KHZ.
DC-DC Buck Converterin toiminta:
Kun piiri kytketään päälle, mosfet kytkeytyy päälle ja pois päältä taajuudella 65 khz. Tämä saa induktorin varastoimaan energiaa, kun mosfet on päällä, ja antaa tämän varastoidun energian latautumaan, kun mosfet sammuu. Koska tämä tapahtuu hyvin suurella taajuudella, saadaan pulssiulostulojännitteen keskiarvo potentiometrin pyyhkimen liittimen sijainnista 5v-liittimeen nähden. Ja kun tämä pyyhinliittimen ja maan välinen jännite kasvaa, niin pwm-nastan nro. 6 Arduinosta.
Oletetaan, että tämä kartoitettu arvo on 200. Sitten tapin 6 PWM-jännite on: = 3,921 volttia
Ja koska MOSFET on jännitteestä riippuvainen laite, tämä pwm-jännite lopulta määrittää kuorman yli olevan jännitteen.
Tässä olemme osoittaneet tämän Buck-muuntimen kiertämällä DC-moottoria ja tarkistamalla yleismittarista alla oleva video. Olemme säätäneet moottorin nopeutta potentiometrillä ja ledin kirkkautta potentiometrillä.