Thermalduino, régulation de chauffage open source

Bonjours à tous

Voila, tout est dans le titre :slight_smile:
Je me lance (enfin depuis quelques mois) dans un projet visant à faire une régulation de chauffage pour les systèmes solaires. En fait dans le cadre de mon travail, je suis souvent confronté à des systèmes de chauffage qui ne correspondent jamais vraiment aux différents schémas-types proposés par les régulation du commerce, et également au prix prohibitif de ces régulations.

Je suis justement en cours d’installation d’un système avec capteurs solaires sous vide (80 tubes, quand même), 1000L de stockage tampon par ballon hygiénique ECS, circuit de chauffage mélangé sur radiateurs, et bouilleur à bois (buches) en thermosiphon avec circulateur de secours. Bien entendu aucune régul du commerce du moins à prix abordable ne correspond tout à fait.

Me voila donc parti pour faire ça à ma sauce, en gardant l’idée de faire un système aussi évolutif que possible, avec une base adaptable à quasiment tous les besoins.
Cette base inclut donc (au minimum)
-afficheur 4x20 + codeur pour l’interface (évolutif vers un TFT tactile par exemple)
-RTC
-datalogger sur carte SD (parceque entre le moment où le client téléphone pour dire que ça ne marche pas, et le moment ou on est sur place, ça s’est quasiment toujours remis à fonctionner…)
-grand nombre de sondes de température
-autres sondes (humidité, niveau, pression, etc…)
-grand nombre de sorties relais/triac ou PWM

les sondes de température utilisées sont des DS18B20 lorsque leur plage de température est compatible avec l’application (soit dans 99% des cas), avec possibilité d’employer une PT1000 ou un thermocouple si ça s’impose (température de fumée de chaudière par exemple)

actuellement j’ai presque fini la majorité du système de base (lecture des températures, modification des paramètres, forçage des températures, forçage des sorties, datalogger des mesures et des sorties.

le code est là : GitHub - bricofoy/thermalduino: Arduino based thermal regulation for solar heater systems

Si vous avez des idées, une utilisation pour un tel système, envie de participer, etc etc, le sujet est là pour ça :slight_smile:

beau projet, merci pour le partage

petite mise à jour avec les liens vers les topics sur des points précis relatif à ce projet

I2C + ds1307 + LCD = … le bazard
detecter erreur carte SD sans fermer/réouvrir le fichier ?
software SPI + shield SD chinois pour Uno sur une Mega → marche pas
[resolu]variable static qui se réinitialise toute seule…
interferences i2c et one wire + sortie PWM
PID et sortie sur deux relais
[resolu]version arduino et comportement du sketch
utiliser uniquement des variables globales ?

et puis bien sûr ma librairie de création de machines à états, qui est intimement liée à ce projet même si elle a été crée pour un autre :
YASM - Yet Another State Machine library

Bonsoir

Merci pour le partage. Belle réalisation

petit pinaillage : dans le fichier ods des paramètres je vois pour le 'PID pompe' un KP en secondes et un KI en °C.... on attend plutôt un KP en % ou en °K (ou °C) et un KI en secondes !

As-tu un schéma fonctionnel de l'installation ?

oui le fichier parametres a subit un certain nombres de copier/coller à des heures inavouables ces derniers jours, et les unités ne sont pas forcément correctes... la liste est OK, mais le reste pas tout à fait :P en fait j'aurais du installer la régul sur la chaufferie jeudi dernier... là je suis encore dessus

les parametres d'ailleurs c'est un gros point noir de mon code, mes tableaux c'est merdique et fort limité : tous les parametres ont le même type ce qui est fort peu pratique, je n'ai pas de moyen de fixer des bornes à certaines valeurs, etc etc il faudrait au contraire que je fasse un tableau de struct avec des membres contenant toutes les infos annexes pour chaque parametre, en plus ça simplifierait le menu avec une fonction réutilisable. je m'inspire pour ça de codes de J_M_L mais je pars de loin... pas gagné

le schéma aussi y est, "chaufferie.qet" dans /details

https://raw.githubusercontent.com/bricofoy/thermalduino/master/details/chaufferie.qet

Merci l'extension qet ne me disais rien.... je vais découvrir QElectroTech

ha oui pardon. linuxien convaincu depuis... 98 ou 99 (le bac, ça ne me rajeunit pas ! ) j'utilise autant que possible uniquement du logiciel libre, du coup comme qelectrotech est quasiment le seul éditeur de schémas qui ne soit pas orienté électronique pure...

une image des capteurs en place (en dessous des panneaux PV) :
capteur.jpg

d’autres photos de la chaufferie demain, là je en les ai pas sous la main

Bonjour Bricofoy,

Merci pour ce partage très intéressant, quelle professionnalisme, savoir faire, organisation. .. Trop fort rien à dire, j'ai jetez un oeil au projet sur Github en lisant le code vers la moitié j'ai décroché :) trop dure, trop lourd, trop fort pour ma compréhension :)

Bravo, vous êtes un Génie rien à dire Respect à vous et votre projet, Très bonne continuation.

bof, tu sais, c'est pas parcequ'un code est long et compliqué qu'il est bon... ça serait même plutot l'inverse, en général !

et de fait, mon merdier fonctionne assez mal...

voila le schéma hydraulique en image, plus lisible pour tout le monde

et voila quelques images du système en général

d’abord il a fallu percer quelques petits trous. Avec toutes les rallonges, j’en suis à 1,2m et encore j’ai du rentrer le nez de la machine dans le trou pour tout juste déboucher !

début du montage de la chaufferie :

un bricolage pour rajouter un doigt de gant en haut du ballon pour la sonde T3 :

et une vue prise depuis les capteurs :

Karmaa Bricofoy,

Purée j'ai jamais vu ça, tu est un Génie un vrai de vrai, ça c'est du Méga Projet rien avoir avec les projets en général.

Tu as voulu, vécu et vaincu ce Méga Projet, très grand Bravo et surtout merci pour le partage. Pour finir, qu'elle belle vue panoramique, te poser là-bas sur un banc et admiré le décors devrait suffire pour enlevé le stress de la vie. Très bonne continuation.

Merci pour les fleurs... mais je suis installateur solaire, cette installation n'a absolument rien d’exceptionnel, c'est très basique comme système. J'en ai d'autres de nettement plus tordues dans mes archives...

Et j'ai la chance d'habiter une belle région, j'ai souvent ce genre de vue là où je bosse :)

Bonsoir Bricofoy,

Je cherche a adapter ton projet à ma chaudière fioul (atlantic optima serie 4100B - 25kW) qui produit mon chauffage et mon ECS. Je laisserai de côté la production d'ECS pour le moment

Dans l'état actuel des choses, j'ai un thermostat d'ambiance mécanique, une thermostat mécanique sur le corps de chauffe et une vanne 3 voies mélangeuse à commande manuelle sur le circuit de chauffage. La pompe de circulation tourne en permanence.

L'idée c'est d'appliquer une loi d'eau avec une sonde T°C extérieure, une sonde T°C d'eau et une consigne d'ambiance.

Selon toi (ou les autres d'ailleurs) qu'est ce qui serai le mieux:

-Agir uniquement sur la vanne mélangeuse et laisser le thermostat mécanique dans le corps de chauffe faire du tout ou rien sur le bruleur

-inversement, asservir le bruleur et laisser la vanne mélangeuse en position intermédiaire, voire la supprimer.

-ou pour finir jouer sur les 2 (mais ça me semble plus complexe)

Quel est ton avis?

Bonjour,

Oui, il faut agir sur la vanne mélangeuse (motorisée) pour obtenir la température d'eau calculée par la loi d'eau et laisser le bruleur s'occuper du corps de chauffe. Sinon le bruleur sera soumis à de nombreux démarrages. Tu pourra aussi gérer la pompe de circulation.

oui si tu veux avoir une loi d'eau, il faut ajouter un moteur pour agir sur la vanne mélangeuse. Asservir le brûleur en puissance, si il n'est pas conçu pour ça va être compliqué, et si c'est pour faire du tout ou rien, autant laisser le thermostat se débrouiller. Enfin cela dit,rien n’empêche de rajouter une sonde dans le corps de chauffe et commander le brûleur en tout ou rien avec la régul, comme ça tu pilotes tout du même endroit.

Pour la loi d'eau, moi j'ai fait tout un merdier pour intégrer la température de consigne intérieure et la température intérieure mesurée. Et ça ne donne pas forcément de trop bon résultats, surtout parce-que ma méthode pour faire bouger la vanne n'est pas au point pour le moment, mais je n'ai pas eu le temps de m'y replonger... Pour la loi d'eau donc, tu peux aussi te contenter de faire Teau = -pente*Text + b et de piloter le circulateur en tout ou rien en fonction de T intérieure. C'est ce qui est fait dans beaucoup de reguls du commerce. Moi j'avais choisi de laisser le circulateur tourner et de diminuer la température, mais c'est pas forcément mieux

ce que j'ai fait, c'est : formule de base : Teau= -pente * Text + b

on connaît un point de la courbe : (TeauNonChauffage,TextNonChauffage) donc on a :

TeauNonChauffage = -pente * TextNonChauffage + b

donc b = TeauNonChauffage + pente * TextNonChauffage

donc la formule est alors :

Teau = -pente * Text + TeauNonChauffage + pente * TextNonChauffage

ou encore

Teau = pente * ( TextNonChauffage - Text ) + TeauNonChauffage

avec donc trois paramètres à ajuster selon le bâtiment et la météo du coin : TextNonChauffage la température extérieure à partir de laquelle il ne faut plus chauffer, TeauNonChauffage la température d'eau qui ne provoque plus de chauffage (probablement égale à la consigne de chauffage, à vérifier...)

Ensuite pour prendre en compte la température intérieure réelle, j'ai : c*(Tint - TconsigneInt), avec donc deux paramètres de plus : la consigne de température intérieure, et un coefficient de correction c

donc le calcul final est fait en deux passes :

Teau = pente * ( TextNonChauffage - Text ) + TeauNonChauffage
Teau = Teau + c * (Tint - TconsigneInt)

Si on considère que TeauNonChauffage = TconsigneInt, on peut supprimer un paramètre

Merci pour les conseils, je continu de me documenter et je vais monter un truc.

Je verrais quand l'hiver sera passé si j'ai pondu quelque chose de plus performant qu'actuellement.

Bravo pour le partage, est-ce que vous connaîtriez des solutions de pompes à eau, de circuits de chauffage, qui soient "open hardware" ou au moins, durables et réparables ?

Car ras-le-bol des pompes couteuses, qui tombent en panne, et ne sont pas réparées !!!