Gérer un lave linge en co-propriété

digitalWrite(relais220v, HIGH); //Activation du relais lave linge

Il peut s'agir d'un parasite généré sur le 230V.

https://forum.arduino.cc/index.php?topic=620751.0

Hello merci pour vos réponses. Je vous fais un schema de mon cablage parceque finalement maintenant que ca ne marche pas (en 12V non plus j'ai essayé) j'ai des doutes ... :roll_eyes:

Vous avez essayé de changer le relais ?

oui j'en ai essayé 2, qui ont les mêmes caractéristiques par contre...

OK. Un aurait pu être défectueux, deux c'est plus rare sauf sans un même lot.

Avez vous essayé de sortir ce relais de votre montage et faire un truc tout bête avec un ampoule 220V et un bout de code arduino qui l'allume et l'éteint ?

Combien tire le lave linge à l'allumage ? est-ce compatible avec votre relais ?

Sinon voir la suggestion de @hbachetti et rajouter un condensateur adapté.

Lorsqu'il n'y a pas le 220v mon relais fonctionne très bien et a chaque fois; pour la durée demandée, par contre lorsque le relais est alimenté en 220V (coté 220V bien sûr) ca ne fonctionne qu'une seule fois. Ca a l'air de planter ma carte ESP32 ...

Oui un parasite généré par le télérupteur ou la machine peut très bien remonter à travers l'alimentation de l'ESP32.
Le problème arrive t-il sans brancher la machine, seulement le télérupteur ?

Pour tout dire je suis sur la période de test donc j'ai effectivement utilisé un bout de code avec lecteur RFID, et une ampoule en 220V je n'ai pas branché le lave linge encore.

je vais peut être essayer un montage avec un arduino Uno ou R3 afin d'éliminer un problème avec l'ESP 32 puis, si ce n'est pas mieux, j'irai me procurer un condensateur de 100nF + résistance de 100Ω comme le suggère hbachetti....

EDIT : nos messages se sont croisés; je n'ai pas essayé de mettre sans l'ampoule mais j'ai essayé le montage avec une alimentation 12v et une gache électrique et le résultat est exactement le même...

Peux-tu remplacer ton code par celui-ci, afin qu'on sache où se passe le problème exactement ?

Serial.println("Test Relais");
digitalWrite(relais220v, HIGH); //Activation du relais lave linge
Serial.println("apres relais220v, HIGH");
delay (500); //durée de l'impulsion
Serial.println("apres delay 500");
digitalWrite(relais220v, LOW);
Serial.println("apres relais220v, LOW");
delay (3000); //durée du cycle de lave linge ^^
Serial.println("apres delay 3000");
digitalWrite(relais220v, HIGH); //Activation du relais lave linge
Serial.println("apres relais220v, HIGH (2)");
delay (500); //durée de l'impulsion pour éteindre
Serial.println("apres delay 500 (2)");
digitalWrite(relais220v, LOW);
Serial.println("apres relais220v, LOW (2)");
delay (2000);
Serial.println("ca marche toujours ??");

Ensuite, lorsqu'on suara, tu peux essayer de remplacer le delay incriminé par l'appel à cette fonction et voir si ça change quelque chose :

void myDelay(int dur) {
  unsigned int chrono = millis();
  while (millis()-chrono<=dur) yield();
}

Par exemple, au lieu de delay(500), tu mets myDelay(500)

Si le système fonctionne sans que le 230V soit présent il n'y a aucune chance que le problème soit du côté logiciel.

lesept:
Peux-tu remplacer ton code par celui-ci, afin qu'on sache où se passe le problème exactement ?

Serial.println("Test Relais");

digitalWrite(relais220v, HIGH); //Activation du relais lave linge
Serial.println("apres relais220v, HIGH");
delay (500); //durée de l'impulsion
Serial.println("apres delay 500");
digitalWrite(relais220v, LOW);
Serial.println("apres relais220v, LOW");
delay (3000); //durée du cycle de lave linge ^^
Serial.println("apres delay 3000");
digitalWrite(relais220v, HIGH); //Activation du relais lave linge
Serial.println("apres relais220v, HIGH (2)");
delay (500); //durée de l'impulsion pour éteindre
Serial.println("apres delay 500 (2)");
digitalWrite(relais220v, LOW);
Serial.println("apres relais220v, LOW (2)");
delay (2000);
Serial.println("ca marche toujours ??");




Par exemple, au lieu de `delay(500)`, tu mets `myDelay(500)`

Merci de ton aide @lesept

ca donne le même résultat :

Card UID: 08 08 67 4B
11:45:16.663 -> Test Relais
11:45:16.663 -> apres relais220v, HIGH
11:45:17.179 -> apres delay 500
11:45:17.179 -> apres relais220v, LOW
11:45:20.163 -> apres delay 3000
11:45:20.163 -> apres relais220v, HIGH (2)
11:45:20.666 -> apres delay 500 (2)
11:45:20.666 -> apres relais220v, LOW (2)
11:45:22.666 -> ca marche toujours ??
11:45:34.388 -> Card UID: 08 08 67 4B
11:45:34.388 -> Test Relais
11:45:34.388 -> apres relais220v, HIGH
11:45:34.388 -> ⸮⸮a⸮⸮

La dernière ligne indique un plantage grave de l'ESP32, sans affichage d'une quelconque exception.
Si un delay() était en cause on verrait une exception watchdog.

Je précise.
Comme le code présenté en #394 n'est pas complet je suppose que le WIFI n'est pas démarré et qu'il s'agit d'un sketch du genre Blink légèrement modifié pour commander un relais.

L'exécution d'un sketch Blink ne pose aucun problème, y compris avec une delay(30000).

Il faut faire 3 tests :

  1. le même sketch sans télérupteur
  2. le même sketch avec télérupteur
  3. le même sketch avec télérupteur + machine branchée

Si le 2 fait planter le 3 est inutile.

Comment est alimenté l'ESP32 ?

hbachetti:
Je précise.
Comme le code présenté en #394 n'est pas complet je suppose que le WIFI n'est pas démarré et qu'il s'agit d'un sketch du genre Blink légèrement modifié pour commander un relais.

L'exécution d'un sketch Blink ne pose aucun problème, y compris avec une delay(30000).

Il faut faire 3 tests :

  1. le même sketch sans télérupteur
  2. le même sketch avec télérupteur
  3. le même sketch avec télérupteur + machine branchée

Si le 2 fait planter le 3 est inutile.

Comment est alimenté l'ESP32 ?

EUREKA ! c'est un problème d'alimentation de la carte; j'ai d'abord essayé de débrancher le LCD (par rapport a l'alimentation ), pas mieux, ensuite j'ai essayé le même branchement sur R3 et là ca marchait, j'ai donc rebranché mon esp32 mais sur secteur et là tout semble marcher. Je vais ressayer en 220V mais je suis confiant.

MErci de votre aide en tout cas.

EDIT ca marche pas sur du 220V :cry: :cry: :cry:

Réponds en détail à la question de hbachetti : Comment est alimenté l'ESP32 ?

oui désolé ca me déprime je croyais que ca serait la partie la plus simple du projet et j'y suis depuis plus de 8 hrs...

Je précise.
Comme le code présenté en #394 n'est pas complet je suppose que le WIFI n'est pas démarré et qu'il s'agit d'un sketch du genre Blink légèrement modifié pour commander un relais. ou ic'est bien ça un sketch qui gère que RC522 et l'arduino

L'exécution d'un sketch Blink ne pose aucun problème, y compris avec une delay(30000).

Il faut faire 3 tests :

  1. le même sketch sans télérupteur fonctionne
  2. le même sketch avec télérupteur fonctionne pas
  3. le même sketch avec télérupteur + machine branchée

Si le 2 fait planter le 3 est inutile.

Comment est alimenté l'ESP32 ? L'ESP est alimenté soit par port USB de l'ordinateur, soit par transformateur 5V de téléphone...

complément d'information, le relais fonctionne bien avec arduino R3 et les tests de cette après midi montraient que le systeme fonctionnait avec ESP32 et 12V en sortie du relais. Il semble donc que le problème ne provienne que lors du déclenchement du télérupteur ...

EDIT : J'ai une tout petit doute sur un mauvais contact sur la fiche micro USB de mon ESP ...

Il semble donc que le problème ne provienne que lors du déclenchement du télérupteur ...

Une bobine de télérupteur est un générateur de parasites.
Il va falloir essayer de la déparasiter.

Ok je vais essayer de me procurer un condensateur X2 de 100nF +1 résistance de 100Ω par contre je ne serais pas sans revenir vers toi pour le montage car celui te ton post est un peu ... technique :roll_eyes:

Si cela facilite les choses, rien ne t'empêche de connecter le circuit RC directement en parallèle sur la bobine du télérupteur, car les deux bornes de la bobine ne sont probablement pas ramenées à ton module relais.

hbachetti:
Si cela facilite les choses, rien ne t'empêche de connecter le circuit RC directement en parallèle sur la bobine du télérupteur, car les deux bornes de la bobine ne sont probablement pas ramenées à ton module relais.

tu m'as perdu là ... mais je vais essayer de me procurer les composants déjà...

Dit moi @hbachetti, je suis sur 2 projets parallèles en ce moment et il semble que j'ai le même problème sur les 2.

Le second projet est une ouverture de gâche électrique via lecteur RFID. Le mecanisme fonctionne à merveille tant qu'il n'y a pas la gâche électrique de branchée; du coup ça a beaucoup moins d'intérêt :smiley: .

Je pense que c'est le mécanisme de la gâche qui amène des perturbations malgré le fait d'avoir utilisé du cable blindé pour aller jusqu'à la serrure. Crois tu que le condensateur X2 puisse avoir également son intérêt dans ce cas ?? Si oui tu le placerais à quel niveau ?? Dit moi si tu as besoin d 'un dessin de mon installation pour me repondre...