Forum: Mikrocontroller und Digitale Elektronik USART- Spannungen am MAX232


von werN92 (Gast)


Lesenswert?

Hallo

habe heute die untere Schaltung aufgebaut, um mich mit dem USART der 
Atmel-AVRs zu vertrauen und natürlich funktionierts nicht. AVR- 
Tutorials sind bereits durchgemacht, Fuses sind auch richtig gesetzt. 
Einzig die Spannungswerte am MAX232 und der Fakt, dass es nicht 
funktioniert, machen mich stutzig.
Verwendet hab ich einen AtMega32 mit 8MHz- Quarz.
Die Spannungen am MAX232 betragen:
Beim Senden, an T1OUT -3V. Und wenn nichts gesendet wird -7V.
Zusätzlich wird nie der TransmitComplete- Interrupt aufgerufen, obwohl 
alles aktiviert ist.
Wenn ich +5V und die TX- Leitung testweise verbinde, dann kommt am PC 
was rein.
Hier die Schaltung: 
http://www.mikrocontroller.net/articles/Datei:AVR-RS232.png
Code kann bei Bedarf hinzugefügt werden, ist aber auch aus dem USART- 
Tutorial.

Was passt da nicht?

werN92

von holger (Gast)


Lesenswert?

>Wenn ich +5V und die TX- Leitung testweise verbinde, dann kommt am PC
>was rein.

Pin 15 und 16 hast du auch am MAX angeschlossen?

von werN92 (Gast)


Lesenswert?

holger schrieb:
> Pin 15 und 16 hast du auch am MAX angeschlossen?
Ja, allerdings ohne den Kondensator. Könnte es daran liegen?

werN92

von Falk B. (falk)


Lesenswert?


von werN92 (Gast)


Lesenswert?

Wenn ich R1OUT mit T1IN verbinde, kommt am Terminal trotzdem nichts 
rein. Also liegts an der Verkabelung. Hab die Leiterbahnen aber gerade 
nochmal geprüft, da finde ich keinen Fehler.

werN92

von werN92 (Gast)


Lesenswert?

So, jetzt sind R1OUT und T1IN gebrückt und zusätzlich auch PIN 2 und 3 
der Buchse. Jetzt funktioniert der Terminal- Test. Wenn ich die Brücke 
zwischen R1OUT und T1IN löse, dann erscheinen zwar auch Zeichen im 
Terminal, aber nur Sonderzeichen. Hoffe das hilft weiter.

werN92

von werN92 (Gast)


Lesenswert?

Ein weiterer Fortschritt: Die Brücke zwischen R1OUT und T1IN gänzlich 
entfernt. Nun sende ich ein großes M per Software, das auch im Terminal 
empfangen wird, allerdings nur, wenn ich die PINs 2 und 3 der RS232- 
Buchse überbrücke. Außerdem befinden sich zwischen den Ms immer wieder 
Sonderzeichen.

Weiß irgendwer eine Lösung, wies komplett funktionieren könnte?

werN92

von TXler (Gast)


Lesenswert?

werN92 schrieb:
> Ein weiterer Fortschritt: Die Brücke zwischen R1OUT und T1IN gänzlich
> entfernt. Nun sende ich ein großes M per Software, das auch im Terminal
> empfangen wird, allerdings nur, wenn ich die PINs 2 und 3 der RS232-
> Buchse überbrücke. Außerdem befinden sich zwischen den Ms immer wieder
> Sonderzeichen.
>
> Weiß irgendwer eine Lösung, wies komplett funktionieren könnte?

TX und RX vertauscht?

von werN92 (Gast)


Lesenswert?

TXler schrieb:
> TX und RX vertauscht?
Wo vertauscht, vom µC zum MAX232 oder vom MAX232 zur Buchse oder im 
Kabel selbst?
µC zum MAX232 stimmt, auch MAX232 zur Buchse ist korrekt. Kabel ist ein 
USB/Seriell- Umsetzer, also kann es dort auch nicht vertauscht sein.

Hab die Software mal am Evaluationsboard ausprobiert, dort funktionert 
die Übertragung. Die Anschlussbelegung dieser Buchse und die meiner 
Platine verglichen und durchgemessen, es ist alles gleich, nur eben, 
dass meine Platine nicht funktioniert.

werN92

von Karl H. (kbuchegg)


Lesenswert?

werN92 schrieb:
> So, jetzt sind R1OUT und T1IN gebrückt und zusätzlich auch PIN 2 und 3
> der Buchse.

Die Verbindung 2-3 macht jedes weitere Testen sinnlos.
2 und 3 kann man brücken, wenn man kontrollieren möchte, ob es irgendwo 
einen Kabelbruch gibt.

von Karl H. (kbuchegg)


Lesenswert?

werN92 schrieb:
> TXler schrieb:
>> TX und RX vertauscht?
> Wo vertauscht, vom µC zum MAX232 oder vom MAX232 zur Buchse oder im
> Kabel selbst?

Beides ist möglich.

Schnapp dir eine LED und einen 220Ohm Widerstand und bau dir damit ein 
Testlämpchen.

Alle Brücken entfernen.

Wenn du die LED von R1IN zu GND verkabelst und auf dem PC munter vor dir 
hintippst (STein auf die Tastatur legen) dann muss die LED munter 
flackern.

Tut sie das nicht, dann hältst du die LED zur Kontrolle an T1OUT.
Wenn sie dort munter flackert, dann musst du entweder
* dein Kabel kreuzen
* oder du hast die falschen Pins von der Buchse zum MAX gezogen

such dir was aus und kreuze es mal aus. Aber an einem der beiden Pins am 
MAX muss es flackern.

von Mike R. (thesealion)


Lesenswert?

- Erst Pin 2 und Pin3 der Sub-D kurzschließen und testen, ob die 
gesendeten Zeichen wieder empfangen werden.
- Dann die Brücke entfernen, T1IN und R1OUT (11 und 12) verbinden und 
wieder testen
- wennn es funktioniert ein programm schreiben, das des Controller 
endlos das gleiche Zeichen senden läßt
- wenn auch das klapt kann man ein Programm versuchen, das das 
empfangenen Zeichen direkt wieder zurück schickt

Und dann kannst du anfangen ein eigenes Programm zu schreiben.
(Bei den ersten beiden Test den µC entfernen oder zumindestens den 
kompletten Flash löschen, damit der nicht zufällig stört)

von werN92 (Gast)


Lesenswert?

Hab jetzt endlich den Fehler gefunden. Die Leitungen waren wirklich 
vertauscht. Der Fehler hat sich schon beim Erstellen des Layouts 
eingeschlichen.
Danke nochmal.

werN92

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.