2025 Autor: John Day | [email protected]. Zadnja izmjena: 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.
Supplies
Hardverske komponente
Arduino Uno
LCD 16 X 2
Optičko pojačalo LM 358
7805 Regulator napona
Potenciometar 10k ohm
0,1 µF
Otpornik 10k ohm
Otpornik, 20 kohm
Otpornik 2.21k ohm
Otpornik, 0,22 ohma
Ispitno opterećenje
Priključne žice
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:
Sa senzorskog dijela postoje dvije sekcije koje su pouzdane za mjerenje napona i struje. Za mjerenje napona, krug razdjelnika napona izvodi se pomoću otpornika od 10KΩ i 2.2KΩ.
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.
Da 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 kontrolu povratne sprege 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 kursu koji će vam pomoći u izgradnji prilagođenih IoT rješenja.
Korak 2: Pokrenite kôd
#include
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);
plivajući napon = 0,0;
plutajuća struja = 0,0;
plovna snaga = 0,0;
void setup ()
{
lcd.begin (16, 2);
Serial.begin (9600);
lcd.print ("Arduino");
lcd.setCursor (0, 1);
lcd.print ("Wattmeter");
kašnjenje (2000);
lcd.clear ();
}
void loop ()
{
Voltage = analogRead (Read_Voltage);
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 (Current);
Snaga = Napon * Struja;
Serial.println (Napajanje);
lcd.setCursor (0, 0);
lcd.print ("V =");
lcd.print (napon);
lcd.print ("");
lcd.print ("I =");
lcd.print (Trenutno);
lcd.setCursor (0, 1);
lcd.print ("P =");
lcd.print (Napajanje);
kašnjenje (1000);
}