Saya memiliki sirkuit kecil menggunakan chip mikrokontroler PIC18F14F50 yang mencatat data ke dalam chip EEPROM eksternal melalui antarmuka i2c (yang kemudian dapat saya baca kembali melalui antarmuka USB). Satu sampel direkam setiap 15 menit dan tidak perlu dihitung secara parsial waktu.
Tidak apa-apa jika sampel tidak terjawab atau salah waktu ketika baterai sedang diganti, tetapi tidak bagus jika baterai kedaluwarsa dan tidak ada data yang direkam selama beberapa hari sampai seseorang memperhatikan.
Jadi saya ingin memperingatkan pengguna ketika baterai rendah dalam banyak waktu bagi mereka untuk menggantinya. Arus rata-rata di bawah 2mA dan saya menjalankan dari 3 baterai alkaline AA secara seri untuk memberikan 4,5 volt jadi saya berharap mereka bertahan beberapa hari.
Tapi saya bertanya-tanya bagaimana cara mendeteksi bahwa baterai rendah? Saya kira tegangan akan turun karena baterai mencapai akhir hidup. Saya berpikir bahwa PIC ini memiliki tegangan referensi 1.024v sehingga saya dapat membagi tegangan suplai dan mengumpankannya ke input analog dan ketika voltase yang dibagi turun di bawahnya yang memicu peringatan.
Tapi saya tidak cukup tahu tentang baterai untuk mengetahui seberapa baik ini akan bekerja? Dan saya tidak tahu tegangan apa yang harus dipilih yang menunjukkan bahwa mungkin masa pakai baterai 10-20% tersisa. Apakah itu akan berhasil sama sekali? Apakah ada pendekatan yang lebih baik?
Ini tidak perlu akurat sama sekali, saya hanya ingin memberikan peringatan yang baik dalam banyak waktu tanpa membuat orang untuk membuang baterai yang masih hidup.
Karena penggunaan saya saat ini cukup konstan, apakah timer sederhana masuk akal jika saya dapat mengetahui berapa lama baterai bertahan rata-rata dan kemudian memilih 85% dari waktu itu sebelum saya memberikan peringatan? Atau apakah daya tahan baterai lebih bervariasi dari itu?
Pikiran apa pun akan diterima.
Jawaban:
Pertama, izinkan saya mengomentari sirkuit timer. Ini akan berfungsi, selama baterai Anda memiliki umur yang relatif sama dan disimpan dalam kondisi yang sama. Dalam 6 bulan ketika Anda masih menggunakan ini dan baterai Anda semua 6 bulan lebih tua, Anda harus memperbarui timer. Solusi fungsional, tetapi bukan yang terbaik.
Anda dapat membagi tegangan untuk input Anda dengan jaringan resistor yang memiliki tegangan cukup tinggi untuk tidak mempengaruhi masa hidup Anda (Anda dapat menggunakan jaringan yang memuat, Anda cukup mengganti baterai Anda lebih sering). Ada satu tangkapan, Anda perlu Muat baterai untuk melihat nilai sebenarnya dari itu yang tersisa. Anda akan menemukan semakin banyak baterai dimuat, semakin banyak kurva debit yang terlihat seperti garis. Ini tidak akan pernah menjadi garis, masih akan ada fase yang jelas, tetapi Anda dapat secara andal menghubungkan tegangan baterai yang terisi dengan sisa hidup Anda.
Jika PIC Anda aktif selama pengukuran Anda mungkin akan mendapatkan pengukuran yang layak. Biarkan pic menghabiskan waktu untuk mengukur baterai Anda dan lihat kurva tegangan yang dihasilkan hingga perangkat Anda mati. Jika kurva tetap relatif datar, dan kemudian tiba-tiba turun dan baterai Anda mati maka Anda akan ingin menggunakan transistor dan memuat resistor untuk meningkatkan arus saat pengukuran baterai. Ada banyak informasi tentang baterai di universitas baterai. Seringkali mikrokontroler gagal menarik arus yang cukup untuk mendapatkan kurva yang miring sepanjang jalan (saya telah melihat masalah ini dengan daya ultra rendah UC seperti MSP430). Anda mungkin akan baik-baik saja hanya dengan menjalankan PIC Anda.
Penelitian kimia baterai AA telah menerjunkan beberapa hasil. Itu terlihat seperti mereka menunjukkan kurva pelepasan yang cukup datar dengan arus rendah (<500 mA). Ini berarti bahwa Anda mungkin ingin rangkaian pelepasan resistor ditambah dengan transistor untuk memungkinkan pengukuran tegangan menjadi lebih berharga.
Maafkan saya jika ini tidak cukup jelas. Jika Anda berkomentar dan mengajukan pertanyaan atau saran, saya akan memperbaruinya.
sumber
Ya, tegangan baterai akan turun, tetapi dropnya kecil, katakan setengah volt:
Jika Anda menggunakan pembagi tegangan untuk mendapatkan ini ke rentang ADC, Anda juga membagi rentang. Saya kira ini masih bisa diukur dengan ADC secara langsung. 5 V / (2 ^ 10) = 0,005 V, dengan ± 3 LSb offset dan gain kesalahan, jadi masih ada sejumlah level pengukuran antara penuh dan kosong?
Untuk mengukur pengisian dan pemakaian baterai secara akurat, orang menyimpan log tentang berapa banyak arus yang diambil dengan resistor pengindera arus, dan memutuskan bahwa baterai rendah setelah sejumlah muatan tertentu telah berlalu. Jika undian Anda saat ini relatif konstan, maka ya, Anda bisa menggunakan timer untuk melakukan hal yang sama. Jalankan beberapa kali, ukur jumlah waktu sampai Anda menganggap baterai sudah mati, dan kemudian gunakan timer di masa depan untuk menebak kapan akan mati. Anda menggunakan baterai baru setiap kali?
sumber
Saya pikir satu-satunya cara yang solid untuk memonitor suatu sistem seperti itu adalah semacam pengaturan seperti anjing penjaga: Mintalah beberapa yang lain, yang diberdayakan secara terpisah , sistem memeriksanya dari waktu ke waktu (atau menunggu sinyal) dan jika tidak merespons, waspada.
Anda juga dapat menggunakan sistem terpisah itu untuk memeriksa baterai. Itu tidak akan menderita dari baterai utama mati yang akan membunuh sistem pemantauan yang menjalankan baterai utama. Jika Anda dapat mengatur monitor baterai yang akan berjalan pada baterai kecil seperti sel koin dan menjamin bahwa itu akan hidup lebih lama dari baterai utama, yang seharusnya melakukan pekerjaan.
Jika Anda tidak ingin atau tidak dapat memiliki sumber daya kedua, komentar lain tampaknya berisi saran yang sangat baik untuk pemantauan mandiri.
sumber
Anda bisa mendapatkan referensi tegangan yang jauh lebih akurat dengan op amp (gunakan satu dengan pin aktif, sehingga dapat dengan mudah dimatikan), dan sesuaikan sirkuit Anda ke rentang tegangan yang ingin Anda ukur: 0V pada 0.8V, dan 3.3V pada 1.1V. Jika sudah jenuh, Anda tahu bahwa Anda punya banyak muatan, dan sepertinya Anda tidak membutuhkan monitor, hanya alarm.
Juga, pastikan bahwa Anda mengukur beberapa kali (atau menggunakan resistor indera saat ini), daripada mengasumsikan bahwa penurunan tegangan disebabkan oleh baterai yang sekarat. Ini bukan - tegangan baterai tergantung pada arus debit dan biaya yang tersisa. Lonjakan arus dapat menyebabkan penurunan besar voltase, tetapi baterai akan pulih saat dilepas. Lihat Gambar 9 dari lembar data alkali Energizer.
sumber
Jika mungkin mengukur tegangan baterai AA Alkaline hanya setelah itu dimuat oleh beban normal Anda (perangkat) dan Anda menghentikan arus beban, ketika turun di bawah 0,9V per baterai AA baterai Anda habis. Saya melakukan ini adalah banyak produk yang saya rancang dan berfungsi sempurna. Baterai Alkaline yang normal akan pulih setelah beban dilepas tetapi ini membutuhkan waktu tergantung pada arus beban. Kadang-kadang ini bisa beberapa menit atau bahkan berjam-jam tergantung pada suhu dan arus beban. Mengukurnya selama penggunaan stabil dengan arus kecil Anda harus mengambil tegangan lebih tinggi tergantung pada arus Anda, tetapi biasanya 1.2V OK untuk perangkat yang hanya menggunakan 5mA.
sumber