Saya memberi daya pada Arduino menggunakan baterai 5V (3,7V ke modul step-up), dan saya perlu mengukur tegangan. Katakanlah baterai memberikan arus tinggi , apakah aman untuk mengukur tegangan melalui Analog In? Seperti dalam hal ini:
Alasan saya bertanya adalah karena saya tidak tahu banyak tentang arsitektur dan batasan ADC Arduino. Jadi biasanya, saya akan melakukannya untuk keamanan:
Apakah koneksi pada diagram pertama aman untuk ADC? Terima kasih sebelumnya!
Catatan: Pertanyaan serupa ditanyakan di sini: ( Pantau Penggunaan Daya DC ), tetapi tidak menjawab pertanyaan tentang arus beban tinggi pada baterai.
Jawaban:
Periksa lembar data untuk input saat ini pada pin I / O Ini tergantung pada jenis pengontrol yang tepat pada Arduino Anda. Ini mungkin disebut input I / O pin Kebocoran Arus dan akan mendekati 1μA .
Berikut ini adalah lembar data ATmega tipikal yang digunakan pada Uno / Duemilanove / ... , Anda dapat menemukan parameter di halaman 304. Periksa lembar data untuk pengontrol spesifik Anda untuk detail yang akurat.
Jika Anda menggunakan baterai 3.7V dan konverter step up untuk memasok 5V ke controller, Anda dapat menghubungkan baterai secara langsung ke input analog controller Anda. Namun ketika tegangan output konverter step up turun di bawah tegangan baterai (untuk alasan apa pun) maka seluruh Arduino Anda akan diumpankan melalui pin input analog dan itulah yang tidak Anda inginkan. Semua pin input memiliki perlindungan terhadap tegangan lebih yang memungkinkan perilaku ini, tetapi dioda tidak diberi peringkat untuk arus kontinu. Kesimpulannya: yang terbaik adalah memasukkan resistor seri antara baterai dan pin input.
Tetapi sekarang pengukuran Anda bergantung pada keakuratan catu daya 5V. Tergantung pada pengontrol yang tepat yang Anda miliki, ada berbagai tegangan referensi internal yang tersedia yang jauh lebih akurat daripada tegangan catu daya. Jika Anda menambahkan resistor tambahan ke ground (R2), Anda dapat menggunakan referensi seperti itu untuk secara akurat mengukur tegangan input. Ini disebut pembagi tegangan (resistif). Dengan rasio yang diberikan, voltaga pada pin input akan menjadi 1V ketika tegangan baterai adalah 3.7V:
mensimulasikan rangkaian ini - Skema dibuat menggunakan CircuitLab
sumber
Pilihan lain adalah dengan menggunakan referensi tegangan celah pita internal 1.1V Arduino untuk menentukan nilai VCC tanpa menggunakan bagian eksternal tambahan seperti yang dijelaskan pada dua tautan ini:
http://jeelabs.org/2012/05/04/measuring-vcc-via-the-bandgap/
dan
http://arduino.cc/forum/index.php?topic=88935.0
Satu-satunya Gotcha adalah bahwa Anda perlu menentukan nilai kalibrasi terhadap celah celah internal 1.1V karena dapat dimatikan sebanyak 10%.
Tetapi itu tidak memerlukan bagian tambahan, dan akan memungkinkan atmega Anda untuk menentukan tegangan sumber dayanya.
sumber