Introduction
Le chauffage électrique offre des possibilités de gestion inégalées, à condition de disposer de radiateurs à fil pilote (commandables). Le fil pilote est un mécanisme permettant de passer un radiateur d'un mode à l'autre (Éco, Confort, Hors Gel...) de manière totalement automatisée (par exemple en fonction du jour de la semaine, de l'heure, etc). Ceci permettra de définir dans notre habitation des zones de chauffage. Chaque zone pourra ainsi être programmée indépendamment. Il faudra toutefois s'équiper d'une centrale de programmation (ou gestionnaire d'énergie), qui se chargera d'envoyer aux radiateurs (via leurs fils pilote) les différents ordres nécessaires.
N'ayant pas trouvé dans le commerce de modèle de centrale répondant à mes besoins, j'ai décidé de créer ma propre centrale, en utilisant un ancien ordinateur PC, pour lequel j'ai écrit un logiciel de programmation de chauffage et conçu une interface se branchant sur le port parallèle LPT de l'ordinateur. Je publie ici-même l'intégralité de mes travaux, afin que d'autres puissent réutiliser cette solution.
|
Aperçu général
| Schéma logique de fonctionnement |
L'ordinateur (qui me sert également à d'autres tâches) fonctionne sous Linux. Le logiciel de programmation de chauffage est couplé à un serveur web, ce qui permet la modification des paramètres de chauffage via une simple page html. Cette interface web, que j'appellerai "HeatInterface" modifie des fichiers de configuration, qui sont ensuite lus par un programme que j'ai nommé "HeatControl". Le rôle de ce dernier est de commander le port parallèle (LPT) de l'ordinateur, en fonction des horaires et des ordres de chauffage donnés.
Bien entendu, il est impossible de connecter un radiateur directement sur le port parallèle d'un ordinateur. C'est la raison pour laquelle j'ai créé un petit circuit électronique, connecté sur le port de l'ordinateur, qui traduit les états du port en ordres de chauffage envoyés aux radiateurs via leurs fils pilotes. Le circuit possède quatre sorties pour fils pilotes, ce qui permet d'y connecter jusqu'à quatre zones de chauffage. Quatre ordres sont disponibles: Éco, Confort, Hors-Gel et Éteint.
|
La partie logicielle
| Interface web de gestion |
Le "soft" est constitué de plusieurs briques: Le serveur web, l'interface "HeatInterface", et le daemon "HeatControl". Tout cela fonctionne sous le contrôle de la distribution Linux "Debian". L'interface de gestion est en réalité un programme CGI, nécessitant donc un serveur web pour fonctionner. Pour ma part, j'ai utilisé le serveur web "Grumpy". Le daemon "HeatControl" est un programme qui se charge en mémoire, et fonctionne en permance. Le plus simple est de le charger au démarrage du système d'exploitation (par ex. via un script init.d).
Il est important de noter que certains fichiers de configurations doivent être édités manuellement. Ainsi, il sera nécessaire de placer dans le répertoire /etc/heatcontrol/ deux fichiers: "driver.cfg" et "slotnames.cfg". Le premier indiquera au daemon "HeatControl" le port LPT à utiliser (un exemple de ce fichier est fourni avec le logiciel), le second, quand à lui, est optionnel, et permet de spécifier des noms de slots personalisés (au lieu de "Slot 1", "Slot 2", etc.). Ces noms de slots seront affichés par l'interface "HeatInterface". Le fichier "slotnames.cfg" doit comporter 10 lignes, où chaque ligne correspond au nom du slot donné (par exemple la troisième ligne spécifiera le nom du slot n° 3).
Cliquez ici pour accéder à la zone de téléchargement
Nota: J'ai publié les logiciels "HeatInterface" et "HeatControl" sous licence libre GNU/GPL v3.
|
La partie matérielle
| Ordres électriques de fil pilote |
Le circuit électronique à pour but d'envoyer des ordres de chauffage spécifiques, en fonction de l'état du port LPT de l'ordinateur. Quatre ordres sont gérés: Éco, Confort, Hors-Gel et Éteint. Ces ordres correspondent à des tensions alternatives normalisées (Éco: 230V, Confort: 0V, Hors-Gel: -115V, Éteint: +115V). Ces tensions sont générées en jouant sur plusieurs relais, couplés à de simples diodes.
Afin de diminuer la consommation du circuit électronique, il est possible de remplacer les relais par des contacteurs statiques (solid state relay). Ceci assurera également une longévité plus importante du montage, et permettra aussi de faire l'économie des diodes D1, D3, D5, D7, D9, D11, D13 et D15 (dont le rôle unique est de protéger les transistors des pics de tensions générés par l'induction des bobines de relais).
Le schéma du montage est disponible ci-dessous, en plusieurs formats:
heatlpt.ps (PostScript)
heatlpt.png (PNG)
heatlpt.sch (Qucs)
Voici la liste des éléments:
T1, T2, T3, T4, T5, T6, T7, T8 - Transistors NPN, 80V/1A/1W (BC639)
R1, R3, R5, R7, R9, R11, R13, R15 - Resistances 10KΩ/0.25W
R2, R4, R6, R8, R10, R12, R14, R16 - Resistor 1.5KΩ/0.25W
LED1, LED2, LED3, LED4, LED5, LED6, LED7, LED8 - DELs vertes
D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16 - Diodes 1000V/1A (1N4007)
S1, S2, S3, S4, S5, S6, S7, S8 - Relais "normalement ouvert" à bobines 12V et contacts 250V/10A (RAS-1215)
C1 - Condensateur 470µF/25V
V1 - Alimentation électrique 12V/500mA
Live - Phase de l'installation électrique
P1 - LPT D0 (PIN #2)
P2 - LPT D1 (PIN #3)
P3 - LPT D2 (PIN #4)
P4 - LPT D3 (PIN #5)
P5 - LPT D4 (PIN #6)
P6 - LPT D5 (PIN #7)
P7 - LPT D6 (PIN #8)
P8 - LPT D7 (PIN #9)
P9 - LPT GND (PINs #18...#25)
P10 - Sortie fil pilote de zone 1
P11 - Sortie fil pilote de zone 2
P12 - Sortie fil pilote de zone 3
P13 - Sortie fil pilote de zone 4
|