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
Ich hab nur das STK200, und laut Schaltplan läßt sich die eingebaute RxD-Verbindung zum AVR nicht unterbrechen, da gibts keinen Jumper
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.
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?
@markus zu deiner Frage: direkt - ohne alles sonst bin ich aber ratlos - sorry...
@anton dann habe ich es richtig gemacht - alles direkt... Nachtrag: an TX liegen nach Multimeter-Angaben -8,4V an - ist das richtig?
negative Spannungen stellen eine loghische 1 dar, positive eine 0...
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. ...
@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?
@Markus also 5x 1uF reicht beim Max232 bist du dir 100%ig sicher dass auch keine Lötbrücke o.ä. vorhanden ist?
@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... :-(
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
> 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. ...
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. ...
Foto machen (oder auf´n Scanner legen), reinstellen. Schaltplan, so wie Du´s aufgebaut hast, malen und reinstellen. Sonst raten wir hier ewig rum!
@all so sieht die Schaltung aus, welche nicht funktioniert...
Sorry, das ist ein Beschriftungsfehler. TX liegt auf 2 und RX auf 3.
Schon mal durchgecheckt wie im anderen Thread beschrieben? Mit Oszi wärs natürlich einfacher.
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/gfx/schematics.gif
@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.
Schritt für Schritt jede Leitung testen und nicht sagen das muss stimmen, es sind oft das Unwahrscheinlichste der Fehler.
Der "C4" ist verkehrt. Der muss mit seinem Minus-Anschluss an Masse und nicht an +5V.
@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
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
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
Danke für die rasche Antwort Hoffe bei mir ist der Fehler der gleiche Mfg Matthias
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
@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
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.