Monitor masa pakai baterai pada sirkuit PIC


10

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.


1
Tegangan apa yang dibutuhkan PIC untuk berfungsi?
Kortuk

1
Apa yang Anda anggap banyak waktu.
Kortuk

Berapa banyak arus yang ditariknya?
endolith

Jawaban:


5

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.


informasi tambahan khusus untuk AA telah ditambahkan.
Kortuk

Jika Anda hanya tertarik secara khusus melihat kegagalan mulai, Anda dapat melihat untuk perubahan debit terakhir pada akhirnya dan saat itu mulai menggunakan peringatan.
Kortuk

Terima kasih untuk ini dan jawaban lainnya, itu memberi saya cukup untuk membaca tentang :)
John Burton

Jika Anda bersedia menerima kesalahan saat mengganti baterai, Anda harus dapat menggunakan timer dan mengkalibrasi ulang untuk baterai baru setiap beberapa bulan.
Kortuk

5

Ya, tegangan baterai akan turun, tetapi dropnya kecil, katakan setengah volt:

teks alternatif

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?


1
menggunakan IC pemantauan biaya hanya diperlukan saat menggunakan sistem yang memiliki pengisian dan pengeluaran dengan kapasitas yang sangat besar. Saya telah menggunakan metode pemantauan tegangan dengan ADC 10 bit dan telah bekerja dengan sangat baik. Bagian penting dari sistem memuat Baterai.
Kortuk

1
metode pengatur waktu bukanlah solusi jangka panjang yang baik, kondisi usia dan suhu baterai sangat mempengaruhi pengisian daya. Kami baru-baru ini membeli baterai 2k dari pemasok Amerika dan mereka jelas membeli dari pemasok Cina setahun sebelumnya, karena mereka bekerja secara signifikan lebih buruk daripada batter yang dikendalikan suhu 3 tahun kami, dan tidak ada yang membandingkan dengan baterai baru.
Kortuk

Gambar itu berada pada Pelepasan 100mA, jika Anda meningkatkan debit, tegangan mengikuti kurva yang lebih linier. Anda juga melihat tetes terakhir lebih awal dan dapat mengaktifkan notifikasi dan berhenti menguji baterai untuk memperpanjang umur.
Kortuk

@ Endolith - Apa sumber Anda pada gambar itu? Catatan alkali Energizer: data.energizer.com/PDFs/alkaline_appman.pdf memiliki kurva yang serupa (Mereka adalah waktu vs tegangan, daripada biaya vs tegangan, lihat gambar 12 halaman 10), tetapi penurunannya jauh lebih bertahap. Terutama jika perangkat ini didukung oleh regulator linier, penurunan tegangan tidak akan terlalu mempengaruhi perangkat.
Kevin Vermeer

Apa yang Anda maksud dengan "lebih bertahap"? Grafik mereka terlihat sedikit lebih curam bagiku.
endolith

2

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.


Itu pasti cara yang paling kuat. Sistem lain hampir tidak harus bekerja: Hanya mengatur pin tinggi pada sistem yang ditonton, mengatur interupsi pada pengamat, dan masuk ke mode tidur nyenyak. Kemudian, ketika itu berubah, mulailah berbunyi bip (atau apa pun sinyalnya) setiap 5..10..30..60 menit, dll.
Kevin Vermeer

Itu tidak akan berhasil bagi saya, itu akan memberi tahu saya ketika sudah terlambat untuk mengganti baterai tepat waktu, bukan sebelumnya.
John Burton

Jadi, Anda mungkin harus memantau baterai.
XTL

2

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.


Pada akhirnya saya melakukan beberapa hal yang berbeda. Saya memprogram ulang perangkat lunak untuk menempatkan mikrokontroler dalam mode tidur dengan benar di antara sampel yang sangat mengurangi konsumsi daya rata-rata. Baterai yang saya gunakan masih memiliki voltase terukur lebih dari 90% dari aslinya setelah sekitar 2 bulan. Saya telah menetapkan level sekitar 80% untuk memberi sinyal baterai lemah. Saya pikir mereka masih memiliki sisa 50%, tetapi itu akan memberi saya banyak waktu untuk mengubahnya
John Burton

Oh! Saya tidak menyadari Anda belum melakukan ini - dan ya, mode tidur adalah hal yang hebat.
Kevin Vermeer

0

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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.