Module chauffe piscine
Arduino (page 4c)
Page publiée le : 27/06/2014
Logiciel chauffe piscine.
Il doit comporter :
-un système de commande permettant la manœuvre des vannes en automatique ou par intervention humaine.
Un affichage des températures et de la position des vannes.
Une partie maintenance permettant pour réglage, dépannage et modification de paramètres.
En finale, voilà les écrans qui sont affichés. Ils ont évolué depuis la première version vue sur la première page de ce chauffe piscine.
A la mise en route du système, il y a vérification de la position des vannes.
Si tout n’est pas OK, l’erreur est affichée :
Photo 01
Ici la vanne de gauche (vanne ouvrant au chauffage ou Vanne IN) est fermée.
La vanne du bas (vanne By pass –- ou Vanne BP –- court circuite le chauffage lorsqu’elle est ouverte) est ouverte.
La vanne de droite (vanne recevant l’eau venant des panneaux ou Vanne OUT)
Le défaut signalé est donc une mauvaise position de la vanne OUT ou qu’un capteur de fin de course de cette vanne est défectueux. En premier il suffit de regarder la vanne en question côté matériel. On voit de suite si elle est bien positionnée ou non.
Si elle est bien positionnée, on passe en Maintenance en appuyant sur le « bouton » du même nom (pour mémoire, c’est un écran tactile) pour voir ceci.
Photo 02
Et on ira vérifier les fins de courses en appuyant sur Ctrl FdC (Contrôle Fin de Course).
Photo 03
Bon je n’ai pas de photo correspondant au défaut de la photo 01.
Sur la photo 03, le chiffre 1 indique la position de la vanne. Ici, les FdC fonctionnent et indiquent que la Vanne IN est fermée, ainsi que la vanne OUT, et la BP est ouverte. Donc pas de chauffage, mais une circulation normale de l’eau si la pompe est en route.
Sur le défaut de la première photo, les chiffres de la vanne OUT indiquaient 0 et 0. Ce qui laissait supposer que la vanne était en position intermédiaire, qu’un fin de course était défectueux ou mal réglé ou encore que les fins de courses n’étaient pas alimentés en +5 V. En actionnant avec un doigt le levier d’un fin de course (non sollicité par une vanne), les chiffres passent de 0 à 1 ou inversement.
Bon je ne vais pas rentrer plus avant dans le détail.
Si la vanne est réellement en position intermédiaire, on revient au menu Maintenance et on appuie sur Action vannes, ce qui nous amène à cet écran.
Photo 04
Ici, on voit que la vanne IN et la vanne OUT sont ouvertes (voyant IN et OUT en vert).
Et la BP est fermée (voyant BP sur fond noir).
Pour manœuvrer une vanne il suffit d’appuyer sur le bouton correspondant.
Bien sur si on appuie sur ouvre de la vanne IN ou OUT il ne se passe rien puisqu’elles sont déjà ouvertes.
En revanche si on appuie sur ouvre de la BP, le moteur est alors commandé et il entraîne l’ouverture de la vanne, ce qui donne :
Photo 05
Maintenant, (après avoir remis la vanne BP en position fermée) on retourne au menu Maintenance en appuyant sur le bouton Retour.
Il nous reste à visiter la page modification de température grâce au bouton Modif temp qui nous informe des températures de seuil actuellement en mémoire, et nous donne la possibilité de les modifier ou de retourner au menu Maintenance.
Photo 06
Pour démo, on va modifier une de ces températures, par exemple la t_max : cette température est celle de l’eau qui revient du chauffage. Actuellement elle est de 30°C.
Photo 07
Il suffit d’entrer la nouvelle valeur selon le format xx.xx .
Cette nouvelle valeur s’affiche sous le cadre vert qui indique la valeur en mémoire.
En même temps, si le format est respecté, un bouton Entre s’affiche entre le bouton . et le bouton Retour.
(Si le format xx.xx n’est pas respecté, la valeur entrée s’affiche en rouge clignotant. En appuyant sur Efface, on revient à la photo 07 et il faut à nouveau saisir la valeur ou quitter la page en appuyant sur Retour).
Lorsqu’on appuie sur Entre, la valeur s’affiche dans un rectangle bleu et le bouton Entre est remplacé par le bouton Valid. (Photo 08)
Photo 08
En appuyant sur Valid, la valeur est alors mise en mémoire à la place de la précédente et on revient à la page proposant les modifications de température (photo 09) qui montre que la nouvelle valeur a bien été mémorisée (ici t_max = 29.50).
Photo 09
En appuyant sur Retour, on revient au menu Maintenance (photo 02) et en appuyant sur Quitter on revient au menu principal.
Il nous reste à visiter la page affichage 3V et température avec le bouton Aff 3V et temp. En appuyant sur ce dernier on obtient cet affichage.
On y voit la position des vannes, ici les vannes IN et OUT sont ouvertes et la BP est fermée montrant que le chauffage est en service. La température ambiante au niveau des capteurs solaires est de 32.02°C, l’eau provenant de la piscine est à 29.09°C et celle qui en revient est à 28.6°C. Le fait que l’eau soit plus froide après être passée dans les capteurs solaires provient du fait qu’il y a beaucoup de vent au jour de la photo. Finalement l’eau n’est plus chauffée mais légèrement refroidie.
Ceci montre qu’il n’est pas aisé de définir les températures seuil pour la partie automatique de ce chauffage.
Le vent est donc une première difficulté.
La deuxième est en cas de passage d’un gros nuage. La température ambiante baisse et on peut se retrouver dans le même cas, c’est à dire avec de l’eau moins chaude en retour. Et ceci pour une durée pouvant aller de quelques secondes à plus de trente minutes.
La troisième difficulté est à l’approche des beaux jours avec une eau à 15°C, une température des capteurs oscillant entre 25 et 30 °C. Faut-il mettre le chauffage en service ? Les essais de cet année montrent que oui. Avec une journée quasi ensoleillée, l’eau de la piscine (64 m3) monte de 2°C. Mais avec une journée nuageuse le résultat est nul.
Dernière difficulté et non des moindres, il faut éviter que le système joue au yoyo, je veux dire qu’il ne fasse pas des mises en service et arrêt chauffage toutes les 2, 5 ou 10 minutes.
Il faudra donc rajouter des temporisations. La commande delay est à proscrire puisqu’elle revient à interrompre le déroulement du programme et ainsi non seulement les températures ne sont plus relevées, mais aucune commande de l’écran tactile n’est prise en compte. Il n’y a qu’un seul timer sur cette carte Mega.
Alors on utilisera un artifice basé sur le chrono interne en jouant avec la commande millis() qui relève le temps depuis lequel le processeur « tourne ». En sachant qu’au bout de 50 jours (environ) ce compteur revient à zéro. Cas à prendre en considération lors du calcul…
Pour le programme actuellement en service, il s’agit de la version V2.1 qui n’est pas totalement épurée et dont la partie automatique a été « débrayée ».
Je le diffuserai petit à petit.
Et si vous voulez obtenir cette version, c’est gratos parce que je ne suis pas programmeur de métier et que le code qui sort de mes neurones n’est pas optimisé.
Pour me le demander, écrivez à bob–-loginfor.fr (remplacez les tirets par l’arobas habituel)
Je ne conserve pas, ni ne donne, ni ne revends les adresses des demandeurs.
* * * * *