Ebben a projektben egy Buck Converter áramkört fogunk készíteni Arduino és N-Channel MOSFET felhasználásával, maximális áramkapacitása 6 amper. A 12v DC-t bármely 0 és 10v DC közötti értékre csökkentjük. A kimeneti feszültség értékét a potenciométer forgatásával szabályozhatjuk.
A buck konverter egy DC-DC átalakító, amely csökkenti az egyenfeszültséget. Olyan, mint egy transzformátor, egyetlen különbséggel; míg a transzformátor lecsökkenti a váltakozó feszültségű átalakítót az egyenfeszültségről. A buck konverter hatékonysága alacsonyabb, mint egy transzformátor.
A buck konverter kulcsfontosságú elemei a mosfet; akár n csatornás, akár p csatornás és nagyfrekvenciás négyzetes impulzusgenerátor (vagy időzítő IC, vagy mikrokontroller). Az Arduino itt Pulse Generatorként használható, erre a célra egy 555 Timer IC is használható. Itt bemutattuk ezt a Buck konvertert a DC-motor fordulatszámának a potenciométerrel történő szabályozásával, és a multiméter segítségével is teszteltük a feszültséget. Ellenőrizze a cikk végén található videót.
Szükséges alkatrészek:
- Arduino Uno
- IRF540N
- Induktivitás (100Uh)
- Kondenzátor (100uf)
- Schottky-dióda
- Potenciométer
- 10k, 100ohm ellenállás
- Betöltés
- 12v-os akkumulátor
Áramkör és kapcsolatok:
Csatlakoztassa a DC-DC Buck Converter fenti kapcsolási rajzának megfelelően.
- Csatlakoztassa az induktor egyik kapcsait a mosfet forrásához, a másikat pedig 1k ellenállással soros LED-hez. A terhelés ezzel az elrendezéssel párhuzamosan csatlakozik.
- Csatlakoztasson 10k ellenállást a kapu és a forrás közé.
- Csatlakoztassa a kondenzátort párhuzamosan a terheléshez.
- Csatlakoztassa az akkumulátor pozitív kivezetését a lemerüléshez és negatívat a kondenzátor negatív pólusához.
- Csatlakoztassa a dióda p kivezetését az akkumulátor negatívjához, és n csatlakozóját közvetlenül a forráshoz.
- Az Arduino PWM csapja a mosfet kapujához vezet
- Az Arduino GND-tűje a mosfet forrásához kerül. Csatlakoztassa oda, különben az áramkör nem fog működni.
- Csatlakoztassa a potenciométer szélső kapcsait az Arduino 5v-os és GND-tűihez. Mivel az ablaktörlő kapcsa az A1 analóg csaphoz.
Az Arduino funkciója:
Amint már kifejtettük, az Arduino órajel-impulzusokat küld a MOSFET bázisára. Ezen óraimpulzusok frekvenciája kb. 65 Khz. Ez a mosfet nagyon gyors kapcsolását okozza, és átlagos feszültségértéket kapunk. Tudnia kell az ADC-ről és a PWM-ről az Arduino-ban, amely tisztázza Önt, hogy az Arduino milyen magas frekvenciájú impulzusokat generál:
- Arduino alapú LED dimmer PWM használatával
- Hogyan kell használni az ADC-t az Arduino Uno-ban?
A MOSFET funkciója:
A Mosfetet kétféle célra használják:
- A kimeneti feszültség nagy sebességű kapcsolásához.
- Ahhoz, hogy a nagy áram kevesebb hőelvezetés.
Az induktor funkciója: Az
induktort a feszültségcsúcsok vezérlésére használják, amelyek károsíthatják a mosfet-et. Az induktor energiát tárol, amikor a mosfet be van kapcsolva, és felszabadítja ezt a tárolt energiát, amikor a mosfet ki van kapcsolva. Mivel a frekvencia nagyon magas, az ehhez szükséges induktivitás értéke nagyon alacsony (kb. 100 uH).
A Schottky-dióda funkciója: A
Schottky-dióda befejezi az áramkört, amikor a mosfet ki van kapcsolva, és ezáltal biztosítja a terhelés egyenletes áramellátását. Ettől eltekintve a schottky dióda nagyon alacsony hőt vezet le, és kiválóan működik nagyobb frekvencián, mint a szokásos diódák.
A LED funkciója: A LED
fényereje a terhelés alatti feszültség csökkenését jelzi. A potenciométer forgatásakor a LED fényereje változó.
A potenciométer funkciója:
Ha a potenciométer ablaktörlő kapcsa különböző helyzetbe kerül, megváltozik a feszültség a talaj és a föld között, ami megváltoztatja az arduino A1 csapjának kapott analóg értékét. Ezt az új értéket ezután 0 és 255 között térképezzük fel, majd megkapjuk az Arduino 6. tűjéhez PWM számára.
** A kondenzátor kisimítja a terhelésre adott feszültséget.
Miért ellenállás a kapu és a forrás között?
A MOSFET kapujánál még a legkisebb zaj is bekapcsolhatja, ezért ennek elkerülése érdekében mindig ajánlatos nagy értékű ellenállást csatlakoztatni a kapu és a forrás között.
Kód Magyarázat:
A teljes Arduino kód a nagyfrekvenciás impulzusok előállításához az alábbi kód részben található.
A kód egyszerű és magától értetődő, ezért itt csak a kód néhány részét ismertettük.
Az x változóhoz hozzárendelik az Arduino A0 analóg tűjétől kapott analóg értéket
x = analóg olvasás (A1);
Változó w van hozzárendelve a leképezett értéket, amely 0 és 255 közötti Itt az ADC értékeit Arduino vannak leképezve 2-255 segítségével térkép függvény Arduino.
w = térkép (x, 0,1023,0,255);
A PWM normál frekvenciája a 6. tűnél kb. 1 khz. Ez a frekvencia nem alkalmas olyan célokra, mint a buck konverter. Ezért ezt a frekvenciát nagyon magasra kell növelni. Ezt egy soros kóddal lehet elérni az érvénytelen beállításban:
TCCR0B = TCCR0B & B11111000 - B00000001; // a pwm frekvenciáját kb. 65 KHZ-re változtatja.
A DC-DC Buck Converter működése:
Az áramkör bekapcsolásakor a mosfet 65 khz frekvenciával kapcsol be és ki. Ez arra készteti az induktort, hogy energiát tároljon, amikor a mosfet be van kapcsolva, majd ezt a tárolt energiát megterheli, amikor a mosfet kikapcsol. Mivel ez nagyon nagy frekvencián történik, az impulzusos kimeneti feszültség átlagos értékét kapjuk, attól függően, hogy a potenciométer ablaktörlő kapcsa milyen helyzetben van az 5 V-os terminálhoz viszonyítva. És mivel az ablaktörlő kapcsa és a test közötti feszültség növekszik, a pwm sz. 6. Arduino.
Tegyük fel, hogy ez a leképezett érték 200. Ekkor a PWM feszültsége a 6-os érintkezőnél: = 3,921 volt
És mivel a MOSFET egy feszültségfüggő eszköz, ez a pwm feszültség határozza meg végül a terhelés teljes feszültségét.
Itt bemutattuk ezt a Buck konvertert egy DC motor forgatásával, és a multiméteren ellenőrizzük az alábbi videót. A motor fordulatszámát potenciométerrel, a LED fényerejét pedig potenciométerrel szabályoztuk.