Isi kandungan:
Video: Arduino Precise & Accurate Volt Meter (0-90V DC): 3 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:07
Dalam arahan ini, saya telah membina voltmeter untuk mengukur voltan tinggi DC (0-90v) dengan ketepatan dan ketepatan relatif menggunakan Arduino Nano.
Pengukuran ujian yang saya ambil cukup tepat, kebanyakannya berada dalam lingkungan 0.3v voltan sebenar yang diukur dengan voltmeter standard (saya menggunakan Astro AI DM6000AR). Ini cukup dekat untuk tujuan penggunaan peranti saya.
Untuk mengarkibkan ini, saya menggunakan rujukan voltan (4.096v) dan pembahagi voltan.
Dari segi kod, saya menggunakan, tentu saja, pilihan "rujukan luaran" untuk Arduino Nano dan contoh "Melicinkan" dalam tutorial Arduino.
Bekalan
1 x Arduino Nano - Pautan
1 x Paparan Oled (SSD 1306) - Pautan
1 x 1 / 4W 1% Perintang - 1k ohm - Pautan
1 x 1 / 4W 1% Perintang - 220k ohm - Pautan
1 x 1 / 4W 1% Perintang - 10k ohm - Pautan
Rujukan Voltan 1 x 4.096v LM4040DIZ-4.1 - 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: Skematik
Saya menghubungkan semua bahagian mengikut skema di atas. Khususnya saya memilih rujukan voltan 4.096 untuk tetap sedekat mungkin dengan tanda 5v untuk mengelakkan kehilangan resolusi.
Mengikuti lembaran data, saya memilih perintang ohm 1K untuk rujukan voltan walaupun nilai yang berbeza dapat digunakan. Voltan untuk rujukan dibekalkan dari pin Nano 5v.
Idea litar adalah bahawa voltan DC yang akan diukur melalui perintang voltan. Voltan skala dan kemudian masuk ke pin analog Arduino untuk diambil sampel, dilicinkan, skala semula dan dipaparkan pada paparan OLed.
Saya cuba memastikan perkara mudah:)
Langkah 2: Pengiraan Kod dan Perintang
Nilai perintang dipilih kerana disarankan (jika saya tidak salah, ini terdapat pada lembar data Arduino / Atmega) untuk memastikan impedans di bawah 10k ohm.
Untuk mempermudah, saya membuat spreadsheet yang mengautomasikan pengiraan sekiranya anda ingin menggunakan nilai perintang yang berbeza: Pautan ke Helaian Google
Inilah kod yang saya gunakan untuk projek ini:
#sertakan
#masuk U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2 (U8G2_R0); // (putaran, [reset]) voltan apungan = 0; // digunakan untuk menyimpan nilai voltan apungan Radjust = 0.043459459; // Faktor pembahagi voltan (R2 / R1 + R2) float vbat = 0; // voltan akhir selepas calcs- voltan bateri mengapung Vref = 4.113; // Rujukan voltan - nilai sebenar diukur. Nilai nominal 4.096v const int numReadings = 50; // bilangan sampel bacaan - meningkat untuk lebih lancar. Kurangkan untuk membaca lebih pantas. bacaan int [numReadings]; // bacaan dari input analog int readIndex = 0; // indeks bacaan semasa yang belum ditandatangani jumlah panjang = 0; // jumlah int purata yang berjalan = 0; // pemboleh ubah untuk menyegarkan skrin tanpa menggunakan penundaan lama yang tidak ditandatangani sebelumnyaMillis = 0; // akan disimpan terakhir kali skrin dikemas kini // pemalar tidak akan berubah: selang panjang const = 50; // selang waktu untuk menyegarkan skrin (milisaat) penyediaan kosong (kekosongan) {analogReference (LUARAN); // gunakan AREF untuk voltan rujukan 4.096. Voltan sebenar rujukan saya ialah 4.113v u8g2.begin (); untuk (int thisReading = 0; thisReading = numReadings) {// … bungkus hingga awal: readIndex = 0; } // hitung rata-rata: purata = (total / numReadings); voltan = purata * (Vref / 1023.0); //4.113 adalah Vref vbat = voltan / Radjust; // Menetapkan kelewatan penyegaran skrin menggunakan Millis jika (currentMillis - sebelumnyaMillis> = selang) {// simpan kali terakhir skrin dikemas kini sebelumnyaMillis = currentMillis; u8g2.clearBuffer (); // kosongkan menu dalaman // Paparan voltan pek u8g2.setFont (u8g2_font_fub20_tr); // Fon 20px u8g2.setCursor (1, 20); u8g2.print (vbat, 2); u8g2.setFont (u8g2_font_8x13B_mr); // fon 10 px u8g2.setCursor (76, 20); u8g2.print ("Volt"); u8g2.setCursor (1, 40); u8g2.print ("CanadianWinters '"); u8g2.setCursor (1, 60); u8g2.print ("Voltan Tepat"); } u8g2.sendBuffer (); // pindahkan memori dalaman ke kelewatan paparan (1); }
Harap maklum bahawa saya agak berkarat dengan pengekodan Arduino, jadi jika anda menemui kesilapan atau cara memperbaiki kod, saya terbuka untuk cadangan:)
Langkah 3: Mari Mengujinya
Untuk menguji voltmeter ini, saya menggunakan bateri 8x 9v yang saya dapatkan di sebuah kedai tempatan. 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, saya dapat mengarkibkan ini kecuali di bahagian atas ukuran.
Saya harap anda menikmati Instructable ini dan beritahu saya pendapat anda!
Disyorkan:
Meter VU Besar pada Lampu Pijar 220 Volt .: 18 Langkah (dengan Gambar)
Big VU Meter on Incandescent Lamps 220 Volt .: Selamat petang, penonton dan pembaca yang dikasihi. Hari ini saya akan memberitahu anda mengenai penunjuk tahap audio pada lampu pijar 220 volt
Arduino Volt Meter (0-100V DC) - Versi 2 (lebih baik): 3 Langkah
Arduino Volt Meter (0-100V DC) - Versi 2 (lebih baik): 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 digunakan sebelum saya di sini: https: // ww
Voltan Wifi pelbagai Meter & Meter Semasa: 11 Langkah (dengan Gambar)
Voltan & Meter Arus Wifi berbilang saluran: Semasa membuat papan roti, seseorang sering perlu memantau bahagian litar yang berlainan sekaligus. Untuk mengelakkan rasa sakit kerana melekatkan probe multimeter dari satu tempat ke tempat lain, saya ingin merancang meter voltan dan arus pelbagai saluran. Papan Ina260
Perisai untuk Arduino Dari Tiub VFD Rusia Lama: Jam, Termometer, Volt Meter : 21 Langkah (dengan Gambar)
Perisai untuk Arduino Dari Tiub VFD Rusia Lama: Jam, Termometer, Volt Meter …: Projek ini mengambil masa hampir setengah tahun untuk disiapkan. Saya tidak dapat menerangkan berapa banyak kerja yang dilakukan dalam projek ini. Melakukan projek ini sahaja akan membawa saya selamanya jadi saya mendapat bantuan daripada rakan-rakan saya. Di sini anda dapat melihat karya kami disusun dalam satu instruksi yang sangat panjang
SnappyXO Precise Mover Robot: 6 Langkah
SnappyXO Precise Mover Robot: Jadikan robot Arduino anda bergerak lurus untuk jarak yang ditentukan atau putar ke sudut yang ditentukan menggunakan perpustakaan PreciseMovement Arduino. Robot memerlukan roller ball caster atau setara untuk mengurangkan geseran semasa berpusing.https: //www.pololu. com / produ