- Componente necesare:
- Diagrama circuitului și conexiunile:
- Explicatie cod:
- Funcționarea convertorului DC-DC Buck:
În acest proiect vom realiza un circuit de convertor Buck folosind MOSFET Arduino și N-Channel cu o capacitate maximă de curent de 6 amperi. Vom reduce 12V DC la orice valoare cuprinsă între 0 și 10v DC. Putem controla valoarea tensiunii de ieșire prin rotirea potențiometrului.
Un convertor Buck este un convertor DC-DC, care reduce tensiunea DC. Este la fel ca un transformator cu o singură diferență; întrucât transformatorul coboară tensiunea c.a. Eficiența convertorului buck este mai mică decât un transformator.
Componentele cheie ale convertorului Buck sunt MOSFET; fie canal n, fie canal p și generator de impulsuri pătrate de înaltă frecvență (fie un IC cu temporizator, fie un microcontroler). Arduino este folosit aici ca Generator de impulsuri, un IC 555 Timer poate fi, de asemenea, utilizat în acest scop. Aici am demonstrat acest convertor Buck prin controlul vitezei motorului continuu cu potențiometru, testat de asemenea tensiunea folosind multimetru Verificați videoclipul de la sfârșitul acestui articol.
Componente necesare:
- Arduino Uno
- IRF540N
- Inductor (100Uh)
- Condensator (100uf)
- Dioda Schottky
- Potențiometru
- Rezistor 10k, 100ohm
- Sarcină
- Baterie 12v
Diagrama circuitului și conexiunile:
Efectuați conexiunile așa cum se arată în schema de circuit de mai sus pentru convertorul DC-DC Buck.
- Conectați un terminal al inductorului la sursa de mosfet și altul la LED în serie cu rezistor de 1k. Sarcina este conectată în paralel cu acest aranjament.
- Conectați rezistorul 10k între poartă și sursă.
- Conectați condensatorul în paralel la încărcare.
- Conectați borna pozitivă a bateriei la golire și negativa la borna negativă a condensatorului.
- Conectați terminalul p al diodei la negativul bateriei și terminalul n direct la sursă.
- Pinul PWM al Arduino merge la poarta Mosfet
- Pinul GND al Arduino merge la sursa de mosfet. Conectați-l acolo sau circuitul nu va funcționa.
- Conectați terminalele extreme ale potențiometrului la pinul 5v și respectiv pinul GND al Arduino. În timp ce terminalul ștergătorului la pinul analogic A1.
Funcția Arduino:
După cum sa explicat deja, Arduino trimite impulsuri de ceas la baza MOSFET. Frecvența acestor impulsuri de ceas este de aprox. 65 Khz. Acest lucru determină comutarea foarte rapidă a mosfetului și obținem o valoare medie a tensiunii. Ar trebui să aflați despre ADC și PWM în Arduino, care vă va clarifica modul în care impulsurile de înaltă frecvență sunt generate de Arduino:
- Dimmer cu LED bazat pe Arduino folosind PWM
- Cum se utilizează ADC în Arduino Uno?
Funcția MOSFET:
Mosfet este utilizat în două scopuri:
- Pentru comutarea de mare viteză a tensiunii de ieșire.
- Pentru a asigura un curent ridicat cu o disipare mai mică a căldurii.
Funcția inductorului:
Inductorul este utilizat pentru a controla vârfurile de tensiune care pot deteriora mosfetul. Inductorul stochează energie când MOSFET este pornit și eliberează această energie stocată când MOSFET este oprit. Deoarece frecvența este foarte mare, valoarea inductanței necesare în acest scop este foarte mică (în jur de 100uH).
Funcția diodei Schottky:
dioda Schottky completează bucla de curent atunci când Mosfet este oprit și asigurând astfel o alimentare lină de curent pentru încărcare. În afară de aceasta, dioda schottky disipă căldura foarte scăzută și funcționează bine la o frecvență mai mare decât diodele obișnuite.
Funcția LED-ului:
Luminozitatea LED-ului indică tensiunea de scădere a sarcinii. Pe măsură ce rotim potențiometrul, luminozitatea LED-urilor variază.
Funcția potențiometrului:
Când terminalul ștergătorului potențiometrului este aruncat în poziție diferită, se schimbă tensiunea dintre acesta și masă, care la rândul său modifică valoarea analogică primită de pinul A1 al arduino. Această nouă valoare este apoi mapată între 0 și 255 și apoi dată pinului 6 din Arduino pentru PWM.
** Condensatorul netezește tensiunea dată la încărcare.
De ce rezistență între poartă și sursă?
Chiar și cel mai mic zgomot la poarta MOSFET îl poate activa, prin urmare, pentru a preveni acest lucru, este întotdeauna recomandat să conectați rezistor de mare valoare între poartă și sursă.
Explicatie cod:
Codul Arduino complet, pentru generarea impulsurilor de înaltă frecvență, este dat în secțiunea de cod de mai jos.
Codul este simplu și se explică de la sine, așa că aici am explicat doar câteva părți ale codului.
Variabilei x i se atribuie valoarea analogică care este primită de la pinul analogic A0 al Arduino
x = analogRead (A1);
Variabilei w i se atribuie valoarea mapată care este cuprinsă între 0 și 255. Aici valorile ADC ale Arduino sunt mapate la 2 până la 255 folosind funcția hartă în Arduino.
w = hartă (x, 0,1023,0,255);
Frecvența normală a PWM pentru pinul 6 este de aproximativ 1 kHz. Această frecvență nu este potrivită pentru scopuri precum convertorul buck. Prin urmare, această frecvență trebuie mărită la un nivel foarte ridicat. Acest lucru poate fi realizat folosind un cod de o linie în configurarea nulă:
TCCR0B = TCCR0B & B11111000 - B00000001; // schimbă frecvența pwm la 65 KHZ aprox.
Funcționarea convertorului DC-DC Buck:
Când circuitul este pornit, Mosfet pornește și se oprește cu o frecvență de 65 kHz. Acest lucru face ca inductorul să stocheze energie când MOSFET este pornit și apoi să dea această energie stocată să se încarce când MOSFET se oprește. Deoarece acest lucru se întâmplă la o frecvență foarte ridicată, obținem o valoare medie a tensiunii de ieșire pulsată, în funcție de poziția terminalului ștergătorului potențiometrului față de terminalul 5v. Și pe măsură ce această tensiune între terminalul ștergătorului și sol crește, crește și valoarea mapată pe pinul nr. 6 din Arduino.
Să presupunem că această valoare mapată este 200. Atunci tensiunea PWM pe pinul 6 va fi la: = 3,921 volți
Și deoarece MOSFET este un dispozitiv dependent de tensiune, această tensiune pwm determină în cele din urmă tensiunea peste sarcină.
Aici am demonstrat acest convertor Buck prin rotirea unui motor DC și pe multimetru, verificați videoclipul de mai jos. Am controlat viteza motorului cu Potențiometru și am controlat luminozitatea LED-urilor cu Potențiometru.