Sisukord:
- Samm: põhitõed
- 2. samm: mõõtmine 0-5V
- Samm: pinge mõõtmine üle 5 V
- 4. samm: pingejaguri ehitamine
- Samm: pinge lugemine
Video: Pinge mõõtmine Arduino abil: 5 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Pinge mõõtmine on voolu mõõtmisega võrreldes üsna lihtne mis tahes mikrokontrolleri abil. Pingete mõõtmine on vajalik, kui töötate patareidega või soovite ise reguleeritavat toiteallikat teha. Kuigi see meetod kehtib mis tahes uC kohta, kuid selles õpetuses õpime, kuidas Arduino abil pinget mõõta.
Turul on saadaval pingeandurid. Aga kas teil on neid tõesti vaja? Uurime välja!
Samm: põhitõed
Mikrokontroller ei saa analoogpingest otse aru. Seetõttu peame lühidalt kasutama analoog -digitaalmuundurit või ADC -d. Atmega328, mis on Arduino Uno aju, on 6 kanaliga (tähistatud kui A0 kuni A5), 10-bitine ADC. See tähendab, et see kaardistab sisendpinged vahemikus 0 kuni 5 V täisarvudeks vahemikus 0 kuni (2^10-1), st võrdne 1023-ga, mis annab eraldusvõime 4,9 mV ühiku kohta. 0 vastab väärtusele 0V, 1 kuni 4,9 mv, 2 kuni 9,8 mV ja nii kuni 1023.
2. samm: mõõtmine 0-5V
Esiteks näeme, kuidas mõõta pinget maksimaalse pingega 5 V. See on väga lihtne, kuna ei vaja erilisi muudatusi. Erineva pinge simuleerimiseks kasutame potentsiomeetrit, mille keskmine tihvt on ühendatud ükskõik millise 6 kanaliga. Nüüd kirjutame koodi, et lugeda väärtusi ADC -st ja teisendada need tagasi kasulikeks pingenäideteks.
Analoogpistiku A0 lugemine
väärtus = analogRead (A0);
Nüüd sisaldab muutuja „väärtus” väärtust vahemikus 0–1023, sõltuvalt pingest.
pinge = väärtus * 5,0/1023;
Saadud väärtus korrutatakse nüüd eraldusvõimega (5/1023 = 4,9 mV ühiku kohta), et saada tegelik pinge.
Ja lõpuks, näidake jadamonitoril mõõdetud pinget.
Serial.print ("Pinge =");
Serial.println (pinge);
Samm: pinge mõõtmine üle 5 V
Kuid probleem tekib siis, kui mõõdetav pinge ületab 5 volti. Seda saab lahendada pingejaotusahela abil, mis koosneb kahest järjestikku ühendatud takistusest, nagu näidatud. Selle jadaühenduse üks ots on ühendatud mõõdetava pingega (Vm) ja teine ots maandusega. Kahe takisti ristmikul kuvatakse mõõdetud pingega võrdeline pinge (V1). Selle ristmiku saab seejärel ühendada Arduino analoogpistikuga. Pinge saab teada selle valemi abil.
V1 = Vm * (R2/(R1+R2))
Seejärel mõõdab Arduino pinget V1.
4. samm: pingejaguri ehitamine
Selle pingejaguri ehitamiseks peame kõigepealt välja selgitama takistite väärtused. Takistite väärtuse arvutamiseks järgige neid samme.
- Määrake maksimaalne mõõdetav pinge.
- Otsustage R1 jaoks sobiv ja standardne väärtus kilo-oomi vahemikus.
- Arvutage valemi abil R2.
- Kui R2 väärtus ei ole standardväärtus (või selle lähedal), muutke R1 ja korrake ülaltoodud samme.
- Kuna Arduino saab hakkama maksimaalselt 5V, siis V1 = 5V.
Näiteks olgu maksimaalne mõõdetav pinge (Vm) 12V ja R1 = 47 kilo-oomi. Siis valemit R2 kasutades saab 33k.
Nüüd ehitage nende takistite abil pingejaguri ahel.
Selle seadistusega on meil nüüd ülemine ja alumine piir. Vm = 12V korral saame V1 = 5V ja Vm = 0V korral V1 = 0V. See tähendab, et 0 kuni 12 V Vm juures on V1 -l proportsionaalne pinge vahemikus 0 kuni 5 V, mida saab seejärel Arduinole sisestada nagu varem.
Samm: pinge lugemine
Koodi kergete muudatustega saame nüüd mõõta 0 kuni 12 V.
Analoogväärtust loetakse nagu varem. Seejärel mõõdetakse sama valemi abil pinget vahemikus 0 kuni 12 V.
väärtus = analogRead (A0);
pinge = väärtus * (5,0/1023) * ((R1 + R2)/R2);
Üldiselt saadaval olevad pingeandurimoodulid pole midagi muud kui lihtsalt pingejaotusahel. Nende võimsus on 0 kuni 25 V, 30 kilo oomi ja 7, 5 kilo oomi takistitega.
Niisiis, miks osta, kui saate ise teha!
Aitäh, et lõpuni vastu pidasid. Loodan, et see õpetus oleks teid aidanud.
Tellige minu YouTube'i kanal, et saada rohkem eelseisvaid projekte ja õpetusi. Tänan veel kord!
Soovitan:
Toiteallika sageduse ja pinge mõõtmine Arduino abil: 6 sammu
Toiteallika sageduse ja pinge mõõtmine Arduino abil: Sissejuhatus: Selle projekti eesmärk on mõõta toite sagedust ja pinget, mis on siin Indias vahemikus 220 kuni 240 volti ja 50 Hz. Kasutasin signaali hõivamiseks ning sageduse ja pinge arvutamiseks Arduinot, võite kasutada mis tahes muud mikrokontot
Alalisvoolu pinge mõõtmine Arduino abil: 5 sammu
Alalisvoolu pinge mõõtmine Arduino abil: Selles projektis näitan teile, kuidas mõõta alalisvoolu pinget kuni 50 V, kasutades arduino ja ja OLED -ekraanimooduli osa kuvamiseks on vaja arduino UNOoled ekraani 10 kΩ takisti 1 kΩ takisti hüppaja kaabel
Reguleeritav pinge alalisvoolu toide LM317 pingeregulaatori abil: 10 sammu
Reguleeritav pinge alalisvoolu toide LM317 pingeregulaatori abil: Selles projektis olen kujundanud lihtsa reguleeritava pinge alalisvoolu toiteallika, kasutades LM317 IC -d koos LM317 toiteahela skeemiga. Kuna selles vooluahelas on sisseehitatud silla alaldi, saame sisendisse otse ühendada 220V/110V vahelduvvoolu
Kella tegemine M5stick C abil Arduino IDE abil RTC reaalajas kell M5stack M5stick-C abil: 4 sammu
Kella tegemine M5stick C abil, kasutades Arduino IDE | RTC reaalajas kell koos M5stack M5stick-C-ga: Tere, selles juhendis olevad poisid, me õpime, kuidas Arduino IDE abil kella m5stick-C arendusplaadiga teha. Nii kuvab m5stick kuupäeva, kellaaja ja amp; kuunädal ekraanil
Alalisvoolu pinge mõõtmine Arduino ja Node-RED abil: 8 sammu (piltidega)
Alalispinge mõõtmine Arduino ja Node-RED abil: Arduinoga on palju alalispinge mõõtmise õpetusi, sel juhul leidsin õpetuse, mida pean parimaks funktsionaalseks meetodiks alalisvoolu mõõtmiseks ilma takistuse sisendväärtusi nõudmata, nõuab ainult teatud takistust ja multimeeter