ATmega8 und UART / MAX zickt

OP #1108734
Hallo,

ich betreibe einen MAX202 an einem ATmega8 als serielle 
Debug-Schnittstelle, die Schaltung ist trivial, nur RxD und TxD 
verbunden. Den MAX202 nehme ich, weil alle C = 100 nF sind.

Meistens funktioniert alles, aber sporadisch empfange ich am PC keine 
Daten vom ATmega, wenn ich dann mit dem Oszi nachmesse, geht es wieder, 
auch dann noch wenn man den Tastkopf wieder wegnimmt. Und irgendwann 
geht es dann wieder nicht. Am ATmega8 hängt noch ein Display als 
Kontrolle, dem geht es die ganze Zeit prima.

Hat dazu jemand eine Idee ?

Der ATmega8 läuft mit einem 7.3428 MHz Quarz und ich nutze 9600,8,n,1 
als Kommunikationsparameter. Zwischen ATmega8 und MAX202 sind ca. 20 cm 
Leitung (Laboraufbau) das kann es doch aber nicht sein ?

matthias
Gast
> Meistens funktioniert alles, aber sporadisch empfange ich am PC keine
> Daten vom ATmega, wenn ich dann mit dem Oszi nachmesse, geht es wieder,
> auch dann noch wenn man den Tastkopf wieder wegnimmt. Und irgendwann
> geht es dann wieder nicht. Am ATmega8 hängt noch ein Display als
> Kontrolle, dem geht es die ganze Zeit prima.
>
> Hat dazu jemand eine Idee ?

Lass mich raten, du misst an einem Pin des Max oder des AVRs, richtig? 
Da würde ich auf eine kalte Lötstelle tippen. Mehr kann man ohne 
Schaltplan nicht dazu sagen.

> Der ATmega8 läuft mit einem 7.3428 MHz Quarz und ich nutze 9600,8,n,1
> als Kommunikationsparameter. Zwischen ATmega8 und MAX202 sind ca. 20 cm
> Leitung (Laboraufbau) das kann es doch aber nicht sein ?

Bei der relativ niedrigen Baudrate sind 20cm kein Problem. Zumindest 
wenn du nicht irgend eine kräftige Störquelle in der Nähe hast. 
Allerdings würde sich die Störquelle dann sicher nicht von einem 
Tastkopf beeindrucken lassen.

Ein SW-Fehler ist auch nicht auszuschließen, wenn z.B. sich nach einiger 
Zeit die SW festfrisst und du beim messen ausversehen den Reset-Pin nach 
Masse brückst.

Zeig doch mal einen Schaltplan ;)
Gast
Also, ob an AREF vom ATmega noch was ran muss, weiss ich nicht, ich 
komme aus der 8051er Ecke. Aber R1IN vom MAX202 auf GND zu legen, passt 
irgendwie nicht, weil GND in der RS232-Signalwelt nicht erlaubt ist. 
Könnts daran liegen?

Ralf
also, gnd am T1IN ist schon mal sinnlos, aber ansonsten ist der 
schaltplan in ordnug...

versuch doch einfach mal ein zeichen per dauerschleife zu senden und 
miss die pegel am ATmega8 und am max...
gleichzeitig am besten noch ein terminal prog wie zb. hterm laufen 
lassen...

vielleicht hast du einfach die signalleitungen nicht
gekreuzt (rx und tx zum pc) ?
Matthias D. wrote:
> Meistens funktioniert alles, aber sporadisch empfange ich am PC keine
> Daten vom ATmega,

Klingt nach einem Masseproblem.
Ein PC ist immer geerdet, eventuell aber schlecht (Störspannung).

Idealer Weise sollte daher Deine AVR-Schaltung erdfrei sein, z.B. 
Wandwarze mit Schutzisolation (kein Schuko).

Erdschleifen sollte man möglichst vermeiden. Deshalb sind industrielle 
Datenleitungen immer galvanisch getrennt (z.B. Ethernet: Trenntrafo, 
CAN: Optokoppler).


Peter
OP
@rick: wenn ich die Leitungen nicht richtig hätte, würde es ja gar nicht 
gehen - es geht aber nur manchmal nicht.

@peter: Danke, da hast du sicher Recht, mein Labornetzteil ist erdfrei 
und ich habe sogar schon mal meine Erdströme geprüft (ich hab eine 2mA 
Stromzange), das war alles ok. In die endgültge Schaltung werde ich 
einen MAX485 setzen, ich benötige ohnehin nur eine Datenrichtung, dass 
passt das.

Allerdings hatte ich auf dem Arbeitstisch noch eine aktive RFID-Spule 
liegen, ich vermute dass diese Schuld war.

Danke für eure Hilfe
Gast
die schaltung ist ok, die betreibe ich genau so.
Aus deinen Worten heraus würde ich sofort zwei Dinge sagen:

1. sämtliche Pins am MAX, cap's, datenleitungen vom µP, VCC und GND vom 
µP nachlöten

2. sicherstellen, daß dein GND überall in der Schaltung durchverbunden. 
Dies betrifft auch RS232 Stecker (Pin5).

gruß

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.