Gör denna Buck Converter med Arduino

Prova Vårt Instrument För Att Eliminera Problem





I det här projektet kommer vi att trappa ner 12v DC till valfritt DC-värde mellan 2 och 11 volt. Kretsen som stiger ner DC-spänningen kallas buck-omvandlare. Utgångsspänningen eller den nedåtgående spänningen som behövs styrs med en potentiometer ansluten till arduino.

Av Ankit Negi



INLEDNING TILL OMBYGGARE:

Det finns i princip två typer av omvandlare:

1. Buck-omvandlare



2. Boost-omvandlare

Båda omvandlarna ändrar ingångsspänningen enligt kravet. De liknar a transformator med en huvudskillnad. Medan transformatorn stiger upp / ner en AC-spänning, stiger DC-omvandlare DC-spänningen upp / ner. Huvudkomponenterna för båda omvandlarna är:

A. MOSFET

B. INDUKTÖR

C. KAPACITOR

BUCK CONVERTER: som namnet själv antyder betyder buck att sänka ingångsspänningen. Buck-omvandlare ger oss spänningen mindre än ingångens DC-spänning med hög strömkapacitet. Det är en direkt omvandling.

BOOST CONVERTER: som själva namnet antyder, boost betyder att öka ingångsspänningen.

Boost-omvandlare ger oss DC-spänningen mer än DC-spänningen vid ingången. Det är också en direkt omvandling.

** i det här projektet ska vi skapa en krets för omvandlare för att trappa ner 12 v DC med arduino som en PWM-källa.

ÄNDRING AV PWM FREKVENS PÅ ARDUINO PINS:

PWM-stift på arduino UNO är 3, 5, 6, 9, 10 och 11.

För att utföra PWM är kommandot som används:

analogWrite (PWM PIN NO, PWM VALUE)

och PWM-frekvensen för dessa stift är:

För Arduino Pins 9, 10, 11 och 3 ---- 500Hz

För Arduino Pins 5 och 6 ---- 1kHz

Dessa frekvenser är bra för allmänt bruk som att bleka en LED. Men för kretsliknande buck eller boost-omvandlare , man behöver högfrekvent PWM-källa (i intervallet tiotals KHZ) eftersom MOSFET behöver hög frekvens för perfekt omkoppling och också högfrekvensingång minskar värdet eller storleken på kretskomponenter som induktor och kondensator. För detta projekt behöver vi alltså högfrekvent PWM-källa.

Bra är att vi kan ändra PWM-frekvensen för PWM-stiften i arduino genom att använda enkel kod:

FÖR ARDUINO UNO:

Tillgänglig PWM-frekvens för D3 & D11:
// TCCR2B = TCCR2B & B11111000 | B00000001 // för PWM-frekvens 31372,55 Hz
// TCCR2B = TCCR2B & B11111000 | B00000010 // för PWM-frekvens på 3921,16 Hz
// TCCR2B = TCCR2B & B11111000 | B00000011 // för PWM-frekvens på 980,39 Hz
TCCR2B = TCCR2B & B11111000 | B00000100 // för PWM-frekvens på 490,20 Hz (STANDARDEN)
// TCCR2B = TCCR2B & B11111000 | B00000101 // för PWM-frekvens på 245,10 Hz
// TCCR2B = TCCR2B & B11111000 | B00000110 // för PWM-frekvens på 122,55 Hz
// TCCR2B = TCCR2B & B11111000 | B00000111 // för PWM-frekvens på 30,64 Hz
Tillgänglig PWM-frekvens för D5 & D6:
// TCCR0B = TCCR0B & B11111000 | B00000001 // för PWM-frekvens på 62500,00 Hz
// TCCR0B = TCCR0B & B11111000 | B00000010 // för PWM-frekvens på 7812,50 Hz
TCCR0B = TCCR0B & B11111000 | B00000011 // för PWM-frekvens på 976,56 Hz (STANDARDEN)
// TCCR0B = TCCR0B & B11111000 | B00000100 // för PWM-frekvens på 244,14 Hz
// TCCR0B = TCCR0B & B11111000 | B00000101 // för PWM-frekvens på 61,04 Hz
Tillgänglig PWM-frekvens för D9 & D10:
// TCCR1B = TCCR1B & B11111000 | B00000001 // ställ timer 1 divisor till 1 för PWM-frekvens på 31372,55 Hz
// TCCR1B = TCCR1B & B11111000 | B00000010 // för PWM-frekvens på 3921,16 Hz
TCCR1B = TCCR1B & B11111000 | B00000011 // för PWM-frekvens på 490,20 Hz (STANDARDEN)
// TCCR1B = TCCR1B & B11111000 | B00000100 // för PWM-frekvens på 122,55 Hz
// TCCR1B = TCCR1B & B11111000 | B00000101 // för PWM-frekvens på 30,64 Hz
** vi ska använda stift nr. 6 för PWM därav koden:
// TCCR0B = TCCR0B & B11111000 | B00000001 // för PWM-frekvens på 62,5 KHz

KOMPONENTLISTA:

1. ARDUINO UNO

2. INDUKTÖR (100Uh)

3. SCHOTTKY-DIOD

4. KAPACITOR (100uf)

5. IRF540N

6. POTENTIOMETER

7. 10k, 100ohm RESISTOR

8. LOAD (motor i detta fall)

9,12 V BATTERI

KRETSDIAGRAM

Buck Converter med Arduino

Buck Converter använder Arduino ledningslayout

Gör anslutningar som visas i kretsschemat.

1. Anslut ändterminalerna på potentiometern till 5V-stift respektive jordstift på arduino UNO medan dess torkaranslutning stiftar till analog stift A1.

2. Anslut PWM-stift 6 på arduino till basen på Mosfet.

3. Positiv pol på batteriet för att tömma mosfet och negativ till p-terminalen på schottky-dioden.

4. Från p-terminalen på schottky-dioden ansluter du belastningen (motor) i serie med induktorn till källterminalen på mosfet.

5. Anslut nu n-terminalen på schottky-dioden till MOSFET-källterminalen.

6. Anslut kondensatorn 47uf över motorn.

7. Anslut äntligen jordpinnen av arduino till Mosfets källterminal.

Syfte med mosfet:

Mosfet används för att växla ingångsspänningen vid hög frekvens och för att ge hög ström med mindre värmeavledning.

Syfte med arduino:

För hög växlingshastighet för mosfet (vid frekvens 65 KHz ungefär)

Induktans syfte:

Om denna krets körs utan att ansluta en induktor, finns det stora chanser att skada mosfet på grund av högspänningspiggar på mosfets terminal.

För att förhindra mosfet från dessa högspänningspinnar är den ansluten som visas i figuren, eftersom när mosfet är på lagrar den energi och när mosfet är avstängd ger den bort denna lagrade energi till motorn.

Syfte med schottky-diod:

Antag att schottky-dioden inte är ansluten i kretsen. I detta fall när mosfet är avstängd släpper induktorn sin energi till belastning eller motor som har mycket liten effekt på belastningen eftersom det finns en ofullständig slinga för ström att strömma. Således kompletterar schottky-dioden slingan för ström att strömma. Nu är ingen vanlig diod ansluten här eftersom schottky-dioder har lågt spänningsfall framåt.
för att indikera nedstigningsspänning över belastning.

Syfte med potentiometer:

Potentiometer ger analogt värde till arduino (baserat på positionen för torkterminalen) enligt vilken pwm-spänning mottas av grindterminalen från MOSFET från PWM-stift 6 i Arduino. Detta värde styr slutligen utspänningen över belastningen.

Varför är motstånd anslutet mellan grind och källa?

Även lite buller kan sätta på mosfet. Därav a dra ner motståndet är ansluten mellan grind och mark dvs källa.

Programkod

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)
}

KODFÖRKLARING

1. Variabel x är spänningsvärde som tas emot från stift A1 vid vilken grytans torkterminal är ansluten.

2. Variabel y tilldelas det mappade värdet som är mellan 0 och 255.

3. ** Som redan förklarats i ovanstående avsnitt för krets som buck eller boost-omvandlare, behöver man högfrekvent PWM-källa (i intervallet tiotals KHz) eftersom MOSFET behöver hög frekvens för perfekt omkoppling och högfrekvensingång minskar värdet eller storleken av kretskomponenter som induktor och kondensator.

Således kommer vi att använda denna enkla kod för att generera pwm-spänning på ca. 65 kHz frekvens: TCCR0B = TCCR0B & B11111000 | B00000001 // för PWM-frekvens på 62,5 KHz på stift 6

Hur det fungerar:

Eftersom Potentiometer ger analogt värde till arduino (baserat på positionen för torkterminalen), bestämmer detta pwm-spänningsvärde som mottas av grindterminalen till mosfet från PWM-stift 6 i Arduino.

Och detta värde styr slutligen utspänningen över belastningen.

När mosfet är på lagrar induktorn energi och när den stängs av frigörs denna lagrade energi till belastningen, dvs motorn i det här fallet. Och eftersom denna process äger rum med mycket hög frekvens får vi ett steg ned DC-spänning över motorn som beror på torkaranslutningens läge eftersom mosfet är en spänningsberoende enhet.

Prototypbilder:

Videoklipp av ovanstående Explained Buck Converter Circuit med Arduino




Tidigare: Enkel digital vattenflödesmätarkrets med Arduino Nästa: 4 enkla närhetssensorkretsar - använder IC LM358, IC LM567, IC 555