Lav denne Buck Converter ved hjælp af Arduino

Prøv Vores Instrument Til At Fjerne Problemer





I dette projekt vil vi nedtrappe 12v DC til en hvilken som helst DC-værdi mellem 2 og 11 volt. Kredsløbet, der træder ned DC-spændingen, er kendt som buck-konverter. Den nødvendige udgangsspænding eller nedadgående spænding styres ved hjælp af et potentiometer tilsluttet arduino.

Af Ankit Negi



INTRODUKTION TIL OMBYGGERE:

Der er grundlæggende to typer konvertere:

1. Buck-konverter



2. Boost-konverter

Begge konvertere ændrer indgangsspændingen i henhold til kravet. De ligner en transformer med en hovedforskel. Mens transformer træder op / ned af en AC-spænding, går DC-konvertere op / ned af DC-spænding. Hovedkomponenterne til begge omformere er:

A. MOSFET

B. INDUCTOR

C. KAPACITOR

BUCK CONVERTER: som navnet selv antyder, betyder buck at sænke indgangsspændingen. Buck-konverter giver os spændingen mindre end indgangsspændingen med høj strømkapacitet. Det er en direkte konvertering.

BOOST CONVERTER: Som navnet antyder, betyder boost at øge indgangsspændingen.

Boost-konverter giver os DC-spændingen mere end DC-spændingen ved indgang. Det er også en direkte konvertering.

** i dette projekt skal vi lave et buck-konverteringskredsløb til at træde ned 12 v DC ved hjælp af arduino som en PWM-kilde.

ÆNDRING AF PWM FREKVENS PÅ ARDUINO PINS:

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

For at udføre PWM er den anvendte kommando:

analogWrite (PWM PIN NO, PWM VALUE)

og PWM-frekvensen for disse ben er:

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

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

Disse frekvenser er fine til generel brug som at falme en LED. Men for kredsløb buck eller boost-konverter , man har brug for højfrekvent PWM-kilde (i intervallet ti KHZ), fordi MOSFET har brug for høj frekvens for perfekt skift, og også højfrekvent input reducerer værdien eller størrelsen af ​​kredsløbskomponenter som induktor og kondensator. Således har vi brug for højfrekvent PWM-kilde til dette projekt.

En god ting er, at vi kan ændre PWM-frekvensen af ​​PWM-benene i arduino ved hjælp af en simpel kode:

TIL ARDUINO UNO:

Tilgængelig PWM-frekvens for D3 & 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 // til 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
Tilgængelig PWM-frekvens for D5 & 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
Tilgængelig PWM-frekvens for D9 & D10:
// TCCR1B = TCCR1B & B11111000 | B00000001 // indstil 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 bruge pin nr. 6 til PWM deraf 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 RESISTOR

8. LOAD (motor i dette tilfælde)

9,12 V BATTERI

KREDSLØBSDIAGRAM

Buck Converter ved hjælp af Arduino

Buck Converter ved hjælp af Arduino-ledningslayout

Foretag forbindelser som vist i kredsløbsdiagrammet.

1. Tilslut potentiometerets endeterminaler til henholdsvis 5v-stift og jordstift på arduino UNO, mens dens viskerterminal stifter til analoge stift A1.

2. Tilslut PWM-pin 6 af arduino til bunden af ​​mosfet.

3. Positiv terminal af batteri til dræning af mosfet og negativ til p-terminal af schottky-diode.

4. Fra p-terminal af schottky-diode skal du forbinde belastning (motor) i serie med induktor til mosfets kildeterminal.

5. Tilslut nu n-terminal af schottky-diode til mosfets kildeterminal.

6. Tilslut kondensator 47uf på tværs af motoren.

7. Tilslut til sidst jordstiften af ​​arduino til mosfets kildeterminal.

Formål med mosfet:

Mosfet bruges til at skifte indgangsspænding ved høj frekvens og til at give høj strøm med mindre spredning af varme.

Formål med arduino:

Til høj skiftehastighed for mosfet (ved frekvens ca. 65 KHz)

Induktorens formål:

Hvis dette kredsløb køres uden at tilslutte en induktor, er der store chancer for at beskadige mosfet på grund af højspændingsspidser på mosfets terminal.

For at forhindre mosfet fra disse højspændingsspidser er det forbundet som vist i figuren, da når mosfet er på, gemmer det energi, og når mosfet er slukket, giver det denne lagrede energi væk til motoren.

Formål med schottky-diode:

Antag, at schottky-diode ikke er tilsluttet i kredsløbet. I dette tilfælde når mosfet er slukket, frigiver induktoren sin energi til belastning eller motor, som har meget lille indflydelse på belastningen, fordi der er ufuldstændig sløjfe for strømmen at strømme. Således fuldender schottky-dioden sløjfen for strøm at strømme. Nu er en normal diode ikke tilsluttet her, fordi schottky-dioder har lavt fremadspændingsfald. Formål med led:
for at indikere nedstrømningsspænding over belastning.

Formål med potentiometer:

Potentiometer giver analog værdi til arduino (baseret på viskerterminalens position), ifølge hvilken pwm-spænding modtages af portterminalen fra mosfet fra PWM-pin 6 i Arduino. Denne værdi styrer i sidste ende udgangsspændingen over belastningen.

Hvorfor er modstand forbundet mellem port og kilde?

Selv en lille mængde støj kan tænde for mosfet. Derfor a træk modstanden ned er forbundet mellem port og jord, 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)
}

KODE FORKLARING

1. Variabel x er spændingsværdien modtaget fra pin A1, hvormed gryderens viskerterminal er forbundet.

2. Variabel y tildeles den kortlagte værdi, der er mellem 0 og 255.

3. ** Som allerede forklaret i ovenstående afsnit for kredsløb som buck eller boost-omformer, har man brug for højfrekvent PWM-kilde (i intervallet ti KHZ), fordi MOSFET har brug for høj frekvens for perfekt skift og højfrekvent input reducerer værdien eller størrelsen af kredsløbskomponenter som induktor og kondensator.

Således skal vi bruge denne enkle kode til at generere pwm spænding på ca. 65 kHz frekvens: TCCR0B = TCCR0B & B11111000 | B00000001 // for PWM-frekvens på 62,5 KHz på pin 6

Hvordan det virker:

Da potentiometer giver analog værdi til arduino (baseret på placeringen af ​​viskerterminal), bestemmer dette pwm-spændingsværdien modtaget af portterminalen til mosfet fra PWM pin 6 i Arduino.

Og denne værdi styrer i sidste ende udgangsspændingen over belastning.

Når mosfet er tændt, sparer induktor energi, og når det slukker, frigives den lagrede energi til belastningen, dvs. motoren i dette tilfælde. Og fordi denne proces finder sted ved meget høj frekvens, får vi et trin ned DC-spænding over motoren, som afhænger af viskerterminalens position, da mosfet er en spændingsafhængig enhed.

Prototype-billeder:

Videoklip af ovenstående Explained Buck Converter Circuit ved hjælp af Arduino




Tidligere: Simpelt digitalt vandstrømningsmålerkredsløb ved hjælp af Arduino Næste: 4 enkle nærhedssensorkredse - Brug af IC LM358, IC LM567, IC 555