Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
En enhet kan brukes til å måle strømforbruket. Denne kretsen kan også fungere som et voltmeter og amperemeter for å måle spenning og strøm.
Rekvisita
Maskinvarekomponenter
Arduino Uno
LCD 16 X 2
LM 358 Op-Amp
7805 Spenningsregulator
Potensiometer 10k ohm
0,1 µF
Motstand 10k ohm
Motstand, 20 kohm
Motstand 2.21k ohm
Motstand, 0,22 ohm
Testbelastning
Tilkobling av ledninger
Programvarekomponenter:
Arduino IDE
Trinn 1: Arbeid med Arduino Wattmeter
Å bygge dine egne målere reduserer ikke bare testkostnadene, men gir oss også rom for å lette testprosessen.
Jobber:
Fra sensordelen er det to seksjoner som er pålitelige for måling av spenning og strøm. For å måle spenningen utføres en spenningsdelerkrets ved hjelp av en 10KΩ og en 2.2KΩ motstand.
Ved hjelp av disse motstandene kan du enkelt måle spenninger opp til 24V. Disse motstandene støtter oss også i å ta spenningsområdet til 0V - 5V, som er det normale området som Arduino fungerer på.
For å måle strømmen må vi endre strømverdiene til konvensjonelle spenningsverdier. I henhold til Ohms lov er spenningsfallet over en last proporsjonalt med strømmen.
Derfor er en liten shuntmotstand arrangert med hensyn til belastningen. Ved å estimere spenningen over denne motstanden, kan vi beregne strømmen. Vi har brukt LM358 Op-Amp i ikke-inverterende forsterkermodus for å forstørre verdiene som er gitt Arduino.
Spenningsdelernettverket for tilbakemeldingskontrollen inkluderer a20KΩ motstand og 1KΩ motstand. Disse motstandene gir en gevinst på omtrent 21.
Lær mer om IoT -kurs som vil hjelpe deg med å bygge tilpassede IoT -løsninger.
Trinn 2: Kjør en kode
#inkludere
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);
flyte Spenning = 0,0;
flyte Strøm = 0,0;
flyteeffekt = 0,0;
ugyldig oppsett ()
{
lcd.begin (16, 2);
Serial.begin (9600);
lcd.print ("Arduino");
lcd.setCursor (0, 1);
lcd.print ("Wattmeter");
forsinkelse (2000);
lcd.clear ();
}
hulrom ()
{
Spenning = analogRead (Read_Voltage);
Current = analogRead (Read_Current);
Spenning = Spenning * (5,0/1023,0) * 6,46;
Strøm = Strøm * (5,0/1023,0) * 0,239;
Serial.println (spenning); Serial.println (gjeldende);
Strøm = Spenning * Strøm;
Serial.println (strøm);
lcd.setCursor (0, 0);
lcd.print ("V =");
lcd.print (spenning);
lcd.print ("");
lcd.print ("I =");
lcd.print (gjeldende);
lcd.setCursor (0, 1);
lcd.print ("P =");
lcd.print (strøm);
forsinkelse (1000);
}