www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATMega48 resettet sich ständig


Autor: Manuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe ein Batterielader mit einem Atmega48 realisiert. Dabei kommt 
eine PWM zum Einsatz. Nun habe ich allerdings das Problem, dass sich der 
Controller immer resettet, sobald etwas Strom fließt.
Die Spannungsversorgung ist aber eigentlich stabil, ebenso der Resetpin 
- habe ich alles mit dem Oszi überwacht.

Was kann noch der Grund für ein Reset sein?

Am Controller ist ein 4Mhz Quarz angeschlossen.

MFG

Manuel

Autor: Kai G. (runtimeterror)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Definiere "etwas Strom".
"Spannungsversorgung ist aber eigentlich stabil" klingt nicht sehr 
überzeugend.

Ich denke ohne Schaltung können wir nur wild rumraten...

Autor: Niels Hüsken (monarch35)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit deiner Beschreibung kann niemand etwas anfangen. Wenn eigentlich 
alles in Ordung ist, müsste doch eigentlich alles funktionieren, oder?

Autor: Manuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieviel Strom ist doch egal - solange die Spannung dabei nicht einbricht 
- und das tut sie definitiv nicht.
Der Controller wird per Linearwandler versorgt (aber vom gleichen 
Netzteil).

Mich interessiert nur, aus welchen Gründen ein Reset auftreten kann.
Z.B. bei instabilem Quarz etc...

Gruß

Manuel

Autor: Michael G. (linuxgeek) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schaltplan posten, dann kann evt. jemand was dazu sagen.

Autor: Niels Hüsken (monarch35)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Manuel wrote:

> Mich interessiert nur, aus welchen Gründen ein Reset auftreten kann.
> Z.B. bei instabilem Quarz etc...

Die Gründe hierfür können vielzahlig sein. Möglich wäre z.B. eine 
Einstreuung von Störungen durch Induktionen oder ein Spannungsabfall 
durch Kurzschlüsse, oder unzureichende Stromversorgung. Ein instabiles 
Quarz aber kann es nicht sein.

Wie gesagt, ohne schaltpläne oder Programmcode kann man nichts genaueres 
sagen..

Autor: Jörg B. (manos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Manuel wrote:
> Was kann noch der Grund für ein Reset sein?
Für sowas hat der Herr das MCU Status Register erfunden...

Autor: Kai G. (runtimeterror)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Für sowas hat der Herr das MCU Status Register erfunden...
... am 256. Tag schuf er das MCU Status Register...

Ich frage mich gerade, wie man einen kurzen (nichtperiodischen) 
Spannungseinbruch am Oszi feststellen kann - oder hast du ein DSO zur 
Hand?

>Was kann noch der Grund für ein Reset sein?
Programmfehler?

Autor: Herrmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich hatte ein Problem mit einen Mega8.

Alle 20minuten hängt sich das ding auf.

Fuse Brown out detection auf enable,Ruhe ist jetzt. Läuft jetzt seit 2 
tagen durch.

Wenn er resetet hatte ich mal bei einen 128iger war bei mir ein stack 
überlauf Sram voll dann reset.

Schalt mal den watchdog ab glaub mit WDTCR=x0xx;

Autor: Niels Hüsken (monarch35)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Herrmann wrote:
> Fuse Brown out detection auf enable,Ruhe ist jetzt. Läuft jetzt seit 2
> tagen durch.
[...]
> Schalt mal den watchdog ab glaub mit WDTCR=x0xx;

Also ich finde, wenn man so einen Fehler behebt, dann sollte man auch 
Systematisch vorgehen und nicht per trial and error irgendwelche Fuses 
oder sonstige Controlregister nach gut dünken schalten. Damit kommt man 
in den wenigsten Fällen weiter.

Der Watchdog ist in den meisten Controllern defaultmässig abgeschaltet. 
Es gibt keinen Grund, ihn abzuschalten, wenn man ihn nirgens 
eingeschaltet hat.

Wenn beispielsweise dieser Watchdog durch einen Speicherüberlauf oder 
sonstige Zugriffsfehler eingeschaltet worden ist, muss man den 
fehlerhaften Programmteil finden; Ihn einfach nur wieder abzuschalten, 
bringt meist, wenn überhaupt, nur äusserst kurzzeitig besserung. Mal 
ganz davon abgesehen, daß wir uns damit ganz weit weg von einer 
professionellen Programmierung bewegen.

Ohne Schaltbild oder Programmcode ist hier keine konstruktive 
Hilfestellung möglich!

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Niels Hüsken wrote:

> Der Watchdog ist in den meisten Controllern defaultmässig abgeschaltet.
> Es gibt keinen Grund, ihn abzuschalten, wenn man ihn nirgens
> eingeschaltet hat.

Wenn du die Datasheets neuerer AVRs aufmerksam liest, dann weisst du 
dass dies sehr wohl sinnvoll sein kann. Insbesondere wenn man den BOD 
nicht verwendet.

Autor: Jörg B. (manos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich würde erstmal über das Register schauen welche Einheit den 
Reset ausgelöst hat und das dann entweder über die serielle, Display 
oder blinkend anzeigen lassen. Dann hat man die Fehlermöglichkeiten 
wenigstens schon mal was eingeschränkt.

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.