Daftar Isi:

Tiny V/A Meter Dengan INA219: 9 Langkah (dengan Gambar)
Tiny V/A Meter Dengan INA219: 9 Langkah (dengan Gambar)

Video: Tiny V/A Meter Dengan INA219: 9 Langkah (dengan Gambar)

Video: Tiny V/A Meter Dengan INA219: 9 Langkah (dengan Gambar)
Video: #ApaITU INA219 I2C Power Sensor adalah Voltage Divider? 2024, November
Anonim
Image
Image
Pengukur V/A Kecil Dengan INA219
Pengukur V/A Kecil Dengan INA219
Pengukur V/A Kecil Dengan INA219
Pengukur V/A Kecil Dengan INA219
Pengukur V/A Kecil Dengan INA219
Pengukur V/A Kecil Dengan INA219

Lelah memasang kembali multimeter Anda ketika Anda ingin mengukur tegangan dan arus pada proyek kecil? Pengukur V/A kecil adalah perangkat yang Anda butuhkan!

Tidak ada yang baru tentang sensor arus sisi tinggi INA219. Ada banyak proyek bagus di luar sana yang memanfaatkan kemampuannya untuk mengukur arus dan tegangan pada beban. Saya awalnya terinspirasi oleh youtuber Julian Ilett dan video "10 Minute Arduino Project - INA219 Current Sensor" -nya. Tapi saya ingin meteran kompak dengan antarmuka simpel dan kasing cetak 3D - jadi saya memutuskan untuk membuatnya sendiri.

Tentang sensor INA219:

INA219 mampu mengukur ±3.2A dengan resolusi 0.1mA. Ini dilakukan dengan mengukur penurunan tegangan pada resistor 0,1 ohm pada PCB. Jadi sensor akan memperkenalkan penurunan tegangan yang sangat kecil tetapi hanya 320 mV dalam kasus terburuk (3.2A). Sebagai contoh pada 100 mA dropnya hanya 10 mV. Jika mau, Anda dapat mengubah resistor untuk mendapatkan rentang atau resolusi yang lebih tinggi. Pada saat yang sama sensor juga mengukur tegangan bus dengan resolusi 4 mV. Dalam pengalaman saya, pembacaan tegangan sangat tepat. Ketepatan pembacaan saat ini tergantung pada resistansi sebenarnya dari resistor Anda. Mereka biasanya dengan toleransi 1% (tetapi tidak yakin Anda harus mempercayai papan eBay yang murah). Saya percaya itu mungkin untuk mengkalibrasi hasilnya jika Anda mengetahui nilai resistor yang tepat. Tapi saya tidak menggali lebih jauh ke dalamnya karena presisinya sudah cukup baik untuk kebutuhan saya. Sensor memiliki pengaturan penguatan yang berbeda - ini tidak akan mempengaruhi resolusi tetapi membantu mengurangi kebisingan pada rentang rendah.

Fitur dari Tiny V/A Meter:

  • Dapat diaktifkan dari USB atau dari input daya.

    • Ketika dipasok dari USB, suplai input dapat berkisar dari 0 - 26V. Hanya arus bocor sensor yang mempengaruhi input daya. Bagus jika Anda ingin memverifikasi kapasitas baterai.
    • Ketika disuplai dari input daya, ini dapat berkisar antara 4 - 15V. (Keterbatasan regulator tegangan arduino).
    • Input yang dipilih terdeteksi saat boot atau diubah dan akan menampilkan pesan jangkauan kepada pengguna.
  • Dapat menampilkan tegangan, arus, daya & mAh secara bersamaan.
  • mAh dapat diatur ulang.
  • Antarmuka satu tombol dengan tekan pendek / lama.
  • Pilih rentang INA219: 26V / 3.2A, 26V / 1A atau 16V / 0.4A.
  • Pilih laju pengambilan sampel 100, 200, 500 atau 1000 ms.
  • Mengaktifkan/menonaktifkan sensor sleep untuk menurunkan arus bocor di sensor.
  • Pengaturan disimpan di EEPROM dan dimuat ulang saat boot
  • Antarmuka serial

    • Mencetak hasil pada serial. Dapat digunakan untuk login.
    • Ubah pengaturan dengan perintah serial

Perlengkapan

1x Arduino Nano - Arduino Nano contoh eBay

1x papan sensor INA219 - papan sensor ungu INA219 contoh eBay

1x OLED 0.96" I2C 128X64 4-pin - OLED 0.96" Biru I2C contoh eBay

1x TTP223 Saklar Sentuh Kapasitif - TTP223 Tombol sentuh kapasitif PCB Contoh eBay

1x Soket Soket Catu Daya Wanita - Dudukan lubang Jack Daya Wanita Contoh eBay

1x Jack Power Supply Pria - Jack Power Pria dengan terminal sekrup Contoh eBay atau Jack Power Pria dengan terminal Push Contoh eBay

1x Sakelar Geser 2 Posisi 6 Pin - Sakelar geser 6 pin Contoh eBay

kabel

1x 5 pin konektor laki-laki (opsional) - 2.54 kepala pin laki-laki Contoh eBay

Konektor 1x 5 pin female (opsional) - Konektor Dupont mengatur contoh eBay atau 2.54 konektor baris tunggal 5 pin Contoh eBay

Tabung panas menyusut (opsional)

Peralatan:

Besi solder

Printer 3D (jika Anda menginginkan kasing cetak 3D)

Lem tembak

Langkah 1: Skema

skema
skema
skema
skema

Saya membuat dua versi skema. Yang tradisional dan berbasis gambar. Koneksinya identik sehingga Anda dapat menggunakan apa pun yang Anda inginkan.

Keterangan

Layar OLED dan sensor INA219 sama-sama menggunakan I2C sehingga membutuhkan SDA dan SCL yang terhubung ke A4 dan A5.

Output dari sensor sentuh Capacitive akan kita sambungkan ke D2 untuk input.

Sakelar geser memiliki 6 pin - dua baris 3 pin. Satu baris akan digunakan untuk menghubungkan input daya ke Vin di Arduino. Baris lainnya akan menghubungkan D6 ke ground. Dengan menggunakan pull-up internal pada D6, Arduino akan dapat melihat apakah terhubung ke daya pada Vin atau tidak.

Terakhir kami mengarahkan konektor positif dari input daya (colokan listrik perempuan) melalui INA219 ke keluaran positif (colokan listrik laki-laki). Ini adalah bagaimana sensor dapat mengukur arus yang mengalir melaluinya.

Langkah 2: Mencetak Kasing

Mencetak Kasus
Mencetak Kasus
Mencetak Kasus
Mencetak Kasus

Kasing terdiri dari kotak dan penutup. Keduanya harus mudah dicetak dan sebagian besar printer dapat mencetaknya tanpa dukungan. Tetapi Anda dapat menambahkan dukungan jika Anda mau.

Setelah selesai, kedua bagian itu menyatu. Jika Anda sangat berhati-hati, Anda akan dapat membukanya lagi. Tapi kedua kunci pegas agak rapuh dan bisa pecah jika Anda tidak hati-hati.

Tidak ada pencetak 3D?

Jika Anda tidak memiliki akses ke printer 3D, saya yakin Anda dapat membuat kasus lain. Anda dapat membeli kotak proyek/kotak dari plastik atau aluminium. Atau Anda bisa membuat sesuatu sendiri dari kayu atau karton. Jadilah kreatif!

Langkah 3: Merakit Tutupnya

Merakit Tutupnya
Merakit Tutupnya
Merakit Tutupnya
Merakit Tutupnya
Merakit Tutupnya
Merakit Tutupnya
Merakit Tutupnya
Merakit Tutupnya

Tutupnya menahan layar OLED dan tombol sentuh kapasitif. Solder kabel pada komponen sebelum menempelkannya di tempatnya dengan lem. Waspadalah terhadap layar OLED - terkadang kaca dipasang miring pada PCB. Jadi sejajarkan itu sebelum menempelkannya di tempatnya. Jika Anda memiliki konektor 5 pin, tambahkan itu ke kabel. Jika tidak, masih mungkin untuk menyambungkan layar & tombol langsung ke Arduino - tetapi sedikit lebih sulit untuk digunakan.

Langkah 4: Merakit Kotak Utama

Merakit Kotak Utama
Merakit Kotak Utama
Merakit Kotak Utama
Merakit Kotak Utama

Pasang colokan listrik Female dan sakelar geser dan kencangkan di tempatnya. Jika Anda tidak dapat menemukan sekrup kecil yang sesuai dengan sakelar, Anda bisa menempelkannya di tempatnya. Saya pikir saya mendapatkan milik saya dari drive DVD lama yang saya bongkar:)

Lepaskan pin dan konektor dari INA219 (jika terpasang) tidak ada cukup ruang untuk itu di dalam kotak. Kemudian sambungkan Arduino dan INA219 sepenuhnya sebelum menempelkannya pada tempatnya di dalam kotak. Tambahkan lagi konektor 5 pin jika Anda memilikinya - atau cukup sambungkan langsung ke tutupnya.

Kemudian lengkapi kabel ke sakelar dan colokan listrik. Pada sakelar geser kabel solder ke dua pin yang paling dekat dengan colokan listrik perempuan di kedua baris. Dengan cara ini Anda dapat menggeser sakelar ke arah USB untuk memilih daya USB. Dan geser sakelar ke arah input untuk daya input. Mudah diingat!

Jangan tutup kasusnya dulu! Yang terbaik adalah menguji apakah semuanya berfungsi terlebih dahulu.

Langkah 5: Memprogram Arduino

Memprogram Arduino
Memprogram Arduino

Jika Anda belum menginstal Arduino IDE, dapatkan dari arduino.cc

Anda juga perlu menginstal dua perpustakaan U8g2 dan Adafruit INA219. Keduanya tersedia di pengelola perpustakaan. Untuk Adafruit INA219 pastikan Anda mendapatkan versi 1.0.5 - versi yang lebih baru memerlukan perpustakaan tambahan dan memori flash, tetapi tidak menyediakan fungsionalitas tambahan apa pun saat ini.

Selanjutnya dapatkan kode sumber yang terlampir di Instructable ini (Tiny-VA-Meter.ino dan FlashMem.h) atau dapatkan versi terbaru dari GitHub Tiny-VA-Meter Git saya. Sekarang buka Tiny-VA-Meter.ino dengan Arduino IDE.

Hubungkan Tiny V/A Meter ke komputer Anda dengan kabel USB.

Dari alat pilih Papan: "Arduino Nano", Prosesor: "ATmega328P" dan port yang benar. Anda mungkin perlu mengubah prosesor ke "ATmega328P(Old bootloader)" tergantung pada arduino Anda. Jika Anda memiliki kesalahan komunikasi coba itu.

Tekan tombol upload dan tunggu sampai selesai.

Langkah 6: Uji Bahwa Semuanya Berfungsi

Sebelum menutup kasing ada baiknya untuk memeriksa apakah semuanya terhubung dengan benar. Anda dapat mengikuti langkah-langkah ini untuk memverifikasi semua komponen:

1. Dari daya USB, Layar akan menyala dan menampilkan pembacaan (terlepas dari posisi sakelar geser).

2. Periksa apakah Anda dapat beralih menu dengan mengetuk tombol.

3. Terapkan daya ke input dan periksa apakah meteran menampilkan voltase yang benar.

4. Coba geser sakelar geser dan pastikan pengukur menampilkan pesan jangkauan.

5. Sekarang Anda dapat mencoba mengatur sakelar geser ke daya input dan memutuskan sambungan USB. Meteran harus tetap berfungsi.

6. Terakhir, Anda harus dapat menghubungkan beban atau perangkat ke output dan memeriksa apakah sensor membaca penarikan arus.

Jika semua langkah ini berhasil, meteran Anda seharusnya berfungsi dengan baik! Anda dapat memasang tutupnya sekarang!

Langkah 7: Belajar Menavigasi Menu

Belajar Menavigasi Menu
Belajar Menavigasi Menu

Saat mem-boot meteran akan mulai dengan menunjukkan rentang input yang tersedia tergantung pada posisi sakelar geser: "Rentang input: 0-26V 3.2A" atau "Rentang input: 4-15V 3.2A". Pesan hanya akan ditampilkan selama beberapa detik, tetapi Anda dapat melewatinya dengan menekan sebentar. Jika sakelar geser diubah setelah boot, pesan baru akan muncul lagi selama beberapa detik.

Singkatnya Anda menavigasi dengan menekan sebentar dan memilih dengan tekan lama (1 detik).

Meter memiliki 3 halaman utama: tampilan V/A, tampilan & pengaturan V/A/W/Ah. Menekan sebentar tombol akan melompat di antara halaman-halaman ini.

Pada halaman V/A/W/Ah Anda dapat mengatur ulang mAh dengan menekan lama.

Pada halaman pengaturan Anda dapat memasukkan pengaturan dengan menekan lama. Sekarang Anda dapat kembali menavigasi di antara pengaturan yang berbeda dengan menekan sebentar. Pengaturan yang tersedia adalah "Sensor range", "Refresh rate" & "Sensor sleep". Anda beralih setiap pengaturan dengan menekan lama. Saat menavigasi melewati pengaturan terakhir, meteran akan kembali ke menu tampilan V/A.

Langkah 8: Menggunakan Antarmuka Serial

Menggunakan Antarmuka Serial
Menggunakan Antarmuka Serial

Saat terhubung ke PC dengan USB, Anda dapat menggunakan Arduino Serial Monitor (atau terminal lain) untuk berkomunikasi dengan Tiny V/A Meter. Menggunakan baudrate 115200.

Dengan laju pengambilan sampel yang dipilih, meter akan mengirimkan semua pembacaan melalui serial dan Anda dapat dengan mudah membacanya di terminal.

Tetapi Anda juga dapat mengubah pengaturan pada Tiny V/A Meter dengan perintah serial. Pastikan untuk memilih "Newline" sebagai akhir baris.

Setiap perintah yang tidak valid akan menampilkan menu bantuan:

Perintah:- reset (reset mAh)

- baca (Balas dengan hasil terbaru)

- log x (Tx otomatis sampel - x dapat aktif atau tidak aktif)

- tidur x (INA219 tidur di antara sampel - x dapat hidup atau mati)

- refresh x (Setel layar & kecepatan refresh serial. x bisa 100, 200, 500 atau 1000)

- rentang x (Atur rentang INA219. x bisa 0 untuk 3.2A, 1 untuk 1A atau 2 untuk 0.4A)

Misalnya ketik "refresh 1000" untuk mengubah laju pengambilan sampel menjadi 1 detik. Atau ketik "log off" untuk menonaktifkan transmisi otomatis hasil. Meteran akan membalas dengan "OK" jika berhasil.

Langkah 9: Selesai

Selesai!
Selesai!
Selesai!
Selesai!

Sekarang gunakan untuk mengukur sesuatu yang menyenangkan:)

Saya telah mencoba menambahkan semua fitur yang menurut saya berguna. Tapi jangan ragu untuk melakukan modifikasi Anda sendiri. Dan tolong bagikan jika Anda dapat membuat beberapa peningkatan luar biasa pada Tiny V/A Meter!

Diperbarui 14/06-2020: Mengganti driver dan menambahkan lebih banyak fitur! Belum tercakup oleh panduan ini - tetapi Anda dapat memeriksanya di GitHub saya.

Direkomendasikan: