Besenstiel -- Gruppe 340

Der Versuch wurde durchgeführt von: Maylin Schiffelholz und Fin Müller
Die Wiki-Seite wurde angelegt am: 18 December 2020 09:09

Diese Seiten

Diese Seite und ihre Unterseiten sind Ihr Bereich im APwiki für die Bearbeitung des Heim-Versuchs “Kippender Besenstiel”. Er soll die Funktion übernehmen, die im Präsenzpraktikum das Heft hat. Das heißt, es ist Ihre Logbuch für das, was Sie konkret experimentell und bei der Programmierung durchführen.

Legen Sie Fotos ab, notieren Sie Messwerte, laden sie ihr Programm hoch. Form und Formatierung sind dabei zweitrangig.

Damit dieser Bereich diese Aufgabe erfüllen kann, haben wir ihn mit speziellen Zugriffsrechten ausgestattet:

  1. Ihre Gruppe hat das exklusive Schreibrecht für diese Seite.
  2. Die Seite ist nur für Ihre Gruppe, die Tutoren und die Praktikumsleitung einsehbar.

Unten auf dieser Seite finden Sie einen Abschnitt “Diskussion”. Über diesen Abschnitt findet die Kommunikation mit Ihrem Tutor statt. Sie oder er wird Ihnen dort Rückmeldung zu Ihrem Versuchsbericht geben.

Hier im Wiki gibt es Hinweise für die Formatierung ihres Versuchsberichts mit Latex. Den Versuchsbericht geben Sie dann im Ilias ab.

Alles, was beim ersten Aufruf auf der Seite zu lesen ist, soll Ihnen den Start erleichtern. Sie können es nach Belieben löschen und durch Ihre eigenen inhalte ersetzen.

Bilder einbinden

Ihr Versuchsaufbau sollte so beschrieben sein, dass er für sich stehend verständlich ist - gerne mit einem Foto.

Ein Bild laden Sie ins Wiki, indem Sie im Editor in der Knopfleiste auf den kleinen Bildrahmen klicken. In einem neuen Fenster öffnet sich ein Dialog mit einem Dateibaum. Dort navigieren Sie zu “Ihrer” Baustelle (a_mechanik:kippender_besenstiel:gruppenseiten:gruppe340). Anschließend nutzen Sie den Dialog auf der rechten Seite, um Ihr Bild hochzuladen. Mit einem Klick auf die Zeile ihres Bildes erzeugen Sie im Hauptfenster einen Befehl, der das Bild lädt.

Im einfachsten Fall landet ein Bild direkt an der Stelle im Text, an der Sie es eingefügt haben (Siehe de:wiki:syntax#bilder_und_andere_dateien. Hier gibt es einen Überblick, was sonst noch möglich ist.

Tabellen

Für eine Tabelle mit Ihren Messwerten gibt es im oben im Editfenster des Wikis eine Hilfsfunktion. Sie versteckt sich hinter einem Knopf der so aussieht, wie ein hellblauer Taschenrechner.

Syntax und Funktionen im Wiki

Versuchsaufbau

Zur Durchführung des Versuches haben wir einen Besenstiel, eine Tröte, ein Handtuch, einen Zollstock und zwei Endgeräte mit installierter phyphox-App genutzt.
benutze-dinge-2.jpg
app-1.jpg
Das Handtuch dient herbei lediglich als Unterlage, um den Boden vor Schäden zu bewahren; mit dem Zollstock wird die Länge des Besenstiels bestimmt. Diese bleibt für die Messreihe konstant und beträgt in meinem Fall 128,5 cm +- 0,1 cm, wie auf den folgenden Bildern zu sehen ist.
zollstock.jpg
groesse.jpg
Die Durchführung wird durch das folgende Video veranschaulicht:

Folgende Messwerte wurden aufgenommen:

Nun wiederholen wir die Messung mit einem Besenstiel mit einer anderen Länge. Die beträgt 139,7 cm +- 0,1 cm, wie hier zu sehen. pxl_20210102_133649803_2.jpg
pxl_20210102_134055742_2.jpg
Folgende Messwerte wurden aufgenommen:

Um den Einfluss des Luftwiederstands zu untersuchen, haben wir an einen Stiel Pappe geklebt und so die Fläche vergrößert. Zuerst haben wir eine Pappe mit einer Oberfläche von 0,06m^2 und danach eine mit 0,12m^2. Dies ist hier zu sehen:

Folgende Messwerte wurden aufgenommen:

Computerprogramm

Das folgende Computerprogramm löst die DGL numerisch mittels Zeitschrittverfahren.

Zeitschrittverfahren.py
  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3.  
  4. #define the constants
  5. l = 1.45 #length of the broomstick
  6. g = 9.81
  7. tau = np.sqrt((2 * l) / (3 * g))
  8.  
  9. #define the second derivation of phi
  10. def dd_phi(phi):
  11. a = np.sin(phi) / (tau ** 2)
  12. return a
  13.  
  14. #define the algorythmen
  15. def iteration(phi0, t0, d_phi0, dd_phi, steps_count, steps_wide):
  16. values = [[phi0, t0, d_phi0]]
  17.  
  18. i = 0
  19. t = t0
  20. while i <= steps_count:
  21.  
  22. next_d_phi = values[i][2] + dd_phi(values[i][0]) * steps_wide
  23.  
  24. next_phi = values[i][0] + values[i][2] * steps_wide
  25.  
  26. #break, when stick reaches the ground
  27. if next_phi >= (np.pi / 2.0):
  28. break
  29.  
  30. t = values[i][1] + steps_wide
  31.  
  32. new_values = [next_phi, t, next_d_phi]
  33. values.append(new_values)
  34.  
  35. i += 1
  36. return(values)
  37.  
  38. #define function to reproduce graphic 3
  39. def time_ankle():
  40. c = 0.2 #starting ankel
  41. ankel = [] #empty list for ankels
  42. time = [] #empty list for times
  43. while c <= 1.4:
  44. iterate_values = iteration(c, 0, 0, dd_phi, 10 ** 7, 10 ** -2)
  45. ankel.append(c)
  46.  
  47. new_time = [i[1] for i in iterate_values]
  48. last_new_time = new_time[-1] #last time in list is time needed to fall
  49. time.append(last_new_time)
  50.  
  51. c = c + 0.05
  52. return(ankel, time)
  53.  
  54. x, y = time_ankle()
  55.  
  56. fig = plt.figure()
  57. ax = fig.add_subplot(1,1,1)
  58. ax.set_title('Fallzeit')#title of the plot
  59. ax.set_xlabel('Startwinkel in rad')#label of x axes
  60. ax.set_ylabel('Zeit in s')#label of y axes
  61. ax.set_xlim(0, 1.4) #interval of x value
  62. ax.set_ylim(0, 1) #inerval of y value
  63. ax.grid()
  64. ax.plot(x, y)
  65. plt.show()
  66.  
  67.  
  68. #values for plotting the numerical solution and experimental values
  69. #gives the needed time to fall for starting ankle
  70. def diagram_points(phi0):
  71. values = iteration(phi0, 0, 0, dd_phi, 10 ** 7, 10 ** -2)
  72.  
  73. new_time = [i[1] for i in values]
  74. last_new_time = new_time[-1]
  75. diagramm = [phi0, last_new_time]
  76.  
  77. return (diagramm)
  78.  
  79. #define the new constants for first broomstick
  80. l = 1.285 #length of the first broomstick
  81. g = 9.81
  82. tau = np.sqrt((2 * l) / (3 * g))
  83.  
  84. #same ankels as in the experiment
  85. d = diagram_points(0.1308996938995747)
  86. e = diagram_points(0.2617993877991494)
  87. f = diagram_points(0.4363323129985824)
  88. g = diagram_points(0.6981317007977318)
  89. h = diagram_points(0.8726646259971648)
  90. i = diagram_points(1.0471975511965976)
  91. j = diagram_points(1.2217304763960306)
  92.  
  93. print("Messwerte erster Besen:")
  94. print(d, e, f, g, h, i, j)
  95.  
  96. #uncertainties for first broomstick
  97. l = 1.284 #minimal length of the first broomstick
  98. g = 9.81
  99. tau = np.sqrt((2 * l) / (3 * g))
  100.  
  101. #same ankels as in the experiment
  102. dmin = diagram_points(0.1308996938995747)
  103. emin = diagram_points(0.2617993877991494)
  104. fmin = diagram_points(0.4363323129985824)
  105. gmin = diagram_points(0.6981317007977318)
  106. hmin = diagram_points(0.8726646259971648)
  107. imin = diagram_points(1.0471975511965976)
  108. jmin = diagram_points(1.2217304763960306)
  109.  
  110. print("Minimum erster Besen:")
  111. print(dmin, emin, fmin, gmin, hmin, imin, jmin)
  112.  
  113.  
  114. l = 1.286 #maximal length of the first broomstick
  115. g = 9.81
  116. tau = np.sqrt((2 * l) / (3 * g))
  117.  
  118. #same ankels as in the experiment
  119. dmax = diagram_points(0.1308996938995747)
  120. emax = diagram_points(0.2617993877991494)
  121. fmax = diagram_points(0.4363323129985824)
  122. gmax = diagram_points(0.6981317007977318)
  123. hmax = diagram_points(0.8726646259971648)
  124. imax = diagram_points(1.0471975511965976)
  125. jmax = diagram_points(1.2217304763960306)
  126.  
  127. print("Maximum erster Besen:")
  128. print(dmax, emax, fmax, gmax, hmax, imax, jmax)
  129.  
  130.  
  131. #define the new constants for second broomstick
  132. l = 1.397 #length of the second broomstick
  133. g = 9.81
  134. tau = np.sqrt((2 * l) / (3 * g))
  135.  
  136. #same ankels as in the experiment
  137. k = diagram_points(0.1308996938995747)
  138. l = diagram_points(0.2617993877991494)
  139. m = diagram_points(0.4363323129985824)
  140. n = diagram_points(0.6981317007977318)
  141. o = diagram_points(0.8726646259971648)
  142. p = diagram_points(1.0471975511965976)
  143. q = diagram_points(1.2217304763960306)
  144.  
  145. print("Messwerte zweiter Besen:")
  146. print(k, l, m, n, o, p, q)
  147.  
  148. #uncertainties for second broomstick
  149. l = 1.396 #minimal length of the second broomstick
  150. g = 9.81
  151. tau = np.sqrt((2 * l) / (3 * g))
  152.  
  153. #same ankels as in the experiment
  154. kmin = diagram_points(0.1308996938995747)
  155. lmin = diagram_points(0.2617993877991494)
  156. mmin = diagram_points(0.4363323129985824)
  157. nmin = diagram_points(0.6981317007977318)
  158. omin = diagram_points(0.8726646259971648)
  159. pmin = diagram_points(1.0471975511965976)
  160. qmin = diagram_points(1.2217304763960306)
  161.  
  162. print("Minimum zweiter Besen:")
  163. print(kmin, lmin, mmin, nmin, omin, pmin, qmin)
  164.  
  165. l = 1.398 #maximal length of the second broomstick
  166. g = 9.81
  167. tau = np.sqrt((2 * l) / (3 * g))
  168.  
  169. #same ankels as in the experiment
  170. kmax = diagram_points(0.1308996938995747)
  171. lmax = diagram_points(0.2617993877991494)
  172. mmax = diagram_points(0.4363323129985824)
  173. nmax = diagram_points(0.6981317007977318)
  174. omax = diagram_points(0.8726646259971648)
  175. pmax = diagram_points(1.0471975511965976)
  176. qmax = diagram_points(1.2217304763960306)
  177.  
  178. print("Maximum zweiter Besen:")
  179. print(kmax, lmax, mmax, nmax, omax, pmax, qmax)
You could leave a comment if you were logged in.