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
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
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
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.
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.
@ 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
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.
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
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