Forum: Analoge Elektronik und Schaltungstechnik Kurze Spannungsunterbrechung erkennen


von Dirk S. (disc)


Lesenswert?

Hallo Leute,
ich hätte da mal eine Frage und Bitte um Tipps zu folgendem Problem.

Ich habe eine Schaltung mit einem AVR 644, an der verschiedene Sensoren 
angeschlossen sind. Bei einem normalen Start werden diese zunächst 
genauer kalibriert und getestet, alles mit ein wenig Zeitaufwand 
verbunden.

Ich möchte nun kurze Spannungsunterbrechungen im Sekundenbereich (bis 
ca. 2-3 Sekunden) erkennen, um dann quasi einen Warmstart ohne 
Kalibrierungen durchführen zu können. Ausserdem sollen diese 
Unterbrechungen zur Information und Fehlerdiagnose angezeigt werden.

Die Brown-Out-Detection kann ja nun nicht unterscheiden, wie lang die 
Unterbrechung war (AVR nur normal ausgeschaltet oder kurz Spannung 
weg)?!

Ich hab mit daher die folgende einfache Schaltung überlegt:

    VCC
     |
     |
     -
    | |
    | |  R
    | |
     -
     |
     |----- AVR-Port
     |
   -----
   ----- C
     |
     |
    GND

Bei längeren Spannungsunterbrechungen wird der Kondensator über den 
Widerstand und die angeschlossenen Verbraucher entladen. Beim Starten 
des AVR (die Port-Pins sollten nach einem Reset auf Input, PullUp 
disabled stehen !?) wird zunächst der Pegel des (digitalen) Ports 
abgefragt. Wenn dieser noch einen High-Pegel hat, kann von einer kurzen 
Unterbrechung ausgegangen werden und ein Warmstart durchgeführt werden.
Als Werte für R und C hatte ich so an 4,7M und 1µF gedacht. Ich hoffe, 
dass C nicht zu klein ist ?!?

Kann das so funktionieren oder gibt es da evtl. eine andere Möglichkeit, 
die kurze Spannungsunterbrechung zu erkennen.

Gruß und vielen Dank!

Dirk

von Johannes M. (johnny-m)


Lesenswert?

Das wird so vermutlich nicht funktionieren, da nicht man i.d.R. nicht 
sagen kann, was der Port vom AVR macht, wenn der µC keinen Saft hat. Es 
ist durchaus möglich, dass der Kondensator beim Ausfall der 
Spannungsversorgung ruckzuck entladen wird. Wenn man zwischen den 
Portpin und den Kondensator noch einen ausreichend hochohmigen 
Widerstand einbaut, könnte es aber klappen.

von Michael Wilhelm (Gast)


Lesenswert?

Wenn deine Stromversorgung aus einem Trafo mit Brückengleichrichter 
kommt, kannst du in Reihe eine Diode zum Siebelko schalten. An der 
Kathode der Diode hast du dann die gleichgerichtete, aber ungesiebte 
Spannung. Da kannst du über einen Widerstand an den Interruteingang des 
Controllers gehen.

MW

von Falk B. (falk)


Lesenswert?

@ Dirk Schmidt (disc)

>Die Brown-Out-Detection kann ja nun nicht unterscheiden, wie lang die
>Unterbrechung war (AVR nur normal ausgeschaltet oder kurz Spannung
>weg)?!

Doch. Im MCSR stehen verschiede Bits, die sagen, ob der Reset durch 
Broun-out oder Power On Reset ausgelöst wurde.

MfG
Falk

von Schlumpf (Gast)


Lesenswert?

ggf die Leitung zum AVR Port zusätzlich zu Johannes´s Widerstand noch 
über einen Schmitt-Trigger führen, dass du am AVR Port entweder High 
oder Low hast und nicht irgendeinen undefinierten Pegel.

Du könntest auch die Leitung zum AVR mittels eines FETs unterbrechen, 
wenn keine Versorgungssapnnung da ist (über Gate wird das Fehlen der 
Spannung erkannt und der FET schaltet hochohmig)

von Falk B. (falk)


Lesenswert?

@ Schlumpf (Gast)

>ggf die Leitung zum AVR Port zusätzlich zu Johannes´s Widerstand noch
>über einen Schmitt-Trigger führen, dass du am AVR Port entweder High

Der AVR hat schon Schmitt-Trigger Eingänge.

MFG
Falk

von Schlumpf (Gast)


Lesenswert?

okay, das wusste ich nicht, da ich mit dem AVR selber noch nix gemacht 
hab.

von Dirk S. (disc)


Lesenswert?

Hallo Leute,
das ging ja fix mit den Antworten.

@Johannes
Im Datenblatt des AVR steht, dass die Port-Pins hochohmig sind, bei 
einer "Reset-Condition". Da würde ich den stromlosen Zustand eigentlich 
dazuzählen.
Zitat: "The port pins are tri-stated when reset condition becomes 
active,
even if no clocks are running."
Aber die Idee mit dem zusätzlichen Widerstand ist nicht schlecht.

@Michael
Einen Trafo mit Brückengleichrichter hab ich nicht. Die letzte Stufe der 
Spannungsversorgung wird mit einem Linearregler durchgeführt. Ich hab 
auch schon überlegt, an den da vorhandenen Siebelko zu gehen. Aber ich 
denke, der ist ja recht schnell vom Regler wieder aufgeladen, bevor der 
ARV überhaupt richtig in die Gänge kommt und ich da was messen kann.

@Falk
Das Brown Out Flag im MCSR sagt aber leider nicht aus, wie lang die 
Stromunterbrechung war, die zum Brown Out geführt hat. Es zeigt auch 
etwas an, wenn der Strom einfach ganz normal nach Benutzung 
unterbrochen/abgeschaltet wurde. Es ist beim Start (ich lese das Flag da 
ein und setzte es nach dem Lesen wieder zurück) eigentlich nur nicht 
gesetzt, wenn man manuell ein Reset (per Reset-Taster) bei vorhandener 
Spannung durchführt hat.

Gruß

Dirk

von Johannes M. (johnny-m)


Lesenswert?

Dirk Schmidt wrote:
> Im Datenblatt des AVR steht, dass die Port-Pins hochohmig sind, bei
> einer "Reset-Condition". Da würde ich den stromlosen Zustand eigentlich
> dazuzählen.
> Zitat: "The port pins are tri-stated when reset condition becomes
> active,
> even if no clocks are running."
> Aber die Idee mit dem zusätzlichen Widerstand ist nicht schlecht.
Wenn der µC keinen Saft hat, hast Du aber keine Reset-Condition, sondern 
eine "Kein-Saft-da-Condition"! Reset-Condition setzt voraus, dass VCC im 
angegebenen Betriebsbereich liegt.

von Falk B. (falk)


Lesenswert?

@ Dirk Schmidt (disc)

>Das Brown Out Flag im MCSR sagt aber leider nicht aus, wie lang die
>Stromunterbrechung war, die zum Brown Out geführt hat. Es zeigt auch

Naja, du willst die ja nicht messen. Ob das nun 1ms oder 3s waren ist 
doch egal. ABER!
Es gibt einen Unterschied zwischen Brown Out und Power ON Reset! Und DAS 
willst du doch!

>etwas an, wenn der Strom einfach ganz normal nach Benutzung
>unterbrochen/abgeschaltet wurde.

Nein, dann ist NUR der Power On Reset aktiv, signalisiert durch PORF im 
Register MCUCSR.

> Es ist beim Start (ich lese das Flag da
>ein und setzte es nach dem Lesen wieder zurück) eigentlich nur nicht
>gesetzt, wenn man manuell ein Reset (per Reset-Taster) bei vorhandener
>Spannung durchführt hat.

Das ist ein exteren Reset, signalisiert durch EXTRF. Lies das Kapitel 
"System Control and Reset" nochmal genau.

MfG
Falk

von Dirk S. (disc)


Lesenswert?

Hallo!
@Falk
Der Tip mit dem PORF ist gut! Da kann ich mir evtl. die ganze Schaltung 
oben sparen :-).
Wie Du schon bemerkt hast, hatte ich mir das Kapitel wohl schon 
durchgelesen, aber wohl nicht genau genug ;-). Ich werde die Sache 
gleich mal ausprobieren.

Vielen Dank.

Dirk

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.