Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Un appareil peut être utilisé pour mesurer la puissance consommée. Ce circuit peut également servir de voltmètre et d'ampèremètre pour mesurer la tension et le courant.
Fournitures
Composants matériels
Arduino Uno
ACL 16X2
Amplificateur opérationnel LM 358
7805 Régulateur de tension
Potentiomètre 10k ohm
0,1 µF
Résistance 10k ohm
Résistance, 20 kohms
Résistance 2.21k ohm
Résistance, 0,22 ohm
Charge d'essai
Fils de connexion
Composants logiciels:
IDE Arduino
Étape 1: Fonctionnement du wattmètre Arduino
Construire vos propres compteurs réduit non seulement le coût des tests, mais nous offre également la possibilité de faciliter le processus de test.
Travail:
À partir de la partie capteur, il existe deux sections fiables pour mesurer la tension et le courant. Pour mesurer la tension, un circuit diviseur de tension est exécuté à l'aide d'une résistance de 10KΩ et de 2,2KΩ.
A l'aide de ces résistances, vous pouvez facilement mesurer des tensions jusqu'à 24V. Ces résistances nous aident également à amener la plage de tension à 0V – 5V, qui est la plage normale sur laquelle fonctionne Arduino.
Afin de mesurer le courant, nous devons changer les valeurs de courant en valeurs de tension conventionnelles. Selon la loi d'Ohm, la chute de tension à travers une charge est proportionnelle au courant.
Par conséquent, une petite résistance shunt est disposée par rapport à la charge. En estimant la tension aux bornes de cette résistance, nous pouvons calculer le courant. Nous avons utilisé l'amplificateur opérationnel LM358 en mode amplificateur non inverseur pour agrandir les valeurs fournies à Arduino.
Le réseau diviseur de tension pour le contrôle de rétroaction comprend une résistance de 20KΩ et une résistance de 1KΩ. Ces résistances offrent un gain d'environ 21.
En savoir plus sur le cours IoT qui vous aidera à créer des solutions IoT personnalisées.
Étape 2: exécuter un code
#comprendre
int Read_Voltage = A1;
int Lecture_Current = A0;
const int rs = 2, en = 4, d4 = 9, d5 = 10, d6 = 11, d7 = 12;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
Tension flottante = 0,0;
float Courant = 0,0;
Puissance flottante = 0,0;
void setup()
{
lcd.begin (16, 2);
Serial.begin(9600);
lcd.print(" Arduino ");
lcd.setCursor(0, 1);
lcd.print(" Wattmètre ");
retard (2000);
lcd.clear();
}
boucle vide()
{
Tension = analogRead (Read_Voltage);
Courant = analogRead(Read_Current);
Tension = Tension * (5,0/1023,0) * 6,46;
Courant = Courant * (5,0/1023,0) * 0,239;
Serial.println(Tension); Serial.println(Curent);
Puissance = Tension * Courant;
Serial.println(Puissance);
lcd.setCursor(0, 0);
lcd.print("V=");
lcd.print(Tension);
lcd.print(" ");
lcd.print("I=");
lcd.print(Actuel);
lcd.setCursor(0, 1);
lcd.print("P=");
lcd.print(Puissance);
retard(1000);
}