Forum: Mikrocontroller und Digitale Elektronik Brown Out - Atmega32 - Verstaendnisproblem


von Martin (Gast)


Lesenswert?

Hallo zusammen,

wenn ich das Datenblatt des Atmega32 (die nicht-L Version!) richtig 
verstehe, so ist dieser fuer eine Versorgungsspannung von 4,5-5,5 V 
ausgelegt und innerhalb dieser Grenzen wird die Funktionalitaet 
garantiert.

Da ich eine Energieversorgung per Akkus einsetzen moechte, wuerde ich 
gerne die Brown-Out Detection nutzen, um den µC entsprechend bei 
niedriger Spannung abzuschalten.

Jetzt laesst sich die Brown-Out Detection ja auf 4,0V setzen. Da 
verstehe ich aber nicht, warum man genau diesen Schwellwert setzen kann. 
Was passiert, wenn die Versorgungsspannung zwischen 4,5V und 4,0V 
absinkt. Der Controller laeuft dann nicht mehr nach Spezifikation und 
wird erst bei 4,0V abgeschaltet/resettet? Ist mein Verstaendnis dazu 
richtig? Dann haette ich aber Verstaendnisprobleme mit dem Sinn dieses 
Schwellwertes bei 4,0V statt bei 4,5V. :-)

Weiterhin muss ich externe Interrupts erkennen, die mit bis zu 4,9V 
ankommen (andere Energiequelle, aber gleiche Potentiale). Laut 
Datenblatt liegt die untere Schranke der sicheren Erkennung bei 0,6*V_in 
... die obere Schranke allerdings bei V_in +0,5V.

Wenn der Atmega also bis kurz vor 4,0V immer noch laeuft, waere ich auch 
hiermit ausserhalb der Spezifikation und muesste mich auf interne 
Schutzdioden verlassen ...

Wie laesst sich der µC denn dann bei 4,5V abschalten? Am besten ohne 
zusaetzliche Beschaltung. :-)

Danke

von Wolfgang Horn (Gast)


Lesenswert?

Hi, Martin,

Spannung und / oder Strom an den Signaleingängen musst Du begrenzen auf 
Vdd, bevor die interne Schutzdiode beim Versuch durchbrennt.
Dies gilt auch bei Absinken der Versorgungsspannung.

Schutzwiderstand in Serie von 10 kOhm sollte reichen.

Zur Funktion bei Unterspannung - mein Atmega tut's auch bei 3,3 V und 
8MHz Systemtakt einwandfrei.

Zum Abschalten: Schau im Datenblatt unter "Power Management" und "Sleep 
Modes".

Ciao
Wolfgang Horn

von Martin (Gast)


Lesenswert?

Hallo,

vielen Dank fuer die Antwort. Die Eingaenge der externen Interrupts 
kommen von einem Spannungsteiler und werden bevor sie an die Portpins 
gehen, dort bzgl. Stromstaerke auch per Widerstaende abgesichert. Bzgl. 
der Spannung hatte ich halt bedenken, da die Eingangsspannung an diesem 
Spannungsteiler eben  nicht mit der Versorgungsspannung des µC absinkt, 
sondern konstant bleibt (Versorgung aus Netzteil).

Bleibt die Frage nach der Zuverlaessigkeit des µC, wenn V_in zwischen 
4,5 Volt und 4,0V liegt, bevor die Brown Out Detection eingreift. Es ist 
schoen zu hoeren, dass die Funktionalitaet scheinbar gegeben ist; hatte 
mir so etwas auch erhofft .. konnte aber im Datenblatt nichts dazu 
finden. V_max_absolut wird ja angegeben ... eine untere Grenze, bei der 
der µC noch zuverlaessig (vom Hersteller garantiert) funktioniert, 
scheint die 4,5V Marke zu sein. Konnte dazu nichts anderes finden.

Mir fehlt hier halt die Einschaetzung/Erfahrung, da ich Neuling bin und 
deshalb als Stuetze 'nur' das Datenblatt benutzt habe.

Da ich eine Zeitmessung mit den externen Interrupts durchfuehre, waeren 
Ungenauigkeiten oder gar Nichterkennen der Signale fatal. :(


Gruss
Martin

von Winfried (Gast)


Lesenswert?

Den ATMEGA32 gibt es auch als Version ab 2.7V. Was ist an dem anders? 
Nichts, es ist der gleiche Chip. Er wird lediglich selektiert oder für 
die Spezifikation geprüft sein.

Das ist der Grund, warum du in einem 4.5-5.0 Volt Chip den Brown-Out 
auch tiefer als Spec einstellen kannst. Und das ist auch der Grund, 
warum viele dieser Chips auch mit viel niedrigeren Spannungen laufen. 
Die sind ja schon dafür designt, nur nicht dafür geprüft.

Bei Bastelprojekten probierst du einfach aus, ob er mit 3.5 Volt noch 
ordentlich läuft und dann kannst du den dauerhaft auch mit 4 Volt 
betreiben. Bei kommerziellen Produkten verbietet es sich meist, 
außerhalb der Spec zu arbeiten.

von Martin (Gast)


Lesenswert?

Hallo,

"Den ATMEGA32 gibt es auch als Version ab 2.7V. Was ist an dem anders?
Nichts, es ist der gleiche Chip. Er wird lediglich selektiert oder für
die Spezifikation geprüft sein.

Das ist der Grund, warum du in einem 4.5-5.0 Volt Chip den Brown-Out
auch tiefer als Spec einstellen kannst."



Vielen Dank fuer die Antwort.

Das ist soweit sicherlich korrekt. Dennoch bleibt zumindest fuer mich 
die Frage, warum ich die Brown-Out Grenze eben auch ausserhalb der 
Spezifikationen einstellen kann .. aber eben nicht innerhalb der 
Spezifikationen. :-)

Warum kein Brown-Out bei 4,5V, wenn ab dort doch scheinbar das Ding 
ausserhalb der Spezifikationen laeuft? Oder gibt es doch noch Daten 
ueber den Bereich 4,5V bis 4V und ich sehe es einfach nicht?

Es ist uebrigens ein Bastelprojekt. Dennoch tue ich mir schwer damit, 
einmal zu testen und dann bei positivem Ergebnis zu sagen, dass nun 
alles fuer alle Ewigkeit in bester Ordnung ist. Warum nicht auch bei 
einem Bastelprojekt an Spezifikationen halten?

Da die Last relativ konstant ist, sieht es wohl so aus, als muesste ich 
den integrierten Brown-Out leider zur Seite legen und selber messen mit 
dem Atmega?

Schade eigentlich.

von Falk B. (falk)


Lesenswert?

@  Martin (Gast)

>die Frage, warum ich die Brown-Out Grenze eben auch ausserhalb der
>Spezifikationen einstellen kann

Weil Amtle zwar den Betrieb zwischen 4,5..5,5V gearantiert, aber dennoch 
die Dinger so gebaut und geprüft sind, dass erst ab 4,0V und darunter 
ernsthafte Aussetzer kommen.

>Es ist uebrigens ein Bastelprojekt. Dennoch tue ich mir schwer damit,
>einmal zu testen und dann bei positivem Ergebnis zu sagen, dass nun
>alles fuer alle Ewigkeit in bester Ordnung ist.

Das wäre auch FALSCH! Ein positiv getesteter Einzelfall sagt GAR NICHTS 
über den allgemeinen Fall aus.

> Warum nicht auch bei einem Bastelprojekt an Spezifikationen halten?

Mach ich, meistens ;-)

>Da die Last relativ konstant ist, sieht es wohl so aus, als muesste ich
>den integrierten Brown-Out leider zur Seite legen und selber messen mit
>dem Atmega?

????

MFG
Falk

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Der Brown-Out Detektor ist auch nicht zum Abschalten des Controllers, 
sondern für einen geordneten RESET gedacht. Wenn nämlich der Brown-Out 
zuschlägt, braucht der Controller im Reset-Zustand weniger Strom als im 
aktiven Zustand. Folglich läuft die Spannung über den Akkus wieder hoch, 
wodurch der Brown-Out den Controller wieder freigibt und dieser dann 
wieder anläuft und mehr Strom verbraucht. Dann geht das Spiel von vorne 
los. Dein Controller "blinkt", bis die Akkus so weit leergenuckelt sind, 
bis er nicht mehr anläuft. Besser ist es, die Akkuspannung zu messen und 
bei Unterschreiten eines bestimmten Wertes den Controller in den tiefen 
Schlaf zu versetzen, so daß er keinen Unsinn mehr machen kann.

von Andreas V. (tico)


Lesenswert?

Martin schrieb:
> wenn ich das Datenblatt des Atmega32 (die nicht-L Version!) richtig
> verstehe, so ist dieser fuer eine Versorgungsspannung von 4,5-5,5 V
> ausgelegt und innerhalb dieser Grenzen wird die Funktionalitaet
> garantiert.
...
> Jetzt laesst sich die Brown-Out Detection ja auf 4,0V setzen. Da
> verstehe ich aber nicht, warum man genau diesen Schwellwert setzen kann.

Atmel hat den entscheidenden Hinweis im Kleingedruckten auf Seite 37 
unten versteckt:

Zitat:
1
VBOT may be below nominal minimum operating voltage for some devices. For devices where
2
this is the case, the device is tested down to VCC = VBOT during the production test. This guarantees
3
that a Brown-out Reset will occur before VCC drops to a voltage where correct
4
operation of the microcontroller is no longer guaranteed. The test is performed using
5
BODLEVEL = 1 for ATmega32L and BODLEVEL = 0 for ATmega32. BODLEVEL = 1 is not
6
applicable for ATmega32.

von Martin (Gast)


Lesenswert?

Hallo Andreas,

vielen Dank fuer die Antwort. Das beantwortet genau meine Frage.:-)
Dabei ist es mir schon fast peinlich, dass ich den Teil wohl (mehrmals) 
im Datenblatt ueberlesen habe. :-(


Jedenfalls ist das die Bestaetigung dessen, was wohl alle vermutet 
hatten bzw. was mir hier angedeutet wurde ... nun aber mit der von mir 
erwuenschten Garantie des Herstellers. ;)

@ Travel Rec.

Die 'Problematik' stellt sich in diesem Falle nicht wirklich, da der 
Controller bei der Zeitmessung unter menschlicher Aufsicht laeuft und 
bei/waehrend Reset ein kleiner bs170 eine LED dann abgeschaltet halten 
wird. Somit sollte man zumindest erkennen koennen, wenn ein Brown Out 
auftritt.
Ich werde hierfuer am Anfang des Codes vor Abschalten der LED noch ein 
entsprechendes Delay einfuegen ... dann sieht man ja, ob die LED nur 
einmal beim Einschalten leuchtet oder waehrend dem 'Betrieb' 
(anscheinend erneut) angeht. Und falls der µC nicht mehr genug Saft hat, 
den Delay zu halten und wieder in Reset geht, sollte das auch wiederum 
die LED zum leuchten bringen .. bei 4,0V sieht man die auch noch recht 
gut.

Es ging ja nur darum, falls der µC in einen undefinierten Zustand fallen 
sollte, dann im Zweifel lieber nicht zu messen, als etwas falsch zu 
berechnen. Die Messung an sich kann dann ja warten, bis neue Akkus im 
Geraet sind.


Danke nochmal an alle
Martin

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.