Tasmota
-
@seb-h Le mieux serait si tu avais un oscilloscope pour regarder la tête du signal
Sinon, il va falloir procéder à tatons -
@barbu-dor A priori avec une 1K ca roulerait.... C'est quoi la valeur qu'on doit obtenir à l'oscillo ??
-
@seb-h Avec un oscillo c'est pas une valeur qu'il faut chercher mais un signal propre en sortie du transistor
Résistance trop forte, la led de l'opto ne s'allume pas ou pas assez et le transistor ne vas pas ou pas assez conduire
Résistance trop faible, tu vas saturer la led, risque d'usure prématurée.
Article de Charles : https://hallard.me/demystifier-la-teleinfo/ -
@barbu-dor
Merci pour le lien , j'ai pu suivre toutes les évolutions sur le développement du module depuis le départ (sans le transistor et maintenant avec).D'origine, dans mon cas, voici le schéma que j'utilise.
Je n'ai jamais eu de problème avec les vieux compteurs blanc, uniquement avec mon linky en mode standard ou de temps à autre j'avais un checksum err qui remontait dans le log (après à noter que j'ai au moins 5m de liaison entre le compteur et le module de décodage ).J'ai pu voir sur les dernières platines de Charles, que c'est une résistance de 1.2K qui était utilisé.
Sur la doc de tasmota/téléinfo, 2 schémas sont communiqués. En tout 1er, celui ci
puis un peu plus bas dans l'article on trouve celui là
Donc , 2 schémas différents sur la même page, donc j'en déduis que le bon a prendre est bien celui avec une résistance de 1.2K ? Par contre, qu'en est il pour la résistance entre la broche 3 de l'opto et la mase , car chez moi je suis à 10K ?? Ma tension Vcc d'alim est +5V , aucun impact en fonction des résistances ?
Je vais récupérer un oscillo pour jeter un coup d’œil, mais quoi qu'il en soit en dessous de 1.2K çà commence a devenir chaud pour l'opto au risque d'usure ....
-
@seb-h L'article que je t'ai lié date de 2015
A l'époque Charles avait déterminé une valeur de 1.2K
Plus recemment il est passé à 220 ohms.
La resistance en sortie de l'opto n'a pas grande importance, on n'est pas dans un contexte d'electronique analogique. Elle polarise la Gate du BSS138 vers le 0V quand le transistor de l'opto ne conduit pas. Il ne faut pas qu'elle soit trop faible(<~ 2K) sinon le transistor de l'opto aura du mal a monter la Gate du BSS à VCC et le BSS ne conduira pas. Trop forte (>100K), la polarisation sera trop faible et la Gate ne redescendra pas a 0V a cause des capas internes du BSS.
Pour la résistance série de la LED, la LTV814 est donnée pour un courant max de 50mA (Absolute Maximum Rating)
La tension de fonctionnement de la LED est de 1.2V nominal. Donc en théorie, la valeur minimal de la resistance doit être (Vmax - 1.2V)/0.050
Avec 220 ohms, c'est ok jusqu'à une tension crête de 11V entre les bornes I1 et I2 du Linky (a mesurer en charge avec le circuit teleinfo branché, pas a vide).
Le doc Enedis-NOI-CPT_54E ne donne pas pas les infos de tension mais fait référence à la norme EURIDIS EN 62056-3-1 que jen'ai pas (payante).
Sur mon Liny triphasé, j'ai pratiquement 5V crète a crète sur I1/I2 lorsque le circuit est branché avec une résistance de 220 ohms:
-
@barbu-dor
Ok je vais brancher l'oscillo à l'entrée du module téléinfo pour voir la tension crête à crête . Donc tu dis 11v max avec une 220 ohms ?Au final, l'objectif c'est d'avoir un maxi de 1.2V mesuré entre les pin 1 & 2 de l'opto !
La résistance te permet de faire chuter la tension d'entrée .Maintenant, ce que je pige pas, c'est qu'avec une résistance de 1.5K traversé par une intensité de 50Ma , donc tu dois avoir 75V à ses bornes ce qui est énorme. Plus tu augmentes cette résistance plus tu fais chuter la tension du signal en entrée, plus tu la réduis puis ta tension augmente aux bornes de l'opto.
Donc pourquoi avec une 1.5K, j'ai des erreurs de checksum temps a autre, et avec une 330 , les erreurs sont explosives !! Je suis redescendu a 1K depuis , et ca avait l'air de rentrer dans l'ordre mais ce matin j'ai revu une erreur passé, donc j'ai du mal à comprendre...
Maintenant, il faut noté que j'ai plus de 5m de distance entre le linky et mon module de décodage, et c'est du cable de téléphone sans blindage qui assure la liaison. Je récupère peut être des parasites sur la distance tout simplement. Qu'en pense tu ?
-
Plus tu augmentes cette résistance plus tu fais chuter la tension du signal en entrée, plus tu la réduis puis ta tension augmente aux bornes de l'opto.
Ce n'est pas la tension, c'est le courant que tu contrôle. La résistance ne reduit pas la tension mais le courant. Une résistance s'opposse au passage du courant.
Quand la led est parcourue par un courant suffisant (~1mA), la tension à ses bornes est limitée à 1.2V. C'est une propriété des diodes. Si tu branches une LED sur une source de tension sans résistance, la LED ne limite pas le courant et si le courant dépase le max elle grille.
Donc la résistance est là pour que lorsque la tension au bornes du Linky est max, le courant ne soit pas plus fort que le max qu'elle peut suppporter.
Si la tension crete-a-crete du Linky est de 10V, avec une résistance de 1.2K, le courant qui va traverser la résistance est de (10-1.2)/1200 = 7mA
C'est normalement suffisant pour faire marcher la LED et faire conduire l'opto-transistor.
Par contre si ton linky ne donne que 5Vcac comme le mien, alors le courant n'est plus que de 3mA ce qui pourrait être un peu juste.
Dans mon cas, avec 5Vcac et une resistance de 220 ohm, le courant max qui va traverser le circuit est de 17mA. Ce qui est très bien.Pour ce qui est des 5m, cela peut être un problème, non pas pour des parasites mais plus pour des déformations de signal que cela peut engendrer.
Ci dessous, en bleu ce que tu dois avoir aux bornes de l'entrée du circuit et en rouge aux bornes de la LED
-
@seb-h Quelle version de Tasmota utilises tu ?
Je viens de brancher un shield Teleinfo (Resistance de 220ohm) + Wemos ESP32 avec un Tasmota 11.0.0.2 sur un Linky et j'ai aussi des soucis.
Mon autre systeme a base de ESP32 PICO utilisant un Tasmota 10.1.0.3 marche plutot bien.
Donc je ne sais pas encore s'il y a un pb de hard ou de soft.
Je vais debugger cela cet après midi -
@barbu-dor
Hier j'étais en v10 et je viens de passer ce matin à la même version que toi et j'ai pas constater de différence.
Par le passé j'étais en v9.5 et j'avais déjà ce soucis de temps à autre d'erreur de checksum de temps à autre. Hier en v10 et c'est la que j'ai testé la 220 ohms sur wemos d1 esp8266
En tout cas, merci pour tout tes détails, je vais regarder à l'oscillo de plus prêt -
@seb-h Je confirme un problème dans Tasmota depuis le 21 janvier.
Le dernier Arduino Core à un bug sur la gestion de l'UART ESP32 qui bloque lorsqu'il reçoit un flux important de données.
Je m'en sors avec une version compilée le 16 janvier. -
Bonjour,
Juste un petit post pour vous signaler que j'ai publié ce week-end une nouvelle version de mon Tasmota non officiel.
Coté changelog :- log rotate pour les logs (LittleFS)
- serveur FTP intégré pour accès aux logs (LittleFS)
- serveur TCP intégré pour stream du flux Teleinfo
- chgt des cles IREF et PREF pour éviter des conflits
- refonte du démarrage pour éviter des erreurs
- chgt calcul cosphi pour gestion des valeurs très faibles
- corrections de bugs et petites évolutions
Si vous souhaitez essayer, c'est par là :
https://github.com/NicolasBernaerts/tasmota/tree/master/teleinfoBonne semaine.
-
@nicolas-bernaerts Super, merci pour le partage
-
Hello,
Le tic fonctionne enfin, merci pour le support sur un post séparé.
Je surveille maintenant les informations fournies. Je suis surpris de voir que l'intensité est généralement soit 1, 2 ou 3 Ampères et que le cos phi est généralement exactement égal à 1.
C'est normal? Un problème sur la mesure ?
J'envisage de tester le firmware de Nicolas Bernaerts et voir si il y a une différence. -
@enjoy-combi
Le firmware de Nicolas Bernaerts fonctionne très bien notamment avec son affichage de la puissance active qui est un vrai plus . Il tourne actuellement sur mon linky et sur ma prod photovoltaique et sur mon surplus. Vraiment top ! -
@nicolas-bernaerts Bonjour,
Je teste votre firmware mais j'ai ces erreurs:
09:52:07.664 HTP: Console
09:52:08.422 TIC: Error q Ƃ 000B [;]
09:52:08.626 TIC: Error r:J0 [K]
09:52:09.728 TIC: Error q Ƃ 000B [;]
09:52:09.977 TIC: Error rzJ0 [K]
09:52:11.080 TIC: Error q Ƃ 000B [;]
09:52:11.336 TIC: Error r:J0 [K]
09:52:12.395 TIC: Error q Ƃ 000B [;]
09:52:12.648 TIC: Error r:J0 [K]Je n'ai pas les mêmes valeurs de résistance. J'ai celles recommandées par Charles pour un wemos D1. Différence la plus notable une résistance de 220 ohms sur i1
Est-ce que ça peut venir de là ?
Pour info, la mesure fonctionnait avec le firmware tasmota modifiée par CharlesLa configuration est 9600 pour le mode standard. Par contre je trouve pas le détail des autres modifications possibles après avoir cliqué sur le lien disponible dans le readme.
-
@enjoy-combi Bonjour,
Les erreurs de réception sont effectivement très souvent liées à la valeur de la résistance en sortie TIC. Suivant les compteurs, elle peut varier entre 4.7k (mode historique) et 1k (triphasé standard). Je ne pense pas être descendu en dessous de 1k pour les différents compteurs testés. C'est une piste à suivre ... -
@enjoy-combi normalement avec 220Ohm plus 3K3 sortie d'opto avant le transistor c'est compatible avec tout, jamais eu aucun retour avec.
-
@charles OK. Je vais faire un autre montage et testé.
Je vous tiens informé. Merci ! -
@Nicolas-Bernaerts
Bonjour!
Je continue ici plutôt que sur l'issue github, je suis quand même un poil plus à l'aise en français...
Je suis donc sur votre firmware compilé par mes soins, et je tente de faire marcher le D1 Mini ESP32 fourni par @Charles, ainsi que son shield, sur le compteur linky en mode standard. A noter, je suis incapable d'utiliser le firmware compilé à la mano si j'active le serveur ftp, reboot en boucle de l'esp32.
J'ai l'impression que quand on sauvegarde les paramètres teleinfo, ce n'est pas vraiment sauvegardé, en tout cas un reboot fait retourner sur la configuration stock en 1200bds (ainsi que les autres paramètres). J'ai essayé de passer en 9600, mais j'ai aucun message qui est parsé correctement apparemment. Je suis bien sur le bon gpio (autoconfiguration teleinfo qui semble maper correctement les gpio, mais idem en mapant manuellement).
Je vois les compeurs Message et Reset qui incrémentent (assez lentement pour messages, très rapidement pour reset).
Apparemment il comprend pour le 230v mais c'est tout. Il récupère rien du reste.
Par ex en console :
18:40:30.601 TIC: Message reset
18:40:30.702 TIC: Message reset
18:40:31.352 TIC: Message reset
18:40:32.256 TIC: Message reset
18:40:32.259 TIC: Message reset
18:40:32.473 RSL: SENSOR = {"Time":"2022-07-21T18:40:32","METER":{"PH":1,"ISUB":0,"PSUB":0,"PMAX":0,"U1":230,"P1":0,"W1":0,"I1":0.0,"C1":1.00}}
18:40:32.957 TIC: Message reset
18:40:32.961 TIC: Message reset
18:40:33.207 TIC: Message reset
18:40:33.408 TIC: Message reset
18:40:33.507 TIC: Message reset
18:40:33.808 TIC: Message reset
18:40:33.907 TIC: Message reset
18:40:34.058 TIC: Message reset
18:40:34.157 TIC: Message reset
Sur le home j'ai ça au bout de quelques secondes :
Le baud rate ne change rien à ça, mais pourtant je sens bien un problème de ce côté, sachant que quoi que je change dans le menu de config teleinfo, ça reste identique en terme de "comportement"...
Est-ce que vous auriez une idée de la source?
Je vais revenir sur un autre esp32s2 avec le firmware d'origine tasmota teleinfo plus standard, mais que je n'arrive pas à faire communiquer avec emoncms en attendant de comprendre ça...
Merci! -
J'ai le même comportement avec un esp32s2, la configuration teleinfo est réinitialisée lors d'un redémarrage, et je n'ai pas les commandes energyconfig comme dans la version de Charles. Est-ce que ça pourrait être lié au littlefs? j'ai l'impression pourtant que c'est bien fonctionnel...
Sur l'esp32s2 :
Et la partition n'est pas vide, mais à peine mieux :