Aujourd’hui, les grandes entreprises et administrations publiques hésitent entre continuer à utiliser des logiciels propriétaires ou basculer vers les Logiciels Libres. Pourtant, la plupart des logiciels libres sont capables de bien traiter les données issues des logiciels propriétaire, et parfois avec une meilleur compatibilité.
C’est alors la barrière de la prise en main qui fait peur, et pourtant...
Les logiciels libres
L’aspect « Logiciel Libre » permet une évolution rapide et une plus grande participation des utilisateurs. Les aides et tutoriels foisonnent sur Internet ou sont directement inclus dans le logiciel lui-même.
Enfin, les concepteurs sont plus proches des utilisateurs, ce qui rend les logiciels libres plus agréable à utiliser et conviviaux.
Grâce à la disponibilité des logiciels libres, vous trouverez facilement des services de support techniques et la licence n’est plus un frein à l’utilisation de ces logiciels par votre personnel.
Notre support technique concerne essentiellement les logiciels libres, que ce soit sous forme de services ponctuels ou de tutoriels.
- 5 juillet -
Sommaire
Avec un titre accrocheur et sachant que votre curiosité est aussi grande que votre intérêt pour le terme "hacker", je vous présente ce petit journal reprenant les bases techniques en ces temps clivants. Rien d'extravagant, juste l'essentiel.
![Source : https://www.hydrolys.fr/5257-large_default/station-de-relevage-ksb-evamatic-box-n-1501-esm.jpg Station de relevage KSB Evamatic](local/cache-vignettes/L800xH800/station-de-r38f4-155cd.jpg?1720265647)
Ce journal couvrira légèrement les aspects électriques, mécaniques et informatiques d'un projet basé sur un ESP32. c'est fait à l'arrache car ce n'est pas un projet de longue date, c'est une panne imprévue qui a lancé le projet. Le code n'est pas écrit dans les règle de l'art, voir pas du tout je ne pense pas que vous apprendrez qqchoses avec celui ici, à mon grand regret
A. Présentation
Une pompe de relevage est une pompe située dans un réservoir attenant à une maison (principalement) qui permet d'évacuer les eaux usées dans un collecteur situé plus haut que la maison.
C'est assez courant, souvent oublié, et cela tombe régulièrement en panne si la maintenance n'est pas effectuée. pas tous les jours mais plutôt en années
J'en ai une pour ma maison avec un réservoir de 100 litres. c'est plutôt petit comme réservoir mais suffisant, par contre c'est très chère :O
B. Premier problème : commande marche/arret
Il y a un flotteur de déclenchement pour le niveau haut et pour le niveau bas, constitué d'une bille en acier qui fait contact selon la position du flotteur. Comme le montre ce petit schéma fait sous xfig, avec ce principe, la capacité totale de la cuve n'est pas utilisée, elle ne se vide jamais complètement et ne se remplit jamais complètement. En rouge sur la 1ere photo :
- Problème de gaz stagnant dans la cuve, attaquant les éléments comme le corps de pompe, les câbles et toutes les autres parties métalliques.
- Problème de boue stagnant au fond de la cuve, favorisant la création de gaz (H2S).
- La fréquence de marche/arrêt du moteur est plus élevée, entraînant une usure prématurée de la pompe.
- Chez moi, la pompe ne vidait que 30 litres à chaque fois. une vaste blague !
![Source : https://i.ibb.co/X3k0yrQ/pomperelavage.png img](local/cache-vignettes/L640xH449/pomperelavagd826-b8c67.png?1720265647)
C. Première panne et 1ere solution Arduino
Suite à une panne et un flotteur défectueux, j'ai dû rapidement (de suite!) lancer le projet sur un Arduino, finalisé dans le weekend . Pour régler ce problème de fréquence de fonctionnement, j'ai placé un flotteur en haut de la cuve qui déclenche la pompe une fois la cuve pleine, et je coupe le moteur au bout de 38 secondes pour éviter de devoir détecter le niveau bas. le tuyau en acier de la pompe était rongé par l'h2s, le câble d’alimentation était aussi détérioré on voyait le cuivre des câbles, pourtant prévu pour être très résistant, h07rnf https://www.nexans.fr/fr/products/Building/Industrial/Flexibles-cables/TITANEX%C2%AE---TITANEX%C2%AE-H07RN-F.html
ou en partie.
J'ai ajouter par dessus chaque câble au contact de l'H2S dans la cuve de la gaine thermorétractable sur toute la longueur, gaines thermo en polyoléfine+colle, et d'après les recherches sur internet, cela résiste plutôt bien aux attaque chimiques corrosives.
J'utilise un Arduino, avec un Raspberry Pi A+. L'Arduino gère uniquement le déclenchement de la pompe et son arrêt, avec les sécurités suivantes :
- Le relais de sécurité de surveillance de courant haut et bas ne se déclenche pas.
- Le flotteur n'est pas bloqué en position haute.
- Si trop de sécurités se déclenchent de manière régulière, le moteur est coupé de façon définitive, un peu comme un fail2ban.
le code mais attention au yeux, vraiment :
https://github.com/ygueparm/lift_pump/blob/main/asservissementpompe.ino
![Source : https://i.ibb.co/1QS2xNk/img23.jpg img](local/cache-vignettes/L640xH480/img23jpg-3963969-70fd4.jpg?1720265647)
on peut utiliser un relais Harmony RM35-J RM35JA32MW pour le contrôle de courant. On règle le courant tolérable le plus bas et le plus haut, en dehors desquels un contact se fait . J'utilise un modèle pas chère qui fonctionne correctement
GEYA GRI8-03/04 (15€ au lieu de 140€)
Pour commander mon moteur de 4A (et 8A par la suite avec 2 moteur), j'utilise un relais de commande jour nuit de ballon d'eau chaude de 25A Finder.
Le Raspberry Pi est utilisé uniquement pour m'envoyer un mail à chaque démarrage avec le temps de fonctionnement réel de la pompe. La difficulté réside dans le fait que cela doit fonctionner de manière fiable en production, car il n'est pas agréable de travailler avec une cuve d'eaux usées qui ne se vide pas.
Ça fonctionne parfaitement bien et remplit son rôle. J'ai eu des cheveux qui ont bloqué l'arbre de pompe, ce qui a coupé la pompe, envoyé un mail, et j'ai pu intervenir. Cela reste toujours satisfaisant, sans avoir à racheter une pompe (1000€) qui aurait griller a force de forcer sans réussir a vider la cuve.
Lors de ce dépannage, j'ai constaté que la cuve était quand même pleine de boue sur environ 15 cm et que les odeurs ne diminuaient pas, la cuve restait sale. Petit échec sur ce point malgré l'utilisation complète de la capacité de la cuve. Mauvais diagnostique de ma part et mauvaise solution pour le résoudre /o.
code rpi pi pour envoyer les mail avec le temps de fonctionnement de la pompe en utilisant msmtp https://marlam.de/msmtp/ :
#!/bin/bash
# controle du fonctionnement de la pompe de relevage
# initialisation port gpio
echo "4" > /sys/class/gpio/export 2>&1
echo "in" > /sys/class/gpio/gpio4/direction 2>&1
echo "initialisation port IO"
echo "demarrage surveillance"
#envoi mail initialisation
cat mail1 | msmtp login@domaine
while true
do j=$((`cat /sys/class/gpio/gpio4/value`)) ;
i=$((j))
#debut test de la valeur du relais si 0 tourne en boucle
while [ $i = 0 ]
do i=$((`cat /sys/class/gpio/gpio4/value`)) ;
done
#si la valeur change j'imprime la date dans un nouveau mail et dans le fichier log
echo "Subject : pompe relevage" > mail
printf -v DateDebut '%(%A %d %B à %H:%M:%S)T' -1
echo "démarrage le $DateDebut" >> log.txt
printf -v start '%(%s)T' -1
#tant que la valeur reste a 1 j'attend
while [ $i = 1 ]
do j=$((`cat /sys/class/gpio/gpio4/value`)) ;
i=$((j))
done
#on ecrit le temps total de fonctionnement
printf -v DateFin '%(%A %d %B à %H:%M:%S)T' -1
printf -v stop '%(%s)T' -1
duree=$(($stop-$start))
printf -v duree '%dh:%dm:%ds\n' $(($duree/3600)) $(($duree%3600/60)) $(($duree%60))
echo -e "$duree\n" >> log.txt
echo -e "temps de fonctionnement\n $duree\n" >> mail
echo -e " "
#la on envoie le mail
cat mail | sudo msmtp nom@domaine
done
étrangement je n'ai pas réussi a ce qu'il se lance et fonctionne au démarrage, je me connecte sur le rpi pi et lance un screen en root pour lancer le script puis me détacher, simple efficace. Comme je vais passer a un esp32 je n'ai pas approfondi le truc, j'ai des enfants et une femme a nourrir le week end et je sentais un peu de pression de ce coté au vue du temps passé :), le manager était pas trop chaud que je continue sur cette affaire.
Comme le montre la photo, faire les choses à l'arrache c'est bien, mais maintenant que tout fonctionne correctement, j'ai décidé de passer à un ESP32 pour simplifier cela et que cela soit plus propre. Enfin je l'espere :)
D. ESP32
Donc, je passe à un ESP32, surtout grâce à ChatGPT, qui m'aide à faire l'interface HTML et le serveur HTML. Pour ne pas m'embêter avec les variables et pensant que cela serait plus simple, je prends la stratégie de tout mettre dans un seul fichier .ino
(arg ! très mauvaise idée).
copie d’écran du site internet
, un bouton marche forcé et arrêt forcé, le point gris passe au vert lorsque la pompe fonctionne. la possibilité aussi de régler le temps de fonctionnement de la pompe. afin d’éviter de devoir reprogrammer l'esp32 si on change de pompe et quelle tourne plus vite ou plus lentement
Le webdesign est un métier que je respecte beaucoup maintenant; actuellement, c'est très moche mais fonctionnel.
![Source : https://i.ibb.co/K9kKbfy/img13.jpg img](local/cache-vignettes/L640xH853/img13jpg-d97d978-d4f88.jpg?1720265647)
L'ensemble est effectivement plus simple et un peu mieux fini. Je teste le tout pendant 3 mois avant de le passer en production car c'est la merde si ça ne fonctionne pas littéralement. Après 3 mois de test réel sur une maquette, tout marche bien, pouf je le passe en prod. Je me vois lancer une entreprise pour modifier les pompes de relevage de l'ensemble de la région, acheter un utilitaire et devenir riche, merci ESP32 et Arduino !
j'ai toujours une petite appréhension, car supprimer qqchose qui fonctionne par qqchoses qui devrait fonctionner mieux est toujours délicat, comme je suis mon propre décideur, aucun pb la dessus !
le code à 60% aidé avec chatgpt n'ayant pas de connaissance sur la partie serveur (attention les yeux)
https://github.com/ygueparm/lift_pump/blob/main/pompe-serveur.ino
E. Le drame
Et là, c'est le drame : l'ESP32 se bloque de temps en temps et ne se relance pas. Entre 1 jour et 3 jours, il se met dans un mode figé et ne commande pas la pompe. J'ai juste connecté la maquette sur la vraie pompe ; avant, c'était sur une pompe de test. En diminuant la fréquence de fonctionnement à 80 MHz de l'esp32, ça ne se bloque plus mais arrive à redémarrer comme un grand tous les 1, 2 ou 3 jours. Je perds l'historique des démarrages car je n'utilise pas de fichier pour les stocker c'est directement dans la mémoire, ça fonctionne et c'est le plus important. Adieu mon business plan. Ça arrive assez souvent, pas mal de personnes ont ce problème de blocage de carte pour d'autre projet. J'ai supprimé la résolution du nom pompe.com dans l'esp32 pour me connecter directement a l'adresse ip, ca a l'air aussi d'aider un peu.
je mettrais des optocoupleur pour bien séparer les entrée et sortie sur l'esp32, car il n'y a pas de raison qu'a 5 mètres ca fonctionne parfaitement bien et là cela ne fonctionne plus :/
F. Suppression des boues eau vannes
Un autre problème qui me paraît important à résoudre est la présence de boue dans la cuve.
cela a une viscosité comme de la purée, de la boue qui ne se laisse pas entrainer par la pompe. Cela favorise le gaz H2S et C'est un vrai problème : le gaz H2S va détériorer les câbles présents dans la cuve ainsi que le corps de pompe et ce serait bien que cela soit aussi recyclé vu le prix du traitement des eaux que je paye.
Il existe une solution mécanique avec une bille dans une espece de Y qui bouche le conduit de lavage petit à petit et laisse le conduit d'évacuation au fur et à mesure, mais le prix est dissuasif et plutôt utilisé dans un environnement professionnel. C'est très élégant. c'est une sorte de vanne 3 voies automatique. La solution avec des vannes 3 voies motorisé est aussi beaucoup trop couteuses a cause du diamètre de 63mm, et qui dit moteur dit panne.
Ayant maintenant 2 pompes de relevage de secours en stock, j'ai placé une pompe en plus dans la cuve, branchée en parallèle de celle qui relève. Je l'ai laissée libre, c'est-à-dire qu'elle est juste posée au fond. Lorsque les pompes démarrent pour vider la cuve, l'une évacue le liquide (avec les morceaux) et l'autre, en aspirant vers le bas et refoulant à l'horizontale, provoque des remous suffisants pour mettre en suspension les boues qui vont être aspirées par la première.
Ça fonctionne plutôt bien, les 2 pompes sont gérées par le même relais de contrôle et l'ESP32, elles ont donc la protection nécessaire. Gros avantage : si je remplis la cuve avec de l'eau, cela lave la cuve en une fois et je peux travailler dessus sans aucune odeur. Autre effet intéressant : lorsque la cuve est presque vide a 30%, le jet important de la pompe qui tourne à vide fait comme un Kärcher ou un jet d'eau puissant. Les graisses et autres particules collantes sont décrochées de la cuve. On pourrait manger dedans ! j'y ai placé un réducteur de 63mm vers 50 mm pour augmenter la pression du jet et laisser les morceau passer. et ca fait un petit mixer pour tous ce qui est papier, et autres objet solide mais fragile.
![Source : https://i.ibb.co/CBdYYtx/img12.jpg img](local/cache-vignettes/L545xH519/img12jpg-4164165-d6283.jpg?1720265648)
G. Maintenance de la pompe
C'est peu connu, mais les pompes de relevage ont un réservoir de glycérine entre l'hélice et le moteur pour l'étanchéité de la pompe sur le raccord tournant. Ce réservoir devrait être contrôlé et rempli au moins une fois par an. Il faudrait également nettoyer la cuve au moins une fois par an aux jet d'eau pour limiter les boue.
https://www.ksb.com/resource/blob/1897120/d3c152c712eb774bacac1db48d4e577e/dow-produkt-2-seiter-fr-data.pdf
C'est la même pompe que moi, le réservoir de glycérine se trouve dans la partie orangé qui semble vide, il y a une petite vis de remplissage qui n'est pas sur le document. (prix 800€ la pompe qd même ca vaut le coup de faire le plein de glycérine a 5€)
Bon courage à tous ceux qui en ont une et qui probablement tombera en panne dans les 5 ans ou plus !
H. Futur
Apprenant de mes erreurs, en ce moment je redéveloppe de zéro, tranquillement, pour avoir un peu plus de respect pour le code, avoir des fichiers entête et des fichiers dédiés aux fonctions, et un peu de factorisation de tous cela.
Utiliser un CSS, ne plus placer en RAM le code HTML, bref, faire quelque chose de plus facile à maintenir et plus propre. Forcément, c'est plus long pour mes faibles capacité.
mais ca traine un peu donc je poste en l'etat ce que j'ai deja fait.
Et si jamais la nouvelle version plus propre ne plante plus l'ESP32, je me lancerai dans l'artisanat pour corriger et aider les milliers de pompes de relevage qui n'attendent que moi. €€€€
une gestion de pompe c'est dans les 500€, un esp32 5€, voyez vous la licorne qui pointe le bout de son nez ;) ?
Commentaires :
voir le flux Atom
ouvrir dans le navigateur