PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : einfache Batteriespannungsüberwachung



Dan89
24.05.2008, 12:12
Hallo,

ich möchte ein Gerät bauen, das direkt, ohne Spannungsregler o.ä., mit 4 Mignonzellen versorgt wird. Es besteht im Grunde nur aus einem PIC mit ein paar angeschlossenen Bauteilen. Nun möchte ich über den Microcontroller mitgeteilt bekommen, wenn die Batterien leer werden, so dass ich sie wechseln kann, bevor die Schaltung ausfällt. Dabei reicht es, wenn ich den Batteriezustand in bestimmten Zyklen abfrage.

Zuerst dachte ich daran, eine Referenzspannung mit dem PIC einzuschalten und dann einen AD-Wandlereingang abzufragen. Allerdings finde ich das Ganze ein bisschen zu aufwendig, da ich eigentlich keinen genauen Spannungswert benötige.

Ich habe mir jetzt gedacht, ob es nicht auch ginge einfach die Batteriespannung über eine entsprechende Z-Diode in Sperrrichtung an einen Eingang des PIC zu legen. Oder geht das nicht oder ist zu ungenau??

Hat vielleicht einer irgend eine andere Idee???

Danke schon mal....

cool-robotix
24.05.2008, 12:26
Die Idee mit der Z-Diode ist nicht schlecht, aber es verbraucht in der einfachsten Ausführung ständig Strom --> daher ist es bei einer Batteriespeisung nicht unbedingt sinnvoll.

Dafür ist es aber sehr einfach zu realisieren und mit einem genügend großen Vorwiderstand (Kennlinie beachten!) ist der Stromverbrauch auch nicht mehr so hoch.

Man könnte die Schaltung noch soweit verbessern, dass der Z-Dioden-Zweig nur während der Messung aktiviert wird, etwa mit einem FET oder Relais. Das treibt aber den Aufwand schon fast so hoch, dass man direkt eine Referenzspannungsquelle und einen Komparator verwenden könnte (intern oder OPamp).

PICture
24.05.2008, 13:07
Hallo Dan89!

Das kann man auch mit einem Transistor realisieren. Der Rb1 sollte zusammen mit Rb2 die Spannung der Btterie auf ca. 0,6V teilen.

Der Wert vom Rb1 lässt sich für bestimmte Spannung mit einem Poti (100k) ermitteln. Aber Vorsicht, bei kurzgeschlossenem Poti ist der Transistor kaputt! :(

Bei eingestellter Spannung wird der Transistor gesperrt und auf seinem Kollektor wird vom µC der "H" Pegel erkannt.

Als Rc kann auch ein innerer pull-up genutzt werden.

Die Skizze der Schaltung ist im Code.

Übrigens, man kann auch nur Widerstansdteiler (ohne Transistor) an Portpin anschließen, die Erkennung wird aber nicht so "scharf".

MfG

VCC
+
|
+-+-+
| |
.-. .-.
Rb1| | | |Rc
| | | |10k
'-' '-'
| |
| +-----> µC Portpin
| |
| |/
+-| T
| |>
.-. |
Rb2| | |
10k| | |
'-' |
| |
+-+-+
|
===
GND

cool-robotix
24.05.2008, 15:17
Elegante Lösung!

Dan89
24.05.2008, 15:18
Danke für die schnellen Antworten...

Ich werds mit dem Transistor machen, habs gerade getestet, funktioniert prima.
Vielen Dank nochmals

lg Daniel

PICture
24.05.2008, 20:31
Wenn zwischen der Batterie (z.B. 9V) und dem µC sich ein Spannungsregler (z.B. 78L05) befindet, kann man nach kleiner Modifizierung die Schaltung auch für Überwachung der Batterie anwenden.

Es muss nur Ub von der Batterie vom VCC des µCs getrennt werden (siehe Code).

In dem Fall kann der µC schon reagieren bevor Batteriespannung unter für den Spannungsregler nötige Grenze sinkt.

MfG

Ub VCC vom µC
+ +
| |
.-. .-.
Rb1| | | |Rc
| | | |10k
'-' '-'
| |
| +-----> µC Portpin
| |
| |/
+-| T
| |>
.-. |
Rb2| | |
10k| | |
'-' |
| |
+-+-+
|
===
GND

--------------------------------------------------------------------------------------

Ub
+
|
.-.
Rb1| |
100k| |
'-'
|
| +-----> PIC Portpin (int. pull-up ~20k)
| | H = Ub < 6,7V
| |/
+-| T
| |>
.-. |
Rb2| | |
9k1| | |
'-' |
| |
+-+-+
|
===
GND

oberallgeier
24.05.2008, 23:27
Wirklich eine hübsche Schaltung. Etwas Ähnliches, aber leider ohne Transistor, hatte ich mir schon überlegt bei (m)einer Schaltung mit 9V-Block und tiny13. ABER - dann hatte ich nachgerechnet, was mich der Spannungsteiler kostet - kostet ohne Transistor gleich schlappe - oder knappe - 1 mA. Aber mit Transistor dürften es zwei Größenordnungen weniger sein (?) - wirklich sehr pfiffig! Gibt es extra stromsparende Transistoren für so etwas? Denn ein bisschen was sickert da doch immer durch, oder?

PICture
25.05.2008, 01:43
Hallo oberallgeier!

Die Schaltung ist vor allem sehr einfach und über Stromverbrauch habe ich nicht besonders nachgedacht. Der Transistor leitet so lange die Ubat über dem Grenzwert liegt, das heißt beim Rc=20k ca. 250µA. Dazu kommt noch der Teiler Rb1, Rb2 mit ca. 50µA. Also insgesamt ca. 0,3 mA.

Man könnte zwar den GND der Schaltung nur für die Zeit der Spannungsprüfung durch den µC mit der GND kurzschließen, dafür braucht man aber noch ein Portpin. Dann zieht die Schaltung außer Prüfzeit gar kein Strom.

Mir ist noch eine Schaltung mit pnp Darlington eingefallen, die aber noch nicht ausprobiert wurde (siehe Code). Sie sollte bei der Batteriespannung höherem als eingestellte um 0,4 µA Strom brauchen da der Transistor gesperrt ist und leitet erst wenn die Batteriespannung unter der Grenze liegt. Die Spannung VCC dient als Referenz und muss stabil sein.

Wegen sehr hochen Widerständen wurde C gegen Störungen verwendet, dessen nötiger Wert dürfte um 100nF sein. Der Rb2 muss für bestimmte Spannung angepaßt werden.

Die untere Schaltung ist eine modifizierte Version der aus meinem erstem Beitrag. Durch den T1 ist der T2 gesperrt und der Stromverbrauch sollte ca. 1 µA bei der Batterie Spannung um 5V betragen. Diese Schaltung ist aber komplizierter und auch noch nicht geprüft.

Ein Darlington kann aus zwei "normalen" Transistoren gebaut werden (siehe ganz unten).

MfG

VCC=5V const
+
|
+------+
| |
C --- |
Rb1 Rb2 --- |
___ ___ | |<
Ub=9V >----|___|---|___|---+----| T (Darlington)
var | |\
10M *3M3 | |
| +-----> Portpin (µC)
| |
.-. .-.
Rb3| | | |Rc
10M| | | |10k
'-' '-'
| |
=== ===
GND GND

--------------------------------------------------------------------------------------

VCC
+
|
+-----+-----------+
| | |
.-. .-. .-.
*Rb1| | | |Rc1 | |Rc2
10M| | | |10M | |10k
'-' '-' '-'
| | |
| +---+ +-----> Portpin (µC)
| | | |
| |/ | |/
+---+---| T1 +-----| T2 (Darlington)
| | |> | |>
| .-. | | |
C1 --- | |Rb2 | --- C2 |
100n --- | |1M | --- 100n |
| '-' | | |
| | | | |
+---+-----+---+-------+
|
===
GND

--------------------------------------------------------------------------------------

Darlington Schaltungen

C E

n-p-n | p-n-p |
.-------|-. .-------|-.
| +---+ | | | |
| | | | | |< |
| |/ | | | +-| |
B ----| | | | | |\ |
| |> | | | |< | |
| | |/ | B ----| | |
| +-| | | |\ | |
| |> | | | | |
| | | | +---+ |
'-------|-' '-------|-'
| |

E C