Hallo ich habe ein Gerät mit einer RS232 Schnittstelle ausgeführt als 4Pins, von dem ich gerne Daten mitlesen würde. Vorher will ich aber erstmal schauen was genau an Daten rauskommt.
Dazu wollte ich mir einen simplen RS232 auf USB Adapter kaufen um einfach am Laptop mal zu schauen.
Allerdings finde ich bei ebay und co einen Haufen von Konverter so immer RS232/RS485 im Titel steht. Wie funktioniert das weil RS232 und RS485 nicht dasselbe ist.
Ein weiter Punkt betreffen die Pegel. Teilweise gibt es auch Adapter mit offenen Enden, also nur 4 Pins am Kabelende. Zu den Pegeln findet man teilweise überhaupt nichts oder da steht 3,3V also TTL. Wieso wird so etwas dann als RS232 vermarktet? Soweit ich informiert bin kann es bei RS232 zu Pegeln von 15V teilweise habe ich auch 25V gelesen kommen.
Ich hätte schon gern ein Adapter der jetzt auch zumindest mit 15V klarkommt nicht dass ich für das nächste Projekt dann wieder einen neuen Konverter brauche.
Die Beschreibungen sind oft dürftig, und meist steht auch nur 5V drin.
Verbrutzelt es mir bei 15V dann direkt die Hardware oder funktioniert es nur dann nicht?
Einen RS232 Stecker brauche ich nicht zwangsweise, im idealfall hätte ich aber ein Gerät was beides kann einen RS232 Stecker und wo man die Pins einzelnt abgreifen kann.
Allerdings finde ich bei ebay und co einen Haufen von Konverter so immer
RS232/RS485 im Titel steht. Wie funktioniert das weil RS232 und RS485
nicht dasselbe ist.
Nur mit Steckbrücken und Schaltern. Es gibt keinen Tranceiver, der RS232 und RS422/RS485 gleichzeitig kann. Oder die Dinger haben gar keinen Tranceiver und liefern nur 5V TTL/CMOS kompatible Signale.
Ein weiter Punkt betreffen die Pegel. Teilweise gibt es auch Adapter mit
offenen Enden, also nur 4 Pins am Kabelende. Zu den Pegeln findet man
teilweise überhaupt nichts oder da steht 3,3V also TTL. Wieso wird so
etwas dann als RS232 vermarktet?
Weil viel Unsinn geschrieben wird.
Soweit ich informiert bin kann es bei
RS232 zu Pegeln von 15V teilweise habe ich auch 25V gelesen kommen.
Stimmt. Und vor allem auch bipolar.
Ich hätte schon gern ein Adapter der jetzt auch zumindest mit 15V
klarkommt nicht dass ich für das nächste Projekt dann wieder einen neuen
Konverter brauche.
Verbrutzelt es mir bei 15V dann direkt die Hardware
Kann sein.
Einen RS232 Stecker brauche ich nicht zwangsweise, im idealfall hätte
ich aber ein Gerät was beides kann einen RS232 Stecker und wo man die
Pins einzelnt abgreifen kann.
Kauf dir einen normalen Konverter mit D-SUB9 Stecker und dazu eine D-SUB Buchse mit Lötkelchen. Dort kannst du deine Einzelkabel anlöten.
Ich hätte schon gern ein Adapter der jetzt auch zumindest mit 15V
klarkommt nicht dass ich für das nächste Projekt dann wieder einen neuen
Konverter brauche.
Wirst Du aber, Du brauchst zwei Adapter. Einen mit "TTL"-Pegeln* (am besten einstellbar, 3.3 und 5 V), und einen mit RS232-Pegeln.
RS232 verwendet gegenüber den "TTL"-Pegeln invertierte Logik, um die sich der RS232-Treiberbaustein (oft so etwas wie ein MAX232, der sich mit Ladungspumpen die nötige symmetrische Betriebsspannung selbst erzeugt), und ist schon deswegen nicht kompatibel.
Ein Baustein, der "TTL"-Pegel erwartet, wird mit gewisser Wahrscheinlichkeit zerstört, wenn er mit RS232-Pegeln traktiert wird. Insbesondere die negative Spannung kann hier interessante Resultate haben.
Am sinnvollsten ist die Verwendung eines 9poligen SUB-D-Steckers am RS232-Adapter, und irgendwas anderes am "TTL"-Adapter - auch um die Dinger eindeutig auseinanderhalten zu können.
*) "TTL" schreibe ich hier bewusst in Anführungszeichen, weil's nicht wirklich TTL-Pegel, sondern Logikpegel ist, wie er halt aus so einer UART in einem µC rauskommt, bzw. sie diesen sehen will.
Und weil man da sowohl 5 V als auch 3.3 V begegnen kann, ist ein umschaltbarer Adapter die beste Lösung. Das gibt es mit einem kleinen Schiebeschalter oder mit Steckbrücken.
Wenn das Teil aber einen RS232 Stecker hat, kann man erwarten dass es dann auch mit RS232 Spannungen klar kommt oder kann man da auch Zeug begegnen was eigentlich nur TTL kann und man ist einfach mal auf die Idee gekommen da einen RS232 Stecker dran zu machen?
Zu den Spannungen bei USB/RS232 finde ich meist nichts. Kann ich dann davon ausgehen die vertragen -15V/+15V weil ein RS232 Stecker dran sitzt?
Bei meinem Gerät was ich auslesen will steht:
+5V, RX, TX, GND
Neben der Buchse gibt es 3 Pins und es sitzt ein 2poliger Jumper drin. Die Leiste mit den 3Pins ist an Pin1 mit 5v und am Pin3 mit 15v beschriftet.
Aktuell sitzt der Jumper zwischen Pin2 und Pin3 und die Ausgänge liefern alle 5V gegen GND. Ich gehe davon aus dass der unbeschaltete Pin die Spannung anzeigen soll. sprich wenn ich den umstecke sollte ich 15V bei RX/TX erwarten gegen GND, die +5V als Versorgungsspannung sollten aber gleich bleiben.
Dieser Teil ist im Handbuch des Geräts auch nicht dokumentiert was es mit diesem Jumper auf sich hat
+5V gibt es nicht auf der normalen D-SUB9 Buchse bei RS232.
Neben der Buchse gibt es 3 Pins und es sitzt ein 2poliger Jumper drin.
Die Leiste mit den 3Pins ist an Pin1 mit 5v und am Pin3 mit 15v
beschriftet.
Aktuell sitzt der Jumper zwischen Pin2 und Pin3 und die Ausgänge liefern
alle 5V gegen GND. Ich gehe davon aus dass der unbeschaltete Pin die
Spannung anzeigen soll.
Keine Ahnung. Kann aber auch eine Hilfsversorgung für angeschlossene Geräte sein.
sprich wenn ich den umstecke sollte ich 15V bei
RX/TX erwarten gegen GND, die +5V als Versorgungsspannung sollten aber
gleich bleiben.
Glaub ich nicht. Ich tippe hier eher auf TTL/CMOS-kompatible 5V Pegel. Man kann einfach 4k7 Längswiderstände in die Signalleitungen einfügen und einen UART-TTL Konverter anschließen und probieren. Im Fehlerfall geht nix kaputt.
Wie kann man das Ganze denn vorher mit einem Multimeter unterscheiden um
was es sich handelt?
Im Idle sollte ich bei RS232 doch eine negative Spannung ggü GND messen,
bei TTL nicht?
nein, hier ist +5V der Ruhepegel (1), 0V ist eine logische 0.
Ein Byte beginnt immer mit einem Startbit (0), dann kommen von hinten nach vorne die Datenbits, und zum Schluss das Stopbit (1).
Das Protokoll nennt sich UART, unabhängig von den elektrischen Pegeln.
Allerdings finde ich bei ebay und co einen Haufen von Konverter so immer
RS232/RS485 im Titel steht. Wie funktioniert das weil RS232 und RS485
nicht dasselbe ist.
Dazu wird der 9-polige D-SUB-Stecker des
Datenkabels an die serielle RS 232- Schnittstelle eines
Computers angeschlossen. Als Software zum Mitschrei-
ben kann ein Terminal-Programm, wie es beispielsweise
bei Windows 95, 2000 oder XP in der Zubehör-Gruppe
zu finden ist, verwendet werden. In der Software sind die
folgenden Übertragungseinstellungen zu voreinzustel-
len: RS 232 Port = COM1/COM2, Emulation = ANSI,
Übertragungsrate = 19200 bit/s, Datenbits = 8, Stopbits
= 1, Parität = keine, Protokoll = kein Protokoll (XON/
XOFF, RTS/CTS)
ggf scheint das Originalkabel TTL auf RS232 umzusetzen für die Kommunikation mit einem Computer über den RS232 Anschluss?
In meinem Fall könnte ich aber dann direkt mit TTL arbeiten nehme ich an. Ich will damit später eigentlich auf nen RPi oder ESPHome sowas in die Richtung.
Wobei dieser Schalter mit dem Jumper um zwischen 15V und 5V umzustellen für mich keinen Sinn ergibt. Und da ist auch nichts dokumentiert. Ich werde ihn dann ignorieren und so lassen wie er ist.
Ist das Gerät geheim oder dürfen wir wissen, um was für ein Gerät es sich handelt.
Nenne doch einfach mal das Gerät oder Zeige ein Foto. Auch Fotos vom Innenleben wären unter Umständen hilfreich. Vielleicht gibt es hier ja jemanden der auch ein solches Gerät hat bzw. dieses Gerät kennt. Dann könnte Dir gezielt geholfen werden. So ist es nur Stochern im Dunkeln.
Ansonsten, wenn das Teil wirklich TTL-Pegel liefert, brauchst Du für den Anschluß an den Pi keinen USB/RS232-Wandler. Du brauchst lediglich einen Pegelwandler der den Pegel von TTL-Pegel (5V-Logik) zur 3,3V-Logik des RaspberryPi wandelt. TX von Deinem Gerät käme dann Pin 10 (RX) des GPIO-Steckes des Pi unter Zwischenschaltung eines Pegelwandlers. Im einfachsten Fall tut es ein Widerstand. Der RX Anschluß Deines Gerätes käme dann an Pin 8 (TX) des GPIO-Steckers. Bei Standard TTL-Eingängen kann man es sogar direkt verbinden, die 3,3V Pegel des PI werden von TTL-Eingängen richtig erkannt.
Ich würde es jedoch gleich richtig machen und bidirektionale Pegelwandler in beide Leitungen schalten. Mit einem p-Kanalmosfet und 2 Widerständen kann man so etwas aber auch schnell selbst bauen. Solche Pegelwandler gibt es auch schon fix und fertig für Arduino und Co oder auch als IC z.B. TBX0102 von TI mit 2 Kanälen.
Wobei dieser Schalter mit dem Jumper um zwischen 15V und 5V umzustellen
für mich keinen Sinn ergibt. Und da ist auch nichts dokumentiert. Ich
werde ihn dann ignorieren und so lassen wie er ist.
Ganz blöde Idee, blind drauf zu vertrauen, dass das für DEINE Anwendung zufällig richtig eingestellt ist. Guck dir mit einem Oszi an, was auf auf der Schnittstelle passiert, wenn das Teil sendet.
Wieso sind eigentlich 5V auch am Eingang zu messen? Die Spannungen werden doch eigentlich vom Ausgang erzeugt, am Eingang sollte folglich doch keine Spannung zu messen sein oder durch internen PullUp?
Wenn man bei dem geheimen Gerät den Deckel öffnen kann, wird man sehen, ob da ein RS232-Treiber auf der Platine ist. Es gibt leider auch etliche Geräte, die da irgenwas hingestrickt haben und die Standardpegel ignorieren, dazu müsste ich es auf dem Tisch am Scope haben.
Wäre anzunehmen, niemand will einen floatenden UART-RX-Pin.
An einem offenen Rx gibt es keine Spanuung, wenn es denn eine 'richtige' Schnittstelle ist. Wenn man nicht wusste, wo Rx und Tx ist, war der mit Spannung Tx.
Das Prinzipschaltbild des Klassikers MC1489 zeigt als Eingang einen N-Transistor.
An einem offenen Rx gibt es keine Spanuung, wenn es denn eine 'richtige'
Schnittstelle ist. Wenn man nicht wusste, wo Rx und Tx ist, war der mit
Spannung Tx.
Es wurde bereits festgestellt, dass am Ein- und Ausgang in Ruhelage +5V messbar sind und es folglich kein RS232 ist, weil in dem Fall am TX-Pin -3 bis -15V zu erwarten wären.
Also keine "richtige" Schnittstelle, wie Du es nennst, sondern ein nackter UART, da ist ein Pullup am RX-Pin mehr als sinnvoll.
Also keine "richtige" Schnittstelle, wie Du es nennst, sondern ein
nackter UART,
Manche Geräte, die sich im Datenblatt mit 'RS-232' schmücken, besitzen auf dem Hauptboard nur eine UART- Schnittstelle mit 5V-Pegeln und benötigen dazu noch ein Schnittstellenmodul, dass z.B. mit einem RS232-Wandler für die richtigen Pegel und die Polarität sorgt. Die Tatsache, dass eine Versorgungsspannung auf den Stecker geführt ist, spräche für so ein Konzept.