Slimme Meter Simulator

Als je een schakeling gaat bouwen om je Slimme Meter (DSMR) uit te lezen, is het meestal niet mogelijk en ook niet wenselijk om je hele ontwikkelomgeving met de meterkast te verbinden. Simpelweg omdat de meterkast vaak mijlenver verwijderd is van je klushonk op zolder, maar ook omdat je wel eens een foutje maakt en dan is het niet handig als je Slimme Meter daar onder lijdt.

Dat zijn de redenen waarom ik een Slimme Meter Simulator heb gebouwd. Deze gedraagt zich zowel elektrisch als logisch hetzelfde als de Slimme Meter. Hij levert dus P1-telegrammen wanneer de RTS-pin hoog gemaakt wordt en hij levert de 5V voedingsspanning tussen pin 6 en 1 van de RJ12 connector. Kortom: je schakeling merkt geen verschil tussen een echte Slimme Meter en deze Simulator. Alleen heb ik niet erg mijn best gedaan om er voor te zorgen dat de voedingsspanning zich qua belastbaarheid gedraagt zoals gespecificeerd in de DSMR-specificaties.

Behalve dat zo’n Simulator het werken makkelijker maakt, biedt hij nog meer voordelen: je kunt bijv. foute telegrammen definiëren of afwijkende data genereren. En je kunt verschillende metertypes simuleren. Zo kun je testen of je schakeling daar correct op reageert.

Hardware

De schakeling is eenvoudig:

Slimme Meter Simulator - schema

Een Arduino-Nano (die in de twee rijen pinheaders wordt geprikt) vormt het logische brein en een paar weerstanden en transistors vormen samen de elektrische interface die middels een RJ12-connector naar buiten beschikbaar wordt gesteld.

De opto-couplers die in een echte Slimme Meter horen te zitten, heb ik weggelaten. Die zijn er voor de galvanische scheiding tussen het binnenwerk van de Slimme Meter en de boze buitenwereld. De noodzaak van zo’n scheiding is hier niet aanwezig.

Mocht ik nog eens een opvolger ontwerpen dan vervang ik de BS170 door een bipolaire transistor. Want die mosfets moet je erg zorgvuldig behandelen zolang ze niet op hun plek zitten. De gate is namelijk behoorlijk gevoelig voor statische elektriciteit: ik heb er al meerdere gesloopt. Dat is ook de bestaansreden van R1: die houdt de gate in toom zolang de Arduino niet is ingeprikt.

Software

Met de bijbehorende software kunnen verschillende P1-telegrammen van diverse metertypes gegenereerd worden, inclusief CRC-controlebytes. Uiteraard kunnen ook eigen telegrammen ingebouwd worden.

-> Download

De complete Arduino-sketch kun je hier downloaden. De software spreekt voor zich. De P1-data die op de TrX-pin wordt uitgevoerd, kun je ook bekijken met de seriële monitor van de Arduino-IDE.

Printplaat

Een RJ12-connector past niet in een breadboard en ook niet in een experimenteerprintplaatje; de pinnetjes zitten daarvoor te dicht op elkaar. Dat kun je natuurlijk oplossen met een Breakout Board (BOB) maar ik vond het prettiger om een printplaatje te ontwerpen voor de hele schakeling. Dat levert een compact ontwerp op dat niet veel groter is dan de Arduino.

De printplaat bevat een RJ12-connector, twee 15-pins Female-headers waar de Arduino-Nano in geprikt kan worden en een paar componenten om de seriële uitgang van de Arduino om te zetten in P1-compatibel signalen.

Dat ziet er dan zo uit (blauw is onderzijde, rood is bovenzijde).

Slimme Meter Simulator - print layout

Een impressie van de Simulator in verschillende stadia van opbouw:

SlimmeMeterSimulator - Printjes
SlimmeMeterSimulator - Bovenkant
SlimmeMeterSimulator met Arduino-Nano
SlimmeMeterSimulator met Arduino-Nano

Te koop

Zoiets moois moet je natuurlijk niet alleen voor je zelf houden. Daarom heb ik wat extra printplaatjes laten maken om ook anderen voor een zacht prijsje blij te kunnen maken:

  • Alleen de printplaat + schema: 1.50 euro.
  • Printplaat + losse RJ12 connector + schema: 2.00 euro.
  • Printplaat compleet gesoldeerd: 6.00 euro.
  • Compleet gesoldeerde printplaat + geprogrammeerde Nano: 10.00 euro.
  • Verzendkosten (binnen NL): 1.20 euro (brievenbuspakketje)

Interesse? Stuur een mailtje naar shop@benefactus.nl.