Daftar Isi:
- Langkah 1: Ubah Dari Proyek Dasar
- Langkah 2: V0.2 dari Papan
- Langkah 3: Breadboard: Pengontrol Tampilan Karakter I2c Diperluas
- Langkah 4: Papan tempat memotong roti: Tampilan Karakter Dengan I2c Terintegrasi
- Langkah 5: Realisasi
- Langkah 6: Ekstensibilitas
- Langkah 7: Daftar Bagian
- Langkah 8: Papan: Atur Ulang, Tombol Gnd E untuk Memilih Baterai
- Langkah 9: Papan: I2c dan Pin Catu Daya
- Langkah 10: Papan: Termistor dan Mengukur Tegangan
- Langkah 11: Papan: Resistor untuk Mengukur Tegangan
- Langkah 12: Langkah Solder: Semua Pin
- Langkah 13: Langkah Solder: Pulldown Resistor dan Thermistor
- Langkah 14: Langkah Solder: MOSFET, Resistansi untuk Memeriksa Tegangan
- Langkah 15: Kode
- Langkah 16: Hasil Setelah Perakitan
- Langkah 17: Pertama Pilih Jenis Baterai
- Langkah 18: Mulai Pengosongan
- Langkah 19: Pengecualian: Baterai Dilepas
- Langkah 20: Pengecualian: Peringatan Suhu
- Langkah 21: Uji Ampere
- Langkah 22: Paket
Video: Pemeriksa Baterai Dengan Suhu dan Pemilihan Baterai: 23 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:56
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
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
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
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
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
Di bagian kiri pin Anda dapat menemukan tombol dan bel.
Saya menggunakan 3 tombol:
- satu untuk mengubah jenis baterai;
- satu untuk memulai pemakaian baterai yang dipilih;
- 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
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
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
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
Untuk pertama saya menambahkan semua pin dan menyoldernya.
Langkah 13: 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
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:
- Kawat: pustaka arduino standar untuk protokol i2c;
- Pustaka Termistor dari sini bukan pustaka yang dapat Anda temukan di arduino IDE, tetapi versi saya;
- 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
Papan dasar ada di foto, lalu kita bisa mengujinya.
Langkah 17: 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
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
Jika Anda menghapus proses pengosongan baterai akan berhenti, saat Anda memasukkannya kembali, restart pada nilai terakhir.
Langkah 20: 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
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:
Pemeriksa Suhu Udara Saku DIY: 6 Langkah
Pemeriksa Suhu Udara Saku DIY: Kami akan menggunakan Tampilan Nokia 5110, modul Suhu Digital, dan Arduino Uno untuk membuatnya. Soket 9V dengan kabel, bukan tong, juga diperlukan, bersama dengan sakelar, dan kabel. Besi solder mungkin diperlukan, tetapi Anda juga dapat memutar kabel
Cara Menggunakan Sensor Suhu DHT11 Dengan Arduino dan Mencetak Suhu Panas dan Kelembaban: 5 Langkah
Cara Menggunakan Sensor Suhu DHT11 Dengan Arduino dan Mencetak Suhu Panas dan Kelembaban: Sensor DHT11 digunakan untuk mengukur suhu dan kelembaban. Mereka adalah penggemar elektronik yang sangat populer. Sensor kelembaban dan suhu DHT11 membuatnya sangat mudah untuk menambahkan data kelembaban dan suhu ke proyek elektronik DIY Anda. Ini per
Tampilan Suhu dan Kelembaban dan Pengumpulan Data Dengan Arduino dan Pemrosesan: 13 Langkah (dengan Gambar)
Tampilan Suhu dan Kelembaban dan Pengumpulan Data Dengan Arduino dan Pemrosesan: Pendahuluan: Ini adalah Proyek yang menggunakan papan Arduino, Sensor (DHT11), komputer Windows dan program Pemrosesan (dapat diunduh gratis) untuk menampilkan data Suhu, Kelembaban dalam format digital dan bentuk grafik batang, menampilkan waktu dan tanggal dan menjalankan hitungan waktu
SENSOR SUHU DENGAN LCD DAN LED (Membuat Sensor Suhu Dengan LCD dan LED): 6 Langkah (Dengan Gambar)
SENSOR SUHU DENGAN LCD DAN LED (Membuat Sensor Suhu Dengan LCD dan LED): hai, saya Devi Rivaldi mahasiswa UNIVERSITAS NUSA PUTRA dari Indonesia, di sini saya akan berbagi cara membuat sensor suhu menggunakan Arduino dengan Output ke LCD dan LED. Ini adalah pembaca suhu dengan desain saya sendiri, dengan sensor ini dan
Baterai Lemon Mungil, dan Desain Lain untuk Listrik Tanpa Biaya dan Lampu Led Tanpa Baterai: 18 Langkah (dengan Gambar)
Baterai Lemon Mungil, dan Desain Lain untuk Listrik Tanpa Biaya dan Lampu Led Tanpa Baterai: Hai, Anda mungkin sudah tahu tentang baterai lemon atau baterai bio. Mereka biasanya digunakan untuk tujuan pendidikan dan mereka menggunakan reaksi elektrokimia yang menghasilkan tegangan rendah, biasanya ditunjukkan dalam bentuk led atau bola lampu yang bersinar. Ini