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
Definiere "etwas Strom". "Spannungsversorgung ist aber eigentlich stabil" klingt nicht sehr überzeugend. Ich denke ohne Schaltung können wir nur wild rumraten...
Mit deiner Beschreibung kann niemand etwas anfangen. Wenn eigentlich alles in Ordung ist, müsste doch eigentlich alles funktionieren, oder?
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
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..
Manuel wrote:
> Was kann noch der Grund für ein Reset sein?
Für sowas hat der Herr das MCU Status Register erfunden...
>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?
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;
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!
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.
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.
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.