Faceți acest convertor Buck folosind Arduino

Încercați Instrumentul Nostru Pentru Eliminarea Problemelor





În acest proiect vom reduce 12V DC la orice valoare DC între 2 și 11 volți. Circuitul care reduce tensiunea DC este cunoscut sub numele de convertor buck. Tensiunea de ieșire sau tensiunea necesară este controlată cu ajutorul unui potențiometru conectat la arduino.

De Ankit Negi



INTRODUCERE LA CONVERTOARE:

În principiu, există două tipuri de convertoare:

1. Convertor Buck



2. Boost convertor

Ambii convertoare modifică tensiunea de intrare în funcție de cerință. Sunt similare cu a transformator cu o diferență principală. În timp ce transformatorul crește / descrește o tensiune de curent alternativ, convertoarele de curent continuu cresc / coborâză tensiunea de curent continuu. Componentele principale ale ambelor convertoare sunt:

A. MOSFET

B. INDUCTOR

C. CAPACITOR

CONVERTITOR BUCK: așa cum sugerează și numele, buck înseamnă scăderea tensiunii de intrare. Convertor Buck ne oferă o tensiune mai mică decât tensiunea de intrare DC cu capacitate mare de curent. Este o conversie directă.

BOOST CONVERTER: așa cum sugerează și numele, boost înseamnă creșterea tensiunii de intrare.

Convertorul Boost ne oferă tensiunea DC mai mult decât tensiunea DC la intrare. Este, de asemenea, o conversie directă.

** în acest proiect vom face un circuit convertor Buck pentru a coborî 12 V DC folosind arduino ca sursă PWM.

SCHIMBAREA FRECVENȚEI PWM LA PINS ARDUINO:

Pinii PWM ai arduino UNO sunt 3, 5, 6, 9, 10 și 11.

Pentru a efectua PWM, comanda utilizată este:

analogWrite (PWM PIN NO, PWM VALUE)

și frecvența PWM pentru acești pini sunt:

Pentru pinii Arduino 9, 10, 11 și 3 ---- 500Hz

Pentru pinii Arduino 5 și 6 ---- 1kHz

Aceste frecvențe sunt bune pentru uz general, cum ar fi decolorarea unui led. Dar pentru circuite de genul convertor Buck sau Boost , este nevoie de o sursă PWM de înaltă frecvență (în intervalul de zeci de KHZ) deoarece MOSFET are nevoie de frecvență înaltă pentru comutare perfectă și, de asemenea, intrarea de înaltă frecvență scade valoarea sau dimensiunea componentelor circuitului, cum ar fi inductor și condensator. Astfel, pentru acest proiect avem nevoie de o sursă PWM de înaltă frecvență.

Un lucru bun este că putem schimba frecvența PWM a pinilor PWM de arduino folosind un cod simplu:

PENTRU ARDUINO UNO:

Frecvența PWM disponibilă pentru D3 și D11:
// TCCR2B = TCCR2B & B11111000 | B00000001 // pentru frecvența PWM de 31372,55 Hz
// TCCR2B = TCCR2B & B11111000 | B00000010 // pentru frecvența PWM de 3921,16 Hz
// TCCR2B = TCCR2B & B11111000 | B00000011 // pentru frecvența PWM de 980,39 Hz
TCCR2B = TCCR2B & B11111000 | B00000100 // pentru frecvența PWM de 490,20 Hz (DEFAULT)
// TCCR2B = TCCR2B & B11111000 | B00000101 // pentru frecvența PWM de 245,10 Hz
// TCCR2B = TCCR2B & B11111000 | B00000110 // pentru frecvența PWM de 122,55 Hz
// TCCR2B = TCCR2B & B11111000 | B00000111 // pentru frecvența PWM de 30,64 Hz
Frecvența PWM disponibilă pentru D5 și D6:
// TCCR0B = TCCR0B & B11111000 | B00000001 // pentru frecvența PWM de 62500,00 Hz
// TCCR0B = TCCR0B & B11111000 | B00000010 // pentru frecvența PWM de 7812,50 Hz
TCCR0B = TCCR0B & B11111000 | B00000011 // pentru frecvența PWM de 976,56 Hz (DEFAULT)
// TCCR0B = TCCR0B & B11111000 | B00000100 // pentru frecvența PWM de 244,14 Hz
// TCCR0B = TCCR0B & B11111000 | B00000101 // pentru frecvența PWM de 61,04 Hz
Frecvența PWM disponibilă pentru D9 și D10:
// TCCR1B = TCCR1B & B11111000 | B00000001 // setați temporizatorul 1 la 1 pentru frecvența PWM de 31372,55 Hz
// TCCR1B = TCCR1B & B11111000 | B00000010 // pentru frecvența PWM de 3921,16 Hz
TCCR1B = TCCR1B & B11111000 | B00000011 // pentru frecvența PWM de 490,20 Hz (DEFAULT)
// TCCR1B = TCCR1B & B11111000 | B00000100 // pentru frecvența PWM de 122,55 Hz
// TCCR1B = TCCR1B & B11111000 | B00000101 // pentru frecvența PWM de 30,64 Hz
** vom folosi pinul nr. 6 pentru PWM, de unde și codul:
// TCCR0B = TCCR0B & B11111000 | B00000001 // pentru frecvența PWM de 62,5 KHz

LISTA COMPONENTELOR:

1. ARDUINO UNO

2. INDUCTOR (100Uh)

3. DIODĂ SCHOTTKY

4. CAPACITOR (100uf)

5. IRF540N

6. POTENȚIOMETRU

7. 10k, 100ohm RESISTOR

8. ÎNCĂRCARE (motor în acest caz)

9,12 V BATERIE

DIAGRAMA CIRCUITULUI

Convertor Buck folosind Arduino

Convertor Buck Folosind aspectul cablajului Arduino

Efectuați conexiunile așa cum se arată în schema de circuit.

1. Conectați bornele de capăt ale potențiometrului la pinul de 5v și respectiv la pinul de masă al arduino UNO, în timp ce terminalul ștergătorului la pinul analogic A1 de pin.

2. Conectați pinul PWM 6 al arduino la baza Mosfet.

3. Terminalul pozitiv al bateriei pentru a se scurge de mosfet și negativ la terminalul p al diodei schottky.

4. De la terminalul p al diodei schottky, conectați sarcina (motorul) în serie cu inductor la terminalul sursă al MOSFET.

5. Acum conectați terminalul n al diodei schottky la terminalul sursă al mosfetului.

6. Conectați condensatorul 47uf la motor.

7. În cele din urmă, conectați pinul de masă al arduino la terminalul sursă al MOSFET.

Scopul mosfetului:

Mosfet este utilizat pentru a comuta tensiunea de intrare la frecvență înaltă și pentru a furniza curent ridicat, cu o disipare mai mică a căldurii.

Scopul arduino:

Pentru viteza mare de comutare a mosfetului (la o frecvență de 65 KHz aprox.)

Scopul inductorului:

Dacă acest circuit este rulat fără a conecta un inductor, atunci există șanse mari de a deteriora MOSFET din cauza vârfurilor de înaltă tensiune pe terminalul MOSFET.

Pentru a preveni MOSFET de la aceste vârfuri de înaltă tensiune, acesta este conectat așa cum se arată în figură, deoarece atunci când MOSFET este pe acesta stochează energie și atunci când MOSFET este oprit, aceasta dă energie motorului.

Scopul diodei schottky:

Să presupunem că dioda schottky nu este conectată în circuit. În acest caz, când MOSFET este oprit, inductorul își eliberează energia de încărcare sau motor, care au un efect foarte mic asupra sarcinii, deoarece există o buclă incompletă pentru curentul să curgă. Astfel, dioda schottky completează bucla pentru curentul să curgă. Acum, o diodă normală nu este conectată aici, deoarece dioda schottky are o scădere redusă a tensiunii înainte.
pentru a indica tensiunea de scădere a sarcinii.

Scopul potențiometrului:

Potențiometru dă valoare analogică arduino (pe baza poziției terminalului ștergătorului) în funcție de care tensiunea pwm este recepționată de terminalul poartă al MOSFET de la pinul PWM 6 al Arduino. Această valoare controlează în cele din urmă tensiunea de ieșire peste sarcină.

De ce rezistorul este conectat între poartă și sursă?

Chiar și o cantitate mică de zgomot poate porni mosfetul. De aici a trageți rezistorul în jos este conectat între poartă și masă, adică sursă.

Codul programului

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

EXPLICAȚIE COD

1. Variabila x este valoarea tensiunii primite de la pinul A1 la care este conectat terminalul ștergătorului.

2. Variabilei y i se atribuie valoarea mapată care este între 0 și 255.

3. ** așa cum s-a explicat deja în secțiunea de mai sus pentru circuite cum ar fi convertorul Buck sau Boost, este nevoie de o sursă PWM de înaltă frecvență (în intervalul de zeci de KHZ) deoarece MOSFET are nevoie de frecvență înaltă pentru o comutare perfectă și intrarea de înaltă frecvență scade valoarea sau dimensiunea a componentelor circuitului precum inductor și condensator.

Astfel vom folosi acest cod simplu pentru a genera tensiune pwm de aprox. Frecvența 65 kHz: TCCR0B = TCCR0B & B11111000 | B00000001 // pentru frecvența PWM de 62,5 KHz pe pinul 6

Cum functioneaza:

Deoarece Potențiometrul conferă valoare analogică arduino (pe baza poziției terminalului ștergătorului), aceasta determină valoarea tensiunii pwm primită de terminalul poartă al mosfetului de la pinul PWM 6 al Arduino.

Și această valoare controlează în cele din urmă tensiunea de ieșire peste sarcină.

Când MOSFET-ul este pornit, acesta stochează energie și când se oprește, această energie stocată este eliberată la sarcină, adică motor, în acest caz. Și pentru că acest proces are loc la o frecvență foarte ridicată, obținem o scădere a tensiunii DC pe motor, care depinde de poziția terminalului ștergătorului, deoarece mosfet este un dispozitiv dependent de tensiune.

Imagini prototip:

Videoclip al circuitului de convertor explicat de mai sus folosind Arduino




Precedent: Circuit digital de debitmetru de apă simplu folosind Arduino Următorul: 4 circuite simple de senzor de proximitate - Utilizarea IC LM358, IC LM567, IC 555