Relais ne fonctionne plus quand il est connecté

a marqué ce sujet comme résolu.

Bonjour, J’essaye de piloter une lampe avec un relais et un microcontrôleur wifi ESP8266(ESP01).

J’utilise:

  • Un module 4 relais ELEGOO
  • Une carte ESP01
  • Un module d’alimentation 3.3V/5V MB102 (le coté droit est réglé en 5V et alimente la carte relais et le coté gauche est réglé en 3.3V et alimente l’ESP01).

Voilà le problème: J’ai réussi à contrôler le relais du module avec un petit serveur web qui tourne sur l’ESP. Tout fonctionne; la led du relais s’allume ou s’éteint à ma guise et j’entends le contact sauter. Mais problème étrange; quand je relis le cable de ma lampe au domino du relais et que j’essaye de faire fonctionner mon relais, non seulement ça ne marche pas mais l’ESP ne semble plus répondre et mon serveur web devient inaccessible..

Je vous avoue que le problème est bizarre et je n’ai aucune idée du pourquoi du comment ? o_O Auriez vous une idée de la source du problème ?

Merci :)

P-S: voilà des photos pour être plus clair:

Relais non raccordé au secteur, le relais réponds et tout fonctionne
Relais non raccordé au secteur, le relais réponds et tout fonctionne
Relais raccordé au secteur, l'ESP ne répond plus, la led bleue est éteinte et le serveur web ne torune pas
Relais raccordé au secteur, l'ESP ne répond plus, la led bleue est éteinte et le serveur web ne torune pas
+0 -0

UP, je pense que le fait de raccorder au secteur fait des pics de courant qui perturbent l’alimentation de l’ESP, mais pourquoi et comment ?

Si je peux alimenter à la fois l’esp et le relais quand il n’est pas raccordé pourquoi ce ne serait pas possible une fois raccordé ? P-S: les perturbations semblent différer selon l’appareil raccordé, alors que le système fonctionne environ 2 minutes avec une lampe de chevet, il ne fonctionne pas plus de 5s avec une lampe de salon.

Merci :)

+0 -0

Tu peux essayer le truc suivant :

  • Débranche la lampe du secteur
  • Ne rien brancher sur la sortie du relais
  • Fais un programme qui bascule le relais toutes les 5 secondes.
  • Balance ca dans l’ESP
  • Est-ce qu’il marche pour le moment ? (normalement oui si j’ai bien suivi)
  • Eteins tout et branche la lampe sur le relais (toujours sans être relié au secteur)
  • Relance l’esp, est-ce que le relais clique toujours ?
  • Si oui, branche la lampe sur le secteur (quand le relais est on ou off, test les deux éventuellements.
  • Est-ce que ca marche ?
+1 -0

Alors:

Tout marche comme on pourrais l’attendre: le relais fonctionne tant que on est pas relié au secteur. La lampe fonctionne parfaitement. Quand je met toute l’installation en fonctionnement, l’ESP est capable de fonctionner pendant env. 10s-1min.

Je peux à ce moment controller la lampe depuis le serveur web: ça marche.

Mais une fois pas passé les 10 secondes.. L’ESP ne fonctionne plus, et ducoup je ne peux plus controller le relais.

C’est très bizarre je l’avoue. :euh:

Ce problème arrive même si je différencie les sources d’alimentation de la carte du module relais et des relais (JD-VCC et VCC).

Voilà le code quasi complet; sans mon login et mot de passe wifi:

WiFiServer WebServer(80);
// Web Client
WiFiClient client;

void setup() {
  pinMode(2, OUTPUT);
  digitalWrite(2, 1);
  delay(10);

  // Connect to WiFi network
  WiFi.disconnect();
  WiFi.mode(WIFI_STA);
  Serial.println(SSID);
  WiFi.begin(SSID, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
  }

  // Start the Web Server
  WebServer.begin();

}

void loop() {
  // Check if a user has connected
  client = WebServer.available();
  if (!client) {//restart loop
    return;
  }

  // Wait until the user sends some data
  while (!client.available()) {
    delay(1);
  }

  // Read the first line of the request
  String request = client.readStringUntil('\r\n');
  client.flush();

  if (request.indexOf("/ON") != -1) {
    digitalWrite(2,0);
  }

  if (request.indexOf("/OFF") != -1) {
    digitalWrite(2,1);
  }
  

  // Return the response
  client.println("HTTP/1.1 200 OK");
  client.println("Content-Type: text/html; charset=UTF-8");
  client.println("");
  client.println("<!DOCTYPE HTML>");
  client.println("<html>");
  client.println("<head>");
  client.println("<title>ESP8266</title>");
  client.println("</head>");
  client.println("<body>");
  client.println("<h1>TEST RELAIS</h1>");
  client.println("<a href=\"/ON\">Allumer</h1>");
  client.println("<a href=\"/OFF\">Eteindre</h1>");
  client.println("</body>");
  client.println("</html>");


  delay(1);


  

}

Ligne 32, tu pourrais remplacer ton :

  // Wait until the user sends some data
  while (!client.available()) {
    delay(1);
  }

par un truc comme

  // Wait until the user sends some data
  int timeout = 0;
  while (!client.available()) {
    delay(1);
    timeout++;
    if(timeout > 5000) {
        return;
    }
  }

Ce bout de code permet d’éviter le cas où ta carte ne reçoit qu’une partie des infos de la part du client (arrive de temps en temps). Lorsque cela arrive, la carte attends pour toujours une fin de message qui n’arrive jamais. Ce bout de code compte jusqu’à 5000ms puis décide d’abandonner la requête en cours si ca ne veux pas arriver.

+0 -0

Malheureusement, j’ai changé le code et ça ne change rien au problème :(

Dans beaucoup de cas, brancher le relais au secteur stoppe instantanément le fonctionnement de l’ESP. Je pense que le problème se situe au niveau électrique, au niveau de l’alimentation.

Je suis absolument certains que l’ESP ne fonctionne très souvent pas lorsque le courant est relié au secteur car:

Quand l’ESP boot , il tire son GPIO2 à haut (c’est une particularité du firmware) , c’est pourquoi je le met directement à bas dans mon code dans setup() (le module relais est fermé en 0 et ouvert en 1).

Quand j’essaye d’allumer mon montage dès que le relais est branché au secteur, le relais ne saute même pas une fois, comme il est censé le faire lors de l’initialisation.

La question est: pourquoi le relié poserait quelconque problème d’alimentation, et lesquels et comment les résoudre ? :euh:

J’ai déjà essayé de mettre des condensateurs de différentes valeurs (1–100nF) entre GND et VCC de l’esp mais ça n’a rien changé..

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte