Arduino memberi daya dari baterai 9V

16

Kemarin sore saya membiarkan Arduino saya berjalan dengan baterai Alkaline 9V segar (+ terhubung ke Vin, - terhubung ke GND). Pagi hari ini (16 jam kemudian) layar LCD tidak lagi terlihat, dan ketika saya mengukur volatage, saya melihat baterai habis karena kejutan saya - voltase idle-nya hanya 7 V.

Perangkat saya adalah Arduino Uno dengan LCD 2x16 dengan lampu latar LCD dan 2 sensor DS18B20. Apakah normal jika perangkat seperti ini menghabiskan baterai 9V secepat ini?

Saya telah membaca jawaban untuk Apa (atau bagaimana cara menggunakan) opsi hemat daya dari Arduino untuk memperpanjang usia baterai? pertanyaan dan saya pikir apa yang saya lihat mungkin terkait dengan ini, namun saya tidak yakin. Jika ya, apakah ada skema umum bagaimana menghubungkan Arduino agar ditenagai oleh baterai secara efisien?

Suma
sumber
Saya akan mencoba memasang multimeter dan mengukur arus dari baterai dengan semuanya dan dengan layar dan sensor terputus. Jangan mencoba mengoptimalkan Arduino jika itu sesuatu yang menarik sebagian besar daya.
BowlOfRed
@bowlofred "mengukur arus dari baterai" - Akan lakukan, di mana pun saya harus membeli sel 9V baru terlebih dahulu. :)
Suma
1
Baterai 9V kecil, hanya sekitar 500mAh. Lampu latar LCD sendiri akan membunuhnya dalam beberapa jam.
hobbs
Pendekatan yang lebih radikal untuk penghematan daya: 1. Menggunakan papan TI MSP430, bukan Arduino; 2. Menggunakan regulator non-linear; 3. Menggunakan LCD tanpa cahaya latar (seperti dalam kalkulator).
Vi.
@bowlofred Seluruh hal saat ini adalah 61 mA. Tanpa lampu latar 57 mA, tanpa LCD dan tanpa sensor 56 mA.
Suma

Jawaban:

21

Konsumsi daya

Papan Arduino menggunakan sedikit daya dibandingkan dengan sistem tertanam lainnya dengan fungsi yang sama.

Ada tiga faktor utama:

  • NCP1117 ( datasheet ) 5V linear regulator dalam Arduino UNO R3 ( skema ) memiliki arus diam sekitar 6mA.

  • ATMega328P ( datasheet ) menarik sekitar 5mA @ 8MHz dan 5V, dan mungkin lebih dari dua kali lipat pada 16MHz.

  • user2973: ATMega16U2 yang digunakan untuk komunikasi USB juga menarik sekitar 13mA.

LED dan periferal lainnya juga menarik arus. Di sirkuit Anda, lampu latar LCD mungkin menggambar 4mA juga.

Ketika menjatuhkan 9V ke 5V melalui regulator linier, hampir setengah dari daya hilang oleh regulator karena penurunan 4V-nya. Duncan berkomentar bahwa ini hampir dua kali lipat tarikan daya diam dari 9V serta daya yang dibutuhkan untuk setiap mA 5V, karena 4/9 tenaga dihamburkan sebagai panas oleh regulator tegangan. Regulator switching yang efisien akan mengeluarkan 5V dengan sedikit energi yang terbuang, secara efektif mengurangi penarikan arus yang terlihat oleh baterai sebesar 4/9.

Baterai duracell 9V ( datasheet ) turun dari 9V ke 7V dalam waktu sekitar 7,5 jam dengan penarikan arus 50mA. Oleh karena itu, tebakan kasarnya adalah sirkuit Anda menggunakan 25mA, yang terdengar benar berdasarkan deskripsi sirkuit Anda.

Catatan, masa pakai baterai alkaline adalah non-linear sehubungan dengan arus. Untuk arus yang sangat kecil (<1mA), kehidupan Alkaline mendekati baterai lithium.

Arus turun

Berikut adalah beberapa tips untuk menurunkan konsumsi saat ini:

  • Regulator: Ganti regulator dengan yang memiliki arus diam rendah, atau lebih baik lagi, regulator switching (juga dengan arus diam rendah). Regulator switching menggunakan 'pulsa' arus dan beberapa induktor eksternal dan kapasitor untuk memberikan output tegangan stabil yang wajar. Itu tidak membuang energi seperti dengan penurunan tegangan regulator linier dan efisiensi di 90% tinggi adalah mungkin.

    • Ada buck (step down) konverter yang mengambil baterai sebagai input, kemudian terhubung langsung ke 5V dan GND, melewati VIN dan regulator. Yang ini dari Pololu naik dan turun, dan memiliki arus diam 0,1mA.
    • Atau, Anda dapat menggunakan baterai alkaline 1.5V, dan konverter penambah (meningkatkan) untuk mendapatkan tegangan hingga 5V (mis. Produk ini dari Sparkfun). Sepertinya boost converter lebih banyak ditebar.
    • Akhirnya, Anda bisa membeli baterai lithium yang dapat diisi ulang dengan perisai pengisi daya. Keuntungan dari ini adalah tidak harus membeli baterai baru, dan untuk sedikit lebih besar dari baterai 9V baterai lithium memiliki kapasitas yang jauh lebih besar. Produk yang sangat keren adalah kit tahan air penguntit seeeduino yang mencakup sirkuit pengisian daya, baterai, panel surya, dan barang lainnya.
  • ATMega328P: Alih-alih menggunakan delaywaktu dan pemintalan looptanpa henti menunggu sesuatu terjadi, tulis ulang kode Anda sehingga tidur di sela-sela pembacaan sensor, dll. Ada beberapa perpustakaan berdaya rendah di luar sana yang menggunakan pengawas waktu untuk bangun berkala dari tidur yang berguna. Anda bisa mendapatkan konsumsi ATMega328P di bawah 0,1mA saat tidur.

  • LCD: Matikan lampu latar, atau bahkan seluruh LCD. Tambahkan tombol ke desain yang dapat ditekan pengguna untuk mengaktifkan LCD dan mematikannya setelah sejumlah aktivitas tidak aktif.

  • Periferal: Sebagian besar chip periferal juga memiliki mode tidur yang secara drastis mengurangi konsumsi daya. Lepaskan LED daya dan indikator lain yang tidak perlu.

  • ATMegu16U2: user2973 komentar Sepertinya chip ini cukup haus daya ( user2973 ). Itu bisa dihapus untuk menghemat daya dan hanya menggunakan UART saja, tetapi itu sepertinya berlebihan. Ada papan Arduino Pro yang hanya tulang belulang Arduino tanpa antarmuka USB yang bisa digunakan sebagai pengganti UNO.

  • Baterai: Sel alkali lainnya memiliki kapasitas yang jauh lebih besar. Misalnya, 1.5V AA memiliki lebih dari 2000mAh untuk arus rendah. Menggunakan sel AA plus konverter penambah dapat meningkatkan waktu sebelum penggantian baterai. Gunakan sel D (16000mAh) dan itu akan berjalan cukup lama. : D

Ringkasan

Dengan catu daya dan pengodean yang tepat, Anda dapat memperoleh usia pakai baterai yang wajar. Menggunakan prinsip-prinsip di atas, saya telah membuat papan turunan Arduino yang mengukur beberapa sensor dan menyimpan bacaan ke kartu SD setiap setengah detik. Ini dapat berlangsung selama sekitar 4 bulan pada 2 baterai AA, jadi sangat mungkin untuk memiliki daya rendah dan tetap berada di ekosistem Arduino.

Chip yang saya gunakan untuk daya rendah di papan saya adalah LTC3525-3.3V. Dibutuhkan tegangan input serendah 0,8V dan meningkatkan hingga 3,3V dan versi 5V juga tersedia. Saya merancang PCB untuk chip ini karena tidak ada pelarian siap pakai, dan dalam datasheet ada desain referensi. Kriteria utama untuk memilih chip ini adalah masih memiliki efisiensi tinggi pada arus yang sangat rendah. Beberapa konverter lain membutuhkan penarikan arus minimum yang kecil.

Konsumen daya terbesar di papan akhirnya menjadi kartu micro SD. Itu dapat bervariasi antara 0,1 mA dan 1,5 mA dari arus idle tergantung pada produsen. Saya telah menemukan kartu Verbatim dan Lexar untuk mengkonsumsi daya paling sedikit. Saya akan menjawab pertanyaan EE.SE ini dengan hasil dari tes konsumsi daya kartu micro SD saya.

geometrikal
sumber
1
Jawaban menyeluruh yang bagus. Catatan: konsumsi daya usb ke serial atmega16u2 yang akan sangat signifikan setelah menyelesaikan masalah lain.
user2973
@ user2973 Anda punya ide tentang apa itu mungkin? Saya bisa mendapatkan karakteristik khas dari lembar data, tapi saya tidak memasukkannya karena saya tidak tahu apakah firmware memiliki tidur di dalamnya. Jika hanya berjalan normal itu adalah 12mA @ 5V yang merupakan penarikan yang signifikan.
geometrikal
@geometrikal, bagaimana Anda menyalakan Arduino dengan 2 baterai AA? Itu hanya 3 volt, yang di bawah minimum. Apakah catu daya yang Anda sebutkan adalah suplai buck / boost? (Jawaban luar biasa dengan cara <dipilih].)
Duncan C
1
@geometrikal, maukah Anda memposting tautan ke salah satu catu daya uang yang Anda sebutkan, seperti yang ada di SparkFun? Saya baru saja melakukan pencarian dan tidak dapat menemukannya. Untuk umur panjang, pasokan gaya buck tampaknya penting, karena arus idle dari regulator tegangan konvensional sangat penting.
Duncan C
1
@geometrikal, Anda berkata "... Juga ketika menjatuhkan 9V ke 5V melalui regulator linier, hampir daya hilang oleh regulator karena penurunan 4V-nya" Bukankah itu hampir dua kali lipat undian DAYA diam dari 9V dan juga kekuatan yang dibutuhkan untuk setiap mA 5V? (Karena 4 / 9th daya menjadi terbuang karena panas oleh regulator tegangan.) Sepertinya menjalankannya dari konverter buck seperti TSR 1-2450 akan lebih baik
Duncan C
3

Saya pikir Arduino Uno tidak cocok untuk proyek seperti itu. Beberapa komponen di papan tulis menarik terlalu banyak amp, seperti yang ditunjukkan oleh @geometrikal. Jika Anda menghadapi tantangan, saya akan menyarankan Anda untuk membawa proyek Anda ke tingkat lain dan pergi barebones.

Sparkfun memiliki artikel bagus tentang cara meningkatkan daya tahan baterai, menggunakan ATmega328 yang juga Anda miliki di Arduino Uno: https://www.sparkfun.com/tutorials/309

Cari cara untuk membuat sirkuit dengan hanya komponen yang benar-benar Anda butuhkan, dan minta mikrokontroler Anda tidur sebanyak mungkin.

Franklin
sumber
1

Pilihan lain adalah mencari perangkat keras (Arduino Clone) yang telah dirancang untuk itu, seperti papan ini: https://bitbucket.org/talk2/whisper-node-avr/overview

Menggabungkan perangkat keras tersebut dengan teknik kode hemat daya, Anda harus dapat menjalankan proyek untuk waktu yang lama pada baterai!

Talk2
sumber