Forum: Mikrocontroller und Digitale Elektronik Frage zum Brown out


von Rene S. (gigastulle)


Lesenswert?

Hallo zusammen

Ich hätte mal eine Frage zum Brown out. Wie lange Muss die Spannung
unter den Schwellwert sein damit ein Brownout Reset ausgelöst wird ???
Da meine Schaltung auf grund von einer Zündanlage manchmal für ca.4-5µS
auf 1V abfällt habe ich Angst das das einen Brown out auslösen könnte.
Jedoch soll der erst Ansprechen wenn die Spannung dauerhaft unter 4,7V
ist. Im Datenbalt zum ATTiny25 habe ich leider nix zu den Zeiten
gefunden :(

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

``The BOD circuit will only detect a drop in VCC if the voltage
stays below the trigger level for longer than tBOD given in
"System and Reset Characteristics" on page 170.''

tBOD   Min Pulse Width on Brown-out Reset   2 µs

von Oliver (Gast)


Lesenswert?

Eigentlich gibt es dazu in jedem Datenblatt eine Angabe.

>Min Pulse Width on
>Brown-out Reset
>typ 2 μs

Oliver

von Rene S. (gigastulle)


Lesenswert?

Jörg Wunsch wrote:
> ``The BOD circuit will only detect a drop in VCC if the voltage
> stays below the trigger level for longer than tBOD given in
> "System and Reset Characteristics" on page 170.''
>
> tBOD   Min Pulse Width on Brown-out Reset   2 µs

Oh jetzt habe ich es auch gefunden :D
Vielen Dank

von Rene S. (gigastulle)


Lesenswert?

wird der Sram und die Register nach einem Brown out auch wieder zurück 
gesetzt ??? oder könnte ich peer Software es irgend wie möglich machen, 
das z.B. ich erst nach 5 Brown outs im Programablauf reagiere ???

von Winfried (Gast)


Lesenswert?

Eine Schaltung sollte eigentlich so designt sein, dass Brown-Out die 
Ausnahme im laufenden Betrieb bleibt. Gerade wenn du von 5us sprichst, 
warum fängt sowas kein Kondensator ab?

von Rene S. (gigastulle)


Lesenswert?

Winfried wrote:
> Eine Schaltung sollte eigentlich so designt sein, dass Brown-Out die
> Ausnahme im laufenden Betrieb bleibt. Gerade wenn du von 5us sprichst,
> warum fängt sowas kein Kondensator ab?

Na ja das Problem ist das das Gerät ja nicht gleich alarm schlagen soll
blos weil die spannung mal kurz auf 3V Abfällt. Sondern erst wenn die
spannung dauerhaft unter 4,3V Fällt, doch in dem Fall schaltet sich ja
der AVR ab. Leider kann ich das nicht ganz elegant über einen ADC kanal
machen, da ich keinen mehr frei habe. Dachte das wäre ne schicke lösung
mit dem Brown out. Mus dann woll noch 1-2 Nächte drüber schlafen bis mir
was passendes eingefallen ist.

von Tim (Gast)


Lesenswert?

Wenn bei deinem ADC Vref==VCC ist kannst du
ja die Spannung der internen Bandgap Diode Messen (1,22V)
und daraus auf Vref(==VCC) zurückrechnen.

von Rene S. (gigastulle)


Lesenswert?

Tim wrote:
> Wenn bei deinem ADC Vref==VCC ist kannst du
> ja die Spannung der internen Bandgap Diode Messen (1,22V)
> und daraus auf Vref(==VCC) zurückrechnen.

Das klingt sehr interesant und wie messe ich die ???
Und vorallem wie rechne ich das zurück ??? Dreisatz ???
5V Vcc ==1,22V an der Diode

von STK500-Besitzer (Gast)


Lesenswert?

>Und vorallem wie rechne ich das zurück ??? Dreisatz ???
>5V Vcc ==1,22V an der Diode

Vcc ist ja variabel. Über einen Spannungsteiler sollte man dann noch aus 
5V 1,22V machen...
Wenn als0 5V 1,22V entsprechen, wie ist der Spannungsteiler zu 
dimensionieren und welche Spannung entspricht 2,7V?

von Rene S. (gigastulle)


Lesenswert?

STK500-Besitzer wrote:
>>Und vorallem wie rechne ich das zurück ??? Dreisatz ???
>>5V Vcc ==1,22V an der Diode
>
> Vcc ist ja variabel. Über einen Spannungsteiler sollte man dann noch aus
> 5V 1,22V machen...
> Wenn als0 5V 1,22V entsprechen, wie ist der Spannungsteiler zu
> dimensionieren und welche Spannung entspricht 2,7V?

Dann brauche ich ja wieder einen freien Pin, den habe ich aber leider 
nicht. Dann kännte ich ja auch gleich über einen Spanungsteiler auf die 
Battriespannung kommen. hätte der Attiny25 ein Pin mehr wäre alles 
geritzt :D Hab im Datenblatt gesehen, das man auch die VCC als referenz 
nehmen kann. vieleicht sollte ich das machen den dann entfählt ja der 
Aref pin und ich hab wieder ein Pin frei quasi Problem gelöst :D hat 
schon jemand erfahrung damit gesammelt VCC als Ref zu nehmen ????

von Stefan E. (sternst)


Lesenswert?

Rene Schir wrote:

> Dann brauche ich ja wieder einen freien Pin

Nein, du misst die Bandgap-Referenz direkt "intern" über die 
entsprechende MUX-Einstellung. Der gemessene Wert hängt natürlich von 
Vref ab. Wenn Vref nun gleich VCC ist, gilt, je niedriger VCC, desto 
größer der Messwert. Du brauchst keinerlei externe Beschaltung dafür.

von Tim (Gast)


Lesenswert?

Wegen Berechung:
Vcc==5V -> 1,22V/5V -> 22,4% -> ADwert von ca 250
Vcc==3V -> 1,22V/3V -> 40,6% -> ADwert von ca 416

und zurück:
ADwert 320 -> 31,25% -> 1,22V/31,25% -> 3,9V

also VCC = Vref = 1,22*1024/ADwert

Der Tick bei der Messung ist halt das Vref sich verändert
und die zu messende Spannung Vbg gleich bleibt :-)

PS: Mir währe neu das sich der Vref Pin als normaler I/O Port
benutzen lässt....

von Rene S. (gigastulle)


Lesenswert?

Stefan Ernst wrote:
> Rene Schir wrote:
>
>> Dann brauche ich ja wieder einen freien Pin
>
> Nein, du misst die Bandgap-Referenz direkt "intern" über die
> entsprechende MUX-Einstellung. Der gemessene Wert hängt natürlich von
> Vref ab. Wenn Vref nun gleich VCC ist, gilt, je niedriger VCC, desto
> größer der Messwert. Du brauchst keinerlei externe Beschaltung dafür.

Und wie wäre die ADMUX einstellung beim Attiny25 ???

von Rene S. (gigastulle)


Lesenswert?

Tim wrote:
> Wegen Berechung:
> Vcc==5V -> 1,22V/5V -> 22,4% -> ADwert von ca 250
> Vcc==3V -> 1,22V/3V -> 40,6% -> ADwert von ca 416
>
> und zurück:
> ADwert 320 -> 31,25% -> 1,22V/31,25% -> 3,9V
>
> also VCC = Vref = 1,22*1024/ADwert
>
> Der Tick bei der Messung ist halt das Vref sich verändert
> und die zu messende Spannung Vbg gleich bleibt :-)
>
> PS: Mir währe neu das sich der Vref Pin als normaler I/O Port
> benutzen lässt....

Beim ATTiny25 und 15 ist das kein problem

von Uwe .. (uwegw)


Lesenswert?

Rene Schir wrote:
> hat schon jemand erfahrung damit gesammelt VCC als Ref zu nehmen ????

Ja, das klappt wunderbar. Die Kennlinie ist zwar nichtlinear, aber das 
ist für die Überwachung eines Schwellwertes ja egal.

ADMUX-Einstellung: MUX3..0 auf 1100.
Die damit ausgewählte Spannung beträgt beim Tiny25 min. 1,0V typ. 1,1V 
max. 1,2V.

von Rene S. (gigastulle)


Lesenswert?

Uwe ... wrote:
> Rene Schir wrote:
>> hat schon jemand erfahrung damit gesammelt VCC als Ref zu nehmen ????
>
> Ja, das klappt wunderbar. Die Kennlinie ist zwar nichtlinear, aber das
> ist für die Überwachung eines Schwellwertes ja egal.
>
> ADMUX-Einstellung: MUX3..0 auf 1100.
> Die damit ausgewählte Spannung beträgt beim Tiny25 min. 1,0V typ. 1,1V
> max. 1,2V.

OK und Was ist mit REFS2...0. Ist es egal welche referens ich dafür 
nehme ???

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Warum spendierst du dem Ding nicht einfach einen Kondensator und ne 
Diode? Alles andere ist irgendwie gemurkst...

von Rene S. (gigastulle)


Lesenswert?

Tim T. wrote:
> Warum spendierst du dem Ding nicht einfach einen Kondensator und ne
> Diode? Alles andere ist irgendwie gemurkst...

Und dann ??? ich muß dazu sagen das die Batteriespannung überwacht 
werden SOLL, da Das gerät bei einem dauerhaften unterschreiten einer 
gewissen Betriebsspanung in ein programierten Notlauf gehen soll

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Denkansatz: Der Kondensator ist auch nicht unendlich groß...

Wobei für das was du vor hast der Brownout der falsche Weg ist.

von Rene S. (gigastulle)


Lesenswert?

Tim T. wrote:
> Denkansatz: Der Kondensator ist auch nicht unendlich groß...
>
> Wobei für das was du vor hast der Brownout der falsche Weg ist.

Ja zu der Erkentnis bin ich auch schon gekommen :D

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Rene Schir wrote:
> Tim T. wrote:
>> Denkansatz: Der Kondensator ist auch nicht unendlich groß...
>>
>> Wobei für das was du vor hast der Brownout der falsche Weg ist.
>
> Ja zu der Erkentnis bin ich auch schon gekommen :D

Bin davon ausgegangen das du den Controller einfach nur vor 
Fehlverhalten beim Brown Out schützen willst.
Dann eben doch mit der Internen Referenz, den Kondensator würde ich aber 
doch vor den Vcc hängen um die Peaks der Zündanlage zu puffern.

von Rene S. (gigastulle)


Lesenswert?

Tim T. wrote:
> Rene Schir wrote:
>> Tim T. wrote:
>>> Denkansatz: Der Kondensator ist auch nicht unendlich groß...
>>>
>>> Wobei für das was du vor hast der Brownout der falsche Weg ist.
>>
>> Ja zu der Erkentnis bin ich auch schon gekommen :D
>
> Bin davon ausgegangen das du den Controller einfach nur vor
> Fehlverhalten beim Brown Out schützen willst.
> Dann eben doch mit der Internen Referenz, den Kondensator würde ich aber
> doch vor den Vcc hängen um die Peaks der Zündanlage weg zu haben.

Ja hab neben ein paar 100nF noch einen 100µF zwischen VCC und GND. 
welche interne Referens muß ich den nehmen ??? 1,1V oder 2,56V alles 
ohne Beipaß denke ich mal weil ich ja an Aref 5V habe.

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Rene Schir wrote:
> Tim T. wrote:
>> Rene Schir wrote:
>>> Tim T. wrote:
>>>> Denkansatz: Der Kondensator ist auch nicht unendlich groß...
>>>>
>>>> Wobei für das was du vor hast der Brownout der falsche Weg ist.
>>>
>>> Ja zu der Erkentnis bin ich auch schon gekommen :D
>>
>> Bin davon ausgegangen das du den Controller einfach nur vor
>> Fehlverhalten beim Brown Out schützen willst.
>> Dann eben doch mit der Internen Referenz, den Kondensator würde ich aber
>> doch vor den Vcc hängen um die Peaks der Zündanlage weg zu haben.
>
> Ja hab neben ein paar 100nF noch einen 100µF zwischen VCC und GND.
> welche interne Referens muß ich den nehmen ??? 1,1V oder 2,56V alles
> ohne Beipaß denke ich mal weil ich ja an Aref 5V habe.

Also der 100uF reicht locker um das Absacken der Spannung zu 
überbrücken. Welche Referenz du benutzt ist ansich latte, nimm die 2,56V 
ohne externen Bypass, da steht zumindest dabei das er extern von PB0 
entkoppelt ist. Wobei das eigentlich auch bei 1,1V so sein sollte...
Also REFS2..0 = 110 und MUX3..0 = 1100

von Michael U. (amiga)


Lesenswert?

Hallo,

ist das wirklich so kompliziert?

Die einzustellende Refenzspannung ist Vcc und der MUX auf die Bandgap 
und messen und etwas rechnen.

Beim Tiny25 also MUXX auf 1100 (haz oben schon jemand geschrieben) und 
REFS2..0 auf 000.

So schlimm ist dich die Tabbelle im Datenblatt garnicht...

Gruß aus Berlin
Michael

von Michael U. (amiga)


Lesenswert?

Hallo,

Tim T. wrote:
> Also der 100uF reicht locker um das Absacken der Spannung zu
> überbrücken. Welche Referenz du benutzt ist ansich latte, nimm die 2,56V
> ohne externen Bypass, da steht zumindest dabei das er extern von PB0
> entkoppelt ist. Wobei das eigentlich auch bei 1,1V so sein sollte...
> Also REFS2..0 = 110 und MUX3..0 = 1100

wie bekommt so die Betriebsspannung raus?
Eine stabile BandGap Quelle mit einer stabilen Referenz zu messen???

Gruß aus Berlin
Michael

von Rene S. (gigastulle)


Lesenswert?

Michael U. wrote:
> Hallo,
>
> ist das wirklich so kompliziert?
>
> Die einzustellende Refenzspannung ist Vcc und der MUX auf die Bandgap
> und messen und etwas rechnen.
>
> Beim Tiny25 also MUXX auf 1100 (haz oben schon jemand geschrieben) und
> REFS2..0 auf 000.
>
> So schlimm ist dich die Tabbelle im Datenblatt garnicht...
>
> Gruß aus Berlin
> Michael

Ja jetzt leuchtet es mir ein. Da ja bei mir VCC==Aref kann ich doch 
theoretisch sogar Aref nehmem und die Bandgap messen oder ???

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Michael U. wrote:
> Hallo,
>
> Tim T. wrote:
>> Also der 100uF reicht locker um das Absacken der Spannung zu
>> überbrücken. Welche Referenz du benutzt ist ansich latte, nimm die 2,56V
>> ohne externen Bypass, da steht zumindest dabei das er extern von PB0
>> entkoppelt ist. Wobei das eigentlich auch bei 1,1V so sein sollte...
>> Also REFS2..0 = 110 und MUX3..0 = 1100
>
> wie bekommt so die Betriebsspannung raus?
> Eine stabile BandGap Quelle mit einer stabilen Referenz zu messen???
>
> Gruß aus Berlin
> Michael

Punkt für dich, hab da ehrlich gepennt...
Klar muss es Vcc als Referenz (REFS1..0 = 11) und Vbg als Messwert sein 
(MUX3..0 = 1100). Hatte da irgendwie einen Denkfehler^^

von Michael (Gast)


Angehängte Dateien:

Lesenswert?

>Denkansatz: Der Kondensator ist auch nicht unendlich groß...

Wäre auch schlecht. Ein unendlich großer Kondensator wäre ja quasi ein 
Kurzschluss.

However, wie man schon schrieb. Eine Referenz aufbauen (z.B. mit 
Z-Diode), Vcc messen und entsprechend skalieren (z.B. mittels 
Spannungsteiler) und das Ganze auswerten. So spontan fiele mir dazu ein 
simpler Komperator ein, der Vcc entsprechend skaliert mit einer 
Zenerdiode vergleicht (vgl. Anhang).

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.