2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
Un dispozitiv poate fi utilizat pentru a măsura puterea consumată. Acest circuit poate acționa și ca voltmetru și ampermetru pentru a măsura tensiunea și curentul.
Provizii
Componente hardware
Arduino Uno
LCD 16 X 2
LM 358 Op-Amp
7805 Regulator de tensiune
Potențiometru 10k ohm
0,1 uF
Rezistor 10k ohm
Rezistor, 20 kohm
Rezistor 2.21k ohm
Rezistor, 0,22 ohm
Testarea sarcinii
Conectarea firelor
Componente software:
IDE Arduino
Pasul 1: Funcționarea wattmetrului Arduino
Construirea propriilor contoare nu numai că reduce costurile testării, ci ne oferă și spațiu pentru a facilita procesul de testare.
Lucru:
Din partea senzorului, există două secțiuni care sunt fiabile pentru măsurarea tensiunii și curentului. Pentru măsurarea tensiunii, se execută un circuit divizor de tensiune folosind un rezistor de 10KΩ și un rezistor de 2,2KΩ.
Cu ajutorul acestor rezistențe, puteți măsura cu ușurință tensiuni de până la 24V. Aceste rezistențe ne susțin, de asemenea, în luarea domeniului de tensiune la 0V - 5V, care este intervalul normal pe care funcționează Arduino.
Pentru a măsura curentul, trebuie să schimbăm valorile curentului la valorile convenționale ale tensiunii. Conform legii lui Ohm, căderea de tensiune pe o sarcină este proporțională cu curentul.
Prin urmare, un mic rezistor de șunt este aranjat în funcție de sarcină. Prin estimarea tensiunii pe acest rezistor, putem calcula curentul. Am folosit LM358 Op-Amp în modul amplificator fără inversare pentru a mări valorile furnizate Arduino.
Rețeaua de divizare a tensiunii pentru controlul feedback-ului include un rezistor de 20KΩ și un rezistor de 1KΩ. Aceste rezistențe oferă un câștig de aproximativ 21.
Aflați mai multe despre cursul IoT, care vă va ajuta să construiți soluții IoT personalizate.
Pasul 2: Rulați un cod
#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);
plutitor Tensiune = 0,0;
curent plutitor = 0,0;
float Power = 0,0;
configurare nulă ()
{
lcd.inceput (16, 2);
Serial.begin (9600);
lcd.print ("Arduino");
lcd.setCursor (0, 1);
lcd.print ("Wattmeter");
întârziere (2000);
lcd.clear ();
}
bucla nulă ()
{
Tensiune = analogRead (Read_Voltage);
Current = analogRead (Read_Current);
Tensiune = Tensiune * (5.0 / 1023.0) * 6,46;
Curent = Curent * (5.0 / 1023.0) * 0,239;
Serial.println (Tensiune); Serial.println (Curent);
Putere = Tensiune * Curent;
Serial.println (Putere);
lcd.setCursor (0, 0);
lcd.print ("V =");
imprimare lcd (tensiune);
lcd.print ("");
lcd.print ("I =");
lcd.print (curent);
lcd.setCursor (0, 1);
lcd.print ("P =");
lcd.print (Putere);
întârziere (1000);
}