Pengukuran tegangan PIC

9

Saya menjalankan perangkat bertenaga baterai, dan ingin mikrokontroler (PIC) saya melaporkan tegangan suplai.

Ini agar saya dapat menentukan berapa banyak baterai yang digunakan dalam pasokan, dan juga status pengisian daya baterai.

Tegangan suplai berkisar dari 4xD (baik 1.2V nominal NiMH atau 1.5V Alkaline membuat sekitar 6V) hingga 12xAA (1.2V NiMH untuk 14.4V atau 1.5V Alkaline untuk 18V).

PIC saya kehabisan pasokan 5V yang diatur.

Saya berencana untuk menggunakan salah satu port ADC untuk mengukur tegangan, dan oleh karena itu percaya saya harus memetakan 18V fsd ke kisaran 0-5V, jadi kira-kira saya perlu membagi tegangan input dengan 3.

Saya pernah mendengar tentang menggunakan pembagi tegangan resistor, tetapi tahu bahwa itu bisa boros dalam hal energi yang dikonsumsi.

Ingin tahu apakah ada cara yang lebih baik untuk mencapai pembagian tegangan ini tanpa terlalu banyak kehilangan energi / pemborosan?

Terima kasih.

mad_z
sumber

Jawaban:

8

Anda ingin pembagi tegangan. jika Anda peduli dengan disipasi daya, ada beberapa hal yang dapat Anda lakukan:

  • gunakan pembagi tegangan impedansi yang cukup tinggi, dengan kapasitor pada terminal keluaran, dan buffer dengan op-amp berdaya rendah. Pastikan Anda menggunakan filter RC antara op-amp dan ADC, nilai filter RC ini biasanya sekitar 50-200 ohm, 1000pf. Ini berfungsi untuk menjaga kestabilan tegangan ketika ADC beralih antar saluran dan muatan ditransfer antara kapasitor internal ADC dan pin luar. Op-amp saja tidak bisa melakukan ini. Jika Anda tidak buffer pembagi tegangan impedansi tinggi, Anda akan mendapatkan kesalahan karena arus bocor ADC dan transfer biaya.

  • alihkan pembagi tegangan, mis. sambungkan / lepaskan ke tegangan suplai, sehingga Anda hanya dapat melakukan ini sesekali saja. PFET akan berfungsi, hati-hati dengan cara Anda mengendarainya.

Jason S
sumber
Ini kedengarannya hebat, saya hanya ingin menambahkan bahwa Anda perlu memuat (menarik arus dari) baterai untuk mendapatkan pengukuran realistis dari sisa baterai. Anda jauh lebih baik dengan pembagi arus yang lebih tinggi dengan saklar mati.
Kortuk
Saya baru saja memposting tanggapan yang serupa, dan memilih untuk menghapusnya. Tampaknya saya memiliki versi lama dari halaman yang di-cache. Saya memilih ini, itu cara untuk pergi.
Lou
+1 untuk mengganti pembagi tegangan. Trik yang sangat berguna.
Clint Lawrence
@ Kortuk: Anda memiliki poin yang sangat bagus, tapi saya akan memisahkan pembagi tegangan dari beban baterai. Sangat mudah untuk menggerakkan N-channel FET langsung dari mikrokontroler (well ... harus ada resistor kecil antara keluaran mikro + gerbang FET, saya biasanya menggunakan 10-100 ohm) dan memiliki resistor dari saluran FET ke catu daya . Jauh lebih mudah daripada mencoba menggabungkan kedua fungsi ini dan menyelesaikan pembagi tegangan yang dapat dipindahkan. Selain itu, ada banyak waktu ketika Anda ingin mengukur tegangan baterai tanpa beban atau hampir tanpa beban. Sebenarnya jika saya harus memilih satu atau yang lain, saya akan mengukurnya tanpa beban.
Jason S
6

Jason S telah memberikan saran yang bagus untuk bagaimana Anda dapat mengurangi daya jika diperlukan. Tetapi sebelum membuat hidup lebih rumit untuk diri Anda sendiri, adalah mungkin untuk menentukan berapa banyak daya yang Anda mampu.

Untuk desain berdaya rendah apa pun, Anda harus mempertimbangkan anggaran daya secara keseluruhan. Untuk perangkat bertenaga baterai ini biasanya akan ditentukan oleh umur baterai yang diinginkan. Jika daya gabungan dari sisa rangkaian secara signifikan lebih dari pembagi resistor, maka Anda tidak perlu khawatir tentang hal itu atau Anda punya bagian lapar daya lain dari rangkaian untuk dikhawatirkan.

Clint Lawrence
sumber
4
+1 untuk menunjukkan pentingnya perspektif. Saya akan menambahkan, jika ini adalah 1% dari anggaran daya Anda, itu tidak layak untuk dikhawatirkan (kecuali jika Anda memiliki banyak pembagi tegangan!) - jika itu adalah 5-10% dari anggaran daya Anda, mungkin perlu dikhawatirkan; jika 20% atau lebih. (just my 2c)
Jason S
Kedengarannya seperti aturan praktis bagi saya. Poin penting lainnya, adalah kita dapat mengukur dan menghitung hal-hal ini. Dan melakukan hal itu lebih bermanfaat daripada menebak :)
Clint Lawrence
Poin bagus, Jason. Sedikit lebih banyak tentang aplikasi: ini adalah sistem pencahayaan yang akan duduk tidak digunakan untuk jangka waktu yang lama, dan kemudian ketika dinyalakan, menarik sekitar 3A dari suplai dengan rangkaian arus konstan. Jadi dalam operasi, tarikan daya untuk pemantauan tegangan adalah bagian yang tidak signifikan dari tarikan daya total. Namun dalam mode siaga, saya ingin agar kapasitas baterai tidak terkuras sebanyak mungkin, atau lebih tepatnya saya ingin segala pengurasan parasit yang tidak dapat dihindari diminimalkan dalam mode siaga.
@ Kheng: Apakah mungkin untuk memiliki semuanya kecuali mikrokontroler pada catu daya terpisah? Mereka menghidupkan periferal sekaligus dengan satu relay atau fet di bawah kendali UC. Maka seharusnya mudah untuk mengontrol arus siaga dari UC dan Anda tidak perlu khawatir tentang meminimalkan daya di sirkuit individu.
Clint Lawrence
@Kheng: "Saya ingin kapasitas baterai tidak dikeringkan secara tidak perlu sebanyak mungkin" terlalu runcing bagi seorang insinyur. Berapa rata-rata yang diambil saat ini? Untuk menghitungnya, Anda harus mengetahui siklus tugas rata-rata dan arus idle. Kemudian terapkan aturan praktis yang diberikan oleh Jason untuk melihat apakah masuk akal untuk melakukan anyhting lebih rumit daripada pembagi resistor. Rekayasa TIDAK melakukan yang 'sebaik mungkin', itu 'memenuhi persyaratan untuk biaya terendah'.
Wouter van Ooijen