Daftar Isi:

Arduino LTC6804 BMS - Bagian 2: Papan Keseimbangan: 5 Langkah
Arduino LTC6804 BMS - Bagian 2: Papan Keseimbangan: 5 Langkah

Video: Arduino LTC6804 BMS - Bagian 2: Papan Keseimbangan: 5 Langkah

Video: Arduino LTC6804 BMS - Bagian 2: Papan Keseimbangan: 5 Langkah
Video: Обработка литий-ионных аккумуляторов и новое зарядное/разрядное устройство Arduino 8x (тестер) работает 2024, Juli
Anonim
Arduino LTC6804 BMS - Bagian 2: Papan Keseimbangan
Arduino LTC6804 BMS - Bagian 2: Papan Keseimbangan

Bagian 1 ada di sini

Sistem Manajemen Baterai (BMS) mencakup fungsionalitas untuk merasakan parameter paket baterai yang penting termasuk voltase sel, arus baterai, suhu sel, dll. Jika salah satu dari ini berada di luar rentang yang telah ditentukan, paket dapat diputuskan dari beban atau pengisi dayanya, atau tindakan lain yang sesuai dapat diambil. Dalam proyek sebelumnya (https://www.instructables.com/id/Arduino-LTC6804-Battery-Management-System/) saya membahas desain BMS saya, yang didasarkan pada chip Monitor Baterai Multicell LTC6804 Teknologi Linier dan mikrokontroler Arduino. Proyek ini memperluas proyek BMS dengan menambahkan penyeimbangan paket baterai.

Paket baterai dibuat dari sel individual dalam konfigurasi paralel dan/atau seri. Misalnya, paket 8p12s akan dibuat menggunakan 12 rangkaian terhubung seri dari 8 sel terhubung paralel. Akan ada total 96 sel dalam paket. Untuk kinerja terbaik, semua 96 sel harus memiliki sifat yang sangat cocok, namun, akan selalu ada beberapa variasi di antara sel. Misalnya, beberapa sel mungkin memiliki kapasitas lebih rendah daripada sel lain. Saat paket diisi, sel berkapasitas lebih rendah akan mencapai tegangan aman maksimumnya sebelum paket lainnya. BMS akan mendeteksi tegangan tinggi ini dan memotong pengisian lebih lanjut. Hasilnya adalah sebagian besar paket tidak terisi penuh saat BMS memutus pengisian karena tegangan sel terlemah yang lebih tinggi. Dinamika serupa dapat terjadi selama pengosongan, ketika sel berkapasitas lebih tinggi tidak dapat melepaskan daya sepenuhnya karena BMS memutus beban ketika baterai terlemah mencapai batas tegangan rendahnya. Oleh karena itu, paket ini hanya sebaik baterai terlemahnya, seperti rantai yang hanya sekuat mata rantai terlemahnya.

Salah satu solusi untuk masalah ini adalah dengan menggunakan papan keseimbangan. Meskipun ada banyak strategi untuk menyeimbangkan paket, papan keseimbangan 'pasif' yang paling sederhana dirancang untuk mengeluarkan sebagian muatan sel tegangan tertinggi saat paket hampir terisi penuh. Sementara beberapa energi terbuang, paket secara keseluruhan dapat menyimpan lebih banyak energi. Pendarahan dilakukan dengan membuang sebagian daya melalui kombinasi resistor/saklar yang dikendalikan oleh mikrokontroler. Instruksi ini menjelaskan sistem keseimbangan pasif yang kompatibel dengan arduino/LTC6804 BMS dari proyek sebelumnya.

Perlengkapan

Anda dapat memesan Balance Board PCB dari PCBWays di sini:

www.pcbway.com/project/shareproject/Balance_board_for_Arduino_BMS.html

Langkah 1: Teori Operasi

Teori Operasi
Teori Operasi

Halaman 62 dari lembar data LTC6804 membahas penyeimbangan sel. Ada dua opsi: 1) menggunakan MOSFET saluran-N internal untuk mengalirkan arus dari sel tinggi, atau 2) menggunakan MOSFET internal untuk mengontrol sakelar eksternal yang membawa arus keluaran. Saya menggunakan opsi kedua karena saya dapat merancang sirkuit berdarah saya sendiri untuk menangani arus yang lebih tinggi daripada yang dapat dilakukan dengan menggunakan sakelar internal.

MOSFET internal tersedia melalui pin S1-S12 sedangkan sel itu sendiri diakses menggunakan pin C0-C12. Gambar di atas menunjukkan salah satu dari 12 sirkuit berdarah identik. Ketika Q1 dihidupkan, arus akan mengalir dari C1 ke ground melalui R5, menghilangkan sebagian muatan di sel 1. Saya memilih resistor 6 Ohm, 1 Watt, yang seharusnya mampu menangani beberapa miliampere arus keluar.. Ada LED ditambahkan sehingga pengguna dapat melihat sel mana yang seimbang pada waktu tertentu.

Pin S1-S12 dikendalikan oleh CFGR4 dan 4 bit pertama dari grup register CFGR5 (lihat halaman 51 dan 53 dari lembar data LTC6804). Grup register ini diatur dalam kode Arduino (dibahas di bawah) dalam fungsi balance_cfg.

Langkah 2: Skema

Skema
Skema

Skema untuk papan keseimbangan BMS dirancang menggunakan Eagle CAD. Hal ini cukup mudah. Ada satu sirkuit pembuangan untuk setiap segmen seri paket baterai. Sakelar dikendalikan oleh sinyal dari LTC6804 melalui header JP2. Arus bleed mengalir dari baterai melalui header JP1. Perhatikan bahwa arus pembuangan mengalir ke segmen paket baterai yang lebih rendah berikutnya, jadi misalnya, C9 mengalir ke C8, dll. Simbol perisai Arduino Uno ditempatkan pada skema untuk tata letak PCB yang dijelaskan pada Langkah 3. Gambar resolusi lebih tinggi disediakan dalam file zip. Berikut ini adalah daftar bagian (Untuk beberapa alasan, fitur unggah file yang dapat diinstruksikan tidak berfungsi untuk saya ….)

Deskripsi Suku Cadang Paket Perangkat Nilai Kuantitas

12 LEDCHIPLED_0805 CHIPLED_0805 LED1, LED2, LED3, LED4, LED5, LED6, LED7, LED8, LED9, LED10, LED11, LED12 LED 12 BSS308PEH6327XTSA1 MOSFET-P SOT23-R Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, Q10, Q11, Q12 P-Channel MOSFET 2 PINHD-1X13_BIG 1X13-BIG JP1, JP2 PIN HEADER 12 16 R-US_R2512 R2512 R5, R7, R9, R11, R13, R15, R17, R19, R21, R23, R25, R27 RESISTOR, Simbol Amerika 12 1K R-US_R0805 R0805 R4, R6, R8, R10, R12, R14, R16, R18, R20, R22, R24, R26 RESISTOR, Simbol Amerika 12 200 R-US_R0805 R0805 R1, R2, R3, R28, R29, R30, R31, R32, R33, R34, R35, R36 RESISTOR, simbol Amerika

Langkah 3: Tata Letak PCB

Tata Letak PCB
Tata Letak PCB

Tata letak sebagian besar ditentukan oleh desain sistem BMS utama yang dibahas dalam instruksi terpisah (https://www.instructables.com/id/Arduino-LTC6804-Battery-Management-System/). Header JP1 dan JP2 harus sesuai dengan header yang cocok pada BMS. MOSFET, resistor berdarah, dan LED diatur secara logis pada perisai Arduino Uno. File Gerber dibuat menggunakan Eagle CAD dan PCB dikirim ke Sirkuit Sierra untuk fabrikasi.

File terlampir "Gerbers Balance Board.zip.txt" sebenarnya adalah file zip yang berisi Gerbers. Anda hanya dapat menghapus bagian.txt dari nama file dan kemudian unzip seperti file zip biasa.

Kirimi saya pesan jika Anda ingin mendapatkan PCB, mungkin masih ada yang tersisa.

Langkah 4: Perakitan PCB

PCB papan keseimbangan disolder dengan tangan menggunakan stasiun solder yang dikontrol suhu Weller WESD51 dengan ujung "obeng" seri ETB ET 0,093 dan solder 0,3 mm. Meskipun ujung yang lebih kecil mungkin tampak lebih baik untuk pekerjaan yang rumit, ujungnya tidak menahan panas dan justru mempersulit pekerjaan. Gunakan pena fluks untuk membersihkan bantalan PCB sebelum menyolder. Solder 0,3 mm bekerja dengan baik untuk menyolder bagian SMD dengan tangan. Tempatkan sedikit solder pada satu pad dan kemudian letakkan bagian itu dengan pinset atau pisau x-acto dan rekatkan pad itu. Pad yang tersisa kemudian dapat disolder tanpa bagian yang bergerak. Pastikan untuk tidak terlalu memanaskan bagian atau bantalan PCB. Karena sebagian besar komponen berukuran cukup besar menurut standar SMD, PCB cukup mudah untuk dirakit.

Langkah 5: Kode

Kode
Kode

Kode Arduino lengkap disediakan dalam instruksi sebelumnya yang ditautkan di atas. Di sini saya akan menarik perhatian Anda ke bagian yang mengontrol keseimbangan sel. Seperti disebutkan di atas, S1-S12 dikendalikan oleh CFGR4 dan 4 bit pertama dari grup register CFGR5 pada LTC6804 (lihat halaman 51 dan 53 dari lembar data LTC6804). Fungsi loop dari kode Arduino mendeteksi segmen paket baterai tegangan tertinggi dan menempatkan nomornya di variabel cellMax_i. Jika tegangan cellMax_i lebih besar dari CELL_BALANCE_THRESHOLD_V, kode akan memanggil fungsi balance_cfg(), melewati nomor segmen tinggi, cellMax_i. Fungsi balance_cfg menetapkan nilai register LTC6804 yang sesuai. Panggilan ke LTC6804_wrcfg kemudian menulis nilai-nilai ini ke IC, menyalakan pin S yang terkait dengan cellMax_i.

Direkomendasikan: