Probleme mit MAX232

Gast #57136
Lesenswert?
• ▲
▼
Ich hab ein Problem mit USART von Mega16. Bisher hab ich mit Classics
und Mega8 gearbeitet, da hat es prima geklappt. Jetzt will ich eine
Verbindung zum Rechner mit Mega16 schaffen, und es scheint so zu sein,
das es nicht so leicht sein wird ;) Also, mit dem Controller ist ja
alles in Ordnung. Fürs Programmieren verwende ich STK500, da bin ich
auch in der Lage die Verbindung zu testen. Da funktioniert es
einwandfrei (ich hab da ein Echo eingebaut). Aber wenn ich was mit
meiner Platine mache, dann bekomme ich ständig verschiedene Probleme
mit der Verbindung. Also, erstens: eigentlich wollte ich 115200 baud
haben, mit STK klappt es, und meine Platine meint, dass da nur 57600
baud drine sind. Die Einstellungen von dem UCSR sind eindeutig richtig!
Mit den niedrigeren Frequenzen klappt es, aber da gibt's ein weiteres
Problem - ich kriege zwar Echo, aber Bestätigungsbyte (nach jedem
Befehl) geht verloren. Mit dem STK ist es nicht so, da kriege ich diese
Bestätigung. Es wird auch nichts resetet, das habe ich festgestellt,
der nächste Befehl nach dem OUT UDR, TEMP wird ausgeführt, also es
stimmt was mit dem MAX232 nicht.
Habt ihr schon so was getroffen? Also, es funktioniert mit dem höchen
bitrate und es stimmt irgendwas mit der Übertragung nicht.
Mit freundlichen Grüßen!
Gast #57138
Lesenswert?
• ▲
▼
Ja, und es geht doch irgendwas shiff mit dem Controller, er sendet diese
Bestätigungsbytes nicht. Aber nur mit meiner Platine.
   ....
   sbi PORTD, 3
   cbi PORTD, 4
   cbi PORTD, 5
   ldi TEMP, 0b00000101
   mov portd_copy, TEMP
   rcall delaer
   ldi TEMP, error_mes
   out UDR, TEMP
   sbi PORTD, led_red
   ....
alle Befehle wurden ausgeführt (ich kriege leuchtende led), aber
error_mes kommt nicht raus. Und Echo funktioniert einwandfrei, also
vermute ich, dass Einstellungen von USART doch richtig sind.
delaer macht ja eine passende Pause...
Gast #57139
Lesenswert?
• ▲
▼
Wie sieht Deine Platine aus? Drahtverhau auf Lochraster oder nach
EMV-gesichtspunkten geroutetes Layout? 100nF Kondensatoren an GND/VCC
jedes Bausteins (Sowohl Atmel als auch Max232)? Auf dem Oszilloskop zu
sehen, ob er die Bestätigungsbytes überhaupt sendet? Schonmal versucht,
der PC-Schnittstelle einen Fehlercode zu entlocken (falls das
Bestätigungsbyte nicht richtig erkannt wird).
Gleiches Quarz auf Deiner Platine wie auf dem STK? Kondensatoren am
Quarz? Spiel evtl mal mit dem UBR rum, vielleicht ist das Quarz etwas
"verstimmt" und die Baudrate ist daneben.
Gast #57140
Lesenswert?
• ▲
▼
-hast du auf deiner Platine wirklich einen MAX232? Ich hatte von
Reichelt mal eine Stange HIN232 bekommen, angeblich kompatibel (aber
nicht bei hohen Baudraten!)
-den Wandler korrekt beschaltet? Es kursieren seit Unzeiten
Schaltungen, bei denen der Kondensator an V+ gegen Masse liegt, er
gehört aber gegen Vcc
Gast #57141
Lesenswert?
• ▲
▼
Mit den MAX232 hatte ich auch schon verschiedentlich Ärger. Oft spielt
das Layout einem einen Streich. Eigentlich half mir in diesen Fällen
immer eine Reihenschaltung aus einem 4,7nF Kondensator mit einem 100
Ohm Widerstand vom Ausgang der V24-Treiber (auf der +-12V Seite - also
zum PC hin) gegen GND. Dieses RC-Glied habe ich noch in keinem
Datenbuch für den MAX 232 gefunden, man findet es aber eigentlich immer
am Ausgang von NF-Leistungsverstärker und wie gesagt hat es mir schon
oft einen MAX 232 in Schwung gebracht. Da der Treiber des MAX232
eigentlich nichts anderes als so eine kleine Leistungsstufe ist, ist es
vielleicht nicht ganz verkehrt. Falls es funktionieren sollte, musst du
möglicherweise mit den Bauteilwerten etwas spielen, es geht vielleicht
auch schon mit einem viel kleineren Kondensator.

Viel Erfolg

Simon
Gast #57142
Lesenswert?
• ▲
▼
Das war wirklich ein HIN232, also das Problem mit den hochen Bitraten
ist gelöst. Mit der Schaltung soll auch alles stimmen, sonst hätte ich
kein Echo gekriegt oder? ;) Ich vermute nur, das es eine sehr lange
Pause gebraucht wird bis ein weiterer Byte übertragen sein kann. Aber
wieso passiert so was verstehe ich nicht.
Gast #57143
Lesenswert?
• ▲
▼
@Crazy horse: Die Geschichte mit dem Kondensator ist ne interessante
Sache. Um der ganzen Sache auf den Grund zu gehen, habe ich mal beides
ausprobiert und keinerlei Unterschied feststellen können. Jetzt würde
mich mal interessieren, warum der Kondensator an VCC ran soll, in den
Datenblättern ist es tatsächlich so drin. Da V+ und V- symmetrisch sind
(sein sollten), ist ein Anschluß an GND doch eigentlich logischer, als
den V+ an VCC. Kann mir das mal jemand erklären?
Gast #57144
Lesenswert?
• ▲
▼
@thkaiser: die Spannungen sind auch symetrisch... allerdings mit
unterschiedlicher Polarität. Die Kondensatoren werden benötigt, damit
der Max/Hin und wie auch immer 232 aus +5V die RS-232 Pegel machen kann
(+/- 12V). Im Datenblatt erkennt man auch das Ground positiver als V-
und +5V negativer als V+ ist....
Gast #57145
Lesenswert?
• ▲
▼
Sorry vergessen...
@ crazy horse: hatte bis dato mit den Hin und auch anderen Typen nie
Probleme, auch bei hohen Baudraten. Allerdings brauchen die noch wie
die alten MAX232 die 10µ Elkos, und kommen nicht mit den 100n aus....

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 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.