İçindekiler:
Video: Arduino Hassas ve Doğru Volt Metre (0-90V DC): 3 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:16
Bu talimatta, bir Arduino Nano kullanarak yüksek voltajlı DC'yi (0-90v) göreceli hassasiyet ve doğrulukla ölçmek için bir voltmetre oluşturdum.
Aldığım test ölçümleri yeterince doğruydu, çoğunlukla standart bir voltmetre ile ölçülen gerçek voltajın 0,3v'si dahilindeydi (Astro AI DM6000AR kullandım). Bu, cihazı kullanım amacım için yeterince yakın.
Bunu arşivlemek için bir voltaj referansı (4.096v) ve voltaj bölücü kullandım.
Kod tarafında, elbette, Arduino Nano için "harici referans" seçeneğini ve Arduino eğitimlerinde "Smoothing" örneğini kullandım.
Gereçler
1 x Arduino Nano - Bağlantı
1 x Oled Ekran (SSD 1306) - Bağlantı
1 x 1/4W %1 Dirençler - 1k ohm - Bağlantı
1 x 1/4W %1 Dirençler - 220k ohm - Bağlantı
1 x 1/4W %1 Dirençler - 10k ohm - Bağlantı
1 x 4.096v LM4040DIZ-4.1 Voltaj Referansı - Bağlantı
Breadboard ve teller - Bağlantı
Astro AI DM6000AR - Bağlantı
USB Güç Bankası - Bağlantı
9V Piller - Bağlantı
CanadianWinters, sitelerin Amazon.com'a ve bağlı sitelere bağlanarak ücret kazanmaları için bir araç sağlamak üzere tasarlanmış bir bağlı kuruluş reklam programı olan Amazon Services LLC Associates Programının bir katılımcısıdır. Bu bağlantıları kullanarak, başka bir şey satın alsanız bile, uygun satın alımlardan kazanıyorum - ve size hiçbir maliyeti olmayacak.
Adım 1: Şemalar
Tüm parçaları yukarıdaki şemaya göre bağladım. Çözünürlüğü kaybetmemek için özellikle 5v işaretine mümkün olduğunca yakın kalmak için 4.096 voltaj referansını seçtim.
Veri sayfasını takip ederek, farklı bir değer kullanılabilse de voltaj referansı için 1K ohm'luk bir direnç seçtim. Referans için voltaj, Nano 5v pininden sağlanır.
Devrenin fikri, ölçülecek DC voltajının bir voltaj direncinden geçmesidir. Ölçeklenen voltaj ve ardından örneklenmek, düzlenmek, yeniden ölçeklenmek ve OLed ekranda görüntülenmek üzere Arduino'nun analog pimine girer.
İşleri basit tutmaya çalıştım:)
Adım 2: Kod ve Direnç Hesapları
Direnç değerleri, empedansı 10k ohm'un altında tutmak için tavsiye edildiği gibi (yanılmıyorsam bu Arduino/Atmega veri sayfasındadır) seçildi.
İşleri basitleştirmek için, farklı direnç değerleri kullanmak istemeniz durumunda hesaplamaları otomatikleştiren bir elektronik tablo hazırladım: Link to Google Sheet
İşte bu proje için kullandığım kod:
#Dahil etmek
#include U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0);// (dönme, [sıfırlama]) kayan gerilim =0; // voltaj değerini saklamak için kullanılır float Radjust = 0.043459459; //Voltaj bölücü faktör (R2 / R1+R2) float vbat =0; //hesaplamadan sonraki son voltaj- akü şamandıra voltajı Vref = 4.113; //Voltaj referansı - ölçülen gerçek değer. Nominal değer 4.096v const int numOkumalar = 50; // okuma örneklerinin sayısı - daha fazla yumuşatma için artırın. Daha hızlı okumak için azaltın. int okumalar[numReadings]; // analog girişten okumalar int readIndex = 0; // mevcut okumanın indeksi unsigned long total = 0; // çalışan toplam int ortalama = 0; //gecikme kullanmadan ekranı yenilemek için değişkenler unsigned long öncekiMillis = 0; // ekranın en son güncellendiği zamanı kaydeder // sabitler değişmez: const uzun aralık = 50; // ekranın yenileneceği aralık (milisaniye) void setup(void) { analogReference(EXTERNAL); // 4.096 referans gerilimi için AREF kullanın. Referans gerçek voltajım 4.113v u8g2.begin(); for (int thisReading = 0; thisReading = numReadings) { // …başa sar: readIndex = 0; } // ortalamayı hesapla: ortalama = (toplam / numOkumalar); voltaj = ortalama * (Vref / 1023.0); //4.113 Vref vbat'tır = voltaj/Radjust; // Ekran yenileme için gecikmeyi Millis kullanarak ayarlama if (currentMillis - öncekiMillis >= interval) { // ekranın en son güncellendiği zamanı kaydedin öncekiMillis = currentMillis; u8g2.clearBuffer(); // dahili menory'yi temizle //Paket Voltajı ekranı u8g2.setFont(u8g2_font_fub20_tr); // 20px yazı tipi u8g2.setCursor (1, 20); u8g2.print(vbat, 2); u8g2.setFont(u8g2_font_8x13B_mr); // 10 piksel yazı tipi u8g2.setCursor (76, 20); u8g2.print("Volt"); u8g2.setCursor (1, 40); u8g2.print("Kanada Kışları"); u8g2.setCursor (1, 60); u8g2.print("Hassas Voltaj"); } u8g2.sendBuffer(); // dahili belleği ekran gecikmesine aktarın(1); }
Arduino kodlama konusunda biraz paslanmış olduğumu lütfen unutmayın, bu yüzden herhangi bir hata veya kodu iyileştirmenin bir yolunu bulursanız, önerilere açığım:)
3. Adım: Hadi Test Edelim
Bu voltmetreyi test etmek için yerel bir mağazadan aldığım 8x 9v pil kullandım. Bu voltmetreyi elektrikli bisikletlerimin pil takımlarındaki voltajı ölçmek için kullanmayı planlıyorum (ara sıra 72v olanlarla 24-60v arasında değişen voltajları var).
Elektronikler bir pcb ve küçük bir kutuya paketlendikten sonra, bu güzel ve taşınabilir bir pil takımı ölçer yapacaktır. OLED üzerindeki grafikler ve yazı tipleri ihtiyaçlarınıza uyacak şekilde özelleştirilebilir (örn. kolay okuma için daha büyük yazı tipi).
Amacım, Dijital Çoklu Sayacımdan çok uzak olmayan Oled/Arduino sayacında voltaj okuması yapmaktı. +/-0, 3v max delta hedefliyordum. Videodan da görebileceğiniz gibi, ölçümlerin en üst kısmı dışında bunu arşivleyebildim.
Umarım bu Eğitilebilir Yazıyı beğenmişsinizdir ve düşüncelerinizi bana bildirin!
Önerilen:
220 Volt Akkor Lambalarda Büyük VU Metre: 18 Adım (Resimli)
220 Volt Akkor Lambalarda Büyük VU Metre.: İyi günler, sevgili izleyiciler ve okuyucular. Bugün sizlere 220 volt akkor lambalardaki ses seviye göstergesinden bahsedeceğim
Arduino Volt Metre (0-100V DC) - Sürüm 2 (daha iyi): 3 Adım
Arduino Volt Meter (0-100V DC) - Sürüm 2 (daha iyi): Bu talimatta, bir Arduino Nano ve bir ADS 1115 ADC kullanarak yüksek voltajlı DC'yi (0-100v) göreceli hassasiyet ve doğrulukla ölçmek için bir voltmetre oluşturdum .Bu, burada önceki talimatımda kullanılan voltmetrenin ikinci bir versiyonudur: https://ww
Eski Rus VFD Tüplerinden Arduino İçin Kalkan: Saat, Termometre, Volt Metre: 21 Adım (Resimli)
Eski Rus VFD Tüplerinden Arduino İçin Kalkan: Saat, Termometre, Volt Metre…: Bu projenin tamamlanması neredeyse yarım yıl sürdü. Bu projede ne kadar emek harcandığını anlatamam. Bu projeyi tek başıma yapmak beni sonsuza kadar götürürdü, bu yüzden arkadaşlarımdan biraz yardım aldım. Burada çok uzun bir talimatta derlenmiş çalışmamızı görebilirsiniz
Cep Volt Metre: 6 Adım (Resimli)
Cep Voltmetre: Uzun zamandır bu voltmetrenin daha büyük bir versiyonunu kullanıyorum ve her zaman çok yardımcı oldu bu yüzden Cep Boyu Yarışmasını gördüğümde kendi kendime neden bu fırsatı kullanmadım ve bunu sizinle paylaşmayayım dedim. sırasında tasarım iyileştirmeleri
Β Metre Versiyon II (daha Kararlı ve Doğru): 6 Adım
Β Metre Versiyon II (daha Kararlı ve Doğru): https://www.instructables.com/id/Beta-Meter/Sürüm I β metre sessiz doğruydu ancak akım kaynağı giriş voltajıyla (Vcc) sabit değildi. Versiyon II β metre oldukça kararlıdır, yani mevcut değer, i'deki değişiklikle fazla değişmez