Programmierbare Widerstände bis 1 GOhm                           

Elektronik-Labor  Projekte  Mikrocontroller  PicoBasic         




Manchmal braucht man extrem große Widerstände. 10 MOhm sind noch leicht zu bekommen, aber wer hat schon mal einen Widerstand mit 100 MOhm oder mehr gesehen? Das Bild oben zeigt eine Messung an einem RC-Glied mit 3300 pF und einem unbekannten, sehr hochohmigen Widerstand, den der CH32V003 nach dem Prinzip der geschalteten Kondensatoren gebildet hat. Im AD-Wandler gibt es einen kleinen Kondensator, der an einem aktiven Eingangskanal kurz aufgeladen wird. Durch Wechseln des Kanals kann man Ladung von einem zum andren Pin transportieren.

Die Messpunkte im Plotter haben hier einen Abstand von 40 ms, sodass das Diagramm 1 s/div zeigt. Aus dem Diagramm kann man die Zeitkonstante ablesen, bei der jeweils 63% der Endspannung erreicht wird. Sie beträgt hier ca. 0,3 s. Daraus kann man einen Widerstand von rund 100 MOhm ableiten.

              Rem ADCresist
0x09FF  Pdir = 255
              L1:
0x0331  C = 49
              L2:
0x0427  D = 39
              L3:
0x3D00  A = AD1
0x3C00  A = AD0
0x1901  Delay ms = 1
0x2603  D*Goto L3:
0x4200  Print A
0x2502  C*Goto L2:
0x3500  A = B
0x3300  A = Not A
0x4500  Pout = A
0x3400  B = A
0x2001  Goto L1:

Das Programm erzeugt ein symmetrisches Rechtecksignal  mit einer Impulslänge von 2 s an allen Ports. Einer davon ist an AD1 angeschlossen. An AD0 liegt nur der Kondensator mit 3,3 nF, sonst nichts. Mit einer Frequenz von 1 kHz wird dann jeweils AD1 und AD0 gemessen. Über den internen Sample-Kondensator im ADC wird dabei Ladung transportiert wie über einen hochohmigen Widerstand.



Für geschaltete Kondensatoren ergibt sich der erzeugte Widerstand mit R = 1/(C * f). 1 kHz und 1 pF ergeben also 1 GOhm. Man muss also vermuten, dass hier im AD-Wandler 10 pF beteiligt sind. Außerdem ist da auch noch die interne Referenz-Spannungsquelle im Spiel, sodass die untere Endspannung in diesem Fall auf etwa 0,5 V angehoben wird. Bei andern Mikrocontrollern kann das ganz anders aussehen, denn jeder Hersteller hat seine eignen, kaum dokumentierten Schaltungstricks.

Der erzeugte Widerstand kann also über die Wartezeit eingestellt werden. Ich möchte gerne 1 GOhm haben und stelle die Verzögerung von 1 ms auf 10 ms um. Alles läuft nun zehnfach langsamer, und eine Impulslänge dauert nun 20 s. Die Diagramm sieht aber genauso aus, d.h. die Zeitkonstante ist ca. 3 s, der Kondensator ist der gleiche, und der  programmierte Widerstand beträgt tatsächlich 1000 MOhm = 1 GOhm.

Eine Anwendung: Ich möchte Ströme im Bereich Nanoampere messen. Als Stromquelle nehme ich eine grüne LED, die schwach beuchtet wird. An AD0 bleibt der Kondensator von z.B. 3,3 nF und parallel dazu die LED als Stromquelle. AD1 wird permanent an GND gelegt, sodass der erzeugte Widerstand parallel zur LED liegt..






Die Messung zeigt die LED-Spannung bei einer Belastung mit 1 GOhm. Bei 0,5 V liegt die gedachte Nulllinie. Die Spannung steigt bei mäßiger und veränderter Beleuchtung um bis zu bis 1V an, sodass die LED einen Strom von bis zu 1 nA erzeugt hat. Auch Änderungen von 100 pA sind schon klar erkennbar.


Elektronik-Labor  Projekte  Mikrocontroller  PicoBasic