Hallo zusammen. beschäftige mich schon ein paar Jahre mit ATmega Mikrocontrollern und kämpfe mit einem kuriosen Fehler. Gebe ich Spannung auf eine Platine, die einen ATmega Mikrocontroller beinhaltet, so arbeitet dieser entweder einwandfrei oder erzeugt eine unveränderliche Ausgabe an seinen Portpins. Als wäre der Reset hängen geblieben und die Hardware in einem undefiniertem Zustand. Beide Ergebnisse treten auf ein und derselben Platine scheinbar zufällig auf. Es macht keinen Unterschied, ob ich nur einen Reset auslöse oder die ganze Platine aus- und wieder einschalte. Jetzt kommt das kuriose: Schließe ich die Masse eines Oszilloskops an die Platine an (egal ob mit oder ohne Tastspitze) tritt der Fehler nicht mehr auf. Platinen, die einen externen Resetbaustein nutzen, zeigen den Fehler nicht. Brown Out Detection ist aktiviert und steht auf 4V. Es handelt sich um einen ATmega32A. 5V Betriebsspannung. Schaltungsaufbau nach den offiziellen Designconsiderations. Kennt jemand diesen Fehler? Mit Dank und Gruß Felix
Felix schrieb: > Brown Out Detection ist aktiviert und steht auf 4V. Es handelt sich um > einen ATmega32A. 5V Betriebsspannung. Aus einer USB Wandwarze? Die hat Y-Kondensatoren, die Dir den GND schön mit der Netzspannung mitwobbeln lassen. Oszi liegt fast immer niederohmig auf PE.
Felix schrieb: > Gebe ich Spannung auf eine Platine, die einen ATmega Mikrocontroller > beinhaltet, so arbeitet dieser entweder einwandfrei oder erzeugt eine > unveränderliche Ausgabe an seinen Portpins. Als wäre der Reset hängen > geblieben und die Hardware in einem undefiniertem Zustand. > > Beide Ergebnisse treten auf ein und derselben Platine scheinbar zufällig > auf. Es macht keinen Unterschied, ob ich nur einen Reset auslöse oder > die ganze Platine aus- und wieder einschalte. > > Jetzt kommt das kuriose: Schließe ich die Masse eines Oszilloskops an > die Platine an (egal ob mit oder ohne Tastspitze) tritt der Fehler nicht > mehr auf. Wo kommt der Takt des ATmega her? Quarz? Dann: möglicherweise Fehldimensionierung der Bürdekapazitäten. Gerade an der kritischen Grenze, mal schwingt der Oszillator an, mal nicht. Schon relativ kleine externe Störungen können dann deutlich die Wahrscheinlichkeit erhöhen, dass er anschwingt. Zum Test mal CKOPT programmieren. Geht's dann auch ohne Tastspitze: Bürdekapazitäten besser wählen, dann kann auch CKOPT wieder gelöscht werden.
Felix schrieb: > Schaltungsaufbau nach den offiziellen Designconsiderations. Ja, glauben wir alle :-) - analog: I do solemnly swear that I will faithfully execute the Office of President of the United States, and will to the best of my Ability, preserve, protect and defend the Constitution of the United States. So help me God.
Jim M. schrieb: > Aus einer USB Wandwarze? Die hat Y-Kondensatoren, die Dir den GND schön > mit der Netzspannung mitwobbeln lassen. Oszi liegt fast immer > niederohmig auf PE. Danke für den Tipp. Genau so eines setze ich ein. Werde mal andere Spannungsquellen probieren. c-hater schrieb: > Wo kommt der Takt des ATmega her? Quarz? Dann: möglicherweise > Fehldimensionierung der Bürdekapazitäten. Gerade an der kritischen > Grenze, mal schwingt der Oszillator an, mal nicht. Schon relativ kleine > externe Störungen können dann deutlich die Wahrscheinlichkeit erhöhen, > dass er anschwingt. > > Zum Test mal CKOPT programmieren. Geht's dann auch ohne Tastspitze: > Bürdekapazitäten besser wählen, dann kann auch CKOPT wieder gelöscht > werden. Danke soweit. Genau, ein 11.0592 MHz Quarz kommt zum Einsatz mit je 22 pF an XTAL 1/2 gegen Masse. Habe CKOPT mal aktiviert und mal deaktiviert. Der Fehler tritt unabhängig davon bei ca. 50% der Resets auf. Elektronigger schrieb: > Schaltplan und Fotos vom Aufbau bitte... Der Schaltplan ist im Anhang. Freu mich über jeden Tipp. Falls noch jemand Ideen hat, immer raus damit. Mit Dank und Gruß Felix
Felix schrieb: > Der Schaltplan ist im Anhang. Und schon habe ich Genickstarre ;-) Nächstes Mal vorher drehen bitte...
Felix schrieb: > Der Schaltplan ist im Anhang. Freu mich über jeden Tipp. Jetzt noch ein Foto vom Aufbau! Am besten du postest die .brd und .sch files dazu
Felix schrieb: > Als wäre der Reset hängen > geblieben und die Hardware in einem undefiniertem Zustand. Häufige Ursache dafür können floatende Pins sein, die das Programm auswertet. Lade mal zum Test ein einfachen Blinkprogramm, was nur nen Port toggled und nichts einliest.
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.