Récupérer les données de son compteur Linky

Récupérer les données de son compteur Linky

28 juin 2019 55 Par Aymeric

Bonjour à tous, dans ce tutoriel nous allons voir comment récupérer les informations de notre compteur Linky. Pour se faire, nous allons créer une simple carte électronique qui va récupérer les signaux, puis nous utiliserons un micro-contrôleur pour envoyer nos données sur un serveur. En résumé :

Aujourd’hui, nous allons nous concentrer sur la partie alimentation et traitement du signal. Avant de commencer, on va parler de quelques notions techniques sur le Linky.

La sortie Télé-Information Client

Comme leur nom l’indique, les compteurs communicants Linky sont assez bavards, puisqu’ils émettent en continu des trames contenant des informations sur notre consommation énergétique. Notre objectif va être de pouvoir les écouter, et pour se faire, nous allons nous servir de la sortie de Télé-Information Client (on l’appellera TIC par la suite). Mais qu’est-ce que c’est la TIC ? Cette sortie se trouve dans le coin inférieur droit du compteur :

Le branchement sur la TIC se fait via un bornier comportant 3 bornes. C’est ici que nous allons récupérer nos trames, mais nous allons également nous servir de l’alimentation fournie par le compteur. Pas besoin de prévoir une batterie pour notre système.

L’alimentation

L’alimentation fournie par la TIC se présente sous la forme d’une tension sinusoïdale de 13Vrms à vide et à une fréquence de 50kHz. Peu conventionnelle comme tension pour alimenter un micro-contrôleur… C’est pourquoi on se chargera de transformer ce signal en une tension continue de 5V ou 3,3V en fonction des besoins.

Les signaux d’informations

Pour envoyer des données, le Linky utilise une liaison série asynchrone. Les données sont codées sur 7 bits, vient ensuite un bit de parité paire et un bit de stop, avec un débit de 1200 bauds dans sa configuration par défaut (il existe un autre mode de fonctionnement où le débit est de 9600 bauds).

En revanche, les signaux sont modulés en amplitude avec une porteuse sinusoïdale à 50kHz. Il va donc falloir démoduler nos trames pour le micro-contrôleur :

Il faut aussi savoir que la logique de codage du Linky est négative. Ça veut dire que lorsque aucun signal n’est présent en sortie de la TIC, il s’agit d’un ‘1’ logique (donc on voudra une tension de 5V en entrée du micro-contrôleur). Inversement, lorsqu’un signal est présent, cela représente un ‘0’ logique (soit 0V pour notre micro-contrôleur).

Concevoir la carte

Pour information, Les sources sont CC-BY-NC-SAhttps://creativecommons.org/licenses/by-nc-sa/3.0/fr/

Le schéma électrique

Passons aux choses sérieuses. Nous allons maintenant créer notre carte, et pour commencer, il nous faut un schéma électrique :

Rien de bien compliqué. Le raccordement sur la TIC se fera avec le connecteur J1 (à gauche sur le schéma).

On va ensuite récupérer l’alimentation (bornes A et I1) que l’on va redresser avec le pont de diodes. On va ensuite rendre ce signal a peu près continu avec la capacité de filtrage C1. Finalement, on obtiendra une tension de 5V avec le régulateur (j’ai choisi le régulateur 7805 qui est l’un des plus courants). Nous avons maintenant une alimentation continue de 5V, parfaite pour alimenter notre micro-contrôleur.

Deuxième partie de la carte, nous utilisons le travail qui a déjà été effectué par le site https://hallard.me/pitinfov12/ et je vous conseille d’aller faire un tour dessus.

On récupère donc nos trames (bornes I2 et I1). Un optocoupleur (ou photocoupleur en bon français) va transmettre le signal tout en permettant une isolation galvanique entre le compteur et les composants de la carte. Cependant, juste avec l’optocoupleur, l’état haut de notre signal ne sera pas très significatif (de l’ordre de moins de 1V…). Cet état haut ne sera pas détecté par un micro-contrôleur. Par contre, un transistor, lui, le détectera, d’où la présence d’un MOSFET, qui va bien relever notre état haut à 5V.

Les plus observateurs auront remarqué que le MOSFET fonctionne en inverseur, il faut donc inverser une première fois le signal en sortie de l’optocoupleur (patte n°3).

Routage de la carte

C’est bien sympa d’avoir un schéma électrique, maintenant il faut router notre carte. Personnellement, j’utilise le logiciel de CAO KiCad, qui est très simple à prendre en main. D’ailleurs, le schéma électrique ci-dessus a été fait avec ce logiciel. KiCad permet également de créer ses propres composants (symbole et empreinte). C’est ce que j’ai dû faire pour les empreintes des deux connecteurs J1 et J2. Les seuls connecteurs mis à disposition par KiCad ont un pas de seulement 2,54mm, or il nous faut un pas de 5,08mm.

Pour ceux qui veulent utiliser KiCad, voici la liste des empreintes pour chacun des composants :

Inutile de chercher les empreintes pour J1 et J2, ce sont des empreintes réalisées par moi même (rien de méchant, j’ai juste créé trois pastilles espacées de 5,08mm)

Après avoir disposé mes composants, voilà à quoi ressemble le PCB :

Et le typon au format pdf :

Pour que cela soit accessible au plus grand nombre, j’ai volontairement choisi des composants traversants et réalisé une carte en simple face. La carte fait 30mm par 56mm, nous sommes restreints au niveau des dimensions dû à l’espace du Linky.

Les pistes en rapport avec l’alimentation ont une largeur de 1,27mm, les autres pistes font 0,886mm de large.

Liste des composants

  • 4 diodes 1N4148
  • 1 condensateur 1μF (C1)
  • 1 condensateur 0,1μF (C2)
  • 1 résistance 4,7kΩ (R1)
  • 2 résistances 10kΩ (R2 et R3)
  • 1 régulateur de tension (5V ou 3,3V) dans un boîtier TO-220
  • 1 optocoupleur (ici j’utilise un PC-814)
  • 1 MOSFET (j’utilise un BS170) dans un boîtier TO-92

Réalisation

Armez vous de votre carte, de vos composants, d’un fer à souder et d’un peu d’étain, et soudez vos composants sur la carte. Pour ma part, ma carte ressemble à ceci :

Bon j’ai pas été malin j’ai mis un fil noir pour la borne A et un fil rouge pour la borne I1

Nous allons vérifier si la carte est fonctionnelle. N’ayant pas de compteur Linky à disposition au moment où je réalise la carte, je vais utiliser un GBF. En théorie, le GBF fonctionnera de la même manière qu’un compteur Linky.

Alimentation

En entrée, nous avons une tension sinusoïdale à 50kHz (courbe jaune) :

Bingo, notre signal de sortie (courbe verte) est continu !

Démodulation

Ici, en entrée (toujours la courbe jaune) nous avons un signal modulé en amplitude à 50kHz :

Re-bingo ! Le signal en sortie du MOSFET (encore en vert) est un signal TTL tout propre, qui passe de 0V à 5V. On remarquera d’ailleurs qu’il est à 0V lorsque la modulation est présente, et à 5V lorsque celle-ci est absente (logique de codage négative, souvenez vous).

Le mot de la fin

Et voilà, nous avons une carte fonctionnelle. La prochaine étape sera de récupérer ces signaux avec un micro-contrôleur (Arduino, ESP8266, etc…) qui traitera ces informations et se chargera de les envoyer via une communication sans fil (du WiFi ou du LoRa par exemple). L’avantage de cette petite carte que nous venons de réaliser est qu’elle est universelle, elle sera compatible avec n’importe quel micro-contrôleur. Mieux encore, elle est assez petite pour venir se loger dans le boîtier du compteur Linky. Evidemment, ici j’ai mis un régulateur 5V, mais rien ne vous empêche de mettre un régulateur 3,3V !

J’espère que tout cela vous sera utile et que ça vous aura plu. Merci d’être resté jusqu’à la fin !

Aymeric Denis