Hallo Forum, folgende Ausgangslage: ein RFID-Devboard von Pollin ein Linux-PC mit Steuersoftware, der weit davon weg steht Nun war die Idee, an das RFID-Board einen RS232-RS485-Konverter zu hängen und an den PC (mangels RS232-Port) einen USB-RS485-Konverter. Ich habe an Hardware: Hexin Technology HXSP-485B Hexin Technology HXSP-2108F Leider funktioniert das irgendwie überhaupt nicht, ich bekomme über die Strecke nichts übertragen. Sprich selbst mit zwei PCs und Terminal bekomme ich keine Zeichen übertragen. Nach viel Probiererei und so fiel mir dann mal auf, dass es bei RS485 ja überhaupt kein festes Protokoll gibt. Daher die Frage: kann das so überhaupt funktionieren, oder brauche ich bspw. zwingend zwei gleiche RS232-RS485-Konverter? Dann kamen noch an Fragen auf: der Bus muss doch beidseitig mit 120 Ω terminiert werden, oder? Etwas Rätsel gaben uns auch die Ports "+9V" und "GND" auf den Breakout-Platinen der Konverter auf. Welche der Konverter müssen sinnvollerweise mit Spannung versorgt werden? Die Beschreibung liest sich beim USB-Konverter so, dass der USB-Port genug Strom für den Konverter liefert. Das RFID-Board hat sicherlich keinen Saft auf dem RS232; die Beschreibung liest sich hier so, dass man den Eingang mit 9V versorgen sollte, wenn der Pegel auf dem RS232 unter 5V liegt. Bin für Tipps sehr dankbar :)
dass es kein "richtiges" RS-485 Protokoll gibt, kann Fluch und Segen sein. In deinem Fall eher Segen, da du ganz einfach z.B. 9600 8N1 übertragen kannst und dir über das Protokoll keine Gedanken machen musst...
Daniel F. schrieb: > In deinem Fall eher Segen, da du ganz einfach z.B. 9600 8N1 übertragen > kannst und dir über das Protokoll keine Gedanken machen musst... Ja Okay, aber meine Frage ging jetzt in die Richtung ob das, was der RS232-RS485-Konverter über RS485 rausbläst halt vom USB-RS485-Adapter auch "verstanden" wird und umgekehrt, deshalb. Aber wenn das nicht das Problem ist, frage ich mich: was ist dann das Problem?
Mit Vollduplex geht das problemlos ohne sich um irgendwas kümmern zu müssen. Also eine Vierdrahtleitung, mit MAX488 o.ä. Willst du Halb-Duplex übertragen, kommst du nicht umhin, entweder die Originalsoftware anzupacken oder auf beiden Seiten was "Intelligentes" dazwischenzupacken, was Daten puffert und sich um die Richtungsumschaltung kümmert.
Arbeitet dein RFID-Devboard auf der Schnittstelle mit TTL/CMOS oder RS232 Pegeln?
H.joachim Seifert schrieb: > Mit Vollduplex geht das problemlos ohne sich um irgendwas kümmern zu > müssen. Also eine Vierdrahtleitung, mit MAX488 o.ä. Vollduplex fällt allein schon deswegen flach, weil der RS232-RS485-Konverter kein Vollduplex kann. Die Software anzupassen ist kein Problem, weil ich beide Seiten selbst geschrieben habe :) Wie "schalte" ich denn da die "Richtung" um? In der Doku zu dem Konverter steht dazu z. B. jarnüscht.
Michael schrieb: > Arbeitet dein RFID-Devboard auf der Schnittstelle mit TTL/CMOS oder > RS232 Pegeln? "Mein" RFID-Devboard ist das Devboard von Pollin: <http://www.pollin.de/shop/dt/MDQ5OTgxOTk-/Bausaetze_Module/Bausaetze/Bausatz_RFID_125kHz_Empfaenger.html> Da vor der DB9-Buchse ein MAX232 sitzt, würd ich mal auf RS232-Pegel tippen.
Jens B. schrieb: > Vollduplex fällt allein schon deswegen flach, weil der > RS232-RS485-Konverter kein Vollduplex kann. > > Die Software anzupassen ist kein Problem, weil ich beide Seiten selbst > geschrieben habe :) > > Wie "schalte" ich denn da die "Richtung" um? In der Doku zu dem > Konverter steht dazu z. B. jarnüscht. RS232 ist von Hause aus erstmal vollduplex. Das heisst nichts weiter, als das zeitgleich sowohl gesendet als auch empfangen werden kann. Beim Halbduplex muss der Übertragungskanal für beide Richtungen genutzt werden. Wie die Umschaltung geschieht, ist erstmal egal. http://www.maxim-ic.com/images/appnotes/367/367Fig05.gif fig. b,
@ Jens B. (sunnyman) >"Mein" RFID-Devboard ist das Devboard von Pollin: ><http://www.pollin.de/shop/dt/MDQ5OTgxOTk-/Bausaetz... >Da vor der DB9-Buchse ein MAX232 sitzt, würd ich mal auf RS232-Pegel >tippen. Ist auch so. Aber wieso glaubst du, dass RS232 nicht austreicht? Das Ding läuft mit 9600Baud, damit kommt man locker 100m und weiter. Auch mit RS232. MFG Falk
Jens B. schrieb: > Wie "schalte" ich denn da die "Richtung" um? In der Doku zu dem > Konverter steht dazu z. B. jarnüscht. Ich kenne das nur so das die Konverter in Normalfall auf Empfang stehen. Willst du ein Zeichen senden schalten die für die Dauer des sendens um. Dazu muß denen aber bekannt gemacht werden wie viele Bits ein Zichen enthält und mit welcher Baudrate gesendet werden soll. Alternativ gibt es auch Konverter die mit dem RTS Signal von der RS232 umgeschaltet werden können.
Falk Brunner schrieb: > @ Jens B. (sunnyman) > Ist auch so. Aber wieso glaubst du, dass RS232 nicht austreicht? Weil das RFID-Board an der Tür im Erdgeschoss angebracht ist und der Rechner für die Auswertung im 2. OG im Inneren des Gebäudes steht. Als Verbindungsleitung steht mehr sowas wie ein mehrfach unterbrochener "Klingeldraht" zur Verfügung, die Gesamtstrecke dürften auch gut und gern 120 m sein.
H.joachim Seifert schrieb: > http://www.maxim-ic.com/images/appnotes/367/367Fig05.gif > fig. b, Achso, also was du meinst ist im Prinzip nur, dass ich nicht von beiden Seiten der RS232-Strecke gleichzeitig sende / empfange. Die Anwendung arbeitet allerdings schon quasi passend dazu. Allerdings habe ich auch probiert, zwei PCs mit dieser Strecke mit einander zu verbinden und habe auf beiden Rechnern minicom gestartet und dann beim einen bzw. anderen Rechner was ins Fenster getippt - ohne Erfolg.
@ Jens B. (sunnyman) >Verbindungsleitung steht mehr sowas wie ein mehrfach unterbrochener >"Klingeldraht" zur Verfügung, die Gesamtstrecke dürften auch gut und >gern 120 m sein. Auch 120m überbrückt RS232 bei 9k6 problemlos. MFg Falk
Falk Brunner schrieb: > @ Jens B. (sunnyman) > >>Verbindungsleitung steht mehr sowas wie ein mehrfach unterbrochener >>"Klingeldraht" zur Verfügung, die Gesamtstrecke dürften auch gut und >>gern 120 m sein. > > Auch 120m überbrückt RS232 bei 9k6 problemlos. Ohne Zusatztricks? Bliebe dann aber noch das Problem, dass ich nicht mit zwei Adern auskäme...
Ausser der korrekten Verdrahtung der RS485 Verbindung gibt es zwei Dinge zu beachten. Erstens die Stromversorgung der RS 485 Treiber. Das sollte auf PC Seite über USB wohl funktionieren. Auf der RFID-Seite ist mir das nach dem Überfliegen der Doku nicht ganz klar. Notfalls erstmal 5V an den vorgesehenen Pin legen. Zweitens muss die Datenrichtung auf beiden Seiten entsprechend umgeschaltet werden. Am RS-486 Treiber wird das über den DE-Pin erreicht. Der muss entsprechend angesteuert werden, z.B. über RTS der RS-232. Oder er wird automatisch umgeschaltet, wenn ein Zeichen gesendet wird. Auch das geht aus der Doku nicht so richtig klar hervor. Transparent Mode könnte darauf hindeuten. gk
Jens B. schrieb: > Bliebe dann aber noch das Problem, dass ich nicht mit zwei Adern > auskäme... Hm, du hast keine Masse dabei?? Also wirklich nur 2 Einzeladern? Dann wundert es mich nicht, dass es nicht funktioniert :-)
Ich vermute einen prinzipiellen Fehler. Die RS232 benötigt ein High-Ruhepotential auf der TxD/RxD-Leitung, da der Übergang auf Low das Startbit definiert. Die RS485 kennt aber kein Ruhepotential, da bei Ruhe TriState vorgeschrieben ist. Ohne besondere Maßnahmen kann also die Umsetzung RS485->RS232 dieses Startbit nicht erhalten. Ich kann auch nicht erkennen, dass deine Konverter für die andere Richtung vorgesehen sind - allerdings muss ja eine Antwort empfangen werden. Um dieses Problem auszuschließen, miss doch mal, ob das Ruhepotential auf beiden RS232 High ist. Dies war jedenfalls das Problem bei meinem Selbstbau-Konverter. Dort habe ich dieses grundsätzliche Problem mit einem unsymmetrischen Abschlusswiderstand gelöst. Mit einem Fertig-Billig-Konverter hatte ich das Problem, dass der RS485-Treiber zeitweilig keine Versorgungsspannung bekam. Die wird aus dem Negativ-Potential der freien RS232-Ports gewonnen. Der Pegelwandler war falsch beschaltet und lief deshalb manchmal nicht an. Nach entsprechender Lötarbeit lief er dann, der Konverter hatte aber weitere Probleme. Die Versorgung der Treiber würde ich auch nachmessen. Vergiss auch die Abschlusswiderstände auf beiden Enden der RS485 nicht, sie sind meistens nicht in den Konvertern eingebaut, da der Konverter ja nicht das Ende der Leitung sein muss.
gk schrieb: > Zweitens muss die Datenrichtung auf beiden > Seiten entsprechend umgeschaltet werden. Am RS-486 Treiber wird das über > den DE-Pin erreicht. Der muss entsprechend angesteuert werden, z.B. über > RTS der RS-232 Habe Deinen Beitrag erst jetzt genau gelesen. Stimmt: Bei meinem Billig-Konverter und dem Eigenbau wird jedes Zeichen einzeln übertragen und jedes Mal DE geschaltet. Die Ansteuerung über RTS geht in der Praxis nicht - ich bin jedenfalls kläglich gescheitert. Windows kann die RS232 nur asynchron ansteuern, das bedeutet, man hat keine Kontrolle, wann der String eigene gesendet ist. Entweder man schaltet seinen eigenen String ab, oder man muss ewig warten (viele ms) weil Windows keine Echtzeit kann. Das Ergebnis: ein Billig-Konverter schaltet DE synchron mit dem Signal (total krause Ansteuerung) und ein besserer braucht einen µP mit 2 UART.
Ich habe hier einen industriellen Converter, der auch die automatische Umschaltung macht. Das funktioniert tadelos. Wenn man Programme benutzen will/muss die für die RS-232 geschrieben wurden geht das auch nicht anders. Ich denke, dass im vorliegenden Fall das Senden vom PC aus funktioniert. Daher erstmal die Verbindung PC --> RFID zum Laufen bringen. Zum Beispiel per Software dauerd was senden und schauen was ankommt. Ausser dem DE-Signal muss auch das RE-Signal am RS-485 Baustein angesteuert werden. Das ist meistens mit DE direkt verbunden. Besonders hilfreich wäre natürlich ein Oszilloskop zur Fehlersuche. gk
Ich habe mal in die Bedienungsanleitung des Hexin Technology HXSP-485B gesehen. Die Kopplung zweier Module über RS485 ist vorgesehen. Vielleicht ist es ja ein ganz dummer Fehler: - Ist die Baudrate auf beiden Seiten richtig eingestellt? - Ist die Polarität der RS485 auf beiden Seiten richtig? Bei mehrfach unterbrochenem Klingeldraht ist das ja schnell passiert. Jens B. schrieb: > Als Verbindungsleitung steht mehr sowas wie ein mehrfach unterbrochener > "Klingeldraht" zur Verfügung, die Gesamtstrecke dürften auch gut und > gern 120 m sein. Habe ich da richtig gelesen? Das geht ja wohl gar nicht!! Ein twistet pair Kabel ist ja wohl ein Muss! Das steht in jeder Beschreibung über RS485. Sonst passt auch der Standard-Abschlusswiderstand nicht und 120m kannste wohl knicken. Ich habe ein billiges Cat5-Kabel genommen (Reichelt: 30m für 7€ und ein paar Patch-Verbinder für 1,95 muss man schon mal ausgeben).
Hermann schrieb: > Ich habe mal in die Bedienungsanleitung des Hexin Technology HXSP-485B > gesehen. Die Kopplung zweier Module über RS485 ist vorgesehen. > Vielleicht ist es ja ein ganz dummer Fehler: > - Ist die Baudrate auf beiden Seiten richtig eingestellt? Jawoll. In mehreren Stunden Rumprobiererei muss allein statisch gesehen schon die richtige Einstellung dabei gewesen sein :) > - Ist die Polarität der RS485 auf beiden Seiten richtig? + auf + und - auf -, nicht wahr? > Bei mehrfach > unterbrochenem Klingeldraht ist das ja schnell passiert. Der ist noch nicht im Einsatz, im Moment ist alles noch auf dem Labortisch montiert. > Habe ich da richtig gelesen? Das geht ja wohl gar nicht!! Ein twistet > pair Kabel ist ja wohl ein Muss! Sag das nicht der Installation auf RS485-Basis, die ich betreue, dort sind bei ca. 120m Gesamtbuslänge ca. 60 Meter Telefon-Erdkabel beteiligt :)
gk schrieb: > Besonders hilfreich > wäre natürlich ein Oszilloskop zur Fehlersuche. Ein Hitachi VC 6145 (100 MHz 4ch, 2K Speicher) wäre verfügbar.
Jens B. schrieb: > Als > Verbindungsleitung steht mehr sowas wie ein mehrfach unterbrochener > "Klingeldraht" zur Verfügung, die Gesamtstrecke dürften auch gut und > gern 120 m sein. Sowohl für RS232 als auch für RS485 wäre es schon gut, wenn die Leitung nicht unterbrochen ist. ;-)
Jens B. schrieb: > Ein Hitachi VC 6145 (100 MHz 4ch, 2K Speicher) wäre verfügbar. Dann kann doch jetzt die gezielte Fehlersuche los gehen. Zum Beispiel auf der PC-Seite per Software ein Zeichen wiederholt senden. Das muss dann am Anfang der Leitung zu sehen sein, wobei auf der Leitung B, das invertierte Signal der Leitung A zu sehen sein muss. Die beiden Signale können dann bis zum Empfänger verfolgt werden. Auf der RFID-Seite muss das Signal dann am PIN 3 der D-SUB-Buchse heraus kommen. Wenn das funktioniert sehen wir weiter. gk
Jens B. schrieb: >> - Ist die Polarität der RS485 auf beiden Seiten richtig? > + auf + und - auf -, nicht wahr? Wie sieht es mit Deiner Masse aus? Obwohl der RS485 Receiver im Prinzip nur die Spannungsdifferenz misst, brauchst Du trotzdem eine gemeinsame Masse, weil der Aussteuerungsbereich des Differenzverstärkers begrenzt ist. Heißt also: Wenn das Ground-Potential der beiden Seiten um mehr als sagen wir mal 7V unterschiedlich ist, funktioniert es nicht mehr. Genau wie bei CAN brauchst Du bei RS485 neben den beiden Signalleitungen für einen zuverlässigen Betrieb noch eine Masseleitung. Hast Du die? Ein unzuverlässiger Betrieb kommt ggf. ohne Masse aus - wenn die Potentialdifferenzen gering genug sind, mag das zufällig funktionieren - das ist das Gemeine daran. fchk
Frank K. schrieb: > Wie sieht es mit Deiner Masse aus Öm, hatte ich so bisher nicht, den Masseanschluss hatten wir, um zwischen GND und +9V bei dem RS232-RS485-Adapter eine Versorgungsspannung einzuspeisen.
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.