Forum: Mikrocontroller und Digitale Elektronik Attiny84/44/24: Ermittlung Spannung Batterie


von Gerrit (christian98)


Angehängte Dateien:

Lesenswert?

Sehr geehrtes mikrocontroller Forum,

Ich arbeite derzeit an einem Projekt in welchem die Spannung einer 18650 
Lithium Ionen Batterie von einem Attiny84 gemessen und beim 
Unterschreiten einer gewissen Spannung (ca. 3.3-3.5V) eine LED 
aufleuchten soll, um anzuzeigen, dass der Akku bald leer ist. 
Funktionieren tut das ganze derzeit aber leider nur solange der Attiny84 
durch eine zweite Spannungsquelle, in meinem Fall durch die 3.3V 
beziehungsweise 5V eines Arduino Nanos mit Energie versorgt wird (siehe 
Skizze 1). Sobald die Batterie als Spannungsquelle für den Attiny84 
genutzt wird funktioniert es nicht mehr (siehe Skizze 2). Vom Internet 
konnte Ich bereits lernen dass ein Spannungsteiler genutzt werden muss, 
da die Versorgungsspannung des Attiny84 nicht gleich der zu messenden 
Spannung des Attiny84 entsprechen darf, funktionieren tut es derzeit 
allerdings trotzdem nicht. Wie schaffe Ich es Skizze 2 zum Laufen zu 
bringen, sodass auf den Arduino als Spannungsquelle verzichtet werden 
kann? Kann mir jemand weiter helfen?

MfG
Gerrit

von EAF (Gast)


Lesenswert?

Gerrit schrieb:
> Ich bereits lernen dass ein Spannungsteiler genutzt werden muss,
> da die Versorgungsspannung des Attiny84 nicht gleich der zu messenden
> Spannung des Attiny84 entsprechen darf,

Dann hast du was falsches gelernt.

Der Tiny kann sehr wohl seine Versorgungspannung messen.
Zumindest die Distanz von interner Referenz zu Vcc.
Wie viele weitere AVR das auch können.
Ohne all externen Bauteile/Spannungsteiler.

Tipp:
Es gibt ein Datenblatt zu deinem µC

von Simon A. (raster_a)


Lesenswert?

ich fürchte, du verwendest die Versorgungsspannung als Referenz zum 
messen. Da die Versorgungsspannung im selben Maß absinkt wie deine 
Spannung im Spannungsteiler funktioniert das nicht. Verwende die Interne 
Referenz oder eine externe wie die lm336-xx dann funktioniert das.

von Georg M. (g_m)


Lesenswert?

Measure VCC/Battery Voltage Without Using I/O Pin

https://ww1.microchip.com/downloads/en/Appnotes/00002447A.pdf

von pegelwendler (Gast)


Lesenswert?

Gerrit schrieb:
> beim Unterschreiten einer gewissen Spannung (ca. 3.3-3.5V) eine LED
> aufleuchten soll

Dann ist die Batterie noch schneller leer.
Wenn schon LED, dann wenigstens blinkend, das fällt erstens mehr auf und 
braucht zweitens weniger Strom.

von Gerald B. (gerald_b)


Lesenswert?

pegelwendler schrieb:
> Gerrit schrieb:
>> beim Unterschreiten einer gewissen Spannung (ca. 3.3-3.5V) eine LED
>> aufleuchten soll
>
> Dann ist die Batterie noch schneller leer.
> Wenn schon LED, dann wenigstens blinkend, das fällt erstens mehr auf und
> braucht zweitens weniger Strom.

Das mit der Referenz wurder ja ebenfalls schon angesprochen. Du mußt die 
interne Referenz verwenden.
Worüber man ebenfalls nachdenken sollte, ob die Stromaufnahme bei 
sinkender Spannung ebenfalls sinkt (ohmsche Last), oder sogar ansteigt 
(Step Up Regler). Danach richtet sich die noch mögliche Restlaufzeit, 
die man z.B. auf einem LCD als Piktogramm anzeigen kann.
Ich habe das mal für ein Batteriebetriebenes Gerät mit einem Atmega 328 
realisiert, der über einen kleinen Step Up Wandler (5V) aus einer LiPo 
Zelle gespeist wurde. Ich hatte dann 4 oder 5 Batteriepiktogramme für 
unterschiedliche Füllstände realisiert.
Dazu habe ich den Akku 1x voll aufgeladen, Spannung per DVM getrackt und 
in festen Intervallen notiert und dann den Akku leergenuckelt (zur 
Beschleunigung mit zusätzlicher Last auf 5V. Nachdem ich auf 3V war, 
habe ich dann die Gesamtzeit prozentual aufgeteilt, geschaut, was ich 
dort für  eine Klemmspannung hatte und die Klemmspannungswerte als 
Schaltschwellen definiert.
Statt der blinkenden LED kann man auch das Batterie fast leer Piktogramm 
blinken lassen und den µC sich selbst abschalten lassen.
Die Selbstabschaltung ist eigentlich eine Selbsthalteschaltung. Per 
Taster überbrückst du einen Transistor, der Ub schaltet. In der µC 
Routine wird dann der Transistor angesteuert, so das sich der µC selber 
eingeschaltet lässt. nach einer gewissen Zeit ohne Bedienung, bzw. bei 
Unterspannung sperrt man den Transistor und die Schaltung dreht sich 
somit selbst den Saft ab ;-)

von Bauform B. (bauformb)


Angehängte Dateien:

Lesenswert?

Vielleicht so? Die LED leuchtet bei weniger als 3.3V. Bei mehr als 3.3V 
braucht die Schaltung max. 1.2µA.

von HildeK (Gast)


Lesenswert?

Simon A. schrieb:
> ich fürchte, du verwendest die Versorgungsspannung als Referenz zum
> messen.

Das ist schon richtig!
Nur muss er nicht über einen Pin irgend eine geteilte VCC messen, 
sondern den Wert der internen 1.1V - Referenz; hier mit MUX(5:0) = 
0b100001!

Und dann ein wenig rechnen ...
Der ganze Aufwand ist (fast) nur Programmcode. Fast: die interne 
Referenz ist zwar stabil aber nicht genau. Wenn es genau sein muss, dann 
wird man es für das Prozessorexemplar kalibrieren müssen.

Sollte da drin zu finden sein:
Georg M. schrieb:
> Measure VCC/Battery Voltage Without Using I/O Pin
>
> https://ww1.microchip.com/downloads/en/Appnotes/00002447A.pdf

von EAF (Gast)


Lesenswert?

Bauform B. schrieb:
> Die LED leuchtet bei weniger als 3.3V.

Das ist kontraproduktiv.

Grün blitzen, solange noch voll genug.
Kurz vor leer, aufhören mit blitzen.

von HildeK (Gast)


Lesenswert?

EAF schrieb:
> Das ist kontraproduktiv.

Ach was, so pauschal kann man das nicht sagen.

Er hat eine LiIon-Zelle, 16850 mit, Größenordnung: 3Ah.
Er will unter ca. 3.3-3.5V melden, da hat die noch eine Menge Reserve 
bis sie am Entladeschluss ankommt. Da würde eine effiziente LED noch 
lange blitzen ... Ja, blitzen würde ich auch bevorzugen; es ist 
auffälliger und spart nochmal 80% o.ä. ein.

Und was die eigentliche Last an der Zelle für eine Stromaufnahme hat, 
ist auch nicht bekannt, so dass man das Verhältnis kennen könnte zum 
LED-Stromverbrauch. Und der könnte blitzend im Mittel deutlich unter 1mA 
liegen!

Vielleicht ist es auch eine Zelle mit eingebauter Schutzelektronik, dann 
kann er sogar wochenlang in Urlaub gehen. Alternativ kann er den µC auch 
mit einer zweiten, tiefer liegenden Schwelle, das System komplett 
abschalten lassen.

von EAF (Gast)


Lesenswert?

HildeK schrieb:
> Ja, blitzen würde ich auch bevorzugen;
Immerhin!

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.