Forum: Mikrocontroller und Digitale Elektronik ATmega8 + MAX232n Problem


von Sebastian (Gast)


Lesenswert?

Hallo,

ich habe exakt die Schaltung aus dem Tutorial nachgebaut 
(http://www.mikrocontroller.net/articles/AVR-Tutorial:_UART).
Außerdem habe ich ein kleins Bsp. Programm im AVR.
Wenn ich ein Terminal am PC starte empfange ich allerdings keinerlei 
Daten,
ich habe dann einfach mal die RX/TX vom PC direkt an den AVR 
angeschlossen,
dort wird zumindest etwas übertragen (natürlich nicht lesbar wegen der 
Spannung(?), es sind nur ASCI Zeichen zu sehen).

Ich weiß grade nicht wirklich weiter, hat jemand eine Idee oder einen 
Hinweis,´was ich noch überprüfen kann?

Gruß Sebastian

von Andreas D. (rackandboneman)


Lesenswert?

"wegen der Spannung(?)"

Vor allem wegen invertiert.

Hoffen wir dass die paar mA die ein RS232-Treiber liefert den 
Schutzdioden vom AVR nicht den Rest gegeben haben...

Hast Du die generierten Spannungen am MAX232 mal nachgemessen? Einfach 
mal logisch 0/logisch 1 bzw plus und minus 12V an die Eingänge gelegt 
und gemessen was auf der anderen Seite rauskommt?

von Sebastian (Gast)


Lesenswert?

Also ich habe es am aktuellen Bsp. mal nachgemessen:

Spannung an T1IN: 3,72V
Spannung an T1OUT: -8,54V

Spannung an R1OUT: 5,05V
Spannung an R1IN: 0,00V

von Karl H. (kbuchegg)


Lesenswert?

Nimm mal den Mega aus dem Sockel und mach statt dessen eine Drahtbrücke 
rein, die den Tx Pin mit dem Rx Pin verbindet (aus dem Mega-Datenblatt 
raussuchen welche Pins im Sockel das sind).

Wenn du auf dem PC tippst, musst du alles was du tippst, auch wieder im 
Terminal sehen.
gegentest: Drahtbrücke raus - dann muss das Echo aufhören.


Wenn dem nicht so ist, dann stimmt in deiner Verkabelung was nicht. Sehr 
wahrscheinlich ist dann einfach nur das USART-Kabel nicht richtig 
gekreuzt.

Nimm die Brücke wieder aus dem Sockel.

Eine LED, die nach Masse verschaltet wird (+330 Ohm Vorwiderstand) ist 
ein ganz brauchbares Debugwerkzeug. Leg einen Stein auf die PC-Tastatur 
und dann kannst du das vom PC gesendete Signal verfolgen. Die LED zeigt 
dir das durch heftiges blinken auf einer der Leitungen. Die muss beim 
Max am Rx1IN Eingang ankommen, geht durch den Max durch zum Sockel. 
Überall da musst du die LED blinken sehen.

Wenn das so ist, dann setzt du die Brücke wieder ein und verfolgst dann 
das Signal wieder zurück zum Max, durch den Max durch und über das Kabel 
bis zum PC.

Wenn du diesen Zustand erreicht hast, dann ist zumindest das Kabel samt 
Max-Beschaltung mal durchgetestet.

Aber dieser 'Brücke in Sockel' und auf dem PC tippen muss erst mal 
einwandfrei funktionieren - damit ist die Hardware soweit getestet.

von Sebastian (Gast)


Lesenswert?

Wenn sich die Spannung an T1IN verringert, dann wird an T1OUT nicht mehr 
invertiert, das ist aber nicht normal oder?

Spannung an T1IN: 2,13V
Spannung an T1OUT: 1,24V

von Karl H. (kbuchegg)


Lesenswert?

Deine Spannungen klingen für mich allerdings eher als ob das

> ich habe exakt die Schaltung aus dem Tutorial nachgebaut

nicht der Realität entspricht. Noch mal die Schaltung prüfen!

von Arkan D. (arkandoca)


Lesenswert?

Mach mal bitte ein Foto von Deinem Aufbau (Bildformate berucksichtigen).

von Sebastian (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

also der Aufbau sieht sehr chaotisch aus :/
Habe das eben mal mit der Brücke probiert, mit Echo meinst du aber, ich 
drück auf A das A erscheint im Terminal und dann gleich noch mal oder 
meinst du ich drücke auf A und es erschein einmal?

Auf dem Bild ist von myAvr ein Testboard zu sehen, die Pins links am µC 
sind von oben nach unten TxD - RxD. Ich wusste nicht wie ich es besser 
ablichten sollte.

von Sebastian (Gast)


Lesenswert?

Hallo,

danke für die vielen Hinweise und auch den Tip mit der LED!
Ich habe jetzt den Fehler gefunden, ist mir ja echt peinlich, aber ich 
habe vergessen Pin5 vom Sub-D9 auf GND zu legen :/

von Andreas D. (rackandboneman)


Lesenswert?

Hat auch was gutes - wenn dir später jemand die differentielle 
Datenübertragung erklären muss wird er es einfacher haben :)

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.