Routeur photovoltaïque V12 – Affichage et paramétrage

Routeur Multi Source

Pour une première description du routeur photovoltaïque F1ATB, lisez l’article suivant :https://f1atb.fr/fr/realisation-dun-routeur-photovoltaique-multi-sources-multi-modes-et-modulaire/

Le code installé sur l’ESP32 du routeur F1ATB comprend un serveur Web qui permet d’afficher sur une page, les différentes mesures ainsi que l’historique des puissances observées. Il suffit de rentrer l’adresse IP ou le ‘hostname.local ‘ de l’ESP32 dans le champ d’adresse de votre navigateur web (ex : 192.168.1.200) .

Différentes pages Web permettent le paramétrage et la programmation des actions. Il n’y a pas de code informatique à toucher.

Page principale – Accueil

En haut, une zone de menus pour choisir la page.

En dessous, l’heure (de France) fournie par le réseau.

Un tableau donne différentes valeurs mesurées ou calculées :

  • la puissance active Pw en Watt. C’est elle que vous payez lorsque vous soutirez de l’énergie,
  • la puissance apparente en VA, produit Ueff*Ieff, affichée sur le Linky, mais peu  intéressante dans notre cas
  • l’énergie active soutirée depuis 0h en Wh
  • l’énergie active totale en Wh

Dans le cas d’un capteur d’entrée type UxIx2, il y a les mêmes données pour la deuxième sonde, en général la sortie du Triac qui alimente le chauffe-eau.

Un deuxième tableau, donne l’état courant des actionneurs. Ici, l’ouverture du Triac à 51% du temps. La régulation est en cours pour ajuster la puissance consommée/injectée de la maison autour de 0W. Il est possible de forcer à ON le triac par période de 30mn.

Un premier graphe donne la puissance active en rouge et la puissance apparente en bleu vert durant les 10 dernières minutes. On remarque que durant les phases de régulation, la puissance apparente est très importante et chahutée. C’est un comportement normal. Durant une demi-sinusoïde de 10 ms, on consomme et on injecte de la puissance pour avoir un bilan nul de puissance active. Cela se traduit par une puissance apparente élevée. Il n’y a pas de somme algébrique signée, c’est une somme de carrés. Voir la vidéo sur les unités électriques https://youtu.be/xHhURisycmA . Il y a néanmoins un paradoxe. Une puissance apparente n’a pas de signe d’après sa définition mathématique. Elle est toujours positive. Le Linky ou d’autre capteur de puissance lui donne le signe de la puissance active en Watt. C’est pour cela que vous la voyez osciller fortement en positif et négatif pour suivre le signe des Watt.

Un deuxième graphe, dans le cas UxIx2, donne l’historique durant les 10 dernières minutes de l’énergie ayant traversé la deuxième sonde, ici pour alimenter le chauffe-eau.

1 à 4 capteurs de température DS18B20 peuvent être connectés sur le GPIO13. On retrouve en page d’accueil la température mesurée qui sert au contrôle des actions si besoin ainsi que son historique sur 10mn.

Plus bas sur la page, deux autres graphes donnent la puissance active sur 48H et l’énergie quotidienne (Soutirée-Injectée) en Wh sur un an. Ce dernier est stocké en mémoire ROM de l’ESP32 pour ne pas être perdu en cas de coupure de courant.

Exemple de régulation sur 10mn. La courbe rouge des Watts reste autour de zéro. La courbe bleue de la puissance apparente oscille fortement.

Page données brutes

Cette page regroupe des données brutes de mesures collectées par le système. Cela dépend du capteur de mesure en entrée.

Avec un capteur UxI, le graphe en rouge et vert donne la forme de la tension et du courant sur une période de 20ms. C’est le résultat de la mesure par l’ESP des entrées analogiques.

Avec un Linky, un premier tableau donne les principales valeurs pouvant vous intéresser pour le suivi de votre consommation. Il donne, par exemple, les pointes de consommation et d’injection des derniers jours. Ce tableau est plus fourni en triphasé, il donne certaines valeurs par phase.

Un deuxième tableau est la recopie du dernier message série reçu du Linky. Se reporter à la documentation d’Enedis, pour décoder le message.

Avec un capteur UxIx2 on affiche le contenu des mesures du module JSY-MK-194T.

  • les données de tension, courant, puissance, énergie et facteur de puissance (cosinus φ) à l’entrée de la maison
  • les mêmes données en sortie du Triac vers le chauffe-eau.
  • La fréquence du réseau

Avec l’Enphase Envoye-S Meter’ on a les tensions, courants, puissances etc..

Pour une configuration de firmware V5 la connexion à la passerelle est directe. Pour une passerelle V7, il faut s’assurer que l’on a obtenu le droit d’Enphase de collecter les données directement sur l’Envoye-S Meter’.

Un peu choquant quand on a le système installé chez soi.

En effet à partir de la version V7 du logiciel dans la passerelle Enphase, il faut faire une demande auprès d’Enphase sur 2 serveurs aux US pour obtenir un identifiant (Session Id) et un jeton d’accès (Token) qui vous permettront de lire les données pendant une durée limité.

Toute l’opération se passe automatiquement, le logiciel dans l’ESP32 s’en charge. Les 2 réponses OK montrent que cela s’est bien passé.

En cas de mesures par un ESP32 distant, ce sont les données distantes représentées ici.

Un dernier tableau fourni 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.

Top Synchronisation 10 ms du Secteur

Si vous avez connecté un gradateur/triac, sur le GPIO5 ou GPIO23, l’ESP32 reçoit une impulsion toutes les 10 ms au passage par zéro de la tension 230 V. Elle est essentielle pour déclencher l’ouverture du Triac au bon moment dans le cas de mode « Découpe Sinus ».

Le nombre d’interruptions durant 15ms permet de tester la présence du signal Zc (Zero Crossing) en provenance du gradateur (triac) toute les 10 ms. Le premier chiffre donne le nombre traité 1 ou 2. Le deuxième nombre entre 1 et 4 correspond aux interruptions reçues. L’ESP32 est très chatouilleux sur les interruptions, il en voit plus que de réalité. Un filtrage logiciel rejette les interruptions moins de 2ms après la première.

Le mode synchronisation au secteur est mentionné sur l’avant dernière ligne du tableau.

Top Synchronisation 10 ms asynchrone

En l’absence de gradateur/triac, c’est l’horloge interne à l’ESP32 qui fournit le top de synchronisation toutes les 10ms. Cette impulsion est asynchrone par rapport au secteur. Il en résulte une ouverture et fermeture des relais en mode Multi-Sinus ou Train de Sinus pas nécessairement au passage par zéro de la tension secteur. Cela peut entraîner un échauffement plus important du relais.

Capteurs de température

Le nombre de capteurs de température découverts par l’ESP32 est affiché ainsi que les dernières température relevées. Ces capteurs DS18B20 sont tous branchés en parallèle au GPIO13.

Page paramètres

Une page est dédiée au paramétrage du système. Il y a de légères variantes suivant le type de capteur d’entrée.

Routeur

Il est possible de personnaliser le routeur et les données en attribuant un nom.

Si vous avez un contrat « Tempo », vous pouvez demander l’affichage de la couleur du jour et du lendemain.

Si vous souhaitez envoyer des données à Home Assistant ou Domoticz via un broker MQTT (par exemple Mosquitto), mettez une période de répétition autre que 0 et remplissez les champs plus bas. Vous retrouverez toutes les données importantes, tension, puissance et même la température si vous avez installé un capteur DS18B20 ou l’option tarifaire si vous avez un Linky.

WIFI Sleep/veille à On, qui est le mode normal permettant 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épondra à des « Ping » autour de 10ms, mais la consommation moyenne augmente de 70mA.

Si vous souhaitez effacer les historiques des mesures de puissance et de température, clickez sur RAZ.

Si vous utilisez un capteur de puissance comme UxIx2 , UxIx3 ou Linky, on utilise par défaut les GPIOs 26 et 27. Sur certaines cartes, n’étant pas disponible, on utilisera les GPIOs 16 et 17.

Si vous avez un gradateur /Triac, par défaut utilisez les GPIOs 22 et 23. Une alternative est proposée avec les GPIOs 4 et 5.

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-installation-rapide-du-logiciel/

Liste des Routeurs en réseau

Dans le cas d’une structure avec plusieurs routeurs dans la maison, on donne ici la liste des adresse IP des ESP32 concernés. La première ligne correspond à l’adresse IP de l’ESP32 que vous paramétrez. Le champ se remplit automatiquement. Pour les autres ESP32, rentrez l’adresse et appuyez sur « Sauvegarder ». Cela servira à la lecture des températures et l’état des actions sur d’autres routeurs .

Mesure de la puissance active

En premier, définir la source des informations de puissance : UxI, UxIx2, UxIx3, Linky, Enphase-Envoy, SmartGateways, Shelly Em, Shelly Pro Em, ESP Externe ou MQTT. Voir les pages dédiées aux différents capteurs pour plus d’informations.

Nota: En l’absence de capteur branché, pour des premiers essais, sélectionnez UxI. Cela donne des mesures aléatoires des signaux sur les entrées analogiques qui ne génèrent pas de message d’erreur et de reset de l’ESP32.

Source des mesures de température

La version 12 du routeur dispose à présent de 4 canaux de température. A chacun des canals on peut y associer un source de mesure :

  • un capteur DS18B20 interne . Il peut y en avoir jusqu’à 4 de disponibles. Il faut les brancher en parallèle sur le GPIO13. Pour chacun, on peut définir une correction/offset en °C de la température
  • un capteur DS18B20 externe connecté sur un autre routeur du réseau. Il faut préciser son canal.
  • un capteur autre dont la mesure est fournie par un broker MQTT

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.

Pour chaque canal, on définit la source de mesure.

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 plus de détails sur la configuration MQTT, voir ici :https://f1atb.fr/fr/routeur-photovoltaique-pilote-via-mqtt/

Pour Home Assistant / Mosquitto, mettez le Prefix ‘homeassistant’ La découverte des entités se fera automatiquement. Pour les autres, on peut ne pas donner de préfix.

MQTT côté Domoticz (configuration matériel)

Pour Domoticz, on est plus libre (exemple : domo3).

Attention à mettre le même préfixe des 2 côtés pour l’auto découverte.

Calibration (UxI)

Dans le cas d‘une source de puissance UxI uniquement, on peut calibrer la mesure.

Sauvegarde des paramètres

Depuis la version 11 du routeur, il est possible de sauvegarder les paramètres pour les re-installer sur une nouvelle configuration à venir ou un autre ESP32.

Web OTA

Le code inclut la possibilité de le mettre à jour non pas par la liaison série entre le PC et l’ESP mais via le Wifi directement depuis l’interface Web du routeur. C’est la fonctionnalité Web OTA (On The Air) disponible depuis la version 10 du routeur.

En haut de la page « Paramètres », cliquez sur « Mise à jour par OTA ». Les différentes versions en cours vous seront proposées.

Page actions

Cette page permet de configurer les actionneurs et de définir un planning de routage. Elle offre une grande flexibilité de configuration pour s’adapter aux divers besoins.

Pilotage du Triac

La première des actions est réservée au pilotage du Triac s’il est présent. Cocher la case du mode Sinus souhaité pour l’activer. En cliquant sur + ou – on peut ajouter ou enlever des plages horaires. En déplaçant la souris horizontalement, on peut modifier les heures. Pour une plage horaire donnée, il y a 3 types d’action possible. Cliquez sur l’option choisie :

  • Triac forcé à Off (zone bleue). Pour tout arrêter
  • Triac forcé à On (100%) (zone rouge). Pour une mise en route de nuit d’un chauffe-eau par exemple
  • Triac ouvert entre 0 et 100% si Pw (puissance active en entrée de maison) < Seuil à définir, Off si supérieure au Seuil. Seuil en général à 0. (zone jaune foncé)). Mode normal de régulation.

Toutes les 200 ms, le logiciel augmente ou diminue la durée de conduction du Triac en comparant la puissance active en entrée de maison mesurée Pw au seuil fixé. Cela permet après plusieurs mesures de s’approcher de l’équilibre pour avoir une consommation/injection au niveau de la maison proche du Seuil (en général 0W) que l’on a fixé. Quand on augmente de 10% la durée d’ouverture, l’effet ne sera pas le même si vous avez une charge de 500W max connectée ou une charge de 3000W. Un curseur permet d’augmenter ou de réduire le gain de l’asservissement ou la réactivité de l’ensemble. En regardant l’historique de 10mn, on voit si la réaction à toute variation de consommation est lente ou trop rapide, engendrant une oscillation de la puissance active (courbe rouge). Pour une charge de 3000W on mettra un seuil faible autour de 5, 15.

Pilotage des relais

Les autres actions permettent de piloter un ou plusieurs relais branchés sur les sorties GPIO disponibles. Indiquez le GPIO sur lequel est connecté le relais SSR et indiquez s’il est actif avec 0V en entrée ou 3.3V ( le cas général).

Conditions de déclenchement

Dans des configurations à plusieurs relais, triacs ou routeurs, on peut mettre en place des stratégies de routage en fonction de la température, de l’energie déjà routé ou de l’energie manquante en fin de journée. La version 12 du routeur offre ses possibilités à programmer une fois que vous aurez bien maitrisé le fonctionnement de base du routeur.

Attention, si on travaille à plusieurs routeurs, il faut la même version de logiciel sur chacun.

Actif suivant la température

Il est possible de conditionner la régulation suivant la température d’un des canaux. Il faut sélectionner la source de température de l’ESP32 ou d’un autre situé sur le même réseau de la maison et présent dans la liste affichée.

Notez que les ESP32 échangent entre eux les noms des capteurs de température, des Actions et leur état d’ouverture. Il faut parfois attendre 1 à 2 mn pour que les changements apparaissent sur les ESP32 voisins du réseau.

Paramètres des actions si capteur de température installé.

Une fois le canal de température choisi, en cliquant sur la plage horaire, il est possible de conditionner le passage à On (zone rouge) ou la régulation (zone jaune foncé) à une température ou une fourchette de températures (zone jaune clair) . Ne rien mettre si l’on ne souhaite pas considérer la température.

Actif suivant l’état d’une Action

Si l’on souhaite gérer des priorités, on peut conditionner une action suivant son propre état ou l’état d’une autre active sur n’importe quel ESP du réseau.

Suivi durée équivalente d’ouverture

Pour chaque action, sur la page d’accueil du routeur vous avez le résultat du calcul de durée équivalente d’ouverture. Un Triac ou un SSR ouvert à 50% pendant 2h donne une équivalence de 1h à 100%.

Programmation la nuit

Le chauffe-eau passe à ON la nuit si la durée de chauffe de la veille est inférieure à 3h30. Ainsi on s’assure d’un minimum de chauffe par absence de soleil.

Le cumul de durée équivalente est remis à zéro à 6h du matin.

Suivi seuil d’ouverture
Programmation en journée.

Dans cet exemple, la pompe de piscine se déclenche en journée lorsque le chauffe-eau de 2000W se charge à plus de 50%, ce qui est équivalent à 1000W de surplus. La pompe ne faisant que 750W. Il n’y aura alors plus que 250W pour le chauffe-eau. Si la consommation de la maison passe à +300W, la pompe s’arrête. La nuit, on fait tourner la pompe un minimum de 3h.

C’est une commutation avec hystéréis. On passe de Off à On si on franchit une fois le seuil, après on peut être en dessous.

Ne pas oublier de mettre une temporisation pour éviter des oscillations On/Off.

Actif suivant la couleur Tempo ou Heure Pleine/Creuse

Paramètres des actions si Couleur Tempo sélectionné dans les paramètres.

Si vous avez sélectionné l’option Tempo ou que vous êtes connecté à un Linky, vous pouvez conditionner la mise en route du Triac ou des relais à l’option tarifaire en cours.

SonOff Mini R2

Modes de régulation

En mode On/Off vous ne pouvez pas réguler finement mais il est possible de piloter un relais distant comme le SonOff Mini R2 https://f1atb.fr/sonoff-mini-installer-son-firmware-simplement-par-le-wifi/

En mode Multi-Sinus ou Train de Sinus, vous pouvez réguler finement la puissance transmise à la charge. Suivant le mode choisi, différents champs sont à remplir :

  • Host: mettre l’adresse IP si relais distant ou ne rien mettre pour un relais connecté à l’ESP
  • Port: en général 80 pour une communication suivant le protocole http
  • Ordre On : pour un relais externe distant, mettre la commande demandée par le constructeur
  • Ordre Off: pour un relais externe distant, mettre la commande demandée par le constructeur.
  • Répet: répétition périodique en s si besoin de la commande. Avec 0 la commande est envoyée une seule fois au franchissement du seuil.
  • Temporisation : permet d’éviter des oscillations dans le cas d’un relais On/Off en temporisant les changements d’état. En général 0s.
Exemple d’une commande vers un dispositif externe à l’adresse IP 192.168.0.45 et acceptant des ordres sous la forme /OrdreOn……

Pour chaque plage horaire, il y a 3 types d’action de routage :

  • Off : on force l’état Off du relais
  • On: on force l’état On du relais
  • En mode On/Off : Pw < et Pw> : si la puissance active est inférieure à un seuil, le relais passe à On. Si la puissance active est supérieure à un autre seuil, le relais passe à Off. Attention, il faut que le seuil(off) – seuil(on) soit supérieur à la consommation de l’équipement connecté pour éviter un risque d’oscillation On/Off.
  • En mode Sinus : Seuil Pw : si la puissance active en entrée de maison passe en dessous, le relais commence à conduire (trames de 1/2 sinusoïde).

De même que pour le Triac, on peut conditionner l’action On ou régulé, à une température , une fourchette de températures ou la couleur Tempo.

Chaque fois que vous sauvegardez, une nouvelle action vierge est proposée. Pour enlever une action, videz les champs.

Routeur et Home Assistant et ESPHome

A titre d’exemple, l’image ci-dessous donne un ordre du routeur vers le système domotique « Home Assistant » et « ESPHome ».

Dans home Assistant la filtration de piscine peut être lancé pour 5mn. Ici le routeur, lorsque l’on injecte -400W (il y a d’autres systèmes plus prioritaires) , déclenche un webhook au format GET vers Home Assistant (Automatisations). L’ordre est répété toutes les 60s avec une temporistaion de 50s pour ne pas générer des arrêts/marches successifs.

Contrôle Externe des GPIOs

Pour des configurations associées à de la domotique, il est possible de piloter à distance les GPIOs libres. Pour bien choisir le GPIO, il y a un très bon article ici: https://www.upesy.fr/blogs/tutorials/esp32-pinout-reference-gpio-pins-ultimate-guide

La commande à passer est de la forme : http://<ip de l’ESP32>/SetGPIO?gpio=<numéro du GPIO>&out=0 ou 1;

Exemple: http://192.168.123/SetGPIO?gpio=18&out=1

Remarque CACSI

Attention, si vous avez signé un CACSI (Convention d’Autoconsommation Sans Injection), votre système interdit les injections de puissance sur le réseau public. Cela se traduit à un bridage par moment pour ne pas avoir de valeur de puissance négative (=injection) à l’entrée de la maison.

Il est impératif dans ce cas avec CACSI, d’utiliser le routeur avec un seuil de réglage des W au-dessus de zéro, par exemple la consommation talon de votre maison : 200W. Si vous passez en dessous de ce seuil et à condition que le système qui bride la sortie d’énergie vers ENEDIS ne soit pas encore actif, les W commenceront à être envoyés à votre chauffe-eau ou tout autre dispositif.

Sauvegarde

Lorsque l’on apporte des modifications à ces paramètres. Il ne faut pas oublier de les sauvegarder dans la mémoire ROM de l’ESP32 puis faire un ESP32 Reset pour que le système soit relancé avec les nouveaux paramètres.

Installation du logiciel

Le code binaire s’installe facilement sans aucune programmation. Suivre la procédure ici : https://f1atb.fr/fr/routeur-photovoltaique-installation-rapide-du-logiciel/

Pour ceux qui souhaitent voir le code source et la procédure d’installation du logiciel sur le routeur sont disponibles ici : https://f1atb.fr/fr/routeur-photovoltaique-realisation-logicielle/. Actuellement il faut compiler avec la version 3.1.0 RC1 du logiciel ESP32.

Articles sur le photovoltaïque

F1ATB André

Radio Amateur - Domotique - Photovoltaïque

Vous aimerez aussi...