Loading [MathJax]/jax/output/CommonHTML/jax.js

Table of Contents

Drehschwingung - Gruppe 342

Lukas Köpp 10029243

Julius Riekenberg 10025155

Aufstellen der Bewegungsgleichung

Wir betrachten beim Drehpendel die Kraft, die auf ein Objekt beim Drehen um die Aufhängungsachse wirkt. Diese übersetzt sich mittels des Trägheitswiderstandes in eine Winkelbeschleunigung

I¨ϕ=D=DRϕ

Dabei bezeichnen wir: I den Trägheitsmoment, D in [Nm] Drehmoment, DR in [Nm/rad] Winkelrichtgröße und ϕ in [rad] Winkelauslenkung der Aufhängung. [rad]=1 gibt hier nur an, dass es sich um einen Winkel im Bogenmaß handelt.

Insbesondere ist die Winkelrichtgröße gegeben als

DR=π2Gr4L

mit r Radius der Aufhängung, G Torsionsmodul (Materialkonstante) und L Länge des Drahtes.

Wir sehen also an DRr4, dass eine kleine Erhöhung im Drahtradius das Drehmoment stark beeinflusst. Verdoppeln wir die Dicke erhalten wir also DR=24DR=16DR also eine Ver-16-fachung des Drehmoments.

Lösung der Bewegungsgleichung

Wir kennen die Basislösung ϕ(t)=Asinωt+Bcosωt mit ˙ϕ(t)=AωcosωtBωsinωt für die DGL. Betrachten wir nun das Auslenken des Pendels um ϕ(0)=ϕ0 und das Loslassen ohne Anfangsgeschwindigkeit ˙ϕ(0)=˙ϕ0 erhalten wir

˙ϕ(0)=Aωcos0Bωsin0=Aω=0A=0

ϕ0=Bcos0=ϕ0B=ϕ0

Wir erhalten also ϕ(t)=ϕ0cosωt als Bahnkurve. Einsetzen in die DGL

I¨ϕ=D=DRIϕ0(ω2)cosωt=DRϕ0cosωtω2=DRI.

Damit können wir die Periodendauer angeben

TPeriode=1f=12πω=12πIDR

Unter der Annahme eines harmonischen Potentials können wir die Periodendauer TT(ϕ0) als konstant ansehen. Somit ist TSchwingungsdauer=TPeriode:=T

T:=T(L)=12π2ILπGr4=12πr22IπGL

Für T2 finden wir einen linearen Zusammenhang:

T2=I2π3Gr4L

Durchführung

Wir hängen also starre Körper verschiedener Geometrien an unterschiedlichen Aufhängungen auf. Nun lenken wir die Körper um einen Anfangswinkel ϕ0 aus und lassen sie ohne Anfangsgeschwindigkeit los. Nun messen wir zur Verbesserung der Genauigkeit die Zeit Tn über n Perioden. Durch das mitteln verkleinert sich unsere Messunsicherheit in der Zeit.

Abhängig von der Dämpfung Aufhängung, dem Trägheitsmoment des Körpers und dem Torsionsmodul G wählen wir ϕ0 und n sinnvoll. Der Schnürsenkel dämpft hier zum Beispiel stark, hat jedoch eine sehr geringe rücktreibende Kraft sodass wir n klein und ϕ0 groß wählen.

Wir fangen damit an, das Torsionsmodul G unter Bekanntheit des Trägheitsmoments I des Stabes zu bestimmen. Dies erlaubt uns, im späteren Teil des Versuches Trägheitsmomente I unbekannter Körper zu bestimmen. Wir errechen auch hier ein theoretisches Trägheitsmoment und vergleichen.

Energiebetrachtung

Wir interessieren uns für eine infinitesimale Winkeländerung dϕ. Die Arbeit W entspricht dabei

W=DdϕdWdϕ=ddϕDdϕ=D

Umstellen liefert also

dW=Ddϕ

Betrachten wir die Rotationsenenergie E=12I(dϕdt)2

dEdt=dEdϕdϕdt=Id2ϕdt2dϕdtdE=I¨ϕdϕ

Gleichsetzen von E=W liefert schließlich mit D=DRϕ

I¨ϕ=D=DRϕ

Wir erhalten unsere DGL also auch mittels einer Energiebetrachtung.

Steiner'scher Satz

Unter Kenntnis des Trägheitsmomentes starrer Körper mit Gesamtmasse M um eine feste Achse durch den Schwerpunkt IS erlaubt der Steiner'sche Satz die Berechnung des Trägheitsmomentes I um eine parrelel um d verschobene Achse:

I=IS+Md2

Zur Herleitung benötigen wir nur die Vektoraddition x=x+δx und die Definition des Schwerpunktes als Punkt, an dem die Integrale Vρri=0 für r=(x,y,z) verschwinden.

Wir betrachten also das Trägheitsmoment I' entlang einer Achse n und setzen den Urspung des Koordinatensystem in den Schwerpunkt und die z-Achse parallel zur Drehachse. Damit gilt für den Abstand r eines Punktes zur Drehachse

r2=(δx)2+(δy)2

Setzen wir ein in die Definition des Trägheitsmomentes mit Massendichte ρ

I=Vρ(δx)2+(δy)2

I=Vρ(xx)2+(yy)2

Terme aufdröseln:

I=Vρx2+y2+Vρx2+y2

I=IS+(x2+y2)Vρ2yVρx2xVρy

I=IS+Md2

mit d=(x2+y2) ist der Steiner'sche Satz.

Berechnung der Trägheitsmomente mittels der Geometrie

Wir berechnen die Trägheitsmomente I nach der Formel

I=Vr2ρ(r)dV

wobei wir die Massendichte ρ(r)=const. annehmen.

Die hohe Unsicherheit ist damit zu erklären, dass wir keine Küchenwaage besitzen. Wir bauen uns also folgende Apparatur auf:

Zuerst messen wir das Gewicht gegen die Füllhöhe der Flasche mit u(δm)=0,02kg. Wir rütteln, um den Einfluss der Haftreibung zu minimieren. Nun messen wir das Nullgewicht m0=0,07±0,01kg der Flasche mittels einer Kippwaage. Dazu stellen wir nacheinander leere und volle Shotgläser auf die Waage auf gegenüberliegende Seiten. Mittels der Füllhöhe der Shotgläser und der Dichte von Wasser ρ1kg/m3 erhalten wir so also das Gewicht, was wir im folgenden als Summe über m=δm+m0 schreiben werden. Die Unsicherheit ist damit u(m)=0,03kg.

Dünner Metallstab

Aufgrund der Prorportion rL können wir eine Vereinfachung für die Rotation quer durch den Schwerpunkt benutzen. Wir führen eine 1-D Integration entlang des Stabes durch mit 1-D Massendichte ρ0=M/l:

I=ρ0l/20r2=ρ013(l2)3=lM112l3=112Ml2

Die exakte Formel auf dem Arbeitsblatt erhalten wir durch 3-D Integration. Für rL fällt der vordere Term aber nicht ins Gewicht.

Für den dünnen Metallstab messen wir

l=0.12±103m,M=0.04±0.01kg

Nach Gauß'scher Fehlerfortpflanzung gilt:

uI=(IMuM)2+(Ilul)2

uI=112(l2uM)2+(2Mlul)2

uI1,2105 kg m2

ergibt uns

IStab=(4,8±1,2)105 kg m2

Topfdeckel

Für die Topfdeckel nähern wir die Geometrie als homogonen Zylinder. Wir integrieren also in 2-D Polarkoordinaten mit 2-D Massendichte ρ0=MπR2

I=ρ02π0dϕR0r dr r2=MπR2 2π 14R4=12MR2

Wir messen die Topfdeckel ab

R1=d1/2=(0.105±0.0025)m

M1=(0.07+0.65)±0.03kg=(0.72±0.03)kg

R2=d2/2=(0.085±0.0025)m

M2=(0.07+0.05)±0.03kg=(0.12±0.03)kg

Die Unsicherheit erhalten wir beinahe analog

uI=(IMuM)2+(Ilul)2

uI=12(R2uM)2+(2MRuR)2

uI14,18105 kg m2

uI21,86105 kg m2

Damit ergeben sich die Trägheitsmomente

I1=(3,97±0,04)103 kg m2

I2=(0,43±0,02)103 kg m2

Der Fehler ist hier aber eigentlich deutlich größer, da wir von einer homogenen Masseverteilung ausgehen, was offensichtlich nicht der Fall ist.

Messung 1 - Stab an Saite dünn (r=0.33±0.03)

Anfangsbedingungen:

ϕ0=π, ˙ϕ0=0

Unsicherheiten:

u(L)=0,03m,u(T10)=0,5s

Höhe L/m Periodendauer T10/s
0,56 17,5
0,42 15,9
0,35 15,6
0,29 12,9
0,24 12,58

T(L)2=(6.01±0.27)s2mL

Aus der Theorie erwarten wir eine Steigung die sich aus st=I2π3Gr4 zusammensetzt. Außerdem kennen wir schon I=(4,8±1,2)105 kg m2 und r=(0.33±0.03)mmr4=(12±5)1015m. Nach Umstellen ergibt sich:

G=I2π3str4=(10±5)106kgs2m

Da der relative Fehler viel zu groß ist und der T2-Achsenabschnitt auch ziemlich groß ist, ist dieser Wert für weitere Berechnungen nicht emphelenswert.

Messung 2 - Stab an Saite dick (r=(1±0.025)mm)

Anfangsbedingungen:

ϕ0=π,˙ϕ0=0

Unsicherheiten:

u(L)=0,03m, u(T10)=0,5s

Höhe L/m Periodendauer T10/s
0.62 16.32
0.53 13.44
0.47 12.68
0.35 11.49
0.23 9.47

T(L)2=(383±20)102s2mL

Aus der Theorie erwarten wir eine Steigung die sich aus st=I2π3Gr4 zusammensetzt. Außerdem kennen wir schon I=(4,8±1,2)105 kg m2 und r=(1.0±0.025)mmr4=(100±10)1014m4. Nach Umstellen ergibt sich:

G=I2π3str4=(20±6)104kgs2m

Diese Berechnung ist im Vergleich zur ersten deutlich plausibler.

Messung 3 - Stab an Schnürsenkel (r=(3±1)mm)

Anfangsbedingungen:

ϕ0=4π,˙ϕ0=0

Unsicherheiten:

u(L)=0,03m,u(T2)=0,5s

Die Dämpfung ist hier groß. Deshalb messen wir 2 Perioden T2 statt 10 Perioden T10.

Höhe L/m Periodendauer T2/s
0,48 26,86
0,18 19,37
0,10 13,58

T(L)2=(43±4)101s2mL

Aus der Theorie erwarten wir eine Steigung die sich aus st=I2π3Gr4 zusammensetzt. Außerdem kennen wir schon I=(4,8±1,2)105 kg m2 und r=(3±1)mmr4=(8±11)1011m4. Nach Umstellen ergibt sich:

G=I2π3str4=(2±3)101kgs2m

Diese Berechnung scheitert an der Annahme eines harmonischen Potentials.

Messung 4 - Topfdeckel 1 an Saite dick

Durchmesser d=(0.210±0.005)m

Masse m=(0.07+0.65)kg

Anfangsbedingungen:

ϕ0=π,˙ϕ0=0

Unsicherheiten:

u(L)=0,03m,u(T3)=0,5s,u(m)=0.03kg

Höhe L/m Periodendauer T3/s
0.56 38.88
0.29 27.11
0.17 20.57

T(L)2=(290±7)s2mL

Vergleicht man nun den Proportionalitätfaktor mit dem aus Messung 2 erhält man ITopf1=stTopf1stStabIStab=(36±9)104 kg m2

Messung 5 - Topfdeckel 2 an Saite dick

Durchmesser d=(0.170±0.005)m

Masse m=(0.07+0.05)kg

Anfangsbedingungen:

ϕ0=π,˙ϕ0=0

Unsicherheiten:

u(L)=0,03m,u(T5)=0,5s,u(m)=0.03kg

Höhe L/m Periodendauer T5/s
0.50 26.69
0.33 21.36
0.17 14.51

T(L)2=(558±15)101s2mL

Vergleicht man nun den Proportionalitätfaktor mit dem aus Messung 2 erhält man ITopf2=stTopf2stStabIStab=(70±18)105 kg m2

Auswertung

Für die zwei Topfdeckel erhalten wir

ITopf1,Theorie=3,97103 kg m2ITopf1,Experiment=(3.7±1.1)103 kg m2

ITopf2,Theoie=0,43103 kg m2ITopf2=(0.71±0.22)103 kg m2

Wir sehen, dass wir für die höhere Masse im Fehlerintervall liegen. Bei höherer Masse ist möglicherweise das Modell des Torsionsmodules treffender und mögliche Störquellen weniger einflussreich.

Code zu den Plots

import numpy as np
import matplotlib.pyplot as plt
from scipy import stats
from scipy.odr import *
from help import string_correctly, err_evolution
 
ul = 0.03
ut = 0.5
 
mess1 = {'val': np.array([[0.56, 17.5], [0.42, 15.9], [0.35, 15.6], [0.29, 12.9], [0.24, 12.58]]), 'phi': np.pi,
         'nt': 10, 'r': 1 / 3 * 10 ** - 3, 'r_err': 0.1 / 3 * 10 ** - 3, 'i': 4.8 * 10 ** -5, 'i_err': 1.2 * 10 ** -5}
 
mess2 = {'val': np.array([[0.53, 13.44], [0.62, 16.32], [0.47, 12.68], [0.35, 11.49], [0.23, 9.47]]), 'phi': np.pi,
         'nt': 10, 'r': 1 * 10 ** - 3, 'r_err': 0.1 / 4 * 10 ** - 3, 'i': 4.8 * 10 ** -5, 'i_err': 1.2 * 10 ** -5}
 
mess3 = {'val': np.array([[0.48, 26.86], [0.18, 19.37], [0.1, 13.58]]), 'phi': 4 * np.pi,
         'nt': 2, 'r': 3 * 10 ** - 3, 'r_err': 1 * 10 ** - 3, 'i': 4.8 * 10 ** -5, 'i_err': 1.2 * 10 ** -5}
 
mess4 = {'val': np.array([[0.56, 38.88], [0.29, 27.11], [0.17, 20.57]]), 'phi': np.pi,
         'nt': 3, 'r': 1 * 10 ** - 3, 'r_err': 0.1 / 4 * 10 ** - 3, 'i': 4.8 * 10 ** -5, 'i_err': 1.2 * 10 ** -5}
 
mess5 = {'val': np.array([[0.50, 26.69], [0.33, 21.36], [0.17, 14.51]]), 'phi': np.pi,
         'nt': 5, 'r': 1 * 10 ** - 3, 'r_err': 0.1 / 4 * 10 ** - 3, 'i': 4.8 * 10 ** -5, 'i_err': 1.2 * 10 ** -5}
 
 
def lin(a, x):
    return a * x
 
 
def r_4(r):
    return r ** 4
 
 
def torsion(i, r4, slope):
    return i / (2 * np.pi ** 3 * r4 * slope)
 
 
def trägmom(i2, slope1, slope2):
    return i2 * slope1 / slope2
 
 
messes = [mess1, mess2, mess3, mess4, mess5]
for j in range(len(messes)):
    mess = messes[j]
    vals = np.transpose(mess['val'])
    nt = mess['nt']
    lengths = vals[0]
    l_max = max(lengths)
    l_mean = sum(lengths) / len(lengths)
    lens = np.linspace(0, 1.1 * l_max, num=50)
    times = [vals[1][i] / nt for i in range(len(vals[1]))]
    t_quad = [times[i] ** 2 for i in range(len(times))]
    tq_max = max(t_quad)
    tq_mean = sum(t_quad) / len(t_quad)
    uts = [2 * tq * ut / (nt ** 2) for tq in t_quad]
    sol = stats.linregress(lengths[:len(t_quad)], t_quad)
    lin_model = Model(lin)
    data = RealData(lengths[:len(t_quad)], t_quad, sx=ul, sy=uts)
    sol_real = ODR(data, lin_model, beta0=[1.]).run()
    fit = [sol_real.beta[0] * l for l in lens]
    dls = [l - l_mean for l in lengths]
    sdl = sum([abs(dl) for dl in dls]) / len(dls)
    dtqs = [tq - tq_mean for tq in t_quad]
    sdtq = sum([abs(dtq) for dtq in dtqs]) / len(dtqs)
    covltq = sum([dls[i] * dtqs[i] for i in range(len(dls))]) / (len(dls) - 1)
    corltq = covltq / (sdl * sdtq)
    fig = plt.figure(figsize=(6, 6))
    ax = fig.add_subplot(111)
    ax.errorbar(lengths, [time ** 2 for time in times],
                linestyle='', marker='', xerr=ul,
                yerr=2 * tq_mean * ut / (nt ** 2),
                label='Messwerte')
    ax.plot(lens, fit, linestyle='-',
            label='Linfit mit $R^2 =$' + "%.3f" % (round(sol.rvalue ** 2, 3)))
    ax.set_xlim(0, 1.1 * l_max)
    ax.set_ylim(0, 1.1 * tq_max)
    ax.set_title('Messung ' + str(j + 1))
    ax.set_xlabel('L in m')
    ax.set_ylabel('$T^2$ in s')
    ax.legend()
    plt.savefig('Drehschwingung.Messung' + str(j + 1) + '.png')
    plt.show()
    slope = sol_real.beta[0]
    slope_err = sol_real.sd_beta[0]
    print(j + 1, ':')
    print('Slope: ', string_correctly(slope, slope_err))
    if j < 3:
        r = mess['r']
        r_err = mess['r_err']
        i = mess['i']
        i_err = mess['i_err']
        if j == 1:
            i2 = i
            i2_err = i_err
            slope2 = slope
            slope2_err = slope_err
        r4, r4_err = err_evolution(r_4, [r], [r_err])
        g, g_err = err_evolution(torsion, [i, r4, slope], [i_err, r4_err, slope_err])
        print('r^4: ', string_correctly(r4, r4_err))
        print('g: ', string_correctly(g, g_err), end='\n\n\n')
    else:
        i, i_err = err_evolution(trägmom, [i2, slope, slope2], [i2_err, slope_err, slope2_err])
        print('I: ', string_correctly(i, i_err), end='\n\n\n')

Hilfscode

def round_correctly(val, err):
    first_sign = 0
    while err // (10 ** first_sign) > 0:
        first_sign += 1
    while err // (10 ** first_sign) == 0:
        first_sign -= 1
    if err // (10 ** first_sign) < 3:
        first_sign -= 1
    return round(val * 10 ** -first_sign), round(err * 10 ** -first_sign), first_sign
 
 
def lin_fit_label(sol, xstr):
    return '$Fit = ' + string_correctly(sol.slope, sol.stderr) + ' \\cdot ' + xstr + ' + ' + string_correctly(
        sol.intercept, sol.intercept_stderr) + '$;  $R^2 = ' + str(round(sol.rvalue ** 2, 3)) + '$'
 
 
def string_correctly(val, err):
    val, err, pot = round_correctly(val, err)
    return ' ( ' + str(int(val)) + ' \pm ' + str(int(err)) + ' )' + (' \\cdot 10^{' + str(pot) + '} ') * (pot != 0)
 
 
def err_evolution(func, params, errors):
    val = func(*params)
    err_q = 0
    for i in range(len(params)):
        _, _, pot = round_correctly(params[i], errors[i])
        h = 10 ** (pot - 5)
        upper = (params[j] + h * (j == i) for j in range(len(params)))
        lower = (params[j] - h * (j == i) for j in range(len(params)))
        diff = (func(*upper) - func(*lower)) / (2 * h)
        err_q += (diff * errors[i]) ** 2
    return val, err_q ** 0.5