2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
Za merjenje porabljene energije lahko uporabite napravo. To vezje lahko deluje tudi kot voltmeter in ampermeter za merjenje napetosti in toka.
Zaloge
Komponente strojne opreme
Arduino Uno
LCD 16 X 2
Opcijski ojačevalnik LM 358
7805 Regulator volage
Potenciometer 10k ohm
0,1 µF
Upor 10k ohm
Upor, 20 kohm
Upor 2,21 k ohm
Upor, 0,22 ohma
Preskusna obremenitev
Priključitev žic
Komponente programske opreme:
Arduino IDE
1. korak: Delovanje arduino vatmetra
Izdelava lastnih števcev ne le znižuje stroške testiranja, ampak nam tudi omogoča, da olajšamo postopek testiranja.
Delo:
Iz senzorskega dela sta dva odseka, ki sta zanesljiva za merjenje napetosti in toka. Za merjenje napetosti se izvede napetostni razdelilnik z 10KΩ in 2.2KΩ uporom.
S pomočjo teh uporov lahko enostavno izmerite napetosti do 24V. Ti upori nas podpirajo tudi pri dvigu napetostnega območja na 0V - 5V, kar je normalno območje, na katerem deluje Arduino.
Za merjenje toka moramo spremeniti trenutne vrednosti na običajne vrednosti napetosti. Po Ohmovem zakonu je padec napetosti na tovoru sorazmeren s tokom.
Zato je glede na obremenitev razporejen majhen shunt upor. Z oceno napetosti na tem uporu lahko izračunamo tok. Za povečanje vrednosti, ki jih ponuja Arduino, smo uporabili opcijski ojačevalnik LM358 v načinu neinvertirajočega ojačevalnika.
Omrežje delilnika napetosti za krmiljenje povratnih informacij vključuje upor a20KΩ in upor 1KΩ. Ti upori ponujajo dobiček približno 21.
Preberite več o tečaju IoT, ki vam bo pomagal oblikovati prilagojene rešitve IoT.
2. korak: Zaženite kodo
#vključi
int Read_Voltage = A1;
int Read_Current = A0;
const int rs = 2, en = 4, d4 = 9, d5 = 10, d6 = 11, d7 = 12;
LCD tekoči kristal (rs, en, d4, d5, d6, d7);
plavajoča napetost = 0,0;
plavajoči tok = 0,0;
moč plovca = 0,0;
void setup ()
{
lcd.begin (16, 2);
Serial.begin (9600);
lcd.print ("Arduino");
lcd.setCursor (0, 1);
lcd.print ("Wattmeter");
zamuda (2000);
lcd.clear ();
}
void loop ()
{
Napetost = analogno branje (Read_Voltage);
Current = analogRead (Read_Current);
Napetost = Napetost * (5,0/1023,0) * 6,46;
Tok = Tok * (5,0/1023,0) * 0,239;
Serial.println (napetost); Serial.println (Trenutni);
Moč = napetost * Tok;
Serial.println (napajanje);
lcd.setCursor (0, 0);
lcd.print ("V =");
lcd.print (napetost);
lcd.print ("");
lcd.print ("I =");
lcd.print (Trenutni);
lcd.setCursor (0, 1);
lcd.print ("P =");
lcd.print (moč);
zamuda (1000);
}