Forum: Mikrocontroller und Digitale Elektronik Kapazität messung ohne 555 oder anderen Timer


von Yalda (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute
die Kapazität zwischen 1nf und 10nf möchte ich mit einen Atmega48 
mikrocontroller messen aber ohne einen externalen Timer. Einfach mit 
zwei Widerstände. Schauen Sie bitte den Schaltplan. Kapazität von 
gezeichneten Kondensator ist zu messen. Am anfang werde ich PB0 als 
Eingang definieren, Strom fließt Über R2 und C, und Kondensator wird 
eladen,(Wegen ein internal widerstand für 1M fließt kein strom in mikro 
rein). Ladezeit wird mit dem Timer0 gemessen.Dann wird PB0 als Ausgang 
definiert und da 1M nicht mehr da ist, wird der kondensator über 1K 
widerstand entladen. Gemessende Kapazität soll dann später auf einen 
LCD(PORTC)gezeigt werden. Meine Frage ist ob es möglich ist. Sieht 
jemand irgend ein Problem in dem Fall?
Grüße
Yalda

von Karl H. (kbuchegg)


Lesenswert?

Die Ladespannung würde ich nicht fest an Vcc legen, sondern an einen 
anderen µC Pin. Dann kann man laden - entladen dadurch steuern, dass man 
diesen (Ausgangs-) Pin auf 0 oder 1 legt.

von Düsentrieb (Gast)


Lesenswert?

das geht schon...
wenn du die messung nicht extrem genau brauchst, so gehts noch 
einfacher:
nur der c an nen pin :
out:0 -> c entladen
in+pullup -> c lädt auf
poll/zählschleife -> zeit messen, bis pin auf hi geht
fertisch

von (prx) A. K. (prx)


Lesenswert?

Funktioniert präziser, wenn man den Analog Comparator verwendet.

von Yalda (Gast)


Lesenswert?

erstmal danke für alle Antworten.
Aber wird nicht viel Strom beim Entladen auf micro fließen besonderes 
wenn man kein außeren Wiederstand benutzt?
Yalda

von (prx) A. K. (prx)


Lesenswert?

So geht's besser:
1
Pin1 ---------
2
             |
3
             R
4
             |
5
Pin2(AC) ----+
6
             |
7
             C
8
             |
9
            GND

von Düsentrieb (Gast)


Lesenswert?

im prinzip ja..
bei 10nf ca 100ma 1us lang...das macht dem port keine sorgen
aber dir..? dann mach 100 ohm an den port, somit max. 50ma möglich, das 
entspricht dann dem db

von Yalda (Gast)


Lesenswert?

Warum ist es nicht genau? Ich brauche die Genauigkeit von "0.001". Geht 
es?

von Yalda (Gast)


Lesenswert?

Dass heißt in piko bereich.

von (prx) A. K. (prx)


Lesenswert?

0.001pF oder 0.001% oder 0.1%? Wenn relative Genauigkeit: wie weit 
runter? 0,1% von 2pF würde interessant.

von Yalda (Gast)


Lesenswert?

Das heißt zum beispiel 2,004 nf

von pq (Gast)


Lesenswert?

Ich habe sowas mal gemacht.
Genau wurde dann, als ich 2 Kondensatoren verwendet habe. Den, den Du 
messen willst, und einen Referenzkondensator.

Einmal wurde der eine, einmal der andere aktiviert, indem er auf Masse 
geschaltet wurde.

Habe ich zb 1.0nF als Referenz und messe ich einmal 3ms und beim 
Messkondensator 4.5ms, so ist der zu messende:

4.5/3*1nF=1.5nF

pq

von (prx) A. K. (prx)


Lesenswert?

Yalda schrieb:

> Das heißt zum beispiel 2,004 nf

Also 0,1% bis runter auf 1pF, also 1,001pF?

von Yalda (Gast)


Lesenswert?

Nein, Ich möchte die Kapazität auf meinem LCD so schreiben. 1,001 nF 
oder 1001 pF. Jetzt sehe ich die Kapazität ungenau in mein LCD, dass 
heißt die letzte Zahlen bleiben nicht konstant in LCD und ändern sich 
ständig. Zum Beispiel : 1,001 nf nach 100ms 1,003 nf und... . Ic wollte 
entdecken ob es mein Quellcode Problem ist oder Hardwareproblem. Bist du 
Fehlerrechnung Lehrer? Ich bin nicht gut in Fehlerrechnung, deswegen 
kein Ahnung 0,1% 0der 0.001 ;)

von Klaus D. (kolisson)


Lesenswert?

hallo yalda,

hier ein project, wo das so gemacht wird:

http://www.aplomb.nl/TechStuff/Elmcie/Elmcie.html

gruss

von (prx) A. K. (prx)


Lesenswert?

Bei Genauigkeiten gibt es in solchen Fällen immer zwei Angaben: eine 
relative Genauigkeit und eine absolute. Also beispielsweise 0,1% vom 
angezeigten Wert +/+ 10pF. Denn schon durch den Anschluss einen 
Kondensators an den Controller bist du mit einer parasitären und wohl 
kaum sonderlich konstanten Kapazität von mindestens 10pF dabei. Das 
macht eine Angabe von 1,001nF eher fragwürdig.

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.