Hallo, kurze Vorgeschichte zu meinem Projekt. Ich habe den Smart Meter über die Kundenschnittstelle ausgelesen. Hab ein eigenes Python Programm entwickelt und auch veröffentlicht. Leider benötigt man dazu einen Pegelwandler der nur aus China geliefert werden kann. Dieser Pegelwandler hat zusätzlich noch viele Funktionen die nicht benötigt werden. Daher im Verhältnis relativ teuer. Meine Frage ist kann man am Raspberry Pi ein Serielles Signal einlesen an den GPIO Pins (14 u. 15)oder auch über USB. Die Spezifikation von M-Bus ist 36V = Logisch 1 und 24V = Logisch 0. Ich möchte die Daten der Schnittstelle nur empfangen und nichts senden, daher benötige ich nur RX. Ich stehe etwas auf dem Schlauch bei der Dimensionierung einer Schaltung. Am Anfang dachte ich auf einen einfachen Spannungsteiler mit R1= 10k und R2= 1k . Das ergibt dann bei einer Logisch 1 ca. 3,3V. Wenn die Spannung bei 24V ist 2,2V also unbrauchbar. Es müsste eine Transistorschaltung her oder? Aber ich weiß nicht wie ich diese Dimensionieren soll. Bzw wie sind die Pegel beim Raspberry Pi gibt es Definierte Bereiche für logisch 1 u. 0. Hoffe es kann mir jemand helfen. Mein Projekt ist unter der Website michaelreitbauer.at erreichbar. LG Michael
Michael R. schrieb: > Am Anfang dachte ich auf einen einfachen Spannungsteiler mit > R1= 10k und R2= 1k . Das ergibt dann bei einer Logisch 1 ca. 3,3V. Wenn > die Spannung bei 24V ist 2,2V also unbrauchbar. 24V Z-Diode vor den Spannungsteiler. Der sieht dann für HIGH 12V und LOW 0V und der Teiler reduziert dann die 12V auf 3.3V bei HIGH. Alternativ: Komparator mit deutlich mehr Aufwand. Sind das nicht ungewöhnliche Pegel für einen Logikausgang? Ich kenne mich mit den Smartmetern nicht aus, aber das wundert mich etwas.
Michael R. schrieb: > Ich > möchte die Daten der Schnittstelle nur empfangen und nichts senden, > daher benötige ich nur RX. MBus-Geräte senden nicht ohne Aufforderung eines MBus-Masters. Wenn Du Daten eines MBus-Gerätes auslesen willst, brauchst Du einen MBus-Master. Und der wiederum braucht RX und TX. Ein Pegelwandler, der von RS232-Pegel auf MBus konvertiert, ist z.B. hier Beitrag "Erklärung Schaltung für mBus" beschrieben. Du brauchst dafür allerdings noch einen zweiten Pegelwandler, um von den RX-/TX-Signalen Deines Raspberrys auf RS232-Pegel zu bekommen.
Danke für die schnelle Antwort. HildeK schrieb: > Sind das nicht ungewöhnliche Pegel für einen Logikausgang? Ich kenne > mich mit den Smartmetern nicht aus, aber das wundert mich etwas. Ich werde es heute bei meinem Smart Meter nochmal nachmessen mit einem Multimeter da ich leider kein Oszilloskop habe. Ich habe es schonmal gemessen und es war sicher größer 20V. Aber laut Norm sind das die Pegel.
Hallo, das ist kein normaler M-Bus Zähler. Der Smart Meter schickt automatisch alle 5 Sekunden die Daten. Ohne das man diese Anfordern muss. Leider würde bei dieser Schnittstelle nicht alles nach Norm gemacht. Im Anhang ist die Beschreibung.
Michael R. schrieb: > Ich werde es heute bei meinem Smart Meter nochmal nachmessen mit einem > Multimeter da ich leider kein Oszilloskop habe. Ich habe es schonmal > gemessen und es war sicher größer 20V. Aber laut Norm sind das die > Pegel. War nur eine nebensächliche Frage, aber mit einem Multimeter wirst du wenig sinnvolles messen können. Ja, ich hab mal gesucht: MBus verwendet wohl die Stromversorgung über die selbe Schnittstelle mit den Pegeln HIGH bis 42V und LOW nicht unter 12V. Bei dem Bereich ist mein Vorschlag mit der Z-Diode natürlich grenzwertig, dann müsste man schon messen, welche Pegel dein Exemplar abgibt oder eben doch einen Komparator zwischenschalten.
Derzeit verwende ich diesen Pegelwandler. https://amzn.to/3zk9KeS https://www.michaelreitbauer.at/wp-content/uploads/2022/01/b78984f9-b25d-4776-87d7-01a2b9146b3c-edited.jpg
Michael R. schrieb: > Derzeit verwende ich diesen Pegelwandler. Wenn der zufriedenstellend funktioniert, dann könnte man a) den Schaltplan einfach abzeichnen und ihn nachbauen. Bis zur TTL-RS232 sind das ja nur ein paar Bauteile. Oder b) mit dem Oszi mal die Pegel messen und sich selbst was ausdenken...
:
Bearbeitet durch Moderator
Beim M-Bus werden die Slaves, wie z.B. Gas oder Wasserzähler, oftmals auch durch den Bus selbst mit versorgt. Bedeutet die Slaves sind in diesem Sinne nicht selbständig, woraus dann auch die genannten Pegel resultieren. Wichtig ist auch noch das die Daten vom Master zum Slave durch die Modulation der Versorgungsspannung übertragen werden, während die Daten vom Slave zum Server via Modulation des Stromes übertragen werden. Das ein einfache Anzapfen via Spannungsteiler und Z-Diode, wie von Hilde vorgeschlagen, wird da nicht funktionieren wird. Ein Verzicht auf TX, wie vom TO vorgeschlagen ist aus 2 Gründen nicht möglich. Da an einem Bus bis zu 250 Slaves hängen können, muß der gewünschte Slave selektiert werden, was i.d.R. durch Senden einer Adresse über den Bus erfolgt. Zweiten muß das Übermitteln der Daten initiiert werden, sonst kommt da nichts. Es loht sich auf alle Fälle mal hier https://www.wachendorff-prozesstechnik.de/fileadmin/wp/fileserver/technical_notes/TN_0301_Grundlagen_M-Bus.pdf nachzulesen, da ist der M-Bus genau beschrieben. Ansonsten gibt es hier https://www.m-bus.de/pw1.html einen Pegelwandler der mit dem auch die Bereitstellung der Versorgungsspannung funktioniert. Die dort dargestellte RS232-Schnittstelle wird die klassischen Pegel bereitstellen,also -12V für 1 und +12V für 0. Für einen RasPi müßte man also noch einen Pegewandler nachschalten, z.B einen MAX232. Damit wäre man schon mal bei TTL-Pegel. Beim Raspi müßte man den RX-Eingang noch mit einen Widerstand begrenzen. Allerdings würde ich da lieber in einen ordentlichen Pegelwandler für RX und TX investieren. Bei mir hat sich diese Schaltung https://elektro.turanis.de/html/prj146/index.html bestens bewährt. Der aufwand mit 2 FET's und 4 Widerständen hält sich ja auch in Grenzen. Es scheint auch noch ein fertiges Projekt zu geben, s. hier https://pc-projekte.lima-city.de/MBus-Konverter.html.
Es scheint ja kein echter MBus zu sein: Michael R. schrieb: > das ist kein normaler M-Bus Zähler. Der Smart Meter schickt automatisch > alle 5 Sekunden die Daten. Ohne das man diese Anfordern muss.
Für einen experimentellen Aufbau würde ich überhaupt keine galvanische Verbindung, also auch keinen Pegelwandler nehmen, sondern einen Optokoppler. Zu gross wäre mir die Gefahr den Raspi z.B. wegen einer fehlenden Masseverbindung zu grillen. 2400 Bd kann man damit auch ohne zusätzliche Versorgung machen.
Lothar M. schrieb: > Wenn der zufriedenstellend funktioniert, dann könnte man ja er funktioniert super >a) den Schaltplan einfach abzeichnen und ihn nachbauen. Bis zur TTL-RS232 >sind das ja nur ein paar Bauteile. Ich habe schon nach den Bauteilen gesucht hab auch ein Datenblatt gefunden wo es beschrieben ist wie es funktioniert und die Schaltung zu sehen ist die auf dem Stick verbaut ist. (siehe Anhang FC722) Leider finde ich den IC nicht zu kaufen. > Oder b) mit dem Oszi mal die Pegel messen und sich selbst was > ausdenken... Am Wochenende wird ein Kollege kommen der ein Oszi hat und dann schicke ich Bilder in das Forum. LG Michael
Lothar M. schrieb: > Wenn der zufriedenstellend funktioniert, dann könnte man c) Das Ding einfach benutzen und glücklich sein. Wenn man davon nicht Millionen herstellen will, wird es nicht billiger!
Hallo, ich habe am Wochenende ein Oszibild (siehe Anhang) von einem Kollegen erhalten. Die Pegel sind 37,6 und 22,0V. Meine Frage kann man das noch mit einer Zenerdiode machen ? LG Michael
Zeno schrieb: > Die dort dargestellte RS232-Schnittstelle wird die > klassischen Pegel bereitstellen,also -12V für 1 und +12V für 0. Für > einen RasPi müßte man also noch einen Pegewandler nachschalten, z.B > einen MAX232. Damit wäre man schon mal bei TTL-Pegel. Wieso alles doppelt moppeln? Gleich direkt rein in den RasPi UART mit Optokoppler, in dem speziellen Fall mit nur einer Gegenstelle die auch die Spannungsversorgung liefert braucht er auch keinen galvanisch getrennten DC-DC-Wandler wie ich ihn in meiner Schaltung verwende (siehe Bild). Da er auch nicht senden braucht kann er auch den unteren Optokoppler und noch ein paar Bauteile weglassen (ausprobieren)! Ich würds aber gleich als fertige Platine machen (evtl. sogar als passendes RasPi HAT) die auch als MBus Master mit Spannungsversorgung fungieren kann. Hier die simulierte Version von mir: http://falstad.com/circuit/circuitjs.html?ctz=CQAgjCAMB0l3BWEBOaBmAHAFgOyQ2AGwJhZaREgKFUhZpUCmAtGGAFABOdlWGPNNgCYoIIUPgxJ0yGnYB3AXX5ZCWZVAVLhdNeDAjIWrL35oJGowCUlkJcz6i75EGjvuo0BOyIjzzswsdEQATRgAzAEMAVwAbABdmWMYQ8DT3WA5uf30-IJwaOyE8I3IcVxEiO3NwAvB2MorXSHUanI4AB111R1V1HQh3dnjXBBEhDECiydEIZiFUSbdkcUJkMfpxT0hCAmQW0jRCIVIcBjA4EDCouPjh112xfCUJfjtWbbAVkjBqPiE0CtduVmDBCJASBhkFgEPscFDikgLnZrjEEsZKDoTIIVppuNiKs5KJh1M4cBiaOIepQJm8KWIZmgxgy6YoCbSlDkjNwqbkxEJ+nVqm44FpeY4co4jIojvxXvz1PLpQrapSBU9WYTmq0LCTNABzLV6yWXIY89VuRUW7CzDDwMUWloqpUO1pOgxmJ3K3l6sB1PXKv00X3+o6aRRB1xhj1RwpaHLFPJiHCGeOVXE1RPhppVcCCcHZzEFmkuZUJlztIVaEvVCwCoYAZxAzDaTtbpNEUViDcYXCaaDDLb8NrsuyMADdm20bUPtU46HYkB4YN5fOAJhoY8hKVcImjEslUhBBp92JPc5Hc1LRC4l04vNXi3UY19UxGN44r3TuFvBBvc0UEiwDIMhyNwagBCAEF8oBopsnojhjComp9HysKVAYmhoHgVAfvw6Gbk47BNgRjjQdeEBdj2YrUK4No5AGabVDaBKMdhgE9HK6oDER3CkfhuI6LBcFUIJmHQUJ7DsbYSifkRXRCLRlpiEpNonhwiiKcGNo+iONHBk6PpeuwXSoViei+rM9J6qhjFAA Schaltung original von hier: https://gitlab.com/jm_wtal/mbus-usb-converter Diese könnte auch funktionieren: https://www.packom.net/wp-content/uploads/2021/05/mbus-master-hat-schematic-v1.7f.pdf
Hallo, danke für die Antwort. Ich habe vorhin noch eine einfachere Schaltung gefunden. https://inator.at/?p=1492 Bei der Z-Diode habe ich einfach eine 5,6V + 18V in Serie geschalten. Da hatte ich alle Bauteile zuhause. Ich habe dann alles auf einem Steckbrett zusammengebaut und über eine USB TTL Adapter angeschlossen und es hat funktioniert. Diesen USB Adapter habe ich verwendet. (auf 3,3V Umgelötet) https://www.reichelt.at/at/de/raspberry-pi-usb-zu-ttl-0-9-m-pl2303hx-rpi-usb-ttl-p150567.html?PROVID=2807&gclid=Cj0KCQjwio6XBhCMARIsAC0u9aHNNt6V6Fcf5vZbpiRMRbfeBCZXX7CbH0Oc3Xxvnjb7wRyLoEkC6mcaApRlEALw_wcB Gibt es von dem einen Schaltplan? will die Schaltung fertig per USB Stick an den Raspberry Pi anschließen. LG Michael
Hallo nochmal ein Nachtrag von mir ist es mit diesem Chip möglich ? https://prolificusa.com/app/uploads/2019/06/DS-23181002_PL2303GL.pdf LG Michael
Zeno schrieb: > Ein Verzicht auf TX, wie vom TO vorgeschlagen ist aus 2 Gründen nicht > möglich. Da an einem Bus bis zu 250 Slaves hängen können, muß der > gewünschte Slave selektiert werden, was i.d.R. durch Senden einer > Adresse über den Bus erfolgt. Zweiten muß das Übermitteln der Daten > initiiert werden, sonst kommt da nichts. Das würde Zweiwegkommunikation voraussetzen, die hier aber nicht gegeben ist. Das Gerät sendet seine Daten selbständig alle 5s. In der Schnittstellenbeschreibung des SmartMeters auf S.4 steht: "Diese Schnittstelle ermöglicht nur eine Einwegkommunikation, indem sie Daten alle fünf Sekunden an ein angeschlossenes Gerät sendet."
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.