
Isi kandungan:
2025 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2025-01-23 15:00



Dalam arahan ini, saya telah membina voltmeter untuk mengukur voltan tinggi DC (0-100v) dengan ketepatan dan ketepatan relatif menggunakan Arduino Nano dan ADS 1115 ADC.
Ini adalah versi kedua voltmeter yang menggunakan arahan saya sebelumnya di sini:
Pengukuran ujian yang saya ambil adalah tepat, kebanyakannya berada dalam jarak 0.1v voltan sebenar yang diukur dengan voltmeter standard (saya menggunakan Astro AI DM6000AR).
Ini jauh lebih baik, dan lebih mudah pada pendapat saya daripada menggunakan rujukan voltan luaran di Arduino.
Bekalan
1 x Arduino Nano - Pautan
1 x Paparan Oled (SSD 1306) - Pautan
1 x ADS 1115 - 16 bit ADC - Pautan
1 x 1 / 4W (saya cadangkan menggunakan perintang 1W) 1% Perintang - 220k ohm - Pautan
1 x 1 / 4W (saya cadangkan menggunakan perintang 1W) 1% Perintang - 10k ohm - Pautan
Papan roti dan wayar - Pautan
Astro AI DM6000AR - Pautan
Bank Kuasa USB - Pautan
Bateri 9V - Pautan
CanadianWinters adalah peserta dalam Program Associates Amazon Services LLC, program periklanan afiliasi yang direka untuk menyediakan cara bagi laman web untuk mendapatkan bayaran dengan menghubungkan ke Amazon.com dan laman web gabungan. Dengan menggunakan pautan ini, sebagai Amazon Associate, saya memperoleh hasil dari pembelian yang layak, walaupun anda membeli sesuatu yang lain - dan ia tidak akan dikenakan apa-apa.
Langkah 1: Langkah 1: Skematik

Saya menghubungkan semua bahagian mengikut skema di atas.
Saya mengikat pin ADDR ADC1115 ke tanah. Ini menetapkan alamat ADC ke 0x48.
Langkah 2: Langkah 2: Pengiraan Kod dan Perintang

Seperti yang diarahkan sebelumnya, idea litar adalah bahawa voltan DC yang akan diukur melalui perintang voltan. Voltan skala dan kemudian masuk ke pin analog penukar ADC untuk dibaca, kemudian diteruskan ke Arduino melalui I2C dan kemudian skala semula dan dipaparkan pada paparan OLed.
Saya tidak menggunakan rata-rata atau melicinkan kod dalam kes ini, kerana bacaannya agak tepat dan tepat. Untuk mengurangkan kebisingan, anda mungkin mahu menambahkan kapasitor kecil antara A0 (pada ADC) dan tanah. Ia tidak diperlukan untuk ujian saya.
Satu perkara yang saya perhatikan, adalah sedikit bunyi ketika tidak ada bateri yang terpasang (0 volt). Saya menggunakan monitor bersiri Arduino untuk memaparkan nilai ADC dan membetulkan / menyesuaikannya melalui kod.
Seperti yang diarahkan sebelumnya, saya membuat spreadsheet yang mengautomasikan pengiraan sekiranya anda ingin menggunakan nilai perintang yang berbeza dalam pembahagi voltan: Pautan ke Helaian Google
Inilah kod yang saya gunakan untuk projek ini:
#sertakan
#include #include #include Adafruit_ADS1115 iklan (0x48); // Alamat ADC U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2 (U8G2_R0); // (putaran, [reset]) int calib = 7; // Nilai penentukuran ADS1115 untuk mengurangkan voltan apungan ralat = 0; // digunakan untuk menyimpan nilai voltan apungan Radjust = 0.043421905; // Faktor pembahagi voltan (R2 / R1 + R2) float vbat = 0; // voltan akhir selepas calcs- voltan bateri // pemboleh ubah untuk menyegarkan skrin tanpa menggunakan penundaan lama yang tidak ditandatangani sebelumnyaMillis = 0; // akan disimpan kali terakhir skrin dimuat semula // pemalar tidak akan berubah: selang panjang const = 250; // selang untuk menyegarkan skrin (milisaat) penyediaan kosong (tidak sah) {Serial.begin (9600); u8g2.begin (); ads.begin (); } gelung void (kekosongan) {int16_t adc0; // 16 bit bacaan ADC input A0 adc0 = ads.readADC_SingleEnded (0); voltan = ((adc0 + calib) * 0.1875) / 1000; arus panjang yang tidak ditandatanganiMillis = millis (); vbat = voltan / Radjust; // Cegah paparan voltan negatif semasa bateri terputus jika (vbat = selang) {sebelumnyaMillis = currentMillis; u8g2.clearBuffer (); // kosongkan menu dalaman // Paparan Voltan Pek - Font di halaman ini: https://github.com/olikraus/u8g2/wiki/fntlistall //u8g2.setFont(u8g2_font_fub20_tr); // fon 20px u8g2.setFont (u8g2_font_fub35_tr); // fon 35px u8g2.setCursor (1, 42); u8g2.print (vbat, 2); u8g2.setFont (u8g2_font_8x13B_mr); // fon 10 px u8g2.setCursor (1, 60); u8g2.print ("Volt"); } u8g2.sendBuffer (); // pindahkan memori dalaman ke kelewatan paparan (1); }
Langkah 3: Langkah 3: Mari Mengujinya

Untuk menguji voltmeter ini, saya menggunakan bateri 10x 9v yang saya dapat di sebuah kedai tempatan. Kali ini saya dapat mengukur hingga 97 volt! Saya merancang untuk menggunakan voltmeter ini untuk mengukur voltan pada pek bateri basikal elektrik saya (voltan antara 24-60v dengan 72v sesekali).
Setelah elektronik dibungkus ke dalam pcb dan kotak kecil, ini akan menjadikan meter pek bateri yang bagus dan mudah alih. Grafik dan fon di OLED dapat disesuaikan untuk memenuhi kebutuhan anda (mis. Fon yang lebih besar agar mudah dibaca). Tujuan saya adalah agar bacaan voltan pada meter Oled / Arduino tidak terlalu jauh dari Digital Multi Meter saya. Saya bertujuan untuk +/- 0, 3v max delta.
Seperti yang anda lihat dari video pada awal Instructable, saya dapat mengarkibkan ini! Sebilangan besar bacaan tepat!
Saya harap anda menikmati Instructable ini dan beritahu saya pendapat anda!
Disyorkan:
Lebih Selamat Lebih Baik: Menjadikan Stesen Keretapi Lebih Selamat: 7 Langkah

Lebih Selamat Lebih Baik: Menjadikan Stesen Kereta Api Lebih Selamat: Banyak stesen kereta api hari ini tidak selamat kerana kekurangan keselamatan, halangan, dan amaran kereta api masuk. Kami melihat perlunya diperbaiki. Untuk menyelesaikan masalah ini, kami membuat Safer Better. Kami menggunakan sensor getaran, sensor gerakan, dan
Interkom Mudah Alih yang Lebih Baik Dengan Modul A6 dan Arduino Pro Mini: 4 Langkah

Interkom Mudah Alih yang Lebih Baik Dengan Modul A6 dan Arduino Pro Mini: Dalam arahan ini saya menunjukkan kepada anda bagaimana saya membuat interkom menggunakan modul GSM (modul A6) dan Arduino Pro Mini. Sekiranya anda menekan butang besar, nombor yang diprogramkan dipanggil. Panggilan ditamatkan selepas waktu yang diprogramkan atau jika telefon yang dipanggil ditutup. Anda
Penggantian Jack Headphone Sony - Lebih Baik dan Lebih Kuat: 10 Langkah (dengan Gambar)

Penggantian Jack Headphone Sony - Lebih Baik dan Kuat: Sebilangan besar fon kepala dibuat ringan, terdengar baik dan direka untuk pecah pada steker. Langkah-langkah ini boleh digunakan untuk hampir semua model fon kepala. Untuk fon kepala yang sangat murah, wayar akan terlalu halus (kecil) untuk digunakan dengan Untuk Instruktif ini, saya
Think Geek Retro Bluetooth Handset Mod Berat Pantas. (Kerana Lebih Berat Lebih Baik): 3 Langkah

Think Geek Retro Bluetooth Handset Mod Berat Pantas. (Kerana Lebih Berat Lebih Baik): Tambahkan sedikit kelebihan pada Handset Think Think Bluetooth Geek anda. Kerana heft = kualiti. Sekurang-kurangnya di tanah retro. Memerlukan: 5 3/4 Inch penangkapan ikan Pistol gam panas Telefon Ini adalah mod yang mudah dan tidak boleh mengambil masa lebih dari setengah jam. Teknologi yang lebih menyeronokkan
Jadikan Shock Kereta RC Anda Lebih pendek untuk Pengendalian yang Lebih Baik pada Kelajuan Tinggi: 5 Langkah

Jadikan Shock Kereta RC Anda Lebih pendek untuk Pengendalian yang Lebih Baik pada Kelajuan Tinggi: Dalam Instruksional ini, saya akan menunjukkan kepada anda cara memendekkan kejutan anda sehingga anda dapat membawa kereta anda lebih dekat ke tanah sehingga anda dapat mengambil putaran kelajuan yang lebih tinggi tanpa mengepakkan. Saya akan menggunakan Instruksional lain mengenai cara melakukan penyelenggaraan kejutan pada kereta anda sehingga