Version 2 de Linky MySensors

Une mise à jour de module Linky arrive avec quelques évolutions mineures mais importantes :

  • Remplacement de module NRF24L01 « noname » par une version plus aboutie « EBYTE ». Elle a en autres une version E01-ML01 pourvu d’un connecteur IPX permettant de mettre une antenne externe afin de doubler théoriquement sa portée.
  • Remplacement des led cms en version classique
  • Remplacement du régulateur LT1117 par un MCP1703
  • Mise à jour du firmware en version 1.1.5

Les articles ont été modifiés avec cette évolution.

Mysensors – Réglage du BOD

Après la description du montage à base de RFM95, je suis revenu sur le montage LinkyMySensors pour tester un autre axe d’amélioration sur la puissance d’émission. Il est possible de pousser au max la puissance du module NRF24L01 via la #define MY_RF24_PA_LEVEL mais sans certitude d’avoir un montage stable, sans reboot intempestif de l’arduino.

Le reboot est lié entre autres au paramétrage des fusibles internes du microcontrolleur et notamment le BOD qui défini le seuil de tension acceptable pour son fonctionnement. Au-dessous de celui-ci, un reboot est lancé..

Par défaut le seuil est à 2.7v sur un arduino pro mini. Il est possible de le modifier facilement, mais demande un « reflashage » du bootloader via l’interface ISCP. Cf. ce petit article décrivant la procédure à suivre : https://www.arduino.cc/en/Hacking/MiniBootloader

J’ai réalisé cette manipulation sur mon arduino avec un seuil à 1.8v ce qui permet d’avoir une variation possible de la tension plus importante au niveau de l’alimentation durant les phases de sollicitation du NRF24L01. Je peux maintenant pousser le PA_LEVEL au max sans inquiétude. 🙂

25/04 : la page de programmation du Linky Mysensors a été modifiée incluant la partie programmation du BOS via l’interface ISCP.

La consommation du module Linky

Suite à quelques retours que j’ai eus sur la portée du montage Linky MySensors, j’aimerais apporter un complément d’informations sur les contraintes de consommation du module vis-à-vis de l’alimentation disponible sur le compteur Linky.

Le Linky a une sortie disponible depuis les bornes I1 & A avec les caractéristiques suivantes :

  • tension à vide : 13Vrms à 50kHz
  • tension en charge : 6Vrms à 50kHz
  • puissance disponible : 130mW

Avec les 130mW, nous avons donc sous 3.3 volts environ 39mA disponibles.

Le montage est décomposé en différents éléments avec les consommations suivantes :

  • Arduino Pro mini : 10mA
  • Régulateur LT1117 3.3v : 5mA
  • 2 leds : 5mA

Soit un total de 20mA en moyenne, il reste donc 39-20=19mA maximum pour alimenter la partie sans fil et dans notre cas le NRF24L01. Ce module en version classique (sans antenne et ampli) a une consommation entre 12 et 25mA suivant la puissance configurée et le débit utilisé. Un modèle SMA avec une antenne externe et amplificateur a une consommation qui oscille entre 25mA et 150mA.

Avec les 19mA restants, nous pouvons dire adieu au NRF24L01 en version SMA et aussi à la version classique avec une puissance d’émission importante. C’est pour cela que mon montage utilise un NRF classique avec une faible puissance…

Dans un cas concret, j’ai donc réalisé deux mesures avec le NRF24L01 modèle classique avec une puissance par défaut et ensuite avec une puissance max, mais avec une alimentation de labo afin de ne pas être limité sur l’intensité. Voici les courbes de consommation au démarrage du module Linky :

J’ai commencé une petite étude d’optimisation afin de gagner quelques mA; il est possible de faire les modifications/évolutions suivantes :

  • supprimer la led intégrée à l’arduino pro mini : gain 1mA
  • remplacer le régulateur LT1117 par un convertisseur DC-DC : gain 4mA
  • augmenter la valeur des résistances pour les deux LEDs : gain 2mA

Avec celles-ci, il serait possible d’augmenter la puissance de NRF24L01 via le #define MY_RF24_PA_LEVEL mais en aucun cas mettre en place une version SMD.

D’autres axes sont aussi possibles, par exemple :

  • remplacer le NRF24L01 par un module LORA longue portée – RFM95w : j’ai fait le test cette semaine sans succès, car il y a un pic de consommation > 40mA juste après le démarrage. Cette solution n’est pas viable avec l’alimentation actuelle.
  • alimenter le montage par une batterie externe : à étudier, car il y a des contraintes sur la durée de vie de la batterie, la fréquence de l’envoi des données vers la gateway et le temps de lecture des données TIC

Pour le module RF95w intégré à mon montage, voici la courbe de consommation au démarrage :

Nouvelle version Linky MySensors v1.1.4

Voilà une nouvelle version logicielle pour le module Linky en mode « standard » uniquement. Cette nouvelle version à une zone d’options disponibles pour affiner les réglages internes au NRF24L01 notamment le changement de canaux de communication et la puissance d’émission. Une autre modification apporte une optimisation pour la transmission de données afin de minimiser l’empreinte sur la bande passante. Cette version est disponible sur le Github.

Le module Linky et sa portée..

Un bref article pour donner quelques informations sur la portée du module Linky Mysensors. Comme tu le sais ce module utilise le NRF24L01 pour l’échange de données via le protocole Mysensors. Théoriquement il est possible de réaliser la transmission de données jusqu’à 100 mètres de distance. Mais dans la vraie vie c’est complètement différent et je vais essayer de te donner quelques pistes pour améliorer sa portée.

Pour atteindre les 100 mètres il faut réunir plusieurs pré-requis :

  • Être en champ libre : pas de chance tu as sûrement des murs entre ce module et ta gateway. Le NRF24L01 utilise la bande de fréquence 2,4Ghz qui n’aime pas les murs et encore moins les murs en béton armé.
  • De pas être perturbé par un champ externe : je suppose que tu as du wifi chez toi et l’une des bandes utilisées est aussi le 2,4 Ghz. De plus le canal réglé par défaut sur MySensors est 76 correspondant à la bande en plein milieu du wifi.
  • D’utiliser un débit bas : pas de problème Mysensors est réglé par défaut à 250kps.
  • D’utiliser la pleine puissance du module : sur Mysensors le réglage par défaut est à HIGH ce qui n’est pas le niveau le plus élevé.

Comment améliorer la portée du module ?

Changer le NRF24L01+ SMD par un module avec amplificateur et antenne externe n’est pas une bonne option à cause de sa consommation vis à vis de la puissance limitée à 130mW sur l’alimentation du Linky.

Il est possible d’alimenter le module avec une alimentation extérieure mais ce n’est pas envisageable pour le compteur enfermé devant ta rue…

Il reste à mon avis trois possibilités (si tu as d’autres idées je suis preneur…) :

  • Modifier quelques paramètres de Mysensors liés au fonctionnement du NRF24L01. Une nouvelle version arrivera très prochainement dans le github. Utilisation d’un canal non couvert par le wifi et passage en mode MAX pour la puissance d’émission (à valider).
  • Utiliser une antenne de meilleure qualité sur la gateway. Pour ma part ma gateway utilise une NRF24L01 SMA avec une antenne extérieure 6db.
  • Mettre en place une antenne extérieure sur le NRF24L01 SMD à l’image de cet article. Je vais tester cette possibilité prochainement et je te ferai un retour avec une description complète pour réaliser la modification.

Mise à jour hardware Linky MySensors

Après quelques temps d’utilisation du module Linky, j’ai remarqué des petites instabilités de la communication NRF vers la gateway. Pour alimenter celui-ci je me suis appuyé sur le régulateur interne de la carte Arduino pro mini qui à l’usage n’est pas d’une grande efficacité/régularité. J’ai donc décidé d’ajouter un régulateur externe LT1117-3.3 et remplacer le NRF par un modèle SMD plus petit; adieu la fente sur le boîtier. La partie logicielle reste à 100% compatible avec ce modèle. Les articles sont en cours de mise à jour.

Linky MySensors, où suis-je ?

Voilà une petite map regroupant les Linky Mysensors installés, enfin j’espère.. 🙂 J’ai juste récupéré l’ensemble des villes des utilisateurs enregistrés sur le site. Pas d’inquiétude, il n’y a que la ville affichée sans plus d’information.

Nouveau montage: Compteur eau ESP – MQTT

Hello tous, après le module Linky Mysensors voici un autre capteur pour le relevé de la consommation d’eau utilisant une autre technologie couramment utilisée en domotique, le MQTT. Ce module utilise un ESP8266 qui permet d’héberger facilement un petit serveur web avec une connexion wifi. Le descriptif complet est par ici.

Montage du module MySensors Linky

J’ai trouvé un peu de temps pour mettre en ligne la description du montage de la première carte du module MySensors Linky. Le montage de la carte alimentation arrivera bientôt dès réception des pcb, mon stock est déjà parti. :).

12/01 : en attendant le pcb, je complète la description avec l’assemblage des deux cartes, la programmation et la mise en boîtier.

18/01 : maj avec la programmation et inclusion sous Jeedom

Bonne année 2020 !

Bonne année 2020 à tous !

La description de MySensors Linky est pratiquement complète. J’ai pour l’instant ajouté la partie présentation, description de la partie électronique et du boîtier. Il y a aussi une petite boutique pour l’achat de quelques composants et pcb; le boîtier arrivera aussi en boutique rapidement. Courant Janvier j’ajouterai la description du montage avec le téléversement du firmware…

Bonne lecture…