Arduino-controlled Water Rockets
by mbagrianski in Circuits > Arduino
32753 Views, 185 Favorites, 0 Comments
Arduino-controlled Water Rockets
You've all probably had a chance to do that classic high-school experiment: pop bottle rockets. You've probably taped on some fins, a paper nosecone, and presto! You launch a "rocket" that is loads of fun- and watched it fall down from the sky.
Why stop there?
Here, I'll show you the basics of building the next-level water rocket that can be the basis for many interesting projects. The best part is that most of the things required are either cheap or things you can find at home. If you want to design your own rocket, I'll help you plan and design. If you're just looking for a step-by-step project, I've got that as well.
So let's get started!
By the way, this is my first instructable, so if you feel that something's not done right, feel free to add a comment. Your feedback is appreciated!
Please keep in mind: My goal here is not to show you how to build one project. I am trying to help you start thinking and designing water rockets on your own, using your own ideas. I do present a project build, but I encourage you to alter the design and functionality as you see fit.
Finally, if you like it, please vote for it in any contest it may be in! Thanks!
A Little Lecture on Rocket Science
Now, this is rocket science, but that doesn't mean it's that difficult. Here are a few basic terms I'll be using:
Apogee- highest point on the parabola described by the rocket's flight, or, in other words, the point at which the rocket is farthest from the ground,
Cp- center of pressure,
Cg- center of gravity.
Everything else is relatively self-explanatory.
Key points to remember during design and construction (there may be more):
1. Drag- the more drag on a rocket, the lower it's apogee. Therefore, minimize drag.
2. Thrust- the more power the rocket produces, the higher it will go. Therefore, increase thrust.
3. Stability- the rocket's Cp must be behind it's Cg- this will make the rocket stable and therefore increase maximum altitude.
4. Mass- the lighter the rocket, the higher it goes. Note that decreasing your rocket's weight to almost zero would decrease it's performance- there is an ideal mass to volume ratio that enables best performance.
There is this effect in theory and in the real world that prevents us from doing everything at maximum potential. I.e. a bicycle cannot have a gear chain ratio that is oriented both for speed and strength at the same time. This type of trade off occurs here as well- we cannot increase thrust without increasing drag. The faster the air moves, the greater the volume of that air is (that interacts with the rocket) over a given time period.
Our goal is to design the highest-flying rocket with additional features that makes it more interesting than a simple 2L bottle rocket- so what does that involve?
To Be Advanced or Not - That Is the Question!
The issue with the simple bottle rocket is that we can not do anything with it other than launch it and watch it fall back down. I don't know about you, but this gets somewhat boring. What if we could watch the flight from the rocket? A digital camera should do the trick.
But- my camera costs a lot. I don't want it wrecked , so I'll need some sort of recovery mechanism. A parachute, maybe?
What if I don't want to get wet while launching the rocket? It would be nice to have a timer countdown device.
These are a few points that will be addressed during construction. If you have ideas, write them down. It's never worse when you forget a brilliant idea that's crucial to your project's success. Asking questions like this is fundamental to developing a functional product.
Options
Now let's decide what we should do. Here's a synopsis of possible ventures:
Parachute recovery
Involves deploying a small parachute to slow down the descent speed of a rocket. Generally uses a pyrotechnic charge in model rockets but we will use a spring-loaded mechanism with a servo latch device.
Videotaping
Only do this if you are sure that your recovery mechanism works all the time and with no faults. Cameras are expensive. I will take no responsibility for your misfortunes.
Timer for launch
Pretty simple, I think we'll do it to help time the parachute deployment as well. Involves an Arduino and 7-segment display, as well as a few push buttons and LEDs.
These are all I'll discuss in depth, but here are a few for you to try out. Most of these I've used in my project, and I'll provide ideas on how to do then as well:
-Accelerometer-based parachute deployment- an accelerometer can be used to calculated velocity, acceleration, and may be used for parachute deployment
-Barometric altimeter with data logger- using a cheap altimeter, you can create a time versus altitude graph, as well as measure air temperature (although this depends on the altimeter breakout board)
-Increase the volume of your water rocket- I'll actually discuss this in detail later on, but essentially one can splice bottles together to create larger pressure chambers. This helps to increase altitude, obviously.
-Retrograde recovery device- this is probably one of the most difficult projects involving water bottle rockets. the idea is to fire an air/ air+water mixture downwards just before 'touchdown' to increase the duration for which the rocket decelerates. If you get this to work, please comment! It would be great to know.
-Any other interesting rocket-related device- I've seen rockets with payload chambers, boosters, staging mechanisms, nozzles, etc. The sky is the limit!
Design
It's never a good idea to run out and buy materials without forethought, even be they as cheap as here. I went through this situation while working on my Technological Design Culminating project, which, incidentally, is shown above.
Design your rocket based on what you're capable of. The first image depicts my plan, whereas the second is the result. None of the larger rockets ever flew due to leakage. The final result was a small yet effective device that held the school record for altitude at 90m @65psi (pounds per square inch, a measurement of pressure).
There are certain things that are generic in terms of basic construction. You will want a rounded nosecone, as this is the shape that encounters the least air resistance. Fins should be placed as far back as possible. Try to limit extra weight and size by placing everything in a very compact layout.
Project Build- Delta-V Water Rocket
This is the rocket I'll be describing in-detail. It uses two 1-liter bottles, one for the pressure chamber and one for the nosecone and payload. It boasts of a programmable timer function to deploy the parachute at any desired time after liftoff, a launch-detect mechanism, a sevenisegment led display for programming, a servo motor deployment system and an eighteen inch parachute. It is used with a simple launcher, and does not need nozzles of any kind. Best of all- it has the capacity to carry a GoPro Hero 5 camera, or any other camera.
The total cost to build this was under 5$. :)
Also, please read through to the end of this Instructable before buying anything, as alternatives are presented that may be more easily accessible to you than the initial project.
Materials Required, As Well As Relevant Tools
These are the materials you'll need to build the physical structure of the rocket (this does not include electronics of any kind):
-1-liter bottles (x4) Try to get the ones that are very elongated and have smooth walls, and smooth, -flowing curves toward the bottle's neck. You'll only need three, but get an extra just in case. Buy a drink you actually like- so that you won't waste resources. That way, you'll be a bit more eco-friendly.
-Corrugated plastic board (absolute minimum 50x50cm) Again, get enough so you can experiment and rebuild if something doesn't work. Most schools have scraps of this stuff lying around, and if you're not in school then look in the dollar store. The stuff "For Sale" signs are made out of is fine.
-Ping-pong ball (x1) For the nosecone. If you don't have one, then look in any sports store. If you do have one, make sure nobody sees you take it.
-Rubber bands (as many as you have, minimum 2)
-Thick color paper (a few sheets)
-Transparent tape, i.e. Scotch (one should be enough) Any tape will do, but transparent tape looks better. The source is the dollar store.
-Hot glue sticks (as much as you need) with glue gun (x1) It's easier to glue some things together than tape them, especially where there's no chance of them getting wet. Glue guns may be bought from Mastercraft, Lowe's, Canadian Tire, Hobby shops, etc. Preferably get the mini version as the full-size ones tend to melt the plastic too easily. Also, don't forget glue sticks (it happens often, trust me)
-X-acto knife, or any other hobby knife (x1) For cutting the corrugated plastic. Any Hobby shop will provide you with a wide variety of knives.
-Sharp pair of scissors (x1)
-Ruler
-Pencil, eraser
Electronics Stuff and Relevant Tools
This is what you will need to buy to build this prototype, if not available to you already:
-Arduino Nano Rev3.0 or equivalent (x1) This is the control center of your rocket.
http://www.ebay.ca/itm/Nano-V3-0-Mini-USB-ATmega32...
-Generic 7-segment LED display, either common anode or common cathode (x1) Part of the user interface.
http://www.ebay.ca/itm/5PCS-0-56-7-Segment-Red-LED...
-Generic pushbuttons, SPST tactile type (min. 2) User interface.
-Slide switch, generic (through hole, breadboard pin spacing @ 1/10")
-Tilt switch, generic (x1) Used to detect acceleration of rocket at liftoff.
http://www.ebay.ca/itm/10Pcs-Metal-Ball-Tilt-Shaki...
-Generic jumper wires, 20cm lengths (male to male or male to female, read step 9 before deciding)
-Male header pins, enough for your Arduino (read step 9)
-LED assortment
-Buzzer, generic
- Mini servo motor with arm(x1) http://www.ebay.ca/itm/POP-9
-At least 4 220ohm resistors rated 1/4W
-Perforated board, copper plated 5x7 cm (x2)
http://www.ebay.ca/itm/Carte-Prototypage-Simple-fa...
-Soldering equipment (includes soldering iron, lead-free solder, stand)
https://www.creatroninc.com/product/30w-general-pu... -Iron
https://www.creatroninc.com/product/soldering-iron... - Stand
https://www.creatroninc.com/product/63-37-lead-sol...- Solder
Don NOT buy equipment and tools from eBay or amazon- cheaply made tools pose a greater hazard than quality-made tools. Also, non-eBay tools tend to last longer, so you won't have to buy a new soldering stand every year, for example. It's OK to buy electronics from eBay (most of the time), especially if it's generic- but expect 2-5 weeks delivery from most Asian sources.
The Arduino Nano can be bought from ebay as well, but I recommend purchasing one from a website such as sparkfun or robotshop as the quality is guaranteed in the two latter cases.
Rocket Structure, Part 1- Shell
Now, we'll start construction of the rocket body.
Start by removing labels and bottle caps from the bottles. If you have difficulty in doing so, rinsing under warm water helps. If the label is really tight, or made of plastic, then you don't need to take it off. Then, measure the diameter of the bottle and record it.
With an X-acto knife, cut off the top of one of the bottles around 1cm from the start of the neck. Also, cut off the bottom of the same bottle around 25 cm from the top, so you end up with a cylinder with one tapered edge, open at both ends. The smaller end should measure around 2.5cm in diameter. Please keep the cut-off section- you'll need it.
Cut away half of the ping-pong ball, and carefully glue it to the interior of the tapered end of the bottle, flush to the cut edge . You want to end up with a nose cone that has the profile of a parabola. It may take a few attempts to secure the ping pong ball, so it does not fall off. It helps to hold the shell upside down while the glue cools. Once the glue has set, move all of what you just made to the side, but remember not to throw it out by accident
Rocket Structure, Part 2- Parachute Chamber
You will now need to build a parachute and control systems chamber, which houses the Arduino, electronics modules and the servo, as well as the parachute itself. Please note that I used cardboard, a material that has almost identical structural characteristics to corrugated plastic, because I did not have the plastic available to myself at that moment. You should be able to follow all the steps in the exact same way. In fact, you can use cardboard as well, but if it gets wet you'll have a problem.
Start by taking your piece of corrugated plastic and cutting out 2 identical circles (for lack of better word) with an X-acto knife (1). The circles should have the same diameter as the bottle, hopefully you followed instructions and recorded the value earlier.
Cut out a rectangle with a length of 10cm and a width equal to your bottle diameter (2). Score the rectangle along its middle in such a way that the knife only cuts through part of the material (3). This will let you bend the plastic without having it snap into two pieces.
Lay the rectangle before you in such a way that it bends vertically inwards relative to you (4). On the right half of the bent plastic, cut out another smaller rectangle in the top middle area- the exact location does not matter (5). In most cases, the dimensions are somewhere around 1.5 x 2.5 cm for the micro servo models- but measure your servo to be sure, and use those dimensions.
Take one of the circles and lay it flat. Hot glue on the bent rectangle in such a way that both bottom corners are resting on the circumference of the circle (6). You should ensure that the whole bent rectangle is flush with the circle.
Glue on the top circle (7) making sure the same conditions are satisfied as with the bottom one. Using the thick color paper, reinforce the joints by cutting out L-shaped brackets and glueing them on. You should end up with something that resembles the assembly in picture 8.
Electronics Work
Build the electrical circuit shown in the fritzing diagram. Start by soldering the perforated boards. I recommend soldering the components in a very compact layout, as you will need to fit them inside the bottle rocket. Refer to the three photographs of the modules for approximate layout and size planning. Please do not attempt to follow all connections- it's much easier to follow the diagram...
Once the modules are complete, you can start to finish the circuit by interconnecting the modules where necessary. When doing this project, I soldered male header pins onto the Arduino and used female to male jumper wires, so I could plug in the connections. I did this because I didn't want to unsolder all the wires once the project was done- I suggest you do the same, especially if your Arduino came with header pins. Otherwise, you can buy them separately or omit them entirely.
You'll notice that I didn't build the exact design that I've provided a fritzing diagram for, the reason being that It's not the most compact design.
Ensure that everything works before you put it in the rocket- it's a pain to have to take everything apart (trust me, I've done this the first 3 times in a row).
Finishing It Off
Now you'll need to put it all together-and first, position the servo motor in the cavity you've cut out, by inserting it in from the outside. Hot glue it into place.
Install all the electronics in the corrugated plastic structure you built earlier. You can hot glue the perfboards into place, or tape them. Ensure you have space for the 9V battery, and don't forget to plug it in. You should, with a well-built circuit, have enough space for everything.
Slide on the top shell, with the nosecone, and, with a permanent marker, draw out the contours of the parachute chamber and a square about 1'x1' around the servo. Take off the shell and cut those sections out. The servo cutout should look similar to (1). Put the shell back on, and trim if necessary. Make sure the nosecone is still removable for access to the servo.
Take some of your leftover material, and cut out a flap about 2 cm longer and wider than the cutout for the parachute chamber. Tape it in place 1 cm back from the chamber, so that it can fully cover the opening when closed. Cut out another flap about the same length but a little thinner and tape it inside the parachute chamber, so it springs out naturally, but can be depressed inwards. This is the ejection plate. See the diagram. Cut a small hole at the swinging end of the cover and thread a rubber band through it. This will go to the servo arm later on.
Cut out holes for access to all the switches for control. You can do this with an x-acto knife.
Fins
Fins can be any shape you want, at this level. You can make them out of anything you want, as long as it isn't sharp and won't shatter, and it shouldn't be excessively heavy. Generally I use corrugated plastic for the fins in a simple rectangular form, maybe a little tapered from the top. I like to align it so that air passes right through it, i .e. corrugations are parallel to the rocket body. I hot glue paper brackets to the sides, then hot glue and tape the brackets to the body of the rocket.
Try to use three fins, four at most. Make sure they are evenly spread out along the circumference of the body, and mount them as far back as possible. This will make your rocket fly straighter.
If you want your rocket to fly without spinning, the fins must be absolutely straight. Even a slight tilt on one of them will spin your rocket.
I have attached a link to a good template for 3 and 4-fin construction:
Parachute
Parachutes vary widely. The standard parachute for a model rocket is an octagon with a small hole in the middle, and one hole at each corner by which cables are attached (or strings). These cables lead to a common anchor on the rocket body. In my case I just attached to strings to the rocket with a simple noose around the body, but you can be more elegant if you wish.
Generally you have to fold parachutes so that they fit in the chamber. I do this by taking the middle in one hand, bringing together all of the ends in the other hand, then rolling up the parachute. Then I wrap it in the parachute cord itself until there is about 10 cm of free cord, so that the parachute can actually be pushed out of the chamber.
Code
The code is attached below. Code is explained in the script. If any questions arise, I'll be happy to answer them in the comments. Please keep in mind that I wrote this code a long time ago and it's not the most efficient way to get the job done- but it works. I'll be updating it when I get the chance.
Downloads
Launch
Obviously, you will need a launcher. I plan to make another instructable devoted to that subject. The pictures show the launchers we used; this first is the school one and the second is a gardena launcher. I suggest you visit www.aircommandrockets.com as they have the best advice on building a launcher, and about water rockets in general.
Otherwise, many retail stores sell simple rocket launchers that will do the job.
The program has embedded notes that explain the launch options and procedure. There are two modes, launch triggered and timer, each of which has a programmable parachute deploy delay.
Before you do anything, you need to test the deployment mechanism. Follow the guidelines in the code. If the circuit doesn't work, follow standard troubleshooting guidelines to fix the problem. Check to make sure the servo successfully unlatches the chamber cover, and that the parachute is hurled out enough to start unwinding. It would help to do a drop test to make sure your parachute is functional.
Fill the rocket to 1/3 it's total capacity- this is the most efficient air-to-water ratio- and set it on your launchpad. Do not pressurize above 80psi under any circumstances. Ideally, you would conduct burst tests on the pressure chamber you are using, but I think that in this case it is unnecessary. I claim no legal responsibility if you injure yourself or cause property damage, and that will not happen if you follow what I have just told you.
Finally, I do not recommend trying to achieve anything other than maximum altitude, as this is by far the safest and the rocket is more likely to come back intact. Generally you want to keep the launcher pointing straight up, but in very strong winds it's a good idea to tilt it into the wind a little bit. If you want, a launch angle of 45 degrees to the ground will give you maximum distance lengthwise, but there are few practical applications that would use that sort of thing. As well, the parachute is likely to get ripped off during flight (otherwise it would be deployed at a near-motionless moment, at apogee, if launched vertically). Launching a rocket, especially with fins and low coefficient of drag, is extremely dangerous. Only do this if you have cleared the range and are sure that it won't hit anyone.
Launch Videos
The above one is the project build launch. Scroll to 1:33 to see the launch. It may appear to not have deployed anything (as the descent speed was rather fast) but the wind was strong so I was using a small parachute. Below is video from an earlier prototype.
Improvements
I've already mentioned that my goal here was to get you started with rockets. Here's what I consider to be the next step(s) if you wish to attempt them:
Add a camera- If you want some interesting photos/videos, and you are very confident in your rocket (or if you have a huge budget) you can go ahead and add a camera. I recommend a GoPro for it's small size and durability.
Add a barometric altimeter- On eBay you can find barometric altimeters for very cheap. These use air pressure (in fact they are just air pressure sensors) to return values that can be used to calculate air pressure (air pressure decreases with altitude). You can use this to deploy your parachute at a better moment (when altitude starts to drop).
Add a data logger- Adding a data logger (easiest would be the use of an SD card module to interface with Arduino) will allow you to store a lot of data, such as temperature, altitude, etc. over time, from sensors. Later you can call the variables (in the code) and display them in a graph of some sort.
Increase rocket capacity- You can splice two bottles together, and chain these splices with one another to increase the volume of your rocket and consequentially it's maximum altitude.
Increase maximum pressure- You can cover your pressure chambers with fiberglass, which will help cope with additional pressure. This can also be done by putting a second layer of the same bottle over top, then wrapping everything in electrical tape (as in the very first photo). I don't recommend this because this means you will need a remote launching system, as higher pressures mean more dangerous explosions, if your rocket does burst. This can be quite dangerous and will be done at your own risk. Additionally, this should only be attempted after you have fully acquainted yourself with the subject and conducted extensive burst tests in a safe environment.
Different recovery device- We used the most popular recovery device there is- the parachute. What about a glider? Or a retrograde rocket right before impact, like the Spacex Falcon 9? According to my research, no one has yet to build a water rocket with a working retrograde recovery system
Add boosters- This does require additional outlets on the launchpad, but will increase your final velocity.
Add a second stage- Again, you are increasing your final velocity by giving the first stage a boost.
Reach space (330,000ft)- Although this cannot be done with 2L pop bottles, why not think about it? If you have a lot of money, or find a way to get funding, that would be a step in making space travel more accessible to society (cost of fuel = cost of water). I am envisioning a lightweight aluminium chamber that could withstand in excess of 100,000 psi, at a dry weight of 30 kg. This, according to my calculations, would reach an altitude of 110,000ft, or roughly one-third of the way to space. Sure, it might be expensive, but it would be interesting to try, if you had the time and money. It might even become mainstream later on.
Conduct experiments in microgravity- If you've ever wondered what happens to something at 0-G, then you can use your rocket to test a theory out, as there is a moment of weightlessness at apogee.
Even further... Please leave a comment if you have ideas and I'll add it here if it's suitable. The more the better!
Acknowledgements
The following sites were absolutely instrumental for me in this project:
http://www.aircommandrockets.com/ - In my opinion, the best site about this topic. They have covered everything. Their highest-flying rocket has gone up to 1752ft.
http://www.uswaterrockets.com/ - Also a very helpful site. Good information on parachutes.
http://cjh.polyplex.org/rockets/simulation/ - Water rocket flight simulator. Very useful.
When we did this project, we made a not-so-professional website- you can see it here:
https://sites.google.com/tdsb.on.ca/waterrockets/h...
This site documents the whole of our project.
Once again, feel free to comment below with any questions or concerns. And if you like this instructable, please vote for it! Thank you very much.
Updates of Interest
April 10th, 2018- Completely finished microcontroller-free version of a rocket control system. Uses two 555 timers for a) delay after launch, b) length of motor arm movement. Uses a DC motor instead of a servo. Launch-activated, by either a g-switch or two metal contacts closing a circuit after launch. Loosely based on Air Command Rocket's Servo timer v1.0. I have tested this system to some extent and think this is a simple, low-cost way to build a parachute delay timer, but does require some soldering. The circuit diagram is found at http://www.aircommandrockets.com/DeployTimer1_1.h..
June 7th, 2018- Started drawing up plans
February 26th, 2019- Will be developing the world's first VTVL water rocket (retropropulsive landing) with active thrust vectoring and grid fin navigation. Be sure to stay tuned for this event, closer to the upcoming summer.