Vyrobte si tento převodník Buck pomocí Arduina

Vyrobte si tento převodník Buck pomocí Arduina

V tomto projektu se chystáme sestoupit z 12V DC na libovolnou hodnotu D.C mezi 2 a 11volty. Obvod, který snižuje napětí DC, je známý jako buck převodník. Potřebné výstupní napětí nebo krokové napětí se ovládá pomocí potenciometru připojeného k arduino.

Autor: Ankit Negi



ÚVOD PRO MĚNIČE:

V zásadě existují dva typy převaděčů:



1. Převodník Buck

2. Boost převodník



Oba převodníky mění vstupní napětí podle požadavku. Jsou podobné a transformátor s jedním hlavním rozdílem. Zatímco transformátor zvyšuje / snižuje střídavé napětí, stejnosměrné převodníky zvyšují / snižují stejnosměrné napětí. Hlavní součásti obou převodníků jsou:

A. MOSFET

B. INDUKTOR



C. KAPACITOR

BUCK CONVERTER: jak sám název napovídá, buck znamená snížit vstupní napětí. Buck převodník dává nám napětí menší než vstupní stejnosměrné napětí s vysokou proudovou kapacitou. Jedná se o přímou konverzi.

BOOST CONVERTER: jak název napovídá, boost znamená zvýšení vstupního napětí.

Boost převodník nám dává DC napětí více než DC napětí na vstupu. Je to také přímá konverze.

** v tomto projektu uděláme obvod převaděče bucků na sestup 12 V D.C pomocí arduina jako zdroje PWM.

ZMĚNA FREKVENCE PWM NA PINECH ARDUINO:

PWM piny arduino UNO jsou 3, 5, 6, 9, 10 a 11.

K provedení PWM je použit příkaz:

analogWrite (PWM PIN NO, PWM VALUE)

a frekvence PWM pro tyto piny jsou:

Pro piny Arduino 9, 10, 11 a 3 ---- 500 Hz

Pro piny Arduino 5 a 6 ---- 1kHz

Tyto frekvence jsou vhodné pro všeobecné použití, jako je vyblednutí LED. Ale pro obvod jako převodník buck nebo boost , jeden potřebuje vysokofrekvenční PWM zdroj (v rozsahu desítek KHZ), protože MOSFET potřebuje vysokou frekvenci pro dokonalé spínání a také vysokofrekvenční vstup snižuje hodnotu nebo velikost komponent obvodu jako induktor a kondenzátor. Proto pro tento projekt potřebujeme vysokofrekvenční zdroj PWM.

Dobrá věc je, že můžeme změnit PWM frekvenci PWM pinů arduina pomocí jednoduchého kódu:

PRO ARDUINO UNO:

Dostupná frekvence PWM pro D3 a D11:
// TCCR2B = TCCR2B & B11111000 | B00000001 // pro PWM frekvenci 31372,55 Hz
// TCCR2B = TCCR2B & B11111000 | B00000010 // pro frekvenci PWM 3921,16 Hz
// TCCR2B = TCCR2B & B11111000 | B00000011 // pro frekvenci PWM 980,39 Hz
TCCR2B = TCCR2B & B11111000 | B00000100 // pro frekvenci PWM 490,20 Hz (VÝCHOZÍ)
// TCCR2B = TCCR2B & B11111000 | B00000101 // pro frekvenci PWM 245,10 Hz
// TCCR2B = TCCR2B & B11111000 | B00000110 // pro frekvenci PWM 122,55 Hz
// TCCR2B = TCCR2B & B11111000 | B00000111 // pro frekvenci PWM 30,64 Hz
Dostupná frekvence PWM pro D5 a D6:
// TCCR0B = TCCR0B & B11111000 | B00000001 // pro frekvenci PWM 62500,00 Hz
// TCCR0B = TCCR0B & B11111000 | B00000010 // pro frekvenci PWM 7812,50 Hz
TCCR0B = TCCR0B & B11111000 | B00000011 // pro frekvenci PWM 976,56 Hz (VÝCHOZÍ)
// TCCR0B = TCCR0B & B11111000 | B00000100 // pro frekvenci PWM 244,14 Hz
// TCCR0B = TCCR0B & B11111000 | B00000101 // pro frekvenci PWM 61,04 Hz
Dostupná frekvence PWM pro D9 a D10:
// TCCR1B = TCCR1B & B11111000 | B00000001 // nastavit dělič časovače 1 na 1 pro frekvenci PWM 31372,55 Hz
// TCCR1B = TCCR1B & B11111000 | B00000010 // pro frekvenci PWM 3921,16 Hz
TCCR1B = TCCR1B & B11111000 | B00000011 // pro frekvenci PWM 490,20 Hz (VÝCHOZÍ)
// TCCR1B = TCCR1B & B11111000 | B00000100 // pro frekvenci PWM 122,55 Hz
// TCCR1B = TCCR1B & B11111000 | B00000101 // pro frekvenci PWM 30,64 Hz
** použijeme pin č. 6 pro PWM tedy kód:
// TCCR0B = TCCR0B & B11111000 | B00000001 // pro frekvenci PWM 62,5 KHz

SEZNAM SOUČÁSTÍ:

1. ARDUINO UNO

2. INDUKTOR (100Uh)

3. SCHOTTKY DIODE

4. KAPACITOR (100uf)

5. IRF540N

6. POTENCIOMETR

7. 10k, 100ohm ODPOR

8. ZATÍŽENÍ (v tomto případě motor)

9.12 V BATERIE

KRUHOVÝ DIAGRAM

Buck Converter pomocí Arduina

Buck Converter využívající rozložení kabeláže Arduino

Proveďte připojení podle schématu zapojení.

1. Připojte koncové svorky potenciometru k 5V pinu a zemnicímu pinu Arduino UNO, zatímco jeho svorka stěrače k ​​pinu analogového pinu A1.

2. Připojte PWM pin 6 arduina k základně mosfet.

3. Kladný pól baterie pro odběr mosfetu a záporný pro p-pól schottkyho diody.

4. Od p-terminálu schottkyho diody připojte zátěž (motor) v sérii s induktorem ke zdrojové svorce mosfetu.

5. Nyní připojte n-terminál schottkyho diody ke zdrojovému terminálu mosfetu.

6. Připojte kondenzátor 47uf přes motor.

7. Nakonec připojte zemnící kolík arduina ke zdrojovému terminálu mosfetu.

Účel MOSFETu:

Mosfet se používá k přepínání vstupního napětí na vysokou frekvenci ak zajištění vysokého proudu s menším rozptylem tepla.

Účel arduina:

Pro vysokou spínací rychlost mosfetu (při frekvenci přibližně 65 KHz)

Účel induktoru:

Pokud je tento obvod spuštěn bez připojení induktoru, existuje vysoká pravděpodobnost poškození mosfetu v důsledku vysokonapěťových špiček na terminálu mosfetu.

Aby se zabránilo mosfetu z těchto vysokonapěťových špiček, je připojen, jak je znázorněno na obrázku, protože když je mosfet zapnutý, ukládá energii a když je mosfet vypnutý, rozdává tuto uloženou energii motoru.

Účel Schottkyho diody:

Předpokládejme, že schottkyho dioda není v obvodu připojena. V tomto případě, když je mosfet vypnutý, induktor uvolňuje svoji energii do zátěže nebo motoru, což má velmi malý vliv na zátěž, protože pro protékání proudu není úplná smyčka. Schottkyho dioda tedy dokončuje smyčku pro tok proudu. Nyní zde není připojena normální dioda, protože schottkyho dioda má nízký pokles dopředného napětí. Účel LED:
pro indikaci sestupného napětí napříč zátěží.

Účel potenciometru:

Potenciometr dává analogovou hodnotu arduinu (na základě polohy terminálu stěrače), podle kterého je napětí pwm přijímáno hradlovým terminálem mosfetu z PWM pinu 6 Arduina. Tato hodnota nakonec řídí výstupní napětí napříč zátěží.

Proč je mezi branou a zdrojem připojen odpor?

I malé množství šumu může zapnout mosfet. Tedy a stáhněte rezistor je spojen mezi bránou a zemí, tj. zdrojem.

Programový kód

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

VYSVĚTLENÍ KÓDU

1. Proměnná x je hodnota napětí přijatá z kolíku A1, ke kterému je připojena svorka stěrače.

2. Proměnné y je přiřazena namapovaná hodnota, která je mezi 0 a 255.

3. ** jak již bylo vysvětleno v předchozí části pro obvod, jako je buck nebo boost převodník, je potřeba vysokofrekvenční PWM zdroj (v rozsahu desítek KHZ), protože MOSFET potřebuje vysokou frekvenci pro dokonalé spínání a vysokofrekvenční vstup snižuje hodnotu nebo velikost součástí obvodu, jako je induktor a kondenzátor.

Tento jednoduchý kód tedy použijeme ke generování pwm napětí přibližně. Kmitočet 65 kHz: TCCR0B = TCCR0B a B11111000 | B00000001 // pro frekvenci PWM 62,5 KHz na kolíku 6

Jak to funguje:

Vzhledem k tomu, že potenciometr dává arduinu analogovou hodnotu (na základě polohy terminálu stěrače), určuje hodnotu napětí pwm přijatého terminálem brány mosfetu z PWM pinu 6 Arduina.

A tato hodnota nakonec řídí výstupní napětí napříč zátěží.

Když je mosfet zapnutý, induktor ukládá energii a po vypnutí se tato akumulovaná energie uvolňuje do zátěže, tj. V tomto případě motoru. A protože tento proces probíhá při velmi vysoké frekvenci, dostaneme o krok nižší DC napětí napříč motorem, které závisí na poloze koncovky stěrače, protože mosfet je zařízení závislé na napětí.

Prototypové obrázky:

Videoklip výše vysvětleného obvodu převaděče Buck pomocí Arduina




Předchozí: Jednoduchý digitální obvod průtokoměru vody pomocí Arduina Další: 4 obvody jednoduchého snímače vzdálenosti - pomocí IC LM358, IC LM567, IC 555