Il s’agit ici d’améliorer la précision de la mesure d’intensité du délesteur décrit précédemment dans cet article.
Tous les détails ici concernant la technique de mesure de l’intensité via le capteur Capteur SCT 013.
Le schéma ci-dessous:
Code Arduino Nano:
//On charge les Librairies #include "EmonLib.h" EnergyMonitor emon1; #include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 20, 4); // Initialisation des variables int relay1 = 6; int led = 7; float consigne = 0; void setup() { Serial.begin(9600); // Current: input pin, calibration. emon1.current(1,29.5); //Initialisation des sorties pinMode(relay1, OUTPUT); pinMode(led, OUTPUT); // initialisation de l'afficheur lcd.init(); lcd.backlight(); } void loop() { //Consigne potentiomètre int potard = analogRead(0); //Mise à l'échelle 0 à 30 ampères consigne = potard / 34; //Affichage 1ère ligne (seuil) sur LCD lcd.setCursor(0, 0); lcd.print("Seuil:"); lcd.setCursor(9, 0); lcd.print(consigne); lcd.setCursor(15, 0); lcd.print("A"); lcd.setCursor(0, 1); // Calculate Irms only double Irms = emon1.calcIrms(1480); //Affiche Mesure ligne 2 sur LCD lcd.setCursor(4, 1); lcd.print(Irms); lcd.setCursor(8, 1); lcd.print(" Amps"); //Affichage sur moniteur série Serial.println(Irms); //Pilotage relais délestage (LOW -> état 1 !!!) (HIGH -> état 0 !!!) if (Irms > consigne) { digitalWrite(relay1, LOW); digitalWrite(led,HIGH); lcd.noDisplay(); delay (500); lcd.display(); delay (500); } if (Irms < (consigne -6)) { digitalWrite(relay1, HIGH); digitalWrite(led,LOW); lcd.noBlink(); } }