INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
'N Toestel kan gebruik word om die verbruikte krag te meet. Hierdie stroombaan kan ook dien as 'n voltmeter en ampèremeter om spanning en stroom te meet.
Voorrade
Hardeware komponente
Arduino Uno
LCD 16 x 2
LM 358 Op-Amp
7805 Spanningsreguleerder
Potensiometer 10k ohm
0,1 µF
Weerstand 10k ohm
Weerstand, 20 kohm
Weerstand 2.21k ohm
Weerstand, 0,22 ohm
Toetsvrag
Verbindingsdrade
Sagteware komponente:
Arduino IDE
Stap 1: Werk van Arduino Wattmeter
Om u eie meters te bou, dra nie net die koste van die toetsing nie, maar bied ons ook ruimte om die toetsproses te vergemaklik.
Werk:
Vanuit die sensorgedeelte is daar twee afdelings wat betroubaar is vir die meting van spanning en stroom. Vir die meting van die spanning word 'n spanningsverdelerkring uitgevoer met behulp van 'n 10KΩ en 'n 2.2KΩ weerstand.
Met behulp van hierdie weerstande kan u maklik spanning tot 24V meet. Hierdie weerstande ondersteun ons ook om die spanningsbereik na 0V - 5V te neem, wat die normale bereik is waarop Arduino werk.
Om die stroom te meet, moet ons die huidige waardes verander na konvensionele spanningswaardes. Volgens Ohm se wet is die spanningsval oor 'n las proporsioneel met die stroom.
Daarom word 'n klein shuntweerstand gerangskik met betrekking tot die las. Deur die spanning oor hierdie weerstand te skat, kan ons die stroom bereken. Ons het LM358 Op-Amp gebruik in die modus nie-omkeerversterker om die waardes wat aan Arduino verskaf word, te vergroot.
Die spanningsverdelersnetwerk vir die terugvoerbeheer bevat a20KΩ Weerstand en 1KΩ Weerstand. Hierdie weerstande bied 'n wins van ongeveer 21.
Kom meer te wete oor IoT -kursus, wat u sal help om 'n aangepaste IoT -oplossing te bou.
Stap 2: voer 'n kode uit
#insluit
int Read_Voltage = A1;
int Read_Current = A0;
const int rs = 2, en = 4, d4 = 9, d5 = 10, d6 = 11, d7 = 12;
LiquidCrystal lcd (rs, en, d4, d5, d6, d7);
vlot Spanning = 0.0;
dryfstroom = 0.0;
dryfkrag = 0.0;
leemte opstelling ()
{
lcd.begin (16, 2);
Serial.begin (9600);
lcd.print ("Arduino");
lcd.setCursor (0, 1);
lcd.print ("Wattmeter");
vertraging (2000);
lcd.clear ();
}
leemte lus ()
{
Spanning = analogRead (Read_Voltage);
Current = analogRead (Read_Current);
Spanning = Spanning * (5.0/1023.0) * 6.46;
Stroom = Stroom * (5.0/1023.0) * 0.239;
Serial.println (spanning); Serial.println (huidige);
Krag = Spanning * Stroom;
Serial.println (krag);
lcd.setCursor (0, 0);
lcd.print ("V =");
lcd.print (spanning);
lcd.print ("");
lcd.print ("I =");
lcd.print (Huidig);
lcd.setCursor (0, 1);
lcd.print ("P =");
lcd.print (krag);
vertraging (1000);
}