- Nødvendige komponenter:
- Kretsdiagram og tilkoblinger:
- Kode Forklaring:
- Arbeid av DC-DC Buck Converter:
I dette prosjektet skal vi lage en Buck Converter Circuit ved hjelp av Arduino og N-Channel MOSFET med en maksimal strømkapasitet på 6 ampere. Vi skal trappe ned 12v DC til en hvilken som helst verdi mellom 0 og 10v DC. Vi kan kontrollere utgangsspenningsverdien ved å rotere potensiometeret.
En buck-omformer er en DC til DC-omformer, som trapper ned DC-spenningen. Det er akkurat som en transformator med en forskjell; mens transformator trapper ned vekselstrømsspenningsomformer trapper ned jevnspenning. Effektiviteten til buck-omformeren er lavere enn en transformator.
Viktige komponenter i buck converter er mosfet; enten n-kanal eller p-kanal og høyfrekvent Square Pulse Generator (enten en tidsur-IC eller mikrokontroller). Arduino brukes her som Pulse Generator, en 555 Timer IC kan også brukes til dette formålet. Her har vi demonstrert denne Buck-omformeren ved å kontrollere DC-motorhastigheten med potensiometer, også testet spenningen ved hjelp av multimeter. Sjekk videoen på slutten av denne artikkelen.
Nødvendige komponenter:
- Arduino Uno
- IRF540N
- Spole (100Uh)
- Kondensator (100uf)
- Schottky-diode
- Potensiometer
- 10k, 100ohm motstand
- Laste
- 12v batteri
Kretsdiagram og tilkoblinger:
Opprett tilkoblinger som vist i kretsskjemaet ovenfor for DC-DC Buck Converter.
- Koble en terminal med induktor til kilde til mosfet, og en annen til LED i serie med 1k motstand. Last er koblet parallelt med denne ordningen.
- Koble 10k motstand mellom gate og kilde.
- Koble kondensatoren parallelt med belastningen.
- Koble batteriets positive terminal til å tømmes og negativ til kondensatorens negative terminal.
- Koble p-terminalen til dioden til minuspolen på batteriet og n-terminalen direkte til kilden.
- PWM-pinne av Arduino går til Mosfet-porten
- GND pin av Arduino går til kilde til mosfet. Koble den dit, ellers vil kretsen ikke fungere.
- Koble potensiometerets ekstreme terminaler til henholdsvis 5v pin og GND pin av Arduino. Mens viskerterminal til analog pin A1.
Funksjonen til Arduino:
Som allerede forklart, sender Arduino klokkepulser til basen av MOSFET. Frekvensen av disse klokkepulsene er ca. 65 kHz. Dette fører til veldig rask bytte av mosfet, og vi får en gjennomsnittlig spenningsverdi. Du bør lære om ADC og PWM i Arduino, som vil tydeliggjøre deg hvordan høyfrekvente pulser genereres av Arduino:
- Arduino-basert LED-dimmer ved bruk av PWM
- Hvordan bruke ADC i Arduino Uno?
Funksjon av MOSFET:
Mosfet brukes til to formål:
- For høyhastighets bytte av utgangsspenningen.
- Å gi høy strøm med mindre spredning av varme.
Induktorens funksjon:
Induktoren brukes til å kontrollere spenningspigger som kan skade mosfet. Induktor lagrer energi når mosfet er på og frigjør denne lagrede energien når mosfet er av. Siden frekvensen er veldig høy, er induktansverdien som kreves for dette formålet veldig lav (rundt 100uH).
Funksjon av Schottky-diode:
Schottky-dioden fullfører strømsløyfen når mosfet er slått av, og sikrer dermed jevn tilførsel av strøm til belastningen. Bortsett fra dette, spres schottky-diode veldig lav varme og fungerer fint på høyere frekvens enn vanlige dioder.
Funksjon av LED:
Lysstyrken på LED indikerer nedtrappet spenning over belastning. Når vi roterer potensiometeret, varierer lysstyrken på LED.
Funksjon av potensiometer:
Når viskerterminalen til potensiometeret kastes til en annen posisjon, endres spenningen mellom den og bakken, som igjen endrer den analoge verdien som mottas av pin A1 i arduino. Denne nye verdien blir deretter kartlagt mellom 0 og 255 og deretter gitt til pin 6 i Arduino for PWM.
** Kondensator jevner ut spenningen som blir gitt til belastningen.
Hvorfor motstand mellom gate og kilde?
Selv den minste støy ved porten til MOSFET kan slå den på, og derfor anbefales det å koble motstand med høy verdi mellom port og kilde for å forhindre at dette skjer.
Kode Forklaring:
Komplett Arduino-kode, for å generere høyfrekvente pulser, er gitt i kodeseksjonen nedenfor.
Koden er enkel og selvforklarende, så her har vi bare forklart noen få deler av koden.
Variabel x tildeles den analoge verdien som mottas fra den analoge pin A0 til Arduino
x = analogRead (A1);
Variabel w tildeles den tilordnede verdien som er mellom 0 og 255. Her blir ADC-verdiene til Arduino tilordnet til 2 til 255 ved hjelp av kartfunksjon i Arduino.
w = kart (x, 0,1023,0,255);
Normal frekvens av PWM for pin 6 er ca. 1 kHz. Denne frekvensen er ikke egnet for formål som buck converter. Derfor må denne frekvensen økes til et veldig høyt nivå. Dette kan oppnås ved å bruke en linjekode i ugyldig oppsett:
TCCR0B = TCCR0B & B11111000 - B00000001; // endringsfrekvens på pwm til 65 KHz ca.
Arbeid av DC-DC Buck Converter:
Når kretsen er slått på, slår Mosfet seg på og av med en frekvens på 65 kHz. Dette fører til at induktor lagrer energi når mosfet er på og deretter gir denne lagrede energien til å lastes når mosfet slås av. Siden dette skjer med veldig høy frekvens, får vi en gjennomsnittsverdi av pulsert utgangsspenning avhengig av posisjonen til viskerterminalen til potensiometeret med hensyn til 5v-terminalen. Og når denne spenningen mellom viskerterminalen og bakken øker, øker også den tilordnede verdien på pwm pin nr. 6 av Arduino.
La oss si at denne tilordnede verdien er 200. Da vil PWM-spenningen på pin 6 være på: = 3,921 volt
Og siden MOSFET er en spenningsavhengig enhet, bestemmer denne pwm-spenningen til slutt spenningen over belastningen.
Her har vi demonstrert denne Buck-omformeren ved å rotere en DC-motor og på multimeter, sjekk videoen nedenfor. Vi har kontrollert motorens hastighet med potensiometer og styrt lysstyrken på LED med potensiometer.