Kazalo:
Video: Arduino natančen in natančen voltmeter (0-90V DC): 3 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:02
V tem navodilu sem izdelal voltmeter za merjenje visokih napetosti DC (0-90v) z relativno natančnostjo in natančnostjo z uporabo Arduino Nano.
Testne meritve, ki sem jih opravil, so bile dovolj natančne, večinoma znotraj 0,3v dejanske napetosti, izmerjene s standardnim voltmetrom (uporabil sem Astro AI DM6000AR). To je dovolj blizu za predvideno uporabo naprave.
Za arhiviranje sem uporabil referenčno napetost (4.096v) in delilnik napetosti.
Na strani kode sem seveda uporabil možnost "zunanje reference" za Arduino Nano in primer "Smoothing" v vadnicah Arduino.
Zaloge
1 x Arduino Nano - povezava
1 x Oled zaslon (SSD 1306) - Povezava
1 x 1/4W 1% upori - 1 k ohm - povezava
1 x 1/4W 1% upori - 220k ohm - povezava
1 x 1/4W 1% upori - 10k ohm - povezava
1 x 4.096v LM4040DIZ -4.1 Referenčna napetost - povezava
Ogledna plošča in žice - Povezava
Astro AI DM6000AR - Povezava
USB Power Bank - Povezava
9V baterije - povezava
CanadianWinters je udeleženec programa Amazon Services LLC Associates Program, programa oglaševalskega partnerja, namenjenega spletnim mestom, da zaslužijo pristojbine s povezovanjem na Amazon.com in povezana mesta. Z uporabo teh povezav kot sodelavec pri Amazonu zaslužim s kvalificiranimi nakupi, tudi če kupite kaj drugega-in to vas ne bo stalo nič.
1. korak: Sheme
Vse dele sem povezal po zgornjih shemah. Zlasti sem se odločil, da referenčna napetost 4.096 ostane čim bližje oznaki 5v, da se izogne izgubi ločljivosti.
Po podatkovnem listu sem za referenco napetosti izbral 1K ohmski upor, čeprav bi lahko uporabili drugačno vrednost. Referenčna napetost se napaja iz zatiča Nano 5v.
Ideja vezja je, da enosmerna napetost, ki jo je treba izmeriti, poteka skozi napetostni upor. Prilagojena napetost in nato pride v analogni zatič Arduina, da se vzorči, zgladi, ponovno poveča in prikaže na zaslonu OLed.
Poskušal sem stvari poenostaviti:)
2. korak: Izračuni kode in upora
Vrednosti uporov so bile izbrane, kot je priporočljivo (če se ne motim, to je na podatkovnem listu Arduino/Atmega), da impedanca ostane pod 10 k ohm.
Za poenostavitev sem naredil preglednico, ki avtomatizira izračune, če želite uporabiti različne vrednosti upora: Povezava do Google Sheet
Tu je koda, ki sem jo uporabil za ta projekt:
#vključi
#include U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2 (U8G2_R0); // (vrtenje, [ponastavitev]) plavajoča napetost = 0; // uporablja se za shranjevanje vrednosti napetosti float Radjust = 0,043459459; // faktor delilnika napetosti (R2 /R1+R2) plavajoči vbat = 0; // končna napetost po kalcih- napetost plovca akumulatorja Vref = 4.113; // Referenčna napetost - izmerjena dejanska vrednost. Nominalna vrednost 4.096v const int numReadings = 50; // število vzorcev branja - povečajte za bolj gladko. Zmanjšajte za hitrejše branje. int odčitki [numReadings]; // odčitki iz analognega vhoda int readIndex = 0; // indeks trenutnega branja unsigned long total = 0; // tekoče skupno int povprečje = 0; // spremenljivke za osveževanje zaslona brez uporabe zamude brez podpisa dolga previousMillis = 0; // shrani zadnjič, ko je bil zaslon posodobljen // konstante se ne bodo spremenile: const long interval = 50; // interval, v katerem je treba osvežiti zaslon (v milisekundah) void setup (void) {analogReference (EXTERNAL); // uporabite AREF za referenčno napetost 4.096. Moja referenčna dejanska napetost je 4.113v u8g2.begin (); for (int thisReading = 0; thisReading = numReadings) {//… zavijte na začetek: readIndex = 0; } // izračunamo povprečje: average = (total / numReadings); napetost = povprečje * (Vref / 1023,0); //4.113 je Vref vbat = napetost/Radjust; // Nastavitev zakasnitve za osvežitev zaslona z uporabo Millisa if (currentMillis - previousMillis> = interval) {// shranimo zadnjo posodobitev zaslona previousMillis = currentMillis; u8g2.clearBuffer (); // počisti notranji meni // Pack Voltage display u8g2.setFont (u8g2_font_fub20_tr); // pisava 20px u8g2.setCursor (1, 20); u8g2.tisk (vbat, 2); u8g2.setFont (u8g2_font_8x13B_mr); // pisava 10 px u8g2.setCursor (76, 20); u8g2.print ("Volti"); u8g2.setCursor (1, 40); u8g2.print ("CanadianWinters '"); u8g2.setCursor (1, 60); u8g2.print ("Natančna napetost"); } u8g2.sendBuffer (); // prenos notranjega pomnilnika na zakasnitev prikaza (1); }
Prosimo, upoštevajte, da sem nekoliko zarjavel s kodiranjem Arduino, zato, če najdete kakšno napako ali način za izboljšanje kode, sem odprt za predloge:)
3. korak: Preizkusimo
Za preizkus tega voltmetra sem uporabil 8x 9v baterije, ki sem jih dobil v lokalni trgovini. Nameravam uporabiti ta voltmeter za merjenje napetosti na mojih akumulatorskih paketih za električna kolesa (imajo napetosti od 24 do 60 V z občasnimi 72 V).
Ko je elektronika zapakirana v tiskani vezje in majhno škatlo, bo to lep in prenosljiv merilnik baterije. Grafiko in pisave na OLED -u lahko prilagodite svojim potrebam (npr. Večja pisava za enostavno branje).
Moj cilj je bil odčitati napetost na merilniku Oled/Arduino nedaleč od mojega digitalnega multimetra. Cilj sem bil +/- 0, 3v max delta. Kot lahko vidite iz videoposnetka, sem to lahko arhiviral, razen na zgornjem koncu meritev.
Upam, da ste uživali v tem navodilu in mi sporočite svoje misli!
Priporočena:
Waveshare E-ink zaslon natančen voltmeter (0-90v DC) z Arduino Nano: 3 koraki
Waveshare E-ink zaslon natančen voltmeter (0-90v DC) z Arduino Nano: V tem navodilu uporabljam 2,9-palčni zaslon Waveshare E-Paper z Arduino Nano, delilnikom napetosti in ADS1115 za prikaz natančnih napetosti do 90 voltov enosmernega toka na zaslonu e-papirja. To navodilo združuje ta dva prejšnja projekta:- Ardui
3D natisnjeni končni ločni reaktor (film natančen in nosljiv): 7 korakov (s slikami)
3D -natisnjeni končni ločni reaktor (film natančen in nosljiv): Celotna vadnica na YouTubu: Nisem našel nobenih posebej natančnih 3D datotek za ločni reaktor Mark 50/ohišje za nanodelce, zato sva s prijateljem skuhala nekaj sladkih. Potrebovali smo veliko prilagoditev, da je bila stvar natančna in čudovita
Natančen števec naročnikov v YouTubu: 4 koraki
Natančen števec naročnikov v YouTubu: Na ta projekt sem se začel pripravljati pred približno enim mesecem, potem pa me je YouTube iztiril, ko so objavili, da ne bodo več posredovali pravega števila naročnikov, ampak najbližje zaokroženo številko. Zaenkrat to sploh ni vprašanje
Natančen model spremenljive zvezde cefeide: 5 korakov (s slikami)
Natančen model spremenljive zvezde cefeide: Vesolje je veliko. Zelo velik. Astronomsko bi lahko celo rekli. To nima nobenega vpliva na ta projekt, hotel sem samo uporabiti besedno zvezo. Ni presenetljivo, da je na nočnem nebu veliko zvezd. Morda pa bo presenetilo nekatere, ki so novi v resnici
Izjemno natančen lok s peresom z visoko močjo, dolgi doseg in izjemno natančen lok !!!: 6 korakov
Izjemno natančen lok za peresnike z visoko močjo, dolgega dosega in izrednega natančnosti !!!: To je še eden izmed tistih znanih lokov za peresa !!! =) Uživajte! P.S. te stvari so nekako močne, ne ciljajte na nekoga.DISCLAIMER: Ne morete me tožiti, če s tem kaj prekinete. Vključno z ljudmi in živalmi. To je moj prvi Instructable, zato prosim