Root » Serveurs » Chauffage » Mon installation » 2020 » Electronique
L'évolution de mon installation de chauffage central
Convecteur à gaz et arduino
Electronique
L'électronique de la commande du convecteur à gaz est limitée en comparaison de l'installation de chauffage central.
-

-

Il faut très peu d'électronique pour commander la puissance du convecteur à gaz. L'arduino dispose d'entrées et de sorties numériques et analogiques, ce que l'installation précédente (avec ordinateur classique) n'avait pas. Voici ce qui est nécessaire:
  • Mesure de la température avec un Pt1000
    La température de la pièce est mesurée avec un Pt1000, une résistance calibrée. Le signal est amplifié pour obtenir un niveau de 0 à 5V (niveaux numériques de 0 à 1023).

  • Lecture du clavier envoyé à une entrée analogique
    Comme nous utilisons une entrée analogique (pour garder suffisamment de lignes numériques), nous pouvons ajouter une seconde série de touches (avec une autre résistance en série), et même une troisième série. Il ne faut pas d'électronique ici.

  • Mesure du fonctionnement du convecteur
    C'est nécessaire pour optimaliser la boucle de régulation. Il est également possible d'estimer la puissance du convecteur, mais il n'est pas (encore) fait usage de cette possibilité.

Je dois donc mesurer deux températures: la température de la pièce et la température de la buse d'évacuation des gaz brulés.

Les premiers essais (température de la buse) ont été effectués avec une résistance NTC (qui a l'avantage d'avoir un changement de résistance important), mais les mesures n'étaient pas fiables. J'ai finalement opté pour une mesure avec un Pt1000 comme pour la température de la pièce.

Une mesure normale de la température de la buse n'est pas possible: il faut attendre 3 minutes avant que la température passe au dessus de la limite de 1200Ω quand le bruleur se met en marche et 6 minutes pour que la température redescende sous la limite. La résistance de 1200Ω a été choisie parce qu'elle se trouve entre la valeur moyenne avec bruleur à l'arrêt et bruleur en marche.

La solution c'est d'utiliser un amplificateur avec légère fonction différentielle pour réagir plus rapidement. Il faut de toute façon un amplificateur opérationnel pour augmenter l'amplitude du signal. Le logiciel est adapté à la situation: tant que la température monte, c'est que le bruleur fonctionne. Quand la température est plus ou moins stable, la limite des 1200Ω est utilisée pour déterminer l'état de fonctionnement du bruleur. C'est la méthode la plus fiable et qui donne un résultat en 5 secondes (mise en marche) et 10 secondes (arrêt).

Quand la résistance dépase les 1450Ω, le logiciel sait que le convecteur à gaz fonctionne à puissance maximale, mais il n'est pas (encore) fait usage de cette possibilité.

Pour mesurer la température de la pièce, j'utilise également une fonction différentielle qui permet de compenser l'inertie thermique du capteur. Le signal envoyé à l'arduino est la température de la pièce, pas celle du capteur.

Le Pt1000 a finalement été remplacé par un capteur spécifique (LM35) qui fournit une tension de 10mV par degré, facilitant le calcul des paramètres de compensation.

Le premier circuit à droite contient un double amplificateur opérationnel pour les deux mesures de la température. Les signaux de mesure doivent être convertis en une tension de 0 à 5V.

A droite l'arduino avec toute l'électronique (sauf le circuit de mesure de la température et l'écran LCD). Pour le servo-moteur qui commande le thermostat, il y a simplement 3 fils de prévus: une masse, une alimentation et un signal numérique (niveau haut de 1ms pour un positionnement à 0°, niveau haut de 2ms pour un positionnement à 180°).

C'est un circuit tout simple en comparaison de l'usine à gaz nécessaire pour la commande de mon installation de chauffage central. L'électronique est également toute simple en comparaison de mon horloge nixie (avec également une indication de la température).

J'utilise 8 lignes numériques en sortie pour commander des leds qui vont indiquer l'état de fonctionnement du système. Les mêmes lignes servent à détecter l'état des boutons poussoirs: toutes les lignes sont mises à zéro (sauf une) et la valeur est lue par l'entrée analogique. J'effectue une lecture par seconde, ce qui produit un très léger éclat des leds.

L'alimentation en provenance d'une alimentation à découpage est filtrée pour éliminer tous les parasites qui faussent parfois les mesures analogiques.

Il y a une led bi-couleur qui s'allume en rouge en cas de communication avec l'écran (communication sérielle à 9600 baud) et en vert en cas de communication avec le servo-moteur. Dans une boucle il faut soit commander l'écran, soit le moteur, la raison est expliquée sur la page du logiciel.

A droite, un capteur Pt1000 utilisé pour mesurer la température de la buse des gaz brulés. L'avantage d'un petit capteur, c'est qu'il réagit plus rapidement aux changements de température. Un inconvénient d'un petit capteur, c'est qu'il peut chauffer à cause du courant de mesure. Il faut donc choisir un courant le plus bas possible, par exemple 1mA. Avec une telle valeur, on obtient une tension d'un peu plus d'un volt et la dissipation est d'environ 1mW, ce qui ne produit pas d'échauffement notable.

Le schéma est passé par de nombreuses versions: j'ai finalement opté pour un Pt1000 miniature pour la mesure de la température de la buse d'évacuation et un LM35 pour la mesure de la tension dans la pièce. Le LM35 est un circuit intégré qui produit un signal de 10mV par degré. A une température de 20°, nous avons un signal de 200mV qu'il faut amplifier 20× avant de l'envoyer à l'arduino.

Si j'ai finalement choisi le LM35 c'est pour plusieurs raisons techniques:

  • Un Pt1000 nécessite une routine pour transformer la résistance en température (gain et offset). La transformation n'est linéaire que sur une gamme limitée de température.

  • Un petit capteur Pt1000 chauffe un peu sous le courant de mesure, tandis qu'un gros Pt1000 réagit très lentement.
L'ampli opérationnel envoie la tension (température du living) a un voltmètre déclassé utilisé comme thermomètre. Les températures de 16 et 19 sont marquées d'une petite flèche.

Publicités - Reklame

-