Routeur photovoltaïque piloté via MQTT

Routeur Multi Source V9.01_RMS

Un routeur Photovoltaïque a besoin de connaître avec précision la puissance échangée avec le réseau public en entrée de maison. Nous avons deux situations :

  • de la consommation avec de la puissance ou énergie soutirée
  • de la surproduction avec de la puissance ou énergie injectée

En fonction du bilan de puissance, le routeur peut régir pour envoyer uniquement l’excédent à un chauffe-eau, un chauffage etc.

Différents systèmes pour mesurer la puissance en entrée de maison sont disponibles. Ici, nous adressons le cas d’un système domotique qui connait cette puissance et la distribue via un serveur ou broker MQTT. Ce sont des configurations que l’on retrouve avec des systèmes domotiques comme Homme Assistant, Jeedom ou Domoticz.

Un broker MQTT est un agent qui reçoit les messages publiés par les clients MQTT et les transmet aux clients abonnés aux sujets correspondants. Il agit comme un serveur centralisé qui facilite la communication entre les clients MQTT. Cette architecture distribuée et légère fait de MQTT un choix populaire pour les applications IoT et les systèmes de messagerie en temps réel.

Modularité

La description générale du routeur avec toutes les entrées de mesure possible est donnée ici : https://f1atb.fr/fr/realisation-dun-routeur-photovoltaique-multi-sources-multi-modes-et-modulaire/

Dans une configuration d’un système connecté à un serveur MQTT il se décompose en trois fonctions :

  • la collecte de la puissance et sa distribution par un serveur MQTT
  • le traitement à l’aide d’un microcontrôleur ESP32,
  • les actionneurs avec un triac ou des relais pour alimenter différentes charges. Avec en option de contrôle, un capteur de température.

Mesure de puissance

Ici, nous nous appuyons sur un serveur MQTT qui distribue la puissance active en Watt mesurée en entrée de maison au niveau du disjoncteur principal. Sur de nombreux systèmes domotiques, l’information de puissance consommée ou injectée est disponible suite à la mise en place d’un capteur approprié. Cette information doit être fournie sous la forme d’une valeur numérique en watt signée. Positive lorsque l’on consomme de l’énergie, négative lorsque l’on injecte de l’énergie. Il est possible d’envoyer également la puissance apparente en VA ou le facteur de puissance de 0 à 1.

Comprendre les Unités Électriques en Photovoltaïque

Attention, la connaissance de la puissance active en Watt à l’entrée de la maison est obligatoire. C’est elle qui conditionne tous les calculs et les actions du routeur. La puissance apparente en VA ne sert pas au fonctionnement du routeur. On l’utilise pour affichage uniquement si elle est disponible.

Un deuxième point important est la période de rafraîchissement de la puissance active. Une fois par seconde, c’est top mais probablement impose trop d’occupation réseau, Wifi et machines. Une période de 2s est correcte et s’apparente à la solution Linky. Au-dela on saura faire fonctionner mais les performances vont baisser, le routeur mettant beaucoup de temps à corriger les variations de consommation au niveau de la maison. Néanmoins ce sera toujours mieux que pas de routeur.

Traitement

Pour collecter les mesures et effectuer les traitements, L’ESP32 est un microcontrôleur adapté à notre besoin. Il comprend :

  • des entrées/sorties numériques pour actionner un relais ou un triac si besoin,
  • des liaisons séries
  • une bonne capacité de calcul
  • une liaison WIFI pour faire du reporting à distance sur une page web ou un système de domotique.
ESP32 – Wroom – Development Board

Actionneurs

Gradateur – Triac

Pour ajuster le courant à injecter vers le chauffe-eau ou un chauffage, on utilise un gradateur de chez RobotDyn composé d’un Triac et d’un système de détection du passage à zéro de la tension. Il existe en 16A ou 24A et est disponible chez Aliexpress.
Attention, le refroidisseur d’origine du Triac est largement sous-dimensionné sachant qu’il devra fonctionner pendant plusieurs heures. Remplacez-le par un plus grand en dessoudant et déplaçant le Triac. Pensez à raccorder le refroidisseur au fil de terre pour la sécurité.

Pour en savoir plus : https://f1atb.fr/triac-gradateur-pour-routeur-photovoltaique/

Relais

Ce projet permet l’ajout de relais sur les GPIOs libres de votre choix pour commander un ou plusieurs dispositifs suivant l’état de consommation ou injection de puissance au niveau de la maison. C’est la solution que je préconise pour une interface avec MQTT qui est en général un peu lent et ne nécessite pas la réactivité du Triac en découpe sinus.

Vous pouvez connecter un relais solide (SSR). Il en existe de nombreux de 10, 25 ou 40A. Ils doivent être commandables en 3.3V. Prendre un modèle largement supérieur au besoin, typiquement un 40A pour un chauffe-eau de 2 à 3kW.

Depuis la version 8 du routeur, on peut les utiliser pour doser finement la puissance transmise comme avec un Triac. Voir ici : https://f1atb.fr/fr/routeur-photovoltaique-modes-de-regulation/

Schéma global en entrée MQTT

Le schéma ci-dessous décrit le câblage électrique du routeur en version entrée « MQTT » similaire aux versions Enphase, Shelly Em ou ESP extérieur. C’est une solution très intéressante par sa simplicité de réalisation. Quelques modules à interconnecter avec des fils d’électricien et des fils Dupont femelles.

Les LEDs + résistances visibles sur d’autres schémas sont remplacées par des modules LEDs précâblés. Ainsi, on évite les soudures.

Réalisation avec un SSR pour un réseau monophasé.

Page données brutes

Après installation du logiciel sur l’ESP32, vous pouvez accéder avec un navigateur Web à différentes pages.

La page « Données Brutes » regroupe des données de mesures collectées par l’interface MQTT.

Un tableau, fournit des informations sur l’ESP32, pour suivre son fonctionnement. En particulier, on surveille le niveau du WIFI afin qu’il ne passe pas en dessous des -80 dBm.

Page paramètres

Mesure de la puissance active

Une page est dédiée au paramétrage du système. Choisir la source MQTT (voir plus bas les paramètres d’accès au serveur). L’ESP32 va souscrire auprès du serveur MQTT l’obtention des données appelées « PuissanceMaison ».

Si vous utilisez un système domotique comme « Home Assistant » avec un serveur MQTT Mosquitto, vous pouvez créer une automatisation pour envoyer la valeur de puissance active en watt chaque fois qu’elle change.

Il est impératif d’envoyer au minimum la valeur signée en watt (+ = consommation,- = injection dans le réseau public) avec pour nom de variable Pw. On peut de même envoyer si on connaît la valeur Pva, la puissance apparente en Volt-Ampère ou Pf, le facteur de puissance.

Vous pouvez tester votre sortie vers MTT avec le logiciel MQTT explorer.

Source des mesures de température

Il est possible de conditionner le fonctionnement du routeur à une mesure de température. Le capteur peut être sur l’ESP32, le capteur d’un autre routeur, ou une valeur reçue via le broker/serveur MQTT.

Message vu par MQTT explorer

Avec Home Assistant/Mosquitto faire de même une automatisation qui envoi à intervalles réguliers (5mn), la valeur de la température. Le nom du sujet/topic au choix( TemperatureMQTT) mais la variable doit s’appeler ‘temperature’ pour être reconnue par l’ESP32.

Routeur

Il est possible de nommer le routeur, d’envoyer en retour les données de puissance et de température utilisées par le routeur ainsi que l’état des Actions. On définit une périodicité d’envoi. Ici 10s.

On peut souscrire auprès du broker/serveur MQTT, le forçage On ou Off des actionneurs pendant une durée. Comme plus haut, on crée un automatisme déclenché par exemple par un bouton.

Sur l’image de droite on un forçage du Triac1 à On durant 30mn vu par MQTT Explorer. Cet ordre, On , apparaitra sur la page d’accueil.

Pour souscrire, le nom du sujet/topic est celui que vous donnez au niveau du routeur à votre actionneur en page Actions (ici : Triac1). La variable tOnOff définie en minute le temps de forçage.

  • tOnOff:30 force à On durant 30 minutes
  • tOnOff:-40 force à Off durant 40 minutes
  • tOnOff: 0 libère le forçage, le routeur retrouve son comportement normalement programmé.

WIFI Sleep/veille à On, qui est le mode normal permetant de réduire la consommation électrique du WIFI avec des « Ping » sur le réseau autour de 200ms. Certains rencontrant des lenteurs d’accès peuvent décocher la case. L’ESP32 répondera à des « Ping » autour de 10ms, mais la consommation moyenne augmente de 70mA.

Adresse IP du routeur

Il est possible d’obtenir une adresse IP (Internet) en automatique en cochant la case DHCP, ou ce qui est préférable, la fixer soi-même. Voir ici : https://f1atb.fr/fr/routeur-photovoltaique-realisation-logicielle/

Paramètres serveur/broker MQTT

Pour tous les échanges avec un serveur MQTT, il faut indiquer à l’ESP32 comment le contacter, en indiquant son adresse IP, nom, mot de passe etc.

Pour se connecter à Mosquitto/Home Assistant il faut le préfixe ‘homeassistant’ pour faciliter l’auto découverte. Pour Domoticz, on est plus libre (exemple : domo3).

Montage

Le système en configuration « MQTT » est très simple à monter. Avec les différents modules utilisés, il n’y a pas de soudure ou presque.
Les composants sont principalement achetés sur Aliexpress en chine. La merveille d’ESP32 est de design chinois. Cela fonctionne très bien, vérifiez simplement que le mode d’expédition proposé vous assure une livraison dans les 10 à 30 jours à venir. Parfois en payant 1 euro de plus, on arrive à accélérer l’envoi.

Des exemples de montage sont visibles ici : https://f1atb.fr/exemples-montage-routeur-photovoltaique-f1atb/

Longue distance

Montage simple avec peu de composants.

Pour ceux qui ont une grande maison avec le routeur loin du WIFI, l’utilisation d’un ESP32 avec une antenne déportée permet de doubler la portée du WIFI. On peut typiquement faire du 50m, là où votre smartphone ne captera plus le Wifi.

On l’achète chez Aliexpress (module ESP32 Wroom 32U) :

La sortie antenne sur connecteur SMA permet d’y rajouter une rallonge coaxiale pour placer l’antenne dans un endroit dégagé.

Liste des courses

Ci-dessous la visualisation des modules à acheter, essentiellement chez Aliexpress. Il faut y rajouter une boite en plastique d’électricien ou autre pour les loger.

C’est un montage simple ne nécessitant pas de compétence en montage d’électronique. Juste un peu de câblages et de mécanique pour fixer les éléments

Code Source

Le code source du logiciel à implanter dans l’ESP32 est disponible ici : https://f1atb.fr/routeur-photovoltaique-simple-a-realiser/#source

Sécurité

En travaillant sur ce projet en 230V, vous acceptez d’assumer la responsabilité de votre propre sécurité et de prendre toutes les précautions nécessaires pour éviter les accidents électriques.

Responsabilité

Articles sur le photovoltaïque

F1ATB André

Radio Amateur - Domotique - Photovoltaïque

Vous aimerez aussi...

2 réponses

  1. Benoitb dit :

    Super. Le paramètre Pw n’étant pas disponible en lecture directe sur la téléinfo, il faut le calculer en faisant une dérivée de l’index de consommation par exemple ?
    Le système via mesure MQTT ne fonctionne pas avec seulement la puissance en VA ?

    • F1ATB André dit :

      La puissance en VA n’a aucun interet pour nous. Elle sert à EDF pour dimensionner les câbles.
      Dans le version Linky,je prend la dérivée avec la difficulté que c’est une valeur entière et quand il y a peu de conso, elle ne change pas.

      Cdlt