Sisukord:

Arduino vattmeeter - pinge, vool ja energiatarve: 3 sammu
Arduino vattmeeter - pinge, vool ja energiatarve: 3 sammu

Video: Arduino vattmeeter - pinge, vool ja energiatarve: 3 sammu

Video: Arduino vattmeeter - pinge, vool ja energiatarve: 3 sammu
Video: IoT Based Smart Electricity Energy Meter using ESP32 & Blynk Application 2024, Juuli
Anonim
Arduino vattmeeter - pinge, vool ja energiatarve
Arduino vattmeeter - pinge, vool ja energiatarve

Tarbitud võimsuse mõõtmiseks saab kasutada seadet. See vooluahel võib toimida ka voltmeetri ja ampermeetrina pinge ja voolu mõõtmiseks.

Tarvikud

Riistvara komponendid

Arduino Uno

LCD 16 X 2

LM 358 võimendi

7805 Volage regulaator

Potentsiomeeter 10k oomi

0,1 µF

Takisti 10k oom

Takisti, 20 kohm

Takisti 2,21k oom

Takisti, 0,22 oomi

Katse koormus

Juhtmete ühendamine

Tarkvara komponendid:

Arduino IDE

Samm: Arduino vatimeetri töötamine

Arduino vattmeetri töö
Arduino vattmeetri töö

Oma arvestite ehitamine ei vähenda mitte ainult testimise kulusid, vaid annab ka ruumi testimisprotsessi hõlbustamiseks.

Töötamine:

Anduriosast on kaks sektsiooni, mis on usaldusväärsed pinge ja voolu mõõtmiseks. Pinge mõõtmiseks kasutatakse 10KΩ ja 2,2KΩ takisti abil pingejaotusahelat.

Nende takistite abil saate hõlpsalt mõõta pinget kuni 24V. Need takistid aitavad meil ka pingevahemikku viia 0–5 V, mis on tavaline vahemik, millel Arduino töötab.

Voolu mõõtmiseks peame muutma praegused väärtused tavapärasteks pingeväärtusteks. Vastavalt Ohmi seadusele on koormuse pingelangus proportsionaalne vooluga.

Seega on koormuse suhtes paigutatud väike šundtakisti. Hinnates selle takisti pinget, saame arvutada voolu. Oleme Arduinole antud väärtuste suurendamiseks kasutanud mitteinverteeriva võimendi režiimis LM358 Op-Amp.

Tagasiside juhtimise pingejaotusvõrk sisaldab a20KΩ takisti ja 1KΩ takisti. Need takistid pakuvad kasumit umbes 21.

Lisateave IoT -kursuse kohta, mis aitab teil luua kohandatud IoT -lahendusi.

Samm: käivitage kood

#kaasake

int Loe_pinge = A1;

int Loe_vool = A0;

const int rs = 2, en = 4, d4 = 9, d5 = 10, d6 = 11, d7 = 12;

LiquidCrystal LCD (rs, en, d4, d5, d6, d7);

ujukpinge = 0,0;

ujukivool = 0,0;

ujuk võimsus = 0,0;

tühine seadistus ()

{

lcd.algus (16, 2);

Seriaalne algus (9600);

lcd.print ("Arduino");

lcd.setCursor (0, 1);

lcd.print ("vattmeeter");

viivitus (2000);

lcd.clear ();

}

tühine tsükkel ()

{

Pinge = analogRead (Read_Voltage);

Praegune = analogRead (Read_Current);

Pinge = pinge * (5,0/1023,0) * 6,46;

Praegune = praegune * (5,0/1023,0) * 0,239;

Serial.println (pinge); Serial.println (praegune);

Võimsus = pinge * vool;

Serial.println (võimsus);

lcd.setCursor (0, 0);

lcd.print ("V =");

lcd.print (pinge);

lcd.print ("");

lcd.print ("I =");

lcd.print (praegune);

lcd.setCursor (0, 1);

lcd.print ("P =");

lcd.print (võimsus);

viivitus (1000);

}

Soovitan: