Ich bin neulich auf eine Schaltung gestoßen, die wohl recht populär ist, nämlich eine für den Betrieb eines 1-Wire-Temperatursensors (DS1820) an einer RS232-Schnittstelle. Nun gibt es eine ganz typische Schaltung, die praktisch jedes Tutorial, das ich gefunden habe, verwendet: 2 Zener, 2 Schottky, 1 Widerstand mit 1,5k. Beispielhaft möchte ich auf diese Quelle verlinken, das Schaltbild ist ganz oben auf der Seite: http://digitemp.webfoelz.de/hardware.html Ich weiß, welche Pegel auf den RS232-Leitungen kommen und glaube soweit verstanden zu haben, wie die Anschlüsse am DS1820 beschaltet werden. Ich kann auch noch folgern, dass hier wohl -12 bis +12 Volt auf 0 bis 5 Volt gewandelt werden und je nach Signalrichtung die Verbindung zwischen dem Datenpin des Sensors und der passenden RS232-Leitung (Rx oder Tx) hergestellt wird. Ich habe auch oberflächlich kapiert, was eine Zenerdiode macht, allerdings habe ich hier so meine Befürchtungen, dass mir subtile Details entgangen sein könnten. Langer Rede bettelnder Sinn: Hat vielleicht einer der anwesenden Kenner Zeit und Lust, diese Schaltung (also die für die parasitäre Speisung) zu erklären? Ich versuche jetzt seit 2 Tagen, das einfache Ding zu kapieren, aber irgendwo fehlt es bei mir einfach. Ganz besonders verwirrt mich der Widerstand zwischen Rx und Tx ...
Das ist ganz einfach: Das kritische 1wire-Bit-Timing wird mit der seriellen Schnittstelle erzeugt, d.h. pro 1wire-Bit wir auf der Seriellen ein Byte gesendet. Ja nachdem, ob der Slave das Bit verlängert auf Gnd zieht, empfängt die Rx-Leitung ein anderes Bitmuster. Deshalb ist Rx mit Tx verbunden.
@eProfi Vielen Dank, jetzt hat es geklickt - ich hatte versucht, die Elektronik isoliert vom Protokoll zu verstehen, was offensichtlich nicht klappen kann. :) Bevor ich es wirklich kapiere, muss ich noch länger über den Zenerdioden meditieren, aber ich glaube, dass das mit dem Timing und dem kompletten Byte vom Master der entscheidende Hinweis war.
Die Serielle wird ja ein wenig missbraucht, bedenke, dass auf den hohen Innenwiderstand vertraut wird (stelle Dir die Ausgänge 2 und 4 eher als Stromquellen denn als Spannungsquellen vor). Die Schwierigkeit ist, dass Sensor-Gnd nicht Serielle-Gnd ist. Wenn nichts gesendet wird, liegt Pin 2 (und über den R auch Pin 3) auf negativem Potential. Ich glaube, Pin 4 (DTR) ist immer auf positivem Level, der über ZD1 auf 3,9V begrenzt wird. Somit wird der DS1820 mit der über ZD2 (6,2V) abfallenden Spannung versorgt. Wird ein serielles Byte gesendet, beginnt es mit dem Startbit (high Level), der DS bekommt keine Spannung. Dann geht Tx wieder auf Low. Verlängert der DS das Bit, zieht er sein D und Gnd zusammen, sodass an Rx Hi anliegt. Welches Bitmuster genau gesendet und empfangen wird, weiß ich nicht mehr. Wichtig zu wissen: RS232-Treiber invertieren.
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.