Root » Serveurs » Chauffage » Mon installation » 2020
L'évolution de mon installation de chauffage central
Convecteur à gaz et arduino
Evolution
Et en 2020 l'installation de chauffage central est mise à l'arrêt et remplacée par un convecteur à gaz et une commande par arduino. Mais pourquoi remplacer ce qui fonctionne parfaitement?
-

-


C'est pas ma faute que les boutons sont de travers...

La communication entre l'arduino et l'écran LCD est une communication série. Il s'agit d'un protocole standard.

Index arduino
D'autres applications avec un processeur arduino
J'ai décidé en 2019 de ne plus utiliser l'installation de chauffage central. L'ordinateur de commande ne servira que pour mesurer les températures et sera éliminé par après quand le nouveau système sera complètement opérationnel.

Problèmes avec l'installation de chauffage central...
et avec le convecteur à gaz
L'installation de chauffage central a une consommation de gaz relativement élevée et une telle installation est trop puissante pour une petite maison. La stabilisation de la température est parfaite (au dixième de degré), mais l'installation a une forte inertie thermique, qui fait que la maison ne commence à chauffer qu'au bout de 30 minutes. De là la nécessité d'avoir une programmation qui allume le chauffage au moins 30 minutes avant mon arrivée.

L'installation a également des perties importantes dans les tuyaux et dans la chaudière même. Quand je chauffe les chambres, je chauffe également la cave: le matin il faut aussi chaud à la cave que dans les chambres.

Lors du passage au chauffage par convecteur, je me suis rapidement rendu compte que ce type de chauffage avait également des inconvénients, notament causés par le thermostat mécanique. Le thermostat a un hystérésis important, la température oscille constamment autour de la valeur de consigne. J'au corrigé ce problème le jour même par un accélérateur de chauffe, mais cela provoque un autre inconvénient (mais moins important). Le thermostat mécanique ne permet pas une bonne régulation; un jour la température oscille autour de 18°, le jour suivant autour de 19° pour une même position du thermostat.

Utilisation d'un arduino
Les inconvénients du thermostat mécanique peuvent être réduits par l'utilisation d'un arduino, d'une sonde de température et d'un servo-moteur qui va régler finement le thermostat pour améliorer la stabilisation de la température.

Je travaille avec 3 niveaux de température: 19° (présent le jour), 16° (la nuit) et 12° (absent). J'ai également la possibilité d'augmenter ou de réduire la température d'un degré. La fonction booster permet d'augmenter momentanément la température pendant une dixaine de minutes, par exemple pour compenser à l'avance la chute de température quand j'ouvre les portes communicantes. J'aurais également pu placer un microswitch sur le battant de la porte, mais ca c'est un overkill.

L'avantage des températures fixes c'est qu'on a moins tendance à tricher avec le thermostat en le réglant "un peu" plus chaud quand on a froid. Le système ici force à mettre un pull quand on a froid.

Logiciel de l'arduino
Le logiciel est écrite n C, le language du compilateur arduino. C'est complètement différent de la programmation en basic qui utilise des structures différentes. Je vous signale que le basic n'a pas encore disparu, pure basic est une version qui fonctionne très bien et utilise au maximum les possibilités du système d'exploitation.

L'arduino communique avec un écran LCD (sériel 9600 baud) qui indique les paramètres en vigeur ainsi que la température actuelle. Les paramètres de fonctionnement peuvent être modifiés par des boutons-poussoirs, je n'ai donc pas à connecter un ordinateur pour modifier un des paramètres de la boucle de contre-réaction.

L'état du système est indiqué par 8 leds et il y a également 8 boutons pour régler les paramètres de fonctionnement.

Le logiciel permet de répondre rapidement aux changements de température. Pour un fonctionnement correct, l'état du poêle doit également être connu: j'utilise pour cela la troisième entrée analogique. Si la température voulue n'est pas atteinte, mais que le poêle est en fonctionnement, il ne faut pas modifier les paramètres. Il en va de même si la température est atteinte et que le poêle ne brule pas.

La mesure ne peut pas être une mesure absolue car la température de la buse d'évacuation des gaz brulés n'est pas assez constante. par contre, quand la température monte ou descend, c'est que le bruleur fonctionne ou pas. Si la température est stable, on utilise le niveau absolu.

Electronique
La partie électronique peut être limitée, car l'arduino a différentes entrées-sorties, ce qu'un ordinateur classique n'a pas. L'arduino est en fait un petit API (ordinateur programmable industriel).

Il faut 8 lignes numériques en sortie pour commander les leds via un transistor mosfet. Les orties numériques peuvent commander directement des leds, mais je préfère passer par un transistor.

Les mêmes lignes sont utilisées pour lire successivent l'état des boutons poussoirs (avec arrêt momentané des leds). Quand un bouton est enfoncé, le signal est transmis à l'entrée analogique.

La température de la pièce est mesurée avec un Pt1000. L'ampli opérationnel compense l'inertie thermique du capteur: le signal numérisé est la température de la pièce, pas la température du capteur.

Pour mesurer l'état du convecteur (arrêté ou allumé), j'avais pensé utiliser une résistance NTC qui a l'avantage d'une grande variation de la résistance, mais la mesure n'était pas consistante. Il était impossible de déterminer un seuil qui sépare les deux états. J'ai alors opté paour un second Pt1000 qui permet une mesure plus pertinente, mais la faible variation de la résistance fait que je dois ajouter un amplificateur opérationnel.

Conclusions
Le système fonctionne parfaitement, cette page reprend les modifications de dernière minute.

Comme le chauffage au gaz (convecteur) permet de chauffer très rapidement le living, il n'est pas nécessaire d'avoir un programme horaire pour mettre le chauffage en route une demi-heure avant mon arrivée. Avec le chauffage central, la maison ne commençait à chauffer qu'au bout d'une demi-heure.

Impression des paramètres
Et un an plus tard, je décide d'ajouter une petite imprimante qui me permet de voir l'évolution de la température: est-ce que la température est bien stable? Quelle est la différence en fonctionnement manuel? L'arduino permet de commander une imprimante à entrée sérielle (RS232) avec police de caractères intégrée (imprimante ASCII).

Visualisation des graphiques
Un arduino peut également stocker des données sur une carte SD, il suffit d'ajouter un shield adapté et de modifier le logiciel. Envoyer des données vers une carte SD n'est pas plus complexe qu'envoyer du texte vers une imprimante sérielle. Une application lit ensuite le fichier et le transforme en graphique qui est présenté sur mon serveur.
L'avantage du nouveau système, c'est que même avec un processeur défectueux, le chauffage peut continuer à fonctionner (c'est un vulgaire convecteur à gaz), ce qui n'était pas le cas avec la commande du chauffage central, qui nécessitait un ordinateur et des interfaces en ordre de marche. Mais pendant les 20 ans que j'ai utilisé la commande par ordinateur, je n'ai eu que de petites pannes (mauvais contacts et ordinateurs qui ne démarrent plus).

Ci dessous l'évolution des températures sur 24 heures en fonctionnement chauffage central et chauffage par convecteur à gaz (allez sur les tags cyan pour voir le graphique correspondant). De gemiddelde buitentemperatuur bedroeg 8° (centrale verwarming) en 7° (gaskachel), maar met in dit laatste geval zon van 9 tot 14 uur. In beide gevallen was de temperatuur in de kelder 12° (een maat voor de buitentemperatuur).


Chauffage central
Convecteur à gaz
Consommation 24 heures: 4.64m3 = 53kW Consommation 24 heures: 3.21m3 = 37kW
La température moyenne extérieure était de 8° (chauffage central) et 7° (convecteur), mais dans le second cas avec du soleil de 9 à 14 heures. Dans les deux cas, la température moyenne du garage était de 12°.

Le chauffage central met plus d'une heure pour chauffer le living (de 14 à 18°). Le convecteur fait monter la température en 15 minutes, mais s'arrête alors avant que la température voulue n'est atteinte. Le problème de la mauvaise stabilisation de la température sera résolu via l'électronique.

L'arduino a une résolution de 1024 pas (10 bits) alors que les convertisseurs de l'ordinateur n'avaient qu'une résolution de 256 pas (8 bits), ce qui nécessitait des trucs pour augmenter de manière artificielle la précision de la mesure. Cela n'est plus nécessaire avec l'arduino: entre 15° et 20° la tension à l'entrée du convertisseur varie de 3 à 4V, ce qui permet 200 pas de mesure (40 pas par degré).

Publicités - Reklame

-