- Reikalingi komponentai:
- Grandinės schema ir jungtys:
- Kodo paaiškinimas:
- DC-DC Buck Converter veikimas:
Šiame projekte mes ketiname sukurti „ Buck Converter“ grandinę naudodami „Arduino“ ir „N-Channel MOSFET“, kurių maksimali srovės galia yra 6 amperai. Mes ketiname atsisakyti 12v DC iki bet kokios vertės nuo 0 iki 10v DC. Išėjimo įtampos vertę galime valdyti sukdami potenciometrą.
„Buck“ keitiklis yra nuolatinės srovės keitiklis, kuris mažina nuolatinę įtampą. Tai yra kaip transformatorius su vienu skirtumu; transformatorius sumažina kintamosios srovės įtampos keitiklį. „Buck“ keitiklio efektyvumas yra mažesnis nei transformatoriaus.
Pagrindiniai „buck konverterio“ komponentai yra „mosfet“; arba n kanalų, arba p kanalų ir aukšto dažnio kvadratinių impulsų generatorius (arba laikmačio IC, arba mikrovaldiklis). „Arduino“ čia naudojamas kaip impulsų generatorius, šiam tikslui taip pat gali būti naudojamas „555 Timer IC“. Čia mes parodėme šį „Buck“ keitiklį, valdydami nuolatinės srovės variklio greitį potenciometru, taip pat išbandėme įtampą naudodami multimetrą. Patikrinkite vaizdo įrašą šio straipsnio pabaigoje.
Reikalingi komponentai:
- Arduino Uno
- IRF540N
- Induktorius (100Uh)
- Kondensatorius (100uf)
- Schottky diodas
- Potenciometras
- 10k, 100ohm rezistorius
- Apkrova
- 12v baterija
Grandinės schema ir jungtys:
Atlikite DC-DC Buck Converter jungtis, kaip parodyta aukščiau esančioje schemoje.
- Prijunkite vieną induktoriaus gnybtą prie „mosfet“ šaltinio, o kitą - prie nuoseklios šviesos diodų su 1k rezistoriumi. Apkrova yra sujungta lygiagrečiai šiam išdėstymui.
- Prijunkite 10k rezistorių tarp vartų ir šaltinio.
- Prijunkite kondensatorių lygiagrečiai su apkrova.
- Prijunkite teigiamą akumuliatoriaus gnybtą, kad išsikrautų, o neigiamą - prie neigiamo kondensatoriaus gnybto.
- Prijunkite diodo p gnybtą prie akumuliatoriaus neigiamo ir n gnybtą tiesiai prie šaltinio.
- „Arduino“ PWM kaištis eina į „mosfet“ vartus
- GND „Arduino“ kaištis patenka į „mosfet“ šaltinį. Prijunkite jį ten arba grandinė neveiks.
- Prijunkite galinius potenciometro gnybtus prie atitinkamai „Arduino“ 5v ir GND kaiščių. Kadangi valytuvo gnybtas prie analoginio kaiščio A1.
„Arduino“ funkcija:
Kaip jau paaiškinta, „Arduino“ siunčia laikrodžio impulsus į MOSFET bazę. Šių laikrodžio impulsų dažnis yra apytiksliai. 65 Khz. Tai sukelia labai greitą „mosfet“ perjungimą ir gauname vidutinę įtampos vertę. Turėtumėte sužinoti apie „ADC“ ir „PWM“ sistemoje „Arduino“, kurie jums išvalys, kaip aukšto dažnio impulsus generuoja „Arduino“:
- „Arduino“ pagrindu veikiantis LED reguliatorius naudojant PWM
- Kaip naudoti ADC „Arduino Uno“?
MOSFET funkcija:
„Mosfet“ naudojamas dviem tikslams:
- Greitam išėjimo įtampos perjungimui.
- Suteikti didelę srovę mažiau išsklaidant šilumą.
Induktoriaus funkcija: Induktorius naudojamas valdyti įtampos šuolius, kurie gali pakenkti „mosfet“. Induktorius kaupia energiją, kai įjungtas „mosfet“, ir išleidžia šią sukauptą energiją, kai „mosfet“ yra išjungtas. Kadangi dažnis yra labai didelis, šiam tikslui reikalinga induktyvumo vertė yra labai maža (apie 100uH).
„Schottky“ diodo funkcija: „
Schottky“ diodas užbaigia srovės kontūrą, kai „mosfet“ yra išjungtas, ir taip užtikrinamas sklandus srovės tiekimas į apkrovą. Be to, schottky diodas išsklaido labai mažą šilumą ir puikiai veikia didesniu dažniu nei įprasti diodai.
Šviesos diodo funkcija: šviesos diodo
ryškumas rodo žemesnę įtampą per apkrovą. Kai sukame potenciometrą, šviesos diodų ryškumas skiriasi.
Potenciometro funkcija:
Kai potenciometro valytuvo gnybtas išmetamas į skirtingą padėtį, keičiasi įtampa tarp jo ir žemės, o tai savo ruožtu keičia analoginę vertę, kurią gauna arduino kaištis A1. Tada ši nauja vertė susiejama nuo 0 iki 255 ir tada suteikiama „Arduino“ 6 kaiščiui, skirtam PWM.
** Kondensatorius išlygina apkrovai teikiamą įtampą.
Kodėl rezistorius tarp vartų ir šaltinio?
Net mažiausias triukšmas prie MOSFET vartų gali jį įjungti, todėl, norint to išvengti, visada rekomenduojama tarp vartų ir šaltinio prijungti didelės vertės rezistorių.
Kodo paaiškinimas:
Pilnas „ Arduino“ kodas aukšto dažnio impulsams generuoti yra pateiktas žemiau esančiame kodo skyriuje.
Kodas yra paprastas ir savaime suprantamas, todėl čia paaiškinome tik kelias kodo dalis.
Kintamajam x priskiriama analogiška vertė, kuri gaunama iš „Arduino“ analoginio kaiščio A0
x = analoginis skaitymas (A1);
Kintamajam w priskiriama susietoji vertė, kuri yra nuo 0 iki 255. Čia „Arduino“ ADC vertės priskirtos nuo 2 iki 255, naudojant žemėlapio funkciją „Arduino“.
w = žemėlapis (x, 0,1023,0,255);
Įprastas PWM dažnis 6 kaiščiui yra maždaug 1 kHz. Šis dažnis netinka tokiems tikslams kaip „buck konverteris“. Taigi šis dažnis turi būti padidintas iki labai aukšto lygio. Tai galima pasiekti naudojant vienos eilutės kodą negaliojančioje sąrankoje:
TCCR0B = TCCR0B & B11111000 - B00000001; // pakeisti pwm dažnį į maždaug 65 KHZ.
DC-DC Buck Converter veikimas:
Įjungus grandinę, „mosfet“ įsijungia ir išsijungia 65 khz dažniu. Tai priverčia induktorių kaupti energiją, kai įjungtas „mosfet“, o tada išleisti šią sukauptą energiją, kai „mosfet“ išsijungia. Kadangi tai vyksta labai dideliu dažniu, gauname vidutinę impulsinės išėjimo įtampos vertę, priklausomai nuo potenciometro valytuvo gnybto padėties 5v gnybto atžvilgiu. Padidėjus įtampai tarp valytuvo gnybto ir žemės, didėja ir pwm kaiščio Nr. 6 iš Arduino.
Tarkime, kad ši susietoji vertė yra 200. Tada 6 kaiščio PWM įtampa bus: = 3,921 voltai
Kadangi MOSFET yra nuo įtampos priklausantis įrenginys, ši pwm įtampa galiausiai lemia įtampą visoje apkrovoje.
Čia mes pademonstravome šį „ Buck“ keitiklį pasukdami nuolatinės srovės variklį ir multimetre patikrinkite toliau pateiktą vaizdo įrašą. Mes valdėme variklio greitį potenciometru, o LED ryškumą - potenciometru.