Daftar Isi:

Pemeriksa Baterai Dengan Suhu dan Pemilihan Baterai: 23 Langkah (dengan Gambar)
Pemeriksa Baterai Dengan Suhu dan Pemilihan Baterai: 23 Langkah (dengan Gambar)

Video: Pemeriksa Baterai Dengan Suhu dan Pemilihan Baterai: 23 Langkah (dengan Gambar)

Video: Pemeriksa Baterai Dengan Suhu dan Pemilihan Baterai: 23 Langkah (dengan Gambar)
Video: MENGUJI Baterai HP Compact TERBAIK 2023‼️Samsung Galaxy S23 Review 2024, November
Anonim
Image
Image
Ubah Dari Proyek Dasar
Ubah Dari Proyek Dasar

Penguji kapasitas baterai.

Dengan perangkat ini Anda dapat memeriksa kapasitas baterai 18650, asam dan lainnya (baterai terbesar yang saya uji adalah baterai Asam 6v 4, 2A). Hasil pengujian dalam miliampere/jam.

Saya membuat perangkat ini karena membutuhkannya untuk memeriksa kapasitas baterai Cina palsu.

Untuk keamanan, saya menambahkan, menggunakan termistor, suhu resistansi daya dan baterai untuk mencegah terlalu panas, dengan trik ini saya dapat memeriksa Baterai Asam 6v tanpa membakar papan (dalam siklus pemakaian beberapa waktu pergi ke resistor daya panas dan perangkat menunggu 20 detik untuk menurunkan suhu).

Saya memilih mikrokontroler kecil atmega328 nano yang kompatibel (eBay).

Semua kode ada di sini.

Langkah 1: Ubah Dari Proyek Dasar

Saya mencuri ide dari proyek OpenGreenEnergy, dan saya mengulang papan untuk menambahkan fitur, jadi sekarang menjadi lebih umum.

v0.1

  • VCC Arduino sekarang dihitung secara otomatis;
  • Menambahkan variabel untuk mengubah pengaturan dengan cara yang lebih nyaman.
  • Menambahkan persentase pemakaian
  • Menambahkan suhu baterai dan resistor daya

v0.2

  • Menambahkan kemungkinan pemilihan baterai
  • Membuat prototype board (lihat skema), dengan screen, button dan speaker di luar board karena kedepannya saya ingin membuat package.
  • Menambahkan manajemen batas suhu ke resistor daya sehingga saya dapat memblokir proses saat suhu naik melebihi 70 ° (di atas suhu resistor daya ini menurun).

v0.3

Segera hadir papan dari layanan ini

Langkah 2: V0.2 dari Papan

V0.2 Dewan
V0.2 Dewan

Di v0.2 untuk mendukung berbagai jenis baterai, saya membuat struktur yang harus diisi dengan nama baterai, voltase min dan voltase maks (saya butuh bantuan untuk mengisinya:P).

// Struktur baterai typestruct BatteryType { nama karakter[10]; float maxVolt; float minVolt; }; #define BATTERY_TYPE_NUMBER 4 BatteryTypes batteryTypes[BATTERY_TYPE_NUMBER] = { { "18650", 4.3, 2.9 }, { "17550", 4.3, 2.9 }, { "14500", 4.3, 2.75 }, { "6v Acid", 6.50, 5.91 } };

Sekarang saya menggunakan satu set resistor 10k untuk pembagi tegangan untuk membaca suhu ganda input analog. Jika Anda ingin mengubah dukungan tegangan, Anda harus mengubah nilai ini (jelaskan lebih baik selanjutnya):

// Resistansi tegangan baterai

#define BAT_RES_VALUE_GND 10.0 #define BAT_RES_VALUE_VCC 10.0 // Resistansi tegangan resistor daya #define RES_RES_VALUE_GND 10.0 #define RES_RES_VALUE_VCC 10.0

Jika Anda tidak menggunakan termistor, setel ini ke false:

#define MENGGUNAKAN_BATTERY_TERMISTOR benar

#define USING_RESISTO_TERMISTOR benar

Jika Anda menggunakan tampilan i2c yang berbeda, Anda harus menulis ulang metode ini:

undian batal (batal)

Dalam proyek, Anda dapat menemukan skema fritzing, foto, dan banyak lagi.

Langkah 3: Breadboard: Pengontrol Tampilan Karakter I2c Diperluas

Breadboard: Pengontrol Tampilan Karakter I2c Diperluas
Breadboard: Pengontrol Tampilan Karakter I2c Diperluas

Saya menggunakan tampilan karakter generik, dan saya membuat pengontrol i2c dan menggunakannya dengan perpustakaan khusus saya.

Tetapi jika Anda mau, Anda dapat menggunakan pengontrol i2c normal (kurang dari 1€) dengan pustaka standar, kodenya tetap sama. Semua kode tampilan dalam fungsi menggambar sehingga Anda dapat mengubahnya tanpa mengubah hal lain.

Lebih baik dijelaskan di sini.

Langkah 4: Papan tempat memotong roti: Tampilan Karakter Dengan I2c Terintegrasi

Breadboard: Tampilan Karakter Dengan I2c Terintegrasi
Breadboard: Tampilan Karakter Dengan I2c Terintegrasi

Skema yang sama tanpa dikontrol i2c diperluas.

Langkah 5: Realisasi

Untuk mengukur tegangan kami menggunakan prinsip pembagi Tegangan (informasi lebih lanjut di Wikipedia).

Dengan kata sederhana, kode ini adalah faktor pengali untuk mengukur tegangan baterai.

batResValueGnd / (batResValueVolt + batResValueGnd)

Saya memasukkan 2 resistansi nilai batResValueVolt dan batResValueGnd setelah dan sebelum kabel baca analog.

batVolt = (sampel1 / (1023.0 - ((BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)) * 1023.0))) * vcc;

sample1 adalah pembacaan analog rata-rata;

vcc referensi tegangan Arduino;

1023.0 adalah nilai maksimum referensi pembacaan analog (pembacaan analog Arduino mulai dari 0 hingga 1023).

Untuk mendapatkan arus listrik Anda membutuhkan tegangan setelah dan sebelum resistor daya.

Ketika Anda mengukur tegangan setelah dan sebelum resistor daya, Anda dapat menghitung miliampere yang menghabiskan baterai.

MOSFET digunakan untuk memulai dan menghentikan pengurasan baterai dari resistor daya.

Untuk keamanan saya memasukkan 2 termistor untuk memantau suhu baterai dan resistor daya.

Langkah 6: Ekstensibilitas

Kemungkinan diperpanjang
Kemungkinan diperpanjang
Kemungkinan diperpanjang
Kemungkinan diperpanjang

Saya mencoba membuat papan prototipe yang dapat diperluas, tetapi untuk saat ini saya hanya menggunakan satu set pin minimal (di masa depan saya akan menambahkan led dan tombol lainnya).

Jika Anda ingin mendukung tegangan lebih besar dari 10v Anda harus mengubah nilai resistor baterai dan resistansi sesuai dengan rumus:

(BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)

dalam skema Tegangan daya resistor

Tegangan daya resistor GND 1/2 / (Tegangan daya resistor 2/2 + Tegangan daya resistor GND 1/2)

Merah muda sedang disolder

Langkah 7: Daftar Bagian

Jumlah Properti Jenis Bagian

  • 2 5mm Terminal Sekrup PCB Mount Sekrup Terminal Blok 8A 250V LW SZUS (eBay)
  • 1 Klon Arduino Pro Mini (Nano yang kompatibel) (eBay)
  • 1 FET P-Channel Dasar IRF744N atau IRLZ44N (eBay)
  • 11 10kΩ Resistor resistor 10kΩ (eBay)
  • 2 Sensor Suhu (Thermistor) 10kΩ; (eBay)
  • * Bentuk header pria generik (pria); (eBay)
  • * Bentuk tajuk wanita generik (wanita); (eBay)
  • 1 papan PerfBoard Papan prototipe 24x18 (eBay)
  • 10R, 10W

    resistor daya (eBay) Saya menemukan milik saya di TV crt tua.

Langkah 8: Papan: Atur Ulang, Tombol Gnd E untuk Memilih Baterai

Papan: Atur Ulang, Tombol Gnd E untuk Memilih Baterai
Papan: Atur Ulang, Tombol Gnd E untuk Memilih Baterai

Di bagian kiri pin Anda dapat menemukan tombol dan bel.

Saya menggunakan 3 tombol:

  1. satu untuk mengubah jenis baterai;
  2. satu untuk memulai pemakaian baterai yang dipilih;
  3. kemudian saya menggunakan pin reset untuk me-restart semua, dan mengaktifkan operasi baru.

Semua pin sudah ditarik ke bawah sehingga Anda harus mengaktifkannya dengan VCC

Reset diaktifkan dengan GND

Merah muda sedang disolder

Langkah 9: Papan: I2c dan Pin Catu Daya

Papan: I2c dan Pin Catu Daya
Papan: I2c dan Pin Catu Daya

Untuk dasar Anda dapat melihat VCC, GND dan SDA, SCL untuk tampilan (dan lainnya di masa depan).

Merah muda sedang disolder

Langkah 10: Papan: Termistor dan Mengukur Tegangan

Papan: Termistor dan Mengukur Tegangan
Papan: Termistor dan Mengukur Tegangan

Di sebelah kanan ada pin untuk membaca nilai termistor, satu untuk termistor daya resistor dan yang lainnya untuk (pin pria/wanita untuk memasang) termistor baterai.

Lalu ada pin analog yang mengukur tegangan diferensial setelah dan sebelum resistor daya.

Merah muda sedang disolder

Langkah 11: Papan: Resistor untuk Mengukur Tegangan

Papan: Resistor untuk Mengukur Tegangan
Papan: Resistor untuk Mengukur Tegangan
Papan: Resistor untuk Mengukur Tegangan
Papan: Resistor untuk Mengukur Tegangan

Di sini Anda dapat melihat resistor yang memungkinkan untuk mendukung tegangan dua kali lipat dari pin arduino (10v), Anda harus mengubahnya untuk mendukung lebih banyak tegangan.

Merah muda sedang disolder

Langkah 12: Langkah Solder: Semua Pin

Langkah Solder: Semua Pin
Langkah Solder: Semua Pin
Langkah Solder: Semua Pin
Langkah Solder: Semua Pin

Untuk pertama saya menambahkan semua pin dan menyoldernya.

Langkah 13: Langkah Solder: Pulldown Resistor dan Thermistor

Langkah Solder: Pulldown Resistor dan Thermistor
Langkah Solder: Pulldown Resistor dan Thermistor
Langkah Solder: Pulldown Resistor dan Thermistor
Langkah Solder: Pulldown Resistor dan Thermistor

Kemudian saya menambahkan semua resistor pulldown (untuk tombol) dan konektor i2c (tampilan).

Kemudian termistor daya resistor Ini sangat penting, dengan baterai asam menjadi terlalu panas.

Langkah 14: Langkah Solder: MOSFET, Resistansi untuk Memeriksa Tegangan

Langkah Solder: MOSFET, Resistansi untuk Memeriksa Tegangan
Langkah Solder: MOSFET, Resistansi untuk Memeriksa Tegangan
Langkah Solder: MOSFET, Resistansi untuk Memeriksa Tegangan
Langkah Solder: MOSFET, Resistansi untuk Memeriksa Tegangan

Sekarang kita harus memasukkan MOSFET untuk mengaktifkan pemakaian dan resistansi untuk memeriksa tegangan.

2 resistansi untuk tegangan sebelum resistor daya 2 resistansi untuk tegangan setelah resistor daya, ketika Anda memiliki tegangan ini, Anda dapat menghitung konsumsi miliampere.

Langkah 15: Kode

Mikrokontroler adalah nano yang kompatibel, jadi Anda harus mengatur IDE Anda untuk mengunggah Arduino Nano.

Agar berfungsi, Anda harus mengunduh kode dari repositori github saya.

Daripada Anda harus menambahkan 3 perpustakaan:

  1. Kawat: pustaka arduino standar untuk protokol i2c;
  2. Pustaka Termistor dari sini bukan pustaka yang dapat Anda temukan di arduino IDE, tetapi versi saya;
  3. LiquidCrystal_i2c: jika Anda menggunakan adaptor i2c versi extended/custom (versi saya), Anda harus mengunduh perpustakaan dari sini, jika Anda menggunakan komponen standar, Anda dapat mengambil perpustakaan dari arduino IDE, tetapi semuanya lebih baik dijelaskan di sini.

Saya tidak menguji LCD dengan perpustakaan standar, menurut saya mereka dapat dipertukarkan, tetapi jika ada masalah, silakan hubungi saya.

Langkah 16: Hasil Setelah Perakitan

Image
Image
Hasil Setelah Perakitan
Hasil Setelah Perakitan
Hasil Setelah Perakitan
Hasil Setelah Perakitan

Papan dasar ada di foto, lalu kita bisa mengujinya.

Langkah 17: Pertama Pilih Jenis Baterai

Pertama Pilih Jenis Baterai
Pertama Pilih Jenis Baterai

Seperti yang dijelaskan, kami memiliki peta nilai dengan konfigurasi baterai.

// Struktur baterai typestruct BatteryType { nama karakter[10]; float maxVolt; float minVolt; }; #define BATTERY_TYPE_NUMBER 4 BatteryTypes batteryTypes[BATTERY_TYPE_NUMBER] = { { "18650", 4.3, 2.9 }, { "17550", 4.3, 2.9 }, { "14500", 4.3, 2.75 }, { "6v Acid", 6.50, 5.91 } };

Langkah 18: Mulai Pengosongan

Mulai Pengosongan
Mulai Pengosongan
Mulai Pengosongan
Mulai Pengosongan

Klik tombol kedua mulai pemakaian.

Di layar Anda dapat melihat miliampere saat ini, miliampere/jam, persentase pemakaian, tegangan baterai dan suhu resistor daya dan baterai.

Langkah 19: Pengecualian: Baterai Dilepas

Image
Image
Pengecualian: Peringatan Suhu
Pengecualian: Peringatan Suhu

Jika Anda menghapus proses pengosongan baterai akan berhenti, saat Anda memasukkannya kembali, restart pada nilai terakhir.

Langkah 20: Pengecualian: Peringatan Suhu

Pengecualian: Peringatan Suhu
Pengecualian: Peringatan Suhu
Pengecualian: Peringatan Suhu
Pengecualian: Peringatan Suhu
Pengecualian: Peringatan Suhu
Pengecualian: Peringatan Suhu

Jika suhu (baterai atau resistor daya) menjadi panas, proses pengosongan akan berhenti.

#tentukan BATERAI_MAX_TEMP 50

#define RESISTANCE_MAX_TEMP 69 // 70° pada lembar data (Penurunan resistor) #define TEMP_TO_REMOVE_ON_MAX_TEMP 20

Nilai default untuk suhu maksimal adalah 50° untuk baterai dan 69 untuk resistor daya.

Seperti yang Anda lihat di komentar, resistor daya dipengaruhi oleh penurunan daya saat melewati 70 °.

Jika peringatan dinaikkan, mulailah jeda TEMP_TO_REMOVE_ON_MAX_TEMP detik untuk menurunkan suhu.

Langkah 21: Uji Ampere

Uji Ampere
Uji Ampere

Hasil tes ampere bagus.

Langkah 22: Paket

Dengan komponen terpisah, hasil paket mudah direalisasikan.

Dalam sebuah kotak harus membuat persegi panjang untuk LCD, lubang untuk tombol tekan, dan laras perempuan eksternal untuk memasok tegangan dari catu daya.

Tombol tekan tidak perlu resistor pull-down karena saya menambahkannya sudah di papan.

Ketika saya punya waktu saya membuat dan mempostingnya.

Direkomendasikan: