- Požadované komponenty:
- Schéma zapojenia a zapojenia:
- Vysvetlenie kódu:
- Fungovanie prevodníka DC-DC Buck:
V tomto projekte urobíme Buck Converter Circuit pomocou Arduina a N-Channel MOSFET s maximálnou prúdovou kapacitou 6 ampérov. Chystáme sa znížiť 12V DC na ľubovoľnú hodnotu medzi 0 a 10V DC. Hodnotu výstupného napätia môžeme regulovať otáčaním potenciometra.
Buck prevodník je prevodník DC na DC, ktorý znižuje jednosmerné napätie. Je to ako transformátor s jedným rozdielom; zatiaľ čo transformátor znižuje prevádzkové napätie meniča striedavého napätia a jednosmerné napätie. Účinnosť prevodníka buck je nižšia ako transformátora.
Kľúčové komponenty prevodníka buck sú mosfet; buď n-kanálový alebo p-kanál a vysokofrekvenčný štvorcový pulzný generátor (buď časovač IC alebo mikrokontrolér). Arduino sa tu používa ako generátor impulzov, na tento účel možno použiť aj časovač 555 IC. Tu sme demonštrovali tento prevodník Buck riadením otáčok jednosmerného motora pomocou potenciometra, ktorý tiež testoval napätie pomocou multimetra. Skontrolujte video na konci tohto článku.
Požadované komponenty:
- Arduino Uno
- IRF540N
- Induktor (100 Uh)
- Kondenzátor (100uf)
- Schottkyho dióda
- Potenciometer
- 10k, 100ohm rezistor
- Naložiť
- 12v batéria
Schéma zapojenia a zapojenia:
Pripojte káble tak, ako je to znázornené na schéme zapojenia vyššie pre prevodník DC-DC Buck.
- Pripojte jednu svorku induktora k zdroju MOSFET a druhú k LED v sérii s odporom 1k. Zaťaženie je spojené paralelne s týmto usporiadaním.
- Pripojte 10k rezistor medzi bránu a zdroj.
- Pripojte kondenzátor paralelne k záťaži.
- Pripojte kladný pól batérie k vybitiu a záporný pól ku zápornému pólu kondenzátora.
- Pripojte svorku p diódy k zápornému pólu batérie a svorku n priamo k zdroju.
- PWM pin Arduina ide do brány mosfetu
- GND pin Arduina ide k zdroju MOSFET. Pripojte ho tam, inak obvod nebude fungovať.
- Pripojte krajné svorky potenciometra na 5v pin a GND pin Arduina. Zatiaľ čo koncovka stierača na analógový pin A1.
Funkcia Arduina:
Ako už bolo vysvetlené, Arduino vysiela hodinové impulzy na základňu MOSFET. Frekvencia týchto hodinových impulzov je cca. 65 Khz. To spôsobí veľmi rýchle prepínanie mosfetu a získame priemernú hodnotu napätia. Mali by ste sa dozvedieť o ADC a PWM v Arduine, ktoré vám ukážu, ako vysokofrekvenčné impulzy generuje Arduino:
- Arduino LED stmievač využívajúci PWM
- Ako používať ADC v Arduino Uno?
Funkcia MOSFET:
Mosfet sa používa na dva účely:
- Pre vysokorýchlostné prepínanie výstupného napätia.
- Poskytnúť vysoký prúd s menším odvodom tepla.
Funkcia induktora:
Induktor sa používa na riadenie napäťových špičiek, ktoré môžu poškodiť mosfet. Induktor akumuluje energiu, keď je mosfet zapnutý, a uvoľňuje túto akumulovanú energiu, keď je mosfet vypnutý. Pretože frekvencia je veľmi vysoká, hodnota indukčnosti požadovaná na tento účel je veľmi nízka (okolo 100uH).
Funkcia Schottkyho diódy:
Schottkyho dióda dokončuje prúdovú slučku, keď je mosfet vypnutý, a zaisťuje tak hladký prísun prúdu do záťaže. Okrem toho schottkyho dióda odvádza veľmi nízke teplo a funguje dobre s vyššou frekvenciou ako bežné diódy.
Funkcia LED:
Jas LED indikuje pokles napätia pri zaťažení. Keď otáčame potenciometrom, jas LED sa mení.
Funkcia potenciometra:
Keď je svorka stierača potenciometra vyklopená do inej polohy, napätie medzi ním a zemou sa zmení, čo zase zmení analógovú hodnotu prijatú pinom A1 arduina. Táto nová hodnota sa potom mapuje medzi 0 a 255 a potom sa pridelí na pin 6 Arduina pre PWM.
** Kondenzátor vyhladzuje napätie dané záťažou.
Prečo odpor medzi bránou a zdrojom?
Aj ten najmenší šum na bráne MOSFETu ho dokáže zapnúť, a preto sa tomu má zabrániť, preto sa vždy odporúča pripojiť medzi bránu a zdroj vysokohodnotný odpor.
Vysvetlenie kódu:
Kompletný Arduino kód na generovanie vysokofrekvenčných impulzov je uvedený v časti venovanej kódu.
Kód je jednoduchý a zrozumiteľný, preto sme tu vysvetlili iba niekoľko častí kódu.
Premennej x sa priradí analógová hodnota, ktorá sa prijíma z analógového pinu A0 Arduina
x = analogRead (A1);
Premennej w je priradená mapovaná hodnota, ktorá je medzi 0 a 255. Tu sú hodnoty ADC Arduina mapované na 2 až 255 pomocou funkcie mapy v Arduine.
w = mapa (x, 0,1023,0,255);
Normálna frekvencia PWM pre pin 6 je približne 1 kHz. Táto frekvencia nie je vhodná na účely, ako je prevodník buckov. Preto sa táto frekvencia musí zvýšiť na veľmi vysokú úroveň. Toho je možné dosiahnuť použitím jednoriadkového kódu v nastavení neplatnosti:
TCCR0B = TCCR0B & B11111000 - B00000001; // zmena frekvencie pwm na 65 KHZ cca.
Fungovanie prevodníka DC-DC Buck:
Keď je obvod zapnutý, mosfet sa zapína a vypína s frekvenciou 65 khz. To spôsobí, že induktor bude akumulovať energiu, keď je mosfet zapnutý, a potom dá túto akumulovanú energiu na načítanie, keď sa mosfet vypne. Pretože sa to deje pri veľmi vysokej frekvencii, dostaneme priemernú hodnotu impulzného výstupného napätia v závislosti na polohe svorky stierača potenciometra vzhľadom na svorku 5v. A ako sa zvyšuje toto napätie medzi svorkou stierača a zemou, zvyšuje sa aj mapovaná hodnota na pwm kolíku č. 6 v Arduine.
Povedzme, že táto namapovaná hodnota je 200. Potom bude napätie PWM na kolíku 6 na hodnote = = 3,921 voltov
A keďže MOSFET je zariadenie závislé od napätia, toto pwm napätie nakoniec určuje napätie naprieč záťažou.
Tu sme predviedli tento prevodník Buck otáčaním jednosmerného motora a na multimetri skontrolujte video uvedené nižšie. Potenciometrom sme ovládali rýchlosť motora a potenciometrom jas LED.