Forum: Mikrocontroller und Digitale Elektronik Versorgungsspannung messen


von Fabian S. (fabian727)


Lesenswert?

Hi @ all,

ich würde gerne mit einem Attiny 2313 die Versorgungsspannung messen.
Leider finde ich fast keine Informationen im Datenblatt und das 
AVR-Tutorial
hat mir bis jetzt auch nicht weitergeholfen.
Die Spannung kommt von einem 1 zelligen Lipo.
Also maximal 3,9 V, mindestens 3,1 V. Danach soll der IC ein Warnsignal 
ausgeben und sich selbst abschalten.

Meine Fragen zu diesem Thema:
1. Kann ich mit dem IC die gleiche Spannung messen, mit der er auch 
versorgt wird?

2. Wo kann ich mich weiter einlesen / mehr zu diesem Thema finden?
3. Wo wird was angeschlossen um die Spannung zu messen?

4. Wie Kann Ich Mir Die VoltZahl absolut (Zu Gnd)Anzeigen Lassen?
Vielen Dank schon im voraus für hilfreiche Antworten,

fabi

von Frank M. (frank_m35)


Lesenswert?

1. Du reduzierst die Spannung des Akkus über einen Spannungsteiler und 
misst diese Spannung. Dabei verwendest du eine externe Referenzspannung, 
da die interne ja nicht stabil ist:
http://www.mikrocontroller.net/articles/AVR-Tutorial:_ADC

2. Du stabilierst die Spannung generell auf eine geringere, bspw. mit 
TPS62730 (spezieller LDO für ultra-low power Einsatz, ggf. nicht für 
dich geeignet), wodurch du auch gleich noch die Stromaufnahme gesenkt 
hast und verwendest wieder die interne Spannungsreferenze um die 
Akkuspannung über einen Spannungsteiler zu messen.

von Fabian S. (fabian727)


Lesenswert?

würde es reichen, wenn ich den IC mit einem großen Kondensator an die 
Versorgungsspannung anschließe und die zu messende Spannung über einen 
kleinen Kondensator puffere, um größeren Spannungsschwankungen zu 
vermeiden und eine höhere Versorgungsspannung als Messpannung zu haben?


Ich habe bis jetzt nur gelesen, dass man die Spannung relativ zur 
Versorgungsspannung oder einer anderen Spannung messen kann. Kann ich 
diese auch irgendwie zur Masse (MinusPol des Akkus) messen? So, dass ich 
eine "absolute" Zahl bekomme, um festzustellen, ob der Akku voll/leer 
ist?

Ja ich weiß, dass alles wichtige im Datenblatt steht, aber wo finde ich 
ein paar mehr Worte zu dem Thema "AnalogComparator"? Ich werde einfach 
nicht schlau, wo ich welche Bits warum zu setzen habe um was zu 
bewirken.

von bingo (Gast)


Lesenswert?

Du nimmt Vdd als Referenzspannung und misst mit dem ADC eine 
Konstantspannungsquelle. Wenn das verhältnis Vdd / Vkonst zu gross wird, 
ist Vdd zu niedrig.

von Hugo (Gast)


Lesenswert?

Der 2313 hat keinen ADC

Hugo

von Wilhelm S. (wilhelmdk4tj)


Lesenswert?

Hallo Fabian,

wie willst du eine Sapnnung mit einem Tiny2313 messen?

DER HAT KEINEN AD-WANDLER!!

Wie willst du das machen, das geht nicht.
Der popelige Tiny13 hat einen AD-Wandler (sogar mehrere) an
Bord, mit dem du einfachst deine Aufgabe erledigen könntest.
Ob dann das RAM reicht, steht auf einem anderen Blatt.
Ein Tiny45 mit 4k wird wohl vielen Ansprüchen genügen.
Wenn du mehr Pins brauchst, musst du dir einen anderen Chip aussuchen.

73
Wilhelm

von Fabian S. (fabian727)


Lesenswert?

Danke Hugo,
ich habe leider gerade eben selber (erst jetzt) gelesen, dass der 2313 
keinen ADC hat. Jedoch hat er einen Comparator.

Kann ich irgendwie feststellen, ob mein Akku entladen ist, wenn ich nur 
den Akku als Versorgung habe und auch keine weiteren Quellen o.ä. Es 
muss alles mit dieser Quelle passieren. Somit fällt sowas wie 
Spannungsteiler raus, wenn mich das nicht täuscht.

Quasi suche ich jetzt nach einem Entladeschutz, der aber innerhalb des 
Attiny 2313 funktioniert, da ich mir gerne weitere "große" Bauteile 
sparen würde.

von amateur (Gast)


Lesenswert?

Lt. Atmel's hat das Teil eine "eingebaute" Referenz und einen
Comperator. Also ein einfacher Spannungsteiler (auf 1 ... 1,2V),
ein bisschen Konzentration (µF) und Du kannst glücklich werden.
Einzige Bedingung, das Teil muss frei und nicht anders verplant
sein.

von Bernd S. (bernds1)


Lesenswert?

@hugo:
Das ist richtig, also muß man den Analog Comparator nehmen.
@fabian:
Du vergleichst mit AIN0 und AIN1 die Eingangsspannung mit einer
extra anzuschließenden Referenzspannung. Sollte funktionieren,
wenn man die Referenzspannung entsprechend legt (evtl. mit
Spannungsteiler auf 3,1 bzw. 3,9V bringen und dann
mit dem Comparator vergleichen). Nur mal so als schnelle Idee.
Andere Variante: anderen AVR nehmen (mit ADC)...

von Hugo (Gast)


Lesenswert?

Ich mache das immer so:

die 5V Versorgung und einen 0.1F Goldcap (oder grossen elko) über Dioden
an den Versorgunsspannungspunkt.

Einen normalen Digitaleingang hänge ich an die 5V vor die Diode.

Damit kriege ich den Verlust der Versorgungsspannung mit und habe alle 
Zeit der Welt etwaiige Daten ins EEprom zu schreiben und den Tiny in 
eine Endlosschleife zu schicken wo er nichts anrichten kann.

Einen schleichenden Versorgungsspannungsverlust ist noch einfacher.

Du nimmst eine FET Kaskodestromquelle (z.B. 2 Stk. BF245) die ist sehr 
unabhängig von der Spannungsversorgung.

Machst Dir  mit deren Strom und  einem Widerstand eine Referenzspannung, 
und vergleichst diese mit der Spannung eines Spannungsteilers der an der 
Versorgungsspannung häng.
(über Comperator)

Gruß Hugo

von Fabian S. (fabian727)


Lesenswert?

@hugo

warum brauch ich immer einen Spannungsteiler an der Versorgungsspannung?
Ich will doch nicht nur einen Teil davon messen, sondern die 
"tatsächliche" Spannung.


@all

wenn die eine Spannung (ich glaube an AIN0) geringer ist als die 
Spannung am anderen Vergleichspin (ich glaube an AIN1), wird ein 
Interrupt ausgelöst.
Mit diesem Interrupt würde ich dann gerne den IC schlafen legen. Brauche 
ich dann lediglich im entsprechenden Register die logische 1 einzufügen? 
Für mich ist auch an dieser Stelle das Datenblatt zu ungenau, da 
anscheinend mein Englisch für exaktes übersetzen nicht gut genug ist.
Und wird diese 1 dann automatisch nach dem aufwachen wieder gelöscht 
oder muss ich die dann selber gleich als erstes löschen?

Vielen Dank im voraus schon,

Fabi

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.