U x I : Routeur Solaire pour gérer la surproduction photovoltaïque (DIY)

Modulaire — Flexible — Réactif
Version V3.04_UxI , remplacé par version V4.00_RMS

Pilotage depuis un SmartPhone ou un PC (navigateur Web)

Avec les panneaux solaires, dans une installation en autoconsommation, il est fréquent d’avoir de la surproduction d’énergie dont on ne sait que faire et qui est envoyée sur le réseau public. Une solution pour ne pas gaspiller cet excédent est de l’envoyer à un chauffe-eau électrique, un chauffage, une pompe de piscine…

Un rapide calcul, pour un chauffe-eau de 200l, équipé d’une résistance chauffante de 2400W, montre qu’il faut près d’une heure de chauffe, soit 2.3 kWh pour monter l’eau de seulement 10°.

200l*1000gr*4.18Joule*10°/3600s=2322 Wh = 2.3kWh

Chaque jour, c’est plusieurs kWh qu’il faut fournir au chauffe-eau. Pour un système classique, on effectue cela de nuit à un tarif réduit. En cas de surproduction dans la journée des panneaux photovoltaïques, il faut envoyer cette énergie au chauffe-eau. C’est une superbe batterie de stockage d’énergie. Mais, comme il est fréquent de n’avoir que quelques centaines de watts disponibles et non pas la puissance de 2400 w que demande la résistance du chauffe-eau en branchement classique, le routeur proposé ici ne fournit que cette puissance disponible.

Tableau des Versions

Différentes versions de routeur ont été décrites. La version 3.00_UxI remplace la version 2 devenue obsolète. Le hardware est inchangé, mais l’exploitation est plus simple et plus flexible.

VersionMesure courant / puissanceActionneursModulaireDomoticzMQTT / Home AssistantDescription
1Sonde Ampèremétrique
Monophasé
RelaisNonOuiNonRouteur Solaire. Mesure de Puissance avec un ESP32
2Sonde Ampèremétrique
Monophasé
Triac + RelaisNonOuiNonRéalisez un Routeur Solaire pour gérer la surproduction
3.04_UxISonde Ampèremétrique
Monophasé
Triac + RelaisOuiOuiOuiU x I : Routeur Solaire pour gérer la surproduction photovoltaïque
3.11_LinkyLinky
Monophasé ou triphasé
Triac + RelaisOuiOuiOuiRéalisez un Routeur Solaire avec un Linky
Voir à présent la version V4.00_RMS

Ce routeur propose deux types de contrôle de la puissance excédentaire :

  • à l’aide d’un Triac, agissant comme une vanne qui s’ouvre pour laisser passer la surproduction disponible en surveillant la puissance qui entre ou sort de la maison afin qu’elle soit nulle à l’aide d’une sonde de courant branchée derrière le compteur.
  • à l’aide de relais pour enclencher un moteur, une pompe

La régulation fine au Watt près, par Triac, ne fonctionne que pour les chauffe-eaux électriques ou les chauffages classiques dans lesquels se trouve une résistance électrique et un thermostat électro-mécanique pour contrôler la température. Les dispositifs à base d’électronique de contrôle doivent être alimentés en tout ou rien à l’aide de relais.

Schéma du routage de l’énergie excédentaire vers un Chauffe-Eau. Le routeur solaire agit comme une vanne ( le Triac) qui s’ouvre pour laisser passer la surproduction en surveillant la puissance active en entrée de la maison afin qu’elle soit nul.

Modularité

Système complet, Mesures et Actions, avec un seul ESP32

Le système se décompose en trois fonctions :
– la mesure de puissance au niveau du disjoncteur principal ou du Linky,
– le traitement à l’aide d’un microcontrôleur ESP32,
– les actionneurs avec un triac et des relais pour alimenter différentes charges.

Il peut s’éclater en différents modules pour s’adapter à des distances élevées entre le disjoncteur et les équipements à alimenter. De simples relais pilotables par Wifi peuvent également être contrôlés.

Système modulaire éclaté dans différents lieux de la maison.

Pour les détenteurs de serveurs de domotique comme Home Assistant ou Domoticz, les informations de puissance et d’état des actionneurs peuvent être envoyées pour y être traitées.

Matériels

Pour réaliser l’ensemble, il faut les matériels suivants:

Capteur du Courant

Transformateur de courant 100A/50mA

Pour mesurer le courant en entrée de la maison, on utilise un capteur de courant dans lequel on fait passer le fil de phase du secteur. En sortie, agissant comme un transformateur, il fournit un courant identique, mais 2000 fois plus faible. Ce courant est envoyé aux bornes d’une résistance et dont on mesure la tension générée.

Capteur de la tension

Transformateur 230V/6V (Aliexpress)

Pour mesurer la tension, on utilise un transformateur bobiné classique abaisseur de tension qui nous isole du secteur. Par exemple un 230v/6v. Il faut un modèle le plus petit possible, on ne prélève aucune puissance. Cela n’est plus très facile à trouver. Un transformateur, dit de sonnette, peut faire l’affaire.

Pour les détails de montage se référer à cet article.

Micro-Calculateur ou Microcontrôleur

ESP32 – Development Board

Pour effectuer les mesures de tension et les calculs, L’ESP32 est un microcontrôleur adapté à notre besoin. Il comprend :
– des entrées analogiques pour mesurer des tensions,
– des entrées/sorties numériques pour actionner un relais ou un triac si besoin,
– une bonne capacité de calcul
– une liaison WIFI pour faire du reporting à distance sur une page web ou un système de domotique.

Gradateur – Triac

Gradateur avec détection de zéro

Pour ajuster le courant à injecter vers le chauffe-eau, 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/

Présentation du routeur photovoltaïque U x I

Raccordement à l’ESP32

Schéma électrique complet – ESP32 Development Board 2*19 pins

Mesure

La mesure des 2 valeurs représentant la tension et le courant prend environ 150uS. En pratique, on prévoit sur une période de 20ms (1/50Hz) de prélever 100 couples de valeurs, ce qui donnera une bonne description de la tension à priori sinusoidale et du courant souvent chahuté par les alimentations à découpage.

Formules de calcul des puissances

Pour bien caler dans le temps chaque mesure, on utilise le compteur des micro-secondes de l’ESP32.

Toutes les 40 ms, on effectue :
– la mesure des tensions et courants durant 20ms
– une moyenne sur les dernières mesures pour lisser et réduire le bruit de mesure
– le calcul du courant efficace Ieff
– le calcul de la tension efficace Ueff
– le calcul de la puissance apparente Pva en kVA
– le calcul de la puissance active Pw en kW
– le cosinus φ

Configuration modulaire

Si une grande distance sépare le disjoncteur général pour la mesure de puissance et les appareils à piloter, il est possible d’éclater la structure entre plusieurs modules ESP32 qui échangeront les données par le WIFI.

En premier, on implante un module de mesure près du disjoncteur principal. Le Triac ou des relais ne sont pas nécessaires a priori, mais on peut en mettre si besoin de commander quelque chose à côté.

ESP32 en charge de la mesure de puissance uniquement

Près des dispositifs à piloter, on implante un ou des modules ESP32 avec un Triac ou des relais si besoin. Ils iront chercher les informations de puissance à l’entrée de la maison auprès de l’ESP32 chargé de la mesure.

Le même logiciel est à implanter dans les différents ESP32. Ils seront configurés à la mise en route.

ESP32 actionneur. Triac et relais en option

Page Web

Le code installé sur l’ESP32 comprend un serveur Web qui permet d’afficher sur une page, les différentes mesures ainsi que les courbes de la tension et du courant durant une période de 20 ms. Il suffit de rentrer l’adresse IP ou le ‘hostname.local ‘ de l’ESP32 dans le champ d’adresse de votre navigateur web.

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 tension efficace Ueff en Volts
  • le courant efficace Ieffen Ampère
  • la puissance apparente en VA, produit Ueff*Ieff
  • la puissance active Pw en Watt. C’est elle que vous payez. Pw>0 vous consommez sur le réseau. Pw<0 vous injectez sur le réseau
  • le cosinus(Phi), rapport entre la puissance active et la puissance apparente
  • l’énergie active soutirée depuis 0h en Wh
  • l’énergie active injectée depuis 0h en Wh

Un deuxième tableau, donne l’état courant des actionneurs. Ici, l’ouverture du Triac à 38% du temps. La régulation est en cours pour ajuster la puissance consommée/injectée de la maison autour de 0W. Un relais de chauffage est Off et une commande vers un relais externe de moteur de piscine est On.

Un premier graphe donne la puissance active en rouge et la puissance apparente en bleu-vert durant les 10 dernières minutes. Entre (0 et -1mn ) et (-4 et -10mn) on est en phase de régulation, la puissance active est proche de zéro. Entre -1 et -4mn on est en surproduction. 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 10ms, 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ée. Voir la vidéo sur les unités électriques https://youtu.be/xHhURisycmA

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.

Page données brutes

Cette page regroupe des données brutes de mesures collectées par le système.

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. Dans le cas de mesures effectuées par un ESP distant, ce sont les données distantes représentées ici.

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

Page paramètres

Une page est dédiée principalement aux paramètres réseau.

L’adresse IP de l’ESP32 est définie par votre box internet (cocher la case DHCP) ou elle est fixée par vous-même.

Si pour obtenir les données de puissance, vous n’avez pas la sonde ampèremétrique et le transformateur 6V branchés sur cet ESP, mais un autre distant, cochez la case ESP UxI Externe et rentrez l’adresse IP de ce dernier.

Si vous souhaitez envoyer des données à Domoticz, mettez une période de répétition autre que 0 et remplissez les champs. Domoticz recevra la dernière puissance Active Pw (Soutirée – Injectée) connue.

Si vous souhaitez envoyer des données à Home Assistant via un broker MQTT, mettez une période de répétition autre 0 et remplissez les champs. MQTT recevra plusieurs topics precédés d’un prefix. Exemple :
– « UxI/pva » la puissance apparente en VA
– « UxI/pw » la puissance active en W signée
– « UxI/pws » la puissance active soutirée en W
– « UxI/pwi» la puissance active injectée en W
– « UxI/easj » l’energie active soutirée du jour en Wh
– « UxI/eaij » l’energie active injectée du jour en Wh

Et en option s’ils sont activés :

– « UxI/triac » l’ouverture du Triac entre 0 et 100%

– « UxI/action1 » état binaire 0 ou 1 de l’action1 ,action2 etc..

Extrait fichier mqtt.yaml avec un prefixe "UxI/"
- state_topic: "UxI/pva"
  name: "UxI PVA"
  unique_id: uxi_pva
  unit_of_measurement: VA
  device_class: apparent_power
- state_topic: "UxI/easj"
  name: "UxI E Soutirée "
  unique_id: uxi_easj
  unit_of_measurement: Wh
  state_class: total_increasing
  device_class: energy
- state_topic: "UxI/eaij"
  name: "UxI E Injectée "
  unique_id: uxi_eaij
  unit_of_measurement: Wh
  state_class: total_increasing
  device_class: energy
- state_topic: "UxI/pw"
  name: "UxI PW"
  unique_id: uxi_pw
  unit_of_measurement: W
  device_class: power
- state_topic: "UxI/pws"
  name: "UxI PW Soutirée"
  unique_id: uxi_pws
  unit_of_measurement: W
  device_class: power
- state_topic: "UxI/pwi"
  name: "UxI PW Injectée"
  unique_id: uxi_pwi
  unit_of_measurement: W
  device_class: power
- state_topic: "UxI/triac"
  name: "UxI Triac"
  unique_id: uxi_triac
  unit_of_measurement: '%'
- state_topic: "UxI/action1"
  name: "UxI Action1 Relais"
  unique_id: uxi_action1
Calibration

L’ESP en charge de la mesure de tension et du courant nécessite une calibration des valeurs mesurées pour s’adapter aux disparités des transformateurs, résistances etc. Commencer par la tension en mesurant votre tension secteur avec un voltmètre ou l’affichage du Linky et adapter le coefficient multiplicateur pour avoir la même valeur affichée sur la page d’Accueil. Un coefficient de 1000, correspond au schéma avec un transformateur de 6V. Baisser ce coefficient si la tension affichée est trop haute, montez-le si elle est trop basse.

Pour la calibration du courant, il est préférable de le faire lorsque la consommation de la maison est forte. On utilise la puissance apparente instantanée affichée en VA au niveau du Linky. On ajuste le coefficient pour avoir sur la page d’accueil des valeurs similaires à celle du Linky.

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.

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.

La première des actions est réservée au pilotage du Triac. Cocher la case 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 :

  • Triac forcé à Off
  • Triac forcé à On (100%)
  • 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.
SonOff Mini R2

Toutes les 200 ms, le logiciel augmente ou diminue la durée de conduction du Triac en comparant la puissance 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).

Les autres actions permettent de piloter des relais branchés sur les sorties GPIO disponibles (sauf les GPIO32, GPIO33, GPIO35) ou de piloter un relais distant comme le SonOff Mini R2 https://f1atb.fr/sonoff-mini-installer-son-firmware-simplement-par-le-wifi/

Il faut remplir les différents champs :

  • Host: mettre « localhost » sans les «  » si le relais est connecté à cet ESP32 ou l’adresse IP du relais distant
  • Port: en général 80 pour une communication suivant le protocole http
  • On : pour un relais local mettre « gpio=17&out=1 » si l’on souhaite mettre à 1 la sortie GPIO 17. Pour un relais externe distant, mettre la commande demandée par le constructeur
  • Off: pour un relais local mettre « gpio=17&out=0&init=0 » si l’on souhaite mettre à 0 la sortie GPIO 17 et l’inialiser à 0 à la mise en route
  • 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.

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

  • Pas de contrôle: il ne se passe rien.
  • Off : on force l’état Off du relais
  • On: on force l’état On du relais
  • 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 fin de configuration, ne pas oublier de sauvegarder.

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

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.

Montage

Montage

Dans une boite d’électricien, on installe :

  • La carte ESP32 (Development Board 2*19 pins) chez Aliexpress ou plus rapidement une carte 2*16 broches ESP 32 Wroom chez uPesy.fr)
  • Une alimentation 230V – 5V 1A DC pour l’ESP32
  • Un transformateur basse tension 230V – 6V AC pour mesurer la tension (Aliexpress)
  • Un gradateur 16A ou 24A de RobotDyn suivant la puissance du chauffe-eau (Aliexpress)
  • Sonde de courant 100A/50ma (Aliexpress)
    • Résistances R1 et R2 : entre 470 et 820 Ω 1/4 ou 1/8W
    • R3 : 24 Ω 1/4W
    • R4 : 24000 Ω 1/4 ou 1/8 W (À ajuster suivant transformateur)
      • R5 : 4700 Ω 1/4 ou 1/8W (À ajuster suivant transformateur)
      • R6 et R7 : 4700 Ω 1/4 ou 1/8W
  • Condensateur C1 : 10μF ou plus en 12V ou plus
  • Condensateur C2 : 220μF à 470μF en 12V ou plus
  • 2 LEDS en face avant
  • Du fil de câblage et une plaque à trou pour le montage
  • Un fusible (option) pour protéger l’arrivée 230V
  • Un ou des relais (option) solides ou électromécanique pilotable 3.3V

Raccordé à cette boite, on a la sonde de courant à placer autour du fil de phase du secteur à mesurer. Relier le blindage à la masse (Gnd) pour éviter de capter du bruit électrique.

Longue distance

Pour ceux qui sont sur une grande habitation avec le disjoncteur ou les actionneurs loin du routeur 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.

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

Implantation

ESP32 avec antenne déportée et Triac. Refroidisseur remplacé permettant de piloter des charges de maximum 1500W.
Important refroidisseur avec une charge de 3000W

Code Source

L’ensemble du code est écrit en utilisant l’IDE Arduino. Il est injecté dans un premier temps par la liaison série, puis une fois en place, on peut le modifier si besoin par le Wifi (voir les explications ici). Il faut dans les préférences de l’IDE, faire appel au gestionnaire de carte de « Espressif » qui développe l’ESP32. Allez dans Fichier / Préférences et mettez l’adresse : https://dl.espressif.com/dl/package_esp32_index.json

Le code source est composé de 9 fichiers à installer dans le même dossier.

Il est disponible ici sous forme d’un .zip:

Dezipper l’ensemble et ouvrez dans l’IDE Arduino (version 2.xx) le fichier RouteurSolaire_V_3_04_UxI.ino.
Vérifiez que vous avez les bibliothèques installées sur votre IDE Arduino :
– RemoteDebug
– PubSubClient
Pour la compilation du fichier RouteurSolaire_V_3_04_UxI.ino, veuillez sélectionner la carte ESP32 Dev Module ainsi que le port de COM de Windows sur lequel est branchée la carte par le port série. Avec certaines cartes, si le téléversement du code dans l’ESP32 ne se fait pas, il faut presser sur le bouton reset au début de la tentative de téléversement.

Premier lancement du programme

Au premier lancement du programme dans l’ESP32, le logiciel ne connait pas le nom et le mot de passe de votre réseau Wifi. Il va créer son propre réseau Wifi et passer en mode point d’accès. Sur votre Smartphone ou PC portable, regardez la liste des WiFi disponibles. Connectez-vous à celui qui porte le nom UxI-ESP32….., il n’y a pas de mot de passe. Ouvrez un navigateur web et rentrez l’adresse 192.168.4.1 qui correspond à l’ESP32. Il va vous renvoyez une page vous demandant le nom du WiFi de votre habitation auquel se connecter à l’avenir et le mot de passe.

Regardez, le moniteur série de l’Arduino, vous trouverez l’adresse IP sur votre réseau Wifi qui a été attribuée automatiquement par la box (DHCP) qui gère le réseau. Appuyez sur Reset si besoin pour relancer le démarrage de l’ESP32 et sa connexion au réseau WIFI que vous lui avez indiqué. Rentrez cette adresse IP dans un navigateur Web connecté à votre réseau et vous serez connecté à l’ESP32. Il n’y a rien à modifier dans le code comme dans la version V2.

Au démarrage ou après un « Reset », les 2 LEDs clignotent simultanément lorsque l’ESP32 cherche à se connecter au réseau WIFI.

Adresse IP fixe

Si vous souhaitez fixer vous-même l’adresse IP, allez faire un tour auprès de votre box à la rubrique réseau / DHCP, vous trouverez le champ des adresses dynamiques. Par exemple, souvent les Livebox d’Orange attribuent des adresses dynamiques DHCP entre 192.168.1.10 et 192.168.1.150. Il vous reste alors un champ libre pour attribuer vos propres adresses entre 192.168.1.151 et 192.168.1.253. Fréquemment, les .254 et .255 sont réservés à autre chose. Vous pouvez ainsi donner comme adresse 192.168.1.200 à l’ESP32 si aucune autre machine sur le réseau occupe déjà cette adresse.

IPAddress gateway correspond à l’adresse IP de votre box. C’est elle qui fait la passerelle (gateway) avec le monde extérieur. Chez Orange, c’est en général 192.168.1.1. Chez Free, c’est plutôt 192.168.0.254. Les trois premiers chiffres 192.168.0 ou 192.168.1 doivent être les mêmes pour la box et votre ESP.

Arduino 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. C’est la fonction Arduino OTA (On The Air). Dans l’IDE Arduino, allez à Outils/Port/Réseau Port vous y trouverez mentionné la carte ESP32 du routeur. Sélectionnez là et le téléchargement se fera via le Wifi et non plus le port série. L’IDE Arduino vous demande un mot de passe lors de la compilation. Répondez n’importe quoi, 1 lettre minimum. Cette fonctionnalité est bien utile, une fois le routeur implanté probablement loin de votre PC.

Bugs Soft

Attention, si vous n’arrivez pas à communiquer entre votre PC et l’ESP32, c’est qu’il vous manque le driver pour l’interface USB. En général, c’est le CP2102 qui se trouve sur la carte ESP32. De nombreux Tutos sur internet expliquent comment l’installer. Exemple: https://techexplorations.com/guides/esp32/begin/cp21xxx/

Sur certaines configurations, lors de la compilation, il y a une erreur de librairie inexistante :…..include <hwcrypto/sha.h>
Avec un editeur de texte, ouvrez le fichier dans vos bibliothèques Arduino C:Users/Utilisateur/Documents/Arduino/libraries/RemoteDebug/src/utility/Websockets.cpp
Le début de l’adresse peut changer suivant l’utilisateur. Retrouvez le dossier Arduino pour localiser le fichier dans les sous-dossiers.

A la ligne 42, remplacez :
#include <hwcrypto/sha.h>
par
#include <esp32/sha.h>

Ne me demandez pas pourquoi, sur mon PC de bureau, je n’ai pas besoin de faire cette modification, sur mon PC portable, j’ai besoin.

Remarque

Si vous regardez les premières lignes du programme, il y a 2 constantes :

#define HOSTNAME « UxI-ESP32-« 

#define CLE_Rom_Init 1234567892

La première définie le début du nom de votre ESP sur le réseau, le deuxième est une clé qui permet de tester si le programme a déjà tourné. Au premier lancement, la mémoire de stockage en ROM est virginisée, par la suite, elle contiendra tous les paramètres de configuration et l’état des compteurs d’énergie en Wh chaque jour à 0h. Si vous voulez, virginiser à nouveau la mémoire, changé la constante. Attention, votre ESP32 repartira en mode point d’accès, puis une fois le réseau WiFi connu, il aura une adresse IP obtenue par la box internet (DHCP).

Debug en ligne

Si vous êtes branché par le port série à l’ESP32, les messages de debug sous la forme Serial.print(…) ou Serial.println() sont disponibles sur le moniteur de l’IDE Arduino à 115200 bauds.

Si vous êtes branché uniquement en Wifi, le debugger de Joao Lopes est implanté dans le logiciel. Il est accessible par le navigateur web. Téléchargez le code ici: https://github.com/JoaoLopesF/RemoteDebugApp , décompressez le zip dans un dossier quelconque et cliquez sur index.html. Rentrez l’adresse IP de l’ESP32 pour obtenir les messages envoyés par les Debug.print() ou Debug.println(…) .

Watchdog

Le fonctionnement de l’ESP32 est surveillé par un watchdog (chien de garde). Si l’ESP32 se bloque pendant 120s, l’ESP32 se reset. Si vous ne voulez pas être embêté par cela durant des essais, passez en commentaire // les lignes ou il y a esp_task_wdt…..
De même, un test sur la présence du Wifi est effectué. En l’absence de WIFI, au bout de 10mn, l’ESP32 se reset.

Diagramme fonctionnel

Ici, nous exploitons les capacités double cœur de l’ESP32.

Le « Cœur 0 » effectue le prélèvement des mesures de tension et courant pendant 20ms ainsi que le calcul des puissances. Il répète l’opération toutes les 40ms.

Le « Cœur 1 » gère les surproductions et communique par WIFI.

Le gradateur avec le signal Zero Crossing toute les 10ms, permet de synchroniser l’ensemble en activant une interruption sur l’ESP32. Un timer fourni une interruption interne toute les 100μs permettant de générer un retard de 0 à 10ms par pas de 100μs pour déclencher l’ouverture du triac à l’instant défini par le logiciel.

Exemple de routage et régulation à Zéro Watt

Dans cet exemple, l’ouverture du triac vers le chauffe-eau est d’environ 50% du temps (5ms). Le système se régule pour avoir une puissance échangée avec le réseau public autour de 0W . Sur une durée d’une demi sinusoïde de 10 ms, on a une première période où l’on injecte de l’énergie puis le Triac s’ouvre, on consomme de l’énergie sur le réseau. La somme des 100 mesures du produit U*I sur la période de 20 ms donne un résultat proche de zéro en Watt. Par contre, pour le calcul de la puissance apparente qui est le produit de la tension et du courant efficaces qui ne tient pas compte du signe (voir formules ci-dessus), on a une valeur importante en VA.

Votre fournisseur d’électricité vous facture en fonction des W ou Wh et non pas sur le VA (puissance apparente).

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

500 réponses

  1. Christophe L. dit :

    Bonjour André.

    Tout d’abord je tiens à vous remercier une nouvelle fois pour votre travail et votre implication pour tous les projets que vous réaliser qui nous sont tous bien utiles et profitables !

    Je viens de réaliser le routeur UxI et je suis en train de le tester à blanc avec une ampoule à la sortie du Triac pour le moment. Je dois avouer que ça fonctionne plutôt bien mis à part quelques détails qui m’intriguent.

    En effet, j’ai:
    – Le même modèle de pince que vous. J’ai mesuré la résistance interne et elle est des 200 ohms.
    – Un transformateur commandé sur ali en me calquant sur vos préconisations et finalement j’ai reçu un modèle 6V/3W.

    Aussi je tiens à préciser que j’ai bien souvent du 236/237V mesurés au secteur. Du coup je me suis retrouvé avec une tension oscillant entre 6,9 V et 7V en sortie du transformateur. J’ai dû augmenter R4 à 27Kohm ce qui m’a permis d’avoir une tension abaissée de référence de 1,02V/1,03V AC ce qui je pense est tout à fait acceptable. La tension de référence que j’obtiens pour la mesure de I est de 1,637V DC.

    Maintenant ce que je trouve étrange est que je suis obligé d’appliquer un coefficient de 1450 pour Ieff pour retrouver une mesure de VA similaire au linky lorsque je suis en talon de consommation (contre 835 pour Ueff). Ca vous semble normal ? Serait-ce lié au transformateur qui fait 3W au lieu de 1W ?

    Je tiens aussi à préciser que dans mon coffret électrique les 2 fils en sortie de mon compteur sont vraiment très proches ainsi que la terre et que du coup j’ai dû insérer la pince de mesure entre ceux-ci pour arriver à faire passer la phase à l’intérieur. Est ce que vous pensez que ça peu fausser un peu les mesures ? Je peux vous envoyer une photo si vous le souhaitez.

    Aussi, vous préconisez d’étalonner Ieff en faisant en sorte de mettre en route un appareil fortement consommateur. Le soucis de mon côté est que quand je fais ça, mon Ueff mesuré chute beaucoup plus que la réalité et les VA ne correspondent plus à ce qui est affiché sur le Linky. Là aussi il y a un écart important.

    Une dernière question. N’est il pas préférable de faire cet étalonnage les panneaux éteints pour ne pas fausser les mesures ?

    Merci d’avance.

    • F1ATB André dit :

      La puissance du transfo 6V ne joue pas. On ne consomme rien.
      Faites un calibrage de Ieff le soir sans photovoltaïque avec une grosse consommation (four par exemple).
      Votre sonde est peut-être un peu perturbée par la présence à côté de l’autre phase. Ce qui explique un coef de 1450.
      Cdlt

      • Christophe L. dit :

        Bonjour André.

        Après plusieurs investigations j’ai fini par trouver d’où cela provenait. En fait j’utilise une plaque d’essai et il se trouve que je n’avais pas suffisamment coupé une piste et donc j’avais une légère résistance résiduelle et comme de juste sur la mesure de I. Du coup maintenant j’ai un coef. multiplicateur de 1150 ce qui fait une sacrée différence !

        Par contre maintenant je rencontre un autre problème. En effet, je possède un cumulus avec un contacter HC / HP que je souhaiterais conserver. Sur un de vos schémas vous montrez comment effectuer les branchements (phase à couper uniquement) sauf qu’il apparait que les neutres du cumulus et de l’entrée du contacteur HC / HP sont reliées ensemble alors que ce n’est pas du tout le cas ! Le contacteur que je possède coupe aussi bien le neutre que la phase qui vont à mon cumulus. Comment peut on faire dans ce cas ? Merci d’avance.

        • F1ATB André dit :

          Ce n’est pas grave. Laisser le neutre branché en permanence et vous faites passer la phase par le Triac.
          Cdlt

          • Christophe L. dit :

            Merci beaucoup pour votre réponse rapide, du coup j’ai fait appel à un ami électricien et il m’a résolu le problème en 2 temps 3 mouvements ! Merci encore pour votre implication et votre travail, franchement ça marche du tonnerre. Et les plages horaires c’est vraiment le top !

          • F1ATB André dit :

            Merci

      • Comte nicolas dit :

        Bonjour
        Merci encore pour le partage .

        est il possible d’utiliser la Passerelle de communication ECU-C ZIGBEE d’APsystems à la place de la pince ampèremétrique . Un appairage en zigbee ou utilisation wifi est il possible avec votre routeur solaire. ( utilisation d’un programme sur l’esp32 )

        Sinon
        Dans le cadre de la mesure avec Le linky , si je n’ai pas de contrat avec edf donc pas de mesure de la puissance envoyée sur le réseau edf . Cela ne fonctionne pas ?

        • F1ATB André dit :

          Avec l’ECU-C d’AP système on ne peut collecter les puissances que toutes les 5mn (valeur de mémoire) je crois. Pour un bon routeur, il faut plutôt être autour de la seconde. Le Linky avec 2 secondes c’est acceptable. 5mn, ce n’est pas acceptable. Mettez une sonde ampèremètre et un transformateur dans la version UxI du routeur pour ne pas avoir besoin du Linky. Vous aurez une mesure toutes les 40ms.
          Cdlt

  2. JACK GAUDOUX dit :

    Bonjour André,
    Merci pour votre partage et pour votre réactivité dans les échanges que je lis régulièrement depuis début juin.
    La dernière V3.03_UxI est très précise avec des graphiques qui matérialisent très bien l’état de la consommation/production pour un novice en électricité.
    Suite à la question de SEB, j’ai modifié le routage du Triac pour qu’il puisse réagir durant les heures creuses de 12:36 à 15:36 dans mon cas.
    J’observe un tracé sur le graphique Moyenne puissance/Puissance apparente « chaotique » qui démontre que V3.03_UxI travaille.
    Novice aussi en matière de thermostat de chauffe eau, je me demande si c’est utile de couper le Triac durant les heures creuses alors que votre programme gère parfaitement la consommation ?
    Encore merci.

    • F1ATB André dit :

      Le système peut gérer les heures creuses en se basant sur l’horloge.
      Si vous prenez la douche le matin en général, laissez le Triac chauffer dans la journée si de l’energie est disponible. Ne pas forcer l’heure creuse à midi si vous avez du soleil l’après midi, vous n’en profiterez pas.
      Cdlt

      • JACK GAUDOUX dit :

        Bonjour André,
        Je note ces précisions pour optimiser l’efficacité de la récupération d’énergie solaire.
        Je vais suivre de près votre actualité notamment pour la température du Triac.
        Actuellement j’utilise votre code du capteur DS18B20 pour contrôler les variations de température du Triac sur les ailettes du radiateur amélioré. Ca se passe bien (42 degrés max) pour la production de 2 panneaux de 405W chacun. Dans un mois je vais doubler la surface, ce contrôle de température me semble très utile.
        Cordialement.

  3. Michel.P dit :

    Bonjour André.
    Merci pour ce super travail et vos explications très précises pour un néophyte comme moi ni électronicien , ni informaticien.
    J’ai commencé la réalisation du montage du routeur solaire version 3.3 . Je procède étape par étape en vérifiant à chaque étape que je retrouve bien les données que vous fournissez dans votre tuto . J’ai actuellement réalisé la partie transformateur alternatif 6 volts , 1w qui délivre 7,5 v à vide, câblé avec la pince SCT013 mais pas raccordé de dimmer ni de relay.
    Mon montage correspond à la partie gauche de votre Schéma .
    J’ai téléversée le code dans l’ESP32 et je peux visualiser sur mon smartphone les données le l’outil.
    Hors je bloque sur la partie étalonnage dans la page données Brute., Je n’arrive pas à avoir une sinusoïde propre la courbe est aplatie en haut et en bas avec les valeurs R4 240K et R5 47K J’ai modifié les valeurs R4 et R5 sans obtenir de résultat probant .
    J’arrive à obtenir une demi période propre en positif avec une tension de 1,3 V sur le GPIO 32 , mais l’autre demi période est aplatie en négatif et beaucoup plus longue en temps , cela quelque soit les valeurs R4 et R5 . Actuellement j’ai R5 à 47K et R4 130K pour une demi période propre en positif. Si je fais passer une tension dans la pince SCT013 je retrouve bien les infos Intensité et puissance dans la page accueil.
    Un élément du montage est-il défectueux et comment le tester?
    Cordialement

    • F1ATB André dit :

      Il n’est pas impossible que cela soit dû à des résistances trop élevées par rapport à la résistance d’entrée de l’ESP. Divisé par 10 les valeurs et mettez 4.7K et 13K.
      Cdlt

      • Michel.p dit :

        J’avais dans mes essais essayé avec ces valeurs et avec les mêmes résultats. J’ai oublié de preciser que pour le montage j’ai utilisé un condensteur de 22micro 50v n’ayant pas de 10 micro .
        si vous pensez que cela peux provenir de l’esp je peux faire l’essai avec un autre. celui que j’utilise est un 30 broches.
        cdlt

        • F1ATB André dit :

          Pas de souci avec la 22 micro 50V.
          Maintenant je ne m’explique pas l’asymétrie dans votre courbe de tension.

  4. Nutta dit :

    J’ai un ESP UxI avec un RobotDyn pour le chauffe eau, puis un deuxième distant avec un relais pour pompe piscine.
    Celui destiné à la piscine n’est pas encore branché sur la pompe (donc même si l’onglet indique « pompe piscine ON », il n’y a pas de conso).
    Lors des essais à vide, le relais pompe s’enclenche parfois alors qu’il n’y a pas réellement de puissance disponible car celle-ci est envoyée vers le chauffe eau.

    Je vois qu’il y a un pic (entre -5 et -4 min sur photos jointes) sur le tracé du signal « puissance active » – ce pic est inversé entre les deux ESP – ceci explique le démarrage du relais « pompe » (le pic négatif fait démarrer la pompe), mais je ne sais pas d’où provient cette inversion.

    https://i.servimg.com/u/f81/15/44/36/18/cumulu10.jpg

    https://i.servimg.com/u/f81/15/44/36/18/pompe10.jpg

    • F1ATB André dit :

      Si pour les 2 ESP vous avez mis le seuil de déclenchement à 0W. Ils peuvent déclencher l’un ou l’autre ou les 2. Cela dépend de la réactivité, du temps de transfert de l’info etc. Mettez le seuil du chauffe-eau à 0 et le seuil de la piscine à -20. Ainsi quand le chauffe-eau s’arrêtera parce qu’il a rejoint sa température, la piscine prendra la main.
      Cdlt

      • Nutta dit :

        Je me suis mal exprimé.
        Le seuil de déclenchement de la piscine a (expérimentalement) été réglé à -100W.
        Il y a eu un pic positif de 350W environ mais le truc c’est que ce même pic est négatif (et de -220W cette fois-ci) sur la page web de la piscine et donc cela a enclenché le relais.

        Les 2 photos sont des captures des 2 ESP au même instant (à 20 secondes près) – les deux pics de signes et de valeurs différentes ont pourtant eu lieu au même instant.

        • F1ATB André dit :

          On prélève pour la courbe 1 point toutes les 2 secondes. Si dans ces 2 secondes, on a un pic positif suivi d’un négatif, suivant l’instant de prélèvement, on a un résultat différent.

  5. Daniel Billès dit :

    Bonjour André,

    J’utilise la dernière version du routeur solaire V3.03 Uxl le soucie que j’ai chez moi avec l’esp32 est que certains jours il se bloque, est il reste bloqué si je n’interviens pas, je coupe l’alimentation secteur puis je rebranche aussitôt et ça refonctionne après.

    J’ai essayé de changer la carte ESP 32 c’est pareil, j’ai changé l’alimentation 5v pareil aussi, je suis dans une impasse.

    Cordialement.

    • F1ATB André dit :

      Je vois pas trop pourquoi. Peut être un signal WIFI trop faible?

    • F1ATB André dit :

      J’ai sorti une mise à jour version 3.04_UxI qui corrige un bug mais qui n’affecte que le cas de systèmes connectés à un ESP distant. Je ne sais pas si c’est votre cas.
      Cdlt

  6. Haeflinger Patrick dit :

    Tout d’abord félicitations pour votre développement, c’est vraiment super.
    Je suis en train de partir de votre code pour rajouter un deuxième triac pour un deuxième chauffe eau. Je compte aussi rajouter du coup deux tores de mesure pour savoir si les chauffe eau ont atteint leur température (commande active et non consommation = température atteinte ) ce qui permettra de passer d’un chauffe eau à l’autre (enfin c’est l’objectif) et de savoir s’il faut rajouter une séquence la nuit . Je rajoute aussi un afficheur de 4 lignes de 20 caractères pour avoir des indications directement lisibles (en plus des pages web).
    Sur le code existant de la version 3_03 je me demandais s’il ne manquait pas deux instructions « break » après les lignes 520 et 522 dans le fichier « RouteurSolaire_V_3_03_UxI.ino ». Si j’arrive à faire ce que je désire je suis prêt à vous fournir gratuitement le code si cela vous intéresse
    Cordialement
    Patrick

    • F1ATB André dit :

      Bien vu, il y a un bug sur la version 3.03. J’ai publié le correctif, une version 3.04, RouteurSolaire_V_3_04_UxI
      À la place de 2 Triacs, vous pouvez mettre un relais et un Triac.
      Le Triac régule autour de 0W et si jamais le premier chauffe-eau atteint sa température, un relais basculant à -50W commutera le Triac vers le deuxième chauffe-eau.

      La prochaine version (V4) qui devrait sortir vers la fin du mois aura un capteur de température DS18B20

      Cdlt

      • Haeflinger Patrick dit :

        Effectivement mettre un relais en sortie du triac est aussi une solution envisageable, je vais réfléchir à celle que je vais finalement utiliser. Quant à la version avec sonde de température je lui préfère personnellement la version qui mesure le courant consommé par la charge pour les raisons (personnelles) suivantes
        – Le routeur va être positionné près du tableau électrique loin du chauffe eau
        – Difficile de rajouter une sonde de température au niveau du chauffe eau car déjà occupé par le thermostat mécanique (que je souhaite pas enlever)
        Encore bravo pour votre belle réalisation
        Cordialement

      • StefanDu30 dit :

        Bonjour,
        Par curiosité avant de televerser la v3.04, quelles sont les modifications apportées et bug corrigés ? La v3.03 semble bien fonctionner sur deux ballons du coup juste pour comprendre ?
        Merci encore pour tout en tous cas, un plaisir de vous suivre !

        • Nutta dit :

          En commentaire dans le programme, il est noté :

          La version V_3.01_UxI rajoute des sorties MQTT : pws, pwi (P en W soutiré et Injecté) et toujours >=0
          La version V_3.02_UxI corrige un bug affectant les IDE Arduino sous Linux
          La version V_3.03_UxI corrige un bug. L’échange de la variable Pw entre les coeurs
          La version V_3.04_UxI corrige un bug sur la lecture des mesures faites par un ESP extérieur.

        • Haeflinger Patrick dit :

          Comme mentionné dans le commentaire de la 3.04 cela ne concerne que la mesure faite par un un ESP distant. Il s’agit d’un manque de deux instructions « break; » dans une commande « switch » qui a été corrigé

          • StefanDu30 dit :

            Ok merci, je n’ai pas encore téléchargé cette nouvelle version et n’avais du coup pas vue le commentaire, mais ayant tout en distant je vais m’attaquer aux mises à jour des esp !

  7. JACK G. dit :

    Bonjour André,
    Je viens de tester manuellement une façon de gérer la température de l’eau du chauffe eau l’après midi pendant les heures creuses de mon contrat. (12:36 à 15:36)
    J’ai programmé le Triac sur Off à 12:36 pour laisser le chauffe eau fonctionner automatiquement avec le déclenchement ENEDIS.
    J’avais remarqué précédemment grâce à votre programme que les périodes de chauffe du thermostat étaient plus importantes jusqu’à 14:00.
    J’ai donc programmé le Triac sur « 0 à 100% » à partir de 14:00 et j’ai basculé manuellement sur Off le contacteur jour/nuit du chauffe eau.
    De fait, toute ma production solaire a été injectée dans le chauffe eau de 14:00 à 15:36 et au-delà, régulièrement.
    Aussi je me questionne sur l’idée d’utiliser la gestion du relai pour ouvrir ou fermer l’alimentation ENEDIS à un certain moment en fonction de l’ensoleillement par exemple.
    La nuit le chauffe eau récupère si besoin et laisse monter la température pour la sécurité sanitaire.
    Est-ce que cette expérience vous semble utile ?
    Est-ce qu’un relai peut supporter les 2000W du chauffe eau ?
    J’ai noté la V4 à venir. Merci.

    • F1ATB André dit :

      De mon coté, je n’utilise pas le contacteur jour/nuit. Je laisse chauffer la journée uniquement avec le soleil et la nuit je force sur ON pendant les heures creuses. Ainsi si l’eau n’est pas assez chaude en début de nuit par manque de soleil, cela sera chauffé par EDF jusqu’à bonne température. Le matin l’eau est correcte pour la douche.
      Cdlt

      • JACK G. dit :

        C’est effectivement une autre solution.
        Ce dernier hiver ENEDIS a décalé l’impulsion qui déclenche le chauffe eau d’une heure ou 1 heure et demie. Je n’ai pas manqué d’eau chaude pour autant.
        C’est dans le même esprit que je me questionne sur la façon de programmer le blocage de l’arrivée électrique ENEDIS derrière le déclencheur à 3 positions. Peut-être un programmateur séparé de votre excellent Routeur.
        Cordialement.

  8. Christophe L. dit :

    Bonjour André. Je suis en train de régler le routeur afin de trouver les bons compromis pour l’ouverture du Triac et je m’aperçois que quand il n’y a pas de régulation, I et U sont parfaitement coordonnés dans le temps (courbes de a page données brutes) mais par contre dès que la régulation opère j’ai I qui est en retard par rapport à U alors que dans votre exemple de « routage et régulation à Zéro Watt » ils sont parfaitement coordonnés dans le temps. Est ce normal ? Merci d’avance.

    • F1ATB André dit :

      Au moment de la régulation, il y a un comportement complex mélangeant injection et consommation sur une demi période. Ne vous souciez pas de la forme de I. Cela dépend de l’ouverture du Triac de la charge connecté etc.. Le principal, c’est que le bilan en Wattheure (ce que vous payez) ne change pas ou très faiblement.
      Cdlt

  9. ROUX Jean claude dit :

    Bonjour André.

    Concernant l’alimentation 230V/6V AC est-il possible de remplacer la résistance 24k (R4) par une résistance variable pour essayer d’obtenir une sinusoïde parfaite ?

    • F1ATB André dit :

      Oui, mais démarrez avec la résistance maximum. Si vous mettez trop de tension sur l’entrée de l’ESP vous allez le griller. RIP

      Cdlt

      • ROUX Jean claude dit :

        Bonjour
        Merci pour l’info. Le problème avec les transfos 230/6V c’est qu’ils délivrent beaucoup plus de tension que 6V, plutôt 10 ou 11V.
        J’avais récupéré un vieux tranfo en 12V sur lequel j’avais enlevé des spires pour obtenir 6V juste et la sinusoïde était nickel, mais un peu trop gros pour mon boitier.

  10. herve dit :

    Bonjour,
    En plus de l’énergie soutirée et l’énergie injectée, serait-il possible d’afficher (et transmettre en MQTT) l’énergie routée ? C’est à dire l’énergie récupérée grâce au routeur, et donc non injectée dans le réseau.
    Merci.
    Cordialement

  11. Yvon dit :

    Bonjour André.
    Merci pour ce super travail et vos explications toujours au top !
    Je viens de réaliser le routeur (version 3.03) et je suis en train d’ajuster les réglages.
    1) Si on veut envoyer l’énergie vers un autre consommateur à travers le triac quand le chauffe eau atteint sa température et s’arrête, si j’ai bien compris il faut mettre le seuil ON PW<-50w par exemple mais que faut-il mettre pour le seuil OFF ??
    2) je n'arrive pas à accéder au routeur depuis Domoticz..que faut-il déclarer comme matériel et dispositifs dans Domoticz ?
    3) lorsque je déclare un MQTT (période de 5 secondes), le routeur devient très lent et pratiquement inaccessible sur le net, est-ce normal ?
    Merci, Cordialement

    • F1ATB André dit :

      Il faut que le seuil Off – Seuil On soit supérieur la consommation de l’objet connecté. Sans cela on risque un phénomène d’oscillation. Exemple avec une charge de 1000W vous mettez on à -50 et Off à 1050. Vous avez un écart de 1100W. Par la suite en observant la réactivité de l’ensemble vous pouvez baissez l’écart si besoin.
      Cdlt

    • F1ATB André dit :

      Avec Domoticz, on ne peut que envoyer vers Domoticz dans la version actuelle. Pas d’ordre dans l’autre sens.
      Pour MQTT, vous devez trop charger le Wifi, augmentez les 5s.

      Cdlt

  12. ANDRE Christophe dit :

    Bonjour André,
    en televersant le programme j’ai ce message:
    :
    Utilisation de la bibliothèque WiFiClientSecure version 1.0 dans le dossier: C:\Users\Christophe\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\WiFiClientSecure
    exit status 1
    Erreur de compilation pour la carte ESP32 Dev Module

    Pourrais-tu SVP m’aider à régler ce problème ?

    Merci,
    A bientôt,
    Christophe.

    • F1ATB André dit :

      Je ne comprend pas, on utilise pas la bibliotheque wificlientsecure.
      Pour cela il faut normalement au début du programme
      #include

      Cdlt

      • ANDRE Christophe dit :

        Aprés avoir mis à jour Ardiuno IDE tout est rentré dans l’ordre.
        Merci et Bravo pour ce beau travail !!!
        Chris

  13. seb dit :

    Bonjour,
    Il y a t il un sens pour installer / câbler le tore ?
    Seb

    • F1ATB André dit :

      Oui mais comme en général même en suivant un plan, on tombe mal.
      Mettez là dans un sens. Si vous affichez de l’injection sans soleil, elle est à l’envers. Faites lui faire 180 degré ou inversez les fils d’entée ou de sortie du transformateur.
      Cdlt

  14. PINET dit :

    Bonjour André,

    j’ai le routeur qui est en fonction depuis plusieurs semaine et je note un dysfonctionnement. Je suis signataire d’une CACSI et mes panneaux sont pilotés par une passerelle de chez Enphase qui gère l’injection.
    J’ai essayé plusieurs réglages de seuil notamment 200w qui est mon bruit de fond en consommation sans résultat. Le surplus est bloqué et non récupéré pour chauffer le ballon d’ecs.
    J’ai mis temporairement en fonction une grosse demande (four) pour relancer la production des panneaux mais lorsque j’arrête le four le surplus n’est pas dirigé vers le ballon et la passerelle réduit donc leurs production.
    Merci de m’indiquer sur quels paramètres agir pour contrer ce soucis.
    Bien cordialement.

  15. StefanDu30 dit :

    Bonjour André,
    J’utilise actuellement la version v3.04 qui fonctionne parfaitement pour les deux ballons ECS.
    Serait-il possible d’intégrer au programme une tempo. ? Je m’explique, lorsque je démarre le four ou le fer à repasser par exemple et que je dépasse par exemple le seuil d’arrêt défini à 0W, est-il possible par exemple de mettre une ligne de prog pour une tempo par exemple de 30 minutes ? La régulation du four fonctionnant en tout ou rien, en l’état actuel ça crée un pompage avec de nombreux marché/arrêt de la prise délestée, l’idée serait de provoquer un arrêt plus long avant redémarrage pour limiter ce pompage ?

    • F1ATB André dit :

      Bonne remarque. Il est vrai que de nombreux appareils ménagers ont une consommation en dents de scie. Du coup le routeur fait la dentition inverse….
      Je vais réfléchir à votre proposition de tempo la plus simple et efficace.

      Cdlt

      • StefanDu30 dit :

        Si vous trouvez je suis preneur ! Je pensais intégrer une ligne de prog pour cet esp32 pour une tempo entre deux mesures mais c’est certainement pas la meilleure solution, il doit y avoir mieux c’est sûr !
        Merci à vous !

        • StefanDu30 dit :

          Ou peut-être plutôt une tempo non pas entre les mesures mais plutôt entre deux actions du Gpio…

          • F1ATB André dit :

            Oui, il faut interdire une modification de la sortie GPIO pendant un délai par rapport au dernier changement.
            Cdlt

  16. seb dit :

    Bonjour
    Je viens de mettre en service le routeur, merci André.
    J’ai toutefois un souci j’ai bien l’impression que le surplus ne sort pas du triac, j’ai actuellement un surplus de 1000W qui repart direct sur le réseau et pas dans le chauffe-eau.
    Une idée ????
    Merci

  17. Christophe L. dit :

    Bonjour André.

    J’utilise moi aussi le routeur UxI v3.04 depuis quelques jours et je fais face à un phénomène étrange concernant la mesure de la tension efficace. Celle-ci varie beaucoup parfois alors que quand je mesure au multimètre je ne constate pas ces variations. J’ai vérifié les tensions de références et la tension en sortie du transfo et elles semblent stables. Par contre elle ne dépasse jamais le max de ce que je mesure au multimètre.

    Cela peut varier de 220V à 236V alors que j’ai bien 234 à la prise. J’ai testé plusieurs alimentations 5V différentes et cela ne change rien.

    Ce qui est étrange c’est que ça ne le fait pas tout le temps, seulement par moment.

    Avez-vous une explication ? Ne serait pas lié à des problèmes de lenteurs de mesures de l’ESP32 ? Peut être que d’autres ici font face à ce problème ?

    Merci d’avance.

    • Nutta dit :

      Ça ressemble à une mauvaise connexion, une mauvaise soudure.. Les résistances R4 et/ou R5 sont bien des résistances et non-pas des ajustables ?
      Le coefficient multiplicateur est élevé – une très légère variation en entrée en l’ESP se traduit par plusieurs volts à l’affichage.
      Je n’ai pas ce problème.

      • Christophe L. dit :

        Vous avez tout à fait raison et c’est bien vu ! Le transfo que j’ai actuellement n’est pas exactement le même qu’André, il s’agit d’un 3W et il me donne du 7V en sortie bien souvent. J’ai dû augmenter R4 à 27K. Je me retrouve avec un coefficient de 835 et donc en effet la moindre variation se traduit par plusieurs volts. A y regarder de plus prêt je pense que ce dernier est en cause car sa tension de sortie à tendance à varier (ce qui fausse le coef. multiplicateur qu’il faudrait réajuster ?).

        Je vais donc remplacer ce transfo par le même qu’ André fin de m’approcher le plus possible des 6V en sortie et donc avoir un coefficient moins élevé. Ce n’est pas grand chose à faire, je verrais bien si ça change quelque chose.

    • F1ATB André dit :

      Non, l’ESP32 fait une mesure de tension toutes les 100 micro seconde. C’est plutôt le multimètre qui lisse et ne voit pas passer des pics brefs de tension. Cela peut être dû à des mises en routes/arrêts de machines grosses consommatrices dans le voisinage. La norme de tension 230V est de 207 V mini et de 253 V maxi.
      Ne touchez pas à l’alimentation 5V, cela ne change rien. Si le 5V est pourri, l’ESP32 ne démarre pas.
      Cdlt

    • AB dit :

      Bonjour,

      J’ai exactement le même comportement sur mon routeur.
      Parfois, la tension descend progressivement de 237V vers 225V en quelques dizaines de secondes, se stabilise quelques minutes, puis revient très progressivement à la tension réelle du réseau.

      Je pense qu’il s’agit d’un problème de mesure, pour 2 raisons :
      – Je ne vois pas cette fluctuation avec mon multimètre en mode min/max
      – La puissance active mesurée par le routeur baisse. Elle devrait rester stable s’il y avait une chute de tension sur le réseau grâce à l’augmentation naturelle du courant pour maintenir la même puissance, surtout lorsque la conso de la maison est faible

      Je n’ai pour le moment pas d’explication.
      Les tensions 3,3V et 1,65V sont très stables.
      J’ai essayé un 2nd transfo, identique au 1er mais plus récent donc probablement un lot différent, je n’ai pas vu d’amélioration.
      Prochain essai dans les jours à venir: changement de la carte ESP32…
      L’idéal serait d’instrumenter simultanément les alim et la tension d’entrée sur l’ADC, mais je n’ai pas d’oscilloscope sous le coude.

      • Christophe L. dit :

        Merci donc on rencontre tous les 2 le même problème. Je veux bien être tenu au courant merci 🙂

        • AB dit :

          Bonjour Christophe,
          Après changement de l’ESP et calibration (il y a un léger écart d’un ESP à l’autre), je n’ai pas vu d’amélioration.
          Toujours cette chute de tension de temps en temps.
          Lorsque la mesure chute, je ne vois pas la tension diminuer en sortie du transfo et en entrée de l’ESP, mais il me faudrait un instrument de mesure plus précis pour en être certain. Si c’est le cas c’est que le problème se situe au niveau de l’ADC.
          Vous utilisez une carte ESP AZdelivery ou une officielle Espressif ? AZdelivery de mon côté.

          • Christophe L. dit :

            Bonjour AB.
            Merci d’avoir pris le temps de me répondre. J’utilise une WROOM 32 38 pins achetée sur ali. Concernant notre problème j’ai comme l’impression que cela provient de chez nous en fait, du secteur. Je ne sais pas où vous habitez mais moi je suis en campagne Je pense que la courbe ne doit pas être jolie à voir et qu’elle doit être énormément bruitée / instable, d’où ces problèmes de chutes de tension inexpliquées. D’ailleurs quand je regarde chez moi ce que donnent les micro onduleurs de mes PV plug’n play, j’en ai un sur une prise qui va me donner 237V par exemple alors que l’autre va me donner 240V sur une autre prise (mesures prises avec OpenDTU). Donc déjà ce n’est pas normal que chez moi je n’ai pas la même valeur d’une prise à une autre. ce qui prouve que la tension du secteur n’est pas du tout stable.
            J’ai lu aussi quelque part que les entrées ADC des ESP32 sont énormément bruitées et qu’il y a des méthodes pour réduire cela:

            https://electroniqueamateur.blogspot.com/2019/08/esp32-utilisation-des-entrees.html?showComment=1669310971320#c4812758312677697925

            Comme l’utilisation de condensateurs qui devraient pourtant suiffire.

            Bon relativisons car de mon côté ça n’empêche en rien le routeur de fonctionner ce qui est l’essentiel 🙂

          • F1ATB André dit :

            Le plus important c’est d’avoir le signe de la puissance. La valeur exacte ou pas, cela a peu d’impact.
            Cdlt

  18. JEAN MICHEL VRAUX dit :

    Bonjour André,
    Après une longue panne du réseau internet Orange (3semaines quand même) dans mon quartier, j’ai remis en service le routeur et gros coup de chaud sur le TRIAC.
    J’ai tout coupé parce cela aurait pu provoquer un incendie et j’ai entrepris un diagnostic.
    Témoin bleu allumé il y a la même tension en sortie de triac que sur le réseau.
    Témoin bleu éteint il y a une tension de sortie de 140v en permanence (240v réseau).
    Je pense que c’est ce qui a fait chauffer car la résistance du chauffe-eau prend ces 140v.
    Il me semble que la tension de sortie du triac en mode OFF doit être à 0v.
    Je me trompe?
    Merci par avance pour votre avis, bien à vous.
    JM VRAUX

    • F1ATB André dit :

      La tension en sortie du Triac doit être à zéro quand il est sur Off. Oui et Non.
      En fait le Triac n’est pas un interrupteur parfait. S’il n’y a rien de branché en sortie et que l’on met un voltmètre qui a besoin d’un courant infime pour fonctionner, il va afficher quelque chose car le Triac a un petit courant de fuite sur Off. Pas contre, si une charge résistive comme un chauffe-eau est branchée, la tension doit tomber à zéro. Le courant de fuite étant trop faible.
      Si le chauffe-eau branché et que vous avez une tension élevée, le Triac est mort. Remplacez-le avec un costaud comme le BTA40-800B. Voir l’article : https://f1atb.fr/index.php/fr/2023/09/28/triac-gradateur-pour-routeur-photovoltaique/
      Cdlt

      • JEAN MICHEL VRAUX dit :

        Bonjour André,
        Merci pour votre retour rapide.
        J’ai prolongé mon diagnostic en branchant une ampoule à incandescence sur la sortie triac.
        Témoin bleu éteint, la lampe s’allume et le voltage est de 125v en permanence.
        Le triac est effectivement parti au paradis des triac.
        Le dissipateur a été augmenté de 3 ou 4 fois son état initial et je n’ai pas beaucoup de puissance, 500w maxi, en attendant mon troisième panneau.
        Je fais sûrement partie des malchanceux car j’ai lu quelque part qu’il y avait au moins 20% des composants électroniques qui claquaient presque immédiatement.
        J’en suis d’autant plus convaincu que j’ai également dû changer l’ESP 32 au bout de 3 semaines car il était devenu muet, pb de wifi probablement.
        Impossible de le remettre en service malgré une reprogrammation.
        J’ai fait le nécessaire pour remplacer le triac suivant vos conseils en espérant ne plus être dans la tranche des 20%.
        J’espère que la carte support du triac n’est pas endommagée.
        Bonne journée, bien cordialement.
        Jean Michel.

    • Christophe L. dit :

      Avez-vous suffisamment dimensionné le dissipateur du Triac surtout si la charge est importante ?

      • JEAN MICHEL VRAUX dit :

        Bonjour Christophe,
        Le dissipateur a été augmenté de 3 ou 4 fois son état initial et je n’ai pas beaucoup de puissance, 500w maxi, en attendant mon troisième panneau.
        Je fais sûrement partie des malchanceux car j’ai lu quelque part qu’il y avait au moins 20% des composants électroniques qui claquaient presque immédiatement.
        J’en suis d’autant plus convaincu que j’ai également dû changer l’ESP 32 au bout de 3 semaines car il était devenu muet, pb de wifi probablement.
        Impossible de le remettre en service malgré une reprogrammation.
        Bonne journée.

  19. Gailord dit :

    Bonjour André ,félicitations pour ce super travail ça fait plusieurs semaines que j’utilise le routeur solaire ça marche à merveille . Une petite question je voulais savoir s’il était possible de piloter les relais avec MQTT où HTTP ? Pour les contrôler avec jeedom ou autre système domotique. Dernière petite question comptes tu intégrer un jour une sonde de température du style Dallas (DS18B20) ?
    Encore merci et bonne journée.

    • F1ATB André dit :

      Pour la sonde de température DS18B20, cela va arriver dans les prochains jours avec la sortie de la V4. J’écris actuellement la documentation.
      Pour les commandes des GPIO, pas prévu pour l’instant, mais pourquoi pas à l’avenir.
      Cdlt

      • gailord dit :

        C’est une bonne nouvelle je tends la V4 avec impatience. J’ai actuellement un ESP8266 sous tasmota avec 2 sondes de température DS18B20
        pour monitorer la température du cumulus et celle du triac. Si l’ ESP32 pouvait l’intégrer ça ferait un module la moins qui tourne.
        bonne journée.

      • Stef D dit :

        Bonjour
        Je n’ai pas testé mais le pilotage des GPIO ne fonctionne pas par requête HTTP genre « http://192.168.1.6/control?cmd=GPIO,5,1 » ?

        merci