meta data for this page
Besenstiel -- gruppe311
Der Versuch wurde durchgeführt von: Bjarne Knut Herrmann und Jan Klenke
Die Wiki-Seite wurde angelegt am: 5 January 2021 16:10
Die Messungen
Für die Messungen wurden verwendet ein 1,17m langer Kunststoff Besenstiel und ein 87 cm langer Alu-Wischmop mit defekter Teleskop-Funktion. Diese nicht geraden optimalen “Besenstiele” sind leider die einzigen mit zur verfügung stehenden Objekte. Um die Nachbarn nicht zu stüren wurde das ganze auf einer Jogamatte durchgeführt und um den Winekl abzumessen wurde eine Winkelanzeige auf ein blatt papier gedruckt und im Rotationspunkt des Objektes an der Wand befestigt (siehe Bilder ).
Anschließend habe ich ein video von mir aufgenommen in welchem ich die Besenstiele 5 mal hintereinadner auf den gleichen Winkel gebracht habe und anschließend fallen ließ. Da nur 2mb gorße dateien erlaubt sind kann ich eines der Acht über 50 mb großen Videos hier nicht einfügen.
Anschließend habe ich in Davinci Resolve (Einem videoschnitt Programm) die Videos in ihre einzelden Experimente geschnitten. dann habe ich über das video ab dem Frame geschnitten an welchem ich den Stiel loslasse und wo der stiel auf der matte aufkommt. Beim aufkommen war hilfreich, das an der AUdiospur klar erkennbar war wann der stab auftrifft.
Anchließend wurde die länge der einzelnden abschnitte genmessen (Bild). Auf dem Bild wird gerade “Video 2” gemessen, und wie oben echts zu sehen ist, ist er 24 Frames lang. Dabei wurden alle aufnahmen bei 30 Frames per Second gemacht.
Dieser Vorgang wurde mit allen Clips durchgeführt und und Tabellarisch aufgenommen.
Dabei ist die Obere Tabelle der Besenstiel und die Untere der Wischmop. Der obere teil jeder Tabelle ist dabei in Frames bzw wenn der CLip länger als 30 Frames ist in x Sekunden und Y Frames. Der untere ist in Sekunden umgerechnet. Die unterste Zeile ist der Durchschnittswert in Sekunden.
Computerprogramm
Für die numerische Lösung der DGl (1) aus der Versuchsanleitung wurde der beschriebene Lösungsalgorithmus in Python programmiert. Der Algorithmus besteht darin, ausgehend von den Initialbedingungen die Gleichung für $\ddot{\varphi}$ iterativ in sehr kleinen Zeitschritten aufzuintegrieren. Mit jeder der aufintegrierten Variablen wurde danach ein Eintrag im Array sol
gefüllt, auf den der Lösungsalgorithmus im nächsten Iterationsschritt zugreift, um die Gleichung für einen weiteren Schritt aufzuintegrieren. Weiterhin müssen bei der Anwendung der definierten solve
-Routine ein Maximalwert für die Zeit tmax
und die Anzahl der Zeitschritte steps
angegeben werden. In den unteren Schritten wird eine Liste mit so berechneten Fallzeiten aufgestellt, um danach einen mit der Abbildung 3 aus der Versuchsanleitung vergleichbaren Plot zu erstellen. Bei unserem Code haben wir zusätzlich eine Abbruchbedingung mit dem break
-Befehl erstellt, um die Berechnung zu beenden, sobald $\varphi$ einen Winkel von 90° überschreitet. Die Fallzeit kann so einfach bestimmt werden, indem die Variable im entsprechenden Array ausgelesen wird. Die Genauigkeit kann so also einfach verbessert werden, indem ein tmax
knapp über der Fallzeit und ein möglichst großes steps
gewählt wird.
- besenstiel.py
- # -*- coding: utf-8 -*-
- """
- Created on Tue Jan 5 15:49:07 2021
- @author: bjarne
- """
- import math
- import numpy as np
- import matplotlib.pyplot as plt
- #Initialbedingungen
- phi0=0.25 #Anfangswinkel in rad
- l=1.45 #Länge des Stabes in m
- g=9.81 #erdbeschleunigung in m/s^2
- #Definition Parameter tau
- def tau():
- tau = math.sqrt(2*l/(3*g))
- return tau
- #Solver
- def solve(phi0,tmax,steps):
- sol = list()
- sol.append([0,phi0,0,math.sin(phi0) / (tau()**2)])
- tstep = tmax / steps
- for e in range(steps):
- ddotphi = math.sin(sol[len(sol)-1][1]) / (tau()**2)
- dotphi = sol[len(sol)-1][2] + tstep * sol[len(sol)-1][3]
- phi = sol[len(sol)-1][1] + tstep * sol[len(sol)-1][2]
- sol.append([sol[len(sol)-1][0]+tstep,phi,dotphi,ddotphi])
- if phi>=math.pi/2:
- break
- return np.array(sol)
- #Berechnung der Fallzeit für verschiedene Anfangswinkel
- philist=np.linspace(0.2,1.2,100,endpoint=False)
- def falltime():
- timelist = list()
- for i in range(len(philist)):
- timelist.append([philist[i],solve(philist[i],10,10000)[len(solve(philist[i],10,10000))-1][0]])
- return np.array(timelist)
- #Erstellung des Plots
- path='D:/Studium/Praktikum2python' #Speicherpfad
- #Achseneinstellungen
- xstart=0 #Anfang der x-Achse
- xend=1.4 #Ende der x-Achse
- xticks=xend/7 #Unterteilung der Achsen
- ystart=0 #Anfang der y-Achse
- yend=1 #Ende der y-Achse
- #Bildeinstellungen
- plt.figure(figsize=(20,10), dpi=100)
- plt.grid(True)
- plt.axis([xstart,xend,ystart,yend])
- plt.title('Lösung für den Winkel')
- plt.xticks(np.arange(xstart,xend,xticks))
- plt.plot(falltime()[:,0], falltime()[:,1], markersize=0.5) #zu plottendes Array
- plt.legend(['numerische Lösung']) #Legende
- plt.xlabel('$\phi$ in rad') #Beschriftung x-Achse
- plt.ylabel('Zeit in s') #Beschriftung y-Achse
- plt.savefig(path+'/timeplot.jpg') #Dateiname
- plt.close
Dieser Code erzeugt einen Plot ähnlich zu Abbildung 3 aus der Versuchsanleitung:
Luftwiderstand
Für die Betrachtung des Einflusses der Luftreibung wurde der Besenstiel zusätzlich mit einer Pappfläche beklebt. Dabei war der Mittelpnkt der rechteckigen Pappe immer am gleichen Punkt des Besenstiels angebracht. Dann wurde der bekannte Versuch für einen Anfangswinkel von 10° durchgeführt und die Pappfläche verkleinert. So haben wir den Einfluss der Luftreibung für Flächen von 5040, 3780, 2520 und 1260 cm2 untersucht. Der Besenstiel mit Pappfläche, die Position des Mittelpunkts der Fläche wurde an dem Loch ausgerichtet.