RS232 Verbindung klappt erst wenn PC parallel dazu dranhängt

Gast #3883517
Lesenswert?

Guten Tag,

Ich habe zwei µC-Geräte die per RS232 miteinander kommunizieren. Naja, 
also der eine sendet nur, der andere empfängt nur.
Und genau das funktioniert nicht richtig. Das Sonderbare ist dass es 
sich um einen Einzelfall handelt.
Die gleichen Module funktionieren schon mehrfach! Und, um es noch 
komplizierter zu machen: Genau dieselben Komponenten haben schon 
einwandfrei funktioniert.

Ganz verwirrt war ich als ich dann mal einen USB-RS232 Wandler 
zwischenreingehängt habe und im Terminal die gewünschten Daten 
erschienen. Noch verwirrter war ich als dann die Kommunikation zwischen 
den beiden Geräten einwandfrei klappte. Aber nur solange ich die 
Kommunikation noch am PC mitschreibe...

Ich kann mir wirklich keinen Reim darauf machen was da abgeht...

Vielleicht hat hier jemand eine Idee.

Mit bestem Gruß,
Bob
#3883527
Lesenswert?

Bob schrieb:
> Vielleicht hat hier jemand eine Idee.

Hallo!
Bei meinen zwei Geräten funktioniert es problemlos auch ohne PC.
Ich verrate Dir aber nicht welche Geräte das sind, welche Baudrate ich 
benutze, welche und wieviel Informationen ich verschicke, welches 
Protokoll ich verwende, Handshake: geheim, welche und wieviel Leitungen 
oder gar wie lang die sind.


Mußt du selbst rausfinden!!!
#3883529
Lesenswert?

Bob schrieb:
> Ich kann mir wirklich keinen Reim darauf machen was da abgeht...

Wenn Anfänger im Arduino-Forum so ein Problem schildern, dann haben sie 
bei der seriellen Kommunikation meist nur die RX/TX-Leitungen 
miteinander verbunden und "vergessen", dass beide Controller ein 
gemeinsames Bezugspotential benötigen, also auch GND mit GND zwischen 
den beiden Controllern verbunden sein muß, damit die Kommunikation 
klappt.

Bei der Kommunikation zwischen Controller-Board und PC klappt es, weil 
der USB-Seriell Wandler beim Anschließen über das USB-Kabel automatisch 
für ein gemeinsames GND Potential sorgt.
Gast #3883530
Lesenswert?

Vermutlich signalisiert der PC auf den Hanshakeleitungen (DTR, CTS) dass 
gesendet/empfangen werden kann.

Evtl. hast du ja vergessen, diese Signale zu verbinden.
Dann gibt es noch die Möglichkeit, ohne Handshake (also nur mit Tx/Rx) 
auszukommen, dafür muss man die Schnittstellenbausteine in der Regel 
entsprechend konfigurieren.
Pullups an CTS/DTR helfen auch oft.
Gast #3883531
Lesenswert?

Bob schrieb:

> Ich kann mir wirklich keinen Reim darauf machen was da abgeht...
>
> Vielleicht hat hier jemand eine Idee.

Guck Dir doch mal die Pegel an. EIA-232F braucht -5..-15 V für High und 
+5..+15 V für Low. Wenn die negative Spannung fehlt, funktioniert es 
oft, aber nicht immer.
#3883571
Lesenswert?

Hey super,

jetzt weiß ich dass es problemlos möglich ist!

... oh, ähm, nee warte mal, das wusste ich ja schon vorher!
schade, somit hat dein Beitrag wirklich Null Informationswert.

Nun gut, also ich wusste nicht dass es relevant ist da genau die 
Kombination ja schon ein paar dutzende Mal funktioniert.

Auch bei dem Testaufbau mit Problem hab ich schon Komponenten getauscht.

Empfänger ist eine selbstgestrickte Elektronik mit einem 68vz328 
Controller board. Die RS232 vom µC board wird erst mit MAX3223 auf 
TTL-Pegel gewandelt, dann per ADUM1201 isoliert und an einen HIN232CBZ 
wieder auf RS232 gewandelt.

Sender ein OEM Gerät mit AT89C51 und MAX3311

9600
8N1
kein handshake
RxD, TxD und GND, nicht länger als 20cm
Gesendet wird ASCII-Text

Grüßle,
Bob
#3883594
Lesenswert?

ich vergas: auch der Abzweig zum PC hin nur RxD, TxD und Gnd.

und es reicht das TxD vom PC hin verbunden ist, nicht einmal Masse muß 
verbunden sein und es klappt zwischen den beiden Geräten. Am PC kommt 
dann natürlich nix mehr an ;-)
WItzigerweise aber nur mit dem USB-RS232
die "echte" RS232 am PC muss komplett angeschlossen sein??!!

Und die RS232 vom Sender geht noch über 2 DG403 Umschalter.

Grüßle,
Bob
Gast #3883597
Lesenswert?

Du hast einen Digital Isolator zwischengeschaltet.
 Hast Du den schon einmal überbrückt ?

 Beim Anschluss eines RS232/USB Wandlers geht das ganze.
 Hast Du den Versuch schon mal auf der anderen Seite der Isolierstrecke
 gemacht ?

 Hast Du ein Oszi zum messen?

 Du kannst auch statisch messen,
 wenn mölich anstelle der µC, Low / High Pegel anlegen
 und signal verfolgen, das sollte auch mit Multimeter etc. gehen.

 Zum Fehlersuchen braucht man Fantasie !!!
#3886775
Lesenswert?

Guten Morgen,

hab eben mal ein Oszi drangehabt...
Das sieht ja absolut gruselig aus, kein Wunder das da nichts mehr 
ankommt!
Irgendein Gerausche zwischen 2 und 4 Volt!

Es hängt irgendwie mit den Analogschaltern DG403 zusammen, da es von 
deren Zustand abhängt?!

Ich wühl mal weiter...

Bob

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren