Forum: Mikrocontroller und Digitale Elektronik Kondensator lädt sich auf bei Kapazitätsmessung


von Stephan_M (Gast)


Lesenswert?

Hallo liebe Forumsteilnehmer

Ich probiere gerade einen Kapazitätsmesser zu bauen. Dazu lade ich einen 
Kondensator für eine bestimmte Zeit und messe dann die Spannung mit dem 
ADC.
Das klappt auch.Danach setzt ich den PORT, an dem ein Ende des 
Kondensators anliegt wieder LOW, um ihn zu entladen.
Das gleiche widerholt sich dann immer wieder.
Nun das Problem: Da der Kondensator sich nie ganz entlädt, nimmt die 
Spannung mit jedem Ladevorgang zu.
Um dem zu begegnen, müsste ich anstatt das eine Ende auf LOW zu legen, 
das Ende an eine negative Spannung legen, um ihn ganz zu entladen, oder 
sehe ich das falsch?

Wenn ich recht habe, wie kann ich das anstellen und wenn es eine bessere 
Lösung gibt, könnt ihr die mir natürlich gerne Kund tun.

Gruß Steph

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Wie lange wartest du beim Entladen?
Entlädst du ihn über einen Widerstand?

von Peter D. (peda)


Lesenswert?

Einfacher und wesentlich genauer wird es, wenn Du einfach die Zeit mißt, 
bis der Kondensator sich auf eine bestimmte Spannung aufgeladen hat.

Der AVR kann dafür den Komparatoroutput direkt als ICP-Eingang benutzen.

Und dann ist natürlich die Entladeschlußspannung egal, da bei jeder 
Messung konstant.

Und man muß kein großes Brimborium um die Ladekennlinie machen, ein 
einfacher Widerstand an VCC reicht. Ob E-Funktion oder 
Konstantstromquelle ist eagl.


Peter

von Hans (Gast)


Lesenswert?

dann nimm als Port-Pin einen der PWM ausgeben kann und misst einfach die 
welligkeit...

oder wenn du sonst nix mehr verändern willst miss einfach die spannung 
vor dem ladevorgang und rechne einfach mit einem kleinen sprung...

also wenn dein C sagenwirmal vor dem laden 1V hätte und du legst dann 
deinen Port-Pin auf 5V dann wird sich deine spannung mit 
1V+4V(1-e^(-t/tau) ändern...

Das ganze setzt aber voraus, dass du länger entlädst wie lädst... sonst 
hast du irgendwann eine so hohe spannung am C, dass du mit keine 
vernünftigen dU/dt bekommst...

Messen kannst du übrigens beim Laden und beim Entladen...

von Norgan (Gast)


Lesenswert?

Etwas genauer sollte man sagen, dass der übliche Weg ist, die Zeit 
zwischen zwei Ladezuständen zu messen, z.B. die Zeit zwischen 1/3 Umax 
und 2/3 Umax. Umax ist dabei die Ladespannung (üblicherweise die 
Versorgungsspannung). Statt 1/3 und 2/3 gehen auch andere Werte, z.B. 
1/2 und 3/4.

Bei dieser Methode muss man den Kondensator nur unter die im Beispiel 
genannten 1/3 Umax entladen, statt auf 0V. Weiterhin, und das ist sehe 
nett, fällt bei der Kapazitätsberechnung Umax raus, so dass man den 
genauen Wert der Betriebsspannung nicht kennen muss. Sie muss nur über 
den Messzeitraum stabil sein.

von Hans (Gast)


Lesenswert?

@Peter:

So viel genauer wird das nicht.. du musst schauen, dass du möglichst 
deinen Zählerwert und deine Spg-Änderung maximierst...

Also eine Kombination aus beidem wäre sicher das idealste...

Const-I quelle (damit dein dU/dt nicht nach einer e-Potenz abnimmt 
sondern konstant bleibt) die bis 5V (5V weil man will ja auch 6.3V Cs 
messen ;) konstant bleibt zum laden

Bei 5V einen Analog-komperator damit man weis wann das vorgekommen ist.
dann rechnet man eben mit dem Zählerwert die Kapazität aus

oder beim Timer-Overflow aufhören zu laden und schaun welche Spannung am 
C anliegt...
Damit bekommt man auch die Kapazität...


Beides wird aber bei langen Messzeiten zum Problem... Stichwort 
"Dielektrische Absorbtion"... Weiters gibts dann noch einen Parallel-R 
der bei kleinen I ziemlich ins Gewicht fallen kann....

Ich würd also vorteilhafter weise wenns genau sein soll mit 
Wechselstrom/spannung arbeiten.. da bekommt man dann die Parasiten vom 
DUT "gratis" mit aus der Messung ;)

Es ist also eine Frage der gewünschten Genauigkeit... ich würde mal 
sagen zum Elko-Messen reicht Spannung vor und nach dem Sprung messen und 
die Zeit Messen locker aus ;)

Willst du hochpräziese C bestimmen würd ich Wechselspg an ein RC-Glied 
anlegen und die Phase bestimmen... oder gleich mit einer Brücke 
arbeiten...

73

von Peter D. (peda)


Lesenswert?

Hans wrote:
> So viel genauer wird das nicht.. du musst schauen, dass du möglichst
> deinen Zählerwert und deine Spg-Änderung maximierst...

Na aber hallo, das wird wesentlich genauer, da viele Fehlerquellen 
wegfallen (z.B. VCC kürzt sich raus).

Außerdem hat der ADC nur popelige 10Bit, ein Timer kann dagegen 32Bit 
Auflösung ohne Probleme (größerer Meßbereich).


> Also eine Kombination aus beidem wäre sicher das idealste...

Wüßte nicht wozu. Der ADC bringt garnichts.


> Const-I quelle (damit dein dU/dt nicht nach einer e-Potenz abnimmt
> sondern konstant bleibt) die bis 5V (5V weil man will ja auch 6.3V Cs
> messen ;) konstant bleibt zum laden

Na super, damit der TK Deiner Stromquelle auch noch die Messung 
verfälscht.
Es reicht völlig, die Komparatorschwelle nicht in den oberen flachen 
Bereich der E-Funktion zu legen, 50% ist ein guter Wert.


> Beides wird aber bei langen Messzeiten zum Problem... Stichwort
> "Dielektrische Absorbtion"... Weiters gibts dann noch einen Parallel-R
> der bei kleinen I ziemlich ins Gewicht fallen kann....

Kein Problem, einfach verschiedene zuschaltbare Ladewiderstände vorsehen 
(Autorange).


> Ich würd also vorteilhafter weise wenns genau sein soll mit
> Wechselstrom/spannung arbeiten.. da bekommt man dann die Parasiten vom
> DUT "gratis" mit aus der Messung ;)

Er will bestimmt nicht ein 10.000,-€ Meßgerät nachbauen.


Peter

von Johnny Maxwell (Gast)


Lesenswert?

Für die MSP430 gibt es da eine nette Appnote dazu:

http://focus.ti.com/general/docs/techdocsabstract.tsp?abstractName=slaa129b

Dort wird zwar ein unbekannter Widerstand benutzt um einen bekannten 
Kondensator zu laden aber das geht natürlich ohne Probleme auch 
andersherum. So hab ich mir zumindest mal ein Kapazitätsmeßgerät gebaut 
:)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.