2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
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
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);
}