vendredi 20 septembre 2019

Régulation de chauffage et même plus...

Après avoir envisagé la réalisation de A à Z d'un système de régulation de chauffage électrique à base de Raspberry et d'une interface fil pilote, je me suis finalement et heureusement orienté vers une solution existante (pourquoi réinventer l'eau chaude?) ou presque.
Le labo(rdel) :

Le matériel:

Le cœur : Raspberry Pi 3 B+ (quad cores) +  dietpi + pihole (pour d'autres raisons)

Module radio 433 MHz RFlink (Arduino 2560 mega + récepteur et émetteur 433 MHz) c'est pas cher, c'est très facile à mettre en œuvre, ça marche.
Sondes de température oregon et autre (Auriol, sans marque, RFLink est compatible avec beaucoup de module)
Prises secteur commandées en 433 MHz

Le logiciel:

DietPi (raspbian est aussi bien)
Domoticz.... pourquoi ? ben tout à fonctionné du premier coup, c'est un projet pérenne

C'est parti!

Installer depuis l'utilisateur pi ou dietpi par sudo (pas en root)

🚩Si jamais domoticz plante au redémarrage ou de temps en temps c'est justement peut-être un problème d'accès aux fichiers ou aux dossiers, donc faire :
cd domoticz
sudo service domoticz stop
sudo chown -R pi.pi *
 
ou bien : sudo chown -R dietpi.dietpi * suivant l'utilisateur qui a installer domoticz

🚩Pensez à sauvegarder la configuration de domoticz, c'est un vrai plaisir de la restaurer !
 
🚩Vous pouvez aussi sanvegarder la config de pi-hole... mais je ne suis jamais arrivé à la restaurer 😕
 

Fabrication du module "fil pilote"

L'interface montée:
Le parti pris:
La commande sera partielle: seules les commandes "Hors gel" et "Confort" seront disponibles, les raisons sont : Simplicité du montage et des commandes. Il faudra donc régler les radiateurs à un valeur de consigne légèrement supérieure à celle utilisée "normalement"
Ce qui en cas de panne du système ne pourra avoir comme conséquences que soit une température légèrement supérieure à la normale, soit une coupure de chauffage avec une protection "Hors gel" malgrés tout.
Le schéma, simple donc:
https://drive.google.com/open?id=1ZxQ2F3j3TgUWipmgAYc8Ib9v33t9pW4x

Les PCB ont été réalisés en Chine, 5 pièces pour moins de 10€ port compris (imbattable)
Schéma et tracés au format Kicad sont disponibles ici :
https://drive.google.com/file/d/1GpU_VEaQiBhTw2qPmWH0dix0gT8Tgb6J/view?usp=sharing

Il faudra après connecter l'interface au RFLink à l'aide d'un HE10 et cable en nappe puis bornier ou autres sur le RFLink. Utiliser une carte d'extension est une bonne idée:

Test du hardware:

Connecter le RFLink au PC, ouvrir un terminal sur le port série (57600 baud N 8 1) puis envoyer après boot les commandes suivantes:

mettre tout à OFF : 
10;GPIOset;30;0;OFF;
10;GPIOset;31;0;OFF;
10;GPIOset;32;0;OFF;
10;GPIOset;33;0;OFF;
10;GPIOset;34;0;OFF;
10;GPIOset;35;0;OFF;

mettre gpio ON: 
10;SETGPIO=ON;

Vérifier l'état des sorties:
10;GPIOset;30;0;ON;
10;GPIOset;30;0;OFF;

10;GPIOset;31;0;ON;
10;GPIOset;31;0;OFF;

10;GPIOset;32;0;ON;
10;GPIOset;32;0;OFF;

etc..

Création dans domoticz des dispositifs miniGPIO du RFLink :

(Configuration) > (Matériel) Dans la ligne RFLink > (Create RFLink Devices)
Saisir "10;setgpio=on" > (Ok)
(Configuration) > (Paramètres) > Paragraphe "Matériel/dispositifs:" > (Autoriser pendant 5 minutes)
Faites alors changer l'état des entrées logiques 26 27 28 et 29, les dispositifs seront créés automatiquement (attention: les autres aussi! faire le ménage après dans les dispositifs)

Ajouter les sorties numériques: (Configuration) > (Matériel) Dans la ligne RFLink > (Create RFLink Devices)
Saisir "20;01;GPIOset;ID=30;SWITCH=0;CMD=ON;" > (Ok)

(Create RFLink Devices)
Saisir "20;01;GPIOset;ID=31;SWITCH=0;CMD=ON;" > (Ok)
(Create RFLink Devices)
Saisir "20;01;GPIOset;ID=32;SWITCH=0;CMD=ON;" > (Ok)
(Create RFLink Devices)
Saisir "20;01;GPIOset;ID=33;SWITCH=0;CMD=ON;" > (Ok)
(Create RFLink Devices)
Saisir "20;01;GPIOset;ID=34;SWITCH=0;CMD=ON;" > (Ok)
(Create RFLink Devices)
Saisir "20;01;GPIOset;ID=35;SWITCH=0;CMD=ON;" > (Ok)

TeleInfo ERDF

Le port serie GPIO est utilisé dans ce cas.
....

Préparation du raspberry (V3 mini):

Dans le fichier /boot/cmdline.txt :
supprimer : console=serial0,115200
ajouter : enable_uart=1

Inutile de modifier le fichier /etc/inittab.

Dans mon cas (RPI 3 + DietPi) le port se nomme : /dev/ttyAMA0 c'est ce port que je choisi dans Domoticz

Domoticz

Ajouter le matériel "Teleinfo EDF"
et selectionner le port série





Aucun commentaire:

Enregistrer un commentaire