Forum: Mikrocontroller und Digitale Elektronik Problem mit RS232


von Pete K. (pete77)


Lesenswert?

Hallo,

ich habe einen MAX232 von TI an eine ATMega32 angeschlossen. Software 
ist die LIB von Peter Fleury, die bisher auch immer funktioniert hat.

Leider bekomme ich diesmal keine Zeichen übertragen.

Das PC-Kabel funktioniert, ein Echo mit Pin2+3 kurzgeschlossen ist ok.

Der MAX232 liefert folgende Spannungen:
1: 7
2: 9
3: 2,4
4: 4,6
5: -4,6
6: 0
7: -10,5
8: 0
9: 5
10: 3,9
11: 5
12: 5
13: 0
14: -10,6
15:0
16: 5

Das ganze in einem 5V System, es sind verbunden:
PD1(TXD) <-> T1in
PD0(RXD) <-> R1out
T1out <-> Pin3
R2in  <-> Pin2
GND   <-> Pin 5

Kondensatoren sind 1uF laut Datenblatt.

Die Pegel vom AVR scheinen auf 5V zu liegen. Es sollte eigentlich nach 
dem Uart_init etwas gesendet werden.

Getestet habe ich mit 2400 oder 38400 Baud bei 16Mhz (nicht ideal, hat 
bisher aber funktioniert).

Sehe die Spannungen so gut aus, oder ist vielleicht der MAX232 defekt ?

von Benedikt K. (benedikt)


Lesenswert?

Überprüfe mal Pin6, da sollten eigentlich etwa -8V anliegen.
Außerdem scheinst du RXD und TXD vertauscht zu haben, anderst kann ich 
mir die -10,5V an Pin 7 und 14 nicht erklären.

von Pete K. (pete77)


Lesenswert?

Die Pinbelegung TX-RX ist wie oben beschrieben und auch so 
angeschlossen.

Allerdings hatte ich auch hier mit 7,6 V etwa 1,6V zu viel auf dem Chip.

Dann muss ich ihn wohl auch austauschen, ich hatte bei den 
unterschiedlichen Spannungen gehofft, dass der Chip noch arbeitet :-)

An Pin6 liegen -10,5V an, habe ich falsch eingetragen.

von Pete K. (pete77)


Lesenswert?

Erst dachte ich noch, dass nicht der erste UART initialisiert wird, aber 
in der LIB von Peter Fleury wird scheinbar nur der erste UART 
initialisert, auch wenn die AVRs mehrere UARTS haben.

@Benedikt: Was wären vernünftige Spannungen an PIN 7 und 14 ?

von Pete K. (pete77)


Angehängte Dateien:

Lesenswert?

So, jetzt habe ich den MAX232 getauscht, aber die Spannungen und das 
Fehlerbild sind immer noch die gleichen ...

Hat noch jemand einen Tipp ?

Anbei die Schaltung. Pin 4,6,8, der SubD Buchse habe ich wieder 
aufgetrennt.

von Karl H. (kbuchegg)


Lesenswert?

Nimm mal den Mega aus seiner Fassung und verbinde in der Fassung
die Pins 9 und 10 (also Tx und Rx des Mega). Dann den Echo Test
vom PC aus wiederholen.
Dadurch hast du die komplette Kette vom PC zum Mega und zurück
getestet.

von Pete K. (pete77)


Lesenswert?

Der Mega32 ist leider im TQFP Gehäuse eingelötet...

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Dann den AVR im Reset halten, damit RXD und TXD Input/Tristate sind und 
dann diese beiden Pins verbinden.

Das Verbinden geht luxuriös mit SMD Challenger Clips oder mit 
Lötfummelei (Fädeldraht oder Einzeldraht aus einer Litze) oder - bei 
ruhiger Hand - mit aufgepressten SMD tauglichen Tastspitzen 
(Stecknadeln?).

von NochEinGast (Gast)


Lesenswert?

Hallo,

meiner Meinung nach ist C14 (Pin 2 MAX232) falsch angeschlossen, müsste 
nach +5V und nicht nach GND (und dann natürlich gedreht). Nochmal genau 
das Datenblatt vergleichen.

Gruß
Jernd

von Pete K. (pete77)


Angehängte Dateien:

Lesenswert?

Anbei das Datenblatt von TI.

Pin 2 sollte korrekt sein.

Ich habe den uC im Reset gehalten und TX/RX am Max232 verbunden.
Leider kein Echo zu sehen. Also ist es wohl der Max232, ist das 
Datenblatt falsch ?

von NochEinGast (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Pete,

echt merkwürdig, anbei das Datenblatt von MAXIM.  Seite 18. An Pin 2 ist 
ein Kondensator gegen +V geschaltet. Nur so kenn ich das auch, 
funktionierte immer ohne Problem...
Siehe auch das Pollin AVR-Board, dort ist die Beschaltung wie im 
Datenblatt von Maxim. Oder auch bei rowalt.de, das 
AVR-Experimentierboard sieht genauso aus.

Jernd

von Pete K. (pete77)


Lesenswert?

Der C14 an Pin2 sitzt jetzt gegen Vcc (inkl. "Drehen").

Leider noch keine Besserung.

von Lasse S. (cowz) Benutzerseite


Lesenswert?

Hi,

der Kondensator an Pin 2 muss gegen Vcc geschaltet sein. So sagen es 
zumindest alle Beispiele im Maxim-Datasheet.

Dein Datasheet sagt es übrigens auch: Figure 4.
edit: Doch nicht, aber Pin 2 ist auch dort mit einer positiven Spannung 
verbunden.

Gruß, CowZ

von NochEinGast (Gast)


Lesenswert?

Hallo Pete,

das einzige, was mir jetzt noch einfällt ist die Verbindung am 9pol DSUB 
Stecker: 4, 6 und 8 miteinander verbunden? Würde wenn nur 4 mit 6 und 7 
mit 8 Verbinden, falls das überhaupt notwendig ist. Also vielleicht 
erstmal komplett ohne Brücke 4-6-8 probieren, dann ggf. 4-6 oder 4-6 und 
7-8.

Die +10V und -10V (pin 2 und 6) im Datenblatt sind nur die Spannungen, 
die durch den Spannungsverdoppler intern erzeugt werden.

Wenn alles nichts hilft würde ich einen neuen MAX oder besser ST232CN 
nehmen.

Jernd

von Pete K. (pete77)


Lesenswert?

C14 geht jetzt gegen Vcc.

Es wäre nett, wenn noch einmal jemand den Schaltplan überprüfen könnte. 
Ich denke nicht, dass ich RX und TX vertauscht habe.

von NochEinGast (Gast)


Lesenswert?

Hallo Pete,

habe hier ein AVR-Experimentierbaord, welches funktioniert. Die Belegung 
der RS232 ist wie folgt:
DSUB9pol-Pin2 ---- Pin 13 MAX  ---> ok in Deiner Schaltung
DSUB9pol-Pin3 ---- Pin 14 MAX  ---> ok in Deiner Schaltung
Pin12 MAX --- PD0 Atmega8 (RxD)---> ok in Deiner Schalunng
Pin11 MAX --- PD1 Atemga8 (TxD)---> ok in Deiner Schalunng
Keine Brücken im DSUB-Stecker  ---> Schaltung prüfen
Wenn der MAX232A.. verwendet wird, dann werden nur 100nF Kondensatoren 
benötigt. Dies auch nochmal checken.

Wie siehts mit dem RS232 Kabel aus? 1-1 oder gekreuzt? Evtl. ist hier 
das Problem?
Bei einer Verbindung zum PC dürfte ein RS232-Crosskabel notwendig sein. 
Wenn dies nicht vorhanden ist, könnte man auch die pins2+3 der 
RS232-Buchse vertauschen. GND darf nicht vergessen werden.

Jernd

von Karl H. (kbuchegg)


Lesenswert?

Pete K. wrote:
> C14 geht jetzt gegen Vcc.
>
> Es wäre nett, wenn noch einmal jemand den Schaltplan überprüfen könnte.
> Ich denke nicht, dass ich RX und TX vertauscht habe.


Das hängt jetzt auch vom Kabel ab.
Am einfachsten ist es, wenn du eine Led samt Vorwiderstand als
Prüflampe nimmst, ein Ende an Masse und dann mit dem anderen
Ende mal das Signal verfolgen. Es muss bei deinem Tx Anschluss
am MAX ankommen. Wenn du am PC 300 Baud einstellst und einen
Gegenstand auf die Tastatur legst, dann sieht man die LED
deutlich aufblitzen. An irgend einem der beiden Pins, 2 oder 3,
am Kabel muss sich was rühren.
Ab da kannst du dann das Signal verfolgen.

So eine Prüfled ist hier einem Multimeter deutlich überlegen.
Zum einen kriegst du auch kurze Impulse noch mit, zum anderen
kann man die Led auch aus dem Augenwinkel heraus beobachten.

von Pete K. (pete77)


Lesenswert?

Das Kabel !!! Vielen Dank, das war's.

Ich benutze ein 1:1 Kabel und auf dem Steckbrett habe ich einen Adapter 
mit 3 langen Kabeln. Da kann man schnell man wechseln, wenn es nicht 
klappt.

Ich habe jetzt Pin2 und 3 der Sub-D Beschaltung geändert und gut is :-)

Besten Dank für die lange Ausdauer bei der Fehlersuche !

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.