www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Kondensatorgröße messen


Autor: Alex K (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
wie kann ich einen Kondensator ziemlich exakt mit dem µC messen lassen?
Ich hab nämlich einen Feuchtesensor, und der ist ein variabler
Kondensator. Andere Sensoren (~1µF) lass ich über ne Astabile Kippstufe
mit einem NE555 ausmessen, der ein Rechtecksignal je nach
Kondensatorgröße erzeugt. Nur ist mein Problem, dass der Feuchtesensor
im Bereich von 120pF und 180pF liegt, und der NE555 ist eben zu ungenau
um so kleine Werte zu "messen". Ich hab auch schon das hier gefunden:
http://www.mikrocontroller.net/forum/read-1-85196.htm nur das hilft mir
nicht wirklich weiter.
Ich hab 'nen 8515, und der sollte laut Beschreibung einen
Analog-Komparator haben. Nur hab ich noch nie mit dem gearbeitet, und
weiß deshalb auch nicht, wie ich den per Code ansprechen und auswerten
lassen kann. Hat mir also jemand zufällig eine Idee und ein bisschen
asm-Code, wie ich den Analog-Komparator bedienen kann?

thx

Autor: Simon Küppers (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guck mal hier:
http://www.mikrocontroller.net/wiki/AVR-GCC-Tutori...

Wenn du den Widerstand fest dimensionierst, kannst du den Kondensator
messen.

Autor: Gerhard Gunzelmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sponatn fallen mir 3 Methoden ein:

- mit Hilfe eines Oszillators (RC): Frequenzmessung
- Ladezeit messen beim Anlegen eines Konstantstromes
- Sinusschwingung an RC Reihenschaltung und Signalpegel am R messen

Umsetzung:
Bequem geht das mit dem 1. Vorschlag: XR2206 VCO aufbauen, den Cx
anschließen und die Frequenz messen. dafür brauchz man aber ein solches
IC. Vorschlag 2 erfordert einen schnellen Timer, besonders bei kleinen
Kapazitäten. Vorschlag 3 ist unangenehem, da man hier entweder den
Sptzenwert der Sinusschwingung oder den Effektivwert mißt. Also ich
würde mich an Vorschlag 2 machen.
Formel: U = I*t/C

Gerhard

Autor: Marko B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Alex K (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also praktisch so:

        |------------------|
        |                  |(A)
        |                  -------
        |                  |    .-.
        |                  |    | | R = 10M
        |                  |    | |
        |                  |    '-'
        |                  |(B)  |
        |       uC         -------
        |                  |     |
        |                  |    ---
        |                  |    --- Cx
        |                  |     |
        |                  |     |
        |                  |    ===
        |                  |    GND
        |                  |
        |                  |
        |------------------|

A ist Ausgang: einschalten, B mit Interrupt (D2) verbinden und auf
Interrupt warten?
Müsste das so gehen?

Dann wäre ja U*C/I=t bei I=U/R ==> R*C=t bei R=10M und C=150pF =>
0,0015 sec. Müsste sich ja eigentlich gut auslesen lassen.

Aber funktioniert das überhaupt so, wie ich oben gedacht habe?

thx

Autor: Gerhard Gunzelmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Alex

grundsätzlich ja. Nur ist der Strom bei der Schaltung nicht konstant.
Damit ist die Ladekurve keine Gerade. Aber nach "Ladezeit = 5 Tau"
und Tau = R*C kann man das annähernd so berechnen. Fehler müßte man mal
berechnen. Aber sonst wäre das eine billige Lösung.

Gerhard

Autor: Gerhard Gunzelmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach ja und nochwas: Besser wäre es vermutlich einen Komparator zum
Erfassen der Spannung am C zu verwenden, genauer gesagt ein C-MOS
Komparator, damit Ströme aus dem IC, wie vermutlich auch aus dem uC
sonst die Messung negativ beeinflussen.

Gerhard

Autor: Alex K (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was denkst du, wie groß wäre der Fehler in etwa bei einem so kleinen
Konensator? (~150pF)

Autor: Simon Küppers (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hm. Die Sache mit dem Konstantstrom ist durchaus nachvollziehbar. Was
haltet ihr hiervon?

Autor: Gerhard Gunzelmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Den Fehler, den man über die Konstant-Spannungsaufladung macht kann man
wohl gleich in die Berechnung einbeziehen. Im Moment fällt mir nichts
ein, warum der Fehler von der Größe des Kondesators abhängig sein
könnte. Also es muß sichergestellt sein, daß zu Beginn der Messung der
Kondesator leer ist, dann unterstell ich, daß aus dem
Mess-Komparator-Eingang kein Strom herauskommt, dann ist Deine
Messungenaugkeit nur noch von Deinem uC anhängig (Auflösung). Du mißt
dann bei einer Spannung von 5,0 Volt am Ausgang des uC bis zu einer
Spannung von sagen wir mal 4,0 Volt. Da würd ich mal eine Genauigkeit
von besser 3% annehmen.

Gerhard

Autor: Gerhard Gunzelmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Simon

da fließt aber kein Konstantstrom.


Gerhard

Autor: Gerhard Gunzelmann (Gast)
Datum:
Angehängte Dateien:
  • preview image for cc.jpg
    cc.jpg
    3,87 KB, 179 Downloads

Bewertung
0 lesenswert
nicht lesenswert
Im Anhang ist eine Konstantstromquelle, die ist aber leider nicht
temperaturstabil - aber mal so als Beispiel

Gerhard

Autor: Simon Küppers (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieso fließt da kein Konstantstrom?
Durch den Basisstrom(Begrenzt durch Basiswiderstand) *
Verstärkungsfaktor fließt ein bestimmte Strom durch Uce

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit dem Konstanstrom ist absoluter Bullshit !

Die Aufladezeit bis zu einer bestimmten Spannung ist völlig linear zur
Kapazität.


Im Gegenteil:

Bei Aufladung über einen Widerstand und 2 Widerständen als
Spannungsteiler am anderen Komparatoranschluß ist die Messung sogar
unabhängig von Temperaturschwankungen der VCC.

Die AVR-Bauer haben da schon mitgedacht und deshalb kann der Komparator
direkt den Captureinterrupt (= Zeitmeßinterrupt) ansteuern.


Peter

Autor: Gerhard Gunzelmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Simon: Wie berechnest Du den Basiswiderstand für einen Emitterstrom von
etwa 1uA ? Theoretisch hast Du natürlich recht. Mit einem
Basiswiderstand kann man den Kollektorstrom beeinflussen, aber ob das
für einen Konstantstrom reicht - und das thermisch stabil ?

gerhard

Autor: Kupfer Michi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Transistor-LED-Konstant-Stromquelle:
http://www.elektronik-kompendium.de/public/schaere...

Der Transistor-LED- und der FET-Konstantstromzweipol:
http://www.elektronik-kompendium.de/public/schaere...

(Hab gerade eben zufällig ein paar von den Dingern auf Vorrat fürs
Steckbrett gemacht. Den FET-Konstantstromzweipol kann man vergessen,
viel zu weiche Stromregelung)

Aber wie Peter schon bemerkte für eine C-Meter braucht man keine
Konstantstromquelle.

Autor: gerd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jetzt bin ich aber mal gespannt, ob das geht! Nach meiner überschlägigen
Rechnung ist ein 150pF-Kondensator mit einem einzigen mA
(Konstant-)Strom in etwa 375 Nanosekunden auf die halbe
Betriebsspannung aufgeladen. Bin gespannt, wie der Zeitloop aussieht,
der das misst!

mfg
gerd

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bin insgesamt gespannt was die Genaugkeit angeht. Wenn das nicht bloss
eine Daumenpeilung werden soll, dann sollten ja die parasitären
Kapazitäten, die rund im den Kondensator auch noch mitmischen,
allenfalls im einstelligen pF-Breich liegen. Wobei der Analog
Comparator Pin vom µC schon mal selbst mit max 10pF dazu beiträgt.

Wenn also der Aufwand sich in Grenzen halten sollte, dann wird's wohl
ohne rechnerische Kompensation des solcherart inhärenten Messfehlers
kaum abgehen. Sprich: Test und Kalibrierung im gesamten Temperatur- und
Feuchtebereich in dem das arbeiten soll.

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@A.K.

eine 3-stellige Genauigkeit ist ohne weiteres drin.

Zum Abgleich brauchst Du nur einen möglichst genauen Kondensator.

Und den Nullpunkt abzuziehen kostet in Software nur ne simple
Subtraktion.


Peter

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dreistellig, also auf 0,x%, <1pF? Wie genau und konstant sind solche
parsitären Kapazitäten (z.B. die Leiterbahnen auf der Platine) über den
Temperatur- und Feuchtebereich in dem die Schaltung messen soll und in
dem sie selbst sich befindet?

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo wir grad bei Parasiten sind... Wenn der AVR eine 3-stellige
Zeitmessung vornehmen soll, dann muss sollte die Messdauer ja wohl
mindestens einige zig µsec betragen. Ich kriege dabei einen Widerstand
in der Grössenordnung von einem halben MOhm raus. Nun haben µC Pins
nicht bloss parasitäre Kapazitäten sondern auch Leckströme. 1µA max
laut Datasheet. 0.5MOhm und 1µA...

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Feuchte spielt überhaupt keine Rolle, solange natürlich nicht der
Leckstrom des Kondensators zu hoch wird.
Bei einem Ladewiderstand von 1MOhm sollte der Kondensator etwa >1GOhm
haben.

Um Temperaturschwankungen gering zu halten, sollte der Ladewiderstand
einen möglichst geringen TK haben.


Peter

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also A.K haut ganz schön auf die Tüte. Eine Genaugigkeit (nicht
Auflösung) von 3 Stellen ist wahrscheinlich gar nicht nötig, weil (die
meisten) kapazitiven Feuchteensoren eh ziemlich ungenau sind. Die
Temperatur muss sowieso zwingend mitgemessen werden, da die Kapazität
des Sensors und die relative Feuchte temperaturabhängig sind und
korrigiert werden müssen.

Ein Blick ins Datenblatt sagt, der AnalogKomperator des 8515 hat einen
Leckstrom von 50n(nano)A, das entspricht bei 5V einen
Eingangswiderstand von 100M(mega)Ohm.

Trotzdem würde ich die Schaltung mit einem externen Komperator
aufbauen. Nimm die CMOS-Variante des 555 => ICM7555 von MAXIM hat
Eingangsströme im pA-Bereich und kann Kondensatoren im 10pF-Bereich
noch handeln. Am kontinuierlich erzeugten Takt über den Zähler des 8515
die Frequenz messen sollte dann kein Problem sein. Die Versorgung des
555 muss gut stabilisiert und gepuffert sein.

Sven

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die 3 Stellen waren ja nicht meine Idee, ich hab da bloss Peter etwas
Kontra gegeben ;-). Dass für den Komparator andere Werte gelten hatte
ich übersehen, danke.

Autor: gerd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei Kapazitäten im 100pF-Bereich neige ich eher dazu, einen sauberen
LC-HF-Oszillator im MHz-Bereich zu empfehlen als so ein Digitalmonster
von 555. Die Diagramme im Data sheet gehen alle nur bis 10
mikrosekunden, und das dürfte dann doch eineinhalb Größenordnungen zu
langsam sein für das Lade/Vergleich/Entlade-Prinzip vom 555.

mfg
gerd

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.