ich habe ein selbst gebautes board mit ATMEGA8L-8AU und dieses hängt manchmal (??) nachdem das programm übertragen oder eingeschaltet wurde. Sporadisch ohne nachvollziehbaren grund. Strom ausgesteckt und ein wenig gewartet und dann geht es wieder. Es läuft mit externen 8MHz und der µC ist per Programierschnittstelle im fehlerfall ganz normal erreichbar. Als wenn nix wäre. Das board ist jetzt nr3 und vorher hat dieser fehler nicht existiert. Die Lötungen für den µC habe ich grad nachgelötet und sonst sieht alles wie immer aus. (Ext Clock 6CK + 64 ms) Warum nur?
Setz mal die BOD-Einstellungen etwas schärfer, guck dir den Abblockkondensator an bzw. Verpass ihm direkt an den Eingängen einen 100nF-Kerko (ggf SMD-Kerko direkt an die Beinchen löten) und wenn du am Reset nur den internen PullUp verwendest, häng noch einen externen 10k-R gegen VCC dran.
>was für Caps sind am Quarz?
Ja genau, wenn du mit externem Quarzoszillator läufst, solltest du 22pF
bis 47pF von jedem Quarzbein gegen Masse haben. Und dieses Konstrukt
sollte möglichst dich an den Atmega-XTAL1/2 sitzen..
hier der schaltplan und das board. ich nutze keinen quarz sondern einen quarzoszillator (reichelt XO32 8,000000) der 10K am reset zu VCC ist auch vorhanden, kleinere BOD einstellungen bringen auch nix...
Auf dem geposteten Layout ( http://www.mikrocontroller.net/attachment/162382/board.png ) fehlen ganze Leiterbahnzüge. Gibt es da ein GND-Polygon, welches du nicht freigerechnet hast?
Habe das Layout mal kurz überflogen. Die gelb markierten Stellen sind Leiterbahnen, welche im Nirvana enden, bzw nicht verbundene Pins. Pin 3, 5 und 21 haben keine Verbindung zu GND... hellblau markiert sind sportlich knappe Abstände. Bist du dir sicher, dass du da keine Kurzschlüsse hast?
Kerko direkt am Quarzoszillator und Länge der Leiterbahn zum XTAL1-Pin prüfen.
also mit internem oszillator ist der gleiche effekt. manuellen reset unter spannung, also reset pin nach masse bringt auch keinen erfolg.
Ich tippe allmählich auf einen Softwarefehler. Hast du für die Eingänge (Taster) die PullUps aktiviert? Zeig mal den Code.
>also mit internem oszillator ist der gleiche effekt. manuellen reset >unter spannung, also reset pin nach masse bringt auch keinen erfolg. Oha, das klingt Übel. Mir fällt da nur ein SW-Problem, Ärger mit der Spannungsversorgung oder ein echter HW-Bug am AVR ein. Kannst du deinem Programm beim Anlauf eine kurze Schleife (die nicht wegoptimiert wird) gönnen und natürlich nach irgendwelchen ISR-Bugs schauen und die Spannungsversorgung kannst du dir ja mal am Oszi anschauen, ob da fiese Ripple oder sonstige Phänomene auftauchen. Taucht das Problem auch auf, wenn du alle Compileroptimierungen abschaltest?
Magnus M. schrieb: > Ich tippe allmählich auf einen Softwarefehler. Hast du für die Eingänge > (Taster) die PullUps aktiviert? > > Zeig mal den Code. Ja, Plan und Layout springt mir auch nix gravierendes ins Auge, die Abstände sind teilweise etwas knapp, aber daran kanns ansich nicht liegen. Also beim Layouten geh ich hin und route immer auch GND mit, auch wenns dann in der Fläche verschwinden soll, so kann man vermeiden, dass irgendwo ne nicht angebundene Insel entsteht und der dazugehörige GND dann floatet. Ja, das macht mehr Arbeit, zahlt sich unterm Strich durch weniger Ausschuss aber aus.
soso, ich habe den µC getauscht und das Teil startet jetzt wie es sein soll. danke für alle hilfestellungen. Eine frage habe ich noch. angehängtes bild zeigt direkt am ausgang des quarzoszillator gemessenes signal. soll das so?
Wenn ich nicht wüsste, dass es ein Quarzoszilator ist, hätte ich gesagt dass die Leitung zu lang ist und die Kondensatoren fehlen... Ist dein Tastkopf auch abgeglichen und auf 10:1 eingestellt? Schreib mal bitte V/Div und us/DIV dazu.
Hier mal Bilder, wenn ein Quarz direkt am AVR angeschlossen ist. Einmal direkt angelötetes 7,37M-Quarz ohne Kondensatoren (jaja.. war ein quick'n'dirty, aber läuft auf Batterie und macht keine Zicken). Das andere Bild von einem 12MHz-Quarz mit 2x22pF am AVR (USBasp). XTAL-Pin des AVR, Tastkopf auf 10:1, abgeglichen und das Oszi macht 1GS. Wenigstens so ähnlich sollte das bei dir auch aussehen, hab leider keinen Quarzoszillator da, der sich um die 8MHz bewegt, daher mal der 50MHz Oszillator. Die sehen halt alle nicht so aus, wie das was du auf deinem Oszi siehst. Entweder stimmt was an deinem Messaufbau nicht, Oszi/Kabel/Tastkopf machen Ärger oder dein Quarzoszillator ist komisch.
Tino Kühn schrieb: > Eine frage habe ich noch. angehängtes bild zeigt direkt am ausgang des > quarzoszillator gemessenes signal. soll das so? bestimmt nicht, lüpf mal das Beinchen vom ATMega und miss nochmal, da sollte denk ich in etwa was rechteckiges kommen ... könnte aber auch am GND-Bezug liegen ist Deine Schaltung potentialfrei?
So, jetzt habe ich mal selber 3 Quarzoszillatoren am DSO gehabt. Bei 25MHz sieht man auch die wilden Überschwinger, welche mit zunehmender Frequenz immer "runder" werden, da schlägt dann wohl die Bandbreite des DSO zu. Einen langsameren Oszillator habe ich nicht. mfg
Leute Leute. Billigstscope (Rigol DS1052E) ordentlich gemessen. Kurze Masse und ordentlicher TT. Die selben XOs wie bei meinem Vorredner. Sieht doch ganz anders aus, oder ? Die 80MHz verzeihe ich dem Scope mal.
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.