www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik max232 mit stk500 ansteuern funktioniert nicht


Autor: Markus Reichert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

folgende Schaltung funktioniert einfach nicht, und ich bin schon total
am verzweifeln:

Ich habe einen ATTiny2313 programmiert und auf einem STK500 sitzen
lassen. Über die RS232-Schnittstelle des Boards funktioniert das
Programm einwandfrei.

Jetzt soll das ganze eine externe Schaltunge werden und mein nächster
Schritt war, einen MAX232N anzusteuern: ich greife RX/TX von PD0/1 ab
und steuere damit den MAX an (PD0 => R1out, PD1 => T1in). Alles schön
laut Datenblatt: ich benutze 1uF Kondensatoren (Polung schon x-Mal
überprüft) und auch schon mit 22uF-Kondesatoren ausgetauscht.

Die Spannungsversorgung hole ich mir mit 5V vom STK500.

An V+ liegen "nur" 9V an und an V- "nur" 8,9V.

Mehr habe ich nicht gebaut, und es will einfach nicht funktionieren.
Wie gesagt, die Schaltung ist eigentlich die gleiche wie im Tutorial.

Kann mir irgendjemand einen Tip geben, woran es noch liegen könnte? Ich
habe schon das Forum durchsucht, aber nichts gefunden.

Achja: ich habe den Max auch schon ausgetauscht gegen einen anderen Max
und gegen 2 ST202CN. Ich glaube nicht, dass alle vier kaputt sind.

Wäre super, wenn jemand mir helfen könnte!!!

Danke und einen verzweifelten Gruß
Markus

Autor: Christoph Kessler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist die eingebaute Schnittstelle abgetrennt?

Autor: Christoph Kessler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab nur das STK200, und laut Schaltplan läßt sich die eingebaute
RxD-Verbindung zum AVR nicht unterbrechen, da gibts keinen Jumper

Autor: Markus Reichert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die eingebaute Schnittstelle auf dem STK?

Ja die ist abgetrennt - und zwar standardmäßg - man muss mit einem
Kabel PD0/1 mit zwei Steckverbindern auf dem Board verbinden, damit die
verbaute RS232-Schnittstelle funktioniert.

Autor: Markus Reichert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
noch eine Frage dazu:

kann ich das Kabel zu dem steuerden Gerät direkt an den MAX
anschliessen oder muss ich noch Widerstände und Kondesatoren zwischen
den Max und das Kabel einbauen?

Autor: Anton Wert (antonwert)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@markus
zu deiner Frage:
direkt - ohne alles

sonst bin ich aber ratlos - sorry...

Autor: Markus Reichert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@anton

dann habe ich es richtig gemacht - alles direkt...

Nachtrag: an TX liegen nach Multimeter-Angaben -8,4V an - ist das
richtig?

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
negative Spannungen stellen eine loghische 1 dar, positive eine 0...

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann es sein, dass es nicht am MAX232 liegt, sondern am Takt für den
Tiny2313?
Das STK500 versorgt die Target-AVRs mit einem "Baudratentakt" von
3,6864MHz. Das ist optimal für RS232. Mit welchem Takt läuft der AVR in
deiner eigenen Schaltung?

Es könnte aber auch Hardware-Ursachen haben. Ist die Stromversorgung
stabil und störungsfrei? Sind alle üblichen Abblock-Kondensatoren
(100nF Keramik) vorhanden? Diese werden oft in
Prinzip-Schaltzeichnungen nicht eingezeichnet weil sie
selbstverständlich sind und einen Übersichts-Schaltplan unübersichtlich
machen.

...

Autor: Markus Reichert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@HanneS

Der AVR läuft mit 3,6864 Mhz - die Geschwindigkeit beträgt 9600 Baud,
der AVR sendet einwandfrei: auf dem Board und in einer externen
Schaltung. Die Daten werden aber nur richtig gesendet, wenn ich die
RS232-Schnittstelle auf dem STK benutze: egal ob der AVR auf dem Board
sitzt oder in einer externen Schaltung, beides habe ich getestet.
Das einzige was an meiner Schaltung nicht funktioniert ist der MAX232N.
Und da finde ich den Fehler einfach nicht. :-(

Wo würden denn bei der Beschaltung des MAX noch 100nF-Kondensatoren
hingehören? Ich habe ihn genau wie im Datenblatt mit Kondesatoren (5x
1uF) bestückt. Ist im Prinzip genauso wie die Beschaltung im Tutorial -
welche ich auch schon getestet habe, d.h. mit 22uF bestückt - aber es
funktioniert nicht.
Kommen noch extra Kondensatoren dazu?

Autor: Anton Wert (antonwert)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Markus

also 5x 1uF reicht beim Max232
bist du dir 100%ig sicher dass auch keine Lötbrücke o.ä. vorhanden ist?

Autor: Markus Reichert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Anton

da kann ich mir 100%ig sicher sein, da ich die Schaltung auf einem
Testboard gesteckt habe... an 3 verschiedenen Stellen inzwischen. Und
ich habe natürlich darauf geachtet, dass keine Kurzschlüsse etc.
auftreten...

ich weiß absolut nicht mehr weiter... :-(

Autor: Hubert.G (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schon mal probiert ob die RS232 grundsätzlich funktioniert?
RX/TX an der SubD brücken, Über einen Widerstand 5V an Txin legen auf
Rxout messen ob sich was tut, Wenn das passt kann eingentlich nur mehr
RX/TX vertauscht sein. Wenn du den AVR aus dem STK nimmst und die
Messung am Sockel machst hast du den Weg auch gleich mitgemessen.

Hubert

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Wo würden denn bei der Beschaltung des MAX noch 100nF-Kondensatoren
> hingehören?

An die Betriebsspannung (Vcc-GND). An jeden Digitalschaltkreis gehört
ein Abblock-Kondensator von 100nF Keramik. Sieh ihn nicht als Teil der
Schaltung, sondern als Teil der Platine. Er soll den Widerstand und die
Induktivität der Leiterzüge kompensieren und die (extrem kurzen)
Stromspitzen bei jedem Umschaltvorgang im IC abfangen. Daher ist es
auch nicht möglich, die vielen kleinen Cs durch einen großen zu
ersetzen. Auch ein Elko kann diesen C nicht ersetzen, dazu ist er zu
langsam.

...

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achja, hier kamen auch schon andere Verwechselungen vor.

Beachte die "Datenflussrichtung".
RX ist Empfangen, der Ausgang des MAX232 gehört zum AVR,
TX ist Senden, der Eingang des MAX232 gehört zum AVR.

...

Autor: TravelRec. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Foto machen (oder auf´n Scanner legen), reinstellen. Schaltplan, so wie
Du´s aufgebaut hast, malen und reinstellen. Sonst raten wir hier ewig
rum!

Autor: Markus Reichert (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@all

so sieht die Schaltung aus, welche nicht funktioniert...

Autor: Hubert.G (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
TX auf 2, RX auf 3 in der SubD Buchse

Autor: Markus Reichert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, das ist ein Beschriftungsfehler. TX liegt auf 2 und RX auf 3.

Autor: Hubert.G (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schon mal durchgecheckt wie im anderen Thread beschrieben?  Mit Oszi
wärs natürlich einfacher.

Autor: Schoaschi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann es sein das du die Pins 2 und 3 verdreht hast?

schau mal hier wie die belegung hier ist:
http://home.vrweb.de/~lotharstolz/stolz.de.be/icd/...

Autor: Markus Reichert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@schoaschi

nein, die Belegung stimmt, sonst würde das ganze ja nicht mit dem STK
funktionieren. D.h. die Kabel sind in Ordnung, die Programmierung
stimmt - was nicht stimmt ist die Beschaltung des MAX232N... aber ich
finde den Fehler einfach nicht. :-(


@Huber.G

im Prinzip weiß ich ja, wo der Fehler liegt: die Daten kommen richtig
beim MAX an, werden aber falsch bzw. gar nicht weitergeleitet...


@all

auch wenn der Fehler bis jetzt noch nicht gefunden wurde: ersteinmal
danke an euch alle für die vielen Tips und Ratschläge.

Autor: Hubert.G (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schritt für Schritt jede Leitung testen und nicht sagen das muss
stimmen, es sind oft das Unwahrscheinlichste der Fehler.

Autor: Unbekannter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der "C4" ist verkehrt. Der muss mit seinem Minus-Anschluss an Masse
und nicht an +5V.

Autor: Markus Reichert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@unbekannter

C4 ist laut Datenblatt korrekt angeschlossen.


@all

danke für eure Hilfe, ich habe mir einen kompletten Satz neuer Bauteile
bestellt und hoffe, dass es dann mit denen geht.

Bis dahin danke + Gruß
Markus

Autor: Matthias Gratl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe ein ähnliches Problem wie Markus.
Habe auf meinem ATmega16 die Uart programmiert wie im Tutorial
beschrieben. Das Ganze funktioniert auf dem Stk500 einwandfrei und ich
erhalte im Hyperterminal den Text.
Wenn ich das ganze auf meine Platine transferiere, funktioniert es
nicht mehr. Der Mikrocontroller sendet zwar weiterhin, aber beim Max232
ist Endstation für das Signal. Der Max232 ist aber exakt nach Datenblatt
beschalten. Kann es sein, dass kaputte Elkos an dem ganzen Dilemma
schuld sind?

Kann mir hier irgendwer weiterhelfen?

@Markus
Hast du dein Problem gelöst?

Mit freundlichen Grüßen
Matthias Gratl

Autor: Markus Reichert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Matthias,

bei wir tatsächlich ein Elko defekt. Als ich die Schaltung komplett mit
neuen Bauteilen bestückt hatte, hat alles auf Anhieb funktioniert.

Gruß
Markus

Autor: Matthias Gratl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die rasche Antwort

Hoffe bei mir ist der Fehler der gleiche

Mfg
Matthias

Autor: Matthias Gratl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe jetzt alle Kondensatoren getauscht. Hab dann am MAX232 LOW und HIGH
angelegt und mit dem Oszi am Ausgang die richtigen Pegel gemessen.
Dann hab ich mit einem FG am Eingang einen Rechteck angelegt.
Funktioniert auch.
Dann Mikrocontroller in die Schaltung und wieder gemessen. Funktioniert
wieder.
Dann an den Pc angesteckt und dann brechen die Pegel ein. Wenn eine
Verbindung über Hyperterminal besteht nur mehr positive Pegel und wenn
keine Verbindung besteht nur mehr negative Pegel.

Woran kann das Ganze liegen? Benötige ich noch irgendwelche
Widerstände?

Weiß mir echt nimmer zu helfen!!!

MFG
Matthias

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du das falsche Kabel? (z.B. Nullmodem)

...

Autor: Matthias Gratl (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@Hannes: Habe RX und TX vertauscht, fast das selbe Ergebnis

Habe jetzt mal die Screencopys vom Oszi angehängt.

Links das Signal ohne angeschlossenes Kabel
Rechts mit angeschlossenem Kabel

Mfg Matthias

Autor: Matthias Gratl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Ganze funktioniert jetzt
Bin auf anderen PC, muss irgendwelche Probleme mit der seriellen
Schnittstelle am PC gewesen sein.

Vielen Dank für die Hilfe
Matthias

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich lese diesen Thread, weil ich mir auch auch STK500 bestellt habe und
demnächst damit beginne.
Zum Thema "Hyperterminal" und PC habe ich jedoch schon jetzt folgende
beizutragen:
"Hyperterminal" eignet sich definitiv NICHT um "einfache"
ASCII-Terminalemulation etc. zu machen. Je neuer das PC Betriebssystem
ist, umso weniger funktioniert daran ; ältere Version von Win98 gingen
evtl. noch.
Es ist wesentlich besser, das "Term95" oder "Term90" vom uralten
Norton Commander einzusetzen ; da kann man sehr viel einfacher alles
einstellen und das funktioniert.
Diese Info betrifft alle PCs die noch "richtige" serielle
Schnittstellen haben ; Erfahrungen mit USB --> RS232 Wandlern liegen
bei mir nicht vor.

Grundtest mit Terminalprogramm:
Eine 9pol. DSUB Buchse am PC aufstecken , bei der die Pins  2 + 3
verbunden sind (Lötbrücke).
Dann muß jede Tasteneingabe in Terminalprogramm als "Echo" am
Bildschirm kommen.

Als weitere Teststufe könnte man dann die Verbindung zum MAX232
herstellen und die Brückung auf der "Target" Seite des Maximbausteins
durchführen. Erst dannach diese Pins mit dem uP verbinden.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.