________________________________________________________________________________
Inhalt....: Aufladestromstärke eines Kondensators (R fest, C verändert)
Kategorie.: Unterrichtsmaterial
Mathematik: Physik
MuPAD.....: 3.0.0
Datum.....: 2004-01-22
Autoren...: Gert Kleinstück <gert.kleinstueck1@lspb.de>
Funktionen: readdata, plot, linReg, mean, import::readdata, plot::Point2d
Funktionen: plot::Polygon2d, Title, Labels,
________________________________________________________________________________
Aufladestromstärke eines Kondensators in
Abhängigkeit von der Zeit t
Vorgesehen für die 12te Jahrgangsstufe.
Kondensatoren verschiedener Kapazitäten C1,C2,... werden über einen ohmschen Widerstand
R aufgeladen. Die Stromstärke wird in Abhängigkeit von der Zeit t gemessen. Theoretisch ergibt
sich für die I-t-Abhängigkeit bekanntlich die Exponentialfunktion I(t) = Ioe-αt. mit α =1/Hier sollen
zunächst
1) reale experimentelle Messdaten eingelesen werden
und diese Daten dann ausgewertet werden zur
2) Untersuchung der exponentiellen Abhängigkeit durch Linearisierung der Messdaten,
3) Bestimmung von C1, C2, ... durch Integration,
4) Untersuchung des umgekehrt proportionalen Zusammenhangs zwischen α und C (bei
__festem R),
5) Betrachtung der ermittelten Werte für R.
Die Annahmen, die der Auswertung zugrundegelegt werden, können leicht verändert und die Aus-
wirkungen dieser Veränderungen durch wiederholtes Evaluieren dieses Arbeitsblatts in komfortabler
Weise eingeschätzt werden.
Anmerkung:
Die Messreihendateien, die unten in diesem Arbeitsblatt eingelesen werden, finden Sie in diesem
Web-Verzeichnis. Zum Download ersetzen Sie in der URL dieses Dokumentes einfach den Datei-
namen am Ende durch 'C_20_mikroF.txt', usw.
Da einige Graphen gezeichnet werden, empfiehlt es sich, zunächst die verwendeten
Funktionen der Bibliothek plot zur Verfügung zu stellen.
export(plot,Point2d,Polygon2d,Function2d,PointList2d):
_____________________________________________________________________
1)___Die Messdaten
a)___Externe Vorbereitung der Messdaten.
Zur Auswertung in diesem Arbeitsblatt müssen die Messdaten als ASCII-File vor-
liegen nach dem Muster 20.5<Leerzeichen>0.018 mit einem Messwertpaar pro
Zeile, wobei der erste Eintrag z.B. 20,5 ms bedeutet und der zweite 0,018 A und
beide Zahlen lediglich durch ein Leerzeichen getrennt sind.
Für die Aufnahme der Messreihen sind verschiedene Versuchsanordnungen
denkbar und in der Literatur beschrieben. Die Erstellung der ASCII-Files kann per
Einzeleingabe oder automatisiert erfolgen.
Hier wurden die Messdaten mit dem System CASSY der Firma Leybold Didactic
GmbH (Sensor-CASSY und CASSY Lab) aufgenommen in Anlehnung an die
Schaltung, wie sie in dem entsprechenden Beispiel des CASSY Lab - Handbuchs
angegeben ist.
Die Messdaten wurden mit folgenden Schritten zum Einlesen vorbereitet:
Kopieren der CASSY-Tabelle in ein Word-Dokument,
Auswahl der gewünschten Messdaten,
Ersetzen aller Tab-Zeichen durch ein Leerzeichen,
Ersetzen aller Kommas durch einen Punkt,
Speichern dieser Datei als Nur-Text
(Beispiel: 20 mikroF.txt im Verzeichnis: D:/MuPad/Messreihen/100 Ohm).
b)___Vorbereitung des vorliegenden Arbeitsblatts.
Es wird über einen Widerstand aufgeladen, der Gerätewert ist R.
R := 100 : // in Ohm
Es liegt die Spannung U an.
U := 9.5 : //in Volt
In anzmess wird die Anzahl der Messreihen festgelegt, die eingelesen werden
sollen.
anzmess := 6 :
unterverzeichnis enhält den Namen des Verzeichnisses in dem dieses
Arbeitsblatt liegt. Hier werden auch die Dateien der Messreihen erwartet:
unterverzeichnis := NOTEBOOKPATH:
wenn sich die Daten auf dem Laufwerk D: in dem Verzeichnis MuPad mit dem
Unterverzeichnis Messreihen befinden.
Im folgenden müssen noch die Namen der MessreihenFiles angepasst werden:
zum Beispiel C 20 mikroF.txt.
(Die Kapazitätsangaben ergeben sich aus externen C-Messungen. Weiter unten
wird C zum Vergleich anhand der Messdaten berechnet.)
messung[1] := import::readdata(unterverzeichnis."C_20_mikroF.txt"):
messung[2] := import::readdata(unterverzeichnis."C_38_mikroF.txt"):
messung[3] := import::readdata(unterverzeichnis."C_58_mikroF.txt"):
messung[4] := import::readdata(unterverzeichnis."C_74_mikroF.txt"):
messung[5] := import::readdata(unterverzeichnis."C_94_mikroF.txt"):
messung[6] := import::readdata(unterverzeichnis."C_112_mikroF.txt"):
c)___Die Messreihen werden in einem gemeinsamen Diagramm in
____-verschiedenen Farben dargestellt.
Dazu wird zur Messung i eine Liste von Punkten erzeugt, mit Laufindex j = 1 bis
zum Ende der vorhandenen Messwertliste. Jede Messwertreihe wird in einer
anderen Farbe dargestellt. Die weiteren Optionen: Festlegung der Punktgröße,
Verbinden der Punkte.
for i from 1 to anzmess do
zeige_mess[i] := Polygon2d([messung[i][j]
$ j=1..nops(messung[i])],
Color=[i/anzmess,1-i/anzmess,0.5],
PointSize=1.2*unit::mm, PointsVisible);
end_for:
Nach der Festlegung von Diagrammüberschrift und Achsenbezeichnungen werden
die Messreihen dargestellt.
plot(AxesOrigin = [0,0],
Header = "I-t-Diagramm beim Aufladen eines Kondensators",
XAxisTitle = "t in ms", YAxisTitle = "I in A",
zeige_mess[i] $ i = 1..anzmess)

_____________________________________________________________________
2)___Die Exponentialfunktion
CASSY Lab gestattet in komfortabler Weise die Bestimmung der Koeffizienten a und
die Untersuchung des für die Linearisierung geeigneten Bereichs. Entsprechendes
wird im folgenden ersten Teil kommentiert durchgeführt.
Die Messreihen werden linearisiert, indem in jeder Messreihe i und jedem Messwertpaar
j die erste Komponente [1] (also die Zeit in ms) unverändert bleibt und der natürliche
Logarithmus der zweiten Komponente [2] (also ln(I / A)) gebildet wird. Dies liefert neue
Listen von Wertepaaren lin_messung[i]. Wie oben werden diese in graphische
Objekte verwandelt.
Interessant ist dabei, welcher erste Anteil an den jeweiligen Messreihen zugelassen
werden soll. Dies lässt sich durch Variation der Variablen anteil untersuchen.
(Bei anteil = 0.4 also jeweils die ersten 40%).
anteil := 0.4 :
for i from 1 to anzmess do
lin_messung[i] :=
[[messung[i][j][1],ln(messung[i][j][2])]
$j = 1..floor(nops(messung[i])*anteil)];
zeige_lin_mess[i]:= Polygon2d([lin_messung[i][j]
$j = 1..nops(lin_messung[i])],
Color = [i/anzmess,1-i/anzmess,0.5],
PointSize = 1.2*unit::mm, PointsVisible)
end_for:
Die "linearisierten Graphen" werden ebenfalls in einem gemeinsamen Diagramm dargestellt.
plot(AxesOrigin=[0,0],
Header="ln(I)-t-Diagramm",
XAxisTitle = "t in ms", YAxisTitle = "ln(I/A)",
zeige_lin_mess[i]$i=1..anzmess)

Zu jeder Messreihe wird durch lineare Regression der Wert für ln( Io/A ) und a ermittelt.
for i from 1 to anzmess do
auswertung[i]:=stats::linReg(lin_messung[i])[1];
lnIo[i]:=auswertung[i][1] : alpha[i]:=-auswertung[i][2]
end_for:
Ergänzung:
Daraus lassen sich die Funktionsgleichungen I(t) = Ioe-αt gewinnen. Die zugehörigen
Graphen werden zum Vergleich zusammen mit den Original-Messreihen dargestellt.
for i from 1 to anzmess do
Io[i] := exp(lnIo[i]);
f[i] := Io[i]*exp(-alpha[i]*t);
anpass[i] := Function2d(f[i],
t=0..floor(nops(messung[anzmess])*anteil))
end_for:
plot(AxesOrigin=[0,0],
Header="I-t-Diagramm angepasst",
XAxisTitle="t in ms",YAxisTitle="I in A",anpass[i]$i=1..anzmess,
zeige_mess[i]$i=1..anzmess)

_____________________________________________________________________
3)___Die Kapazitäten C[ i ].
Mit den Ergebnissen aus Punkt 2) lässt sich ein Wert für die Kapazität C[ i ] gewinnen,
indem man für jede Messreihe das Integral (von t_start bis unendlich) in mAs berechnet
und diesen Wert durch die verwendete Spannung U teilt. An dieser Stelle lässt sich
durch Variation der unteren Integrationsgrenze t_start untersuchen, welche Annahme
für t_start für die Bestimmung der Kapazitätswerte plausibel ist.
t_start := 0.6:
for i from 1 to anzmess do
C[i]:= float(int(f[i], t=t_start..infinity))*1000/U // in mikroF
end_for:
C[i] $ i = 1..anzmess;
![]()
_____________________________________________________________________
4)___Der Zusammenhang zwischen a und C.
Mit den Ergebnissen aus Punkt 2) und Punkt 3) erhält man eine Messreihe für a in
Abhängigkeit von C.
alpha_C:=[[C[i],alpha[i]] $ i=1..anzmess]
![]()
Diese wird in ein graphisches Objekt verwandelt und dargestellt.
zeig_alpha_C := PointList2d(alpha_C, PointSize = 2*unit::mm):
plot(AxesOrigin=[0,0],
Header="alpha in Abhängigkeit von C bei festem R",
XAxisTitle="C in mikroF", YAxisTitle="a in 1/ms",
zeig_alpha_C)

Zur Linearisierung kann (L1) α gegen 1/C oder (L2) 1/a gegen C aufgetragen werden.
(L1) α in Abhängigkeit von 1/C
Zunächst werden die einzelnen Punkte dargestellt.
alpha_kehrwertC := [[1/C[i],alpha[i]]$i=1..anzmess]:
zeig_alpha_kehrwertC := PointList2d(alpha_kehrwertC, PointSize = 2*unit::mm):
plot(AxesOrigin=[0,0],
Header="alpha in Abhängigkeit von 1/C",
XAxisTitle="1/C in 1/mikroF", YAxisTitle="a in 1/ms",
zeig_alpha_kehrwertC)

Die Punkte liegen auf einer Geraden, deren Gleichung ermittelt wird. Punkte und Gerade
werden dargestellt.
ergebnis_L1 := stats::linReg(alpha_kehrwertC)[1]:
b_L1 := ergebnis_L1[1]:
m_L1 := ergebnis_L1[2]:
gerade_L1 := m_L1*x+b_L1:
zeig_gerade_L1 := Function2d(gerade_L1,x=0..1/C[1]):
plot(AxesOrigin=[0,0],
Header="alpha in Abhängigkeit von 1/C",
XAxisTitle="1/C in 1/mikroF", YAxisTitle="a in 1/ms",
zeig_alpha_kehrwertC,zeig_gerade_L1)

Aus der Steigung wird R ermittelt. Unter Berücksichtigung der Einheiten ergibt sich:
(Zahlenwert*1000) Ohm.
R_L1 := (1/m_L1)*10^3
![]()
(L2) 1/α in Abhängigkeit von C
Zunächst werden die einzelnen Punkte dargestellt.
kehrwertalpha_C := [[C[i],1/alpha[i]] $ i=1..anzmess]:
zeig_kehrwertalpha_C := PointList2d(kehrwertalpha_C, PointSize = 2*unit::mm):
plot(AxesOrigin=[0,0],
Header="1/alpha in Abhängigkeit von C",
XAxisTitle="C in mikroF",YAxisTitle="1/a in ms",
zeig_kehrwertalpha_C)

Die Punkte liegen auf einer Geraden, deren Gleichung ermittelt wird. Punkte und Gerade
werden dargestellt.
ergebnis_L2 := stats::linReg(kehrwertalpha_C)[1]:
b_L2 := ergebnis_L2 [1]:
m_L2 := ergebnis_L2 [2]:
gerade_L2 := m_L2*x+b_L2:
zeig_gerade_L2 := Function2d(gerade_L2,x=0..C[anzmess]):
plot(AxesOrigin=[0,0],
Header="1/alpha in Abhängigkeit von C",
XAxisTitle="C in mikroF",YAxisTitle="1/a in ms",
zeig_kehrwertalpha_C,zeig_gerade_L2)

Aus der Steigung wird R ermittelt. Unter Berücksichtigung der Einheiten ergibt sich:
(Zahlenwert*1000) Ohm.
R_L2 := (m_L2)*10^3
![]()
_____________________________________________________________________
5)___Der Widerstand R.
Der Gerätewert ist:
R // in Ohm
![]()
die aus der Linearisierung ermittelten Werte sind:
R_L1; R_L2 // in Ohm
![]()
![]()
Eine weitere Bestimmung ergibt sich aus dem Faktor Io der Exponentialfunktionen.
Io[i]*exp(-alpha[i]*t_start) $ i=1..anzmess // in A
![]()
Der Mittelwert ist:
Io := stats::mean(exp(lnIo[i])*exp(-alpha[i]*t_start)
$ i=1..anzmess) // in A
![]()
Damit ergibt sich R_Io zu:
R_Io := U/Io // in Ohm
![]()
________________________________________________________________________________
Anmerkungen:
1._Es kann nun abschließend eine Einschätzung der Messwerte und der Auswertung erfolgen.
__-Diese kann - wie oben erwähnt - unterstützt werden durch Variation der Werte für anteil,
__-t_start und anderer denkbarer Parameter. Dabei kann untersucht werden, welchen Einfluss
__-die für die Auswertung gemachten Annahmen an die Parameterwerte haben.
2. Weitere Anregungen finden Sie unter: http://schule.mupad.de bzw. http://studium.mupad.de
________________________________________________________________________________