cdlog2

Forum Replies Created

Affichage de 15 réponses de 1,396 à 1,410 (sur un total de 1,654)
  • Replies
    cdlog2
    Modérateur

      RE: Le fichier INO n’est pas accepté par le BLOG. J’essaie de transmettre le programme en ligne. Si je m’aperçois que des caractères sont déformés après enregistrement je ferais un autre envoie sous forme d’une archive ZIP

      Voici le Sketch INO :

      ///////////////////////
      // Teleinfo Arduino
      //
      #include <Arduino.h>
      #include <SoftwareSerial.h>
      #define TELEINFO_PIN 8
      SoftwareSerial telSerial(TELEINFO_PIN, 9);

      void setup() {
      Serial.begin(115200);     // Serial arduino en 115200 bauds
      telSerial.begin(1200);     // Rec. Serial Teleinfo mode historique 1200 bauds
      }

      void loop() {
      if (tSerial.available()) {
      char rec = telSerial.read()&0x7F;  // suppression bit 8, seul 7 bits significatifs
      Serial.write(rec);
      }
      }

      0
      0
      cdlog2
      Modérateur

        Bonjour,

        Si vous n’avez pas d’autre lieu pour tester votre modem et si vous savez programmer un Arduino
        je vous propose de tester la téléinfo de votre compteur via un Arduino et quelques composants montés provisoirement sur un breadboard

        – Arduino : UNO ou NANO
        – photocoupleur : LTV814
        – résistances : 10k et 4,7k

        un schéma simple et un Sketch INO est fourni en pièce jointe.

        Vous recevez sur la PIN 8 de l’Arduino la téléinfo filtrée par le photocoupleur (1200 bauds mode historique) et vous visualisez les trames reçus sur le Moniteur Série de l’IDE Arduino en 115200 bauds

        Cdt

        PS : Ok pour la coupure du Linky, les petits vieux comme moi peuvent parfois dire des con….

        Attachments:
        You must be logged in to view attached files.
        0
        0
        cdlog2
        Modérateur

          Bonjour,

          Je n’ai pas d’expérience avec ce modem car je ne l’utilise pas.

          Il me semble à vous lire, que vous avez fait le tour des possibles :

          Testé sous Linux, Windows, Driver, Logiciel de test, Transmission à 1200 et 9600, Inversion des connections i1 et i2.

          Vous dites mesurer entre i1 et A une tension alternative de 12,53v, et 200mv entre i1 et i2.
          Pour information chez moi, je mesure ~600mv AC à 15khz en sortie du linky sans aucune connexion sur i1 et i2

          Si vous êtes un peu équipé, essayez de connecter rapidement une simple Led 20ma en série avec une résistance, entre 470 ohms à 4,7k directement aux bornes i1 et i2 du compteur et modem déconnecté, afin de voir si la Led s’illumine un peu. Possible que votre compteur à un problème. Normalement la Led devrait briller assez fort avec une résistance de 470 Ohms.

          De même, tester ce montage à l’extrémité de votre câble de liaison toujours sans le modem pour voir si vous avez le même résultat. Il est aussi important que votre liaison soit faite via une paire torsadée pour éliminer la diaphonie et parasites.

          Eventuellement couper quelques 30 secondes votre compteur Enedis, puis le remettre en service, possible que le circuit de sortie de la téléinfo interne au compteur soit bloqué ?

          Si la LEd de test ne s’allume pas quelques peu avec une résistance de quelques 470 ohms , on peut penser que votre compteur à un problème.

          Cdt

           

          0
          0
          cdlog2
          Modérateur

            Je rajoute une ligne par rapport à l’exemple précédent N° 2. car SW2 restait à ON une fois positionné à ON.

            On teste s’il y a un surplus de production par rapport à la Consommation >> SW1 = ON si l’on consomme via le compteur Enedis
            Si TIC TICPapp > 0 ==> SW1 = ON tant que cdt vrai 

            Si SW1 = ON ==> SW2 = OFF     ### Rajout ICI  >> On remet SW2 = OFF si on consomme depuis le Cpt Enedis

            SW2=ON si la production est supérieure à 64watt sur chaque phase au moins pendant 60s. et si la consommation Cpt Enedis = NULLE (SW1=OFF)
            Si Pinj-1 > vAphecs ==> SW2 = ON si cdt vrai pendant tempo 60s >> actif si SW1 = OFF
            Si Pinj-2 > vAphecs ==> SW2 = ON si cdt vrai pendant tempo 60s >> actif si SW1 = OFF
            Si Pinj-3 > vAphecs ==> SW2 = ON si cdt vrai pendant tempo 60s >> actif si SW1 = OFF

            On active le Relais Cumulus si le surplus de Production > 64Watt (SW2 =ON) et si la consommation Cpt Enedis = 0 (SW1=OFF)
            Si SW2 = ON ==> RLecs = On tant que Cdt vrai >> actif si SW1 = OFF

            0
            0
            cdlog2
            Modérateur

              Bonjour,

              Je pense que vous souhaitez quelques chose comme ceci.

              variable vAphecs = 0.2      ### 0.2A = 64 Watt = valeur minimale détecté par les pinces sct01300 100A

              On teste s’il y a un surplus de production par rapport à la Consommation >> SW1 = ON si l’on consomme via le compteur Enedis
              Si TIC TICPapp > 0 ==> SW1 = ON tant que cdt vrai 

              SW2=ON si la production est supérieure à 64watt sur chaque phase au moins pendant 60s. et si la consommation Cpt Enedis = NULLE (SW1=OFF)
              Si Pinj-1 > vAphecs ==> SW2 = ON si cdt vrai pendant tempo 60s >> actif si SW1 = OFF
              Si Pinj-2 > vAphecs ==> SW2 = ON si cdt vrai pendant tempo 60s >> actif si SW1 = OFF
              Si Pinj-3 > vAphecs ==> SW2 = ON si cdt vrai pendant tempo 60s >> actif si SW1 = OFF

              On active le Relais Cumulus si le surplus de Production > 64Watt (SW2 =ON) et si la consommation Cpt Enedis = 0 (SW1=OFF)
              Si SW2 = ON ==> RLecs = On tant que Cdt vrai >> actif si SW1 = OFF

              Regardez ce site, il y a un projet DIY identique à ce que vous souhaitez faire :

              https://learn.openenergymonitor.org/pv-diversion/mk2/index

              On vous propose d’alimenter votre cumulus via un contrôleur type arduino qui commande un TRIAC utilisé comme variateur de tension asservi par le Surplus de production

              Cdt

              0
              0
              cdlog2
              Modérateur

                Bonjour,

                Je vous propose une base pour réaliser votre délestage Cumulus « ECS ».

                Il faut déterminer la valeur de la puissance minimale « vPmin » consommée aux heures creuse de la journée, on exclus les grosses consommations comme la cuisine, lessive, etc.. et bien sur hors conso ECS.
                donc faire la sommes des consommation des petits appareils pouvant ou supposés être allumées entre par exemple 14h-15h ex: télévision? + radio? + chaine?, lumière? + ordinateurs? + Chargeur? + autres petit appareil?  exemple ==> vPmin = ~500Watt

                Définir « vPecs » la valeur puissance consommée par le ECS –  exemple : vPecs= 3KW
                Définir « vPmax » la valeur maximale consommée à ne pas dépasser lorsque ECS = ON + conso minimal > vPmax = vPmin + vPecs.
                Définir « vAphecs » la valeur du seuil d’injection minimal par phase pour autoriser ECS = ON

                Définition des 3 Pinces Amp.injection « Pinj-1 » « Pinj-2 » « Pinj-3 »
                Définition Relai ECS = « RLecs »
                Définition « TICPapp » = Puissance apparente – TIC compteur Enedis

                Pour faire votre programmation avec le WES, il faut utiliser des Switch Virtuel « SWx »

                Exemple de Programmation :

                On va utiliser « SW1 » pour déterminer l’état ON/OFF du relais de l’ECS :
                Si Relais RLecs = ON ==> SW1 = ON tant que cdt vrai.     ### SW1 nous permet de connaitre l’état du relais ECS

                on positionne SW2 = ON si la consommation TIC « TICPapp » est suppérieur a la valeur « vPmin » et si le relais RLecs = OFF (ECS=OFF) :
                Si TIC TICPapp > vPmin ==> SW2 = ON >> actif si SW1 = OFF   ### SW2 = ON lorsque l’on dépasse la conso Minimale avec ECS = OFF

                on va déterminer si la consommation reste en dessous du seuil maximal autorisé avec ECS ON
                Si TIC TICPapp > vPmax ==> SW2 = ON >> actif si SW1 = ON   ### SW2 = ON lorsque l’on dépasse la conso Maximale avec ECS = ON

                on remet SW3 = OFF si les condition ECS ne sont plus réunis – SW2 = ON ==> ECS impossible
                Si SW2 = ON ==> SW3 = OFF

                on va positionner « SW3 » = ON si les Pinces « Ainj-1 et Ainj-2 et Ainj-3 » dépasse « vAphecs » (seuil d’injection par phase pour autoriser ECS)
                Si Pinj-1 > vAphecs ==> SW3 = ON >> actif si SW2 = OFF  ### SW3 = ON si le injection. Ph1 permet ECS et si conso min SW2 et ECS = OFF
                Si Pinj-2 > vAphecs ==> SW3 = ON >> actif si SW2 = OFF  ### SW3 = ON si le injection Ph2 permet ECS et si conso min SW2 et ECS = OFF
                Si Pinj-3 > vAphecs ==> SW3 = ON >> actif si SW2 = OFF  ### SW3 = ON si le injection Ph3 permet ECS et si conso min SW2 et ECS = OFF

                Pour terminer on va activer le relais ECS si toutes les conditions sont réunis – SW3 = ON et SW2 = OFF
                Si SW3 = ON ==> RLecs = On tant que Cdt vrai >> actif si SW2 = OFF

                Pour mesurer la consommation propre à l’ECS il faut y connecter un compteur à impulsions en série sur l’alim de l’ECS.
                cdt

                0
                0
                cdlog2
                Modérateur

                  Bonjour,

                  Si vous pensez ne pas être sur de vos connections entre le WES et le Linky !
                  Je vous suggère de télécharger depuis le Forum du WES, la dernière DOC : WES V2 Câblage (câblage des entrées/sorties du WES V2)

                  Vous trouverez la règle de câblage des Tics entre le WES et Compteur Linky dans le chapitre : 4-2 Téléinfo sur les Linky (TIC compteur ERDF)
                  Il faut respecter le sens des liaisons Tic1-l1 et Tic2-l2 décrite dans la DOC. Il faut utiliser 1 seule paire torsadée pour relier chaque compteur au WES.

                  Cdt

                  0
                  0
                  cdlog2
                  Modérateur

                    Bonjour,

                    Oui, je peux comprendre votre réflexion.

                    Mais le modem est transparent concernant le Contenu des Trames reçues des compteurs suivant le type d’abonnement, Mono, Tri, etc, etc.
                    C’est le Logiciel qui va décortiquer ces Trames, mises en forme et reçues en sortie du modem.

                    Par contre le protocole de transmission des trames peut varier suivant le mode de fonctionnement et type de compteur utilisé. Pour les compteurs  Linky il y a deux modes de transmission possibles.

                    Mode Historique = bauds:1200 parité:odd(impair) data-bits:7 stop-bit:1
                    Mode Standard = bauds:9600 parité:even(pair) data-bits:7 stop-bit:1

                    Cdt

                    0
                    0
                    cdlog2
                    Modérateur

                      Bonjour,

                      Oui, voir le lien du produit et fichiers à télécharger en bas de page :

                      https://www.cartelectronic.fr/teleinfo-compteur-enedis/127-teleinfo-1-compteur-usb-lc.html?search_query=USBTICLCV2&results=1

                      Cdt

                      0
                      0
                      cdlog2
                      Modérateur

                        RE : Vous pouvez aussi utiliser  » On si Cdt vrai pendant tempo  » pour le test de l’état de la Pince 1 et éliminer les états parasites :

                        Source > Pince 1  – I Instantané  > 0  **** Sortie > SW1 – On si Cdt vrai pendant tempo > 1s — Actif suivant switch Vituel  SW1 = OFF
                        Source > SW1 – Etat = ON  ****  Sortie > SW1 – Off si Cdt vrai pendant Tempo > 10s  — Actif suivant switch Vituel  SW1 = ON

                         

                        0
                        0
                        cdlog2
                        Modérateur

                          Bonjour,

                          Vous souhaitez engager une Action Lambda toutes les 10 secondes et dès lors que la Pince 1 est > 0. Vous souhaitez que le processus s’arrête dès que la Pince 1 revient à 0.

                          C’est facile à réaliser : On va utiliser par exemple SW1 pour activer l’Action Lambda.

                          Source > Pince 1  – I Instantané  > 0  **** Sortie > SW1 – On au bout tempo > 1s — Actif suivant switch Vituel  SW1 = OFF
                          Source > SW1 – Etat = ON  ****  Sortie > SW1 – Off si Cdt vrai pendant Tempo > 10s  — Actif suivant switch Vituel  SW1 = ON

                          Cela crée une bascule automatique sur SW1 qui passe alternativement de ON à OFF toutes les 10 secondes et Ceci Tant que la Pince 1 est > 0.
                          Le processus s’arrête seul et Sw1 revient et reste à OFF si la Pince = 0.

                          Il  vous reste à Tester l’Etat de  SW1 pour lancer votre Action Lambda,  requête ou  tout autres actions.

                          Cdt

                           

                          0
                          0
                          cdlog2
                          Modérateur

                            Re: J’ai du réduire la taille de l’image correspondant à mon installation. Je re-poste l’image de mon installation en espérant que cette foi elle passe !

                            Attachments:
                            You must be logged in to view attached files.
                            0
                            0
                            cdlog2
                            Modérateur

                              Bonjour,

                              Je vous présente à mon tour l’installation de mon WES et la gestion de ma domotique par un Raspberry pi.
                              Cette distribution électrique située dans le local de ma chaufferie est une annexe du tableau de distribution Général Domestique et Compteurs Enedis distant.

                              Le Wes Gère principalement le délestage électrique entre mes consommations Domestiques avec ceux de la Chaufferie, constitué de 2 Pompes à Chaleurs de 12kw chaque, les 4 circulateurs gérant mes 4 circuits de départ vers les radiateurs, un ballon ECS de 350 litres et une micro station d’épuration.

                              Le Wes gère également le bus 1Wire du domicile en partage (voir plus loin), les pinces ampermétriques, les compteurs à impulsions et capteurs dédiés à l’ensemble des Postes.

                              Un Raspberry pi est installé et est scindé en deux Serveurs fait maison : D’une part un Serveur Multicast ( Cnx Rj45 + Wifi ) qui me permet de gérer et mixer plusieurs protocoles de communication avec divers Capteurs distants et un Serveur WEB (apache) qui me permet de personnaliser ma propre interface WEB et gérer toutes les données. Le RASP dialogue et gère aussi plusieurs données avec le WES via des requêtes TCP.

                              Le WES et les équipements autour du RASP sont alimentés via une alimentation 12v 10A secourue sur Batterie.

                              Le RASP gère plusieurs protocoles de communication via des plugins dédiés, comme le WES, ZWARE, 1Wire, ModBus RS485, Zigbee PlugWise, des Clients Wifi propriétaires, etc.

                              En exemple, plusieurs modules ZigBee de chez PlugWise, géré directement par un plugin fait maison dans le Raspberry pi, sont convertis en gestion de Cartes à Relais 1Wire Virtuel ce qui me permet de commander tous les interrupteurs et Va-et-Vient des lumières du domicile, conjointement depuis le WES et depuis ma propre interface WEB.

                              Cela me permet en autre d’interfacer une gestion IR distante et depuis le RASP de commander en parallèle ces lumières via des Télécommandes lamda. L’installation de l’application Jarvis (en mode Off Line) dans le RAPS, me permet aussi via son synthétiseur vocal, de lancer diverses commandes vocales. En deux mots, tous les Capteurs Distants et quelques soit leurs protocoles de communication sont interconnectés dans une Matrice Commune dans le RASP, ce qui permet une interaction globale entre tous les Capteurs du Domicile.

                              J’ai en autres réalisé des Capteurs Clients Distants en WIFI, composés Chacun de 8 Inputs Analogique, d’un Capteur IR et d’un Bus 1Wire. Ces capteurs communiquent avec le RASP en WIFI et ce dernier peut gérer tous les capteurs Analogiques, les Flux IR, ainsi que les DSxxx connectés sur le Bus 1Wire propre a chaque Client. Cela me permet en autre de rapatrier vers l’interface WEB du RASP ainsi que vers celui du WES, toutes les Sondes de Température et Cartes à Relais Virtuel Distantes gérées localement par mes Clients WIFI.

                              Pour réaliser ceci, j’ai développé une interface via un ESP (NodeMCU 10) que j’appelle  » Serveur ESP PONT HUB I2C SLAVE Virtuel OneWire « .

                              En deux mots : Le Projet utilise un ESP8266 (NodeMCU 10), afin de réaliser un PONT en Y entre un BUS Physique 1Wire composé de DS18B20 (Sondes de temp.) ou DS2408 (Cartes 8 relais) et autres DXxxx (non géré par le WES) et de Partager de façon Transparente le Bus 1Wire Physique entre le Bus Wire du WES, avec un autre Contrôleur distant de type Arduino, Raspberry pi etc. en communication I2c Maitre avec le ESP8266 I2c Slave.

                              Cela permet de Capturer et de Commander tous les Composants DSxxx du Bus Physique en parallèle avec la gestion 1Wire propre du WES
                              en temps Réel, et sans perturber le fonctionnement du WES.

                              La gestion WIFI du ESP8266 est désactivé. L’utilisation d’un ESP8266 (NodeMCU 10x) est choisi pour sa capacité mémoire, sa vitesse CPU programmé et boosté à 160mhz et son prix d’achat relativement faible (moins de 4€).

                              Cette gestion permet de lire jusqu’à 64 DSxxx d’un bus 1Wire physique du domicile via des commandes I2c  en partage avec le WES sans devoir envoyer des requête au WES pour lire les états des différents composants 1Wire présent. La gestion du Bus 1Wire Physique peut continuer à être géré en communication I2c même si le WES ou le RASP est arrêté.

                              D’autres Composant DSxxx non gérés par le WES, peuvent être gérés en toutes transparence par le contrôleur distant (Arduino, Rasberry pi etc) en communication I2c.

                              La liaison entre le BUS Physique 1Wire des DSxxx et le bus 1Wire du WES est autonome. Le ESP8266 à la mise sous tension effectue
                              un SCAN du BUS 1Wire Physique et enregistre les DSxxx présent dans une Librairie  » OneWireHub que j’ai modifié en 64 bits ».

                              Le WES peut dès lors faire un SCAN de son BUS 1WIRE et cette librairie lui renvoie de façon Virtuelle les Infos exactes des DSxxx physiques enregistrés et aussi les DSxxx Virtuels crées.

                              Le ESP8266 peut effectuer un Scan automatique du BUS Physique 1Wire toutes les Minutes. Si de nouveaux composants DSxxx sont connectés au Bus 1Wire physique, ils seront alors enregistrés. Si le WES refait un SCAN de son Bus 1Wire ils seront découvert. On peut aussi envoyer une Cde I2c au ESP pour lui demander de Scanner le Bus 1Wire Physique à tout moment.

                              On peut aussi via la liaison I2c créer de nouveaux composants DSxxx de façon virtuelle. Cela permet de gérer un ou plusieurs nouveaux DSxxx d’un BUS 1WIRE éloigné par exemple en liaison NetWork (WIFI par exemple) à tout moment. Si ces nouveaux composant Virtuels sont des DS2408 (cartes à relais) ou des Sondes DS18B20, alors le WES pourra les découvrir lors d’un Scan de son Bus et pourra gérer ces DXxxx Virtuel WIFI comme des équipements physique réelles (utilisé en autre pour mes modules PlugWises et gestion des Clients Wifi).

                              Dans le ESP, la gestion I2c en mode Slave et la Gestion 1Wire avec le WES sont toutes deux gérés par interruption.
                              Donc pas de Spooling et pas de perte de message possible. Le Protocole 1Wire est prioritaire à celui du I2c dans le cas de 2 appels d’interruption en simultané.

                              Voila en quelques mots mon installation.

                              Pour ceux que cela pourrait intéresser, je peux fournir le Sketches au complet de mon projet de pont 1Wire à compiler dans un ESP NodeMCU via le IDE Arduino. Par contre seul les DS2408, DS18B20 et DS28E17 sont reconnus et gérés pour le moment. On peut par contre implémenter la gestion d’autre DSxxx assez facilement. Je joins ci-dessous le schéma de câblage de ce module ESP à titre d’info.

                              Cdt

                              Attachments:
                              You must be logged in to view attached files.
                              0
                              0
                              cdlog2
                              Modérateur

                                Bonjour,

                                Les fichiers.DAT peuvent être ouvert par un simple éditeur de Texte lamda.
                                Si vous êtes sous Windows, vous pouvez utiliser le Bloc-Notes qui se trouve dans la rubrique accessoire.
                                Simplement faire un Clic droit de la sourie sur votre fichier.DAT qui à été téléchargé puis Ouvrir Avec et choisir le Bloc-Notes.

                                Vous pouvez aussi choisir d’ouvrir ce fichier.DAT avec un Tableur comme Excel ou Calc. de Open Office s’il est installé ( gratuit ). De la même manière, Clic droit de la sourie sur le fichier.DAT puis Ouvrir Avec et choisir votre Tableur (Excel, Calc).

                                Cela vous permet de faire des calculs très rapide ex: sommes global des consos jours, mois ou créer des graphiques type camembert ou autre ! et sauvegarder les macros, pour ré-utilisation, suivant l’origine de votre fichier.DAT. Par contre, pour ce faire, il faut légèrement modifier le fichier.DAT en fichier.CSV en supprimant certains caractères depuis le Tableur avec votre fichier.DAT ouvert.

                                Ouvrez l’outil « Rechercher et Remplacer » puis :

                                Rechercher [ et Remplacer Tout par rien (vide)
                                Rechercher ] et Remplacer Tout par rien (vide)
                                Rechercher ‘ (simple cote) et Remplacer Tout par rien (vide)
                                Rechercher . (point) et Remplacer Tout par , (virgule)

                                Puis vous sauvegardez votre Fichier au format CSV > Enregistrer Sous votre nom-fichier.CSV

                                Vous pouvez ensuite travailler via votre Tableur avec vos valeurs de consos comme vous le souhaitez, récupérer par exemple uniquement la colonne de la 2eme Pince, en faire la somme des consos d’une colonne rapidement, des Graphs etc etc.

                                cdt

                                0
                                0
                                cdlog2
                                Modérateur

                                  En pièce jointe le résultat d’un appel data.cgx, sur un WES de Test dénudé, version V0_0.83H B03

                                  cdt

                                  Attachments:
                                  You must be logged in to view attached files.
                                  0
                                  0
                                Affichage de 15 réponses de 1,396 à 1,410 (sur un total de 1,654)