Slimme Meter Poort Extender

[ 2,241 views ]
Bijna alle Nederlandse huishoudens zijn inmiddels uitgerust met een zgn. “Slimme meter”. Deze meter stelt de energie leveranciers in staat om op afstand de meterstanden op te vragen.

Om ook de eindgebruiker te bedienen hebben de Slimme Meters een “P1”-poort waarmee lokaal alle relevante gegevens uitgelezen kunnen worden. Omdat er steeds meer toepassingen zijn en er ook steeds meer slimme uitlees kastjes op de markt komen is één P1 poort niet altijd genoeg, maar door de opzet van de P1 poort is het niet altijd mogelijk om twee (of meer) uitlees kastjes parallel op de P1 poort aan te sluiten.

Dat zit als volgt:

De P1 poort heeft zes “pinnen”.

  • Pin1 is een (kortsluit vaste) 5 volt uitgang die 250mA moet kunnen leveren. Helaas levert niet iedere meter de voorgeschreven 250mA. Iets om rekening mee te houden;
  • Pin3 en pin6 zijn met elkaar verbonden naar Ground (GND);
  • Op pin4 zit niets aangesloten;
  • Pin5 is de pin waar de data van de Slimme Meter (in de vorm van een telegram) uit komt;
  • Pin2 is de Data Request pin. Alleen als deze “hoog” is komt er data uit pin5.

Wat in het schema opvalt is dat pin5 (data) een zogenaamde “open collector” aansluiting is. Dit is, voor de eenvoud, te vergelijken met een schakelaar. Als de Slimme Meter deze pin “laag” wil maken dan laat hij de bijbehorende LED branden waardoor de “schakelaar” dicht gaat (pin5 sluit kort naar GND). Maar zolang er geen spanning op pin5 staat maakt het weinig uit of de “schakelaar” open of dicht staat. Er zal aan pin5 niets veranderen!

Om dit toch te laten werken moet een aangesloten device er zelf voor zorgen dat er spanning op pin5 komt te staan. Dit kan eenvoudig door met behulp van een weerstand op pin5 een spanning te zetten. Deze spanning kan afwijken van de 5 volt van de Slimme Meter (bijvoorbeeld 12 volt of 3,3 volt).

Stel nu dat het aangesloten device pin5 met een 10k ohm weerstand naar 5 volt trekt. Sluit je hier parallel een tweede device op aan die ook een 10k ohm weerstand gebruikt dan is het resultaat een 5k ohm weerstand. Een derde device zou deze weerstand zelf verlagen tot 3k4 ohm. Dit is onwenselijk.

Een andere probleem ontstaat als de twee aangesloten devices verschillende spanningen gebruiken om pin5 omhoog te trekken. Grote kans dat één van de devices (waarschijnlijk het device dat de laagste spanning nodig heeft) de geest zal geven.

Nog een probleem bij het parallel aansluiten van devices op de P1 poort heeft te maken met pin2 (de Data Request pin). Als één van de aangesloten devices pin2 “laag” maakt omdat hij geen data wil ontvangen, zal ook het andere device geen data meer ontvangen … een ongewenste situatie. Als één van de devices de DTR pin actief “laag” maakt terwijl een ander device deze actief “hoog” maakt … nou ja: ook niet gewenst!

Simpelweg meerdere devices parallel op de P1 poort van de Slimme Meter aansluiten is dus geen optie!

Uit bovenstaande volgt dat iedere uitgang op de P1 hub aan de volgende eisen moet voldoen:

  • Een eigen, gescheiden van de andere uitgangen, pin5 (data);
  • Een eigen Data Request pin;
  • Een eigen, niet van de Slimme Meter afhankelijke 5 volt voeding op pin6.

Om dit te realiseren ben ik uitgegaan van een CD4050 (buffer) en een CD4093 IC. De CD4093 is een IC dat vier logic NAND gates (A, B, C en D) bevat. De waarheidstabel van een NAND poort ziet er zo uit:

De ingang van de P1 HUB ziet er schematisch zo uit:

Pin2 is direct verbonden met pin1 (5 volt) waardoor de Slimme Meter zo vaak hij kan (meestal 1x per seconde) een telegram verstuurt via pin5. Deze pin5 wordt met een 4k7 ohm weerstand met 5 volt verbonden en is de invoer voor de eerste buffer poort (U3A). Een hoog ingang signaal op U3A[3] resulteert in eenhoog signaal aan de uitgang (U3A[2]) en omgekeerd.

De 5 volt van de Slimme Meter wordt als voeding voor de CD4050, CD4093 én (afhankelijk van een jumper) voor de voeding van de P1_Out1 gebruikt. De andere twee poorten P1_Out2 en P1_Out3 krijgen hun voeding altijd van J1.

Behalve waar de voeding vandaan komt is de schakeling voor de drie uitgangen P1_Out1, P1_Out2 en P1_Out3 gelijk.

De uitgang U3A[2] van buffer A wordt als ingang voor de andere drie poorten gebruikt. Als U3A[3] “hoog” is, dan is A3U[2] óók “hoog” en als de ingang “laag” is is de uitgang óók “laag”. De enige functie van de buffer is dat pin5 van de slimme meter niet belast wordt.

U3A[2] is direct verbonden met U1B[6]. In onderstaande “truth table” is te zien wat er op de verschillende aansluitingen van het circuit gebeurd met de signalen. Duidelijk is dat alléén als pin2 van J6 “hoog” is het signaal van pin5 van J2 één op één wordt doorgegeven aan pin5 van J6.

Het signaal uit U1B[4] is geïnverteerd ten opzichte van het signaal op U3A[3] maar wordt door Q2 weer “terug geïnverteerd” waardoor we weer het signaal hebben dat de Slimme Meter ook afgeeft.

Hieronder het hele schema voor de P1 HUB (Rev. 1.4).

Voortschrijdend Inzicht

Tijdens het testen van boven getoonde schakeling begon ik mij af te vragen wat nu eigenlijk de functie van de DTR pin is. Ik ben niet in de gelegenheid geweest te achterhalen wat de Slimme Meter doet als hij een DTR “laag” krijgt. Hij stopt uiteraard met het versturen van telegrammen maar stopt hij ook met meten? En wat als de DTR “hoog” wordt? Is dat een signaal voor de Slimme Meter om op dát moment een nieuw telegram te versturen of was hij, intern, al halverwege het versturen van een telegram (en krijgt het aangesloten device dan eerst “de rest” van een telegram en daarná een volledig telegram?)?

In ieder geval zal met de schakeling zoals hierboven precies dát gebeuren. De Slimme Meter stuurt zo vaak een telegram als hij kan en de devices die op de hub zijn aangesloten kunnen bepalen wanneer ze een telegram willen ontvangen maar als er op dat moment al een telegram onderweg is zal hij eerst een restje van een telegram ontvangen (en negeren) om vervolgens het volgende telegram in zijn geheel binnen te halen en te verwerken.

Met die kennis kan de hub veel eenvoudigen mits we de tweede eis (iedere uitgangspoort een eigen Data Request pin) laten vallen.

Zie onderstaande schema:

CD4050 zorgt voor een buffer tussen de Slimme Meter en de aangesloten devices. Iedere keer dat de Slimme Meter een telegram verstuurt zal D1 oplichten (licht knipperend). Eventueel kan er met de overgebleven buffer (U1F) nóg een poort gemaakt worden.

Met J1 kan gekozen worden om de voeding uit de Slimme Meter te gebruiken (als de overige aangesloten devices bij elkaar niet meer dan ~250mA verbruiken) of om een externe (USB/5 volt) voeding aan te sluiten.

This entry was posted in Uncategorised and tagged , , , , . Bookmark the permalink.

16 Responses to Slimme Meter Poort Extender

  1. Ceriel says:

    Wat mij nog handig lijkt is een P1-Logger die een HUB aan boord heeft: P1 poort in, en P1 poort uit. Zodat je na het aansluiten van de logger, nog/weer een P1 poort over hebt om een ander apparaat op aan te sluiten.

  2. Peter Bungenstock says:

    Voordat ik het ontwerp van Willem tegenkwam heb ik een ander ontwerp gebouwd dat inderdaad de hub aan boord heeft. Willem’s software vond ik echter beter, en heb ik daarop gezet. Ik zoek alleen nog een methode om de daarop aanwezige S0 aansluitingen in de software bij te vegen om via interrupts als watermeteraansluiting te gebruiken met een hallsensor.

    • Rob Roos says:

      Peter, we werken aan een nieuw hardware ontwerp met ESP32 met 2x P1 uitgang (voor 2 extra readers) en meerdere GPIO inputs. Tevens stuurt de software de decoded telegrammen naar Influxdb en MQ (met Autodiscovery voor Homeassistant en Domoticz). Kijk hier.

      • Remco says:

        Hi RobRoos,
        is er al voortgang op dit alles in 1 printje?

        gr. Remco

        • Rob says:

          Remco, ik heb het bij de print layout designer gevraagd, nog geen antwoord. Het prototype werkte bij mij, met de ESP32 versie, maar er moet nog gesleuteld worden aan de S0 interface. Ga ik mee verder als ik printje heb, Robert is ook bezig met andere firmware versie.
          Gr. Rob

          • Remco says:

            Bump upje… Ik heb nu de P1 rechtstreeks in mijn NAS werkend met Hassio Energy, maar die laat niet net zo mooi als de WS software de L1-L3 zien.
            dus ben ik nog steeds nieuwsgierig naar een werkende splitter/hub. een schemaatje is ook voldoende, zolang er maar niet geflashed moet worden (ervaring is key). Gr. Remco

          • Willem Aandewiel says:

            Kijk hier.

  3. Jan van der Aa says:

    Beste Willem,

    Heb je dit printje beschikbaar ?

    M.v.g. Jan

    • Willem Aandewiel says:

      Jan,

      Als er nog vijf anderen een printje willen hebben dan laat ik nieuwe maken. Maar op dit moment heb ik ze niet meer.

      • Niels says:

        Ik heb ook interesse! Sinds de elektrische auto, of beter gezegd, de laadpaal, gebruik ik je DSMR-logger helaas niet meer :(. De laadpaal leest namelijk ook de p1-poort uit om het stroomverbruik af te stemmen. Ik zou nu juist graag het verbruik willen zien als ik de auto laad.. Als ik het goed begrijp zou ik bij de hub voldoende hebben aan de voeding uit de slimme meter, daar de DSMR-logger het ook prima doet met enkel voeding uit de slimme meter (en de laadpaal natuurlijk voorzien is van een eigen voeding)

        • Willem Aandewiel says:

          Niels,

          Of je in jouw situatie voldoende hebt aan alleen de voeding uit de Slimme Meter weet ik niet. Het lijkt er wel op.

          Ik ga binnenkort nieuwe PCB’s bestellen.

          • Niels Marsman says:

            Mooi dan hou ik de website in de gaten!

          • Remco says:

            Hi, ik heb al een tijdje een passieve splitter (2x rj11 met 1 pootje minder aangesloten) werkend op de P1, waarvan de output naar de (geupgrade) DSMR gaat, en de 2e naar de Rpi. het zou idd mooi zijn om alles netjes in 1 kastje te plaatsen.
            ik hou me aanbevolen.

            gr. Remco

          • Remco says:

            Hi Willem,
            zit er een order aan te komen?
            Solderen kan ik prima zelf, maar compleet is ook welkom.

            gr. Remco

  4. Remco says:

    Hoi, okay, het schemaatje is er dus, maar nog geen printje van de hub.
    Heb je een leesbare partlist voor me, sommige componenten zijn slecht leesbaar.

    Gr. Remco

    • Willem Aandewiel says:
      Reference Quantity Value Footprint
      C2 1 “100uF” “Capacitor_THT:CP_Radial_D5.0mm_P2.00mm”
      C3 C1 2 “100nF” “Capacitor_THT:C_Disc_D4.3mm_W1.9mm_P5.00mm”
      D1 1 “LED” “LED_THT:LED_D5.0mm”
      J1 1 “5Volt USB Power” “BarrelJack_Wuerth”
      J2 1 “P1-In” “Connector_RJ:RJ12_Amphenol_54601”
      J3 1 “PWR Select” “Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical”
      J4 1 “P1_Out3” “Connector_RJ:RJ12_Amphenol_54601”
      J5 1 “P1_Out1” “Connector_RJ:RJ12_Amphenol_54601”
      J6 1 “P1_Out2” “Connector_RJ:RJ12_Amphenol_54601”
      R2 1 “10k” “Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal”
      R3 1 “100R – 1K” “Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal”
      R6 R5 R4 R1 4 “10R” “Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal”
      U1 1 “CD4050” “Package_DIP:DIP-16_W7.62mm_LongPads”

      Er zijn té weinig mensen die een PCB willen hebben en dan worden de kosten voor mij te hoog.
      Vooralsnog dus nog géén nieuwe PCB’s van de HUB.

Leave a Reply to Willem Aandewiel Cancel reply

Your email address will not be published. Required fields are marked *

The maximum upload file size: 4 MB. You can upload: image, other. Links to YouTube, Facebook, Twitter and other services inserted in the comment text will be automatically embedded. Drop file here

This site uses Akismet to reduce spam. Learn how your comment data is processed.