Wie verhindern, dass µC bei zu niedriger Spannung eingeschaltet werden kann?

Gast #4451543
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?
Gast
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!?
Gast
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.
Gast
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.
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.