Sorry Leute, ich steh grad komplett auf dem Schlauch :-( die "hochkomplexe" Schaltung dient dazu, den OpenCollector-Ausgang meines SmartMeters mittels PullUp auf RS232-Niveau zu bringen. Parallel dazu eine Kontroll-LED. Soweit funktioniert auch alles, ich kann die Telegramme des SmartMeters sauber empfangen. Es gibt nur einen Schönheitsfehler: Die LED hat "Dauerlicht", und flackert kaum merkbar wenn Daten gesendet werden. Das hätte ich gerne umgekehrt, sie soll also im Normalfall dunkel sein, und (hoffentlich erkennbar) blinken bei Datenverkehr. Ich scheitere grad kläglich an dieser Herausforderung... wie mach ich das am einfachsten? Irgend ein Diodentrick? Oder brauch ich einen Transistor als Inverter? Wenn ja wie beschalte ich den, damit mir der Basisstrom nicht meinen Signalpegel zusammenhaut? Ich bin leider ziemlich aus der Übung, was Elektronik betrifft...
:
Verschoben durch Moderator
Michael R. schrieb: > wie beschalte ich den, damit mir der Basisstrom nicht meinen Signalpegel > zusammenhaut? Nimm einen PNP Transistor. Dessen Basisstrom zieht hoch, statt runter.
Michael R. schrieb: > Sorry Leute, ich steh grad komplett auf dem Schlauch :-( > > die "hochkomplexe" Schaltung dient dazu, den OpenCollector-Ausgang > meines SmartMeters mittels PullUp auf RS232-Niveau zu bringen. Das stimmt nicht. Dein Ausgang hat 5V Logikniveau, vermutlich CMOS. RS232 hat +/-5V bis +/-15V. > Ich scheitere grad kläglich an dieser Herausforderung... wie mach ich > das am einfachsten? Irgend ein Diodentrick? Oder brauch ich einen > Transistor als Inverter? Wenn ja wie beschalte ich den, damit mir der > Basisstrom nicht meinen Signalpegel zusammenhaut? Man nehme einen Inverter ala 74HC04. Oder einen PNP-Transistor. Und wenn man die Datenpakete mittels Pulsverlängerung besser sichtbar machen will, dann so. > Ich bin leider ziemlich aus der Übung, was Elektronik betrifft... Ja, auch was das Erstellen von Bauteilsymbolen angeht. Die Signalnamen gehören in das Symbol, die Pinnummern an die Pins.
Michael R. schrieb: > Es gibt nur einen Schönheitsfehler: Die LED hat "Dauerlicht", Merkwürdig, denn eigentlich ist der Ausgang nur kurz geschlossen. Was ist bei dir anders, als bei üblichen S0 Ausgängen ? Der übliche Ausgang ist auch bloss ein potentialfreier Kontakt und liefert keine +5V und Masse. Und der RS232 Standard sagt klar, dass 5V/0V kein RS232 ist, sondern zumindest -5V/+5V und besser -15V/+15V erwartet werden. Mir kommt also alles falsch vor, wie wäre es mit dem Datenblatt des SmartMeters ? Wenn das nämlich bereits RS232 sendet, ist das Verhalten normal, Ruhepegel ist mark also -12V Dann kommt die LED mit Vorwiderstand nach Masse und wenn open collector ein pull up nach +5V..12V
:
Bearbeitet durch User
Falk B. schrieb: > Das stimmt nicht. Dein Ausgang hat 5V Logikniveau, vermutlich CMOS. > RS232 hat +/-5V bis +/-15V. Stimmt schon... ich glaube es gingen sogar +/-3V Es ist aber so dass der danach folgende RS232-LAN-Konverter die Pegel problemlos erkennt (sozusagen "Glück gehabt") Falk B. schrieb: > Oder einen PNP-Transistor Danke, das war der entscheidende Hinweis... jetzt muss sich ein solcher (noch dazu in SMD) in meiner Wühlkiste finden... Danke für die Schaltung! Michael B. schrieb: > Was ist bei dir anders, als bei üblichen S0 Ausgängen ? Achtung, das ist kein S0-Ausgang, sondern die "Kundenschnittstelle" des SmartMeters! Falls der Begriff "SmartMeter" (in Deutschland?) anders belegt ist: Das ist der Energiezähler vom Stromversorger (eigentlich vom Netzbetreiber) Michael B. schrieb: > Mir kommt also alles falsch vor, wie wäre es mit dem Datenblatt des > SmartMeters ? Wenn das nämlich bereits RS232 sendet, ist das Verhalten > normal, Ruhepegel ist mark also -12V https://www.netbeheernederland.nl/sites/default/files/2024-02/dsmr_5.0.2_p1_companion_standard.pdf Seite 7 => definitiv kein RS232
:
Bearbeitet durch User
Ich würde einen NPN Transistor mit Hochpassfilter einbauen, dann siehst Du verlässlich wenn Daten kommen bzw. der Pegel sich ändert. Emitter an Ground. 100nF Kondensator von Datenleitung zur Basis. 10k Widerstand von Basis nach Emmiter. LED mit Vorwiderstand an den Collector. Falls es nicht funktioniert Widerstands Wert rumprobieren.
Schalte einfach noch einen Kondensator vor den Transistor, dann kann die LED bei fehlendem Datenaustausch nicht mehr weiterleuchten und die unterschiedlichen Poteziale spielen dann auch keine Rolle mehr.
Blöde Frage: könnte es reichen einfach in meine bestehende Schaltung einen C in Serie zur LED zu setzen? (Kapazität müsste ich halt empirisch ermitteln) Ich hab nämlich grad keinen NPN zur Hand, und wegen einem NPN extra wo bestellen :-( Edit: nein sooo einfach wirds wohl nicht gehen :-( irgendeinen Vorschlag mit einem PNP?
:
Bearbeitet durch User
Michael R. schrieb: > Falls der Begriff "SmartMeter" (in Deutschland?) anders belegt ist: Das > ist der Energiezähler vom Stromversorger (eigentlich vom Netzbetreiber) In Deutschland ist das mit dem Strom inzwischen komplizierter. Der Zähler gehört dem Messtellenbetreiber. Das kann der Verteilnetzbetreiber sein, aber auch ein Dritter. Bei mir kam ohne meine Aufforderung ein Monteur und hat ein Smartmeter eingebaut. Die PIN dafür habe ich vom Messtellenbetreiber bekommen, dessen Namen ich vorher gar nicht kannte und mit dem ich auch keinen Vertrag habe.
Monk schrieb: > Sortiere dich erst mal und lese die bisherigen Vorschläge. Guter Vorschlag... vor allem sollte ich erstmal üben, PNP und NPN auseinanderzuhalten :-(
Michael R. schrieb: > Blöde Frage: könnte es reichen einfach in meine bestehende Schaltung > einen C in Serie zur LED zu setzen? Ja. Noch eine Diode antiparallel zur LED! Michael R. schrieb: > Ich hab nämlich grad keinen NPN zur Hand, und wegen einem NPN extra wo > bestellen :-( Ja, PNP. Geht irgendeiner aus der Bastelkiste, wenn's nicht grad ein 2N2905 ist! Gruss Chregu
ich versuche mich zu sortieren, bin aber immer noch etwas verwirrt. Deshalb mal der Reihe nach: Der Datenausgang meines SmartMeters ist ein OpenCollector-Ausgang gegen Masse. Im Ruhemodus (Idle/Mark) ist dieser Transistor durchgeschaltet, der Ausgang liegt also auf Massepotential. Bei Datenübertragung (speziell Space) sperrt der Transistor, der Ausgang "floatet" und es liegt an mir über einen Pullup einen entsprechendes (positives) Potential einzustellen. Genau bei diesem Space möchte ich, dass die LED leuchtet. Daher brauch ich eigentlich keine "Invertierung". Aufgrund meiner ursprünglichen Schaltung hatte ich bereits diese Invertierung "inmplizit" eingebaut (LED leuchtet bei Mark/Idle) Daher glaube ich dass die Schaltung von Falk weiter oben zwar schon invertiert, aber nicht das macht was ich erreichen will. Stimmt das soweit?
Michael R. schrieb: > Genau bei diesem Space möchte ich, dass die LED leuchtet. Daher brauch > ich eigentlich keine "Invertierung". Na sicher. Es sei denn, du willst NUR die LED leuchten lassen! Dann kann man die direkt an den Ausgang Schalten, incl. Pull-Up Widerstand. Dann hat man aber keinen Logikpegel mehr, den ein IC auswerten kann, denn HIGH ist dann nur Uf der LED, je nach Farbe 2-3,5V. > Daher glaube ich dass die Schaltung von Falk weiter oben zwar schon > invertiert, aber nicht das macht was ich erreichen will. > Stimmt das soweit? Ja, da hatte ich wohl einen Denkfehler. Dann eben so, siehe Anhang.
Danke für die Bestätigung! Also eigentlich ganz einfach: ein kleiner Emitterfolger, und gut ist. Irgendwie bin ich bei der Emitterschaltung stehen geblieben :-(
Michael R. schrieb: > Dann bleibt mir aber kein auswertbares Signal mehr übrig... Welchen Signalpegel braucht denn dein Empfänger? Ein zusätzlicher Widerstand in Reihe zur LED würde den Pegel anheben. Christian M. schrieb: > Haha, bei OC.... Schon vergessen - LEDs betreibt man nicht ohne Vorwiderstand. Zusammen mit einem OC wird das eine Shunt-Steuerung der Helligkeit - du Experte.
:
Bearbeitet durch User
Rainer W. schrieb: > Welchen Signalpegel braucht denn dein Empfänger? Die 5V die ich ohne LED kriege sind schon grenzwertig für RS232
Michael R. schrieb: > Die 5V die ich ohne LED kriege sind schon grenzwertig für RS232 RS232 würde am Empfänger +/-3V als Pegel fordern. Schon anscheinend unipolare Signale lägen weit außerhalb von RS232. Mit RS232 hat das wenig zu tun, wenn dieses merkwürdige "MM6" nicht irgendeine negative Spannung generiert. Also entweder muss man nachmessen, was noch geht oder den zusätzlichen Aufwand für einen separaten Treiber/Inverter in Kauf nehmen
Rainer W. schrieb: > dieses merkwürdige "MM6" Das "merkwürdige MM6" ist nur eine 6-polige MicroMatch-Buchse, von da geht es per (kurzem) Flachbandkabel und einem Western-Stecker zum SmartMeter. Und das SmartMeter liefert nur 5 Volt. Wie aber auch hier https://www.mikrocontroller.net/articles/RS-232 beschrieben kommt meine RS232-Gegenstelle damit gut zurecht, das Ganze läuft schon seit Monaten als "Laborigel" (und halt noch ohne LED)
Nimm eine Low-current LED und mache den Vorwiderstand so groß wie möglich. Das bisschen zusätzlichen Strom sollte ein (open collector) Leitungstreiber aufbringen können. Wenn nicht dann eben nicht, dann brauchst Du sowieso einen zusätzlichen Treiber für die LED und bist wieder frei in der Wahl. Tom
Mit dieser Schaltung verschiebst Du die Verhältnisse etwas zugunsten des Leitungspegel. Um die LED nicht leuchten zu lassen muss die Spannung über ihr nicht 0V sein, es genügt wenn sie unter der Schleusenspannung des momentanen Arbeitspunktes (Uf) bleibt. Jetzt kann der High-Pegel des Leitungssignals wieder auf höhere Werte als die Schleusenspannung der LED steigen da die Diode D2 dann sperrt. Viel Erfolg. Tom
Tom A. schrieb: > Nimm eine Low-current LED Nein, das sind dunkle Funzeln aus den 80er Jahren. Heute ist jede normale LED bei gleicher Stromstärke viel heller. Low-current LEDs sind höchstens als Ersatzteil für ale Geräte sinnvoll.
Dieses Drama hier, um eine einzige LED zum Leuchten zu bringen, mutiert echt zu einem Trauerspiel – man sollte einen MOSFET (TO92/SOT23/SOT89/SOT223) oder ein CMOS-Gatter (SOT23-5), alternativ einen OP-Amp (auch klein in SOT23-5 oder DIP8) als z.B. Spannungsfolger oder Komparator nehmen und gut ist, damit der Ausgang nicht belastet wird und alles klein bleibt, wie teilweise schon erwähnt wurde. Noch schlimmer finde ich die Verwechslung der Spannungspegel von RS232 mit denen einer normalen UART eines µControllers und den glücklichen Umstand, dass das hier zufällig funktioniert, weil anscheinend um die Null ein bestimmter Pegel entsteht und als solcher vom Empfänger erkannt wird. Man sollte meiner Meinung nach nie eine Schaltung (egal wie groß oder klein sie sein mag) so entwerfen oder belassen, dass deren Funktion auf Zufall basiert – das darf aber natürlich jeder anders sehen. Man sollte bei solchen Verbindungen auch an den ESD- bzw. Überspannungsschutz denken, denn auch dadurch kann die Kommunikation auf einmal ganz schnell zu Ende sein, aber das nur so nebenbei. Ich würde mir den Signalverlauf und deren Pegel grundsätzlich auch ganz am Anfang mit einem Oszilloskop anschauen und aufnehmen, um überhaupt beurteilen zu können, was hier wirklich spannungstechnisch und anstiegsmäßig vorliegt und was dann dementsprechend zu machen ist – der Pull-Up kann nämlich auch so gewählt worden sein, dass es gerade noch funktioniert.
Dieses "Drama" ist der Zweck des Forums! Wem es nicht gefällt, der muss es nicht lesen.
Gregor J. schrieb: > Noch schlimmer finde ich die Verwechslung der Spannungspegel von RS232 > mit denen einer normalen UART eines µControllers und den glücklichen > Umstand, dass das hier zufällig funktioniert, weil anscheinend um die > Null ein bestimmter Pegel entsteht und als solcher vom Empfänger erkannt Ein weiterer, nicht ganz unwesentlicher Unterschied zwischen UART und RS232 ist, dass die Signale invertiert sind. Ein UART-5V Signal direkt an einen (toleranten) RS232-Eingang zu geben, würde also bestenfalls Kauderwelsch liefern.
Rainer W. schrieb: > Ein weiterer, nicht ganz unwesentlicher Unterschied zwischen UART und > RS232 ist, dass die Signale invertiert sind. In diesem Fall liefert das SmartMeter "korrekte" RS232 Signale. Halt keine kompatiblen Pegel, sondern "nur" eine OC-Ausgang, aus dem man sich mit etwas Aufwand wirklich "normgerechtes" RS232 machen kann. In meinem Fall "frisst" der RS232-LAN-Gateway aber die TTL-Pegel (wie geschrieben seit einem halben Jahr zuverlässig im 10-Sekunden-Takt). Ich wäre eigentlich fertig, wenn ich mir nicht die LED einbilden würde :-) Da werd ich den von Falk vorgeschlagenen Emitterfolger realisieren (nicht zuletzt deswegen weil alle dafür notwendigen Bauteile in der Wühlkiste sind)
:
Bearbeitet durch User
Michael R. schrieb: > Da werd ich den von Falk vorgeschlagenen Emitterfolger realisieren > (nicht zuletzt deswegen weil alle dafür notwendigen Bauteile in der > Wühlkiste sind) Wenn der Impuls für die LED verlängert werden muss, um es besser sehen zu können, kann man z.B. einen 74HC123 oder NE555 nehmen, der das kann, oder es alternativ diskret mit einem RC-Glied (+Diode) über eine Zwischenstufe, die aus zwei Gattern oder OP-Amps besteht, machen. Ein SO8 oder DIP als Dual-OP-Amp könnte hier auch Abhilfe schaffen, ich persönlich würde mir aber den diskreten Aufbau sparen und den 74HC123 für eine Retriggerung nehmen; der 555 in CMOS-Variante würde auch noch gehen, die Schaltung mit dem ist aber etwas umständlicher.
Gregor J. schrieb: > Wenn der Impuls für die LED verlängert werden muss, um es besser sehen > zu können Genau das soll eben nicht sein. Die LED soll ja bei Datenverkehr schön am Blinken am fangen: Michael R. schrieb: > und (hoffentlich erkennbar) blinken bei Datenverkehr. Bei mir im Keller hängt ein Umwandler von LWL auf RJ45. Der hat auch mehrere LEDs die bei Datenverkehr anfangen zu blinken. Auf dem Foto kann man das Blinken der LEDs sehr schön erkennen.
Enrico E. schrieb: > Bei mir im Keller hängt ein Umwandler von LWL auf RJ45. Der hat auch > mehrere LEDs die bei Datenverkehr anfangen zu blinken. Auf dem Foto kann > man das Blinken der LEDs sehr schön erkennen. Das Thema hatten wir gerade in einem anderen Thread. Da wurde ein Mikrocontroller empfohlen, der die LED gut sichtbar blinken lässt, wenn Daten übertragen werden. Bei Ethernet wird das ebenso gemacht. Da wird die LED von Software angesteuert, nicht vom Datensignal selbst.
Gregor J. schrieb: > Noch > schlimmer finde ich die Verwechslung der Spannungspegel von RS232 mit > denen einer normalen UART eines µControllers und den glücklichen > Umstand, dass das hier zufällig funktioniert Nein, das ist kein Zufall. Die RS-232 Receiver (z.B. MAX232, SN75189) sind am RXD-Eingang TTL-kompatibel, wie man leicht dem Datenblatt entnehmen kann. Für die Negierung des Signalpegels muß man natürlich senderseitig sorgen. Manche µC können ihre IO-Pins negiert konfigurieren. Z.B. hatten programmierbare Taschenrechner oft eine UART zum Speichern der Programme auf dem PC ohne extra Pegelwandler-IC. Zum Invertieren benutzte man 2 Transistoren.
Peter D. schrieb: > Nein, das ist kein Zufall. Leider ist hier so vieles ein Zufall – egal wie oft man NEIN sagt. __ > Die RS-232 Receiver (z.B. MAX232, SN75189) > sind am RXD-Eingang TTL-kompatibel, wie man leicht dem Datenblatt > entnehmen kann. Das Datenblatt am besten nochmal selbst durchlesen, bevor man sich äußert und etwas durcheinanderbringt. __ Enrico E. schrieb: > Genau das soll eben nicht sein. Die LED soll ja bei Datenverkehr schön > am Blinken am fangen Ich weiß zwar nicht, was mit „am Blinken am fangen” gemeint ist, aber ob eine Verlängerung der Impulse nötig sein wird, wird derjenige entscheiden, der die drei Teile zusammenlöten und dann anschließend draufschauen wird, nicht Du oder sonst irgendjemand. Wie die Pakete der Datenübertragung aufgebaut sind und somit welche optischen Muster sich daraus ergeben, weiß man nicht, insofern war das, was ich mit der Verlängerung gesagt habe, nur eine Option, falls es am Ende doch nicht so sein sollte, wie man es gerne hätte. Einfach mal abwarten bis es soweit ist. Wenn es passt, dann ist gut, wenn NICHT, dann kann man sich dazu eventuell noch etwas überlegen.
:
Bearbeitet durch User
Gregor J. schrieb: > Einfach mal abwarten bis es soweit ist. Wenn es so passt, wie ich es vorgeschlagen habe, dann ist es gut, > wenn NICHT, dann kann man sich dazu noch etwas überlegen. Aye aye Sir! 👮♂️
Gregor J. schrieb: > Das Datenblatt am besten nochmal selbst durchlesen, bevor man sich > äußert und etwas durcheinanderbringt. Das Lesen des Datenblattes solltest Du nochmal üben. Anbei der betreffende Ausschnitt vom MAX232. Über 2.4V wird high erkannt, unter 0.8V low.
Peter D. schrieb: > Das Lesen des Datenblattes solltest Du nochmal üben. > Anbei der betreffende Ausschnitt vom MAX232. Über 2.4V wird high > erkannt, unter 0.8V low. Ich glaube, da hast Du etwas Grundsätzliches in dem ganzen Kontext nicht verstanden – deswegen ist das, was Du da mit dem Kopf durch die Wand versuchst, völlig sinnlos. Ich empfehle, sich den Thread nochmal genau durchzulesen – vielleicht kommst Du dann drauf.
:
Bearbeitet durch User
Gregor J. schrieb: > Ich glaube, da hast Du etwas grundsätzliches in dem ganzen Kontext nicht > verstanden – deswegen ist das, was Du da mit dem Kopf durch die Wand > versuchst, völlig sinnlos. Ich habe Dich schon verstanden. Du mokierst Dich darüber, daß der OP versucht mit 0V/5V einen standard RS-232 Eingang zu steuern. Das Datenblatt zeigt Dir aber eindeutig, daß das nicht nur in der Praxis einwandfrei funktioniert, sondern auch so gewollt ist. Man kann nur nicht die maximale Kabellänge erreichen, wie mit einem echten RS-232 Transmitter (+/-6V), aber das wars auch schon. Es ging aber gar nicht darum, daß das nicht funktionieren würde, sondern daß durch die LED der Pegel nicht einbrechen soll. Mein Vorschlag war daher, die LED mit einem MOSFET zu treiben.
:
Bearbeitet durch User
Peter D. schrieb: > Ich habe Dich schon verstanden. Ich glaube nicht, deswegen hier ein Zitat: Michael R. schrieb: > Es ist aber so dass der danach folgende RS232-LAN-Konverter die Pegel > problemlos erkennt (sozusagen "Glück gehabt") _______________ Du hast Dich in irgendetwas unnötig festgefahren und wenn Du weiterhin mit dem Kopf durch die Wand willst, dann viel Spaß, aber natürlich ohne mich, weil das reine Zeit- und Energieverschwendung ist.
:
Bearbeitet durch User
Gregor J. schrieb: > Ich glaube nicht, deswegen hier ein Zitat: > > Michael R. schrieb: >> Es ist aber so dass der danach folgende RS232-LAN-Konverter die Pegel >> problemlos erkennt (sozusagen "Glück gehabt") Er hat nur nicht ins Datenblatt geschaut, daher seine Annahme "Glück gehabt". Ich habe extra in verschiedene Datenblätter geschaut, selbst der uralte SN75189 (von 1973) ist eingangsseitig TTL kompatibel. Er kann also ruhig sein "Glück gehabt" durch "Gewißheit" ersetzen.
Peter D. schrieb: > Er kann also ruhig sein "Glück gehabt" durch "Gewißheit" ersetzen. Danke, wusste ich auch nicht. Dann hab ich natürlich ein noch besseres Gefühl... Und wegen dem Blinken und Impuls-Verlängerung: Ich werd das einfach mal ohne probieren, es muss ja nicht "schön" blinken, wenn ich einfach nur erkenne dass Telegramme ankommen reicht mir das. Wenn nicht, kann ich mir was überlegen. Meine Mini-Platine sitzt ohnehin im E-Verteiler direkt beim SmartMeter, vermutlich einmal anstecken, sich über Blinken freuen, vergessen :-)
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.