www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR stürzt unregelmäßig ab


Autor: Gregor B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich habe eine Schaltung aufgebaut, die läuft wochenlang bei Versorgung 
übers ISP-Kabel vom STK500 durch (I-Aufnahme unter 100mA). Sobald ich 
das Ganze aber ans externe Netzteil hänge (mit 10.000uF & 78S12 15mV 
Rauschen vorstabilisiert, auf der Platine selbst nochmal mit 7805, 
1.000uF), läuft das Programm nicht mehr durch, irgendwo zwischen gar 
nicht los und weniger als  10 Stunden. Ich habe mal das Phänomen 
beobachten können, das auf dem LCD Zeichen aufblitzen, die eigentlich 
per uart_puts() raus gehen sollten. Wenn ich das Kabel zwischen Rx, Tx, 
GND mit dem STK500 verbinde, läuft es wieder stabil.

Gibt es Besonderheiten, wenn über uart etwas ausgegeben werden soll, 
aber nix angeschlossen ist? Stichwort Bufferoverflow? Aber es 
funktioniert ja manchmal ne Weile... Benutzt P.Fleury's 
uart-Implementierung Handshaking? Ich weiß langsam nicht mehr wo ich im 
Stroh stochern soll.

Danke für eure Hilfe!
Grüße, Gregor

Autor: Volker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Benutzt du einen externen Quarz > 8MHz?
Wenn ja, CKOPT setzen.

Gruß, Volker

Autor: Gregor B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
16Mhz. Fuse hab ich soeben gesetzt. Da wäre ich wohl tatsächlich im 
Leben nicht drauf gekommen, danke! Werde das Verhalten mal bis morgen 
beobachten.

Autor: Roland Praml (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Evtl floatet auch dein Reset-Pin...

Autor: Gregor B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Reset-Pin hat nen 100k Pullup. Sollte es also nicht sein.
Bisher läuft die Schaltung seit 3 Stunden durch. Sieht also gar nicht so 
übel aus. freu

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Der Reset-Pin hat nen 100k Pullup. Sollte es also nicht sein.

NUR einen 100k Pullup? Kein Kondensator? Damit lädst du dir die 
nächstbeste kapazitive Einstreuung als Resetpuls ein.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe die Erfahrung gemacht, dass der interne Pullup meistens nicht 
ausreicht und selbst der hat 30-60kOhm laut Datenblatt.

Daher meine Empfehlung: 3,3k - 10k oder sowas sollte besser 
funktionieren.

Ich hoffe, dass ich jetzt hier nichts falsches gesagt habe ;)

Autor: Uwe ... (uwegw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wird denn wirklich ein Reset ausgelöst, oder verrent sich nur die 
Software irgendwo? In MCUSR wird gespeichert, wer den letzten Reset 
ausgelöst hat.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hänge meist 100nF zwischen Reset und GND, dann reicht auch der 
interen 100k Widerstand. Das bringt mehr als nur 10k ohne Kondensator.

Autor: HildeK (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für Reset ist eine externe RC-Beschaltung immer sinnvoll. Je nach 
'Anstiegszeit' der Versorgungsspannung können vereinfachte Varianten 
schon mal Probleme bereiten.

Autor: Gregor B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also allein durch das Setzen des Full Rail-to-Rail Modus (CKOPT-Fuse) 
läuft das Programm jetzt seit 27,5h Fehlerfrei durch. Vorher kam es zu 
abstürzen / resets und die SW begann von vorn, bzw. zu komischen Sachen 
beim Anlegen der Betriebsspannung (uart_puts(inhalte) kamen aufs LCD). 
Zumindest mein Problem scheint erfolgreich gelöst worden zu sein! Danke 
Volker! Im nächsten Design kann ich ja einen Tiefpass berücksichtigen.

Grüße, Gregor

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.