Bu Buck Dönüştürücüyü Arduino kullanarak yapın

Sorunları Ortadan Kaldırmak Için Enstrümanımızı Deneyin





Bu projede, 12v D.C'yi 2 ile 11volt arasındaki herhangi bir D.C değerine indireceğiz. DC voltajını düşüren devre, kova dönüştürücü olarak bilinir. Gerekli çıkış voltajı veya düşürme voltajı, arduino'ya bağlı bir potansiyometre kullanılarak kontrol edilir.

Ankit Negi tarafından



DÖNÜŞTÜRÜCÜLERE GİRİŞ:

Temel olarak iki tür dönüştürücü vardır:

1. Buck dönüştürücü



2. Dönüştürücüyü artırın

Her iki dönüştürücü de giriş voltajını ihtiyaca göre değiştirir. Benzerler trafo tek bir temel farkla. Transformatör bir A.C voltajını yükseltir / düşürürken, D.C dönüştürücüler DC voltajını yükseltir / düşürür. Her iki dönüştürücünün ana bileşenleri şunlardır:

A. MOSFET

B. İNDÜKTÖR

C. KAPASİTÖR

BUCK CONVERTER: adından da anlaşılacağı gibi buck, giriş voltajını düşürmek anlamına gelir. Buck dönüştürücü bize yüksek akım kapasiteli giriş DC geriliminden daha düşük bir gerilim verir. Doğrudan bir dönüşümdür.

BOOST CONVERTER: Adından da anlaşılacağı gibi, boost giriş voltajını artırmak anlamına gelir.

Yükseltici dönüştürücü bize DC voltajını girişteki DC voltajından daha fazla verir. Aynı zamanda doğrudan bir dönüşümdür.

** Bu projede arduino'yu PWM kaynağı olarak kullanarak 12 v D.C'yi düşürmek için bir buck dönüştürücü devresi yapacağız.

ARDUINO PINS ÜZERİNDE PWM FREKANSININ DEĞİŞTİRİLMESİ:

Arduino UNO'nun PWM pinleri 3, 5, 6, 9, 10 ve 11'dir.

PWM gerçekleştirmek için kullanılan komut şu şekildedir:

analogWrite (PWM PIN NO, PWM VALUE)

ve bu pinler için PWM frekansı:

Arduino Pinleri 9, 10, 11 ve 3 ---- 500Hz için

Arduino Pinleri 5 ve 6 ---- 1kHz için

Bu frekanslar, bir ledin sönmesi gibi genel amaçlı kullanım için uygundur. Ama devre gibi buck veya boost dönüştürücü , yüksek frekanslı PWM kaynağına (onlarca KHZ aralığında) ihtiyaç vardır çünkü MOSFET mükemmel anahtarlama için yüksek frekansa ihtiyaç duyar ve ayrıca yüksek frekans girişi, indüktör ve kondansatör gibi devre bileşenlerinin değerini veya boyutunu azaltır. Dolayısıyla bu proje için yüksek frekanslı PWM kaynağına ihtiyacımız var.

İşin iyi yanı arduino'nun PWM pinlerinin PWM frekansını basit bir kod kullanarak değiştirebiliriz:

ARDUINO UNO İÇİN:

D3 ve D11 için mevcut PWM frekansı:
// TCCR2B = TCCR2B ve B11111000 | B00000001 // 31372,55 Hz PWM frekansı için
// TCCR2B = TCCR2B ve B11111000 | B00000010 // 3921.16 Hz PWM frekansı için
// TCCR2B = TCCR2B ve B11111000 | B00000011 // 980,39 Hz PWM frekansı için
TCCR2B = TCCR2B ve B11111000 | B00000100 // 490.20 Hz'lik PWM frekansı için (VARSAYILAN)
// TCCR2B = TCCR2B ve B11111000 | B00000101 // 245.10 Hz PWM frekansı için
// TCCR2B = TCCR2B ve B11111000 | B00000110 // 122,55 Hz'lik PWM frekansı için
// TCCR2B = TCCR2B ve B11111000 | B00000111 // 30.64 Hz PWM frekansı için
D5 ve D6 için mevcut PWM frekansı:
// TCCR0B = TCCR0B ve B11111000 | B00000001 // 62500.00 Hz PWM frekansı için
// TCCR0B = TCCR0B ve B11111000 | B00000010 // 7812.50 Hz PWM frekansı için
TCCR0B = TCCR0B ve B11111000 | B00000011 // 976,56 Hz'lik PWM frekansı için (VARSAYILAN)
// TCCR0B = TCCR0B ve B11111000 | B00000100 // 244,14 Hz PWM frekansı için
// TCCR0B = TCCR0B ve B11111000 | B00000101 // 61.04 Hz PWM frekansı için
D9 ve D10 için mevcut PWM frekansı:
// TCCR1B = TCCR1B ve B11111000 | B00000001 // 31372,55 Hz PWM frekansı için zamanlayıcı 1 bölenini 1'e ayarla
// TCCR1B = TCCR1B ve B11111000 | B00000010 // 3921.16 Hz PWM frekansı için
TCCR1B = TCCR1B ve B11111000 | B00000011 // 490.20 Hz'lik PWM frekansı için (VARSAYILAN)
// TCCR1B = TCCR1B ve B11111000 | B00000100 // 122,55 Hz PWM frekansı için
// TCCR1B = TCCR1B ve B11111000 | B00000101 // 30.64 Hz PWM frekansı için
** pin no kullanacağız. PWM için 6, dolayısıyla kod:
// TCCR0B = TCCR0B ve B11111000 | B00000001 // 62,5 KHz'lik PWM frekansı için

BİLEŞEN LİSTESİ:

1. ARDUINO UNO

2. İNDÜKTÖR (100Uh)

3. SCHOTTKY DIODE

4. KAPASİTÖR (100 uf)

5. IRF540N

6. POTANSİYOMETRE

7. 10k, 100ohm DİRENÇ

8. YÜK (bu durumda motor)

9.12 V AKÜ

DEVRE ŞEMASI

Arduino Kullanarak Buck Dönüştürücü

Arduino kablo düzenini kullanan Buck Dönüştürücü

Devre şemasında gösterildiği gibi bağlantıları yapın.

1. Potansiyometrenin uç terminallerini sırasıyla arduino UNO'nun 5v pinine ve toprak pinine, silecek terminalini analog pin A1 pinine bağlayın.

2. Arduino'nun PWM pini 6'yı mosfet'in tabanına bağlayın.

3. Mosfet'i boşaltmak için pilin pozitif ucu ve schottky diyotun p-terminaline negatif.

4. Schottky diyotun p-terminalinden yükü (motoru) indüktörle seri olarak mosfet'in kaynak terminaline bağlayın.

5. Şimdi schottky diyotun n-terminalini mosfet'in kaynak terminaline bağlayın.

6. 47 uf kapasitörünü motora bağlayın.

7. Son olarak arduino'nun topraklama pimini mosfet'in kaynak terminaline bağlayın.

Mosfet'in amacı:

Mosfet, giriş voltajını yüksek frekansta değiştirmek ve daha az ısı dağılımı ile yüksek akım sağlamak için kullanılır.

Arduino'nun amacı:

Mosfet'in yüksek anahtarlama hızı için (yaklaşık 65 KHz frekansında)

İndüktörün amacı:

Bu devre bir indüktör bağlanmadan çalıştırılırsa, mosfet terminalindeki yüksek voltaj yükselmelerinden dolayı mosfet'e zarar verme olasılığı yüksektir.

Mosfet'i bu yüksek voltaj yükselmelerinden korumak için şekilde gösterildiği gibi bağlanır çünkü mosfet açıkken enerji depolar ve mosfet kapalıyken bu depolanmış enerjiyi motora verir.

Schottky diyotun amacı:

Schottky diyotunun devreye bağlı olmadığını varsayın. Bu durumda mosfet kapatıldığında indüktör enerjisini yüke veya yüke çok az etkisi olan motora bırakır, çünkü akımın akması için eksik bir döngü vardır. Böylece schottky diyot, akımın akması için döngüyü tamamlar. Schottky diyot düşük ileri voltaj düşüşüne sahip olduğu için artık buraya normal bir diyot bağlı değil. Led'in amacı:
Yük boyunca gerilimi düşürmek için.

Potansiyometrenin amacı:

Potansiyometre Arduino'nun PWM pin 6'sından mosfet'in kapı terminali tarafından hangi pwm voltajının alındığına göre arduino'ya analog değer verir (silecek terminalinin konumuna göre). Bu değer nihayetinde yük boyunca çıkış voltajını kontrol eder.

Direnç neden kapı ve kaynak arasına bağlanır?

Az miktarda gürültü bile mosfet'i çalıştırabilir. Dolayısıyla a direnci aşağı çekin kapı ile toprak, yani kaynak arasına bağlanır.

Program kodu

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

KOD AÇIKLAMASI

1. Değişken x, potun silecek terminalinin bağlı olduğu pin A1'den alınan voltaj değeridir.

2. Değişken y'ye, 0 ile 255 arasındaki eşlenen değer atanır.

3. ** Buck veya boost dönüştürücü gibi devreler için yukarıdaki bölümde daha önce açıklandığı gibi, yüksek frekanslı PWM kaynağına (onlarca KHZ aralığında) ihtiyaç vardır çünkü MOSFET mükemmel anahtarlama için yüksek frekansa ihtiyaç duyar ve yüksek frekans girişi değeri veya boyutu azaltır indüktör ve kapasitör gibi devre bileşenlerinin.

Bu nedenle, bu basit kodu yaklaşık olarak pwm voltajı oluşturmak için kullanacağız. 65 kHz frekans: TCCR0B = TCCR0B ve B11111000 | B00000001 // 62.5 KHz'lik PWM frekansı için pin 6'da

Nasıl çalışır:

Potansiyometre arduino'ya analog değer verdiğinden (silecek terminalinin konumuna göre), bu, mosfet'in kapı terminali tarafından Arduino'nun PWM pimi 6'dan alınan pwm voltaj değerini belirler.

Ve bu değer nihayetinde yük boyunca çıkış voltajını kontrol eder.

Mosfet açıkken indüktör enerjiyi depolar ve kapandığında bu depolanan enerji bu durumda yüke yani motora salınır. Ve bu işlem çok yüksek frekansta gerçekleştiği için, mosfet voltaja bağımlı bir cihaz olduğundan silecek terminalinin konumuna bağlı olarak motorda bir DC voltajı düşürüyoruz.

Prototip Resimleri:

Arduino kullanarak yukarıda açıklanan Buck Dönüştürücü Devresinin Video Klibi




Önceki: Arduino kullanarak Basit Dijital Su Akış Ölçer Devresi Sonraki: 4 Basit Yakınlık Sensörü Devresi - IC LM358, IC LM567, IC 555 Kullanımı