PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] VCC mit ADC von µC messen ?



PICture
18.10.2011, 22:34
Hallo!

Ich möchte eine Versorgungsspannung VCC mit einem internen ADC vom µC messen, die variabel ist (siehe Code). Weil es sich um langsamen Solarbot mit 3,6 V / 15 mAh Akku und ca. 1,5 mW Antrieb handelt ( https://www.roboternetz.de/community/threads/48052-Mein-Kunsttier-(BEAM)-mit-Elektronik?p=528133&viewfull=1#post528133 ), möchte ich den µC sehr niedrig takten (z.B. bei 32 kHz und 3 V max. 30 µA) und Uext mit nur für Messzeit eigeschalteten LM385 bei 10 µA erzeugen.

Ware es möglich durch Messung einer sehr stabiler externer Spannung Uext < VCC bei sich ändernder interner Referenzspannung Uref = VCC des ADCs die VCC ziemlich genau zu ermitteln ?

VCC=Vref=var.
+
|
.---.
Uext=const. ---|ADC|
A '---'
| |
=== ===
GND GND

(created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)

Ich vermute, dass je höher die VCC um so niedriger die durch ADC gemessene Uext wird. Um VCC zu ermitteln, sollte eine Tabelle ("look-up table") genügen, oder ?

Vieeelen Dank für hilfreiche Antworten im voraus. ;)

RoboHolIC
19.10.2011, 01:16
Hallo PICture.
Ja, so in der Art habe ich es schon mehrfach gesehen / gelesen zum Zweck des Akku-Tiefentladeschutzes.
Eine Look-Up-Tabelle ist gut, vielleicht genügen auch wenige Stützpunkte oder ein einziger Grenzwert, der den Abschaltpunkt definiert.

markusj
19.10.2011, 10:57
Uext wirst du vermutlich gar nicht brauchen, viele µCs haben ja bereits eine interne Spannungsreferenz für den ADC. Bei AVRs kommst du ohne eine einzige zusätzliche Löststelle aus, du aktivierst die eingebaute Referenzspannung als zu messende Größe und misst diese mit VCC als Referenz.

Bei AVRs gilt dann (10 Bit ADC): ADC = 1024 * Vin / Vref, da du dich für Vref interessierst also: Vref = Vin * 1024 / ADC
Vin ist der Wert der internen Spannungsreferenz und steht im Datenblatt (meist 1,1V oder 2,56V).

mfG
Markus

PICture
19.10.2011, 12:38
Hallo!

Danke Euch beiden schön für Bestätigung der "verrückter" Idee. :D

Mir geht's genauer gesagt um Überwachung der Akkuspannung: ca. 3,3 V = leer und ca. 4,05 V = voll, also um sowohl Last- als auch Sollarzelleabschaltung mit PIC16F88 zu realisieren. Dafür brauche ich dann nur zwei ADC Werte zu prüfen. Das ganze ohne Uext, laut markusj, kann ich mir aber für PIC (ohne eigener Vref) nicht vorstellen. :)