Forum: Mikrocontroller und Digitale Elektronik Brauche Hilfe: RS232-USB Wandler


von Karl (Gast)


Lesenswert?

Hallo zusammen,

ich bin neu hier und kenn mich leider (noch) nicht wirklich mit 
MirkoControllern und Elektronik im Allgemeinen aus.. aber ich bin bereit 
zu lernen. ;)
Meine Frage hat auch nicht direkt etwas mit MikroControllern zu tun aber 
ich hoffe bei dieser netten Community wird mir trotzdem geholfen.

Eigentlich habe ich momentan nur vor einen alten Stift-Plotter (HP7475) 
an
einen Computer anzuschließen (Win7 (Mac ginge auch)).

Der Plotter hat einen 25 poligen RS232 Anschluss. Am Computer würde ich 
gerne über USB arbeiten.

Dafür habe ich folgenden IC gekauft:
http://www.conrad.de/ce/de/product/197257/USB-TO-RS232-CONVERTER-IC

Und daraus dann das hier gebastelt:
http://h-2.abload.de/img/dsc01566my1z.jpg

Den Treiber habe ich hier besorgt:
http://www.silabs.com/products/mcu/pages/usbtouartbridgevcpdrivers.aspx

Sieht ja an sich ganz nett aus, aber scheint nicht zu funktionieren.
Wenn ich den Adapter anschließe meldet der PC nur dass sich ein 
"Unbekanntes Gerät" anmelden wollte.
Was mir etwas sorge bereiter: Wenn ich den PC mit dem Adapter am 
USB-Anschluss starten will fährt er nicht einmal hoch. Habe ich da was 
falsch verlötet? Wirklich viel falsch machen kann man ja nicht, 
höchstens die falschen Pins verlötet. Aber an sich müsste das alles 
stimmen.

Ich hoffe mir kann jemand weiterhelfen!

von Frank L. (franklink)


Lesenswert?

Hallo,
ohne jetzt da weiter zu hinterfragen, es scheint, dass der Adapter zu 
viel Strom zieht, ich hab ein ähnliches Verhalten, wenn ich meine 
externe Platte nur mit einem USB-Anschluß an Stelle von 2 (Y-Adapter) 
beim booten anschließe.

Also mein Tip, prüfe mal ob Du nicht zufällig einen Kurzschluss auf den 
Leitungen hast eventl. Polarität vertauscht.

Hast Du mal die Spannungen gemessen und die Anschlüße kontrolliert?

Gruß
Frank

von Frank L. (franklink)


Lesenswert?

und wenn ich mir Dein Bild und das Anschlußschema bei Conrad ansehe, 
dann kann das nicht passen.

Gruß
Frank

von Guido C. (guidoanalog)


Lesenswert?

Hallo,

hier http://en.wikipedia.org/wiki/Universal_Serial_Bus steht:

1
Pin    Name    Cable color    Description
2
1      VBUS    Red            +5 V
3
2      D−      White          Data −
4
3      D+      Green          Data +
5
4      GND     Black          Ground

Nach dem Bild auf Seite 1 (unten) in der Anleitung müsste Data+ neben 
GND liegen. Kann es sein, dass Du D+ und D- vertauscht hast?

Mit freundlichen Grüßen
Guido

von Karl (Gast)


Lesenswert?

Oh Mann.. das kommt davon wenn man nicht in den offiziellen 
Spezifikationen nachguckt sondern nur mit google's bildersuche!
Ich hatte das Bild gefunden: 
https://research.cc.gatech.edu/humanoids/sites/edu.humanoids/files/USB-cable-wiring.png

Ich werd's mal umlöten und meld mich dann nochmal.
Vielen Dank erstmal soweit!

von Guido C. (guidoanalog)


Lesenswert?

Hallo,

naja, Wikipedia ist auch keine offizielle Spezifikation.

Etwas offizieller sind die Informationen hier:
http://www.usb.org/developers/docs/usb_20_021411.zip

Beachte Datei "usb_20.pdf" Kapitel "6.5.2 USB Connector Termination 
Data" (S. 94).

Mit freundlichen Grüßen
Guido

von bingo (Gast)


Lesenswert?

auf Deinem Photo sind D+ und D- definitiv falsch angelötet

von Peter D. (peda)


Lesenswert?


von bingo (Gast)


Lesenswert?

Das sind Teile mit Prolific-Chip. Die gehen oft, oft aber auch nicht und 
oft gehen sie auch kaputt. Nach dem 3. Defekt habe ich mir daher einen 
mit FD232RL selbst gebaut.

von Karl (Gast)


Lesenswert?

Es klappt jetzt, der Adapter wird korrekt erkannt!
Der Chip ist definitiv zu teuer (Conrad halt). Aber ich wollte unbedingt 
gleich loslegen als ich den Plotter bekommen hab und nicht erst was im 
internet bestellen.. naja, jetzt dauert's trotzdem aber wenigstens lern 
ich was dabei.

Als nächstes habe ich mir jetzt eine 25Pol -> 9Pol Verbindung gebastelt.
Sieht auch ziemlich abenteuerlich aus, aber es sollte diesmal alles 
richtig verlötet sein. Jetzt steh ich vor der Frage, wie ich den Plotter 
überhaupt anspreche..
Hab's mal mit nem Terminalprogramm versucht und direkt ein paar HPGL 
Befehle durchgejagt aber da tut sich nichts. Ist wahrscheinlich auch 
nicht der richtige Weg..
Ich habe jetzt ne Python Library gefunden, Chiplotle (chiplotle.org). 
Mal sehen ob die den Plotter erkennt.
Für weitere Hinweise wäre ich dankbar!

PS: Tolle Community. Hier wird einem echt schnell geholfen.

von Karl (Gast)


Lesenswert?

Achso, ich hab's übrigens nach dieser Anleitung gelötet:
http://www.schleppmesser.de/html/hp_7475.html

Ist die Frage ob das jetzt mit dem USB Adapter überhaupt noch korrekt 
ist.. weiß ja nicht was der Schaltkreis intern noch so macht außer den 
Pegel umwandeln.

von tt2t (Gast)


Lesenswert?

Teste erst mal, obe Deine RS232-Verbindung funktioniert. Verbinde RXD 
und TXD am Stecker, der in den Plotter kommt, miteinander und starte 
Dein Terminalprogramm. Dann müssen die Zeichen, die Du eintippst, auf 
dem Bildschirm erscheinen, ansonsten stimmt etwas mit Deinen 
Datenpfaden/Lötereien nicht.

von MagIO (Gast)


Lesenswert?

Das Teil von Conrad ist zwar ein USB 2 seriell adapter, aber nur mit 
Mikrocontroller-freundlichen Signal-Leveln.
Ich würde doch mal annehmen, dass der Plotter echte RS232-Pegel braucht. 
Mit anderen Worten:
Du brauchst noch nen MAX232 - heißt doch so, oder??

von Guido C. (guidoanalog)


Lesenswert?

Hallo,

MagIO schrieb:
> Das Teil von Conrad ist zwar ein USB 2 seriell adapter, aber nur mit
> Mikrocontroller-freundlichen Signal-Leveln.

In der Anleitung steht etwas anderes:
http://www.produktinfo.conrad.com/datenblaetter/175000-199999/197257-an-01-ml-USB_TO_RS232_CONVERTER_IC_de_en.pdf

Zitat:
Bitte beachten Sie:
- Pins 1 bis 8 führen RS232-konformen Pegel
...
- Wenn der RS232-konforme Pegel an den Pins 1 bis 8 benötigt wird, muss 
eine Verbindung zwischen Pin 14 (SUSPEND_3V) und Pin 13 (ENABLE) 
hergestellt werden"

Leider ist kein Schaltplan dabei um die Aussage zu überprüfen.

Mit freundlichen Grüßen
Guido

von MagIO (Gast)


Lesenswert?

Hmmmm ... ok ... kleines Detail, das ich wohl vergessen hab ;o) ... man 
wird halt alt.

Pegel mal gemessen?

von Karl (Gast)


Angehängte Dateien:

Lesenswert?

@MagIO
Also in den Specs steht
"Pins 1 bis 8 führen RS232-konformen Pegel"
Ist das jetzt "echtes" RS232?

@tt2t
Danke für den Tipp..
Funktioniert natürlich nicht mit meinem selbstgelöteten Kabel..
Es funktioniert aber komischerweise auch nicht, wenn ich die Pins direkt 
am IC verbinde. Ich habe mal ein Foto angehangen, wie ich es verlötet 
habe.
Pin 1 und 6 (txd und rxd) sind verbunden, sowie 12 und 13 um diese Pins 
zu aktivieren.
Ich weiß aber auch nicht genau, ob ich mit meinem Terminal-Programm
alles richtig mache. Siehe Bild 2. Kann jemand ein bestimmtes 
Terminal-Programm für Windows 7 empfehlen, oder nehmen die sich nicht 
viel?

von Karl (Gast)


Lesenswert?

hab leider nix zum messen da.. aber hab n paar leds ;)
aber wie ich die am besten verlöte und welche widerstände ich da nehmen 
sollte weiß ich nicht..

von MagIO (Gast)


Lesenswert?

Ja, wenn da steht RS232-Pegel dann sollte es eigentlich passen.

Also die Fluss-Steuerung hast Du ja in den Einstellungen der Seriellen 
Schnittstelle ausgeschaltet. Aber im Terminal Programm sind trotzdem DTR 
und RTS abgehakt. Ich würde die mal entfernen.

Wenn das nix hilft vielleicht doch erst mal mit den 5V-Ausgängen 
versuchen. Möglicherweise hast Du ja ein Problem mit der Stromversorgung 
(z.B. durch schlechtes USB-Kabel) und der Strom reicht nicht, um die 
RS232-Pegel zu erzeugen.

In der Betriebsart mit Fluss-Steurerung müsstest Du für den Test DTR und 
RTS auch noch miteinander verbinden.

Wie braucht es denn der Plotter? Hat der Fluss-Steuerung?

von RainerK (Gast)


Lesenswert?

Hallo zusammen,

RS232-konform ist ein Interface, wenn es -15V bis −3V bzw. +3V bis +15V 
sendet bzw. empfängt.
Damit dürften wohl sendemäßig (fast) alle Geräte konform sein.
Empfangsmäßig darf das mehr als bezweifelt werden.
Im Zweifelsfall ist es immer besser, mit Hilfe eines MAX232 o.Ä. auf der 
Sendeseite mindestens +/-10V anzustreben, damit auch die 
"pseudokonformen" Empfänger funktionieren.

Es grüßt RainerK

von Karl (Gast)


Lesenswert?

@RainerK:
Sendemäßig konform sollte in meinem Fall dann ja ausreichen oder?
Ich möchte ja keine Daten vom Plotter empfangen. Oder denke ich da jetzt 
zu simpel?

@MagIO:
Der Plotter benötigt Hardware Handshake als Flusssteuerung. Also DTR und 
RTS wenn ich das richtig verstehe. Momentan würd ich aber nur erstmal 
den Chip an sich zum Laufen bringen wollen.
Ich teste es mal mit den Einstellungen, die du genannt hast und 
ansonsten mit den 5Volt Ausgängen..

von Karl (Gast)


Lesenswert?

Hmm, irgendwie klappt das alles nicht.
Ich bekomme in meinem Terminal einfach nichts zurück. Hab's jetzt auch 
nochmal am Mac getestet und die 5V Pins verbunden..
Kann ich irgendwo eine LED anschließen um zu prüfen ob überhaupt 
irgendwas passiert?

von MagIO (Gast)


Lesenswert?

Hmmm ... bist Du auch sicher, dass Du den richtigen COM-Port eingestellt 
hast (im Terminal Programm). Alle USB to serial Adapter, die ich bisher 
angeschlossen habe, haben eine wesentlich höhere COM-Port-Nummer.

von Karl (Gast)


Lesenswert?

Laut Gerätemanager ist COM3 der richtige Port.

von Guido C. (guidoanalog)


Lesenswert?

Hallo Karl,

laut diesem Bild von Dir
http://www.mikrocontroller.net/attachment/103802/DSC01574.JPG
würde ich behaupten, dass Du Pin 15 mit Pin 20 verbunden. Nicht wie 
beabsichtig Pin 1 mit Pin 6. Entsprechendes gilt auch für die andere 
Verbindung. Beachte: In der Anleitung ist der Adapter in der Draufsicht 
(TOP) abgebildet.

Mit freundlichen Grüßen
Guido

von Karl (Gast)


Lesenswert?

Oh! Ich glaube die Sache mit den Pins muss ich echt noch üben.. :D
Vielen Dank für den Hinweis. Hab's direkt umgelötet und es funktioniert 
doch tatsächlich! :) Also ich bekomme jetzt zumindest das was ich über's 
Terminal sende direkt zurück.

Ich werde jetzt den Stecker nochmal überprüfen und direkt mit den Pins 
verlöten.
Denkt ihr die Pinbelegungen wie sie hier beschrieben werden machen Sinn?
http://www.schleppmesser.de/html/hp_7475.html
Das ist dann mit Hardware-Handshake nehme ich an?

von Karl (Gast)


Lesenswert?

Hm, jetzt hab ich wieder ein Problem..
Wenn ich mich für die Variante 25 Pol-> 9 Pol entscheide, soll ich RTS 
vom Plotter mit "Received Line Signal Detect" vom Adapter verbinden. Das 
habe ich aber nicht.

Wenn ich mich für 25->25 entscheide steht da Signal Ground mit Signal 
Ground verbinden. Ist das dann Ground (Pin10) auf meinem Adapter?

von Guido C. (guidoanalog)


Lesenswert?

Hallo Karl,

Du hattest hier http://h-2.abload.de/img/dsc01566my1z.jpg doch schon den 
9-poligen Stecker angelötet. Damit sollte doch klar sein wo Pin 1 ist, 
oder?

"Received Line Signal Detect" soll wohl für "DCD" (Data carrier detect) 
stehen. Bei Dir somit "XDCD". Das "X" in der Bezeichnung im Datenblatt 
soll wohl für eXternal stehen => Anschlüsse die auf die 9-polig Sub-D 
Buchse gehen.

Mit freundlichen Grüßen
Guido

von Guido C. (guidoanalog)


Lesenswert?

Hallo Karl,

Karl schrieb:
> Denkt ihr die Pinbelegungen wie sie hier beschrieben werden machen Sinn?

Bezüglich der Belegung des Kabels würde ich mich am Handbuch des Plotter 
orientieren.

Mit freundlichen Grüßen
Guido

von Karl (Gast)


Lesenswert?

Also im Handbuch steht, dass die Minimalbelegung mit 3 Verbindungen 
hergestellt werden kann. TXD, RXD und Signal Ground.
Als Signal Ground habe ich jetzt Pin 10 genommen.
Ich bekomme jetzt auch kryptische Zeichen zurück wenn ich etwas ins 
Terminal tippe. Aber so richtig scheint es noch nicht zu funktionieren.. 
Mal sehen.

von Guido C. (guidoanalog)


Lesenswert?

Hallo,

Karl schrieb:
> Also im Handbuch steht

im Handbuch zum Plotter oder zum USB-RS232 Adapter? Hier sind sicher die 
Angaben im Handbuch zum Plotter ausschlaggebend.
http://www.eserviceinfo.com/download.php?fileid=37171
Ich würde das Kabel wie in dem oberen Bild auf Seite A-6 beschrieben 
löten.

Karl schrieb:
> Ich bekomme jetzt auch kryptische Zeichen zurück wenn ich etwas ins
> Terminal tippe.

Das hört sich an, als ob die Übertragungseinstellungen von Plotter und 
PC nicht übereinstimmen.

Mit freundlichen Grüßen
Guido

von Karl (Gast)


Lesenswert?

Danke, ich löte das Kabel jetzt mal so zusammen, wie in deinem Link 
beschrieben. Ich würde aber direkt die Pins 1-8 verwenden und nicht denk 
Stecker, weil ich da ja nicht davon ausgehen kann, dass es RS232 konform 
ist, oder? Da bliebe dann immer noch die Frage, ob ich für Signal 
Ground, Pin 10 verwenden sollte.

von Guido C. (guidoanalog)


Lesenswert?

Hallo Karl,

Karl schrieb:
> Ich würde aber direkt die Pins 1-8 verwenden

Du meinst Pin 1 bis 8 des USB-RS232-Adapters? Ich denke diese Pins gehen 
auch zu der 9-poligen D-Sub-Buchse (männlich), die Du an den 
USB-RS232-Adapter anlöten kannst. Achtung: Die Nummerierung der Pins an 
dem Adapter ist nicht identisch zu der Nummerierung einer an den Adapter 
angelöteten 9-poligen D-Sub-Buchse!

Wie bereits erwähnt, wenn Du an dem USB-RS232-Adapter Pin 14 
(SUSPEND_3V) mit Pin 13 (ENABLE) verbindest solltest Du RS232 konforme 
Signale bekommen. Mach doch einmal ein Photo/Scan von der Ober- und 
Unterseite des Adapters (Bitte eins auf dem man etwas erkennen kann).

Mit freundlichen Grüßen
Guido

von Karl (Gast)


Angehängte Dateien:

Lesenswert?

Ich hoffe da erkennt man genug..

von Guido C. (guidoanalog)


Angehängte Dateien:

Lesenswert?

Hallo Karl,

Karl schrieb:
> Ich hoffe da erkennt man genug..

leider kann ich die Bezeichnung der ICs nicht lesen. Zu allem Überfluss 
wurde noch ein IC überklebt. In sofern ist er für mich nicht möglich 
eine Aussage darüber zu machen welche RS232-Pegel der Adapter liefert.

Karl schrieb:
> Da bliebe dann immer noch die Frage, ob ich für Signal
> Ground, Pin 10 verwenden sollte.

Die im Bild rot eingezeichnete Leitung ist Dein "Signal Ground". Leider 
kann ich die Leitung nur bis zur Durchkontaktierung verfolgen. 
Vermutlich geht sie jedoch bis zu Pin 10. Wenn dem so ist kannst Du Pin 
10 als Signalmasse verwenden.

Mit freundlichen Grüßen
Guido

von MarioT (Gast)


Lesenswert?

Guido C. schrieb:
> In sofern ist er für mich nicht möglich
> eine Aussage darüber zu machen welche RS232-Pegel der Adapter liefert.

???
http://www.produktinfo.conrad.com/datenblaetter/175000-199999/197257-an-01-ml-USB_TO_RS232_CONVERTER_IC_de_en.pdf

von GuidoAnalog (Gast)


Lesenswert?

Hallo,

MarioT schrieb:
> ???
> http://www.produktinfo.conrad.com/datenblaetter/17...

naja, leider steht dort nur etwas von "RS232-konforme Pegel".

RainerK schrieb:
> RS232-konform ist ein Interface, wenn es -15V bis −3V bzw. +3V bis +15V
> sendet bzw. empfängt.

wie RainerK bereits geschrieben hat können die Pegel doch in einem 
größeren Bereich liegen. Wäre schon interessant welchen Pegel der 
Adapter liefert. Ob sich der Plotter mit Pegel von +/-3 V zufrieden 
gibt?

Mit freundlichen Grüßen
Guido

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

GuidoAnalog schrieb:
> Ob sich der Plotter mit Pegel von +/-3 V zufrieden
> gibt?

Das sollte er, wenn er RS232-konform ist.

Das abgeklebte IC auf der Platine (wie Conrad auf die Idee kommen kann, 
die Platine als "Chip" zu bezeichnen, bleibt ein Rätsel) ist ganz sicher 
der RS232-Pegelwandler, vermutlich ein MAX3241 
(http://www.maxim-ic.com/datasheet/index.mvp/id/1068/t/al). Und der 
liefert einen Signalpegel von etwa +/-5V auf den RS232-Ausgängen, was 
dem Plotter genügen sollte.

von Karl (Gast)


Lesenswert?

Wow, ich glaub's nicht. Er läuft! :)
Ich habe jetzt die Schaltung so gelötet, wie in dem PDF beschrieben 
(glaube ich zumindest) und dann einfach mal durch's Terminal folgenden 
Befehl gejagt:
{IN;SP1;PU500,500;PD200,200}
Das heißt: Initialisieren, Wähle Stift 1, Stift hoch und zu Position 
500,500 fahren, Stift runter und zu Position 200,200.

Daraufhin initialisiert sich der Plotter auch brav, wählt den Stift aus 
und dann bleibt er stehen.. beziehungsweise, er fährt das Papier auch an 
die falsche Position und die Error-Anzeige blinkt.

Woran könnte das liegen? Ich habe beim Plotter, am Com-Port und im 
Terminal überall Ungerade Parität eingestellt. Was bedeutet das mit dem 
Handshake genau? Kann da was falsch eingestellt sein?

Aber auf jeden Fall schonmal toll, dass der Plotter überhaupt etwas 
macht!
Ich werde mal das Handbuch durchsuchen, ob ich da irgendwelche hinweise 
finde, die mir weiterhelfen.
Vielen Dank soweit schonmal für die tolle Hilfe!

von Karl (Gast)


Lesenswert?

Also wenn ich die Befehle nacheinander eingebe funkioniert es. Die 
Error-Anzeige leuchtet zwar weiter, aber es scheint zu gehen.
Ich vermute, dass die Daten zu schnell kommen? Also so ne Art 
Buffer-Overflow?

von Karl (Gast)


Lesenswert?

Ha, jetzt läuft er wirklich.. wie am Schnürchen! :)
Keine Ahnung warum, die Fehleranzeige blinkt auch immer noch. Aber ich 
bin mehr als zufrieden!

Vielen Dank an alle für die nette Hilfe, ohne euch hätte ich das nicht 
geschafft. Fall interesse besteht kann ich auch mal ein Video von der 
Konstruktion hochladen. ;)

von Guido C. (guidoanalog)


Lesenswert?

Hallo Karl,

herzlichen Glückwunsch!

Karl schrieb:
> Ich werde mal das Handbuch durchsuchen

Handbuch lesen ist eine gute Idee. Auf Seite 3-5 sind die Einstellungen 
der Schalter auf der Rückseite des Plotters beschrieben. Vielleicht 
kannst/musst Du dort noch ein paar Einstellungen vornehmen (vor dem 
Verstellen aktuelle Einstellung dokumentieren).

Viel Spaß beim Plotten wünscht
Guido

von Karl (Gast)


Lesenswert?

Hallo Guido,

die Einstellungen an den hinteren Schaltern sollten alle korrekt sein.
Ich habe jetzt bemerkt, dass ich anscheinend nur maximal 25 Anweisungen 
durchjagen kann.. dann streikt der Plotter. Wahrscheinlich werden die 
Befehle zu schnell übertragen.. aber das bekomme ich schon noch hin.

von bingo (Gast)


Lesenswert?

> Ich habe jetzt bemerkt, dass ich anscheinend nur maximal 25 Anweisungen
> durchjagen kann.. dann streikt der Plotter. Wahrscheinlich werden die
> Befehle zu schnell übertragen.

vielleicht solltest Du auch die Handshake-Leitungen auswerten, zuerst 
CTS http://de.wikipedia.org/wiki/RS232

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
Noch kein Account? Hier anmelden.