Daftar Isi:
- Perlengkapan
- Langkah 1: Langkah 1: Skema
- Langkah 2: Langkah 2: Perhitungan Kode dan Resistor
- Langkah 3: Langkah 3: Mari Mengujinya
Video: Arduino Volt Meter (0-100V DC) - Versi 2 (lebih baik): 3 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:53
Dalam instruksi ini, saya telah membuat voltmeter untuk mengukur tegangan tinggi DC (0-100v) dengan presisi dan akurasi relatif menggunakan Arduino Nano dan ADS 1115 ADC.
Ini adalah voltmeter versi kedua yang menggunakan instruksi saya sebelumnya di sini:
Pengukuran tes yang saya lakukan akurat, sebagian besar dalam 0,1v dari tegangan aktual yang diukur dengan voltmeter standar (saya menggunakan Astro AI DM6000AR).
Ini jauh lebih baik, dan lebih mudah menurut saya daripada menggunakan referensi tegangan eksternal pada Arduino.
Perlengkapan
1 x Arduino Nano - Tautan
1 x Layar Oled (SSD 1306) - Tautan
1 x ADS 1115 - ADC 16 bit - Tautan
1 x 1/4W (saya sarankan menggunakan resistor 1W) Resistor 1% - 220k ohm - Tautan
1 x 1/4W (saya sarankan menggunakan resistor 1W) Resistor 1% - 10k ohm - Tautan
Papan tempat memotong roti dan kabel - Tautan
Astro AI DM6000AR - Tautan
Bank Daya USB - Tautan
Baterai 9V - Tautan
CanadianWinters adalah peserta dalam Program Associates Amazon Services LLC, program periklanan afiliasi yang dirancang untuk menyediakan sarana bagi situs untuk mendapatkan biaya dengan menautkan ke Amazon.com dan situs afiliasi. Dengan menggunakan tautan ini, sebagai Rekanan Amazon, saya memperoleh penghasilan dari pembelian yang memenuhi syarat, bahkan jika Anda membeli sesuatu yang lain--dan itu tidak akan dikenakan biaya apa pun.
Langkah 1: Langkah 1: Skema
Saya menghubungkan semua bagian sesuai skema di atas.
Saya mengikat pin ADDR dari ADC1115 ke ground. Ini menetapkan alamat ADC ke 0x48.
Langkah 2: Langkah 2: Perhitungan Kode dan Resistor
Seperti pada instruksi sebelumnya, gagasan rangkaian adalah bahwa tegangan DC yang akan diukur melewati resistor tegangan. Tegangan yang telah diskalakan kemudian masuk ke pin analog konverter ADC untuk dibaca, kemudian diteruskan ke Arduino melalui I2C dan kemudian diskalakan kembali dan ditampilkan pada layar OLed.
Saya tidak menggunakan rata-rata atau perataan dalam kode dalam kasus ini, karena pembacaan tampaknya cukup akurat dan tepat. Untuk mengurangi kebisingan, Anda mungkin ingin menambahkan kapasitor kecil antara A0 (pada ADC) dan ground. Itu tidak diperlukan untuk pengujian saya.
Satu hal yang saya perhatikan, adalah sedikit noise ketika tidak ada baterai yang terpasang (0 volt). Saya menggunakan monitor serial Arduino untuk menampilkan nilai ADC dan mengoreksi/menyesuaikannya melalui kode.
Seperti pada instruksi sebelumnya, saya membuat spreadsheet yang mengotomatiskan perhitungan jika Anda ingin menggunakan nilai resistor yang berbeda di pembagi tegangan: Tautan ke Google Sheet
Berikut adalah kode yang saya gunakan untuk proyek ini:
#termasuk
#sertakan #sertakan #sertakan iklan Adafruit_ADS1115 (0x48); //Alamat ADC U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0);// (rotasi, [reset]) int calib = 7; // Nilai kalibrasi ADS1115 untuk mengurangi error float voltage = 0; // digunakan untuk menyimpan nilai tegangan float Radjust = 0.043421905; // Faktor pembagi tegangan (R2 / R1+R2) float vbat = 0; //tegangan akhir setelah kals- tegangan baterai //variabel untuk menyegarkan layar tanpa menggunakan penundaan lama yang tidak ditandatangani sebelumnyaMillis = 0; // akan menyimpan terakhir kali layar di-refresh // konstanta tidak akan berubah: const long interval = 250; // interval untuk me-refresh layar (milidetik) void setup(void) { Serial.begin(9600); u8g2.begin(); iklan.mulai(); } void loop(void) { int16_t adc0; // 16 bit ADC membaca input A0 adc0 = ads.readADC_SingleEnded(0); tegangan = ((adc0 + kalib) * 0,1875)/1000; unsigned long currentMillis = milis(); vbat = tegangan/Sesuaikan; //Mencegah menampilkan tegangan negatif saat baterai terputus jika (vbat = interval) { sebelumnyaMillis = saat iniMillis; u8g2.clearBuffer(); // hapus memori internal //Paket tampilan Voltage - Font di halaman ini: https://github.com/olikraus/u8g2/wiki/fntlistall //u8g2.setFont(u8g2_font_fub20_tr); // 20px font u8g2.setFont(u8g2_font_fub35_tr); // font 35px u8g2.setCursor (1, 42); u8g2.print(vbat, 2); u8g2.setFont(u8g2_font_8x13B_mr); // font 10 px u8g2.setCursor (1, 60); u8g2.print("Volt"); } u8g2.sendBuffer(); // transfer memori internal ke penundaan tampilan(1); }
Langkah 3: Langkah 3: Mari Mengujinya
Untuk menguji voltmeter ini saya menggunakan baterai 10x 9v yang saya dapatkan di toko lokal. Kali ini saya bisa mengukur hingga 97 volt! Saya berencana untuk menggunakan voltmeter ini untuk mengukur tegangan pada baterai sepeda listrik saya (mereka memiliki tegangan mulai dari 24-60v dengan kadang-kadang 72v).
Setelah elektronik dikemas ke dalam PCB dan kotak kecil, ini akan membuat meteran baterai yang bagus dan portabel. Grafik dan font pada OLED dapat disesuaikan agar sesuai dengan kebutuhan Anda (misalnya font yang lebih besar agar mudah dibaca). Tujuan saya adalah agar pembacaan voltase pada pengukur Oled/Arduino tidak terlalu jauh dari Multi Meter Digital saya. Saya membidik +/-0, delta maks 3v.
Seperti yang Anda lihat dari video di awal Instructable, saya dapat mengarsipkan ini! Sebagian besar bacaan tepat!
Saya harap Anda menikmati Instruksi ini dan beri tahu saya pendapat Anda!
Direkomendasikan:
Bintang Natal Neopixel Attiny85 yang Lebih Besar dan Lebih Baik: 3 Langkah (dengan Gambar)
Bintang Natal yang Lebih Besar dan Lebih Baik Neopixel Attiny85: Tahun lalu saya membuat bintang natal kecil yang dicetak 3D, lihat https://www.instructables.com/id/Christmas-Star-LE…Tahun ini saya membuat bintang yang lebih besar dari untaian dari 50 Neopiksel (5V WS2811). Bintang yang lebih besar ini memiliki lebih banyak pola (saya masih menambahkan dan meningkatkan
IoT Pita Sempit: Pencahayaan & Pengukuran Cerdas Membuka Jalan untuk Ekosistem yang Lebih Baik dan Lebih Sehat: 3 Langkah
IoT Pita Sempit: Pencahayaan & Pengukuran Cerdas Membuka Jalan untuk Ekosistem yang Lebih Baik dan Lebih Sehat: Otomasi telah menemukan jalannya di hampir setiap sektor. Mulai dari manufaktur hingga perawatan kesehatan, transportasi, dan rantai pasokan, otomatisasi telah berkembang pesat. Yah, semua ini tidak diragukan lagi menarik, tetapi ada satu yang tampaknya
Lebih Aman Lebih Baik: Membuat Stasiun Kereta Lebih Aman: 7 Langkah
Lebih Aman Lebih Baik: Membuat Stasiun Kereta Lebih Aman: Banyak stasiun kereta api saat ini tidak aman karena kurangnya keamanan, penghalang, dan peringatan kedatangan kereta api. Kami melihat perlunya memperbaikinya. Untuk mengatasi masalah ini kami menciptakan Lebih Aman Lebih Baik. Kami menggunakan sensor getaran, sensor gerak, dan
DIPERBARUI!!!! Penguat Sinyal Antena WIFI Murah dan Mudah Yang Lebih Baik dan Lebih Cepat Dari Yang Kertas !!!: 9 Langkah
DIPERBARUI!!!! Penguat Sinyal Antena WIFI Murah dan Mudah Yang Lebih Baik dan Lebih Cepat Dari Yang Kertas !!!: Sebuah ayunan baru pada ide lama untuk meningkatkan sinyal WIFI Anda
Penggantian Soket Headphone Sony - Lebih Baik dan Lebih Kuat: 10 Langkah (dengan Gambar)
Penggantian Soket Headphone Sony - Lebih Baik dan Lebih Kuat: Sebagian besar headphone dibuat agar ringan, terdengar bagus, dan dirancang untuk putus pada stekernya. Langkah-langkah ini dapat digunakan untuk hampir semua model headphone. Untuk headphone yang sangat murah, kabelnya akan terlalu halus (kecil) untuk digunakan. Untuk Instruksi ini, saya