Komentar di bawah artikel saya sebelumnya berulang kali menimbulkan pertanyaan yang cukup masuk akal: "Mengapa membuat konverter dc / dc pada mikrokontroler ketika ada yang siap pakai?" dan sebagai jawaban saya selalu menyebutkan, sebagai contoh yang paling mencolok, charge controller dengan algoritma MPPT. Tetapi untuk mengatakan satu hal ini, dan untuk menunjukkan ... itu jauh lebih menarik dan jelas, jadi hari ini saya akan memberi tahu Anda tentang proyek kecil saya yang lamban dari pengontrol semacam itu.
Proyek pengontrol terbuka, semua file sumber tersedia di github . Kontroler itu sendiri cukup sederhana untuk diimplementasikan, ia dibangun di atas topologi uang, ia menggunakan komponen yang tersedia dan semua ini memberikan pengulangan yang baik bahkan tanpa banyak pengetahuan. Tata letak konektor dan komponen dirancang sedemikian rupa sehingga pengontrol ini dapat digunakan baik sebagai papan debug untuk mempelajari elektronika daya, dan sebagai perangkat yang sudah jadi, tetap hanya untuk membuat casing untuk itu.

Bab 1. Apa itu algoritma MPPT dan mengapa diperlukan
MPPT sendiri adalah proses menemukan titik daya maksimum panel surya. Kehadiran algoritma ini dalam pengontrol memungkinkan dalam kondisi tertentu untuk secara signifikan meningkatkan efisiensi menggunakan panel surya. Ketika pabrikan menulis daya pada panel, misalnya, 100 ... 200 ... 250 ... 320 W, itu berarti kekuatan nominal panel surya pada tingkat insolasi 1000 W / m 2 . Tentu saja, produsen tidak mengambil panel di luar dan tidak menunggu kondisi cuaca yang ideal, karena itu nilai ini diterima sebagai standar dan "dihasilkan" di bangku laboratorium.
Dalam kondisi nyata, dengan langit yang cerah, tingkat insolasi maksimum berkisar dari 250 W / m2 di suatu tempat di Norwegia hingga 900-1000 W / m2 di Afrika Utara. Oleh karena itu di Utara panel surya tidak akan memberikan kekuatan yang dinyatakannya, tetapi di Afrika itu mudah. TAPI ... Begitu awan muncul di langit yang mengaburkan panel surya, tingkat insolasi berkurang. Ingat cuaca untuk bulan lalu, berapa banyak hari cerah ideal yang pernah Anda lihat? Jika Anda berasal dari Krasnodar, maka mungkin banyak, tetapi penduduk garis tengah awan pasti lebih banyak.
Sebenarnya, apa masalahnya ... Dengan penurunan penerangan panel surya, lokasi titik daya maksimum (TMM) pada CVC dari perubahan panel surya nyata. Sekarang mari kita cari tahu apa itu TMM ... Untuk ini, kita mengambil panel surya dengan kekuatan yang dinyatakan 200 W (saya punya Delta BST200-24P) dan menghapus karakteristik tegangan-arus (I-V) dari itu pada tingkat insolasi 1000 W / m 2 :


Jika Anda melihat grafik daya, maka jelas menunjukkan puncak di mana panel memberikan kekuatan maksimum yang mungkin - ini adalah TMM. Juga, jika Anda menurunkan garis turun dari titik ini, maka itu akan memotong CVC - koordinat titik ini adalah hasil yang sangat Anda butuhkan untuk menemukan. Sederhananya: "MPPT adalah proses menemukan titik pada karakteristik I-V di mana produk arus dan tegangan memiliki nilai maksimum"
Selain itu, perlu diperhatikan bahwa panel surya dapat memberikan sedikit lebih banyak, ini normal, karena efektivitasnya tidak hanya tergantung pada tingkat insolasi, tetapi juga pada suhu. Jika Anda meletakkan panel di bawah sinar matahari, maka setelah beberapa jam akan memanas cukup kuat dan daya akan turun sekitar 10%.
Sekarang mari kita mencari tahu apa sebenarnya yang akan dilakukan pengontrol muatan dan mengapa perlu MRI. Seperti disebutkan sebelumnya, tingkat insolasi akan berubah secara signifikan selama operasi: awan, cuaca berawan, fajar dan matahari terbenam, dan karakteristik I-V panel surya juga akan berubah:

Grafik menunjukkan karakteristik I - V untuk 4 kasus: 1000, 800, 600, dan 400 W / m 2 dan, oleh karena itu, untuk setiap kasus kita akan memiliki titik kita sendiri pada karakteristik I - V, di mana produk arus dan tegangan akan memiliki nilai maksimum. Tugas pengendali muatan dengan MPPT adalah mencari titik daya maksimum untuk kondisi cuaca tertentu. Misalnya, Anda tinggal di suatu tempat di Voronezh, Anda memiliki kehangatan dan banyak energi matahari dan Anda menemukan TMM dan mendapatkan yang terbaik dari daya, tetapi setelah 15 menit awan naik di atas panel Anda dan sebagian menutup panel dan nilai insolasi berubah, dan oleh karena itu karakteristik I-V berubah, panel. Agar pengendali biaya dapat beradaptasi dengan kondisi baru, perlu, dengan frekuensi tertentu, misalnya, setiap 5 menit sekali, melakukan perhitungan dan mencari TMM untuk CVC baru.
Ada banyak algoritma pencarian TMM, mulai dari yang paling sederhana "0,8 * U xx " ke berbagai algoritma pemindaian dengan jaringan saraf, tetapi saya akan menjelaskan secara lebih rinci tentang algoritma dan implementasinya dalam kode dalam artikel terpisah. Saya harap Anda mengerti apa itu TMM dan mengapa kami mencarinya, sekarang Anda bisa langsung ke kelenjar.
Bab 2. Spesifikasi dan fungsi pengontrol
Sekarang perlu untuk memutuskan apa controller harus dapat memberikan fungsionalitas yang diperlukan. Pertama, pengontrol mengisi baterai, dan oleh karena itu perlu untuk menerapkan kontrol CC / CV (stabilisasi arus dan tegangan) pada output, dan untuk ini Anda perlu mengukur arus dan tegangan pada output. Kedua, untuk mencari TMM, perlu untuk mengukur karakteristik I - V panel surya, yang berarti bahwa perlu untuk mengukur arus dan tegangan pada input. Ketiga, harus ada step-down dc / dc, yang akan menurunkan tegangan input menjadi 12 atau 24V, dalam hal ini akan menjadi uang sinkron. Semua ini akan memungkinkan Anda untuk menerapkan fungsionalitas dasar perangkat, akibatnya, diagram fungsional akan terlihat seperti ini:

Seperti yang Anda lihat, tidak ada yang rumit, rangkaian ini sangat mirip dengan contoh dari artikel ini dan satu-satunya perbedaan adalah di sirkuit umpan balik tambahan untuk menerapkan algoritma pencarian TMM dan proses pengisian daya. Selain itu, perlu untuk menerapkan perlindungan terhadap overheating, dari arus yang mengalir, menambahkan beberapa antarmuka untuk berkomunikasi dengan dunia luar dan dengan mudah memperbarui firmware.
Spesifikasi:
- Tegangan input: 15 ... 60V
- Tegangan output: 12/24V
- Nilai arus keluaran: 20A
- Algoritma MRI: Ya
- Frekuensi Konversi: 100 kHz
- Perlindungan Kelebihan Panas: Ya
- Melalui Perlindungan Saat Ini: Ya
- Perlindungan Baterai: OVP dan OCP
- Antarmuka: USB, Modbus
- Sumber daya: setidaknya 50.000 jam
- Dimensi keseluruhan: 1109020 mm
Tidak ada embel-embel khusus dalam solusi ini, bias utama adalah peningkatan keandalan, efektivitas algoritma TMM dan pemeliharaan biaya pengontrol yang memadai. Dari fasilitasnya, diputuskan untuk memasang USB yang terisolasi secara galvanis untuk pengaturan dan flashing kontrol mikrokontroler + dapat digunakan untuk debugging jika Anda tidak suka SWO. Selain itu, untuk penerapan kendali jarak jauh dan pemantauan, RS-485 dipasang, yang andal, murah untuk diterapkan, dan memungkinkan Anda mengatur komunikasi jarak 1000 meter. Dari wi-fi dan hal-hal lain, radio langsung menolak, karena pengontrol biasanya dioperasikan dalam panel logam dan sebagai opsi dalam bangunan beton bertulang.
Bab 3. Pemilihan Komponen
Pada KDPV terlihat bahwa perangkat terdiri dari dua papan sirkuit cetak: modul kontrol 4-layer dan papan 2-layer utama. Perhatian mungkin memperhatikan bahwa modul kontrol mirip dengan solusi dari artikel terakhir, hanya dirancang ulang secara menyeluruh. Memang, setelah menguji versi papan kontrol sebelumnya dan setelah diskusi dalam komentar, diputuskan untuk membuat sejumlah perubahan global:
- Penolakan pemasangan vertikal pada konektor dan transisi ke horizontal. Hal ini memungkinkan kami untuk menyelesaikan masalah dengan konektor dan membuang PLS 2,54 mm yang biasa, serta secara signifikan mengurangi ketinggian perangkat. Dengan versi vertikal, ketinggian pengontrol akan menjadi 60 mm, bukan 20, dan akan ada peluang besar untuk memutus papan kontrol. Sekarang tidak menonjol dengan latar belakang komponen lain dan masih memakan sedikit ruang;
- Dimensi papan dikurangi menjadi 90x35 mm;
- Pengontrol STM32F334R8T6 diganti dengan STM32F334C8T6 yang lebih ringkas dan lebih murah. Penggantian ini juga menyebabkan penurunan jumlah saluran untuk mengontrol setengah jembatan dari 5 menjadi 4. Seperti yang telah ditunjukkan oleh praktik, pengontrol ini tidak mengambil kontrol sekaligus oleh 5 setengah jembatan, kecuali algoritma yang sangat sederhana. Berdasarkan hal ini, diputuskan untuk meninggalkan paket LQFP-64 demi LQFP-48;
- Menambahkan USB galvanically terisolasi, atau lebih tepatnya, jembatan USB-UART, karena mikrokontroler itu sendiri tidak memiliki antarmuka perangkat keras USB;
- Chip PHY dihapus untuk RS-485 dari papan kontrol, sebagai tidak semua orang membutuhkannya dan tidak selalu, tetapi untuk penggunaannya yang memungkinkan, sebuah UART dan gpio tambahan untuk menerima / mentransmisikan output ke konektor. Juga sekarang, di papan utama, Anda dapat menempatkan PHY yang terisolasi secara galvanis dan tidak terikat dengan keputusan saya;
- Selain antarmuka SWD, diputuskan untuk output SWO ke konektor debugging untuk debugging program yang lebih nyaman.

Sekarang mari kita beralih ke pemilihan komponen untuk bagian utama (daya) konverter. Dalam cerita saya sebelumnya tentang topologi Buck, saya berbicara tentang pilihan komponen daya (transistor, kapasitor, induktor) dan metode penghitungan peringkat mereka. Hari ini saya ingin berbicara lebih banyak tentang komponen yang sama pentingnya, yaitu tentang driver manajemen kunci daya, sensor saat ini, dan banyak lagi.
Sensor arus
Untuk mengontrol pengisian baterai dan mengukur karakteristik tegangan-arus panel surya, perlu untuk mengukur arus searah dalam rentang dari 0 hingga 20A. Tidak ada banyak pilihan untuk mengukur arus searah, metode yang paling efektif dan paling sederhana adalah shunt saat ini dan sensor efek Hall. Pada versi pertama, saya mencoba banyak "shunt + INA194", opsi ini umumnya berfungsi, tetapi monitor itu sendiri cukup berisik dan ada masalah dalam mengukur arus kurang dari 3-4A. Masalahnya diselesaikan dengan meningkatkan nilai nominal shunt dan filter digital, tetapi kemudian daya yang dilepaskan pada shunt dalam bentuk peningkatan panas, yang saya tidak ingin banyak.
Awalnya, saya melemparkan opsi dengan menggunakan sensor Hall segera, yaitu seri ACS (misalnya, ACS758 atau ACS711), karena Saya sudah mencoba menerapkannya di masa lalu, tetapi mereka banyak berbohong dan rentang pengukurannya rendah. Benar, dalam salah satu diskusi, seorang pria berbicara tentang pengalaman sukses menggunakan sensor ini, ternyata seri yang relatif baru berhenti merespons gangguan sekecil apa pun, yang utama adalah bahwa tidak ada besi atau sesuatu yang bisa ditarik di dekat mereka. Saya perlu mengukur arus searah dalam sistem di mana laju perubahan arus tidak tinggi, dan oleh karena itu band 100 kHz sudah cukup. Berdasarkan kesederhanaan dan harga solusi, pada versi kedua pengendali MPPT saya menginstal ACS713ELCTR-30A. Allegro memiliki dua versi sensor - DC dan DC / AC, saya tidak perlu mengukur perubahan, dan karena itu pilihannya jelas mendukung DC, yang juga memiliki nilai "volt per ampere" yang besar. Ini memungkinkan untuk mengukur secara akurat tidak hanya arus besar, tetapi juga arus kecil pada level 0,3 ... 0,5A dengan kesalahan nyata ± 5%. Sirkuit untuk mengaktifkan sensor ini sangat sederhana:

Dimasukkannya standar, tidak ada keajaiban di sirkuit, satu-satunya hal yang perlu dilakukan adalah "mengoordinasikan" kisaran output 0 ... sensor 5V dengan apa yang dapat mengukur ADC dari mikrokontroler STM32, yaitu dengan kisaran 0 ... 3.3V. Sensor memiliki output tegangan, linear dan peningkatan tegangan output sebesar 133 mV berarti peningkatan arus yang mengalir melalui sensor sebesar 1A. Berdasarkan ini, tegangan output minimum adalah 0V, dan maksimum 30A * 133 mV / A = 3.99V. Secara teoritis, pembagi tegangan tidak dapat diatur, karena arus maksimum hanya 20A dan oleh karena itu tegangan output akan berada dalam 2.66V dan tidak mengancam input ADC dengan cara apa pun, tetapi lebih baik memainkannya dengan aman. Mungkin setelah pengujian dan break-in yang lama pada perangkat, saya masih menghapus pembagi dan meletakkan pengikut tegangan pada op-amp.
Driver Gerbang Transistor
Bahkan pada tahap ide, saya memutuskan untuk segera meninggalkan isolasi galvanik lengkap dari rangkaian kontrol dari rangkaian daya, itu adalah dangkal yang mahal, meskipun menghilangkan gangguan dan melindungi bagian digital. Pengenalan isolasi galvanik 2 volt dan driver akan meningkatkan harga konverter sebesar 40%. Oleh karena itu, saya harus menolak driver Infineon 1ED / 1EDI seri favorit saya dan memilih sesuatu yang layak dengan daya bootstrap untuk kunci teratas, pilihan saya jatuh pada solusi yang cukup baru - NCP5183DR2G. Pengemudi terbukti sangat stabil dalam operasi dan cukup untuk mengendalikan sepasang MOSFET pada frekuensi 100 kHz. Saya menemukan satu minus di dalamnya - kurangnya input yang terpisah, misalnya, ShutDown atau Enable untuk mematikan driver jika terjadi kecelakaan, oleh karena itu, untuk menerapkan perlindungan, Anda perlu menginstal logika diskrit tambahan atau menggunakan input hardware FAULT dalam mikrokontroler STM32F334 itu sendiri. Saya memilih opsi kedua dan sejauh ini tidak mengecewakan saya, meskipun pada awalnya saya ragu tentang keandalan solusi semacam itu. Rangkaian kontrol transistor terlihat seperti ini:

Solusinya sederhana dan jelas, satu-satunya hal yang akan saya tambahkan dari diri saya adalah kapasitor C1 harus keramik dengan dielektrik X7R dan lebih disukai bukan yang paling busuk, Yageo / Murata / Samsung asli sudah cukup untuk semua orang. Sisa bedak yang longgar bisa menjadi merek yang lebih sederhana. Omong-omong, Anda dapat membaca tentang "penderitaan pilihan" dari nilai nominal resistor gerbang R1 dan R5 dalam artikel ini.
Kapasitor keluaran
Saya menyatakan di atas prioritas keandalan dan sumber daya konverter, dan oleh karena itu perlu untuk menghilangkan semua kelemahan. Menurut pendapat saya, ada satu titik lemah dalam konverter dc / dc modern - kapasitor elektrolit, yang entah bagaimana "kering" dan menurun setelah beberapa saat, yang pertama-tama menyebabkan peningkatan riak dan panas berlebih, dan kemudian kegagalan konverter.
Dalam charge controller saya ada sebanyak 2 tempat seperti itu: kapasitor pada input dan output. Diputuskan untuk mengganti elektrolit keluaran dengan kapasitor polimer solid-state (seperti pada kartu video Anda), yang jauh lebih mudah untuk mengangkut kerja pada arus puluhan ampere dan memiliki sumber daya urutan besarnya lebih tinggi daripada kapasitor elektrolit kualitas tertinggi. Mereka memiliki satu minus - harga, kesenangan ini dari Panasonic biaya $ 2 / pc, tetapi itu sepadan.
Pada input perangkat, tegangan dapat mencapai 60V, yang berarti bahwa kapasitor polimer solid-state tidak dapat lagi disuplai, mereka tidak ada, maksimal 35V. Benar, ada opsi hibrid, ini adalah penghubung antara elektrolit dan kapasitor solid-state, semuanya hingga 100V. Untuk jenis kapasitor ini, elektrolit cair diganti dengan yang seperti pasta, yang memungkinkan beberapa kali meningkatkan sumber dayanya.

Yang paling penuh perhatian mungkin memperhatikan bahwa kapasitor solid-state keluaran berbeda pada dua papan. Saya pikir semua orang "menghargai" biaya untuk kapasitor 120 uF 35V, elektrolit dari Wurth harganya 10 kali lebih murah. Berdasarkan ini, saya memutuskan untuk tes untuk membeli alternatif kapasitor 35SEK330M dari Panasonic. Nah, sebagai alternatif ... ada perusahaan Asia Lelon , yang membuat analog lengkap (dalam kata-kata mereka) kapasitor Panasonic. Saya meletakkan yang asli di satu papan, di analog yang lain, perangkat itu sendiri telah diuji selama sekitar satu bulan dan sampai perbedaannya benar-benar diperhatikan, mari kita lihat apa sumber daya akhirnya, tetapi bagi mereka yang ingin menurunkan harga 5 kali menjadi $ 0,4 / pc, saya menyarankan Anda untuk memikirkannya.
Tinjauan Umum Komponen
Saya ingin mengatakan secara terpisah tentang kebijakan memilih komponen dan solusi. Karena idenya melibatkan penggunaan pengontrol ini tidak hanya untuk belajar di atas meja, tetapi juga untuk bekerja "di lapangan", diputuskan untuk menggunakan hanya produsen tepercaya dan tidak menggunakan komponen China (kecuali untuk pengalaman dengan Lelon ) dan berbagai kerajinan dengan aliexpress. Dalam versi saya dan di BOM, aslinya dengan digikey dari produsen seperti Infineon, TI, ON, ST, Yageo, Bourns dan lainnya muncul. Pada prinsipnya, tidak ada yang melarang Anda untuk menempatkan komponen lebih mudah, dengan aliexpress yang sama, tetapi bersiaplah untuk mengurangi keandalan dan efisiensi pengontrol.
Bab 4. Tentang proyek dan kode sumber
Saya sudah menulis tentang komponen daya dan metode perhitungan dalam artikel saya tentang buck , Anda dapat membacanya di sini. Saya hanya akan memberikan hasil yang saya dapatkan:
Induktansi induktor daya adalah 30 μH, luka pada cincin R32 / 20/10 dari bahan Kool Mu. Cincin itu dipilih terus terang dengan margin, karena percobaan dengan frekuensi dan peningkatan arus direncanakan;
Kapasitansi kapasitor keluaran adalah sekitar 300 mikrofarad, pada kenyataannya, kapasitansi secara signifikan lebih tinggi, yang mengurangi riak keluaran. Saya mencoba bekerja dengan 3 kapasitor, semuanya baik-baik saja, jadi jika Anda memutuskan untuk mengulanginya, jangan ragu untuk meninggalkan setengah dari kursi karena kapasitor output kosong. Pada prinsipnya, Anda dapat mencoba mensolder 6 kapasitor elektrolit biasa, jika tidak mungkin untuk membeli yang solid-state. Menurut asumsi saya, pengontrol akan bekerja tanpa masalah;
Transistor ( IPD053N08N3GATMA1 ) Saya memilih yang saya miliki dalam stok dan cukup mudah untuk membeli. Jika Anda sudah memiliki kunci atau tidak dapat membeli yang saya miliki, maka pilih transistor dengan resistansi saluran tidak lebih dari 8 mOhm dan gerbang tidak lebih dari 100 nC. Jika tidak, efisiensi akan turun cukup dan transistor akan terlalu panas secara signifikan.
Pasti ada juga mereka yang terlalu malas untuk pergi ke github, jadi saya akan meninggalkan diagram perangkat lengkap dalam format PDF:
Bagian besi dari proyek selesai di Altium Designer 19, dan proyek ini juga dapat dibuka di Curcuit Studio. Bagi mereka yang tidak ingin terlibat dalam membeli perangkat lunak atau pembajakan, ada diagram skematik dalam file PDF dan Gerber, ini akan cukup bagi Anda untuk memesan papan sirkuit cetak dan membuat sendiri pengontrol MRPT.
… "" github, , . dc/dc , -, -, -, , .
Kesimpulan
, .. , , , .1 . — 10 , HIN LIN (GND). , "" .
PCBway , . , , Dukungan Anda akan dihabiskan untuk perangkat keras dan ini akan menghasilkan beberapa artikel yang menarik.
Saya juga memiliki 2 set papan sirkuit tercetak yang tersisa, jika seseorang ingin memasang controller, maka saya akan memberikan secara gratis kepada tangan yang baik. Anda hanya perlu mengumpulkan dan, jika mau, tuliskan komentar dan saran Anda. Mereka yang ingin menulis secara pribadi.
Proyek Github