Hallo
Beim Batteriebetrieb einer Xmega128-Platine möchte ich gern die
Versorgungsspannung im laufenden Betrieb programmtechnisch prüfen.
Chemische Energie ist teuer, darum muß ich mit dem Strom dabei geizen.
Ein dauerhaft vorhandener, stromfressender Spannungsteiler kommt daher
nicht in Frage.
Den ADC zu bemühen, der auch bis zu 3mA will, wäre zur Not auch eine
Lösung aber am liebsten wärs mir so:
Folgendes habe ich mir überlegt:
An einem verfügbaren Port X konfiguriere ich 2 Pins A und B als
Ausgänge. Diese sind über eine Widerstandskombi folgendermaßen mit dem +
Eingang des Komparators verbunden:
1 | A o--
|
2 | _|_
|
3 | | |
|
4 | | | z.B. 10k für 2V Schaltschwelle s.u.
|
5 | | |
|
6 | - -
|
7 | |
|
8 | +K o--
|
9 | _|_
|
10 | | |
|
11 | | | z.B. 10k für 2V Schaltschwelle s.u.
|
12 | | |
|
13 | - -
|
14 | |
|
15 | B o--
|
Programmtechnisch schalte ich diese Ausgänge dann so:
A auf H und B auf L und starte den Komparator.
Ich vergleiche den + Komparator-Eingang (Pin +K) mit der internen 1,0V
Bandgap (als -Eingang).
Das ganze aller - sagen wir 10s - oder noch seltener, da mit einem
plötzlichen Einbruch nicht zu rechnen ist.
Die Ungenauigkeiten würde ich mit einer passenden Auswahl der
Widerstände in erträglichen Rahmen halte, es geht letztlich nur um eine
gut/schlecht Aussage.