Slimme meter met raspberry pi uitlezen

Ik heb al het nodige gezocht op internet naar het koppelen van de slimme meter met een Raspberry Pi. Echter gebruiken ze daar allemaal een RS232-naar-USB converter voor. Wanneer ik naar de GPIO ports kijk van de Raspberry Pi dan heb je daar ook twee pinnen (GPIO 14 (TDX) en 15 (RXT), zijn UART poorten) die gebruikt kunnen worden, lijkt mij. Waarom dan een RS232-naar-USB converter gebruiken wanneer het al standaard aanwezig is. Wat ik zo gelezen heb is het signaal dat uit de slimme meter komt geïnverteerd, maar dat zijn de pinnen op de Raspberry Pi ook. Dus als je die met elkaar verbindt zou je toch de data binnen krijgen zoals het hoort? Wie kan me vertellen of mijn gedachten klopt of dat ik er volkomen naast zit?

Onze slimme meter is een Kamstrup 382 JxC.

Voor RS232 gebruikt men doorgaans spanningen van ±12V. Sluit dat aan op een Raspberry Pi en je reduceert het apparaat tot een decoratief object.

Je hebt dus een niveau-omvormer nodig, zoals de MAX232, die de spanningen heen en weer 'vertaalt' (0V – 3.3V voor de RPi, 12V – -12V voor de slimme meter).

Wat ik hier lees is dat je minimaal 5v moet aanbieden en dat er dan ook 5v uit komt. Maar de Raspberry Pi kan maximaal 3.3V aan kan. Kan ik met die MAX232 de spanning omlaag krijgen van 5V naar 3.3V?

Wat ik dus nu heb uitgezocht is dat de Kamstrup 5v uitgeeft en dat de Raspberry Pi dus maar 3,3v aan kan. Nu heb ik het volgende gevonden.

http://nl.farnell.com/ftdi/ttl-232r-3v3-pcb/mod-ser-conv-ft232rq-usb-t…&

Wat ik hiermee wil doen is de USB connector eraf solderen en daar een kabel aan maken met een RJ11 stekker. De andere kant verbind ik dan met de pinnen van de Raspberry Pi. Ik heb even de datasheet bekeken en heb een afbeelding gemaakt zoals ik het bedacht heb. Is waarschijnlijk duidelijker.

http://www.schers.nl/images/Untitled.png

Kan iemand me vertellen of dit gaat werken?

[Bericht gewijzigd door Henry S. op donderdag 10 oktober 2013 23:44:03 (55%)

Dat gaat niet werken, de slimme meter spreekt immers geen USB maar RS232. Als niemand anders me voor (ga gerust je gang) ik post ik vanavond een werkende oplossing voor je.

Edit: al gevonden, zie hier.
http://blog.sunyday.net/wp-content/uploads/2012/09/RPi-Shifter1.png

Links de Raspberry Pi, rechts je slimme meter. De 2N2222 transistoren kan je gerust vervangen door BC547 of BC548, die zijn hier beter verkrijgbaar.

[Bericht gewijzigd door Bert M op woensdag 9 oktober 2013 16:54:10 (47%)

Dat dacht ik al. Ben nog even door gaan zoeken en kwam op DX dit tegen. Er staat bij 2-weg dus neem aan dat het hiermee wel gaat?

En anders vond ik deze nog.

Mocht dit niet werken dan hoor ik vanavond graag je oplossing ;)

[Bericht gewijzigd door Vulpecula op woensdag 9 oktober 2013 17:02:48 (12%)

Als ik het goed heb hoef/kan je geen data naar de meter sturen. Je moet 5 volt op een pen (2 van de rj11) aanbieden en dan begint de meter elke zoveel seconde data te spugen.
Alleen het signaal komt geinverteerd uit de meter en zal je dus een simpel transistortje moeten gebruiken om het signaal te inverteren voordat het de Raspberry kan aanbieden.

Zal ik heb begrepen verwacht de Raspberry pi het signaal geinverteerd. Hierdoor hoeft het signaal toch niet geinverteerd te worden?

Is afhankelijk hoe je er tegenaan kijkt, maar RS232/TTL levelconverters inverteren inderdaad (ook dit is discutabel want het zijn levelconverters en bij een bepaalde ingangsspanning hoort een bepaalde uitgangsspanning)
Omdat de Raspberry Pi zijn seriële signalen op TTL niveau verwacht zeggen sommige mensen dat dit signaal geinverteerd is. Het voert te ver om hier een hele verhandeling over RS232 te gaan schrijven, maar om het even kort uit te leggen als de lijn in rust is (MARK) is signaal van de Raspberry logisch 1 oftewel HOOG (3v3). Het signaal dat van de meter komt is in rust (MARK) LAAG (0v) en dient dus geinverteerd te worden.

Oke, dus het schema dat hierboven is gegeven moet ik nog uitbreiden met een inverter? Aangezien de meter alleen signaal kan versturen hoef ik dus alleen de ingang te inverteren bij de raspberry pi.

Denk dat ik zelf een printplaatje moet maken. Denk dat ik er maar een maak die je direct op de gpio header prikt en dan met een rj11 connector zodat je gewoon een telefoonkabel kunt inprikken.

Ik ga eens een ontwerp in Eagle maken.

Op 9 oktober 2013 16:48:40 schreef Bert M:
Dat gaat niet werken, de slimme meter spreekt immers geen USB maar RS232. Als niemand anders me voor (ga gerust je gang) ik post ik vanavond een werkende oplossing voor je.

Edit: al gevonden, zie hier.
[afbeelding]

Links de Raspberry Pi, rechts je slimme meter. De 2N2222 transistoren kan je gerust vervangen door BC547 of BC548, die zijn hier beter verkrijgbaar.

Aangezien de meter enkel een signaal kan versturen en geen ontvangen hoef ik alleen het onderste gedeelte te maken met twee weerstanden. Echter moet het signaal nog geinverteerd worden. Heb dus geen transistors nodig.

[Bericht gewijzigd door Henry S. op donderdag 10 oktober 2013 23:44:45 (48%)

Omdat een plaatje meer zegt dan 100 woorden
http://www.uploadarchief.net/files/download/meter_intf.png

Gé maakt gebruik van een omzetting via de usb poort. Ik wil juist de usb poorten vrij houden en gebruik maken van gpio's.

Driessens_nl bedankt voor het schema

[Bericht gewijzigd door Henry S. op zaterdag 31 mei 2014 22:10:49 (38%)

FYI, ik heb het datasheet van het ding opgezocht. http://kamstrup.com/media/14133/

Ik zie zo snel niet dat er een seriele output op zit. Er "kan" een "data/pulse" module op waar iets vaags bij staat. "data/pulse" is volgens mij gewoon een pulsje voor iedere 1Wh (3600J). Dat vaags is dan: "Serial RS232 communication, open collector, 300/1200 baud." Daarna staat er een "losse zin" die ik ook niet snap: "Maximum load (current)".

Edit: Maar wat ik eigenlijk wilde tikken was ik ondertussen even vergeten: ik verwacht een niet-rs232-niveau output en dat zal dan ook wel niet-geinverteerd zijn.

Er staat duidelijk: Open collector, dus met een weerstandje naar de 3.3V krijg je een 3.3V signaal wat de raspberry pi lekker kan vinden. Dat is de lol van open collector: Je kan de boel aansluiten op wat voor signaalniveau daar handig is.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Alle slimme meters dienen voorzien te zijn van een zgn. P1 poort. Kan zijn dat dat voor deze meter een extra module is. Het signaal van de P1 poort dient in iedergeval geinverteerd te worden. Nu weet ik niet meer zeker of er intern ook al een pull-up weerstand zit die gevoed wordt met de 5v die je zelf aanbied. Zelf heb ik, bewust, geen slimme meter en kan het niet controleren.

Ik heb zeker zo'n P1 poort. Ik ga vandaag wat onderdelen halen om het schema zoals driessens_nl geeft te proberen. Ga eerst met een vaste 5V en 3V3 spanning testen. Wanneer dat werkt ga ik het proberen met de slimme meter. De 5V is nodig om ervoor te zorgen dat de meter meetwaardes gaat uitsturen. Ik heb wat meer info op deze* website gevonden.

* http://phoenixinteractive.mine.nu/websitebb/viewtopic.php?f=23&t=3…

[edit] kopieer eerst het adres en plak hem dan in je browser dan is de pagina te zien.

[Bericht gewijzigd door Vulpecula op dinsdag 15 oktober 2013 09:28:08 (13%)

Ik heb de schakeling getest en het werkt. Wanneer de 5v niet is aangesloten krijg ik ongeveer 3,3V op de Rx lijn. Wanneer de 5v wordt aangesloten dan is het 0V. Nu moet ik het alleen nog met de slimme meter gaan testen. Hiervoor heb ik nog wat onderdelen nodig. Zodra ik die heb kan ik het testen met de raspberry pi.

Op 14 oktober 2013 09:19:08 schreef Vulpecula:
Ik heb wat meer info op deze website gevonden.

DIRECT LINKING NOT PERMITTED. Daar hebben wij dus niks aan. Kutsite.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Gaat inderdaad niet zo, maar als je de url eerst kopieert en dan plakt in een nieuw venster dan krijg je de pagina wel te zien.

Ik heb de onderdelen binnen en heb de schakeling getest met de meter en het werkt. Ik heb nu het onderstaande schema gebruikt.

http://www.schers.nl/images/SmartMeterPi-small.png

Ben nu nog bezig met het maken van een printplaat zodat ik die rechtstreeks op de GPIO header kan steken en enkel een rj11-kabel (6P4C) hoeft te gebruiken om het aan te sluiten.

Het gebruik van de diode lijkt mij volkomen overbodig.

Die heb ik toegevoegd ter bescherming van de poort. Zie dat ik hem alleen nog niet goed in eagle heb verbonden.

zie http://www.thebox.myzen.co.uk/Raspberry/Breakout.html

[Bericht gewijzigd door Henry S. op zaterdag 31 mei 2014 22:11:15 (32%)

@Vulpecula

Ik wil eveneens mijn Raspberry Pi aan de P1 van de slimme meter gaan hangen en wil dat ook rechtstreeks op de GPIO van de Raspberry Pi doen zoals je in je schema hebt beschreven.

Je geeft aan dat de diode nog niet goed in het schema staat. Heb je wellicht een gecorrigeerde versie van het schema?
Of kan je omschrijven hoe deze dan wel zou moeten worden opgenomen in het schema?

En interpreteer ik het correct dat alle GND lijntjes op hetzelfde draad uitkomen die vanaf GPIO pin 6 naar RJ11 pin 3 loopt?

Tot slot met betrekking tot de onderdelen:

  • Als ik bijv bij Conrad kijk dan kan ik alleen de BC547B vinden. Waar haal je de 1N4728 vandaan?
  • En zit er eigenlijk nog verschil tussen de 1 kOhm weerstanden? Ik kom oa. metaalfilm en koolfilm weerstanden tegen...

Ik ben zelf niet heel diep thuis in elektronica dus ik zal ongetwijfeld wel beginnersvragen stellen hierboven. In ieder geval bedankt voor de hulp.

Ik heb het hele topic niet gelezen, dus misschien mis ik iets.. maar: er zijn ook TTL/RS232 drivers die het rechtstreeks op 3v3 doen. Heb je niks te klooien met level shifters en zo.

"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein

Op 30 mei 2014 00:37:18 schreef stgoos:
@Vulpecula

Ik wil eveneens mijn Raspberry Pi aan de P1 van de slimme meter gaan hangen en wil dat ook rechtstreeks op de GPIO van de Raspberry Pi doen zoals je in je schema hebt beschreven.

Je geeft aan dat de diode nog niet goed in het schema staat. Heb je wellicht een gecorrigeerde versie van het schema?
Of kan je omschrijven hoe deze dan wel zou moeten worden opgenomen in het schema?

De zener diode kun je weg laten. Heb deze in het schema gezet om de poort te beschermen wanneer er perongeluk een te hoge spanning naar de poort gaat. Als het goed is zou dit niet moeten gebeuren, maar je weet nooit.

Wat er in de tekening fout is dat er nog een bolletje moet staan op het T splitsing met de zener diode. Dit probleem is alleen van toepassing wanneer je er een printplaat van wilt maken. Het schema is zo dus verder goed.

En interpreteer ik het correct dat alle GND lijntjes op hetzelfde draad uitkomen die vanaf GPIO pin 6 naar RJ11 pin 3 loopt?

Dat is correct geïnterpreteerd. Binnen elektronica is het gebruikelijk om de grounds op deze manier aan elkaar te koppelen. Zo heb je niet onnodig veel lijnen door je schema lopen.

Tot slot met betrekking tot de onderdelen:

  • Als ik bijv bij Conrad kijk dan kan ik alleen de BC547B vinden. Waar haal je de 1N4728 vandaan?
  • En zit er eigenlijk nog verschil tussen de 1 kOhm weerstanden? Ik kom oa. metaalfilm en koolfilm weerstanden tegen...

Zoals beschreven kun je de zener diode 1N4728 weg laten. Ik heb het zelf ook gedaan omdat ik het nog in een test opstelling heb staan.

Ik ben zelf niet heel diep thuis in elektronica dus ik zal ongetwijfeld wel beginnersvragen stellen hierboven. In ieder geval bedankt voor de hulp.

Hiervoor is het forum om vragen te stellen. Heb je wel gedacht om de gegevens op de correcte manier uit te lezen? Ik gebruik zelf minicom en op de 10 seconde wordt nu de waarde van de slimme meter doorgegeven. Je moet dan zelf nog iets van een database maken waar je de waarde in opslaat. Daar ben ik nog mee bezig. Wilde eerst rrdtool gebruiken maar denk dat het toch sqlite wordt.

Op 30 mei 2014 09:14:44 schreef flipflop:
Ik heb het hele topic niet gelezen, dus misschien mis ik iets.. maar: er zijn ook TTL/RS232 drivers die het rechtstreeks op 3v3 doen. Heb je niks te klooien met level shifters en zo.

Het enige wat je nu nodig hebt zijn twee weerstanden en een transistor. Heb nu dus ook geen level shifter gebruikt.

Ik heb het kabeltje gekocht van

http://www.smartmeterdashboard.nl/webshop

de P1 converter cable v2

Dat werkt prima.