Forum: Mikrocontroller und Digitale Elektronik Brown-Out für Notstromversorgung nutzen?


von Mikrofun R. (mikrofun)


Angehängte Dateien:

Lesenswert?

Für eine Schaltung mit ATmega2560 würde ich gerne eine 
Notstromversorgung aus einem AA-Akku realisieren, die sich nach einem 
Einbruch der Versorgungsspannung so schnell aktiviert, dass keine 
Variableninhalte meines GCC-Programms verloren gehen.

In meinem Aufbau gibt es eine externe Versorgungsspannung von ca. 2.5 V, 
die über einen Step-Up-Wandler auf 5 V angehoben wird und den µC und 
weiteres versorgt (Stromverbauch von 50 mA auf der 5 V Leitung).

Der µC nutzt ständig einige ADC-Kanäle und 9 PWM-Kanäle. Die 
Spannungsreferenz ist VCC. Durch Messung einer externen 
Spannungsreferenz von 2.56 V wird in gewissen Abständen VCC ermittelt.

Ursprünglich wollte ich VCC mit einem Gold-Cap puffern, sodass der µC 
vielleicht 1 bis 2 Sekunden Zeit hat, den Ausfall der 
Versorgungsspannung zu bemerken und per MOSFET den AA-Akku an den 
Eingang des Step-Up-Wandlers zu schalten. Der Gold-Cap (0.1 F, 5.5 V) 
hat aber eine untaugliche Entladekurve (siehe Bild), die sich auch nach 
1 Stunde Aufladen nicht wesentlich ändert. Im Grunde sollte die 
Notstromversorgung auch sofort funktionieren. Alternativ könnte ich 
einen kleinen Kondensator (z. B. 220 µF) nehmen, wenn der µC innerhalb 
von ca. 1-2 Millisekunden reagieren kann. Im Programm kann ich aber 
nicht ganz sicherstellen, dass die VCC-Messung 1000 Mal pro Sekunde 
erfolgt.

Mit dem kleinen Kondensator könnte es funktionieren, wenn der µC per 
Interrupt oder ähnlich sofort in die Prozedur zum Aktivieren des 
Notstroms springt. Eine Variante wäre der "Analog Comparator", 
allerdings ist bei mir Port E3 schon mit PWM belegt und nicht ohne 
weiteres frei zu machen.

Wäre es möglich, das Problem mit dem Brown-Out-Dektektor zu lösen? D. h. 
bei Programmstart würde immer erst mal die Notstromversorgung 
eingeschaltet und danach festgestellt, ob ein Brown-Out vorlag. Falls 
ja, würden die Variablen nicht neu initialisiert. Wenn die externe 
Spannung ausreicht, wird dann die Notstromversorgung wieder 
abgeschaltet.

von Fabian (Gast)


Lesenswert?

Unfug mit dem Brown-Out, weil Du nach einem solchen nicht mehr unbedingt 
den Inhalt in deinen Speicherzellen hast, den Du mal hattest, da sich 
diese durch die Unterspannung teilweise oder sogar ganz löschen könnten.

Kannst Du nicht mehrere AA-Akkus nehmen und diese per Diode "dauerhaft" 
anschließen?

von Norbert S. (norberts)


Lesenswert?

Hi,

bau doch einen Analogkomparator primitiv mit einem Transistor.
Also 220µF für den Controller und dann nochmal nach 100k 10µ oder so für 
den Transitor. Der 10µ soll die 5V länger halten als der 220µF.
PNP, Basis per 10k an die Betriebsspannung, E an die 10µF.
C kommt an einen externen INT auf steigende Flanke mit Pulldown.
Sinkt nun die Betriebsspannung, geht die Basis mit der Betriebsspannung 
unter die Spannung des 10µF und der Transistor löst den Int aus.

Gruß,
Norbert

von Purzel H. (hacky)


Lesenswert?

Brownout ...- Das ist dummes Zeug. Ich wuerd einen AVR verwenden, der 
die Daten auch mit 1.8V noch haelt und gut ist. Das waere dann von der 
Picopower serie, ueblicherweise mit einem -P benannt. Also von den 2.5V 
per Schoggi diode einspeisen und gut ist. Sicher keine Software Zyklen 
drauf verballern.

von Tom (Gast)


Lesenswert?

Je nach Dauer der zu überbrückenden Stromausfälle könnte es sinnvoll 
sein, die Versorgung von µC und Peripherie zu trennen, so dass die 
Notstromversorgung nur für Datenerhalt sorgen muß.

von Timm T. (Gast)


Lesenswert?

Welchen Uin-Bereich hat der Step-Up?

Wenn der weit genug runter kann, kannst Du:

- den AA-Akku parallel zur externen Spannung, jeweils über eine 
Schottky-Diode entkoppelt, zur Pufferung anschließen, Nachteil 
Spannungsabfall über die Dioden, Vorteil beliebig lange Pufferung, ob 
der Akku oder die externe Spannung zur Versorgung dienen, bekommst Du 
über einen (externen) Komperator heraus

- den Goldcap über einen Widerstand aus den 5V laden, über einen aktiven 
Schalter (Mosfet) bei Wegfall der externen Spannung an den Eingang des 
Step-Up legen, Vorteil keine Probleme mit Memory-Effekt, Nachteil 
höherer Aufwand für die Umschaltung

- einen C über eine Ladungspumpe auf höhere Spannung laden und als 
Reserve nutzen, Nachteil sind mehrere Spannungswandler und hoher 
Schaltungsaufwand für die Umschaltung

von Norbert S. (norberts)


Lesenswert?

Nachtrag:

Du brauchst noch nicht mal nen Int sondern kannst den Fet direkt 
schalten und dann in Ruhe gelegentlich mal nachsehen, ob die Transe die 
Notstromversorgung angeknipst hat bevor fie 10µ alle sind.
Dafür müsstest Du aber die 2,5V überwachen, sonst wird das ein astabiler 
Multivibrator. Die 5V sind ja gleich wieder da wenn sie weg sind ;-)
Das müsste ähnlich gehen wie oben geschrieben nur mit der Referenz und 
vielleicht noch einem NPN, Int/Signal dann fallend.

von Mikrofun R. (mikrofun)


Lesenswert?

@ Fabian:
Laut Datenblatt läuft der µC noch sicher bis hinunter auf 1.8 V. Die 
Brown-Out-Schwelle könnte 2.7 V oder 4.3 V sein. Da bleiben schon einige 
Millisekunden nach dem Brown-Out-Reset, bis die Daten verloren gehen. 
Für mehrere Akkus ist in dem Gehäuse übrigens kein Platz.

@ Norbert: Gute Idee!
Der Grundgedanke ist mir, glaube ich, klar. Ich bin mir nur noch nicht 
ganz sicher, ob ich die Schaltung komplett richtig verstanden habe (den 
Emitter über 100k an Vcc und über 10 µF an Masse?). Das mit dem ext. Int 
wäre eventuell von Vorteil, wenn ich dem µC noch die Möglichkeit geben 
will, sich ggf. selbst abzuschalten.

@Tom:
Die Daten liegen im RAM des ATmega2560, der ca. 90 % des gesamten 
Stromes braucht.

@Tim Thaler:
Der Uin Bereich ist schon etwas kritisch. Kann sein, dass unter 1.1 V 
abgeschaltet wird. Ich habe die Messwerte nicht mehr genau im Kopf. Eine 
Schottky-Diode vor den Step-Up zu schalten würde bedeuten, den AA-Akku 
sehr viel schlechter zu nutzen. Selbst wenn nur 350 mV Spannung abfällt, 
steigt der Strom am Step-Up-Eingang noch mal entsprechend an, sodass 
viel Leistung verloren geht. Warum der Gold-Cap sich so seltsam benimmt, 
ist mir leider nicht klar.

--------------

Gerne würde ich trotzdem gerne verstehen, was für oder gegen Brown-Out 
spricht.

von Norbert S. (norberts)


Angehängte Dateien:

Lesenswert?

ein Bild sagt mehr als 1k Worte...

von Mikrofun R. (mikrofun)


Lesenswert?

> ein Bild sagt mehr als 1k Worte...

Wow! Das hatte ich mir gewünscht. Danke!

Noch eine Frage: Wofür ist der 100k Widerstand vor "Int"?

von Norbert S. (norberts)


Lesenswert?

Hi,

weil der T 5V (also von den 10µ, jedenfalls mer als Ub) durchschaltet 
und der µC schon deutlich drunter ist. Das ist also über der 
Betriebsspannung des µC und wenn man den Strom begrenzt ist das kein 
Problem (Diode zu Ub im µC).
10k würden da wohl auch gehen.

Gruß,
Norbert

von Mikrofun R. (mikrofun)


Lesenswert?

Im avrfreaks Forum schrieb jemand "BOD keeps the AVR in reset when 
supply voltage goes low enough." Heißt das, dass nach einem Brown-Out 
Reset der Prozessor erst wieder weiterläuft, wenn die Betriebsspannung 
über der Brown-Out-Schwelle liegt?

Wenn das stimmt, könnte man in der Tat nicht einen Befehl (zum 
Aktivieren des Notstroms) mehr ausführen, obwohl der µC mit der 
aktuellen Spannung noch sicher laufen würde.

von Norbert S. (norberts)


Lesenswert?

Hi,

ich glaube Du hast es erfasst, genau so funktioniert Brounout.
Es soll verhindert werden, daß Speicherzellen mit Müll beschrieben 
werden weil der Kern mit einer grenzwertigen Spannung noch so gerade 
läuft.

Gruß,
Norbert

von Mikrofun R. (mikrofun)


Lesenswert?

So, endlich fand ich die Zeit, diese Schaltung real zu testen. Sie 
funktioniert ganz wie sie soll. Ich habe ihr noch einen 100 kOhm 
Widerstand von der Basis des Transistors nach Masse spendiert, um die 
Empfindlichkeit (z. B. bei langsamer abfallender Spannung) zu erhöhen.

Ein Abfall der Versorgungsspannung um wenige 100 mV innerhalb kurzer 
Zeit löst nun einen externen Interrupt aus, dessen Unterroutine 
allerdings noch nicht geschrieben ist (derzeit gibt es nur einen 
Piezzo-Piepton).

Jetzt hoffe ich nur, dass die wenigen Millisekunden reichen, um die 
Notstromversorgung stabil einzuschalten.

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.