Tartalomjegyzék:
Videó: Arduino pontos és pontos voltmérő (0-90V DC): 3 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Ebben az utasításban egy voltmérőt építettem a nagyfeszültségű DC (0-90v) relatív pontossággal és pontossággal történő mérésére Arduino Nano segítségével.
Az elvégzett tesztmérések elég pontosak voltak, többnyire 0,3 V -on belül a szabványos voltmérővel mért tényleges feszültségtől (Astro AI DM6000AR -t használtam). Ez elég közel van a készülék rendeltetésszerű használatához.
Ennek archiválásához feszültségreferenciát (4,096v) és feszültségosztót használtam.
A kódoldalon természetesen a "külső referencia" opciót használtam az Arduino Nano számára, és a "Smoothing" példát az Arduino oktatóanyagokban.
Kellékek
1 x Arduino Nano - Link
1 x Oled kijelző (SSD 1306) - Link
1 x 1/4W 1% ellenállás - 1k ohm - Link
1 x 1/4W 1% ellenállás - 220k ohm - Link
1 x 1/4W 1% ellenállás - 10k ohm - Link
1 x 4.096v LM4040DIZ -4.1 Feszültség referencia - Link
Kenyértábla és vezetékek - Link
Astro AI DM6000AR - Link
USB Power Bank - Link
9V elemek - Link
A CanadianWinters részt vesz az Amazon Services LLC Associates Programban, amely egy társult hirdetési program, amelynek célja, hogy eszközöket biztosítson a webhelyek számára, hogy díjakat keressenek az Amazon.com -ra és a kapcsolódó webhelyekre mutató linkekkel. Ezen linkek használatával Amazon munkatársaként a minősített vásárlásokból keresek, még akkor is, ha mást vásárol-és ez nem kerül semmibe.
1. lépés: A vázlatok
Az összes alkatrészt a fenti rajz szerint kötöttem össze. Különösen a 4,096 feszültségreferenciát választottam, hogy a felbontás elkerülése érdekében a lehető legközelebb maradjak az 5v jelhez.
Az adatlapot követve 1K ohmos ellenállást választottam a feszültségreferencia számára, annak ellenére, hogy más érték is használható. A referencia feszültségét a Nano 5V -os tű biztosítja.
Az áramkör ötlete az, hogy a mérendő egyenáramú feszültség egy feszültségellenálláson megy keresztül. A skálázott feszültség, majd az Arduino analóg érintkezőjébe kerül, hogy mintát vegyen, simítson, újra skálázzon és megjelenjen az OLed kijelzőn.
Megpróbáltam leegyszerűsíteni a dolgokat:)
2. lépés: A kód és az ellenállás számítása
Az ellenállások értékeit úgy választottuk meg, ahogy célszerű (ha nem tévedek, ez szerepel az Arduino/Atmega adatlapján), hogy az impedanciát 10 k ohm alatt tartsuk.
A dolgok egyszerűsítése érdekében készítettem egy táblázatot, amely automatizálja a számításokat arra az esetre, ha különböző ellenállásértékeket szeretne használni: Link a Google Sheethez
Íme a kód, amelyet ehhez a projekthez használtam:
#befoglalni
#include U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2 (U8G2_R0); // (forgatás, [reset]) úszófeszültség = 0; // feszültségérték úszó tárolására szolgál Radjust = 0,043459459; // Feszültségosztó tényező (R2 /R1+R2) float vbat = 0; // végső feszültség calcs után- az akkumulátor úszó feszültsége Vref = 4,133; // Feszültség referencia - mért valós érték. Névleges érték 4,096v const int numReadings = 50; // olvasási minták száma - növelje a simítást. Csökkentse a gyorsabb olvasást. int olvasmányok [numReadings]; // az analóg bemenet leolvasása int readIndex = 0; // az aktuális leolvasás indexe előjel nélküli hosszú összesen = 0; // a futó teljes int átlag = 0; // változók a képernyő frissítéséhez késleltetés nélkül unsigned long previousMillis = 0; // a képernyő utolsó frissítésekor tárolja // az állandók nem változnak: const long interval = 50; // a képernyő frissítésének időköze (ezredmásodperc) void setup (void) {analogReference (EXTERNAL); // használja az AREF referenciafeszültséget 4.096. A referencia reálfeszültségem 4.113v u8g2.begin (); for (int thisReading = 0; thisReading = numReadings) {//… tekerje az elejére: readIndex = 0; } // kiszámítja az átlagot: átlagos = (összesen / számReadings); feszültség = átlagos * (Vref / 1023.0); //4.113 a Vref vbat = feszültség/Radjust; // A képernyőfrissítés késleltetésének beállítása Millis használatával, ha (currentMillis - previousMillis> = intervallum) {// mentse el a képernyő utolsó frissítésének időpontját előzőMillis = currentMillis; u8g2.clearBuffer (); // a belső menória törlése // Pack Voltage display u8g2.setFont (u8g2_font_fub20_tr); // 20 képpont betűtípus u8g2.setCursor (1, 20); u8g2.print (vbat, 2); u8g2.setFont (u8g2_font_8x13B_mr); // 10 px betűtípus u8g2.setCursor (76, 20); u8g2.print ("Volt"); u8g2.setCursor (1, 40); u8g2.print ("CanadianWinters '"); u8g2.setCursor (1, 60); u8g2.print ("Pontos feszültség"); } u8g2.sendBuffer (); // belső memória átvitele a kijelző késleltetésére (1); }
Felhívjuk figyelmét, hogy kissé rozsdás vagyok az Arduino kódolással, így ha bármilyen hibát talál, vagy módot talál a kód javítására, nyitott vagyok a javaslatokra:)
3. lépés: Próbáljuk ki
Ennek a voltmérőnek a teszteléséhez 8x 9V -os elemeket használtam, amelyeket a helyi boltban kaptam. Ezzel a voltmérővel tervezem mérni az elektromos kerékpárok akkumulátorainak feszültségét (ezek feszültsége 24-60V és esetenként 72V).
Miután az elektronikát egy PCB -be és egy kis dobozba csomagolták, ez egy szép és hordozható akkumulátor -mérőt eredményez. Az OLED grafikája és betűtípusai személyre szabhatók az Ön igényeinek megfelelően (pl. Nagyobb betűtípus az egyszerű olvasás érdekében).
Célom az volt, hogy feszültség leolvasást készítsek az Oled/Arduino mérőn, nem túl messze a digitális multiméteremtől. +/- 0, 3v max delta volt a célom. Amint a videóból látható, ezt archiválni tudtam, kivéve a mérések felső végén.
Remélem, tetszett ez az Instructable és tudassa velem gondolatait!
Ajánlott:
Waveshare E-ink kijelző precíz voltmérő (0-90v DC) Arduino nanóval: 3 lépés
Waveshare E-ink kijelző precíz voltmérő (0-90v DC) Arduino Nano esetén: Ebben az utasításban 2,9 "-os Waveshare E-Paper kijelzőt használok Arduino Nano-val, feszültségosztóval és ADS1115-tel a pontos feszültség megjelenítéséhez akár 90-ig Volt DC az E-papír kijelzőn. Ez az utasítás a két korábbi projektet egyesíti:- Ardui
Arduino voltmérő (0-100V DC) - 2. verzió (jobb): 3 lépés
Arduino Volt Meter (0-100V DC)-2. verzió (jobb): Ebben az oktatóanyagban egy voltmérőt építettem a nagyfeszültségű DC (0-100v) relatív pontosságú és pontosságú mérésére Arduino Nano és ADS 1115 ADC segítségével .Ez a volt mérőmotor második változata, amelyet itt használtam: https: // ww
Digitális Arduino voltmérő: 3 lépés
Digitális Arduino voltmérő: A voltmérő vagy feszültségmérő egy mérőműszer, amelyet a feszültség mérésére használnak
DIY voltmérő az Arduino használatával és a feldolgozás: 4 lépés
DIY voltmérő az Arduino és a feldolgozás használatával: Üdvözöljük a mai projektben. Sarvesh vagyok, és ma készítünk egy arduino alapú voltmérőt. De ebben az a különbség, hogy megjeleníti a kimenetét a feldolgozó szoftverben. Most az egyik előző oktatóanyagomban egy folyamatot készítettünk
Voltmérő az Arduino használatával: 4 lépés
Voltmérő Arduino használatával: Ebben a bemutatóban egy voltmérőt készítünk az Arduino Uno használatával. Ez a típusú voltmérő használható 0-5 V alatti feszültség mérésére