Für den Bau einer Wasserrakete benötigt man eigentlich nur folgende Dinge:
- eine stärkere 1.5-Liter Limonadenflasche
- einen Gummistopfen
- ein langes, dünnes Fahrradventil
- eine Pumpe
- Wasser
- 3 Stück Kunststoffplatten für die Finnen der Rakete, z.B. Kunststoffplatte
Variante 1: Selbstauslösung
Bei dieser Variante füllt man die Wasserrakete ca. zur Hälfte mit Wasser. Danach drückt man den Gummistopfen mit Ventil so fest es geht in die Flaschenöffnung. Hierbei ist es ratsam, die Innenseite der Flaschenöffnung vorher zu trocken, damit die Reibung zunimmt und der Stopfen auch noch bei höheren Innendrücken stecken bleibt.
Danach pumpt man so lange auf, bis der Innendruck den Stopfen wegdrückt und das Wasser entweichen kann.
Folgende zwei Videos wurden mit 30 fps aufgenommen. Der zeitliche Abstand zwischen 2 aufeinanderfolgenden Bildern beträgt also ca. 33 ms!
Man kann den Abschuss der Wasserrakete auch für eine Computerauswertung gebrauchen. Mittels der Software ViMPS wird die Position der Wasserrakete in Abhängigkeit von der Zeit per Mausklick angegeben und das Programm liefert dann die Ortskoordinaten (x/y). Daraus lässt sich dann etwa mit Excel neben der Höhe h(t) auch die Geschwindigkeit v(t) der Wasserrakete ermitteln.
Wie man am Graphen v(t) sieht, beträgt die Geschwindigkeit kurz nach dem Start beachtliche 190 km/h:
Variante 2: Fernauslösung
Diese Variante unterscheidet sich von jener oben dadurch, dass der Raketenstart nun per manuellen Auslöser erfolgt. Man füllt die Wasserrakete wieder etwa zur Hälfte mit Wasser und dreht dann den Gardena-Flaschenadapter auf das Flaschengewinde. Danach rastet man die Rakete im Gardena-Gegenstück ein und pumpt auf. Bei einem Druck von etwa 6-7 bar (Anm.: Viel höher würde ich ehrlich gesagt nicht gehen) löst man dann den Start aus, indem man an dem Drahseil zieht.
Bei Raketen ist es ja immer reizvoll, gewisse Daten wie Flughöhe bzw. Geschwindigkeit zu bestimmen. Mit einem Arduino und einem Barometer (konkret BMP180) ist dieser Wunsch relativ leicht umsetzbar. Die Flugdaten (Zeit, Luftdruck) werden während des Flugs auf eine SD-Speicherkarte gespeichert und können dann im Anschluss ausgewertet werden.
Damit die Speicherkarte nicht permanent mit Daten vollgeschrieben wird, habe ich einen Starttaster installiert. Betätigt man diesen unmittelbar vor dem Start, so werden in den nächsten z.B. 45 Sekunden die Daten gespeichert.
Arduino-Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
#include <SPI.h> #include <Wire.h> #include <SD.h> #include <Adafruit_BMP085.h> Adafruit_BMP085 bmp; const int chipSelect = 10; // used for Arduino //const int chipSelect = D8; // used for ESP8266 float data[2]; // Datenarray int pushButton = 2; // Pin Start-Taster long Startzeit; long Messdauer; // ================= // === SETUP === // ================= void setup() { Serial.begin(9600); pinMode(pushButton, INPUT); if (!bmp.begin()) { Serial.println("Could not find a valid BMP085 sensor, check wiring!"); while (1) {} } while (!Serial) { } Serial.print("Initializing SD card..."); // make sure that the default chip select pin is set to // output, even if you don't use it: pinMode(10, OUTPUT); if (!SD.begin(chipSelect)) { Serial.println("Initialization failed!"); while (1); } Serial.println("card initialized."); Messdauer = 45000; // Messdauer in ms, während der die Zeit und der Luftdruck auf die SD-card geschrieben werden, sobald der Starttaster gedrückt wurde } // ================ // === LOOP === // ================ void loop() { while(digitalRead(pushButton) == HIGH) { // Wait for start-button pressed } Startzeit = millis(); while(millis() - Startzeit < Messdauer) // Während der Messdauer wird die Zeit und der Luftdruck eingelesen und auf die SD-card geschrieben { data[0] = millis() / 1000.0; // aktuelle Zeit in Sekunden data[1] = bmp.readPressure()/100.0; // aktueller Druck in mbar String dataString = ""; dataString += String(data[0],3); dataString += ": "; dataString += String(data[1]); File dataFile = SD.open("datalog.txt", FILE_WRITE); if (dataFile) { dataFile.println(dataString); dataFile.close(); //Serial.println(dataString); } else { Serial.println("error opening datalog.txt"); } } } |
Pro Sekunde werden so 19 Messungen auf die SD-card übertragen. Das dürften ausreichend viele für eine saubere Auswertung sein.
Ich habe auch eine Funkvariante mit den NRF24L01 gebastelt. Da befürchte ich aber, dass die Reichweite der kleinen Module nicht ausreichen wird, die Daten bei Flughöhen um die 25 m von der Wasserrakete an die Basisstation am Boden zu übermitteln. Ich werde es aber auf jedem Fall experimentell überprüfen.
Die aktuelle Flughöhe kann wie schon angedeutet mittels Barometer bestimmt werden. In einer Seehöhe von 375 m nimmt nämlich der Luftdruck pro Meter um 0.1214 mbar ab.
Um auf die Flughöhe h zu kommen, wird einfach die Druckdifferenz p(h) – p(Boden) durch –0.1214 dividiert. Kenne ich die Flughöhe h in Abhängigkeit von der Zeit t, so gelange ich zur Geschwindigkeit mittels erster Ableitung v(t) = h'(t). Da die Messwerte tabellarisch vorliegen, wende ich zur Berechnung von v einfach den Differenzenquotient v(t) = [h(t + Δt) – h(t)] / [Δt] an.
Ich habe mir nun zwei unterschiedliche Wasserraketen besorgt. Einmal das 3er Set mit dem Modell Aqua Star von der Firma Klima (https://www.raketenmodellbau-klima.de/Raketenmodellbau/Wasserraketen/Aqua-Star-Zusatzrakete.htm?shop=raketenklima&SessionId=&a=article&ProdNr=6046&t=23&c=34&p=34) und dann noch die Rokit Rakete (https://www.getdigital.de/rokit-flaschenraketen-set.html). Beim Set von Klima sind Teile für drei komplette Raketen enthalten u.a. sehr nützliche Schaumstoffspitzen. Diese federn nicht nur die Landung ab, sondern verbessern auch die Aerodynamik der Rakete. Darunter werde ich meinen Arduino-Höhenmesser verstecken…
Beim Zusammenbau hatte ich tatkräftige Unterstützung von shady, dem lieben Hund meiner Tochter:
Nach getaner Arbeit war natürlich ein Nickerchen angesagt 😉
Hier noch Bilder von der Startvorrichtung mit Gardena-Schlauchkupplung:
Für die Fernauslösung habe ich mir aus einem alten MTB-Bremsschalthebel und Lenker etwas gebastelt:
Hier ein erster Funktionstest:
Die Rohkit-Wasserrakete aus England besitzt keine Fernauslösung. Bei einem bestimmten Innendruck wird der Metallstöpsel aus dem Gummi herausgedrückt und die Rakete startet. Damit sind wohl nicht so große Flughöhen erzielbar wie mit der Fernauslösung. Da gehe ich ja was den Innendruck angeht bis ca. 6-7 bar.
Wenn ich die Raketen gestartet habe, geht es hier weiter…