2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
Uređaj se može koristiti za mjerenje utrošene energije. Ovaj krug može djelovati i kao voltmetar i ampermetar za mjerenje napona i struje.
Pribor
Hardverske komponente
Arduino Uno
LCD 16 X 2
Optičko pojačalo LM 358
7805 Regulator jačine zvuka
Potenciometar 10k ohm
0,1 µF
Otpornik 10k ohm
Otpornik, 20 kohm
Otpornik 2,21 k ohma
Otpornik, 0,22 ohma
Ispitno opterećenje
Spajanje žica
Softverske komponente:
Arduino IDE
Korak 1: Rad Arduino vatmetra
Izgradnja vlastitih brojila ne samo da smanjuje troškove testiranja, već nam pruža i prostor za olakšavanje procesa testiranja.
Rad:
Od senzorskog dijela postoje dva dijela koja su pouzdana za mjerenje napona i struje. Za mjerenje napona izvodi se krug razdjelnika napona pomoću 10KΩ i 2.2KΩ otpornika.
Pomoću ovih otpornika možete jednostavno mjeriti napone do 24V. Ovi otpornici također nas podržavaju u podizanju raspona napona na 0V - 5V, što je uobičajeni raspon na kojem Arduino radi.
Kako bismo izmjerili struju, moramo promijeniti vrijednosti struje u konvencionalne vrijednosti napona. Prema Ohmovom zakonu, pad napona na opterećenju proporcionalan je struji.
Stoga je mali ranžirni otpornik postavljen s obzirom na opterećenje. Procjenom napona na ovom otporniku možemo izračunati struju. Koristili smo opcijsko pojačalo LM358 u načinu rada bez invertirajućeg pojačala za povećanje vrijednosti danih Arduinu.
Mreža razdjelnika napona za upravljanje povratnom spregom uključuje otpornik od 20 kΩ i otpornik od 1 kΩ. Ovi otpornici nude pojačanje od približno 21.
Saznajte više o IoT tečaju koji će vam pomoći u izgradnji prilagođenih IoT rješenja.
Korak 2: Pokrenite kôd
#uključi
int Read_Voltage = A1;
int Read_Current = A0;
const int rs = 2, en = 4, d4 = 9, d5 = 10, d6 = 11, d7 = 12;
LCD tekući kristal (rs, en, d4, d5, d6, d7);
plovni napon = 0,0;
plutajuća struja = 0,0;
snaga plovka = 0,0;
void setup ()
{
lcd.begin (16, 2);
Serial.begin (9600);
lcd.print ("Arduino");
lcd.setCursor (0, 1);
lcd.print ("Wattmeter");
odgoda (2000);
lcd.clear ();
}
void loop ()
{
Napon = analogno čitanje (Čitanje_napona);
Current = analogRead (Read_Current);
Napon = Napon * (5,0/1023,0) * 6,46;
Struja = Struja * (5,0/1023,0) * 0,239;
Serial.println (Napon); Serial.println (Trenutni);
Snaga = Napon * Struja;
Serial.println (Napajanje);
lcd.setCursor (0, 0);
lcd.print ("V =");
lcd.tisak (napon);
lcd.print ("");
lcd.print ("I =");
lcd.print (Trenutni);
lcd.setCursor (0, 1);
lcd.print ("P =");
lcd.print (Snaga);
kašnjenje (1000);
}