Hallo, Ich habe ein kleines mikrocontroller Projekt das soweit gut funktioniert. Standardmäßig habe ich die BOD deaktiviert um Standby Strom zu sparen. Meine Frage ist nun: Was passiert wenn die Spannung einbricht, ich also den Controller von seiner Versorgung trenne? Bisher verhält er sich genau wie beim reset. Da wenn überhaupt die komplette Stromversorgung gekappt wird, also auch die der LEDs kann ja auch nichts passieren. Maximal ein winzig kleiner Moment der mich nicht stört. Nachdem die Spannung wieder anliegt fängt der Controller doch wieder neu in der mainroutine an bei der sowieso erstmal alles initialisiert wird, oder? Überall wo ich lese steht aber etwas von undefinierten Zuständen die entstehen können, wie groß ist diese Gefahr in meinem Fall?
Wolfi schrieb: > Was passiert wenn die Spannung einbricht, ich also den Controller von > seiner Versorgung trenne? > Bisher verhält er sich genau wie beim reset. Dann hast du Glück gehabt. > Nachdem die Spannung wieder anliegt fängt der Controller doch wieder neu > in der mainroutine an bei der sowieso erstmal alles initialisiert wird, > oder? Wenn du Glück hast: ja. > Überall wo ich lese steht aber etwas von undefinierten Zuständen die > entstehen können, wie groß ist diese Gefahr in meinem Fall? Das hängt im Wesentlichen von den Eigenschaften der verwendeten Stromversorgung ab. Prinzipiell ist es (wie so oft in der Elektronik) ein Kompromiß. Einerseits erhöhen Siebmaßnahmen in der Versorgung die Wahrscheinlichkeit, daß BrownOut-Effekte auftreten, andererseits verringern sie aber auch die Wahrscheinlichkeit, daß EMV-Störungen im laufenden Betrieb auftreten. Da es aber bei modernen µC möglich ist, die BrownOut-Funktionalität auch nur in den Schlafmodi abzuschalten, spricht eigentlich nichts dagegen, das einfach zu tun und so beide Vorteile zu haben, geringen Stromverbrauch im Schlafmodus und hohe Toleranz gegen Brownout-Effekte. Leider ist der Tiny13 nicht dazu fähig, das zu tun. Da hilft dann nur, einen entsprechend hohen Aufwand beim Design der Stromversorgung zu betreiben.
Ich schreiben kein EEPROM oder so. Nur einem PWM Ausgang. ADC, Taster und LEDs. Alles wird in der mainroutine initialisiert. Was mich bisschen verwundert ist das"wenn du Glück Hast ja" Wo startet der Controller nachdem die anlegen der Versorgungsspannung?
Wolfi schrieb: > Standardmäßig habe ich die BOD deaktiviert um Standby Strom zu sparen. > [...] Da wenn überhaupt die komplette Stromversorgung gekappt wird Passt das zusammen? Der Stomverbrauch von BOD ist bei Netzteilen vernachlässigbar und Batterien/Akkus können in undefinierte Zwischenbereiche laufen.
Wolfi schrieb: > Was mich bisschen verwundert ist das"wenn du Glück Hast ja" > Wo startet der Controller nachdem die anlegen der Versorgungsspannung? Immer mit dem Resetvektor. Aber selbst bei dieser einfachen Aufgabe kann er schon scheitern, wenn beim Startup entweder der Takt oder die Spannung noch nicht hinreichend stabil (und im Falle der Spannung auch hoch genug) sind. Viel schlimmer ist aber: BrownOut-Effekte können permanente Schäden am Flash-Inhalt bewirken. D.h.: es kann danach schlicht Müll im Controller stehen. Er ist also von da ab nichtmal mit einem Reset wieder zu einer sinnvollen Funktion zu bewegen. Oder noch schlimmer: nur Teile des Flash sind korrumpiert. Dann startet er zwar vielleicht noch normal, macht aber dann Mist, wenn er Funktionen anspringt, die im korrumpierten Flash-Bereich liegen.
Ich benutze momentan noch USB als Stromversorgung, allerdings ist das Gerät gedacht für den Betrieb an einem Akku. Ich habe bisher immer BOD aktiviert und nie viel Wert gelegt auf die Sleep modi. Nun bin ich aber aus gegebenem Anlass drübergestolpert. Standby Strom ist 16µA ohne BOD und 44µA mit BOD auf 1.8V gemessen mit nem billigen DMM und SSpannungsversorgung 5V vom USBASP, nachdem ich den tiny in den Power down versenkt habe... ---- Ich tue mich aber schwer damit das abzuwägen was sinnvoll ist daher die Frage nach Rat. 30µA mehr 30 24 30 * 12=259200 ->also 260mAh pro Jahr
Wolfi schrieb: > Standardmäßig habe ich die BOD deaktiviert Welcher Standard soll das sein? Und warum ist der mäßig?
Die standardfuses sind nunmal FF und 6A....und wenn man nur die lfuse ändert um alles was man benötigt zu verwenden ist hfuse immer noch FF also BOD deaktiviert....
Wolfi schrieb: > Überall wo ich lese steht aber etwas von undefinierten Zuständen die > entstehen können, wie groß ist diese Gefahr in meinem Fall? Wenn die Versorgungsspannung komplett weggenommen wird ist das noch eher unkritisch. Da macht er dann halt kurz mal irgendwas bis ihm der Saft endgültig ausgeht (kommt dann halt drauf an was man damit macht, ob man dieses kurzzeitige irgendwas akzeptieren kann). Kritischer ist es, wenn die Versorgungsspannung nicht komplett weg fällt sondern nur kurz einbricht. Dann macht er auch kurz irgendwas fängt danach aber nicht unbedingt wieder von vorne an sondern macht dann mit irgendwas weiter. Und was da bei rauskommt das weiß dann keiner mehr. Dann ist man eben bei den undefinierten Zuständen.
Danke für die Erklärung das macht Sinn. Ich bin immer noch skeptisch ob man einen Controller dauerhaft ruinieren kann wenn man ihm den Hahn abdreht...glaube ich eher nicht aber eher nicht.
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.