Isi kandungan:

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

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

Video: Pemeriksa Bateri Dengan Suhu dan Pemilihan Bateri: 23 Langkah (dengan Gambar)
Video: MENGUJI Baterai HP Compact TERBAIK 2023‼️Samsung Galaxy S23 Review 2024, Jun
Anonim
Image
Image
Tukar Dari Projek Pangkalan
Tukar Dari Projek Pangkalan

Penguji kapasiti bateri.

Dengan peranti ini, anda dapat memeriksa kapasiti bateri 18650, asid dan lain-lain (bateri terbesar yang saya uji Ia adalah bateri asid 6v 4, 2A). Hasil ujian adalah dalam miliampere / jam.

Saya membuat peranti ini kerana memerlukannya untuk memeriksa kapasiti bateri palsu China.

Untuk keselamatan, saya menambah, menggunakan termistor, suhu rintangan kuasa dan bateri untuk mengelakkan terlalu panas, dengan trik ini saya dapat memeriksa Bateri Asid 6v tanpa menyalakan papan (dalam kitaran pengosongan beberapa waktu pergi ke perintang daya panas dan peranti menunggu 20 saat untuk mengurangkan suhu).

Saya memilih sedikit mikro pengawal atmega328 nano (eBay).

Semua kod ada di sini.

Langkah 1: Tukar Dari Projek Pangkalan

Saya mencuri idea dari projek OpenGreenEnergy, dan saya membuat semula papan untuk menambah ciri, jadi sekarang menjadi lebih umum.

v0.1

  • VCC Arduino kini dikira secara automatik;
  • Menambah pemboleh ubah untuk mengubah tetapan dengan cara yang lebih selesa.
  • Menambah peratusan pelepasan
  • Penambahan suhu bateri dan perintang kuasa

v0.2

  • Kemungkinan pemilihan bateri ditambah
  • Papan prototaip dibuat (lihat skema), dengan skrin, butang dan pembesar suara di luar papan kerana pada masa akan datang saya ingin membuat pakej.
  • Menambah pengurusan had suhu ke perintang kuasa sehingga saya dapat menyekat proses ketika suhu meningkat melebihi 70 ° (melebihi penurunan suhu perintang kuasa).

v0.3

Segera hadir papan dari perkhidmatan ini

Langkah 2: V0.2 Papan

V0.2 Lembaga
V0.2 Lembaga

Dalam v0.2 untuk menyokong pelbagai jenis bateri, saya membuat struktur yang mesti diisi dengan nama bateri, voltan min dan voltan maksimum (saya memerlukan bantuan untuk mengisinya: P).

// Struktur jenis bateri Jenis bateri {char name [10]; terapung maxVolt; terapung minVolt; }; #define BATTERY_TYPE_NUMBER 4 Jenis Bateri Jenis Bateri [BATTERY_TYPE_NUMBER] = {{"18650", 4.3, 2.9}, {"17550", 4.3, 2.9}, {"14500", 4.3, 2.75}, {"Asid 6v", 6.50, 5.91 }};

Sekarang saya menggunakan satu set perintang 10k untuk pembahagi voltan untuk membaca suhu analog input berganda. Sekiranya anda mahukan sokongan voltan perubahan, anda mesti mengubah nilai ini (jelaskan seterusnya):

// Rintangan voltan bateri

#define BAT_RES_VALUE_GND 10.0 #define BAT_RES_VALUE_VCC 10.0 // Rintangan voltan perintang kuasa #define RES_RES_VALUE_GND 10.0 #tentukan RES_RES_VALUE_VCC 10.0

Sekiranya anda tidak menggunakan termistor, tetapkan ini ke false:

#tentukan USING_BATTERY_TERMISTOR benar

#tentukan USING_RESISTO_TERMISTOR benar

Sekiranya anda menggunakan paparan i2c yang berbeza, anda mesti menulis semula kaedah ini:

undian kosong (kekosongan)

Dalam projek itu, anda dapat mencari skema, gambar dan banyak lagi.

Langkah 3: Papan Roti: Pengawal Paparan Karakter I2c Dikembangkan

Papan Roti: Pengawal Paparan Karakter I2c Dikembangkan
Papan Roti: Pengawal Paparan Karakter I2c Dikembangkan

Saya menggunakan paparan watak generik, dan saya membina pengawal i2c dan menggunakannya dengan pustaka tersuai saya.

Tetapi jika anda mahu, anda boleh menggunakan pengawal i2c biasa (kurang dari 1 €) dengan pustaka standard, kodnya tetap sama. Semua kod paparan berfungsi dalam undian supaya anda dapat mengubahnya tanpa mengubah perkara lain.

Lebih baik dijelaskan di sini.

Langkah 4: Papan Roti: Paparan Karakter Dengan I2c Bersepadu

Papan Roti: Paparan Karakter Dengan I2c Bersepadu
Papan Roti: Paparan Karakter Dengan I2c Bersepadu

Skema yang sama tanpa kawalan i2c berkembang.

Langkah 5: Keinsafan

Untuk mengukur voltan, kami menggunakan prinsip pembahagi voltan (lebih banyak maklumat mengenai Wikipedia).

Dengan kata mudah, kod ini adalah faktor pengganda untuk mengukur voltan bateri.

batResValueGnd / (batResValueVolt + batResValueGnd)

Saya memasukkan 2 rintangan batResValueVolt dan batResValueGnd nilai selepas dan sebelum wayar baca analog.

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

sample1 adalah purata bacaan analog;

rujukan vcc voltan Arduino;

1023.0 adalah nilai maksimum rujukan bacaan analog (Arduino analog baca dari 0 hingga 1023).

Untuk mendapatkan amperage, anda memerlukan voltan selepas dan sebelum perintang kuasa.

Apabila anda mengukur voltan selepas dan sebelum perintang kuasa, anda boleh mengira miliampere yang menghabiskan bateri.

MOSFET digunakan untuk memulakan dan menghentikan pengaliran bateri dari perintang kuasa.

Untuk keselamatan, saya memasukkan 2 termistor untuk memantau suhu bateri dan perintang kuasa.

Langkah 6: Kebolehpanjangan

Kebolehpanjangan
Kebolehpanjangan
Kebolehpanjangan
Kebolehpanjangan

Saya cuba membuat papan prototaip yang boleh dilanjutkan, tetapi buat masa ini saya hanya menggunakan set pin minimum (pada masa akan datang saya akan menambah led dan butang lain).

Sekiranya anda mahukan voltan sokongan lebih besar daripada 10v, anda mesti menukar nilai perintang bateri dan rintangan mengikut formula

(BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)

dalam skema voltan kuasa Perintang

Voltan kuasa perintang GND 1/2 / (Voltan kuasa perintang 2/2 + Voltan kuasa perintang GND 1/2)

Pink disolder

Langkah 7: Senarai Bahagian

Jumlah Hartanah Jenis Bahagian

  • 2 5mm Term ScrewInal PCB Mount Screw Terminal Block 8A 250V LW SZUS (eBay)
  • 1 klon Arduino Pro Mini (Nano serasi) (eBay)
  • 1 Dasar FET P-Channel IRF744N atau IRLZ44N (eBay)
  • 11 10kΩ Perintang perintang 10kΩ (eBay)
  • 2 Sensor Suhu (Thermistor) 10kΩ; (eBay)
  • * Bentuk header lelaki generik ♂ (lelaki); (eBay)
  • * Bentuk tajuk wanita generik ♀ (wanita); (eBay)
  • 1 Papan PerfBoard Papan prototaip 24x18 (eBay)
  • 10R, 10W

    perintang kuasa (eBay) Saya dapati saya di TV lama.

Langkah 8: Papan: Tetapkan semula, Butang Gnd E untuk Pilih Bateri

Papan: Tetapkan semula, Butang Gnd E untuk Memilih Bateri
Papan: Tetapkan semula, Butang Gnd E untuk Memilih Bateri

Di bahagian kiri pin anda dapat mencari butang dan bel.

Saya menggunakan 3 butang:

  1. satu untuk menukar jenis bateri;
  2. satu untuk mula melepaskan bateri terpilih;
  3. maka saya menggunakan pin reset untuk memulakan semula semua, dan mengaktifkan operasi baru.

Semua pin sudah ditarik ke bawah sehingga anda mesti mengaktifkannya dengan VCC

Reset diaktifkan dengan GND

Pink disolder

Langkah 9: Papan: I2c dan Pin Bekalan Kuasa

Papan: I2c dan Pin Bekalan Kuasa
Papan: I2c dan Pin Bekalan Kuasa

Ke pangkalan anda dapat melihat VCC, GND dan SDA, SCL untuk paparan (dan lain-lain pada masa akan datang).

Merah jambu dipateri

Langkah 10: Papan: Termistor dan Mengukur Voltan

Papan: Termistor dan Mengukur Voltan
Papan: Termistor dan Mengukur Voltan

Di sebelah kanan ada pin untuk membaca nilai termistor, satu untuk termistor resitsor kuasa dan satu lagi untuk (termin lelaki / wanita untuk memasang) termistor bateri.

Kemudian ada pin analog yang mengukur voltan pembezaan selepas dan sebelum perintang kuasa.

Merah jambu dipateri

Langkah 11: Papan: Perintang Mengukur Voltan

Papan: Perintang Mengukur Voltan
Papan: Perintang Mengukur Voltan
Papan: Perintang Mengukur Voltan
Papan: Perintang Mengukur Voltan

Di sini anda dapat melihat perintang yang memungkinkan untuk menyokong voltan dua kali ganda daripada pin arduino (10v), anda mesti mengubahnya untuk menyokong lebih banyak voltan.

Pink disolder

Langkah 12: Langkah Pematerian: Semua Pin

Langkah Pematerian: Semua Pin
Langkah Pematerian: Semua Pin
Langkah Pematerian: Semua Pin
Langkah Pematerian: Semua Pin

Untuk pertama saya menambah semua pin dan menyoldernya.

Langkah 13: Langkah Pematerian: Pulldown Resistor dan Thermistor

Langkah Pematerian: Resistor Pulldown dan Thermistor
Langkah Pematerian: Resistor Pulldown dan Thermistor
Langkah Pematerian: Resistor Pulldown dan Thermistor
Langkah Pematerian: Resistor Pulldown dan Thermistor

Kemudian saya menambah semua resor pulldown (untuk butang) dan penyambung i2c (paparan).

Kemudian termistor perintang kuasa Sangat penting, dengan bateri asid terlalu panas.

Langkah 14: Langkah Pematerian: MOSFET, Ketahanan untuk Memeriksa Voltan

Langkah Pematerian: MOSFET, Ketahanan untuk Memeriksa Voltan
Langkah Pematerian: MOSFET, Ketahanan untuk Memeriksa Voltan
Langkah Pematerian: MOSFET, Ketahanan untuk Memeriksa Voltan
Langkah Pematerian: MOSFET, Ketahanan untuk Memeriksa Voltan

Sekarang kita mesti memasukkan mosfet untuk mengaktifkan pelepasan dan rintangan untuk memeriksa voltan.

2 rintangan untuk voltan sebelum perintang kuasa 2 rintangan untuk voltan selepas perintang kuasa, apabila anda mempunyai voltan ini, anda boleh mengira penggunaan miliampere.

Langkah 15: Kod

Mikrokontroler adalah nano yang serasi, jadi anda mesti menetapkan IDE anda untuk memuat naik Arduino Nano.

Untuk bekerja, anda mesti memuat turun kod dari repositori github saya.

Daripada anda mesti menambah 3 perpustakaan:

  1. Wire: perpustakaan arduino standard untuk protokol i2c;
  2. Perpustakaan Termistor dari sini bukan perpustakaan yang anda dapati dalam arduino IDE, tetapi versi saya;
  3. LiquidCrystal_i2c: jika anda menggunakan versi lanjutan / khas penyesuai i2c (versi saya), anda mesti memuat turun perpustakaan dari sini, jika anda menggunakan komponen standard, anda boleh mengambil perpustakaan dari arduino IDE, tetapi semuanya lebih baik dijelaskan di sini.

Saya tidak menguji LCD dengan pustaka standard, Nampaknya mereka boleh ditukar ganti, tetapi jika ada masalah, sila hubungi saya.

Langkah 16: Hasil Selepas Berkumpul

Image
Image
Hasil Selepas Berkumpul
Hasil Selepas Berkumpul
Hasil Selepas Berkumpul
Hasil Selepas Berkumpul

Papan dasar ada di foto, maka kita dapat mengujinya.

Langkah 17: Pilih Jenis Bateri Pertama

Pertama Pilih Jenis Bateri
Pertama Pilih Jenis Bateri

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

// Struktur jenis bateri Jenis bateri {char name [10]; terapung maxVolt; terapung minVolt; }; #define BATTERY_TYPE_NUMBER 4 Jenis Bateri Jenis Bateri [BATTERY_TYPE_NUMBER] = {{"18650", 4.3, 2.9}, {"17550", 4.3, 2.9}, {"14500", 4.3, 2.75}, {"Asid 6v", 6.50, 5.91 }};

Langkah 18: Mula Melepaskan

Mula Menunaikan
Mula Menunaikan
Mula Menunaikan
Mula Menunaikan

Klik butang kedua mula habis.

Pada paparan anda dapat melihat milliampere, milliampere / jam, peratusan pengosongan, voltan bateri dan suhu perintang kuasa dan bateri.

Langkah 19: Pengecualian: Bateri Dikeluarkan

Image
Image
Pengecualian: Makluman Suhu
Pengecualian: Makluman Suhu

Sekiranya anda mengeluarkan proses pengosongan bateri akan berhenti, apabila anda memasukkannya semula, mulakan semula pada nilai terakhir.

Langkah 20: Pengecualian: Makluman Suhu

Pengecualian: Makluman Suhu
Pengecualian: Makluman Suhu
Pengecualian: Makluman Suhu
Pengecualian: Makluman Suhu
Pengecualian: Makluman Suhu
Pengecualian: Makluman Suhu

Sekiranya suhu (bateri atau perintang kuasa) menjadi panas, proses pengosongan berhenti sejenak.

#tentukan BATTERY_MAX_TEMP 50

#define RESISTANCE_MAX_TEMP 69 // 70 ° pada lembar data (Derating resistors) # tentukan TEMP_TO_REMOVE_ON_MAX_TEMP 20

Nilai lalai untuk suhu maksimum ialah 50 ° untuk bateri dan 69 untuk perintang kuasa.

Seperti yang dapat anda lihat pada perintang kuasa komen dipengaruhi oleh deretan ketika melampaui 70 °.

Sekiranya amaran dinaikkan, mulailah TEMP_TO_REMOVE_ON_MAX_TEMP saat berhenti sebentar untuk meletakkan suhu rendah.

Langkah 21: Uji Amperage

Uji Amperage
Uji Amperage

Hasil ujian amperage adalah baik.

Langkah 22: Pakej

Dengan komponen yang dipisahkan, hasil pakej mudah direalisasikan.

Dalam kotak mesti melakukan segi empat tepat untuk LCD, lubang untuk butang tekan, dan tong wanita luaran untuk membekalkan voltan dari bekalan kuasa.

Butang tekan tidak memerlukan perintang tarik-turun kerana saya menambahkannya sudah berada di atas kapal.

Apabila saya mempunyai masa untuk membuat dan menghantarnya.

Disyorkan: