Gawin ang Buck Converter na Ito Gamit ang Arduino

Subukan Ang Aming Instrumento Para Sa Pagtanggal Ng Mga Problema





Sa proyektong ito, bababa kami sa 12v D.C sa anumang halaga ng D.C sa pagitan ng 2 at 11volts. Ang circuit na bumababa sa boltahe ng D.C ay kilala bilang buck converter. Ang output boltahe o step down na boltahe na kinakailangan ay kinokontrol gamit ang isang potentiometer na konektado sa arduino.

Ni Ankit Negi



PANIMULA SA CONVERTERS:

Karaniwan may dalawang uri ng mga converter:

1. Konverter ng Buck



2. Palakasin ang converter

Ang parehong mga converter ay binabago ang input boltahe ayon sa kinakailangan. Pareho sila sa a transpormador na may isang pangunahing pagkakaiba. Samantalang ang transpormer ay nagtatataas / pababa sa isang boltahe ng A.C, ang mga converter ng D.C ay pataas / pababa ng boltahe D.C. Pangunahing mga bahagi ng parehong mga converter ay:

A. MOSFET

B. INDUCTOR

C. CAPACITOR

BUCK CONVERTER: tulad ng iminungkahi mismo ng pangalan, ang ibig sabihin ng buck ay babaan ang boltahe ng pag-input. Buck converter ay nagbibigay sa amin ng boltahe mas mababa kaysa sa input D.C boltahe na may mataas na kasalukuyang kapasidad. Ito ay isang direktang pagbabago.

BOOST CONVERTER: tulad ng iminungkahi mismo ng pangalan, palakasin ang ibig sabihin upang madagdagan ang boltahe ng pag-input.

Binibigyan tayo ng boost converter ng boltahe ng D.C higit pa sa boltahe ng D.C sa input. Ito rin ay isang direktang pagbabago.

** sa proyektong ito gagawa kami ng isang circuit ng buck converter upang bumaba ang 12 v D.C gamit ang arduino bilang isang mapagkukunan ng PWM.

PAGBABAGO NG PWM FREQUENCY SA ARDUINO PINS:

Ang mga PWM na pin ng arduino UNO ay 3, 5, 6, 9, 10 at 11.

Upang maisagawa ang PWM, ang ginamit na utos ay:

analogWrite (PWM PIN NO, PWM VALUE)

at ang dalas ng PWM para sa mga pin na ito ay:

Para sa Arduino Pins 9, 10, 11, at 3 ---- 500Hz

Para sa Arduino Pins 5 at 6 ---- 1kHz

Ang mga frequency na ito ay pagmultahin para sa pangkalahatang layunin ng paggamit tulad ng pagkupas ng isang led. Ngunit para sa circuit tulad ng buck o boost converter , kailangan ng isa ng mataas na dalas ng mapagkukunan ng PWM (sa saklaw ng mga sampu-sampung KHZ) dahil ang MOSFET ay nangangailangan ng mataas na dalas para sa perpektong paglipat at din ng mataas na dalas ng pag-input ay nababawasan ang halaga o laki ng mga bahagi ng circuit tulad ng inductor at capacitor. Kaya para sa proyektong ito kailangan namin ng mataas na dalas ng mapagkukunan ng PWM.

Magandang bagay ay mababago natin ang dalas ng PWM ng mga PWM na pin ng arduino sa pamamagitan ng paggamit ng simpleng code:

PARA SA ARDUINO UNO:

Magagamit na dalas ng PWM para sa D3 at D11:
// TCCR2B = TCCR2B & B11111000 | B00000001 // para sa dalas ng PWM na 31372.55 Hz
// TCCR2B = TCCR2B & B11111000 | B00000010 // para sa dalas ng PWM na 3921.16 Hz
// TCCR2B = TCCR2B & B11111000 | B00000011 // para sa dalas ng PWM na 980.39 Hz
TCCR2B = TCCR2B & B11111000 | B00000100 // para sa dalas ng PWM na 490.20 Hz (Ang DEFAULT)
// TCCR2B = TCCR2B & B11111000 | B00000101 // para sa dalas ng PWM na 245.10 Hz
// TCCR2B = TCCR2B & B11111000 | B00000110 // para sa dalas ng PWM na 122.55 Hz
// TCCR2B = TCCR2B & B11111000 | B00000111 // para sa dalas ng PWM na 30.64 Hz
Magagamit na dalas ng PWM para sa D5 at D6:
// TCCR0B = TCCR0B & B11111000 | B00000001 // para sa dalas ng PWM na 62500.00 Hz
// TCCR0B = TCCR0B & B11111000 | B00000010 // para sa dalas ng PWM na 7812.50 Hz
TCCR0B = TCCR0B & B11111000 | B00000011 // para sa dalas ng PWM na 976.56 Hz (Ang DEFAULT)
// TCCR0B = TCCR0B & B11111000 | B00000100 // para sa dalas ng PWM na 244.14 Hz
// TCCR0B = TCCR0B & B11111000 | B00000101 // para sa dalas ng PWM na 61.04 Hz
Magagamit na dalas ng PWM para sa D9 at D10:
// TCCR1B = TCCR1B & B11111000 | B00000001 // itakda ang timer 1 divisor sa 1 para sa PWM dalas ng 31372.55 Hz
// TCCR1B = TCCR1B & B11111000 | B00000010 // para sa dalas ng PWM na 3921.16 Hz
TCCR1B = TCCR1B & B11111000 | B00000011 // para sa dalas ng PWM na 490.20 Hz (Ang DEFAULT)
// TCCR1B = TCCR1B & B11111000 | B00000100 // para sa dalas ng PWM na 122.55 Hz
// TCCR1B = TCCR1B & B11111000 | B00000101 // para sa dalas ng PWM na 30.64 Hz
** gagamit kami ng pin no. 6 para sa PWM samakatuwid ang code:
// TCCR0B = TCCR0B & B11111000 | B00000001 // para sa dalas ng PWM na 62.5 KHz

LISTANG KOMPONENO:

1. ARDUINO UNO

2. INDUCTOR (100Uh)

3. SCHOTTKY DIODE

4. CAPACITOR (100uf)

5. IRF540N

6. POTENTIOMETER

7. 10k, 100ohm RESISTOR

8. LOAD (motor sa kasong ito)

9.12 V BATTERY

CIRCUIT DIAGRAM

Buck Converter Gamit ang Arduino

Buck Converter Gamit ang layout ng mga kable ng Arduino

Gumawa ng mga koneksyon tulad ng ipinapakita sa circuit diagram.

1. Ikonekta ang mga end terminal ng potentiometer sa 5v pin at ground pin ng arduino UNO ayon sa pagkakabanggit samantalang ang wiper terminal nito ay i-pin ang analog pin A1.

2. Ikonekta ang PWM pin 6 ng arduino sa base ng mosfet.

3. Positibong terminal ng baterya upang maubos ang mosfet at negatibo sa p-terminal ng schottky diode.

4. Mula sa p-terminal ng schottky diode, ikonekta ang pagkarga (motor) sa serye na may inductor hanggang sa mapagkukunan ng terminal ng mosfet.

5. Ngayon ikonekta ang n-terminal ng schottky diode sa mapagkukunang terminal ng mosfet.

6. Ikonekta ang 47uf capacitor sa motor.

7. Sa wakas ay ikonekta ang ground pin ng arduino sa pinagmulang terminal ng mosfet.

Layunin ng mosfet:

Ang Mosfet ay ginagamit upang ilipat ang input boltahe sa mataas na dalas at upang magbigay ng mataas na kasalukuyang may mas kaunting pagwawaldas ng init.

Layunin ng arduino:

Para sa mataas na bilis ng paglipat ng mosfet (sa dalas na 65 KHz tinatayang.)

Layunin ng inductor:

Kung ang circuit na ito ay pinatakbo nang walang pagkonekta sa isang inductor, pagkatapos ay may mataas na posibilidad na mapinsala ang mosfet dahil sa mataas na boltahe na mga spike sa terminal ng mosfet.

Upang maiwasan ang mosfet mula sa mga mataas na boltahe na spike ito ay konektado tulad ng ipinakita sa pigura mula noong nasa mosfet ito ay nag-iimbak ng enerhiya at kapag naka-off ang mosfet ay ibigay ang nakaimbak na enerhiya na ito sa motor.

Layunin ng schottky diode:

Ipagpalagay na ang schottky diode ay hindi konektado sa circuit. Sa kasong ito kapag ang mosfet ay naka-off ang inductor ay naglalabas ng enerhiya nito upang mai-load o motor na may napakaliit na epekto sa pag-load dahil mayroong hindi kumpletong loop para sa kasalukuyang daloy. Kaya kinumpleto ng schottky diode ang loop para sa kasalukuyang daloy. Ngayon ang isang normal na diode ay hindi konektado dito dahil ang schottky diode ay may mababang pasulong na pagbagsak ng boltahe. Layunin ng led:
upang ipahiwatig ang pababang boltahe sa kabuuan ng pagkarga.

Layunin ng potensyomiter:

Potensyomiter nagbibigay ng analog na halaga sa arduino (batay sa posisyon ng wiper terminal) alinsunod sa kung aling pwm boltahe ang natanggap ng gate terminal ng mosfet mula sa PWM pin 6 ng Arduino. Ang halagang ito ay kinokontrol ang output boltahe sa kabuuan ng pagkarga.

Bakit ang risistor ay konektado sa pagitan ng gate at pinagmulan?

Kahit na ang maliit na halaga ng ingay ay maaaring i-on ang mosfet. Samakatuwid a hilahin pababa risistor ay konektado sa pagitan ng gate at ground ibig sabihin, mapagkukunan.

Code ng Programa

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

PAGLALAHAD NG CODE

1. Ang variable x ay ang halaga ng boltahe na natanggap mula sa pin A1 kung saan nakakonekta ang wiper terminal ng palayok.

2. Ang variable na y ay itinalaga ng na-map na halaga na nasa pagitan ng 0 at 255.

3. ** tulad ng naipaliwanag na sa itaas na seksyon para sa circuit tulad ng buck o boost converter, kailangan ng isa ang mataas na dalas ng mapagkukunan ng PWM (sa saklaw ng sampu-sampung KHZ) dahil ang MOSFET ay nangangailangan ng mataas na dalas para sa perpektong paglipat at ang dalas ng dalas ng input ay nababawasan ang halaga o laki ng mga bahagi ng circuit tulad ng inductor at capacitor.

Sa gayon ay gagamitin namin ang simpleng code na ito upang makabuo ng boltahe ng pwm na tinatayang. 65 kHz dalas: TCCR0B = TCCR0B & B11111000 | B00000001 // para sa dalas ng PWM na 62.5 KHz sa pin 6

Paano ito gumagana:

Dahil ang Potentiometer ay nagbibigay ng halagang analog sa arduino (batay sa posisyon ng wiper terminal), tinutukoy nito ang pwm boltahe na halaga na natanggap ng gate terminal ng mosfet mula sa PWM pin 6 ng Arduino.

At ang halagang ito ay kinokontrol ang output boltahe sa kabuuan ng pagkarga.

Kapag ang mosfet ay nasa inductor ay nag-iimbak ng enerhiya at kapag pinapatay nito ang nakaimbak na enerhiya na ito ay inilabas sa karga ibig sabihin, motor sa kasong ito. At dahil ang prosesong ito ay nagaganap sa napakataas na dalas nakakakuha kami ng isang hakbang pababa ng boltahe ng D.C sa motor na nakasalalay sa posisyon ng wiper terminal bilang mosfet ay isang aparato na umaasa sa boltahe.

Mga Larawan ng Prototype:

Video Clip ng nasa itaas na Ipinaliwanag na Buck Converter Circuit gamit ang Arduino




Nakaraan: Simpleng Digital Water Flow Meter Circuit gamit ang Arduino Susunod: 4 Mga Simpleng Circuit ng Sensor ng Lapit - Paggamit ng IC LM358, IC LM567, IC 555