Hi, ich versuche gerade eine Spannungsmessung mit einem AVR ATmega8 zu
realisieren.
Ich hatte schon mal ein C-Meter gebaut, das ganz gut funktioniert mit
einer Auflösung bis zu einigen pF:
Kondensator C hängt an AIN- des Analog-Komparators (AC) und wird
entladen, indem man AIN- auf HIGH setzt. Nachdem er entladen ist,
schaltet man AIN- hochohmig und misst die Zeit, bis die Spannung an AIN-
unter die Referenzspannung U_ref gefallen ist, die am AIN+ des AC hängt.
Dazu verdrahtet man U_S = GND und der C lädt sich über R auf.
Soweit ein alter Hut, und das geht wie gesagt bis zu einigen pF genau.
Das wollte ich nun verwenden, um eine schnelle Spannungsmessung zu
realisieren, indem ich nicht U_S=GND wähle, sondern bei bekannten Werten
U_ref, C und R die Spannung U_S bestimme gemäss
U_0 ist die Vorspannung am Kondensator, also U_0=VCC (ich messe kein
Unterschied zwischen HIGH-Pegel am AVR-Pin und VCC).
Durch Messen der Zeit t sollte es also möglich sein, U_S zu bestimmen.
Dummerweise stimmen die gemessenen Werte nicht mit den berechneten
überein, und ich hab keine Ahnung, woran das liegen könnte. Sämltliche
Werte hab ich nachgemessen, und die exakten Werte für die Berechnung
verwendet.
Eigentlich ist dieses Verfahren ganz nett, denn
-- die Messung ist einigermassen hochohmig
-- je nach RC-Konfiguration kann man Zeit gegen Genauigkeit eintauschen
-- man kann negative Spannungen messen
Hier mal ein paar Messwerte
1 | U_S -> Ticks @ 16MHz
|
2 | 0.0 -> 120
|
3 | 0.2 -> 125
|
4 | 0.4 -> 129
|
5 | 0.6 -> 134
|
6 | 0.8 -> 140
|
7 | 1.0 -> 147
|
8 | 1.2 -> 155
|
Wie man sieht geht die Messung sehr fix im Vergleich zu einem ADC, ist
aber natürlich nicht so exakt. In der Anordnung reichen zur Messung 12µs
(das sind 200 Ticks).
Die nach der Formel berechneten Werte
1 | U_S -> Ticks @ 16MHz
|
2 |
|
3 | 0.0 -> 83
|
4 | 0.1 -> 85
|
5 | 0.2 -> 87
|
6 | 0.3 -> 89
|
7 | 0.4 -> 91
|
8 | 0.5 -> 93
|
9 | 0.6 -> 95
|
10 | 0.7 -> 98
|
11 | 0.8 -> 100
|
12 | 0.9 -> 103
|
13 | 1.0 -> 105
|
14 | 1.1 -> 108
|
15 | 1.2 -> 111
|
16 | 1.3 -> 114
|
17 | 1.4 -> 118
|
18 |
|
19 | Ticks -> U_S
|
20 | 10 -> -35.167312
|
21 | 20 -> -15.195828
|
22 | 30 -> -8.538683
|
23 | 40 -> -5.210123
|
24 | 50 -> -3.212997
|
25 | 60 -> -1.881587
|
26 | 70 -> -0.930588
|
27 | 80 -> -0.217344
|
28 | 90 -> 0.337395
|
29 | 100 -> 0.781182
|
30 | 110 -> 1.144276
|
31 | 120 -> 1.446850
|
Die Anordung müsste doch hochohmig genug sein, um die Spannung am
Spannungsteiler R1/R2 nicht allzusehr zu beeinflussen? Durch R fliessen
nicht mehr als 3µA, durch den U_ref-Teiler hingegen 500µA...
Georg-Johann