Routeur photovoltaïque – Affichage et paramétrage

Routeur Multi Source

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 programation 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,
  • la puissance apparente en VA, produit Ueff*Ieff,
  • 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 de la 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.

Si un capteur de température DS18B20 est connecté 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 watt 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 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 la 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 entrainer un échauffement plus important du relais.

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.

Mesure de la puissance active

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

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.

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 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.

Si vous utilisez un capteur de puissance comme UxIx2 , UxIx3 ou Linky, on utilise par defaut 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 defaut utilisz 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-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 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.

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.

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 choisi :

  • 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.
Paramètres des actions si capteur de température installé.

Si votre ESP32 a un capteur de température DS18B20 connecté au GPIO13, 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. Depuis la version 9.00 du routeur, on peut indiquer une température au dixième de degré.

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

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

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 10, 20.

Pilotage des relais

SonOff Mini R2

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 indiqué s’il est actif avec 0V en entrée ou 3.3V ( le cas général).

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 source et la procédure d’installation du logiciel sur le routeur sont disponibles ici : https://f1atb.fr/fr/routeur-photovoltaique-realisation-logicielle/

Articles sur le photovoltaïque

F1ATB André

Radio Amateur - Domotique - Photovoltaïque

Vous aimerez aussi...

184 réponses

  1. Tarroux dit :

    Bonjour André ´
    J’ai réalisé le routeur triphasé avec le module Uxlx 3 . J’ai un problème avec le fonctionnement du triac .Dans la page paramètres il m’indique pas de triac. J’ai changé le Dimmer change l’esp32 sans résultat .J’ai bien du 3,3 Vlt sur l’alimentation du dimmer. Je n’arrive pas à résoudre le problème.
    Encore merci pour votre travail.
    Maurice

    • F1ATB André dit :

      Si je comprends bien votre installation, votre maison est alimenté en tri et vous mettez le routeur sur une charge en monophasé avec un Triac.
      Si pas de triac détecté, il y a plusieurs causes possibles :
      – pas de liaison Zc entre le dimmer et le Gpio23
      – phase et neutre 230V non présent sur le dimmer

      Cdlt

      • Maurice dit :

        Bonjour Alain
        Merci pour votre réponse. J’ai enfin trouvé le et les coupables. Après avoir vérifié et re vérifie j’ai pris l’oscillo. et je me suis aperçu que les impulsions ne sortaient pas de l’optocoupleur et ce sur les 2 dimmer acheté neuf ( soudure défectueuse invisible à l’œil nu) j’ai refait la soudure et tout fonctionne à merveille. Conclusion il ne faut pas faire confiance au matériel neuf.
        Encore merci André pour tés belle réalisation aussi bien en solaire que OM.
        Bonnes 73 de Maurice F6CZD

  2. Alain dit :

    Bonjour André
    Est-il possible de récupérer l’info de la puissance en cours du triac dans l’afficheur déporté.Je fais un peu de C ,mais je suis pas un pro, et je ne vois pas comment vous récupéré les infos du Routeur je me doute que c’est peut être par la page html du routeur ?
    Cordialement.

  3. Arnaud PETER dit :

    Bonjour Andre,

    Votre travail et partage est formidable, bravo pour cela !
    Autrement je rencontre des difficultés pour optimiser le règlage de mon routeur.
    J’ai un phenomene d’oscillation (voir photo https://www.xl-tech.fr/Routeur.JPG)

    Ma configuration est la suivante :
    – ESP32 indéxé sur des mesures provenant d’une passerelle ENPHASE S metered
    – Signal WIFI de l’ESP 32 : -21 db (j’ai un point d’accès à 1 metre)
    – 3 relais SSR cablé selon votre schema en TRI (https://f1atb.fr/wp-content/uploads/2024/02/Capture-decran-2024-02-14-152238.png)
    – une resistance TRI de 3x 3000W

    J’ai essayé differents règlages mais n’arrive pas à gerer cette oscillation :
    – j’ai essayé avec un reactivité de 1 / 5 / 10 / 15 / 20 = même syptome

    Ci joint une copie d’ecran de ma configuration : https://www.xl-tech.fr/Reglage.JPG
    Aureiz vous une recommandation ?

    Belle journée
    Arnaud P

    • F1ATB André dit :

      Avez vous essayez en multi-sinus?

      Une personne sur le forum a mentionné qu’elle n’arrivait pas à alimenter les 3 relais en parallèle. Elle avait utilisé 2 gpio. Un avec 2 relais, un avec 1 relais.

      Cdlt

      • Arnaud PETER dit :

        Je vais essayer en multi sinus sur 24H pour observer ….
        Apres le soleil est capricieux; alternance de nuage et eclaircie, qui mets probablement a mal le routeur …

        Pour ma part je n’ai aucun problème à alimenter les 3 relais en parallele;
        Qu’elles etaient les syptomes ?

        Ci joint quelques photos de ma configuration (que j’autorise à utiliser si vous portez un interet à la faire pour promouvoir votre projet)
        https://www.xl-tech.fr/routeur-F1AZB.pdf

        3 relais de 80A refroidi par ventilateur à l’aide d’un thermostat afin de stabiliser la température à maxi 40°C en pleine charge …
        Ainsi qu’une 2e protection par thermostat en cas de plantage afin de découpler la résistance en cas de plantage de l’ESP32 …

        • F1ATB André dit :

          Superbe installation. Je vais la mettre dans ma liste d’exemples.
          Je n’ai pas de détails sur les problèmes avec 3 relais. Ce n’était pas très clair.
          Testez lorsque vous forcez à ON, que les 3 relais s’enclenchent bien.

          Le train de sinus est très chahuté et perturbe la mesure de puissance. Le multi-sinus qui se passe en 200 à 300ms est plus lissé sur la mesure de puissance. Après l’important, c’est que le Linky ne tourne pas.

          Cdlt

  4. Gonnard Thierry dit :

    Bonjour André j’ai fait le système UxI2 avec un système déporté. Mon routeur qui mesure la puissance me donne une puissance active soutirée de 8W en moyenne que je sois en surplus ou pas . (j’ai changé le JY mais ça ne change rien) alors que celui sur la ballon fonctionne très bien mais ne régule pas du coup.
    D’où pensez vous que cela peut venir?
    Merci vraiment beaucoup

    • F1ATB André dit :

      Si le JSY, vous envoi des valeurs, c’est qu’il fonctionne. Si ces valeurs sont incorrectes, c’est que la sonde est mal placée. Avez-vous bien mis la sonde autour du fil de phase uniquement et non pas des 2, phase et neutre?

      Cdlt

      • Gonnard Thierry dit :

        Oui tout à fait mais je viens d’interchanger les deux Cartes ESP32 et apparemment ça vient de la carte ESP 32.Reste maintenant à trouver comment reseter !!! MERCI ENCORE