Apa yang saya kerjakan: Saya menjalankan papan Arduino buatan saya sendiri (dalam arti bahwa saya menggunakan bootloader dan editor kode Arduino) pada 3.3V, dan ditenagai oleh baterai Lithium ion, yang diisi daya USB oleh Microchip yang sesuai. pengisi daya IC.
Apa yang ingin saya capai: Saya ingin mengukur kapasitas baterai sekali setiap menit. Saya memiliki LCD yang terpasang, jadi idenya adalah bahwa pengaturan keseluruhan membuat saya tahu bagaimana baterai bekerja pada saat tertentu. Lembar data baterai memiliki kurva tegangan versus debit, dan dengan mengukur tegangan baterai, saya dapat memperkirakan kapasitas yang tersisa (sangat kasar tetapi cukup untuk saya!).
Apa yang saya lakukan:
(EDIT: Nilai-nilai resistor diperbarui dan saklar P-MOSFET ditambahkan berdasarkan saran @stevenvh dan @ Jonny).
Saya menghubungkan pembagi tegangan dari baterai V_plus, dengan "porsi" yang lebih besar menuju analog-read-pin (yaitu, ADC) pada chip Arduino / Atmega.
Pembagi adalah 33 KOhm-ke-10 KOhm, sehingga memungkinkan pengukuran hingga maksimum 4,1 Volts dari baterai Li-ion dari mikrokontroler level 3.3V saya.
Juga, menggunakan salah satu pin I / O yang terhubung ke n-channel MOSFET, saya bisa mengalihkan arus melalui pembagi hanya ketika saya membutuhkan pengukuran.
Berikut ini adalah skema kasar (diperbarui untuk kedua kalinya berdasarkan saran dari @stevenvh dan @Nick):
Pertanyaan saya:
Bagaimana pengaturan saya saat ini?
Satu-satunya kendala saya adalah: (1) Saya ingin melakukan pengukuran kasar kapasitas baterai berdasarkan pembacaan tegangan, seperti dijelaskan di atas. (2) Saya ingin mencegah pembagi tegangan mengganggu pembacaan IC pengisian daya baterai oleh saya (dalam pengaturan asli saya, pembagi kadang-kadang menyebabkan IC salah membaca keberadaan bahkan ketika baterai tidak ada).