zfp-sonderpreis der dgzfp beim landeswettbewerb jugend … forscht/lw... · 2012-06-06 ·...
TRANSCRIPT
Konstruktion eines „Low-Cost“-Messinstrumentes betrieben mit dem Arduino-Uno
ZfP-Sonderpreis der DGZfP beim Landeswettbewerb Jugend forscht
BERLIN
DEUTSCHEGESELLSCHAFT FÜRZERSTÖRUNGSFREIEPRÜFUNG E.V.
Jugend forscht 2012
Johann Pascal Geus
Schule:
Sophie-Charlotte-Oberschule
BESONDERE LERNLEISTUNG
Konstruktion eines Low-Cost-Messinstrumentes betrieben mit dem
Arduino-Uno „Jugend forscht“: Physik/Informatik/Mathematik
Erstellt von: Johann Pascal Geus / Sophie-Charlotte-Oberschule
03.01.2012
Betreuender Lehrer: Herr Hübner, Sophie-Charlotte-Oberschule
Inhaltsverzeichnis
1 Vorwort ........................................................................................................................................... 1
2 Aufbau des Messinstruments .......................................................................................................... 1
2.1 Hardware ................................................................................................................................. 1
2.2 Software .................................................................................................................................. 2
2.3 Die Kommunikation Arduino PC ..................................................................................... 2
2.3.1 Die PC-Programme ......................................................................................................... 3
3 Speicheroszilloskop ......................................................................................................................... 4
3.1 Benutzeroberfläche des Speicheroszilloskops ........................................................................ 5
3.2 Koordinatensystem ................................................................................................................. 6
3.3 Versuche .................................................................................................................................. 8
3.3.1 Laden und Entladen des Kondensators ........................................................................... 8
3.3.2 Gedämpfte Schwingungen .............................................................................................. 9
3.3.3 Ungedämpfte elektromagnetische Schwingung ........................................................... 10
4 Zeitmessungen .............................................................................................................................. 12
4.1 Lichtschranken ....................................................................................................................... 12
4.1.1 Messung der Fallbeschleunigung .................................................................................. 12
4.2 Mikrophone ........................................................................................................................... 13
4.2.1 Messung der Schallgeschwindigkeit .............................................................................. 13
5 Diskussion ...................................................................................................................................... 15
6 Literaturverzeichnis ............................................................................................................. Anhang1
BLL „Jugend forscht“ von Johann Pascal Geus Seite 1 von 15
1 Vorwort Im Physikunterricht wird oft nur die Theorie von komplizierten Messgeräten erklärt, aber selten bekommt man die Gelegenheit, selbst damit zu arbeiten. Ich wollte daher ein Messgerät bauen, das möglichst vielseitig, preiswert und bei Schülerübungen einsetzbar ist. Einsatzbereiche meines Messgerätes sollten folgende Experimente aus meinem Schulunterricht sein:
- Messung der Fallbeschleunigung, - Messung der Schallgeschwindigkeit, - Aufzeichnung der Lade- und Entladekurven des Kondensators, - Aufzeichnung gedämpfter und ungedämpfter elektromagnetischer Schwingungen.
Bei diesen konnte ich die Messergebnisse leicht mit den Literaturwerten vergleichen.
Die Basis des Messgerätes bildete das Mikrokontroller-Board „Arduino Uno“. Um mit diesem die Ziele zu erreichen, die ich oben beschrieben habe, musste ich die folgenden Aufgaben bewältigen:
- Bau einer mobilen/robusten Box mit geeigneten Anschlüssen, - Programmierung des Mikrokontrollers, - Programmierung der Benutzeroberfläche am Computer, - Auswahl geeigneter Bauteile, die als Sensoren dienen, - Bau von Schaltungen, mit denen die Sensoren an den Arduino angeschlossen wurden.
In dieser Arbeit beschreibe ich, wie ich dazu in den vergangenen zehn Monaten vorgegangen bin.
2 Aufbau des Messinstruments
2.1 Hardware Das Board „Arduino Uno“ ist mit dem Mikrocontroller Atmel AVR bestückt, der eine Taktfrequenz
von 16 MHz und einen Speicher der Größe 32 kB hat. Das Board verfügt über sechs analoge Eingänge
(PIN 0 bis PIN 5), über die Spannungswerte von 0 bis +5V gemessen werden können. Dabei
entspricht ein Messwert von 1023 der maximalen Spannung von +5V.
Das Board wird über die USB-Schnittstelle mit einer Gleichspannung von 5V versorgt und kann
seinerseits diese Spannung über die analogen Ausgänge zur Verfügung stellen (Anschlüsse „+5V“ und
„Ground“).
Ich baute das Board in eine Kiste ein. Die oben genannten Anschlüsse verband ich – teilweise über
Spannungsteiler bzw. Operationsverstärkerschaltungen - mit Buchsen, sodass Experimentierkabel an
der Außenseite der Kiste angeschlossen werden konnten.
Die gesamten Kosten meines Messgerätes inklusive aller Sensoren betrugen etwa 50 €, in denen der
Arduino mit 26 € den größten Anteil hat.
BLL „Jugend forscht“ von Johann Pascal Geus Seite 2 von 15
Abbildung 1: Die Basis des Messgerätes
2.2 Software Der Arduino wird mittlerweile häufig bei Projekten, wie z.B. dem Bau von Robotern, eingesetzt, weil
seine Programmierung über eine Open-Source-Entwicklungsumgebung am PC möglich ist. Als
Programmiersprache wird „C“ verwendet. Nach dem Kompilieren wird das Programm per USB auf
den Arduino übertragen und startet automatisch. Ein Neustart kann über einen Reset-Schalter auf
dem Board erzwungen werden.
Man kann den Arduino auch über einen PC steuern, auf dem nur der Arduino-Treiber und nicht die
ganze Entwicklungsumgebung installiert ist. In diesem Fall ist das Hochladen von Programmen auf
den Arduino nicht möglich. Da mein Messgerät einfach zu installieren sein sollte, habe ich alle
möglichen Messvorgänge, die ich bislang programmierte, schon im Arduino eingespeichert.
2.3 Die Kommunikation Arduino PC Damit der PC und der Arduino miteinander kommunizieren können, überlegte ich mir ein Protokoll, in dem „Pakete“ ausgetauscht werden. Die Pakete, die der PC an den Arduino versendet, bestehen immer aus vier Bytes:
p
Art des Paketes
(z.B. „m“= ART_MODUS oder
„p“= ART_PARAMETER)
a 2 \n
Parameter
(z.B. 2 für PIN 2)
Modus oder Art des Parameters
(z.B. „a“ für ANALOG_PIN)
Paketende
BLL „Jugend forscht“ von Johann Pascal Geus Seite 3 von 15
Da das Paket jeweils mit einem „Line Feed“ (in C-Code „\n“) abgeschlossen wird, können die Pakete als Ganzes vom Arduino mit einem ReadLine-Befehl gelesen werden. Das Arduino-Programm befindet sich in einem „Wartemodus“ (in meinem Programm: „MODUS_IDLE“) und fragt in einer Endlosschleife die serielle Schnittstelle ab, bis es vom PC-Programm Befehle erhält. Dabei sendet der PC zunächst Parameter-Pakete, mit denen die Einstellungen gesetzt werden: Messung in Milli- oder Mikrosekunden, die Länge zwischen zwei Messungen, Anzahl der Messwerte und welcher PIN abzufragen ist. Das Modus-Paket sagt dem Arduino dann, welchen Modus er einnehmen soll (Zeitmessung: „MODUS_ZEIT“, Speicheroszilloskop: „MODUS_OSZI“, Spannung: „MODUS_SPANNUNG“). Direkt nach dem Erhalt des Modus-Paketes wechselt der Arduino in den Messungsmodus, d.h. er fragt nun nur noch den Anlog-PIN ab, der zuvor eingestellt wurde. Wenn die eingestellte Zahl der Messwerte aufgenommen wurde,
sendet der Arduino diese in Form von Datenpaketen an den PC und
wechselt wieder in den Wartemodus. Die Datenpakete haben den
folgenden Aufbau:
Dabei ist die erste Zahl ein „unsigned Integer“-Wert (0-65535), der einen Zeitpunkt (in µs oder ms)
darstellt. Besonders bei der Messung in µs muss man beachten, dass dieser Bereich nicht
überschritten wird. Am Anfang arbeitete ich hier mit „long“-Werten, aber mit diesen lief der Speicher
des Arduinos im Oszilloskopbetrieb zu schnell über. Der zweite Integer-Wert ist der Messwert für die
Spannung (0 bis 1023), der zu dem Zeitpunkt gehört. Dieser Wert wird aber nur im Oszilloskopbetrieb
ausgewertet.
2.3.1 Die PC-Programme
Für die PC-Programme verwendete ich die Entwicklungsumgebung „Microsoft Visual Studio C#
Express“, weil diese sehr komfortabel und kostenlos ist. Außerdem konnte ich mich bei der
Kommunikation zwischen dem Arduino und dem PC an Beispielen orientieren1.
Ich schrieb bislang zwei PC-Programme:
- „Speicheroszi“ wird beim Einsatz als Speicheroszilloskop verwendet,
- „Zeitmessung“ für die Experimente mit den Lichtschranken oder Mikrofonen.
1 Bei der Initialisierung und dem Schreiben/Auslesen der seriellen Schnittstelle habe ich mich Beispiel „Simple
Serial Communication with Microsoft Visual C# Express“ unter http://csharp.simpleserial.com orientiert.
[ 5 0 8 | 4 5 \n 2
Paketanfang Trennzeichen Paketende
0 8
Abbildung 2: Warteschleife Arduino
BLL „Jugend forscht“ von Johann Pascal Geus Seite 4 von 15
Beide Programme verwenden die gleiche C#-Datei „ArduinoSerial.cs“, in der die Funktionen zur
Kommunikation mit dem Arduino definiert sind. Da C# im Wesentlichen dieselbe Syntax wie C
verwendet, konnte ich die Definition der Konstanten des Protokolls direkt aus dem Arduino-
Programm in die C#-Datei kopieren.
Die Bibliotheken von C# stellen eine Klasse „SerialPort“ zur Verfügung, in der alle notwendigen
Funktionen schon definiert sind, um auf die serielle Schnittstelle zuzugreifen. Ich verwendete dazu
ein Objekt, das ich „_comport“ nannte. Als Beispiel dafür, wie ich dieses Objekt einsetzte, füge ich
einen Teil der Funktion ein, mit der der Port geöffnet wird:
Abbildung 3: Ausschnitt aus ArduinoSerial.cs
In der Funktion „port_DataReceived“ wird jedes Datenpaket in einen String gelesen. Falls es sich um
Messdaten handelt, wird dieser String in einem Array gespeichert. Das PC-Programm wartet, bis der
Arduino ein Abschlusspaket sendet.
Bei einer Datenübertragung kann es vorkommen, dass Daten verloren gehen. Das kann z.B. passieren, wenn eines der beteiligten Geräte nicht mit der Übertragung hinterher kommt, d.h. der Empfangspuffer, der schließlich auch nur ein begrenzter Speicher ist, läuft über. Weiter könnten Daten verfälscht werden, d.h. es wird ein anderer Wert als der gesendete empfangen. Ich habe in meinem Protokoll keine Vorkehrungen für diese unwahrscheinlichen Fälle vorgesehen. In einem Fall, bei der Verwendung eines langsamen Computers, führte dies jedoch zu Problemen (siehe Messung der Fallbeschleunigung). Der Arduino sendet nach jedem empfangenen Paket eine Bestätigung, die ich in einem Textfeld der Benutzeroberfläche anzeige. Die Benutzeroberfläche wird bei den einzelnen Versuchen genauer erklärt.
3 Speicheroszilloskop Ein Oszilloskop ist ein elektronisches Messgerät zur optischen Darstellung einer oder mehrerer elektrischer Spannungen und deren zeitlichen Verlauf auf einem Bildschirm. Das Oszilloskop stellt dabei einen Verlaufsgraphen in einem zweidimensionalen Koordinatensystem dar, wobei üblicherweise die (horizontale) X-Achse (Abszisse) die Zeitachse ist und die anzuzeigenden
BLL „Jugend forscht“ von Johann Pascal Geus Seite 5 von 15
Spannungen auf der (vertikalen) Y-Achse (Ordinate) abgebildet werden. Das so entstehende Bild wird als Oszillogramm bezeichnet. Es gibt analoge und digitale Oszilloskope, wobei analoge Geräte eine Kathodenstrahlröhre zur Anzeige benutzen (Kathodenstrahloszilloskop). (Wikipedia, entnommen am 10.10.2011 von http://de.wikipedia.org/wiki/Oszilloskop) Ich entschied mich für ein digitales Speicheroszilloskop, bei dem erst über einen Zeitraum eine bestimmte Anzahl von Messwerten aufgenommen wird. Diese werden dann in einem Koordinatensystem angezeigt. Die Zahl der Messwerte ist durch die Speicherkapazität des Arduinos stark begrenzt. Ich wählte 250 Messwerte, weil diese Zahl zum Aufzeichnen in meinen Experimenten ausreicht.
3.1 Benutzeroberfläche des Speicheroszilloskops
1) Da es vom Computer abhängt, welcher serielle Port verwendet wird, kann dieser hier
eingegeben werden.
2) Die PINs 2, 3, 4 und 5 sind durch geeignete Schaltungen für verschiedene Messbereiche
ausgelegt. Hier wird der Messbereich gewählt.
3) Anhand dieses Wertes weiß der Arduino, wie lange er messen muss. In diesem Intervall nimmt er 250 Messwerte in gleichen Zeitabständen auf.
4) Da die Vorgänge zum Beispiel bei der Kondensatorentladung sehr kurz sind, kann man die Messung nicht von Hand starten. Vor Beginn der Messung nimmt der Arduino einen Vergleichswert auf. Die eigentliche Messung beginnt erst, wenn der abgelesene Wert um mehr als die Schwelle von diesem Wert abweicht.
Abbildung 4: Bedienungsfenster "Speicheroszi"
BLL „Jugend forscht“ von Johann Pascal Geus Seite 6 von 15
5) Mit diesem Button initialisiert man die Messung. 6) Hier werden alle Statusmeldungen des Arduinos angezeigt. 7) Nach Abschluss der Messung werden alle 250 Messdaten (Zeit und Spannungswert) in der
Tabelle angezeigt. 8) Mit diesem Button lässt man sich die Messdaten in einem Koordinatensystem anzeigen.
3.2 Koordinatensystem
Die Ausgabe der Messpunkte in einem Koordinatensystem war der schwierigste Teil der Programmierung. Um in einem Fenster zeichnen zu können, muss man ein „Graphics“-Objekt definieren und alle Zeichenoperationen in diesem Graphics-Objekt ausführen. Dieses Objekt hat eine variable Höhe und Breite, je nachdem wie groß das Fenster ist. Ich verwendete logische Koordinaten in den folgenden Bereichen: x von _minx = -100 bis _maxx = 1100 und y von _miny = -204 bis _maxy = 1020. Bei den y-Koordinaten stimmte dies im Wesentlichen mit dem Wertebereich des Arduino überein (0 bis 1023). Diese mussten in Bildschirmkoordinaten umgewandelt werden. Dabei war insbesondere zu beachten, dass im Bildschirmsystem die größere y-Koordinate weiter unten liegt.
Wenn z.B. das Fenster die Höhe _hoehe = 612 Pixel hat, dann ergibt sich ein Skalierungsfaktor von
. Dann werden die logischen y-Koordinaten so abgebildet:
Logische Koordinate yL map_y_to_pix Bildschirmkoordinate yS
_miny = -204
(_maxy – (-204)) 612
0
(1020 – 0) 510
_maxy = 1020
(_maxy – (1020)) 0
Bei allen Zeichenfunktionen wird dann diese Umwandlung zuerst durchgeführt:
BLL „Jugend forscht“ von Johann Pascal Geus Seite 7 von 15
Die Funktion draw_ks zeichnet das Koordinatensystem und trägt dann die Daten ein. Die Variablen x_per_unit (Voreinstellung 100) und y_per_unit (Voreinstellung 204) dienen hier dazu, die Achseneinteilungen vorzunehmen. Diese Variablen werden je nach Messbereich angepasst.
Das Speichern der erzeugten Bitmap in einer Datei war Dank der Funktionen des Graphics-Objektes einfach zu programmieren.
BLL „Jugend forscht“ von Johann Pascal Geus Seite 8 von 15
3.3 Versuche
3.3.1 Laden und Entladen des Kondensators
Ich entschied mich für dieses Experiment aus meinem Physikunterricht, weil es eine einfache Schaltung ist. Außerdem konnte ich bei den theoretischen Grundlagen meine Kenntnisse aus dem Mathematik-Zusatzkurs über Differenzialgleichungen anwenden.
Abbildung 5: Schaltbild Kondensatorkurven
Abbildung 6: Schaltung Kondensatorkurven
Die Schaltung verwendet als Versorgungsspannung die 5 V vom Arduino. Man kann sowohl die Lade- als auch die Entladekurve aufzeichnen. Dazu muss nur der Schalter umgestellt werden. Beim Entladen gilt: Die Summe der Spannungen im Stromkreis, der aus dem Kondensator und dem
Widerstand besteht, ist 0. Da für die Spannung am Kondensator UC = und für die Spannung am
Widerstand gilt, folgt:
= 0
=
=
Trennung der Variablen
∫
= ∫
Integrieren
=
als Exponent der e-Funktion verwenden
=
Anfangsbedingung Q(0) = Q0 eK = Q0
=
Gemessen habe ich die Spannung am Kondensator, die proportional zur Ladung auf den
Kondensatorplatten ist. Deren Zeitabhängigkeit sollte also durch
beschrieben
werden.
3.3.1.1 Auswertung
Nach der Zeit ist die Spannung
=
auf den
– Teil der
Anfangsspannung abgefallen. Mithilfe des gemessenen Wertes U0 = 4,5 V und der angegebenen
Werte R = 220 und C = 10 µF konnte ich nun überprüfen, ob meine Aufzeichnung mit der Theorie
übereinstimmt. Die folgende Abbildung zeigt die von mir aufgezeichnete Kurve, in der ich mit dem
Programm Inkscape die zur Überprüfung verwendeten Werte markierte. Es ergab sich eine gute
BLL „Jugend forscht“ von Johann Pascal Geus Seite 9 von 15
Übereinstimmung.
Abbildung 7: Aufgenommene Entladungskurve mit Rechnung, bearbeitet mit Inkscape
3.3.2 Gedämpfte Schwingungen
Für die Aufzeichnung einer gedämpften elektromagnetischen Spannung muss gegenüber der letzten Schaltung nur der Widerstand R2 gegen eine Spule getauscht werden. Die Messung wird aber viel komplizierter, da der Arduino nur positive Spannungen messen kann. Man muss also die negativen Spannungen in den positiven Bereich verschieben.
Abbildung 8: Schaltung gedämpfte Schwingung
Ich habe im Skript „Arduino Workshop“2 von Fabian Winkler dazu eine geeignete Schaltung mit Operationsverstärkern gefunden und nachgebaut.
2 Quelle: http://web.ics.purdue.edu/~fwinkler/590E/Arduino_workshop_sensors.pdf),
entnommen am 20.10.2011
Abbildung 9: Schaltplan Spannungsverschiebung
BLL „Jugend forscht“ von Johann Pascal Geus Seite 10 von 15
Die genaue Funktionsweise dieser Schaltung kann ich nicht erklären. Im Ergebnis addiert sie zu der angelegten Spannung jeweils 2,5V. Damit stand ein Messbereich von -2,5V bis zu 2,5V zur Verfügung. Da ich am PIN 5 zusätzlich einen „4 zu 1“-Spannungsteiler verwendete, konnte ich sogar Spannungen von -10V bis 10V messen. Die gesamte Schaltung baute ich fest in mein Messgerät ein, siehe Abbildung 1. Alle bei dieser Schaltung verwendeten Bauteile kosten zusammen ca. 1 Euro. Wie aus der leichten Verschiebung nach oben in den nächsten beiden Graphen ersichtlich ist, war die Verschiebung nicht ganz genau. Abhängig von der Größe der anliegenden Spannung war sie etwas zu groß.
3.3.2.1 Auswertung
Ich verwendete als Näherung die Thomsonsche Schwingungsgleichung ( √ ) für die ungedämpfte Schwingung und bestimmte mithilfe der abgelesenen Schwingungsdauer die Induktivität der Spule. (Verwendete Spule: Primärinduktivität im Miniatur-Übertrager 1:10, Conrad 516260). Eine weitere Auswertung nahm ich hier nicht vor, weil diese aufgrund der Dämpfung zu kompliziert gewesen wäre.
Abbildung 10: Ungedämpfte Schwingung, Koordinatengitter mit Inkscape unterlegt
3.3.3 Ungedämpfte elektromagnetische Schwingung
Wie ich im Physikunterricht gelernt habe, kann man für die Erzeugung der ungedämpften
Schwingung eine Meißner-Schaltung verwenden. Im Artikel „Entwurf und Aufbau einer einfachen
Transistorschaltung zur Erzeugung einer ungedämpften Schwingung“ (Filtz, 2006) fand ich eine
Meißner-Schaltung, die mit geringen Kosten zu realisieren war. Diese Schaltung funktionierte nur
mit Kondensatoren, deren Kapazität kleiner als 100 nF ist. Außerdem musste ich das Potentiometer
RE jeweils sehr genau einstellen, bis ich im kleinen Lautsprecher einen Ton hörte, der mir das
Vorliegen einer harmonischen Schwingung anzeigte.
BLL „Jugend forscht“ von Johann Pascal Geus Seite 11 von 15
Abbildung 11: Meißner-Schaltung/Schaltbild
Abbildung 12: Meißner-Schaltung/Platine
Bauteile:
R1 100 kΩ
R2 18 kΩ
Ck 1,5 µF
Re Trimmpotentiometer 10 kΩ
Rc 100 kΩ
C 100 pF…100 nF
T npn-Transistor, z.B. BC 107B
Tr NF-Übertrager 1:10 (z.B. Conrad, Art.-Nr.: 516260-62)
UB 9V Batterie
3.3.3.1 Auswertung
Ich berechnete auf die gleiche Weise wie bei den ungedämpften Schwingungen die Induktivität der
Spule. Im Schwingkreis befindet sich hier die Sekundärspule des Mini-Übertragers (Conrad 516260),
deren Induktivität mit L = 2,8 H angegeben wird. Mein Ergebnis stimmte damit gut überein.
Abbildung 13: Ungedämpfte Schwingung, Koordinatengitter mit Inkscape unterlegt
BLL „Jugend forscht“ von Johann Pascal Geus Seite 12 von 15
4 Zeitmessungen
4.1 Lichtschranken Funktionsweise Der Arduino misst konstant den Spannungsabfall des Empfängers, der von einem Sender bestrahlt wird. Wenn sich etwas zwischen Sender und Empfänger befindet, dann weicht der gemessene Wert um mehr als die eingestellte Schwelle von einem Vergleichswert ab. Den dazugehörigen Zeitpunkt merkt sich der Arduino. Produktion meiner Lichtschranken: Ich wählte „Gabellichtschranken“ aus Holz, weil sie leicht an einem Stativ befestigt werden können und nicht so anfällig sind, da sich Sender und Empfänger immer gegenüberstehen. Damit genaue Messungen möglich waren, bohrte ich kreisförmige Öffnungen mit einem Durchmesser von 2 mm für Sender und Empfänger in das Holz. Mein erster Prototyp bestand aus einer einfachen LED als Sender und einem LDR (Light Dependent Resistor) als Empfänger. Je höher der Lichteinfall auf einen LDR ist, desto kleiner wird aufgrund des inneren fotoelektrischen Effekts sein elektrischer Widerstand. Obwohl diese Methode richtige Ergebnisse lieferte und preismäßig unschlagbar war, konnte sie keine dauerhafte Lösung sein, denn sie war stark abhängig von der Messumgebung. Deswegen entschloss ich mich, eine Lichtschranke vom selben Prinzip zu bauen, aber mit einem Infrarot-Sender/Empfänger. (Preis pro Infrarot-Gabellichtschranke: ca. 3,50 Euro) Jedoch brachte die Infrarotmethode auch neue Schwierigkeiten mit sich, denn ich musste Sender und Empfänger finden, die die gleiche Wellenlänge verwenden. Als Sender setzte ich den SFH409-2 ein und als Empfänger den BP 104 F. Da ich mit den 5 V vom Arduino arbeitete,
habe ich zur Sicherheit noch einen 50 - Widerstand in Reihe geschaltet.
Abbildung 14: Schaltbild Lichtschranke
Abbildung 15: Gabellichtschranken an einem Holzstab montiert
4.1.1 Messung der Fallbeschleunigung
Ich habe versucht, meine Lichtschranken in einem Aufbau mit einem Stativ und einer Fallvorrichtung
in der Schule einzusetzen. Obwohl die Lichtschranken und die Zeitmessung bei langsamen
Bewegungen funktionierten, gelang der Fallversuch nicht. Später stellte sich heraus, dass der
verwendete Laptop (ein sehr altes Modell, das ich tatsächlich von meiner Großmutter ausgeliehen
hatte) nicht schnell genug arbeitete. Ich habe die Lichtschranken dann zuhause auf einer Holzleiste
montiert und die Kugel von Hand fallen lassen. Mit meinen Desktop-PC gab es keine Probleme bei
der Messung. Die Lichtschranken waren genau 0,5 m voneinander entfernt.
BLL „Jugend forscht“ von Johann Pascal Geus Seite 13 von 15
4.1.1.1 Auswertung
Messung 1 2 3 4 5 6 7 8 9 10 11 12
Fallzeit in ms 305 303 301 301 309 297 301 312 301 309 299 292
Fallbeschleunigung in m/s² 10,7 10,9 11,0 11,0 10,5 11,3 11,0 10,3 11,0 10,5 11,2 11,7
Mittelwert: g = 10,9 m/s² Standardabweichung: = 0,40 m/s² Relativer Fehler: 4%
Die berechneten Werte der Fallbeschleunigung weichen vom Literaturwert g = 9,8 m/s2 systematisch
nach oben ab, d.h. die gemessenen Zeiten sind zu kurz. Da die Kugel immer um eine Strecke x
oberhalb der ersten Lichtschranke fallen gelassen wird, ergibt sich ein systematischer Fehler. Bei
einer Messstrecke von 0,5 m und einer Fallstrecke von s = 0,5 m + x gilt:
Fallstrecke s = 0,5 m + x
√
Startstrecke x
√
Gemessene Zeit tm: tm = t – tx = √
- √
=
√ (√ √ )
Für x = 3 mm (geschätzt): tm =
√ (√ √ ) 0,296 s
Das steht gut im Einklang mit meinen Messungen. Wenn die Kugel aus der Ruhe (bei x = 0) starten
würde, ergäbe sich dagegen eine Fallzeit von √
.
4.2 Mikrophone
4.2.1 Messung der Schallgeschwindigkeit
Als drittes und letztes Projekt nahm ich mir die Messung der Schallgeschwindigkeit vor. Dabei setzte
ich dieselben Programme wie bei der Lichtschranke ein. Für die Mikrofone benötigte ich eine
Verstärkerschaltung. Hier verwendete ich einen Schaltplan für einen Bausatz von Conrad3 , kaufte
aber die Bauteile einzeln und kam so auf Kosten von ca. 5 € pro Schaltung.
Abbildung 16: Messstrecke mit zwei Mikrofonen, im Vordergrund die Verstärkerschaltung
3 http://www.produktinfo.conrad.com/datenblaetter/175000-199999/197688-as-03-de-
Mono_Mikrofon_Vorverstaerker.pdf , Seite 21
BLL „Jugend forscht“ von Johann Pascal Geus Seite 14 von 15
Die Mikrofone wurden in einem Abstand von s = 0,5 m befestigt. Als Schallquelle wurde ein metallisches Klicken verwendet. Die Zeitmessung begann mit der Registrierung des Signals durch das erste Mikrofon und endete mit der Registrierung durch das zweite Mikrofon.
Abbildung 17: Aufbau Messung der Schallgeschwindigkeit
4.2.1.1 Auswertung
Bei einer gemessenen Zimmertemperatur von = 23,4° C beträgt die Schallgeschwindigkeit
346
, die Laufzeit sollte t =
=
betragen.
Messung 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
t in µs 1576 1576 1472 1472 1248 1584 1472 1248 1240 1464 1576 1576 1464 1240 1464
v in m/s 317 317 340 340 401 316 340 401 403 342 317 317 342 403 342
Mittelwert: v = 349 m/s
Standardabweichung: = 35 m/s
Relativer Fehler: 10%
Der relative Fehler wird insbesondere durch die Abtastrate des Arduino hervorgerufen. Bei einer
Taktfrequenz von 16 MHz finden zwar in jeder Mikrosekunde 16 Takte statt, doch benötigen
komplexe Befehle des Arduino eine große Zahl von Takten. Bei meinen Messungen stellte ich fest,
dass das minimale Zeitintervall, das der Arduino auflösen kann, eine Länge von etwa 100 µs hat. Je
nachdem, ob das Signal nun pünktlich oder mit 100 µs Verspätung registriert wird, ergibt sich daraus
ein Fehler.
BLL „Jugend forscht“ von Johann Pascal Geus Seite 15 von 15
5 Diskussion Ich konnte in meinen Versuchen stets eine Übereinstimmung mit den Literaturwerten erzielen, die
vergleichbar mit den Ergebnissen bei der Verwendung professioneller Geräte war. Wenn ich nur die
Kosten zähle, die in der endgültigen Version des Gerätes stecken, dann ist mir mit etwa 50 € Aufwand
auch eine kostengünstige Lösung gelungen. Tatsächlich war mein Entwicklungsaufwand höher, da
ich nicht immer auf Anhieb die optimalen Bauteile fand und beim Experimentieren auch einige
Bauteile durchbrannten. Insbesondere bei den Schaltungen mit den Operationsverstärkern waren
einige Anläufe erforderlich.
Vor dem Einsatz des Gerätes in Schülerübungen müsste die Bedieneroberfläche noch besser gegen
Fehleingaben geschützt werden. Weiter wäre ein besserer Schutz des Gerätes gegen Überlastung
nötig. Es wäre auch zu überlegen, ob man die Batterien, die in einigen Schaltungen zusätzlich
erforderlich sind, nicht durch ein Netzgerät ersetzt.
Es sind viele weitere Anwendungen meines Gerätes in Schülerübungen denkbar, dabei ist es sehr
vorteilhaft, dass es preiswerte Sensoren für den Arduino zu kaufen gibt. Hier führe ich als Beispiel nur
den Biegesensor (Force Sensitive Resistor) für die Kraftmessung an.
Insgesamt hatte ich viel Spaß an meinem Projekt, weil ich vieles von dem, was ich in der Schule
gelernt habe, einsetzen konnte. Ich habe mich dabei auch so intensiv mit der Programmierung und
elektrischen Schaltkreisen beschäftigt, dass ich mich in meinen Unterrichtsfächern sicherer fühle.
Sehr viel Zeit kostete die Erstellung der Schaltungen und das Aussuchen der Bauteile. Bedanken
möchte ich mich bei den Mitarbeiten von Segor-Electronics, die bei meinen Einkäufen immer offen
für Fragen waren und mir vieles geduldig erklärten.
6 Literaturverzeichnis Bader, P. D. (2010). Dorn Bader. Braunschweig: Schroedel.
Conrad Elektronik. (kein Datum). Mono-Mikrofon-Verstärkerschaltung. Abgerufen am 28. 12 2011
von http://www.produktinfo.conrad.com/datenblaetter/175000-199999/197688-as-03-de-
Mono_Mikrofon_Vorverstaerker.pdf
Filtz, M. (2006). Entwurf und Aufbau einer einfachen Transistorschaltung zur Erzeugung einer
ungedämpften Schwingung. „Grundlagen der Elektrotechnik, Teil I“. Berlin: TU Berlin.
Kainka, B. (2000). Handbuch der analogen Elektronik. Freiburg: Franzis.
Krause, J. G. (1998). Metzler Physik. Hannover: Schroedel Verlag.
Margolis, M. (2011). Arduino Cookbook. United States of America: O'Reilly Media.
Microsoft. (kein Datum). Simple Serial Communication with Microsoft Visual C# Express. Abgerufen
am 15. Juli 2011 von http://csharp.simpleserial.com
Pütz, J. (1995). Elektronik. Köln: vgs Verlagsgesellschaft.
Schommers, A. (1993). Elektronik gar nicht schwer, Buch 4: Exp. mit Optoelektronik. Aachen: Elektor
Verlag.
Schommers, A. (1995). Elektronik gar nicht schwer, Buch 2: Exp. mit Wechselstrom. Aachen: Elektor
Verlag.
Schommers, A. (1996). Elektronik gar nicht schwer, Buch 1: Exp. mit Gleichstrom. Aachen: Elektor
Verlag.
Winkler, F. (2007). Arduino Workshop. Abgerufen am 20. 10 2011 von
http://web.ics.purdue.edu/~fwinkler/590E/Arduino_workshop_sensors.pdf
Viele Anregungen habe ich der Webseite http://arduino.cc entnommen. Dort befindet sich
insbesondere die Hilfebibliothek für die Arduino-Software.
Hiermit erkläre ich, dass ich die Facharbeit ohne fremde Hilfe angefertigt und nur die im Literaturverzeichnis angeführten Quellen und Hilfsmittel benutzt habe.
Datum und Ort Unterschrift