İçindekiler:

Arduino - PV MPPT Solar Charger: 6 Adım (Resimlerle)
Arduino - PV MPPT Solar Charger: 6 Adım (Resimlerle)

Video: Arduino - PV MPPT Solar Charger: 6 Adım (Resimlerle)

Video: Arduino - PV MPPT Solar Charger: 6 Adım (Resimlerle)
Video: How to build an Arduino controlled solar charger 2024, Kasım
Anonim
Image
Image
Para Dönüştürücü
Para Dönüştürücü

Piyasada birçok şarj kontrol cihazı bulunmaktadır. sıradan ucuz şarj kontrolörleri, güneş panellerinden maksimum gücü kullanmak için verimli değildir. Verimli olanlar çok maliyetlidir.

Bu yüzden verimli ve pil ihtiyaçlarını ve güneş koşullarını anlayacak kadar akıllı olan kendi şarj kontrol cihazımı yapmaya karar verdim. güneşten maksimum kullanılabilir gücü çekmek ve pilin içine çok verimli bir şekilde koymak için uygun önlemleri alır.

EĞER ÇABAMI BEĞENDİYSENİZ LÜTFEN BU TALİMATLARI OY VERİN.

Adım 1: MPPT Nedir ve Neden İhtiyacımız Var?

Güneş panellerimiz aptaldır ve pil koşullarını anlamak için akıllı değildir. 12v/100 watt'lık bir güneş panelimiz olduğunu ve üreticilere bağlı olarak 18V-21V arasında bir çıkış vereceğini varsayalım, ancak piller 12v nominal voltaj için derecelendirilmiştir, tam şarj koşullarında 13.6v ve 11.0v olacaktır. deşarj. Şimdi pillerimizin 13v şarjda olduğunu varsayalım, paneller %100 çalışma verimliliğinde 18v, 5.5A veriyor (%100 olması mümkün değil ama varsayalım). sıradan kontrolörlerde, voltajı 13.6'ya düşüren ancak akımda kazanç sağlamayan bir PWM voltaj regülatörü ckt bulunur. sadece geceleri panellere aşırı şarj ve kaçak akıma karşı koruma sağlar.

Yani 13.6v*5.5A = 74,8 watt'a sahibiz.

Yaklaşık 25 watt kaybediyoruz.

Bu sorunla karşılaşmak için smps buck dönüştürücü kullandım. bu tür dönüştürücüler %90'ın üzerinde verimliliğe sahiptir.

Sahip olduğumuz ikinci problem, güneş panellerinin doğrusal olmayan çıktısıdır. maksimum kullanılabilir gücü toplamak için belirli bir voltajda çalıştırılmaları gerekir. Çıktıları gün boyunca değişir.

Bu sorunu çözmek için MPPT algoritmaları kullanılır. MPPT(Maximum Power Point Tracking) adından da anlaşılacağı gibi, bu algoritma panellerden gelen maksimum kullanılabilir gücü izler ve durumu sürdürmek için çıkış parametrelerini değiştirir.

Böylece MPPT kullanarak panellerimiz maksimum kullanılabilir güç üretecek ve dönüştürücü bu şarjı pillere verimli bir şekilde koyacaktır.

Adım 2: MPPT NASIL ÇALIŞIR?

Bunu ayrıntılı olarak tartışmayacağım. yani anlamak istiyorsanız bu bağlantıya bir göz atın -MPPT nedir?

Bu projede ayrıca giriş V-I özelliklerini ve çıkış V-I'yi de takip ettim. giriş V-I ve çıkış V-I'yi çarparak gücü watt cinsinden elde edebiliriz.

Diyelim ki günün herhangi bir saatinde 17 V, 5 A yani 17x5 = 85 watt'ımız var. aynı zamanda çıkışımız 13 V, 6A yani 13x6 = 78 Watt.

Şimdi MPPT, önceki giriş/çıkış gücüne kıyasla çıkış voltajını artıracak veya azaltacaktır.

önceki giriş gücü yüksekse ve çıkış voltajı mevcuttan düşükse, yüksek güce geri dönmek için çıkış voltajı tekrar düşürülecek ve çıkış voltajı yüksekse mevcut voltaj bir önceki seviyeye yükseltilecektir. böylece maksimum güç noktası etrafında salınmaya devam eder. bu salınımlar, verimli MPPT algoritmaları ile en aza indirilir.

Adım 3: Arduino'da MPPT'yi Uygulamak

Bu, bu şarj cihazının beynidir. Aşağıda, çıkışı düzenlemek ve MPPT'yi tek bir kod bloğunda uygulamak için Arduino kodu bulunmaktadır.

// Iout = çıkış akımı

// Vout = çıkış voltajı

// Vin = giriş voltajı

// Pin = giriş gücü, Pin_previous = son giriş gücü

// Vout_last = son çıkış voltajı, Vout_sense = mevcut çıkış voltajı

void regüle(float Iout, float Vin, float Vout) { if((Vout>Vout_max) || (Iout>Iout_max) || ((Pin>Pin_previous && Vout_sense<Vout_last) || (PinVout_last)))

{

if(görev_döngüsü>0)

{

görev_döngüsü -=1;

}

analogWrite(buck_pin, görev_döngüsü);

}

else if ((VoutVout_last) || (Pi

{

if(görev_döngüsü<240)

{ görev_döngüsü+=1;

}

analogWrite(buck_pin, görev_döngüsü);

}

Pin_previous = Sabitle;

Vin_last = Vin;

Vout_last = Vout;

}

Adım 4: Buck Dönüştürücü

Para dönüştürücüyü yapmak için N-kanallı mosfet kullandım. genellikle insanlar yüksek taraf değiştirme için P-kanallı mosfet seçerler ve aynı amaç için N-kanallı mosfet seçerlerse, bir sürücü IC'si gerekli olacaktır veya önyükleme bağlama ckt'si gerekecektir.

ancak buck dönüştürücü ckt'yi N-kanal mosfet kullanarak düşük taraf geçişine sahip olacak şekilde değiştirdim. i, m N-kanal kullanıyorum çünkü bunlar düşük maliyetli, yüksek güç oranları ve daha düşük güç tüketimi. bu proje IRFz44n mantık seviyesi mosfet kullanıyor, bu yüzden doğrudan bir arduino PWM pini ile sürülebilir.

daha yüksek yük akımı için, mosfet'i tamamen doygunluğa getirmek ve güç kaybını en aza indirmek için kapıda 10V uygulamak için bir transistör kullanılmalıdır, ben de aynısını yaptım.

yukarıdaki ckt'de de görebileceğiniz gibi mosfet'i -ve voltajına yerleştirdim, böylece panelden +12v'yi toprak olarak kullandım. bu konfigürasyon, minimum bileşenli buck dönüştürücü için N-kanallı bir mosfet kullanmama izin veriyor.

ama bazı dezavantajları da var. her iki taraf -ve voltaj ayrı olduğu için artık ortak bir referans zemininiz yok. bu nedenle gerilimlerin ölçülmesi çok zordur.

Arduino'yu Solar giriş terminallerine bağladım ve -ve hattını arduino için toprak olarak kullandım. İhtiyacımıza göre bir voltaj bölücü ckt kullanarak bu noktada giriş volategini kolayca ölçebiliriz. ancak ortak bir zeminimiz olmadığı için çıkış voltajını çok kolay ölçemiyoruz.

Şimdi bunu yapmak için bir hile var. Voltaj accros çıkış kondansatörünü ölçmek yerine iki -ve hat arasındaki voltajı ölçtüm. arduino için toprak olarak solar -ve ve ölçülecek sinyal/voltaj olarak çıkış -ve kullanmak. Bu ölçümle elde ettiğiniz değer, ölçülen giriş voltajından çıkarılmalıdır ve çıkış kapasitöründen gerçek çıkış voltajını elde edersiniz.

Vout_sense_temp=Vout_sense_temp*0.92+float(raw_vout)*volt_factor*0.08; //gnd girişi ve gnd çıkışı arasındaki voltajı ölçün.

Vout_sense=Vin_sense-Vout_sense_temp-diode_volt; //iki toprak arasındaki voltaj farkını çıkış voltajına değiştir..

Akım ölçümleri için ACS-712 akım algılama modüllerini kullandım. Arduino ile güçlendirildiler ve gnd girişine bağlandılar.

dahili zamanlayıcılar, pin D6'da 62.5 Khz PWM kazanacak şekilde değiştirilir. mosfet'i sürmek için kullanılır. ters kaçak ve ters polarite koruması sağlamak için bir çıkış engelleme diyotu gerekli olacaktır, bu amaç için istenen akım değerine sahip schottky diyotu kullanın. İndüktörün değeri, frekans ve çıkış akımı gereksinimlerine bağlıdır. çevrimiçi olarak mevcut buck dönüştürücü hesaplayıcılarını kullanabilir veya 100uH 5A-10A yük kullanabilirsiniz. indüktörün maksimum çıkış akımını asla %80-90 oranında aşmayın.

Adım 5: Son Rötuş -

Image
Image

şarj cihazınıza ek özellikler de ekleyebilirsiniz. benimki gibi LCD de parametreleri ve kullanıcıdan girdi almak için 2 anahtarı gösterir.

Son kodu güncelleyeceğim ve çok yakında ckt şemasını tamamlayacağım.

Adım 6: GÜNCELLEME: - Gerçek Devre Şeması, Malzeme Listesi ve Kodu

Işık Yarışması 2017
Işık Yarışması 2017

GÜNCELLEME:-

Kodu, bomu ve devreyi yükledim. benimkinden biraz farklı, çünkü bunu yapmak daha kolay.

Önerilen: