Sisukord:
- Tarvikud
- 1. samm: 1. samm: skeemid
- 2. samm: 2. samm: koodi ja takisti arvutused
- 3. samm: 3. samm: proovime seda
Video: Arduino voltmõõtur (0–100 V alalisvool) - versioon 2 (parem): 3 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
Selles juhendis olen ehitanud voltmeetri, et mõõta Arduino Nano ja ADS 1115 ADC abil suhteliselt täpselt ja täpselt kõrgepingeid (0-100v).
See on voltmeetri teine versioon, mida kasutasin minu eelmisel juhendil siin:
Minu tehtud testmõõtmised olid täpsed, enamasti 0,1 V piires standardvoltmeetriga mõõdetud tegelikust pingest (kasutasin Astro AI DM6000AR).
See on minu arvates palju parem ja lihtsam kui välise pinge viite kasutamine Arduino peal.
Tarvikud
1 x Arduino Nano - link
1 x Oled ekraan (SSD 1306) - link
1 x ADS 1115 - 16 -bitine ADC - link
1 x 1/4 W (soovitan siiski kasutada 1W takistit) 1% takistid - 220 kΩ - Link
1 x 1/4 W (soovitan siiski kasutada 1W takistit) 1% takistid - 10 kΩ - Link
Leivalaud ja juhtmed - link
Astro AI DM6000AR - link
USB toitepank - link
9V patareid - link
CanadianWinters osaleb sidusreklaamiprogrammis Amazon Services LLC Associates Program, mis on loodud selleks, et pakkuda saitidele vahendeid tasu teenimiseks, linkides saidile Amazon.com ja sellega seotud saitidele. Neid linke kasutades teenin Amazoni sidusettevõttena kvalifitseeruvatest ostudest, isegi kui ostate midagi muud-ja see ei maksa teile midagi.
1. samm: 1. samm: skeemid
Ühendasin kõik osad vastavalt ülaltoodud skeemile.
Ma sidusin ADC1115 ADDR -i tihvti maa külge. See määrab ADC aadressiks 0x48.
2. samm: 2. samm: koodi ja takisti arvutused
Nagu eelmises juhendis, on ahela mõte selles, et mõõdetav alalispinge läbib pingetakisti. Skaleeritud pinge ja seejärel satub lugemiseks ADC-muunduri analoogpistikusse, seejärel edastatakse I2C kaudu Arduinole ja seejärel skaleeritakse uuesti ning kuvatakse OLed-ekraanil.
Ma ei kasutanud sel juhul koodis keskmistamist ega silumist, kuna näidud tunduvad üsna täpsed ja täpsed. Müra vähendamiseks võiksite lisada väikese kondensaatori A0 (ADC) ja maa vahele. Minu testi jaoks seda siiski ei nõutud.
Üks asi, mida ma märkasin, oli natuke müra, kui akut polnud kinnitatud (0 volti). Kasutasin Arduino jadamonitori, et kuvada ADC väärtus ja seda koodi abil parandada/reguleerida.
Nagu eelmises juhendis, koostasin arvutustabeli, mis automatiseerib arvutused juhuks, kui soovite pingejaguris kasutada erinevaid takisti väärtusi: Link Google'i lehele
Siin on kood, mida ma selle projekti jaoks kasutasin:
#kaasake
#include #include #include Adafruit_ADS1115 reklaamid (0x48); // ADC aadress U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2 (U8G2_R0); // (pöörlemine, [lähtestamine]) int calib = 7; // ADS1115 kalibreerimise väärtus vea ujukipinge vähendamiseks = 0; // kasutatakse pinge väärtuse ujuki salvestamiseks Radjust = 0,043421905; // Pinge jagaja tegur (R2 / R1+R2) ujuk vbat = 0; // lõplik pinge pärast kaltsium- aku pinge // muutujad ekraani värskendamiseks ilma viivitust kasutamata unsigned long previousMillis = 0; // salvestab ekraani viimati värskendatud // konstandid ei muutu: const pikk intervall = 250; // intervall ekraani värskendamiseks (millisekundid) void setup (void) {Serial.begin (9600); u8g2.begin (); ads.begin (); } void loop (void) {int16_t adc0; // 16 bitti ADC lugemist sisendist A0 adc0 = ads.readADC_SingleEnded (0); pinge = ((adc0 + kalib) * 0,1875)/1000; allkirjata pikk voolMillis = millis (); vbat = pinge/Radjust; // Vältige negatiivse pinge kuvamist aku lahtiühendamisel, kui (vbat = intervall) {previousMillis = currentMillis; u8g2.clearBuffer (); // sisemise menüü tühjendamine // Pack Voltage display - fondid sellel lehel: https://github.com/olikraus/u8g2/wiki/fntlistall //u8g2.setFont(u8g2_font_fub20_tr); // 20px font u8g2.setFont (u8g2_font_fub35_tr); // 35px font u8g2.setCursor (1, 42); u8g2.print (vbat, 2); u8g2.setFont (u8g2_font_8x13B_mr); // 10 px font u8g2.setCursor (1, 60); u8g2.print ("Voldid"); } u8g2.sendBuffer (); // sisemälu ülekandmine kuvarile (1); }
3. samm: 3. samm: proovime seda
Selle voltmeetri testimiseks kasutasin 10x 9v patareisid, mille sain kohalikust poest. Seekord sain mõõta kuni 97 volti! Kavatsen seda voltmeetrit kasutada oma elektrijalgrataste akude pinge mõõtmiseks (nende pinge on vahemikus 24–60 V ja aeg-ajalt 72 V).
Kui elektroonika on trükkplaadile ja väikesesse karpi pakitud, saab sellest kena ja kaasaskantava akumõõdiku. OLED -i graafikat ja fonte saab kohandada vastavalt teie vajadustele (nt suurem font lihtsaks lugemiseks). Minu eesmärk oli pinge näit Oled/Arduino arvestile mitte liiga kaugel minu digitaalsest multimõõturist. Sihtisin +/- 0, 3v max delta.
Nagu näete Instructable'i alguses olevast videost, suutsin selle arhiveerida! Enamik lugemisi oli kohapeal!
Loodan, et teile meeldis see Instructable ja andke mulle oma mõtetest teada!
Soovitan:
Erinevus (alternatiivne ja alalisvool): 13 sammu
Erinevus (alternatiivne ja alalisvool): kõik teavad, et elekter on enamasti alalisvool, aga kuidas on teist tüüpi elektriga? Kas tunnete Acit? Mida tähendab AC? Kas see on kasutatav siis DC? Selles uuringus teame erinevust elektritüüpide, allikate, rakenduste vahel
Arduino kilp vanadest vene VFD -torudest: kell, termomeeter, voltmõõtur : 21 sammu (piltidega)
Arduino kilp vanadest Venemaa VFD -torudest: kell, termomeeter, voltmõõtur …: Selle projekti lõpuleviimiseks kulus peaaegu pool aastat. Ma ei oska kirjeldada, kui palju tööd selle projektiga läks. Selle projekti üksi tegemine võtab mind igavesti, nii et mul oli abi oma sõpradelt. Siin näete meie tööd, mis on koondatud ühte väga pikasse juhendisse
Elektroonika põhiõpetus hindi keeles #1: vahelduvvool ja alalisvool: ScitiveR: 3 sammu
Elektroonika põhiõpetus hindi keeles #1: vahelduvvool ja alalisvool: ScitiveR: ScitiveR में आपका स्वागत है! दोस्तों यदि आप अभी - अभी्इलैक्रोनिक्स सीखना शुरू कर रहे हैं और इस väli में एकदम uus हैं आपकोर आपको ये segadus है कि कहाँ से algus करें तो आपको ज य्यादा चिंताक करने त ू यदि आप इस õpetussari को फॉलो करते हैं
Teisendage 35 V alalisvool 9 V alalisvooluks, kasutades 7809 pingeregulaatorit: 7 sammu
Teisendage 35 V alalisvool 9 V alalisvooluks, kasutades 7809 pingeregulaatorit: Hii sõber, täna teen pingeregulaatori ahela. Selle vooluahela abil saame teisendada kuni 35 V alalisvoolu konstantseks 9 V alalisvooluks. Selles vooluringis kasutame ainult 7809 pinget regulaator. Alustame
Teisendage 12V alalisvool 5V alalisvooluks: 5 sammu
Teisendage 12V alalisvool 5V alalisvooluks: Tere, sõber, täna räägin teile, kuidas teisendada kuni 24V alalisvool konstantseks 5V alalisvooluks. Alustame