- Mengukur Tegangan Sel Individual dalam Tumpukan Baterai Seri
- Sirkuit Diferensial untuk mengukur tegangan sel individu
- Diagram Sirkuit
- Desain dan Fabrikasi PCB menggunakan Easy EDA
- Menghitung dan Memesan Sampel secara online
- Menguji Sirkuit Pemantauan Tegangan
- Mengukur Tegangan Sel Lithium Menggunakan Arduino
- Memprogram Arduino
- Tampilan Tegangan Sel Individu Bekerja
Jarak tempuh dan kinerja Kendaraan Listrik tergantung pada kapasitas dan efisiensi Paket Baterainya. Menjaga paket baterai dalam keadaan sehat sepenuhnya adalah tanggung jawab Sistem Manajemen Baterai (BMS). BMS adalah unit canggih dalam EV yang melakukan banyak aktivitas seperti memantau sel, menyeimbangkannya, dan bahkan melindunginya dari perubahan suhu. Kami sudah cukup mempelajarinya di artikel Sistem Manajemen Baterai ini, jadi periksalah jika Anda baru di sini.
Untuk melakukan apa saja, langkah pertama untuk BMS adalah mengetahui status sel saat ini dalam paket baterai Lithium. Ini dilakukan dengan mengukur tegangan dan arus (terkadang suhu juga) dari sel-sel dalam kemasan. Hanya dengan dua nilai ini BMS dapat menghitung SOC atau SOH dan melakukan penyeimbangan sel, dll. Jadi mengukur tegangan dan arus sel sangat penting untuk rangkaian BMS apa pun, baik itu bank daya sederhana atau baterai laptop atau paket serumit EV / Baterai surya.
Dalam artikel ini kita akan mempelajari bagaimana kita dapat mengukur tegangan sel individu dari sel yang digunakan dalam kemasan baterai Lithium. Untuk kepentingan proyek ini kami akan menggunakan empat sel lithium 18650 yang dihubungkan secara seri untuk membentuk paket baterai dan merancang rangkaian sederhana menggunakan op-amp untuk mengukur tegangan sel individu dan menampilkannya di layar LCD menggunakan Arduino.
Mengukur Tegangan Sel Individual dalam Tumpukan Baterai Seri
Masalah dengan mengukur tegangan sel individu dalam paket baterai yang terhubung seri adalah, titik referensi tetap sama. Gambar di bawah mengilustrasikan hal yang sama
Untuk kesederhanaan mari kita asumsikan bahwa keempat sel berada pada level tegangan 4V seperti yang ditunjukkan di atas. Sekarang jika kita menggunakan mikrokontroler seperti Arduino untuk mengukur tegangan sel, kita tidak akan memiliki masalah dalam mengukur tegangan dari 1 st sel karena memiliki ujung yang lain terhubung ke tanah. Tapi, untuk sel lain kita harus mengukur tegangan sel itu bersama dengan sel sebelumnya, misalnya saat kita mengukur tegangan sel ke-4 kita akan mengukur tegangan keempat sel itu bersama-sama. Ini karena titik acuan tidak dapat diubah dari tanah.
Jadi kami perlu memperkenalkan beberapa rangkaian tambahan di sini yang dapat membantu kami mengukur tegangan individu. Cara kasarnya adalah dengan menggunakan pembagi potensial untuk memetakan level tegangan dan kemudian mengukurnya, tetapi metode ini akan mengurangi resolusi nilai baca menjadi lebih dari 0,1V. Karenanya dalam tutorial ini kita akan menggunakan Rangkaian Diferensial Op-Amp untuk mengukur perbedaan antara setiap terminal sel untuk mengukur tegangan individu.
Sirkuit Diferensial untuk mengukur tegangan sel individu
Kita sudah mengetahui Op-Amp ketika bekerja sebagai penguat diferensial memberikan perbedaan antara dua nilai tegangan yang diberikan ke pin pembalik dan non-pembalik. Jadi untuk tujuan kita mengukur tegangan 4 sel, kita memerlukan tiga op-amp diferensial seperti yang ditunjukkan di bawah ini.
Perhatikan bahwa gambar ini hanya untuk representasi; rangkaian sebenarnya membutuhkan lebih banyak komponen dan akan dibahas nanti di artikel ini. Langkah-langkah O1 op-amp pertama tegangan dari 2 nd sel dengan menghitung perbedaan antara 2 nd terminal sel dan 1 st terminal sel yang (8-4). Demikian pula Op-amp O2 dan O3 mengukur 3 rd dan 4 th tegangan sel masing-masing. Kami tidak menggunakan sebuah op-amp untuk 1 st sel karena dapat diukur secara langsung.
Diagram Sirkuit
Diagram rangkaian lengkap untuk memantau tegangan Multisel di Paket Baterai Lithium diberikan di bawah ini. Sirkuit ini dirancang menggunakan EasyEDA dan kami akan menggunakannya untuk membuat PCB juga.
Seperti yang Anda lihat, kami memiliki dua paket Quad Rail to Rail Op-amp tegangan tinggi OPA4197 di sirkuit kami, keduanya ditenagai oleh tegangan paket total. Satu IC (U1) digunakan rangkaian make buffer alias pengikut tegangan sedangkan IC lainnya (U2) digunakan untuk membentuk rangkaian penguat diferensial. Sirkuit penyangga diperlukan untuk mencegah sel mana pun dari mendapatkan beban secara individual, yang tidak ada arus yang harus dikonsumsi dari satu sel tetapi hanya membentuk paket secara keseluruhan. Karena rangkaian buffer memiliki impedansi input yang sangat tinggi, kita dapat menggunakan untuk membaca tegangan dari sel tanpa menarik daya darinya.
Keempat op-amp di IC U1 masing-masing digunakan untuk menyangga tegangan keempat sel. Tegangan masukan dari sel diberi label dari B1 + ke B4 + dan tegangan keluaran buffer diberi label dari B1_Out ke B4_Out. Tegangan buffer ini kemudian dikirim ke amplifier yang berbeda untuk mengukur tegangan sel individu seperti yang dibahas di atas. Nilai semua resistor disetel ke 1K karena penguatan penguat diferensial disetel ke satu. Anda dapat menggunakan nilai resistor apa pun tetapi semuanya harus memiliki nilai yang sama, kecuali untuk resistor R13 dan R14. Kedua resistor ini membentuk pembagi potensial untuk mengukur tegangan paket baterai sehingga kita dapat membandingkannya dengan jumlah tegangan sel yang diukur.
Rail to Rail, Op-Amp tegangan tinggi
Rangkaian diatas mengharuskan anda untuk menggunakan Op-amp Rail to Rail tegangan tinggi seperti OPA4197 karena dua alasan. Kedua Op-Amp IC beroperasi dengan tegangan paket maksimum (4.3 * 4) 17.2V, oleh karena itu Op-amp harus mampu menangani tegangan tinggi. Juga karena kita menggunakan rangkaian buffer, output dari buffer harus sama dengan tegangan paket untuk terminal sel ke- 4, artinya tegangan output harus sama dengan tegangan operasi op-amp sehingga kita perlu menggunakan Rel untuk Op-amp rel
Jika Anda tidak dapat menemukan op-amp rail to rail, Anda dapat mengganti IC tersebut dengan LM324 sederhana. IC ini dapat menangani tegangan tinggi tetapi tidak dapat bertindak sebagai rail to rail, jadi Anda harus menggunakan resistor pull up 10k pada pin pertama IC Op-Amp U1.
Desain dan Fabrikasi PCB menggunakan Easy EDA
Sekarang sirkuit kita sudah siap, sekarang saatnya membuatnya dibuat. Karena Op-Amp yang saya gunakan hanya tersedia dalam paket SMD, saya harus membuat PCB untuk sirkuit saya. Jadi, seperti biasa kami menggunakan alat EDA online bernama EasyEDA untuk membuat PCB kami karena sangat nyaman digunakan karena memiliki koleksi footprint yang bagus dan bersifat open-source.
Setelah mendesain PCB, kita dapat memesan sampel PCB melalui layanan fabrikasi PCB berbiaya rendah. Mereka juga menawarkan layanan sumber komponen di mana mereka memiliki stok besar komponen elektronik dan pengguna dapat memesan komponen yang diperlukan bersama dengan pesanan PCB.
Saat mendesain sirkuit dan PCB, Anda juga dapat membuat desain sirkuit dan PCB Anda menjadi publik sehingga pengguna lain dapat menyalin atau mengeditnya dan dapat memanfaatkan pekerjaan Anda, kami juga telah membuat seluruh layout Sirkuit dan PCB kami publik untuk sirkuit ini, periksa tautan di bawah ini:
easyeda.com/CircuitDigest/Multicell-Voltage-measuring-for-BMS
Anda dapat melihat setiap Layer (Atas, Bawah, Topsilk, bottomsilk dll) dari PCB dengan memilih layer dari Window 'Layers'. Baru-baru ini mereka juga memperkenalkan opsi tampilan 3D sehingga Anda juga dapat melihat PCB pengukur tegangan Multicell, tentang bagaimana tampilannya setelah fabrikasi menggunakan tombol Tampilan 3D di EasyEDA:
Menghitung dan Memesan Sampel secara online
Setelah menyelesaikan perancangan rangkaian pengukuran Voltase sel Lithium ini, Anda dapat memesan PCB melalui JLCPCB.com. Untuk memesan PCB dari JLCPCB, Anda membutuhkan File Gerber. Untuk mendownload file Gerber dari PCB anda cukup klik tombol Generate Fabrication File di halaman editor EasyEDA, kemudian download file Gerber dari sana atau anda bisa klik Order di JLCPCB seperti gambar dibawah ini. Ini akan mengarahkan Anda ke JLCPCB.com, di mana Anda dapat memilih jumlah PCB yang ingin Anda pesan, berapa banyak lapisan tembaga yang Anda butuhkan, ketebalan PCB, berat tembaga, dan bahkan warna PCB, seperti gambar di bawah ini:
Setelah mengklik pesan di tombol JLCPCB, Anda akan dibawa ke situs web JLCPCB di mana Anda dapat memesan PCB warna apa pun dengan harga yang sangat rendah yaitu $ 2 untuk semua warna. Waktu pembuatannya juga sangat kurang yaitu 48 jam dengan pengiriman DHL 3-5 hari, pada dasarnya Anda akan mendapatkan PCB dalam waktu seminggu setelah pemesanan. Selain itu, mereka juga menawarkan diskon $ 20 untuk pengiriman untuk pesanan pertama Anda.
Setelah memesan PCB, Anda dapat memeriksa Progres Produksi PCB Anda dengan tanggal dan waktu. Anda memeriksanya dengan masuk ke halaman Akun dan klik tautan "Kemajuan Produksi" di bawah PCB seperti yang ditunjukkan pada gambar di bawah ini.
Setelah beberapa hari memesan PCB, saya mendapatkan sampel PCB dalam kemasan yang bagus seperti yang ditunjukkan pada gambar di bawah ini.
Setelah memastikan jejak dan jejak kaki sudah benar. Saya melanjutkan dengan merakit PCB, saya menggunakan header wanita untuk menempatkan Arduino Nano dan LCD sehingga saya dapat menghapusnya nanti jika saya membutuhkannya untuk proyek lain. Papan yang benar-benar disolder terlihat seperti ini di bawah ini
Menguji Sirkuit Pemantauan Tegangan
Setelah menyolder semua komponen, cukup sambungkan baterai ke konektor H1 di papan. Saya telah menggunakan kabel penghubung untuk memastikan saya tidak mengubah koneksi di masa mendatang secara tidak sengaja. Berhati-hatilah agar tidak menyambungkannya dengan cara yang salah karena dapat menyebabkan korsleting dan akan merusak baterai atau sirkuit secara permanen. PCB saya dengan paket baterai yang saya gunakan untuk pengujian ditunjukkan di bawah ini.
Sekarang gunakan multimeter pada terminal H2 untuk mengukur tegangan jual individu. Terminal ditandai dengan angka untuk mengidentifikasi voltase sel yang sedang diukur. Dengan sini kita dapat menyimpulkan bahwa rangkaian berfungsi. Namun agar lebih menarik mari kita hubungkan LCD dan gunakan Arduino untuk mengukur nilai tegangan tersebut dan menampilkannya di layar LCD.
Mengukur Tegangan Sel Lithium Menggunakan Arduino
Sirkuit untuk menghubungkan Arduino ke PCB kami ditunjukkan di bawah ini. Ini menunjukkan bagaimana menghubungkan Arduino Nano ke LCD.
Pin header H2 pada PCB harus dihubungkan ke pin analog papan Arduino seperti yang ditunjukkan di atas. Pin analog A1 hingga A4 digunakan untuk mengukur tegangan empat sel, sedangkan pin A0 dihubungkan ke header pin v 'dari P1. Pin v 'ini dapat digunakan untuk mengukur tegangan paket total. Kami juga telah menghubungkan 1 st pin P1 ke pin Vin dari Arduino dan 3 rd pin P1 o pin dasar Arduino kekuasaan Arduino dengan paket baterai.
Kita dapat menulis program untuk mengukur keempat voltase sel dan voltase kemasan baterai dan menampilkannya di LCD. Untuk membuatnya lebih menarik, saya juga menambahkan keempat tegangan sel dan membandingkan nilainya dengan tegangan paket yang diukur untuk memeriksa seberapa dekat kita sebenarnya mengukur tegangan.
Memprogram Arduino
Program lengkap dapat ditemukan di akhir halaman ini. Programnya cukup sederhana, kita cukup menggunakan fungsi baca analog untuk membaca tegangan sel menggunakan modul ADC dan menampilkan nilai tegangan hitung pada LCD menggunakan perpustakaan LCD.
float Cell_1 = analogRead (A1) * (5.0 / 1023.0); // Ukur voltase sel pertama lcd.print ("C1:"); lcd.print (Sel_1);
Dalam potongan di atas kami telah mengukur tegangan sel 1 dan mengalikannya dengan 5/1023 untuk mengubah nilai ADC 0 hingga 1023 menjadi 0 hingga 5V aktual. Kami kemudian menampilkan nilai tegangan yang dihitung pada LCD. Demikian pula kami melakukan ini untuk keempat sel dan total paket baterai juga. Kami juga menggunakan tegangan total variabel untuk merangkum semua tegangan sel dan menampilkannya di LCD seperti yang ditunjukkan di bawah ini.
float Total_Voltage = Sel_1 + Sel_2 + Sel_3 + Sel_4; // Tambahkan keempat nilai voltase terukur lcd.print ("Total:"); lcd.print (Total_Voltage);
Tampilan Tegangan Sel Individu Bekerja
Setelah Anda siap dengan rangkaian dan kode, unggah kode ke papan Arduino dan hubungkan bank daya ke PCB. LCD sekarang harus menampilkan tegangan sel individu dari keempat sel seperti yang ditunjukkan di bawah ini.
Seperti yang Anda lihat, tegangan yang ditampilkan untuk sel 1 hingga 4 masing-masing adalah 3.78V, 3.78V, 3.82V, dan 3.84V. Jadi kemudian saya menggunakan multimeter saya untuk memeriksa tegangan sebenarnya dari sel-sel ini yang ternyata sedikit berbeda perbedaannya ditabulasikan di bawah ini.
Tegangan Terukur |
Tegangan Aktual |
3.78V |
3.78V |
3.78V |
3.78V |
3.82V |
3.81V |
3.84V |
3.82V |
Seperti yang Anda lihat, kami mendapatkan hasil yang akurat untuk sel satu dan dua tetapi ada kesalahan setinggi 200mV untuk sel 3 dan 4. Ini kemungkinan besar diharapkan untuk desain kami. Karena kami menggunakan rangkaian diferensiator op-amp, keakuratan voltase yang diukur akan turun seiring dengan bertambahnya jumlah sel.
Tetapi kesalahan ini adalah kesalahan tetap dan dapat diperbaiki dalam program, dengan mengambil contoh bacaan dan menambahkan pengganda untuk memperbaiki kesalahan tersebut. Pada layar LCD berikutnya, Anda juga dapat melihat jumlah tegangan yang diukur dan tegangan paket aktual yang diukur melalui pembagi potensial. Hal yang sama ditunjukkan di bawah.
Jumlah tegangan yang diukur adalah 15.21V dan tegangan aktual yang diukur melalui pin A0 Arduino ternyata menjadi 15.22V. Jadi perbedaannya adalah 100mV yang lumayan. Sedangkan rangkaian jenis ini dapat digunakan untuk jumlah lees yang lebih sedikit seperti pada powerbank atau baterai laptop. Kendaraan listrik BMS menggunakan jenis IC khusus seperti LTC2943 karena kesalahan 100mV pun tidak dapat ditoleransi. Namun demikian kami telah belajar bagaimana melakukannya untuk sirkuit skala kecil di mana harga menjadi kendala.
Pekerjaan lengkap dari penyiapan dapat ditemukan di video yang ditautkan di bawah ini. Semoga Anda menikmati proyek ini dan belajar sesuatu yang bermanfaat darinya. Jika Anda memiliki pertanyaan, tinggalkan di bagian komentar atau gunakan forum untuk balasan lebih cepat.