Forum: Mikrocontroller und Digitale Elektronik Wie verhindern, dass µC bei zu niedriger Spannung eingeschaltet werden kann?


von Hagen (Gast)


Lesenswert?

Hallo,

habe ein Projekt mit einem Atmega168. Der Atmega steuert zwei Motoren. 
Die Schaltung hängt an einem Akku.

Auf Knopfdruck (oder wenn der µC es sagt) wird die komplette Schaltung 
über einen LOWside-MOSFET vom Akku getrennt. Umgekehrt kann die ganze 
Schaltung auf Knopfdruck wieder eingeschaltet werden.

Wenn der Akku mit der Zeit leer wird, schaltet der µC irgendwann alles 
aus.

So weit funktioniert alles.


Es gibt aber einen Knackpunkt:

Wenn die Akkuspannung so niedrig ist, dass der µC nicht mehr richtig 
anlaufen kann und man den Einschaltknopf drückt, macht die Schaltung 
Unsinn.


Frage:
Kann man beim Atmega16 intern verhindern, dass der µC bei zu niedriger 
Akkuspannung eingeschaltet werden kann?

Oder muss man dies durch eine zusätzliche Schaltungserweiterung 
hardwaremäßig verhindern?

von Falk B. (falk)


Lesenswert?

Brown Out Detektor per AVR-Fuses einschalten.

von spess53 (Gast)


Lesenswert?

Hi

>Kann man beim Atmega16 intern verhindern, dass der µC bei zu niedriger
>Akkuspannung eingeschaltet werden kann?

BOD aktivieren.

MfG Spess

von asdf (Gast)


Lesenswert?

Brownout evtl.?

von Joachim B. (jar)


Lesenswert?

asdf schrieb:
> Brownout evtl.?

steht der dann nicht in einer Dauerschleife?

µC wacht auf weil die Spannung gerade so reicht, BoD stellt mit 
aufwachendem µC und erhöhter Stromaufnahme fest zu wenig und geht wieder 
in den Reset?

von Hagen (Gast)


Lesenswert?

Danke für die schnellen Antworten!

Ich hatte es so verstanden, dass Brownout ein Reset durchführt, wenn die 
Betriebsspannung zu niedrig wird.
Also so, dass der Controller dann endlos resettet, wenn die Spannung 
niedrig bleibt!?

von asdf (Gast)


Lesenswert?

Joachim B. schrieb:
> asdf schrieb:
>> Brownout evtl.?
>
> steht der dann nicht in einer Dauerschleife?
>
> µC wacht auf weil die Spannung gerade so reicht, BoD stellt mit
> aufwachendem µC und erhöhter Stromaufnahme fest zu wenig und geht wieder
> in den Reset?

Der BOD hat eine Hysterese. Der braucht also ein Stück mehr Spannung, um 
den Reset verlassen zu können. Ansonsten hält er den µC im Reset fest.

von Felix Adam (Gast)


Lesenswert?

Nö, der hält den Controller solange im Reset fest, bis die Spannung 
wieder hoch genug ist. Meist ist die Schwelle per Fuse einstellbar.

Wichtig: alle Pins sind dann hochohmig und du musst ggfs. mit externen 
Pull-Up/Down Widerständen einen definierten Zustand herbei führen.

von Stefan K. (stefan64)


Lesenswert?

Hagen schrieb:
> Auf Knopfdruck (oder wenn der µC es sagt) wird die komplette Schaltung
> über einen LOWside-MOSFET vom Akku getrennt. Umgekehrt kann die ganze
> Schaltung auf Knopfdruck wieder eingeschaltet werden.
>
> Wenn der Akku mit der Zeit leer wird, schaltet der µC irgendwann alles
> aus.

Wie hast Du das genau realisiert?

Eine mögliche Lösung sieht so aus:

* Ein Tastendruck schaltet die VCC des uc ein.
* Während der Taster gedrückt ist, kommt der uc aus dem Reset und 
schaltet
  einen Pin als Output, der die VCC weiterhin eingeschaltet hält.
* Will der uc die Schaltung ausschalten, dann schaltet er diesen Pin 
wieder
  als Input -> die Selbsthaltung fällt ab -> VCC wird abgeschaltet.

Bei zu niedriger Spannung kommt der uc wegen Bronout-Detect erst gar 
nicht aus dem Reset oder stellt nach wenigen ms zu wenig Spannung fest 
und schaltet sofort wieder ab.

Gruß, Stefan

von Hagen (Gast)


Lesenswert?

Noch mal Danke für die schnellen Antworten!

Werde es morgen mit der BOD-Fuse ausprobieren.

Viele Grüße!

von Hagen (Gast)


Lesenswert?

PS: Danke Stefan, grade erst gelesen.

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
Noch kein Account? Hier anmelden.