Forum: Mikrocontroller und Digitale Elektronik Stromausfall erkennen mit uC?


von Bert S. (kautschuck)


Lesenswert?

Hi,

Ich habe hier eine Platine mit einem STM32F3 drauf, welche über ein paar 
Wochen laufen muss. Eine RTC ist vorhanden um die Zeitspanne zu messen, 
aber ohne externe Batterie. Nun ist ein Watchdog programmiert, welcher 
im Notfall alle Daten, auch die der RTC, im EEPROM speichert und den uC 
zurücksetzt. Dabei wird auch ein error counter hochgezählt. Die Funktion 
des Watchdogs wurde bereits validiert. Das System ist nun für einen Test 
im Labor untergebracht worden und es kommt vor, dass die RTC plötzlich 
wieder von vorne beginnt, wobei dies nach ausführlichen Tests nur bei 
einem Stromausfall passiert. Es könnte hinkommen, dass über Nacht ein 
Hauptschalter umgelegt wird, obwohl dies nicht der Fall sein dürfte.

Ein ESP32 schreibt ja über die Serielle Schnittstelle bei einem 
Stromausfall "brown out" raus, also erkennt er ein Blackout. Kann ich 
auf einem STM32F302 auch einen Interrupt generieren bei einem 
Stromausfall? Die Frage ist dann nur, ob noch genügend Saft übrig bleibt 
für das Beschreiben des EEPROMS, da ich die Eingangsspannung nicht 
messen kann.

von Geb (Gast)


Lesenswert?

Sowas macht man mit einem Komparator, der die Zwischenkreisspannung 
überwacht. Diese sollte möglichst hoch sein. 24V wären ideal. An dieser 
einen entsprechenden Speicherelko. Wenn die Spannung z.B. unter 20V 
fällt, löst der Komparator einen Interrupt aus und du kannst noch 
schnell das EEprom beschreiben. Bis die 3,3V versorgung zusammenbricht 
dauert je nach verhältnissen und Dimensionierung gute 100ms, was reichen 
sollte.

Grüsse

von Bert S. (kautschuck)


Lesenswert?

Geb schrieb:
> Sowas macht man mit einem Komparator, der die Zwischenkreisspannung
> überwacht. Diese sollte möglichst hoch sein. 24V wären ideal. An dieser
> einen entsprechenden Speicherelko. Wenn die Spannung z.B. unter 20V
> fällt, löst der Komparator einen Interrupt aus und du kannst noch
> schnell das EEprom beschreiben. Bis die 3,3V versorgung zusammenbricht
> dauert je nach verhältnissen und Dimensionierung gute 100ms, was reichen
> sollte.

Ok, danke, ja werde das mal versuchen.

von Stefan F. (Gast)


Lesenswert?

> dass die RTC plötzlich wieder von vorne beginnt, wobei dies nach
> ausführlichen Tests nur bei einem Stromausfall passiert.

Beim Stromausfall ist das logisch. Ansonsten sollte sie sich nicht 
spontan zurücksetzen. Bei meinen Wanduhren mit STM32F103 (ebenfalls ohne 
Batterie) ist das noch nie passiert.

Dein Lösungsansatz, Stromausfälle zu erkennen scheint mir daher genau 
richtig.

von georg (Gast)


Lesenswert?

Bert S. schrieb:
> ob noch genügend Saft übrig bleibt
> für das Beschreiben des EEPROMS, da ich die Eingangsspannung nicht
> messen kann.

Du wirst aber nicht darum herum kommen, eine Spannung VOR dem Regler für 
den Controller zu messen - wenn dem Controller die Spannung fehlt, ist 
es nämlich zu spät. Ausserdem muss da die nötige Reserve sein, z.B. eine 
Versorgung mit 12 V und einem Stützkondensator. Wenn das Netz ausfällt 
und die Spannung unter 11 V sinkt, startet die Save-Funktion, der 
Controller wird dabei noch korrekt versorgt bis die überwachte Spannung 
z.B. unter 7 V sinkt, da bleibt also genug Zeit. Man muss halt den 
Kondensator entsprechend berechnen.

Georg

von stift (Gast)


Lesenswert?

georg schrieb:
> Du wirst aber nicht darum herum kommen, eine Spannung VOR dem Regler für
> den Controller zu messen - wenn dem Controller die Spannung fehlt, ist
> es nämlich zu spät.
Jo.

>Ausserdem muss da die nötige Reserve sein, z.B. eine
> Versorgung mit 12 V und einem Stützkondensator. Wenn das Netz ausfällt
> und die Spannung unter 11 V sinkt, startet die Save-Funktion, der
> Controller wird dabei noch korrekt versorgt bis die überwachte Spannung
> z.B. unter 7 V sinkt, da bleibt also genug Zeit. Man muss halt den
> Kondensator entsprechend berechnen.
Nope.
Ein dicker Elko hinter dem Regler genügt und hat ein paar Vorteile.
a) Es hängen weniger Verbraucher dran. Unbekannt ist, was am 12V-Kreis 
noch so alles nuckelt. Mindestens der Regler für seinen Eigenbedarf.
b) Das Verhältnis zwischen Ansprechen und Ausfall ist größer. Wenn der 
Stützkondensator nach dem Regler kommt und die Messung vor dem Regler 
stattfindet, dann fällt eine fehlende Spannung vor dem Regler sofort 
auf, weil sie nicht vom Kondensator gehalten wird. Der Controller kann 
derweil in aller Ruhe messen und speichern.

Ob der Regler mit Strom versorgt wird ist doch wurscht.

von Wolfgang (Gast)


Lesenswert?

stift schrieb:
> Nope.
> Ein dicker Elko hinter dem Regler genügt und hat ein paar Vorteile.

Stift, du musst noch viel lernen.

> a) Es hängen weniger Verbraucher dran. Unbekannt ist, was am 12V-Kreis
> noch so alles nuckelt. Mindestens der Regler für seinen Eigenbedarf.

Im Zweifelsfall außer dem Regler genau gar nichts. Entkopplungsdioden 
wurden schon erfunden. Und es gibt auch Regler, die nicht gerade 10mA 
Eigenbedarf haben.

> b) Das Verhältnis zwischen Ansprechen und Ausfall ist größer. Wenn der
> Stützkondensator nach dem Regler kommt und die Messung vor dem Regler
> stattfindet, dann fällt eine fehlende Spannung vor dem Regler sofort
> auf, weil sie nicht vom Kondensator gehalten wird.

Auch hier hilft einer dieser wundersamen Entkopplungsdioden. Je nach 
dem, wie die Spannungsaufbereitung aussieht, kann man sogar vor dem 
Gleichrichter messen und merkt dann nach spätestens 20ms, dass da 
irgendetwas zu Ende ist.

> Der Controller kann derweil in aller Ruhe messen und speichern.
Der Controller hat dafür viel mehr Zeit, wenn die Spannung relativ 
stärker zusammenbrechen darf, bevor es für µC und EEPROM eng wird.

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.