Trimmerkondensatoren: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
 
(34 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 26: Zeile 26:
| Kapazität<br/> ||1,5 - 5&thinsp;pF<br/>
| Kapazität<br/> ||1,5 - 5&thinsp;pF<br/>
|}
|}
= Prinziperklärung =
= Prinziperklärung =
Man kann mit einem Arduino sehr gut Kondensatoren im uF Bereich vermessen.
Man kann mit einem Arduino sehr gut Kondensatoren im uF Bereich vermessen.
Zeile 44: Zeile 45:
Der Spannungsteiler mit dem Kondensator bleiben.
Der Spannungsteiler mit dem Kondensator bleiben.
Aufgrund des sehr kleinen Kondensators, muss der Widerstand sehr groß gewählt werden hier im MOhm Bereich.
Aufgrund des sehr kleinen Kondensators, muss der Widerstand sehr groß gewählt werden hier im MOhm Bereich.
Im Ersten Schritt wird der Digitalport auf LOW gesetzt.
Dann wird die Zeit gemessen, bis der Kondensator aufgeladen ist und dadurch sich der Pegel am Digitalport auf HIGH ändert.
Dadurch lässt sich die Kapazität des Kondensators bestimmen.


Ladegesetz:


<math>\tau=\frac{-t}{RC}</math>


Direktmessung mit Arduino (RC-Ladezeit)
<math>V(t)=Vcc(1-e^{\tau})</math>
 
Prinzip: Trimmer bildet mit hochohmigem Widerstand einen RC-Lader. Arduino schaltet Pin auf HIGH → misst Ladezeit bis Input als HIGH erkannt wird. Vorteil: nur Arduino (keine Zusatz-ICs). Nachteil: sehr empfindlich gegen Leckströme, Störungen; nötige Widerstandswerte sind groß.
 
 
 
(Anmerkung: Pin D2 wird als Eingang gemessen; für Ladevorgang schaltest du vorher ein Ausgang auf LOW/INPUT usw. — Code sorgt dafür.)
 
Teile


Arduino (Uno/Nano)
mit der Annhame, dass beim DigitalPort vom Arduino die Input Schaltschwelle bei <math>Vth=0,63Vcc</math> liegt.


R = 4.7 MΩ (oder 10 MΩ, siehe Hinweise)


Trimmer (1.5–5 pF)
t≈−RCln⁡(1−VthVcc)≈R⋅C t≈−RCln(1− V cc ​V th ​)≈R⋅C


kurze, abgeschirmte Verbindungskabel, Masse gut verbinden
(bei Vth≈0,63Vcc V th ​≈0,63V cc ​ist der Faktor ≈1).


Theorie (genau, Ziffern)
Beispiel (R = 4,7 MΩ):
 
Ladegesetz: V(t)=Vcc(1−e−t/(RC)) V(t)=V cc ​
 
(1−e −t/(RC) ). Wenn die Input-Schaltschwelle Vth≈0,63 Vcc V th ​
 
≈0,63V cc ​
 
gilt, dann ist
 
t≈−RCln⁡(1−VthVcc)≈R⋅C t≈−RCln(1− V cc ​
 
V th ​
 
 
)≈R⋅C
 
(bei Vth≈0,63Vcc V th ​
 
≈0,63V cc ​
 
ist der Faktor ≈1).
 
Beispiel (R = 4{,}7 MΩ):


C = 5 pF → τ=RC=4,7⋅106⋅5⋅10−12=23,5 μs τ=RC=4,7⋅10 6 ⋅5⋅10 −12 =23,5 μs
C = 5 pF → τ=RC=4,7⋅106⋅5⋅10−12=23,5 μs τ=RC=4,7⋅10 6 ⋅5⋅10 −12 =23,5 μs
Zeile 98: Zeile 71:
Messschaltung zur Messung des Winkels mittels Drehkondensator  
Messschaltung zur Messung des Winkels mittels Drehkondensator  


[[Datei:Screenshot 2025-10-22 144238.png|500px|Simulation einer Messschaltung für kleine Kondensatoren im pF Berreich]]
[[Datei:Screenshot 2025-10-27 140010.png|500px|Simulation einer Messschaltung für kleine Kondensatoren im pF Berreich]]


= Messung =
= Messung =
Um Ihre Schaltung an die Software anzupassen, müssen Sie folgendermaßen vorgehen.
Jede Annäherung Ihres Körpers an die Kabel verstimmt Ihre Schaltung.
Bauen Sie die Schaltung nach Abbildung auf. Dann führen Sie eine Testmessung durch, diese dient dazu den Offset ihrer Schaltung zu bestimmen.
Dazu drehen sie mit dem beiliegenden Kunststoffschraubendreher vorsichtig, ohne die Position ihrer Kabel zu verändern, den Kondensator so lange bis sie ein Minimum erreicht haben.
Diesen Wert müssen sie sich merken, er sollte 1,5pF betragen, die minimale Kapazität des Kondensators.
Sollte der Wert nicht passen, müssen Sie die Messkonstante in Zeile 25 C_pf_Leitung so lange anpassen, bis Ihr minimaler Wert 1,5pF anzeigt.
Nun sollte beim Drehen des Kondensators die Kapazität zwischen 1,5pF und 6,2pF schwanken.
Sollte der inzwischen angezeigte maximal Wert größer sein als 6,2pF müssen Sie den Wert in Zeile 26 const float C_pf_max =6.2 anpassen.
Jetzt bekommen Sie einen Messwert von 1,5pF -6,2pF sowie eine passende Winkelanzeige zwischen 0 und 180°.
Beispielhafte Messung mit Ausgabe der Kapazität des Kondensators und des Drehwinkels.
Beispielhafte Messung mit Ausgabe der Kapazität des Kondensators und des Drehwinkels.


Zeile 108: Zeile 91:
Link zum Demo im ArduinoUnoR3 Ordner
Link zum Demo im ArduinoUnoR3 Ordner
*[https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/ArduinoUnoR3/examples/DemoTrimmKondensator5pF// SVN: Arduino Bibliothek/Beispiele]
*[https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/ArduinoUnoR3/examples/DemoTrimmKondensator5pF// SVN: Arduino Bibliothek/Beispiele]
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong><code>DemoTrimmKondensator5pF.ino</code>&thinsp;</strong>
|-
|<syntaxhighlight lang="matlab" style="background-color: #EFF1C1; font-size:small">
//-----------------------------------
//Trimmkondensator auslesen
// Vcc (5V)
//  |
//  R = 5MΩ
//  |
//  +----> Arduino digital Pin D2 (Input)
//  |
// C_trimmer (1.5..5 pF) --- GND
//
//
//
//
//
// arduino Uno Pin D2 Input
// Kabel miteinander verdrillen und kurz halten.
// Leitung und Steckbrett ergeben etwa 15-16pF Offset
//
//
//https://wiki.hshl.de/wiki/index.php/Trimmerkondensatoren#Prinziperkl%C3%A4rung
//22.10.2025
//-----------------------------------
const int measPin = 2; // Pin zum Messen
const unsigned int N = 200; // Mittelungsanzahl
const float C_pf_Leitung = 14.5; //Kapazität des Messaufbaus muss am Anfang gemessen werden und dann eingetragen werden.C_pf muss minimal1,5pF ergeben
const float C_pf_max =6.2; // Maximale Kapaziät des Kondensators
const float C_pf_min =1.5; // Minimale Kapazität de Kondensator
const unsigned int Drehwinkel =360; //Drehwinkel des Kondensators
void setup() 
{
  // put your setup code here, to run once:
Serial.begin(115200);
pinMode(measPin, INPUT);
}
//-----------------------------------
unsigned long measureTime()
{
// Entlade: Pin als Ausgang LOW kurz
pinMode(measPin, OUTPUT);
digitalWrite(measPin, LOW);
delayMicroseconds(20);
// Schalte auf INPUT (High-Z) und starte Zeitmessung bis HIGH
pinMode(measPin, INPUT);
unsigned long t0 = micros();
while (digitalRead(measPin) == LOW)
{
  if (micros() - t0 > 1000000UL) return 0; // Timeout (sicher)
}
return micros() - t0;
}
//-----------------------------------
void loop() {
  // put your main code here, to run repeatedly:
unsigned long sum = 0;
for (unsigned int i=0;i<N;i++){
  unsigned long dt = measureTime();
  if (dt==0) { Serial.println("Timeout"); break; }
  sum += dt;
  delayMicroseconds(100); // kurze Pause
}
float avg = (float)sum / N; // avg time in microseconds
// Näherung C = avg / R  (R in seconds -> R [ohm] * C [F] = seconds)
float R = 4.96e6; // Ohm
float tau = avg * 1e-6; // s
float C = tau / R; // Farad
float C_pf = C * 1e12; // pF
float C_pf_mess = C_pf - C_pf_Leitung; // abzug der Kapaziät des Messaufbaus
  //Umrechnung in Drehwinkel
float winkel=((C_pf_mess-C_pf_min)*Drehwinkel/(C_pf_max-C_pf_min))/2;
Serial.print("t_us="); Serial.print(avg);
Serial.print("  C_pf="); Serial.print(C_pf_mess, 3);
Serial.print("  Winkel="); Serial.println(winkel);
delay(200);
}
</syntaxhighlight>


=Hardwareaufbau=
=Hardwareaufbau=

Aktuelle Version vom 27. Oktober 2025, 14:03 Uhr

Abb. 1: Trimmerkondensator Vishay

Autoren: Marc Ebmeyer

Einleitung

Ein Trimmkondensator ist ein in einem festen Bereich einstellbarer Kondensator. In diesem Fall handelt es sich um einen Drehkondensator, da hier mehrere übereinander Liegende Kondensator Platten übereinander verdreht werden, wodurch sich die Gesamtkapazität ändert. Mit einen kleinen Schlitzschraubendreher lässt sich dieser Wert einstellen. Bei Präzisen Messungen nutzt man, um keine weiteren Kapazitäten zu verursachen, dazu Keramische Schraubendreher, wie z.B. beim einstellen von Oszilloskopen.

Thema: Kapazitive Winkelmessung

Technische Übersicht

Eigenschaft Daten
Isolationsspannung
VCC 150 V
Temperaturbereich
-40 - 70 °C
Min. Resonanz Frequenz
700 MHz
Kapazität
1,5 - 5 pF

Prinziperklärung

Man kann mit einem Arduino sehr gut Kondensatoren im uF Bereich vermessen. Dazu nutzt man einen Digital-Port des Arduinos als Signalgenerator und erzeugt mit Ihr Sprünge von LOW nach HIGH. Diese gibt man auf einen Spannungsteiler, siehe Abbildung. Nun kann man mit dem Analogeingang des Arduinos die ansteigende Flanke am Kondensator messen. Dabei ist zu beachten, dass am Arduino UNO der analoge Port zwar mit einem Innenwiederstand von 100Mega Ohm angegeben ist, aufgrund der Kapazitiven Messmethode des Arduinos am Analogeingangsport man mit 10k Ohm rechnen muss. R1 ist der Vorwiderstand für den Kondensator hier Beispielhaft für einen 100uF Kondensator siehe Simulation.

Simulation einer Messschaltung für Kondensatoren

Der hier vorliegende Kondensator hat allerdings maximal 5pF, sodass an die grenzen vom Arduino stößt, sowohl was die maximale Frequenz am Digital Ausgang, als auch was die maximale Frequenz.

Simulation einer Messschaltung für Kondensatore

Deswegen muss man die Messung ein wenig anpassen. Dabei treten verschiedene Probleme auf. Zum einen ist der Kapazitätsbelag des Steckbretts höher wie die 5pF zum anderen kommen zusätzlich hier die verwendeten Leitungen hinzu deren Kapazität ebenfalls in der Größen Ordnung liegen.

Bei der der hier benutzten Methode handelt es sich um eine abgeänderte Version des obriegen Modells. Der Signalgenerator wird durch die konstant Spannungsquelle des Arduinos ersetzt. Der Spannungsteiler mit dem Kondensator bleiben. Aufgrund des sehr kleinen Kondensators, muss der Widerstand sehr groß gewählt werden hier im MOhm Bereich. Im Ersten Schritt wird der Digitalport auf LOW gesetzt. Dann wird die Zeit gemessen, bis der Kondensator aufgeladen ist und dadurch sich der Pegel am Digitalport auf HIGH ändert. Dadurch lässt sich die Kapazität des Kondensators bestimmen.

Ladegesetz:

τ=tRC

V(t)=Vcc(1eτ)

mit der Annhame, dass beim DigitalPort vom Arduino die Input Schaltschwelle bei Vth=0,63Vcc liegt.


t≈−RCln⁡(1−VthVcc)≈R⋅C t≈−RCln(1− V cc ​V th ​)≈R⋅C

(bei Vth≈0,63Vcc V th ​≈0,63V cc ​ist der Faktor ≈1).

Beispiel (R = 4,7 MΩ):

C = 5 pF → τ=RC=4,7⋅106⋅5⋅10−12=23,5 μs τ=RC=4,7⋅10 6 ⋅5⋅10 −12 =23,5 μs

C = 1.5 pF → τ=7,05 μs τ=7,05 μs

Messschaltung

Messschaltung zur Messung des Winkels mittels Drehkondensator

Simulation einer Messschaltung für kleine Kondensatoren im pF Berreich

Messung

Um Ihre Schaltung an die Software anzupassen, müssen Sie folgendermaßen vorgehen. Jede Annäherung Ihres Körpers an die Kabel verstimmt Ihre Schaltung. Bauen Sie die Schaltung nach Abbildung auf. Dann führen Sie eine Testmessung durch, diese dient dazu den Offset ihrer Schaltung zu bestimmen. Dazu drehen sie mit dem beiliegenden Kunststoffschraubendreher vorsichtig, ohne die Position ihrer Kabel zu verändern, den Kondensator so lange bis sie ein Minimum erreicht haben. Diesen Wert müssen sie sich merken, er sollte 1,5pF betragen, die minimale Kapazität des Kondensators. Sollte der Wert nicht passen, müssen Sie die Messkonstante in Zeile 25 C_pf_Leitung so lange anpassen, bis Ihr minimaler Wert 1,5pF anzeigt. Nun sollte beim Drehen des Kondensators die Kapazität zwischen 1,5pF und 6,2pF schwanken. Sollte der inzwischen angezeigte maximal Wert größer sein als 6,2pF müssen Sie den Wert in Zeile 26 const float C_pf_max =6.2 anpassen. Jetzt bekommen Sie einen Messwert von 1,5pF -6,2pF sowie eine passende Winkelanzeige zwischen 0 und 180°.

Beispielhafte Messung mit Ausgabe der Kapazität des Kondensators und des Drehwinkels.

Ausgabe der Kapazität und des Drehwinkels mit HTerm

Demo

Link zum Demo im ArduinoUnoR3 Ordner