mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik µC Versorungsspannung ausgeben mit Brown out


Autor: Chris K. (chkome01)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen!

Ich habe ein Board, dass ich mit Batterien versorge. Nun will ich, dass 
bei zu geringer Vbat ein Ereignis aufgeführt wird. Bisher hab ich es mit 
ADC gemacht.

Meine Frage(prinzipiell):

Da der µC ohnehin eine Brown out detection hat, weiß er ja, wie hoch die 
angelegte Spannung ist. Gibt es eine Möglichkeit, diesen Wert im 
Programm zu nutzen, bzw. steht der Wert in irgendeinem Register?

Oder hab ich da etwas grundsätzlich falsch verstanden?
Die BOD ist im Datasheet auf S.44, Internal Voltage Reference auf S.50. 
Gebracht hat mir aber beides leider nix.

Meine Umgebung:

ATmega128l
AVR Studio4.18
GCC

Schaltung ist aufgelegt auf 4.0V
Event bei ca. 3.0 V war geplant.


Besten Dank schonmal!

Grüße Chris

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich denke nicht, dass Brown Out über einen ADC abgewickelt wird.
Das ist einfach nur ein Komperator-Schaltkreis, der die aktuelle 
Spannung mit einer von mehreren fixen Vergleichsspannungen vergleicht.

Quasi ein Op-Amp als Komperator verschaltet.

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Chris

Geht IMHO nicht, weil der AVR beim Event (Brownout) unmittelbar in den 
Reset geht und du diese Reaktion nicht abfangen kannst. bzw. erst nach 
Wiederanlaufen die Resetursache auswerten kannst.

Statt des ADCs kannst du auch den internen AC (Analog Comparator) 
verwenden. Oder einen externen AC, der einen generellen Digital- bzw. 
einen Interrupt-Eingang versorgt.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Chris K. schrieb:

> Ich habe ein Board, dass ich mit Batterien versorge. Nun will ich, dass
> bei zu geringer Vbat ein Ereignis aufgeführt wird. Bisher hab ich es mit
> ADC gemacht.

Mir scheint, der Analog Comparator sei dafür wie geschaffen.

> angelegte Spannung ist. Gibt es eine Möglichkeit, diesen Wert im
> Programm zu nutzen, bzw. steht der Wert in irgendeinem Register?

Da gibt es keinen Wert.

Es gibt Mikrocontroller, bei denen die Möglichkeit besteht, auf wählbare 
Spannungsunter/überschreitung zu per Software reagieren, aber AVRs 
gehören nicht dazu, deren Brownout-Detector lässt sich nicht 
programmgesteuert nutzen.

Autor: Chris K. (chkome01)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für die schnellen und guten Antoworten!


@ Karl heinz Buchegger

Hab mir die Sache etwas anders vorgestellt, aber wenn es ein Komperator 
ist, dann ists mir klar. Wird quasi nicht softwaremäßig >überwacht<, 
sondern wirklich elektronisch >geschalten<. Erklärt auch,dass ich mit 
den Fuses nur zwei fixe Werte nehmen kann.

Meine Vorstellung war, dass ich mit den Fuses ein Register beschreibe 
und dieses mit der digitalisierten Versorungsspannung verglichen wird. 
Jaja.. die naiven Studies :-)

Vielen Dank an alle nochmal!

Grüße

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Chris K. schrieb:

> ist, dann ists mir klar. Wird quasi nicht softwaremäßig >überwacht<,
> sondern wirklich elektronisch >geschalten<. Erklärt auch,dass ich mit
> den Fuses nur zwei fixe Werte nehmen kann.

Na ja.
Wenn man sich mal überlegt, welche Aufgabe er beim AVR hat, nämlich den 
Prozessor zu resetten, wenn die Spannung für einen gesicherten 
Programmablauf nicht mehr ausreicht, dann ist das auch nicht sehr 
sinnvoll.

Bei anderen Prozessoren ist das anders, aber beim AVR ist das so.

Autor: avion23 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit dem ADC geht das:
Vref auf die Versorgungsspannung stellen.
Channel auf die interne bandgab, also 1,1V oder 2,56V stellen.

Vom ADC Wert aus zurueckrechnen. Wenn du das nicht kannst die Suche hier 
benutzen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.