Lag denne Buck Converter ved hjelp av Arduino

Prøv Instrumentet Vårt For Å Eliminere Problemer





I dette prosjektet skal vi trappe ned 12v DC til hvilken som helst DC-verdi mellom 2 og 11 volt. Kretsen som går ned DC-spenningen er kjent som buck-omformer. Utgangsspenningen eller trinnvis nedspenningen som kreves styres ved hjelp av et potensiometer koblet til arduino.

Av Ankit Negi



INNLEDNING TIL OMBYGGERE:

Det er i utgangspunktet to typer omformere:

1. Buck-omformer



2. Boost-omformer

Begge omformerne endrer inngangsspenningen i henhold til kravet. De ligner på en transformator med en hovedforskjell. Mens transformator trapper opp / ned en AC-spenning, går DC-omformere opp / ned DC-spenning. Hovedkomponentene til begge omformerne er:

A. MOSFET

B. INDUTOR

C. KAPACITOR

BUCK CONVERTER: som navnet selv antyder, betyr buck å senke inngangsspenningen. Buck-omformer gir oss spenningen mindre enn inngangsspenningsspenningen med høy strømkapasitet. Det er en direkte konvertering.

BOOST CONVERTER: som navnet antyder, boost betyr å øke inngangsspenningen.

Boost-omformer gir oss DC-spenningen mer enn DC-spenningen ved inngang. Det er også en direkte konvertering.

** i dette prosjektet skal vi lage en krets for omformer for å trappe ned 12 v DC ved hjelp av arduino som en PWM-kilde.

ENDRE PWM FREKVENS PÅ ARDUINO PINS:

PWM-pinner på arduino UNO er ​​3, 5, 6, 9, 10 og 11.

For å utføre PWM er kommandoen som brukes:

analogWrite (PWM PIN NO, PWM VALUE)

og PWM-frekvensen for disse pinnene er:

For Arduino Pins 9, 10, 11 og 3 ---- 500Hz

For Arduino Pins 5 og 6 ---- 1kHz

Disse frekvensene er fine for generell bruk som å falme en LED. Men for krets som buck eller boost-omformer , man trenger høyfrekvent PWM-kilde (i området ti titalls kHz) fordi MOSFET trenger høy frekvens for perfekt bytte og også høyfrekvent inngang reduserer verdien eller størrelsen på kretskomponenter som induktor og kondensator. Dermed for dette prosjektet trenger vi høyfrekvent PWM-kilde.

Bra er at vi kan endre PWM-frekvensen til PWM-pinner på arduino ved å bruke enkel kode:

FOR ARDUINO UNO:

Tilgjengelig PWM-frekvens for D3 og D11:
// TCCR2B = TCCR2B & B11111000 | B00000001 // for PWM-frekvens på 31372,55 Hz
// TCCR2B = TCCR2B & B11111000 | B00000010 // for PWM-frekvens på 3921,16 Hz
// TCCR2B = TCCR2B & B11111000 | B00000011 // for PWM-frekvens på 980,39 Hz
TCCR2B = TCCR2B & B11111000 | B00000100 // for PWM-frekvens på 490,20 Hz (STANDARDEN)
// TCCR2B = TCCR2B & B11111000 | B00000101 // for PWM-frekvens på 245,10 Hz
// TCCR2B = TCCR2B & B11111000 | B00000110 // for PWM-frekvens på 122,55 Hz
// TCCR2B = TCCR2B & B11111000 | B00000111 // for PWM-frekvens på 30,64 Hz
Tilgjengelig PWM-frekvens for D5 og D6:
// TCCR0B = TCCR0B & B11111000 | B00000001 // for PWM-frekvens på 62500,00 Hz
// TCCR0B = TCCR0B & B11111000 | B00000010 // for PWM-frekvens på 7812,50 Hz
TCCR0B = TCCR0B & B11111000 | B00000011 // for PWM-frekvens på 976,56 Hz (STANDARDEN)
// TCCR0B = TCCR0B & B11111000 | B00000100 // for PWM-frekvens på 244,14 Hz
// TCCR0B = TCCR0B & B11111000 | B00000101 // for PWM-frekvens på 61,04 Hz
Tilgjengelig PWM-frekvens for D9 og D10:
// TCCR1B = TCCR1B & B11111000 | B00000001 // still timer 1 divisor til 1 for PWM-frekvens på 31372,55 Hz
// TCCR1B = TCCR1B & B11111000 | B00000010 // for PWM-frekvens på 3921,16 Hz
TCCR1B = TCCR1B & B11111000 | B00000011 // for PWM-frekvens på 490,20 Hz (STANDARDEN)
// TCCR1B = TCCR1B & B11111000 | B00000100 // for PWM-frekvens på 122,55 Hz
// TCCR1B = TCCR1B & B11111000 | B00000101 // for PWM-frekvens på 30,64 Hz
** vi skal bruke pin nr. 6 for PWM derav koden:
// TCCR0B = TCCR0B & B11111000 | B00000001 // for PWM-frekvens på 62,5 KHz

KOMPONENTLISTE:

1. ARDUINO UNO

2. INDUCTOR (100Uh)

3. SCHOTTKY DIODE

4. KAPACITOR (100uf)

5. IRF540N

6. POTENTIOMETER

7. 10k, 100ohm motstand

8. LOAD (motor i dette tilfellet)

9,12 V BATTERI

KRETSDIAGRAM

Buck Converter ved hjelp av Arduino

Buck Converter ved hjelp av Arduino ledningsoppsett

Opprett tilkoblinger som vist i kretsskjemaet.

1. Koble endeterminalene til potensiometeret til henholdsvis 5v pin og jordpinne på arduino UNO mens viskerterminalen til pin analoge pin A1.

2. Koble PWM-pinne 6 av arduino til basen av mosfet.

3. Positiv terminal på batteri for tømming av mosfet og negativ til p-terminal på schottky-diode.

4. Fra p-terminalen til schottky-dioden, koble lasten (motor) i serie med induktoren til kildeterminalen til mosfet.

5. Koble nå n-terminalen til schottky-dioden til kildeterminalen til mosfet.

6. Koble 47uf kondensator over motoren.

7. Til slutt kobler du jordpinnen til arduino til kilden terminalen til Mosfet.

Formål med mosfet:

Mosfet brukes til å bytte inngangsspenning ved høy frekvens og for å gi høy strøm med mindre spredning av varme.

Formålet med arduino:

For høy byttehastighet for mosfet (ved frekvens ca. 65 KHz)

Formål med induktor:

Hvis denne kretsen kjøres uten å koble til en induktor, er det store sjanser for å skade mosfet på grunn av høyspennings pigger på terminalen på mosfet.

For å hindre mosfet fra disse høyspenningspiggene, er den koblet til som vist på figuren, siden mosfet er på, lagrer den energi, og når mosfet er av, gir den denne lagrede energien til motoren.

Formål med schottky-diode:

Anta at schottky-dioden ikke er koblet til i kretsen. I dette tilfellet når mosfet er slått av, frigjør induktor sin energi til belastning eller motor som har veldig liten effekt på belastningen fordi det er ufullstendig sløyfe for strøm å strømme. Dermed fullfører schottky-dioden sløyfen for strøm å strømme. Nå er ikke en normal diode koblet til her fordi schottky-dioder har lavt fremover spenningsfall. Formål med led:
for å indikere nedtrapping av spenning over belastning

Formål med potensiometer:

Potensiometer gir analog verdi til arduino (basert på posisjonen til viskerterminalen) ifølge hvilken pwm-spenning mottas av portterminalen til mosfet fra PWM pin 6 i Arduino. Denne verdien styrer til slutt utgangsspenningen over belastning.

Hvorfor er motstand koblet mellom gate og kilde?

Selv liten støy kan slå på mosfet. Derfor en trekk ned motstanden er koblet mellom gate og bakken dvs. kilde.

Programkode

Burn this code to arduino:
int m // initialize variable m
int n // initialize variable n
void setup()
B00000001 // for PWM frequency of 62.5 KHz on pin 6( explained under code section)
Serial.begin(9600) // begin serial communication

void loop()
{
m= analogRead(A1) // read voltage value from pin A1 at which pot. wiper terminal is connected
n= map(m,0,1023,0,255) // map this ip value betwenn 0 and 255
analogWrite(6,n) // write mapped value on pin 6
Serial.print(' PWM Value ')
Serial.println(n)
}

KODEKLARING

1. Variabel x er spenningsverdi mottatt fra pinne A1 som gryteens viskerterminal er koblet til.

2. Variabel y tildeles den tilordnede verdien som er mellom 0 og 255.

3. ** Som allerede forklart i avsnittet ovenfor for krets som bukk- eller boost-omformer, trenger man høyfrekvent PWM-kilde (i området ti titalls kHz) fordi MOSFET trenger høy frekvens for perfekt bytte og høyfrekvent inngang reduserer verdien eller størrelsen av kretskomponenter som induktor og kondensator.

Dermed skal vi bruke denne enkle koden til å generere pwm-spenning på ca. 65 kHz frekvens: TCCR0B = TCCR0B & B11111000 | B00000001 // for PWM-frekvens på 62,5 KHz på pin 6

Hvordan det fungerer:

Siden potensiometer gir analog verdi til arduino (basert på posisjonen til viskerterminalen), bestemmer dette pwm-spenningsverdien mottatt av portterminalen til mosfet fra PWM-pin 6 i Arduino.

Og denne verdien styrer til slutt utgangsspenningen over belastning.

Når mosfet er på, lagrer induktor energi og når den slår av, frigjøres denne lagrede energien til lasten, dvs. motoren i dette tilfellet. Og fordi denne prosessen finner sted med veldig høy frekvens, får vi et trinn ned DC-spenning over motoren, som avhenger av viskerterminalens posisjon, da mosfet er en spenningsavhengig enhet.

Prototype bilder:

Videoklipp av ovennevnte Explained Buck Converter Circuit ved hjelp av Arduino




Forrige: Enkel digital vannmengdemålerkrets ved hjelp av Arduino Neste: 4 enkle nærhetssensorkretser - ved hjelp av IC LM358, IC LM567, IC 555