Forum: Analoge Elektronik und Schaltungstechnik Batteriespannung messen


von Sebastian Wille (Gast)


Lesenswert?

Hi,

ich betreibe eine Schaltung mit einer Batterie und möchte nun mit einem
AVR die aktuelle Batteriespannung messen. Das Problem: Der AVR hängt ja
auch an der Batterie, wenn ich AREF also auf VCC lege, bekomme ich ja
egal bei welcher Batteriespannung immer den Maximalwert.

Wie stelle ich das an?

Vielen Dank schonmal für Tips!

Sebastian

von Jens Renner (Gast)


Lesenswert?

Könntest Du nicht die Referenzspannung auf einen bestimmten Wert
begrenzen (Zenerdiode o.ä.), und die zu messende Spannung mit einem
Spannungteiler in diesen Bereich bringen? Intern könnte man dann den
gemessenen Wert auf Vref beziehen dann den Fehler durch den
Spannungteiler wieder ausgleichen.

von Andreas Kutschbach (Gast)


Lesenswert?

Wie wärs mit der internen Referenz des Controllers ? Diese
sollte auch bei sinkender Batt.Spannung recht stabil bleiben.
Einfach mal ausprobieren. Du brauchst nur noch einen
Sp.Teiler aus 2 Wid. (da du sonst nur bis ca.2,6V Batt.Spannung
haben dürftest...)

Nebenbei solltest du auch einen Low-Power Controller verwenden,
da der sonst bei fallender Batt.Spannung statt sich zu melden
sich aufhängen könnte. Ist mir schon passiert. Damals hat sich
der Controller so ungünstig im Programm aufgehangen, dass meine
Batterie im Auto leergegurgelt wurde. (Verbraucher wurde nun permanent
geschaltet...Dumme Sache)

von Ratber (Gast)


Lesenswert?

@Sebastian

Die Art und weise der messung ist ja dann geklärt aber wenn die interne
refferenz nicht stabil genug ist dann gibt es ja noch externe
Möglichkeiten.

zb. LM336  bringt 2.5V und ist mit 1% auch genaugenug.
Obendrein isser mit 1.71 Euro erschwinglich.

Einfach nen Vorwiderstand der den Strom innerhalb von 1-10mA hält und
fertig.

Die zu messende Spannung Teilste dann entsprechend mit Widerständen
runter (Spannungsteiler aus 1%igen Metalfilmwiderständen reicht aus)

@Andreas

Eigentlich sollte nen Controller ne eigene Versorgung haben (zb. 2-3
Mignon NimH die von der KFZ.Bat geladen werden)
Ein Externer oder der Interne Watchdog Sichert das Programm und trennt
im Zweifelsfalle den Controller vonb der Batterie so das die
Verbraucherrelais abfallen können.

Ich hatte ähnliches mit nem Älteren Ami wo mir der Controller die
Heizung (Eingebaut,800W)jeden Morgen eingeschaltet hat (Wochentags
Halbe stunde vor Fahrtbeginn.Kleine Spielerei).Irgendwann hab ich
verpennt und als ich dann zum Wagen gelaufen kam war die Batterie
empty.

2.3 Tonnen Automatik anschieben ist eh witzlos also noch mehr
verspätung weil ich mit Bus und Bahn fahren mußte.
Von der Schlepperei mnit der Batt. (120Ah) zum Ladegerät mal ganz
abgesehen.

Ich schätze das du das mittlerwiele ähnlich geregelt hast.

von Sebastian Wille (Gast)


Lesenswert?

Hi Leute,

erst mal vielen Dank für all die Tips! :-)

Das Prinzip meine Spannung mit einem festen Wert zu vergleichen finde
ich gut. Nur eines stört mich daran: Im AVR-Datenblatt steht, daß Vref
nicht weiter als +/-0,3V von VCC abweichen sollte. Aber 2,5V und 3,6V
(von der Batt.) ist schon ein größerer Sprung. Hat jemand Erfahrungen
damit?

Noch 'ne kleine Randfrage (an Jens): Regelt mir eine Zenerdiode immer
z.B. 0,3V herunter, egal (!) bei welchem Stromfluß?

Danke schonmal!!! :-)

Sebastian

von Terimo (Gast)


Lesenswert?

Eine Z-Diode hält, wenn Sie sie in Sperrichtung betrieben wird die
Spannung immer konstant auf dem gegebenen Wert. Der Strom der über die
Diode fließt ist dabei von der Kennlinie der Z-Diode abhängig. Deshalb
wir meistens auch ein Vorwiderstand verwendet, damit die Z-Diode nicht
abraucht.

Funktioniert folgendermaßen: Der Vorwiderstand wird in der Regel so
groß gewählt, dass der Strom über die Z-Diode grade noch zulässig ist.
Man greift dann zwischen dem Widerstand und der Diode die konstante
Spannung ab. Wird jetzt an dieser Stelle auch noch von einem
Verbraucher ein erhöhter Strom gezogen, so fließt prinzipiell dieser
höhere Strom durch R, welcher den Spannungsabfall über R ebenfalls
erhöhen müsste. Da aber durch die Z-Diode die Spannung am Knoten gleich
bleiben muss folgt daraus, dass der Strom durch Z-Diode geringer wird,
die Spannung bleibt gleich...

von Andreas Kutschbach (Gast)


Lesenswert?

@Sebastian

Ein sehr eigenartiges Datenblatt hast du da.

Vref darf natürlich immer zwischen 0V (Massepegel)
und Vref (zB. 5V) liegen. Wenn du Vref verkleinerst,
(auf zB. 2,5v), dann wird der Messbereich geändert.
2,5V-0V =2,5V und das in 2^n Schritte
(n=Auflösung deines AD-Wandlers)--> deine Auflösung
verbessert sich also. Wenn du eine konstante
Referenzspannung erzeugst (zB. über Z-Dioden), dann
sieht das ganz genau so aus. Für eine genaue Messung
(brauchst du ja nicht) darfst du den Temperaturdrift
der Z-Diode nicht vergessen.

Noch was:

Vref darf aber nicht unter 0V (Massepegel) kommen,
da sonst im  µC die Quelle zur Senke wird, was
schon mal tödlich enden kann.

von Sebastian Wille (Gast)


Lesenswert?

Hallo,

erstmal vielen Dank für die Erklärungen! :-)

OK, ich hab's im Datenblatt falsch gelesen: Avcc darf nur um maximal
+/- 0,3V abweichen, nicht etwa Aref...

Ich werd' jetzt mal mit der internen 2,56V-Spannung versuchen und dann
berichten, ob's geklappt hat.

Danke schonmal so weit! :-)

Sebastian

von Andreas Kutschbach (Gast)


Lesenswert?

Kleiner Hinweis: Die interne 2,56V-Referenz ist keine
echte 2,56V-Quelle. Das ist so ein Richtwert von Atmel,
bei den meisten controllern von mir liegt die SPannung bei
etwa 2,7V. Das kannst du mit einem digit.Multimeter
nachmessen. (zwischen Aref und Agnd messen bei eingestellter
interner Ref). Noch was: Bei verwendung der intern.Ref. darf
nix an Aref von aussen angeschlossen werden ! Sonst könnte
sich einiges da drin verabschieden.

MfG

von UBoot-Stocki (Gast)


Lesenswert?

Hi,

@Andreas Kutschbach:

"Noch was: Bei verwendung der intern.Ref. darf
nix an Aref von aussen angeschlossen werden ! Sonst könnte
sich einiges da drin verabschieden"

Bedeutet das, ein Programmierfehler bei externer Referenz und zisch...
der Chip ist hin ?!

Glaub ich irgendwie nicht !

Gruß

UBoot-Stocki

von Sebastian Wille (Gast)


Lesenswert?

Hi,

so nun hab' ich's ausprobiert! Mit der internen Ref.-Spannung hat's
super geklappt! Ist gut zu wissen, daß man einen internen
2,56V-Regulator hat. Kleine Nebenfrage: Könnte man da nicht auch ein
2,6V-Gerät anschließen, den AVR aber mit 5V betreiben und so die
"Spannungsdifferenz" ausgleichen?

Bei mir liegen übrigens zw. Aref und Agnd 2,67V an, die dafür aber
relativ konstant.

Wisst Ihr auch, wie man den Block-C anschließen muß? Ich denke, ich
brauche da ja keinen Elko, oder? Sonst + an Aref und - an Agnd?!?

Danke!

Sebastian

von Andreas Kutschbach (Gast)


Lesenswert?

@UBoot-Stocki

Nee, viel schlimmer. Das ist ein Hardwareproblem.
Intern (siehe ADC-Skizze in Datenblatt) sind da
Aref-Pin und interne Aref-Quellen verbunden.
Wenn die Referenz auf Aref=Avcc gestellt ist, dann
ist der Aref-Pin zu Vcc direkt intern verbunden.
Kannst dir vorstellen, dass da nicht viel Strom fliessen
darf, wenn jetzt was (zb. Masse) an den Aref-Pin angeschlossen
wird. Atmel rät zumindest dazu, vorsichtig mit dem Aref Pin
zu sein.

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.