Sommaire
si vous êtes pressé vous pouvez sauter à conclusion, je raconte un peu ma vie :)
souvenez vous des précèdent journaux :
Episode 1
https://linuxfr.org/users/chocolatineflying/journaux/hacker-sa-pompe-de-relevage
arduino + passage esp32 + gui sympa pour gerer une pompe de relevage personnel
Episode 2
https://linuxfr.org/users/chocolatineflying/journaux/hacker-sa-pompe-de-relevage-2
factorisation + amélioration code + division en multiple fichiers
Probleme de gel tjrs présent
malgré le WD de l'esp32 j'ai toujours des gel entre 50 et 300 h de fonctionnement, le wifi cesse de fonctionner et l esp32 ne répond plus au capteurs.
ce qui est très handicapant pour une une citerne de relevage d'eau vanne (caca + le reste )
Isolé le pb
je passe le code sur platformIO et vscode pour m'aider a chercher le pb dans le code, c'est vraiment pas mal du tout je conseille
je continue a nettoyer le code que vscode me signal mais j'ai toujours le pb de gel aléatoires
j'alimente en 5v l'esp32 en utilisant la gestion de l'alimentation de la carte et non plus en l'alimentant directement en 3.3v -> pas mieux
WD hard TPS3823-33DBVR
j'ai absolument besoin que cela fonctionne, je passe sur un WD hard le TPS3823A-33DBVR, 33 pour 3.3v pour ne plus devoir le surveiller ts les jours
TPS382x Voltage Monitor With Watchdog Timer
il a 2 fonction, surveillance de la tension(important pour la suite) + WD
+-------------------+
| |
| TPS3823-33 |
| |
VCC ---| GND |--- GND
| |
| |
WDI ---| WDI |
| |
| |
OUT ---| RESET (active bas)|
| |
+-------------------+
on envoie un signal de moins de 1.6hz sur la broche wdi, si ca s'arrete ca passe la brochet reset a 0, sa tombe bien sur l'esp32 la broche EN est a 1 si elle passe à 0 -> reset hard
j'en achete 10 mais sur les 10 un seul fonctionne (que j'ai réussi à faire marcher) je reste dubitatif sur mon fournisseur mais ça vraiment l'air d’être une bonne solution
cause Gel esp32
j'ai mon tps sur une carte fille connecté sur ma carte, je n'ai plus de blocage de l'esp32 MAIS dans les log je vois que ca redémarre régulièrement.
je recâble la partie DC separé de la partie AC, cad pas melangé dans les gaines, j'ajoute des ferrite un peu partout -> pas mieux
j'ajoute une varistance sur le 220v pour limiter les pic de tension 14D471K -> pas mieux
condensateur de filtrage > pas mieux
j'isole la partie commande au fur et a mesure de test et BINGO !
c'est lors de la coupure de mon contacteur Hager ETC225; Contacteur jour/nuit 25 A 2NO 230V pour arrêter la pompe que le TPS redémarre l'esp32 malgré mon signal carré présent, il y a un pb sur l'alimentation apparemment, très bizarre.
je passe a un watchdog hard basé sur un ATtiny85 fait sous kicad et produit complétement chez un producteur de pcb je préfère au TPS même si je perd la surveillance de la tension
projet sur github
https://github.com/ygueparm/aattiny_wdg

Solution !
pour éviter les coupures de charge inductive du contacteur qui perturbe l'esp32 je passe à un SSR, car je ne vois pas d'autre solution ¯_(ツ)_/¯
https://fr.wikipedia.org/wiki/Contacteur_statique
j'utilise un SSR 40A pour 8A commandé, il peut etre commandée directement par l'esp32, mais je garde mon relais 3.3v pour le commander en 12V
du coup plus de reboot intempestif mais j'ai des remontées d'alarme intempestif !
je me souviens du commentaire suivant Posté par PLuG:
https://linuxfr.org/nodes/138442/comments/1985427
… le montage fonctionne en maquette et mal dans la vraie vie, à cause de parasites ….
effectivement, j'ai enlevé les pulldown interne qui sont inneficace pour mettre des resistance de 1k exterieur en pulldown + condensateur de 100nF en //, et je n'ai plus de remontées d'alarme intempestive ! avec une carte filles fait sous kicad car c'est plus jolie et produit par un fabricant de pcb avec des résistance cms et condo cms.

Conclusion
satisfait que cela soit enfin fini !
1) une simple coupure de charge inductive moins de 4w en 220v un contacteur de commande :
- perturbe l'alimentation de l'esp32 suffisamment pour que le TPS3823A redémarre l'esp32
2) une simple coupure de charge inductive de 2kw en 220v avec un SSR zero crossing a 15 mètre :
- crée des perturbations multiples sur les entrés avec un pulldown de 50k
3) il faut absolument des résistance de pulldown ou pullup de 1k avec un condensateur de 100nf en // sur chaque entrée
futur avec kicad
comme maintenant je sais faire des cartes filles avec kicad pour esp32 fabriqué sur mesure et que cela coute de 5 a 20€, pourquoi ne pas avoir une carte métier ! fait sous kicad.
je vous encourage pour vos bricole de passer a kicad et de trouver un fabriquant de pcb ou de pcb assemblé, c'est vraiment propre et professionel pour pas trop chère
en cours de validation environ 1 an sur banc je pense avant la mise en production sur les pompes, le changement c'est comme les evolution LaTeX pas souvent, lentement mais surement :)


protection SSR
le pb avec la coupure de charge inductive de 2kw (car j'ai 2 pompe en // cf premier journal ) c'est lors de la coupure la dissipation de l'energie inductive dans le ssr, avec un contacteur il y a un petit flash et les contact sont prevu pour supporté cela.
pas le ssr ! qui va s'user et mourir, les moteur continue aussi a tourner un peu et cela envoie de l’énergie vers le ssr
solution
placer un ecreteur rc en parallèle du ssr connecté sur la charge. cela va absorbé l’énergie inductive et proteger le ssr.
P(+) ----[ R ]----||---- N(-)
100Ω 5W C
100nF
fini ! je ne vous embête plus avec cela !
prochain journaux potentiel :
- enceinte mp3 pour personne handicapé mental avec attiny85
- mesure de niveau par pression sur cuve a eau distante arduino nano et petite anecdotes , j'ai été sponsorisé par une entreprise de production de pcb qui ma payé le pcb :O
- multiple fracture en accident de vélo en ville à faible vitesse (8 !) avec perte de conscience.
# Théorie vs pratique
Posté par xulops (site web personnel) . Évalué à 2 (+1/-0).
C'est un boulot super, et c'est sympa de partager.
J'aime bien bricoler avec les arduino et ESP32. Ces soucis d'interférences m'ont fait penser aux problèmes de rebonds des interrupteurs que j'avais un peu expliqué là : taptempo sur arduino Uno
c'est assez similaire et ça illustre bien la différence qu'il y a entre la théorie et la pratique. En théorie, on presse le bouton, l'état est 0, on relâche, l'état est à 1. Dans la pratique, ça merdouille pas mal entre les deux pendant un certain laps de temps.
Ton journal me donne aussi des pistes pour traiter un gel que j'ai sur un ESP32 deux ou trois fois l'an, cet ESP32 gère mon onduleur hybride via un relais 3.3V, et sert aussi de passerelle entre le bluetooth du BMS de ma batterie et mon wifi. La partie passerelle est décrite là : Seplos V4 wifi communication
C'est moins critique qu'une pompe de relevage qui plante et te laisse dans la merde, mais c'est quand même mieux d'avoir un montage fiable dans le temps.
[^] # Re: Théorie vs pratique
Posté par ChocolatineFlying . Évalué à 1 (+0/-0).
c'est vraiment pénible ces gel, depuis l'installation du tiny85 en juin/juillet 2025, plus aucun freeze. J'ai attendu pas mal de temps pour poster le journal pour cela. Toutes les variable sont sauvegardé, en cas de reboot c'est transparent.
du coup maintenant plus d’évolution de code \o/ et je ne m'en occupe plus de manière technique.
si je refait un projet avec un ucontrolleur je mettrais d'office un wd externe, et des résistance pulldown + condo 100nf de 1k ou pullup assez faible pour forcer le niveau.
Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.