Forum: Mikrocontroller und Digitale Elektronik kapazität berechnen


von Tobi W. (todward)


Lesenswert?

Hallo,

Ich habe hier mit meinem STK500 und einem Atmega16 mit 16mhz quarz einen 
C-Messer programmiert.

1) Ich setzte einen portpin auf high und lade damit über einen 1k 
widerstand den zumessenen Kondensator. Zeitgleich dazu starte ich den 
timer1 der mit jede µs eine isr liefert. In der isr zähle ich eine 
variable hoch.

2) Ich frage solange den ADC ab bis er den wert 1023 (5V) annimmt.
3) Ist der adc wert erreicht, speichere ich die zeit (variablen wert) ab 
und zeige ihn auf einem lcd an.

das funktioniert auch soweit und ich erhalte auch reproduzierbare 
ergebnisse.

Jetzt zu meinem problem:
Wie kann ich daraus die kapazität errechnen?
Spannung und strom sin ja durch die widerstände fest.

eine formel mit erläuterung wären sehr nett. Oder eine seite, wo ich mit 
das anschauen kann, wäre auch schon gut.

Gruß
Tobi

von Wayne M. (vibra)


Lesenswert?

moin moin

Kondensator im Gleichstromkreis :-)

http://www.elektronik-kompendium.de/sites/grd/0205301.htm

mit ein bischen mehr mathe ...
http://www.uni-protokolle.de/foren/viewt/75809,0.html

mit ein bischen weniger ...
http://www.wer-weiss-was.de/theme59/article2453352.html


mfg

von Anja (Gast)


Lesenswert?

Hallo,

bei Abschaltung mit 5V wird die Sache sehr ungenau weil bei 5V die 
Spannung nur noch sehr langsam ansteigt.
Eine bessere Idee wäre z.B. die Messung bei exakt 63,2% (1 - 1/e) zu 
beenden.
Hier ist dann t = R * C bzw. C = t / R.

von zwieblum (Gast)


Lesenswert?

I = C * (dU / dT)

aber pass auf, die kapazität eines kondensators ist frequenzabhängig und 
hat lustige buckel. normalerweise wird aber nur der wert für 100 Hz 
angegeben.

von Tobi W. (todward)


Lesenswert?

Hallo,
erstmal danke für die beteiligung

Ich habe mit mal die links angeschaut. Beim elektronik kompendium habe 
ich das so annähernd verstanden. Bei den anderen eher weniger.

Werde jetz gleich nochmal die software umschreiben und den vorschlag von 
anja mit einbinden.
Aber wieso soll ich nach 63,2% und nicht nach 63% abschalten? Beim ELKO 
stand, das ein tau immer 63% sind.

Mal gucken wie genau das hinterher wird, wenn ich da dann nur noch ein 
paar pF brz nF daran habe. Soll hinterher mal den füllstand in einem 
dieser "Würfel-Palletten-Tanks" messen.
dazu hätte ich nämlich auch nochmal eine frage...
Wie kann ich die Kapazität bei vollem und leeren tank berechenen?
Also wasser hat ja einen dielektrikumswert von 81 und luft den wert 1. 
Also steigt ja die Kapazität beim vollen tank um das 81-fache gegenüber 
des leeren tanks.
Als Pol-Platten wollte ich ein Alurohr ausm Baumarkt nehmen und datrin 
dann eine 1,5mm^2 litze spannnen. Unten bleibt dann das rohr offen 
sodass dort wasser reinlaufen kann.

Gruß
Tobi

Edit:@anja: Welcher widerstand ist gemeint? der über den aufgeladen wird 
oder der über den entladen wird?

von Wayne M. (vibra)


Lesenswert?

ICh würde ihn auf 5 Volt aufladen und dann entladen ,dabei die Zeit 
messen bis er auf 63% entladen ist.

Alurohr in Wasser ist böse sehr böse :-) ,möglichst noch mit Kupferdraht 
drinn als 2te Elektrode - gibt eine schöne elektrolyse.
Nimm lieber 2 Edelstahl Elektroden mit 1cm Abstand (zur Not tuts auch 
Silberstahl/Federdraht rostfrei oder Schweissdraht ).
Wenns kürzer werden darf Kohle /Graphit (Bleistiftmine)

Zu dem Thema such mal hier im Forum nach Leitwertmessung

mfg

von holger (Gast)


Lesenswert?

>Als Pol-Platten wollte ich ein Alurohr ausm Baumarkt nehmen und datrin
>dann eine 1,5mm^2 litze spannnen. Unten bleibt dann das rohr offen
>sodass dort wasser reinlaufen kann.

Wasser leitet je nach Verschmutzungsgrad.
Da ist nix mehr mit Kapazität messen.

von Peter D. (peda)


Lesenswert?

Mit dem ADC erreichst Du nur eine geringe Zeitauflösung (>=52µs) und 
hast obendrein ne hohe CPU-Last.

Und die 1µs Interruptrate träumst Du, dazu bräuchtest Du mindestens nen 
100MHz Quarz am AVR.

Nimm den Analog-Komparator, Vergleiche mit der Bandgap (1,1V) und ab 
damit auf den ICP des Timers T1.

Welche Schwelle man exakt nimmt, ist wurscht, sie sollte allerdings noch 
auf nem steilen Bereich der Entladekennlinie (e-Funktion) liegen.
In jedem Fall ist die Zeit linear zur Kapazität.


Peter

von Tobi W. (todward)


Lesenswert?

Hallo,

>Und die 1µs Interruptrate träumst Du, dazu bräuchtest Du mindestens nen
>100MHz Quarz am AVR.
OK, das ich vllt keine 1µs isr habe kann vll sein aber ich habe 
zumindest den timer passend vorgeladen und den prescaler auf 1.

>Alurohr in Wasser ist böse sehr böse :-) ,möglichst noch mit Kupferdraht
>drinn als 2te Elektrode - gibt eine schöne elektrolyse.
Wieso sollte eine Elektrolyse stattfinden? Die anderen threads dazu habe 
ich schon gelesen. Ich brauche einfach nur einen Isolierten draht als 2. 
elektrode... Als alurohr und in der mitte eine isolierte kupferlitze.

>Mit dem ADC erreichst Du nur eine geringe Zeitauflösung (>=52µs) und
>hast obendrein ne hohe CPU-Last.
Das wusste ich gar net... dann muss ich das ja mal schleunigst ändern...
Ich habe im internet nochmal geguckt und habe mehrer schaltunden mit dem 
NE555 gefunden. Wo der sensor den ladekondesotor darstellt. Mit der 
wachsenden oder auch sikenden kapazität, ändert sich das tastverhältnis 
aum ausgang des NE555. Wenn ich jetzt noch mit nem Filter die pulse zu 
einer gleichspannung puffere, brauch ich die sachen nur mit dem adc vom 
mega16 einlesen und habe es... spart son bissel code.

Werde mir mal ne handvoll von den NE555 bestellen und dann mal ne 
schatung auf dem steckbrett aufbauen.

Danke an alle die sich beteiligt haben und mich weitergebrauch haben

Gruß
Tobi

von Peter D. (peda)


Lesenswert?

To W. schrieb:
> Werde mir mal ne handvoll von den NE555 bestellen und dann mal ne
> schatung auf dem steckbrett aufbauen.

Bloß nicht, die alten Dinger gehören ins Museum!

Nimm den analog Komparator, der ist genau für sowas vorgesehen.
Deshalb kann er ja auch als Capture Input geschaltet werden.


Peter

von Tobi W. (todward)


Lesenswert?

Wie genau muss ich denn dann den kondensator anschließen?
Genau so wie vorher auhc nur statt an den adc zu gehen, dann auf den 
analog comperator?

gruß
Tobi

von Anja (Gast)


Lesenswert?

>Bloß nicht, die alten Dinger gehören ins Museum!
Dann nimmt man halt die modernere C-MOS-Version TLC555 / TS555

>Nimm den analog Komparator, der ist genau für sowas vorgesehen.
Hat nur leider nicht die Genauigkeit (Temperaturstabilität) eines 555.

>Wo der sensor den ladekondesotor darstellt. Mit der
>wachsenden oder auch sikenden kapazität, ändert sich das tastverhältnis
>aum ausgang des NE555.
Normalerweise ändert sich nicht das Tastverhältnis sondern die 
Frequenz!!!
Es sei denn Du verwendest das ganze als periodisch getriggertes 
Monoflop.

von Tobi W. (todward)


Lesenswert?

Ab wann schaltet der komperator eigentlich?
Hab ich noch iergenswo was zu gefunden...
In einem anderen Thread über das messen von kapazitäten wurde gesagt, 
das der schaltpunkt ziemlich ungenau sei.

Gruß
Tobi

von Ulf R. (roolf)


Lesenswert?

To W. schrieb:

> Werde jetz gleich nochmal die software umschreiben und den vorschlag von
> anja mit einbinden.
> Aber wieso soll ich nach 63,2% und nicht nach 63% abschalten? Beim ELKO
> stand, das ein tau immer 63% sind.

1. Antwort: Beide Grenzen sind falsch. Korrekt ist einzig die Zahl 
1-1/e, wobei e die Eulersche Zahl ist (ungefähr 2.71...).

2. Antwort: Beide Grenzen sind richtig. In der Praxis muss man immer ein 
bisschen überlegen, wie denn das Gesamtsystem aussieht und wo überall 
Genauigkeit sinnvoll ist. Schon der Widerstand, über den Du misst, hat 
eine Genauigkeit von ±1% (oder ±10% wenn er noch billiger war). Da lohnt 
es sich schlicht nicht mehr, über die Frage nach ±0,3% in der 
Zeitkonstanten nachzudenken.

von Peter D. (peda)


Lesenswert?

Anja schrieb:
>>Nimm den analog Komparator, der ist genau für sowas vorgesehen.
> Hat nur leider nicht die Genauigkeit (Temperaturstabilität) eines 555.

Ist das nur eine Annahme von Dir oder kannst Du das auch belegen?

Für Präzisionsanwendungen ist der 555 auf keinen Fall geeignet. Der 
Bipolartyp hat nen viel zu hohen Biasstrom und der CMOS-Typ ne hohe 
Offsetspannung. Und der TK der internen Widerstände ist auch nicht 
besonders.

Aber hier dürfte das eh keine Rolle spielen, eine Genauigkeit von 2-3 
Digits sollte vollkommen reichen.


Peter

von Kai Klaas (Gast)


Lesenswert?

Der Komparator des ATMEGA16 zeigt +/-40mV Offset, bei Vin = Vcc/2 = 
2,5V. Das sind +/-1,6% Fehler.

Die obere Schaltschwelle des TLC555 liegt bei 3,3V +/-0,5V. Das sind 
+/-15% Fehler. Die untere zeigt sogar +/-18% Fehler.

Läßt man den TLC555 aber als astabilen Multivibrator laufen, kann die 
Frequenz um nur +/-3% daneben liegen, fehlerfreies Rt und Ct 
vorausgesetzt.

So gesehen liefert der ATMEGA16 die genauesten Resultate. Allerdings 
dürfte der TLC555 als astabiler Multivibrator die geringste Drift 
zeigen.

Kai Klaas

von Peter D. (peda)


Lesenswert?

Kai Klaas schrieb:
> So gesehen liefert der ATMEGA16 die genauesten Resultate. Allerdings
> dürfte der TLC555 als astabiler Multivibrator die geringste Drift
> zeigen.

Warum sollte ein über 20 Jahre älterer IC besser sein?
Wenn der ADC 10 Bit schafft, warum sollte man dann den Komparator 
absichtlich schlechter machen?

Der 555 ist mal als Blinker oder Eieruhr konzipiert worden, mehr nicht.


Peter

von Kai Klaas (Gast)


Lesenswert?

@Peter
>Wenn der ADC 10 Bit schafft, warum sollte man dann den Komparator
>absichtlich schlechter machen?

Zweifelst du jetzt die 40mV aus dem Datenblatt an?

>Der 555 ist mal als Blinker oder Eieruhr konzipiert worden, mehr nicht.

Na na, jetzt übertreibst du aber...

Kai Klaas

von Peter D. (peda)


Lesenswert?

Kai Klaas schrieb:
> Zweifelst du jetzt die 40mV aus dem Datenblatt an?

Nö.
Das bezog sich nur darauf, daß der Komparator nen riesen TK haben soll.
Den Offset kann man ja leicht rausrechnen (EEPROM).

>>Der 555 ist mal als Blinker oder Eieruhr konzipiert worden, mehr nicht.
>
> Na na, jetzt übertreibst du aber...

Zu DDR-Zeiten gabs mal ein 555-Anwendungs-Heftchen.
Präzisionsanwendungen waren keine dabei.

Wie gesagt 2-3 Digits sollten der 555 aber auch der AVR alleine 
schaffen.


Peter

von Wayne M. (vibra)


Lesenswert?

Der grösste Z80 Chip der Welt , von innen begehbar :-)

von Tobi W. (todward)


Lesenswert?

Aber wie schließe ich den kondesator jetz an?

Genauso wie ich das vorher auhc gemacht habe?Nur nicht über den adc 
messen sondern am Analog-Komperator?

Wann schaltet denn der Komperator? Bei Vcc/2 oder erst bei Vcc?

Gruß
Tobi

von Kai Klaas (Gast)


Lesenswert?

@To
>Wann schaltet denn der Komperator? Bei Vcc/2 oder erst bei Vcc?

Das kannst du selbst bestimmen. Der Komparator hat ja zwei Eingänge. Den 
einen hängst du an deine Referenzspannung, bei der er schalten soll, 
etwa Vcc/2, mit einem Spannungsteiler und an den anderen hängst du 
deinen Kondensator (anderer Anschluß an Masse). Je nachdem, welcher 
Eingang größer ist als der andere, schaltet der Ausgang des Komparators 
nach 0 oder 1.

Kai Klaas

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.