Daftar Isi:

Arduino - PV MPPT Solar Charger: 6 Langkah (dengan Gambar)
Arduino - PV MPPT Solar Charger: 6 Langkah (dengan Gambar)

Video: Arduino - PV MPPT Solar Charger: 6 Langkah (dengan Gambar)

Video: Arduino - PV MPPT Solar Charger: 6 Langkah (dengan Gambar)
Video: How to build an Arduino controlled solar charger 2024, November
Anonim
Image
Image
Konverter Uang
Konverter Uang

Ada banyak pengontrol muatan yang tersedia di pasaran. charge controller murah biasa tidak efisien menggunakan daya maksimal dari panel surya. Yang efisien, sangat mahal.

Jadi saya memutuskan untuk membuat charge controller sendiri yang Efisien, dan cukup pintar untuk memahami kebutuhan baterai dan kondisi matahari. dibutuhkan tindakan yang tepat untuk menarik daya maksimum yang tersedia dari matahari dan memasukkannya ke dalam baterai dengan sangat efisien.

JIKA ANDA MENYUKAI UPAYA SAYA TOLONG PILIH INSTRUCTABLES INI.

Langkah 1: Apa itu MPPT dan Mengapa Kita Membutuhkannya?

Panel surya kami bodoh dan tidak pintar memahami kondisi baterai. Asumsikan kita memiliki panel surya 12v/100 watt dan itu akan memberikan output antara 18V-21V tergantung pada pabrikan, tetapi baterai diberi peringkat untuk tegangan nominal 12v, pada kondisi pengisian penuh mereka akan menjadi 13,6v dan akan menjadi 11.0v secara penuh memulangkan. sekarang mari kita asumsikan baterai kita berada pada pengisian 13v, panel memberikan 18v, 5.5A pada efisiensi kerja 100% (tidak mungkin memiliki 100% tetapi mari kita asumsikan). pengontrol biasa memiliki pengatur tegangan PWM ckt yang menurunkan tegangan menjadi 13,6, tetapi tidak ada penguatan arus. itu hanya memberikan perlindungan terhadap pengisian berlebih dan arus bocor ke panel pada malam hari.

Jadi kita memiliki 13.6v*5.5A = 74,8 watt.

Kami kehilangan sekitar 25 watt.

Untuk menghadapi masalah ini saya telah menggunakan smps buck converter. konversi semacam ini memiliki efisiensi di atas 90%.

Masalah kedua yang kami miliki adalah output panel surya yang tidak linier. mereka perlu dioperasikan pada tegangan tertentu untuk memanen daya maksimum yang tersedia. Output mereka bervariasi sepanjang hari.

Untuk mengatasi masalah ini algoritma MPPT digunakan. MPPT (Pelacakan Titik Daya Maksimum) seperti namanya, algoritma ini melacak daya maksimum yang tersedia dari panel dan memvariasikan parameter output untuk mempertahankan kondisi.

Jadi dengan menggunakan MPPT panel kami akan menghasilkan daya maksimum yang tersedia dan konverter uang akan memasukkan muatan ini secara efisien ke dalam baterai.

Langkah 2: BAGAIMANA CARA KERJA MPPT?

Saya, saya tidak akan membahas ini secara rinci. jadi jika Anda ingin memahaminya, lihat tautan ini -Apa itu MPPT?

Dalam proyek ini saya telah melacak karakteristik input V-I dan output V-I juga. dengan mengalikan input V-I dan output V-I kita dapat memperoleh daya dalam watt.

katakanlah kita memiliki 17 V, 5 A yaitu 17x5 = 85 watt setiap saat sepanjang hari. pada saat yang sama output kami adalah 13 V, 6A yaitu 13x6 = 78 Watt.

Sekarang MPPT akan menambah atau mengurangi tegangan output dengan membandingkan daya input/output sebelumnya.

jika daya input sebelumnya tinggi dan tegangan output lebih rendah dari yang sekarang maka tegangan output akan diturunkan lagi untuk kembali ke daya tinggi dan jika tegangan output tinggi maka tegangan saat ini akan ditingkatkan ke level sebelumnya. sehingga terus berosilasi di sekitar titik daya maksimum. osilasi ini diminimalkan oleh algoritma MPPT yang efisien.

Langkah 3: Menerapkan MPPT di Arduino

Ini adalah otak pengisi daya ini. Di bawah ini adalah kode Arduino untuk mengatur output dan implementasi MPPT dalam satu blok kode.

// Iout = arus keluaran

// Vout = tegangan keluaran

// Vin = tegangan masukan

// Pin = daya masukan, Pin_sebelumnya = daya masukan terakhir

// Vout_last = tegangan keluaran terakhir, Vout_sense = tegangan keluaran saat ini

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

{

jika(siklus_tugas>0)

{

duty_cycle -=1;

}

analogWrite(buck_pin, duty_cycle);

}

lain jika ((VoutVout_last) || (Pi

{

jika (siklus_tugas<240)

{ duty_cycle+=1;

}

analogWrite(buck_pin, duty_cycle);

}

Pin_previous = Pin;

Vin_terakhir = Vin;

Vout_last = Vout;

}

Langkah 4: Konverter Uang

Saya telah menggunakan MOSFET N-channel untuk membuat konverter uang. biasanya orang memilih MOSFET P-channel untuk switching sisi tinggi dan jika mereka memilih MOSFET N-channel untuk tujuan yang sama daripada IC driver akan diperlukan atau boot strapping ckt.

tetapi saya memodifikasi ckt konverter buck untuk memiliki switching sisi rendah menggunakan MOSFET saluran-N. i, m menggunakan N-channel karena ini adalah biaya rendah, peringkat daya tinggi dan disipasi daya yang lebih rendah. project ini menggunakan mosfet level logika IRFz44n, sehingga dapat langsung di drive oleh pin PWM arduino.

untuk arus beban yang lebih tinggi harus menggunakan transistor untuk menerapkan 10V di gerbang untuk mendapatkan MOSFET ke saturasi sepenuhnya dan meminimalkan disipasi daya, saya juga melakukan hal yang sama.

seperti yang Anda lihat di ckt di atas saya telah menempatkan MOSFET pada tegangan -ve, sehingga menggunakan +12v dari panel sebagai ground. konfigurasi ini memungkinkan saya untuk menggunakan MOSFET N-channel untuk buck converter dengan komponen minimum.

tetapi juga memiliki beberapa kekurangan. karena Anda memiliki kedua sisi -ve tegangan dipisahkan, Anda tidak memiliki landasan referensi yang sama lagi. jadi pengukuran tegangan sangat rumit.

saya telah menghubungkan Arduino di terminal input Solar dan menggunakan garis -ve-nya sebagai ground untuk Arduino. kita dapat dengan mudah mengukur tegangan input pada titik ini dengan menggunakan pembagi tegangan ckt sesuai kebutuhan kita. tetapi tidak dapat mengukur tegangan output dengan mudah karena kami tidak memiliki kesamaan.

Nah untuk melakukan ini ada triknya. bukannya mengukur tegangan accros output kapasitor, saya telah mengukur tegangan antara dua baris -ve. menggunakan solar -ve sebagai ground untuk arduino dan output -ve sebagai sinyal/tegangan yang akan diukur. nilai yang Anda dapatkan dengan pengukuran ini harus dikurangi dari tegangan input yang diukur dan Anda akan mendapatkan tegangan output nyata di seluruh kapasitor keluaran.

Vout_sense_temp=Vout_sense_temp*0.92+float(raw_vout)*volt_factor*0.08; //mengukur tegangan pada input gnd dan output gnd.

Vout_sense=Vin_sense-Vout_sense_temp-diode_volt; //mengubah perbedaan tegangan antara dua ground menjadi tegangan output..

Untuk pengukuran arus saya telah menggunakan modul penginderaan arus ACS-712. Mereka telah didukung oleh arduino dan terhubung ke input gnd.

timer internal dimodifikasi untuk mendapatkan PWM 62,5 Khz pada pin D6. yang digunakan untuk menggerakkan MOSFET. dioda pemblokiran keluaran akan diperlukan untuk memberikan kebocoran terbalik dan perlindungan polaritas terbalik menggunakan dioda schottky dari peringkat arus yang diinginkan untuk tujuan ini. Nilai induktor tergantung pada frekuensi dan kebutuhan arus keluaran. Anda dapat menggunakan kalkulator pengonversi uang yang tersedia secara online atau menggunakan beban 100uH 5A-10A. tidak pernah melebihi arus keluaran maksimum induktor sebesar 80% -90%.

Langkah 5: Sentuhan Akhir -

Image
Image

Anda juga dapat menambahkan fitur tambahan ke pengisi daya Anda. seperti milik saya, LCD juga menampilkan parameter dan 2 sakelar untuk mengambil input dari pengguna.

Saya akan segera memperbarui kode terakhir dan menyelesaikan diagram ckt.

Langkah 6: UPDATE: - Diagram Sirkuit, BOM & Kode Aktual

Lomba Lampu 2017
Lomba Lampu 2017

MEMPERBARUI:-

Saya telah mengunggah kode, bom, dan sirkuit. itu, sedikit berbeda dari milikku, karena lebih mudah untuk membuatnya.

Direkomendasikan: