Capteur Linky pour routeur photovoltaïque

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

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

Pour mesurer le niveau de puissance et connaitre son sens de transfert, il faut connaitre à tout instant la tension électrique et le courant électrique derrière le disjoncteur principal.

Le compteur Linky installé dans les foyers français fait cela très bien en monophasé et triphasé. Il est équipé d’une sortie d’informations numériques, couramment appelée TIC (Télé-Information Client). Celle-ci donne au client la possibilité de se renseigner en temps réel sur sa consommation électrique.


Branchement à la prise TIC du Linky

Il faut retirer le boitier jaune et la prise TIC se trouve dans la partie inférieure droite. 3 sorties la composent : A pour alimentation, que nous n’utiliserons pas, et I1 et I2 qui fournissent une sortie série asynchrone.

Le Linky à 2 modes de fonctionnement :
– historique : liaison à 1200 bauds, équivalent à d’anciens compteurs
– standard : 9600 bauds, plus riche en informations.

Le mode standard est impératif pour ce projet. Vous pouvez afficher le mode en cours sur votre Linky. Pour en changer, appelez votre fournisseur d’électricité, le changement est gratuit et prend 1 ou 2 jours.

Le signal fourni est de 0V pour un 1, et une sinusoïde à 50kHz 25Vmax pour un 0.

Format des données en mode standard

Pour chaque donnée envoyée par le Linky, il y a un formatage facile à comprendre et décoder. Il y a un nom, la valeur, et un check-somme. La séquence démarre par le caractère ‘STX’ et termine par ‘ETX’. Le document ENEDIS décrit parfaitement les messages.

Le routeur proposé permet de visualiser toutes les données du Linky en monophasé ou triphasé. Nous nous intéresserons principalement aux 4 données ci-après qui sont des valeurs entières :

Messages LinkySoutiréInjecté
Puissance Apparente : SSINSTS
VA
SINSTI
VA
Puissance Active PNON fourni
W
NON fourni
W
Energie Totale : EEAST
Wh
EAIT
Wh
Nom variable / Unité

Le Linky donne toute les 2s, la puissance instantanée apparente soutirée SINSTS, la puissance instantanée apparente injectée SINSTI, mais ce qui nous intéresse le plus, c’est la puissance active en W qui n’est pas fournie. Néanmoins, en analysant l’énergie en Wh, EAST et EAIT, on a une mesure de la puissance active moyenne sur une longue période.

Avec SINSTS et SINSTI, on voit immédiatement si on consomme ou injecte de la puissance, ce qui est le plus important pour le routeur même si on ne connait pas la puissance active avec exactitude. Il y a également un paradoxe avec SINSTS et SINSTI, car une puissance apparente est le produit de la tension efficace par le courant efficace qui ne tient pas compte de la phase ou du sens de transfert (soutiré ou injecté). Cette distinction faite par le Linky nous sera utile.

Par la suite, pour le pilotage des actions, on utilise la variable Pw qui correspond à la Puissance Active Moyenne Soutirée – Puissance Active Moyenne Injectée.
Pw > 0 on soutire de l’énergie en provenance dEnedis
Pw < 0 on injecte de l’énergie vers le réseau public Enedis

Remarque CACSI

Attention, si vous avez signé un CACSI (Convention d’Autoconsommation Sans Injection) ou vous nêtes pas déclaré producteur auprès d’ENEDIS, vous n’aurez pas les valeurs injectées (SINSTI et EAIT). La nouvelle version du programme V3.10_Linky détecte ce cas et 8s après la mise en route vous fournit les valeurs de consommation (soutirée) uniquement.

Il est impératif dans ce cas avec CACSI, d’utiliser le routeur avec un seuil de réglage 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.

Micro-Calculateur ou Microcontrôleur

ESP32 – Development Board

Pour lire la trame de données en sortie du Linky, un microcontrôleur ESP32 est 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.

La partie logicielle et le pilotage du Triac font l’objet d’un autre article sur ce blog.

Matériels

Raccordement au Linky

Au niveau du Linky connectez 2 fils sur les broches I1, I2. Fils assez gros pour rester coincé. Si vous avez une longueur de plusieurs mètres vers l’ESP32, utilisé du fil torsadé de téléphone ou mieux du fil de réseau informatique torsadé et blindé en reliant le blindage à la masse (Gnd). En entrée du système, une résistance R1 de 1.5kΩ permet de respecter la charge recommandée par ENEDIS > 1kΩ et le courant nécessaire au coupleur optique (LTV-814) pour bien démoduler en 0 le signal à 50kHz. Après quelques essais avec un oscilloscope, c’est cette valeur qui me fournit un bon signal en sortie du coupleur vers l’ESP32 dont une résistance de 10kΩ rappel le signal au +3.3V quand le coupleur ne conduit plus.

Schéma de Regis A. adapté à une très grande longueur de câble.

L’opto coupleur étant composé de 2 diodes en parallèle de sens opposé, il conduit sur la phase positive ou négative du signal d’entrée. Ainsi, durant toute la durée des oscillations à 50kHz on a un signal de sortie à zéro.

Schéma d’entrée alternatif, trouvé sur le Web

Certains réalisateurs avec une longue ligne capacitive vers le Linky ont descendu R1 jusqu’à 500Ω pour avoir des messages cohérents en entrée.

Personnellement après plusieurs mois avec une résistance R1 de 1500Ω, j’ai constaté quelques erreurs parfois. En decendant R1 à 1200Ω, ces erreurs semblent avoir disparu.

Van R. avec un câble ethernet CAT7 de 30m et une résistance d’entrée de 1000 Ω a fait fonctionner l’étage d’entrée.

Regis A, avec un câble long de 27m (type Ethernet CAT6) ont amélioré l’étage d’entrée en y incluant un Mosfet.

Si le Linky est chargé par d’autres appareils, on peut diminuer la charge imposée par notre interface en remontant la résistance R1 à 4.7kΩ et en rajoutant un Mosfet pour amplifier comme proposé sur différents schémas sur le web.

Raccordement à l’ESP32

La lecture de la trame série reçue du Linky se fait sur la broche GPIO26 de l’ESP32. La sortie TX est sur le GPIO27 mais n’est pas utilisée. A laisser libre.

Schéma pour collecter uniquement les données du Linky

2 Leds vertes et rouges, sur les GPIO 18 et 19 renseignent sur le fonctionnement du système.

Le schéma complet avec toutes les options se trouve ci-dessous. Il y a peu de composants.

Dans le cas d’une grande distance entre le Linky et les équipements, on peut couper par module. Un coupleur optique et un ESP32 uniquement près du Linky (comme dans le premier schéma plus haut), un ou plusieurs autres ESP32 avec un Triac et des relais près des équipements.

Schéma électrique complet. Entré du Linky et Actionneurs.

Approvisionnements

  • Résistance R1 1500 Ω 1/4 ou 1/8W (à adapter suivant la longueur et le type de câble)
  • Résistance R2 10000 Ω 1/4 ou 1/8W
  • 1 coupleur optique LTV-814 (Chine ou demandez à Google)
  • Du fil de câblage et une plaque à trou pour le montage
  • ESP32 (3 choix)

Code Source et installation du logiciel

Pour télécharger le code source, le compiler puis le transférer dans l’ESP32, allez sur la page : Routeur photovoltaïque simple à réaliser

Si vous utilisez également l’affichage distant de la « maisonnette », pensez à mettre à jour le logiciel :
https://f1atb.fr/index.php/fr/2023/02/09/affichage-a-distance-consommation-ou-surproduction-electrique/

Maquette Routage

Maquette complète d’un routeur avec le capteur optique, un ESP32, 2 LEDs, un Triac, un relais solide et une alimentation 5V/1A.

Données brutes du Linky

La page Web de l’ESP32 permet d’afficher l’ensemble de la trame de données envoyée par le Linky.

EAST : Enegie Active Soutirée Totale en Wh
EAIT : Energie Active Injectée Totale en Wh
SINSTS : Puissance apparente INSTantanée Soutirée Totale en VA
SINSTI : Puissance apparente INSTantanée Injectée Totale en VA

Si EAIT et SINSTI n’apparaissent pas dans le tableau, c’est que vous n’êtes pas producteur pour Enedis ou vous avez signé un CACSI.

Unités en photovoltaïque

Si vous n’êtes pas à l’aise avec les Watt, Watt crête, Volt Ampère etc. , la vidéo ci-dessous peut vous aider à mieux comprendre.

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

26 réponses

  1. Philippe Chauvet dit :

    Bonjour André et encore merci pour tes travaux; Personnellement j’ai réalisé ton routeur solaire qui fonctionne à merveilles depuis quelques mois. A présent je dois faire toutes les démarches administratives de conformité. J’ai déjà l’autorisation de la mairie. A présent je souhaiterais faire la démarche auprès d’Enedis et donc faire un choix entre injecter ou pas le surplus de production. Ma question est la suivante: si je paramètre mes iQ7A en zéro injection, cela ne va t’il pas perturber le fonctionnement de mon routeur solaire et du coup baisser mon rendement global.?

    • F1ATB André dit :

      À moins d’avoir des puissances à injecter au-delà de 3kVA, il n’est pas nécessaire de brider.
      Si vous bridez, le routeur sera perturbé. Au lieu de mettre le seuil de régulation à 0W, il faudra le mettre à 100W par exemple afin qu’il détecte que l’on s’approche de l’injection avant que le bridage soit actif.
      Cdlt

  2. Philippe Chauvet dit :

    Merci pour la réponse, il faut donc que je passe une convention avec injection de surplus ?

  3. Degphi dit :

    Bonjour,
    Une très belle réalisation, claire et précis. Les différentes versions (modulable ou complète) sont intéressantes.
    Par contre, pour l’ESP32, on pourrait avoir un lien pour commander le même modèle ? Car il existe des ESP-32 30P, ESP-32 38P, ESP32 WROOM 32D, ESP32 WROOM 32U, … Comme je suis une truffe, un lien vers le même modèle serait sympa.
    Merci encore pour tout le travail.
    Cordialement.

  4. yanick dit :

    bonjour,
    ayant deja un serveur wes utilisant ma sortie linky elle se trouve perturbee par l’ajout du routeur en montage avec seulement l’optocoupleur LTV814.
    j’ai donc essaye en utilisant le montage qui ajoute un mosfet BS170.
    je n’arrive pas a obtenir le TIC.
    j’ai donc fais plusieurs mesures en debranchant mon entree TIC et en simulant le signal en reliant:

    *** (2) teleinfo a GND et (1) teleinfo au +3.3v
    j’obtiens la valeurs suivante:
    3.2 V sur la gache du mosfet
    0V en entree D26

    *** (2) teleinfo a GND et (1) teleinfo a GND
    0 V sur la gache du mosfet
    j’obtiens 0.6 V entree D26

    j’ai beau avoir controle et refais mon montage plusieurs fois c’est toujours pareil
    pouvez vous me confirmer que je devrais bien avaoir 3.3 V en entrre D26 au lieu des 0.6 V ?
    d’ou cela peut il venir ?
    merci

  5. Patrice dit :

    Bonjour André
    J’ai installé votre routeur version 4 sur une installation alimentée en triphasée avec des panneaux solaires en monophasé et un ballon d’eau chaude 3x800W dont j’utilise une résistance de 800W pour le routeur et 2x800W la nuit en complément si besoin en heures creuses. Je remonte les infos via linky et j’ai signé un cacsi donc je n’ai pas les infos des valeurs injectées. J’ai essayé différentes valeurs seuils de déclenchement du triac (200, 400, 600W) mais je n’arrive pas à obtenir une consommation à 0 en période de surproduction solaire. Où me conseillez vous de placer le curseur de réactivité pour la charge de 800W ?
    D’autre part, ne serait t’il pas possible de faire un montage mixte avec les infos du linky de consommation triphasé qui sont fiables et une mesure type UxlX2 pour la production solaire et par la différence des 2, piloter le triac précisément sans paramétrage d’un talon de consommation qui est variable.
    J’ai vu que vous aviez développé une version 5 pour les micro onduleurs enphase. J’ai hésité d’acheter ceux si mais j’ai finalement pris des Hoymiles HM800 avec un DTU Pro Hoymiles. Je ne sais pas si vous envisagez de développer quelque chose sur ce produit ?
    Encore merci pour le partage de votre travail.
    Cordialement
    Patrice

    • F1ATB André dit :

      Il faut mettre le seuil à 50W par exemple. Ce qui veut dire que vous n’aurez jamais 0 mais toujours autour de 50W de consommé. Cela est je pense inférieur à votre salon.
      50W de consommé pendant 8h de soleil, cela fait 0,4kWh, donc environ 0.10€. Cela n’est pas bien grave et vous contournez le problème du CACSI. Ou vous changez votre seuil de CACSI en laissant une légère injection. Enedis vous en voudra pas.

      Pour l’instant, je n’envisage pas d’extraire les données d’autres onduleurs.

      Cdlt

      • Patrice dit :

        D’accord, je vais essayer 50W, j’avais compris qu’il fallait mettre la valeur de la consommation talon.
        Pour le réglage du curseur de réactivité du triac vous me conseilliez quoi ?
        Concernant l’idée d’utiliser un tore de mesure sur la production solaire mixé avec les données linky de consommation, vous en pensez quoi ?
        Cordialement

        • F1ATB André dit :

          La réactivité devra je pense être autour de 10.

          Meme si vous rajoutez une mesure de production photovoltaïque, celle ci va être bridée par votre onduleur en raison de la limitation CACSI. Cela n’apportera rien.

          Cdlt

  6. Tallon Jean dit :

    Bonjour André, je commence mon installation (6Kwc) et je suis en triphasé + ejp. Jusque là pas de pb, Je souhaite réaliser votre routeur photovoltaïque à partir de la prise TIC du linky. Mais fournissez vous le code source à injecter dans l’ESP32. Je n’ai pas trouvé . Merci pour toute votre expérience mise à disposition.

  7. Jean-Louis dit :

    Bonjour J’arrive bien a télécharger la version ljnky V3 mais impossible avec la version V5 ? une idée merci

  8. Tallon Jean dit :

    Bonjour André, je vais finaliser ce routeur avec linky car je suis en tri et celà parait être la meilleure solution. Par contre je ne suis pas habitué à IDE Arduino mais bon je m’en suis sorti.
    Je suis avec VS code et PlatformIO et je galère un peu avec les librairies et les #include
    Si quelqu’un passe par là et à dejà fait ce portage, je suis preneur. Si je finalise je partagerai
    En tout cas merci pour tout

  9. Phill dit :

    Bonjour André,

    Mes valeurs sur la page web restent a zéro. pourtant j’ai bien une tension qui bouge de 1.2v ~~1.6v sur la PIN26.

    Quesque je peux vérifier a ton avis ?

    • F1ATB André dit :

      Il faut changer la valeur de R1. En général la baisser si vous avez un long câble entre le Linky et l’ESP32. 1.2kohm ou 1kohm.

      • Phil dit :

        André, je suis a 30cm pour faire les tests, je viens de mettre la dernière version même résultat.

        j’ai plus l’heure quand je configure le wifi, j’ai le message « Attente de l’heure par internet »

        j’ai plus d’idée là

      • Phil dit :

        D’accord je vais essayer.

        dans données brutes pas de grand tableau !
        juste ça :
        ESP On depuis : 0h 00mn
        Source des mesures : Linky
        Niveau WiFi : -64 dBm
        Point d’accès WiFi : xxxxxxxxxxxx
        Adresse MAC ESP32 : xxxxxxxxxxxxxxxx
        Réseau WiFi : HUAWExxxxx
        Adresse IP ESP32 : 192.168.1.102
        Adresse passerelle : 0.0.0.0
        Masque du réseau : 255.255.255.0
        Charge coeur 0 (Lecture RMS) Min, Moy, Max : 1, 2, 358 ms
        Charge coeur 1 (Calcul + Wifi) Min, Moy, Max : 0, 0, 15 ms
        Espace mémoire EEPROM utilisé : 41 %
        Nombre d’interruptions en 15ms du Gradateur (signal Zc) : Filtrés/Brutes : 0/0

        • F1ATB André dit :

          Vous n’avez pas rentré l’adresse de la passerelle qui permet à l’ESP de savoir par où sortir sur internet et chercher l’heure.
          La passerelle, c’est en général l’adresse IP de votre box internet. Chez vous je pense que cela doit être 192.168.1.1 ou 192.168.1.254.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *