100% found this document useful (1 vote)
566 views21 pages

Nuig Lander1

The document provides details on the design of a water rocket, capsule, parachute system and Arduino components for a student project. Key aspects summarized: 1. The water rocket design uses a water bottle, pressure tube and fins to propel the rocket into the air using water pressure built up by a bicycle pump. 2. The capsule houses an Arduino and is designed to detach from the rocket during flight using baby oil, then deploy a plastic bag parachute calculated using drag equations. 3. An Arduino Nano measures acceleration and pressure data during flight using an accelerometer and BMP280, transmitting to a receiving computer.

Uploaded by

diana meriakri
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
566 views21 pages

Nuig Lander1

The document provides details on the design of a water rocket, capsule, parachute system and Arduino components for a student project. Key aspects summarized: 1. The water rocket design uses a water bottle, pressure tube and fins to propel the rocket into the air using water pressure built up by a bicycle pump. 2. The capsule houses an Arduino and is designed to detach from the rocket during flight using baby oil, then deploy a plastic bag parachute calculated using drag equations. 3. An Arduino Nano measures acceleration and pressure data during flight using an accelerometer and BMP280, transmitting to a receiving computer.

Uploaded by

diana meriakri
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 21

NUIG Lander Project

Final Report

Group 41
Student 1: Louis MacMonagle,
Student 2: Tara McCarthy, 20373581, t.mccarthy11@nuig
Student 3: Lucy McManus,
Student 4: Diana Meriakri,
Contact Email address: [email protected]

15/05/2021

Engineering Design (EI150)


National University of Galway
Table of Contents
Section 2 – Rocket
 Underlying theory of operation.
The rocket is based on Newton's third law of motion which states that every action has an
equal and opposite reaction. Water and air are rapidly ejected from the bottle which propels
the rocket upwards. This was achieved by creating pressure in the bottle using a bicycle
pump. The pressure and water are held in the bottle by a fitted pressure tube. When the
pressure becomes too great, the tube is forced out and all the water is immediately expelled
generating a reaction force.

Figure x: Water and pressure launching rocket. 

 Design of Rocket.
The rocket was built using an empty water bottle and a ‘Bottle Rocket Water Pressure Kit’
from Rokit. This kit contained a bottle screw collar, rubber nozzle, 3 fins, and a pressure tube
with fittings. This kit screwed onto the lip of the water bottle and when the pressure tube was
connected to a bicycle pump it was easy to build pressure in the bottle. The three fins were
also attached to the lip of the bottle, this created an aerodynamic design and kept the bottle in
a steady flight path in testing. A cone was built from another water bottle and placed on top
of the rocket to reduce the wind resistance.
Section 4 – Capsule and Parachute System
1. Underlying theory of operation
One of the requirements for this design project was to design a parachute and capsule system
that, once the rocket was launched and reached its maximum height, the capsule would
detach from the rocket and deploy the parachute. The Arduino was also to be attached to this
capsule, and the parachute should be designed to achieve a safe landing for both the capsule
and Arduino. The parachute can be made of any material, as long as it supports the weight of
the capsule. The recommended material to use would either be nylon or simply a plastic bag.
The parachute has to be attached to the capsule and has to deploy as the capsule is
descending. The width of the parachute has to be calculated using the wind resistance
equation, as shown below:
1
Fd= ρCd A v 2
2
 ρ = density of air (1.22 kg/m3)
 Cd = drag coefficient (1.5 for typical parachutes)
 A= area of the parachute (unknown variable)
 V- velocity (estimated to be 2 m/s)

Which is rearranged into :


2 Fd
A= ρCd v 2
As the formula for area is

A=πr2
This formula is then rearranged to calculate the radius of the parachute. This formula
incorporates the weight of the capsule and Arduino, so it is particular to each rocket.
The capsule was designed with the intention of it detaching for the rocket either mid-air or
when the rocket had reached maximum velocity, and to land safely with the parachute. The
Arduino board was to be placed inside the capsule, either sellotaped or glued in to ensure it
doesn’t detach, or break mid-flight. Cross braces or any other suitable method of securing the
Arduino circuity in the capsule were also taken into consideration. As the capsule is holding
the Arduino, it cannot be made out of metal, as the metal could conduct some of the Arduinos
signals and disrupt the readings. The 9-volt battery that supplies the Arduinos power when
it’s unplugged from a laptop must be insulated in other not to cause a short circuit on the
printed circuit board. The capsule also has to be of suitable weight, as if it’s too light or too
heavy the parachute may not deploy in time.
2.a. Design of parachute
The parachutes design choice was based on both efficiency and availability. Nylon was not
readily available to our team so a lightweight plastic was the next best choice. An array of
various plastic bags were tested, including firm plastic shopping bags and light-duty clear bin
bags. These bags were tested by attaching a weight by string to the bag and throwing it out
the window. The light-duty plastic bin bags seemed to have the highest drag coefficient, as
they deployed and filled with air quicker than the other material.
The radius of the parachute was calculated by the wind resistance equation above. The
capsule and the Arduinos combined weight was measured to be 121g. This value was used to
calculate the drag coefficient :
Cd= (121)(9.81)=1187.01/1000=1.18701

This was then plugged into the equation above to calculate the area:
( 2 ) (1.18701)
A= (1.22)(1.5)( 2)2 =0.3241396 m2
as the parachute is circular, the length of the parachute can be calculated by:

A 1.18701
radius of parachute=
√ √π
=
π
=0.61m
a clear light duty plastic bag with this radius was chosen.
As the parachute would have to hold considerable weight, the handles of a heavy-duty
shopping bag were cut off and hot glued to the bag, as shown below. Cotton thread was then
attached to the two handles and two points opposite each other on the bag. This thread was
attached using heavy-duty tape. A few layers of tape were used in other to reinforce the
parachute. The parachute also had to be kept secure up until it was to be deployed, as the
parachute could interfere with the launch if it filled up with air mid-flight. After watching a
few YouTube videos, and researching various techniques to keep the parachute secure, it was
decided to simply fold up the parachute slightly and place it on top of the capsule.
Fig 2.1 and 2.2 - makeshift plastic-parachute with extra handles and string attached by tape

b. Design of capsule
The capsule was designed to keep the Arduino safe, be lightweight yet durable, be attachable
to the parachute and also detach from the rocket mid-air. This was done by cutting the top
and bottom off a plastic bottle, and then securing the board inside the top of the bottle with
tape, as shown below. Cotton pads were put into the bottle to soften the fall and also insulate
the 9volt battery. A hole was cut into the bottle so the USB cable could be plugged into the
Arduino if needs be, for example, if the code was changed slightly and had to be uploaded
back into the Arduino. The bottom of the bottle was then used as a makeshift lid, and
sellotaped to the top of the bottle, securing the Arduino properly. The parachute was then tied
and sellotaped to the bottleneck.

Fig 2.3 – capsule design showing usb


port
Fig2.4- capsule design showing top and bottom of bottle secured together

c. Description of automated detachment mechanism from rocket


The capsule mechanism for detaching from the rocket was simple – the capsule was
designed in such a way as to be placed straight onto the top of the rocket. As the rocket
took off straight up into the air, the capsule would still be sitting on the rocket. As the
rocket began reaching its maximum velocity, it would start to slow down and wobble, as
its trajectory would no longer be as straight. This would cause the capsule to fall off the
rocket. As the parachute was attached to the top of the capsule, it would deploy and float
the capsule safely to the ground. However, when this was tested, it was found that the
pressure of the rocket against the capsule when the rocket was shot up caused the capsule
to sit too firmly on the rocket and as a result, it would not detach. This was rectified by
putting baby oil between the capsule and rocket, which effectively prevented the capsule
from remaining attached to the rocket mid-air.

Fig 2.5 – capsule sitting on a placeholder rocket


4.0 Arduino System and Software
4.1 Block Diagram of the Arduino system with radio link
and logging computer.

PCB

Battery connection

 Arduino Nano: Arduino consists of an open-source physical computing platform


based on a simple microcontroller board. It has an open-source programming
environment for writing software for the board. All Arduino use the Atmega328
microcontroller.
An Arduino Nano board was the main component of this diagram. The accelerometer
is plugged into analog pins A1, A2 and A3. The BMP280 is plugged into analog pin
A6.

 Accelerometer: An accelerometer is an electromechanical device that can measure


acceleration forces. This integrated circuit of accelerometer consists of several parts.
The two main working principles of an integrated accelerometer are piezoelectric
effect and the capacitance sensing. The piezoelectric accelerometer has microscopic
crystal structures that become stressed due to acceleration, resulting in a voltage
signal. The voltage is proportional to acceleration due to gravity which allows
acceleration to be calculated. The capacitance of the accelerometer translates change
in capacitance between microstructures located within the device to a voltage signal.
It measures force applied to it in the x, y and z axis.
 BMP280: The BMP280 is an absolute barometric pressure sensor. This records
pressure in Pascals as well as temperature in Celsius. The BMP280 is based on
Bosch’s proven piezo-resistive pressure sensor technology. The formula used below is
the formula we used in our code to convert the readings into altitude in metres above
sea level.

1
P0 5.257
(( ) −1)×(T +273.15)
P
h=
0.0065

 HC-12: The HC-12 is a half-duplex wireless serial communication module. Paired


with an external antenna, these transceivers are capable of communicating up to 1km.
This allowed the Arduino Nano board along with its other components to be placed in
a capsule attached to the parachute in the rocket while readings were being taken on
the laptop.

 USB Port: Connects Arduino Nano to computer via


wire. This allows code from the computer to be uploaded
to the Arduino Nano.

 Logging Computer: Arduino 1.8.13 was used to write and upload code. This code
allows the readings from the sensors to be recorded and displayed on the serial
monitor within the Arduino software.
4.2 Operation of Radio Link.
The HC-12 is responsible for the wireless communication between the Arduino Nano and the
computer (logging computer). One HC12 is plugged into the board while another is
connected to the computer using an FTDI adapter. A serial connection was then set up
between both of these components. To set up the serial connection
#include <SoftwareSerial.h> had to be included at the top of the code.
The Software Serial library is responsible for the communication between both devices. After
the code is tested on the serial monitor the application “Serial Plot” was downloaded to view
graphs of the data
Flow Chart of Arduino Code:

Explanation of Flow Chart:


Firstly the Arduino initializes all of the variables (altitude, time etc.) as well as the libraries
previously installed which allow both sensors to gather readings and the functions called to
be used. In the void setup() the sensors and their radios are called to begin. We decided to add
a time function to allow us to see if and when each reading changed. Raw data is then
collected by sensors and stored as their named variables. After this, the data is converted to
the correct, readable type and even further to relevant units from equations in the software.
After this, a string is used to compile all the readings. Finally, the string of data was
transmitted to the serial monitor via the HC-12. This is followed by a delay of 5 seconds
(500milliseconds). The program then continues and begins again after the delay.
Arduino code screenshot:

Arduino code text:

#include <SoftwareSerial.h>
#include <Wire.h>
#include <SPI.h>
#include <Adafruit_BMP280.h>
#include <Adafruit_Sensor.h>
Adafruit_BMP280 bmp;    // libraries that had to be included for all sensors a
nd functions to work
#include <SoftwareSerial.h>
SoftwareSerial HC12(7, 6); // HC-12 TX Pin, HC-12 RX Pin 
 
  const int ledPin=0;
  int sensorValue=0;
  int sensorValue1=0;
  int sensorValue2=0;
  int sensorValue3=0;
  int accelMIN=0;
  int accelMAX=1023;   // all variables to be declared at the start
  int accel,accelMAG,acceleration;
  float R1,lnR,T,Temp; 
  float alt,altitude;
  float BMPtemp,BMPpressure;
  float seaPressure,pressure;
  
void setup() {
  Serial.begin(9600);  // calls the code to begin
  pinMode(ledPin,OUTPUT);
  pinMode(sensorValue,INPUT);
  bmp.begin();
  HC12.begin(9600); // calls the radios
  
 }

void loop() {

  float time = millis();  // time
  Serial.print("After ");
  Serial.print(time/10000);  // have to divide by 1000 to get the time in seco
nds 
  Serial.println(" seconds: ");  // serial.println means the next item printed 
will be on a new line

  int sensorValue = analogRead(A1);  // accelerometer 
  int sensorValue1=analogRead(A2);
  int sensorValue2=analogRead(A3);
  Serial.print(" X:");
  Serial.print(sensorValue);
  Serial.print(",");
  Serial.print("Y:");
  Serial.print(sensorValue1);
  Serial.print(",");
  Serial.print("Z:");
  Serial.print(sensorValue2); // all values collected from all three axis are 
printed
  

  BMPpressure = bmp.readPressure(); // BMP280
  BMPtemp = bmp.readTemperature(); // functions that call the sensor readings
  const float seaPressure = 1013.25;
  alt = ((pow((seaPressure/pressure),(1/5.257))-1.0)*(BMPtemp+273.15))/
(0.0065); 
  pressure = BMPpressure/100 ;
  Serial.print(" BMP280 Temperature = ");  
  Serial.print(BMPtemp);
  Serial.print("°C , ");
  Serial.print("Pressure = ");
  Serial.print(pressure);
  Serial.print("Pa , ");
  Serial.print("Therefore altitude = ");
  Serial.print(alt);
  Serial.println(" metres. ");

  String DATA = String(F("After ")) + String(time/1000) + String(F("seconds:")
)+ '\n' + String(F("X:")) + String(sensorValue) + "," + String(F("Y:")) + 
  String(sensorValue1) + "," + String(F("Z:")) + String(sensorValue2) + "," + 
'\n' + "BMP280 temperature = " + String(BMPtemp) + "°C " 
  + "and Pressure = " + String(pressure) + "Pa" + ", " + "Therefore altitude = 
" + String(alt) + "metres." + '\n'; // a string is used to send all the data r
ecorded
 
  HC12.println(DATA); // sends the entire string to the radio 

  delay(500);
  

}
}

5. Testing
(a) Testing of Water Rocket
To test the water rocket, we launched it several times increasing the amount of water held in
the bottle each launch. We videoed each launch to try and determine which amount of water
maximised the height of the rocket. From these tests, we could determine how much water to
place in the bottle when testing the full system. We concluded that an amount of 150ml of
water gave an optimum height for the rocket. From this test, we could also figure out what is
the optimum amount of air that should be pumped into the rocket to maximise the height.

Fig 5.1 Testing the Rocket

(b) Testing of Parachute


To test the parachute, we dropped it from an upstairs window which means it fell from a
height of roughly 4 meters. We videoed the parachute to measure the time it took to descend.
From this data, we then calculated an average descent velocity. We gathered that it took 3
seconds for the parachute to land giving a descent velocity of 1.33 meters per second. From
this we calculated the drag force using the following wind resistance equation:
1
Fd= ρCdA v 2
2
Where:
 FD is the drag force
 P (Greek letter “rho”) is the density of air = 1.22kg/m3
 Cd is the drag coefficient (Can be estimated between 1 and 1.75)
 A is the area of the parachute (Calculated using π r 2)
 v is the velocity through the air

We also calculated the weight of the parachute using the equation:


F=mg
Where:
 F is the force (weight)
 m is the mass of the capsule
 g is acceleration due to gravity (9.81ms^-2)

Fig 5.2 Testing the Parachute

6. Data Analysis
The data collected from the Arduino board was converted into a CVS file from SerialPlot and
then opened in MATLAB. This data was then manipulated to graph acceleration and velocity
against time. When graphed, it is clear that some of the data hold errors- this may be because
the Arduino was not oriented properly in the capsule. Each plot can be analysed against the
video and it can be determined whether or not the data was recorded accurately.
20

10

)
2
0

acceleration in Z-axis (m/s


-10
1010.9

1010.8
-20

1010.7
-30
1010.6

-40
pressure (Pa)

1010.5

1010.4
-50
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
1010.3 time (s)

1010.2

1010.1

1010
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
time (s)

The figure above shows pressure against time

The pressure was calculated correctly- as the Arduino was launched into the air, pressure
decreased. This shows that the data recorded is in line with the video.
Figure above shows acceleration against time

The acceleration also seems to be measured correctly- during the launch it increases, falls
down to g, and as it hits the roof (as shown in vid) it drops drastically. The acceleration data
is thus in line with the video.

-127

-128

-129

-130
altitude (m)

-131

-132

-133

-134

-135
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
time (s)

Figure above shows altitude against time

The altitude graph is in line with the video- the altitude shoots up as the rocket launches,
however the y-axis values are inaccurate- this could be attributed to the orientation of the
Arduino board.

The figure above shows the temperature against time


0
26.25

-20
26.2

26.15 -40

26.1 velocity (m/s) -60

26.05 -80
temperature (c)

26 -100

25.95 -120

25.9 -140

25.85 -160

25.8
-180
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
25.75 time (s)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
time (s)

The temperature is very accurate to the video as the Arduino moves higher into the
atmosphere, the temperature decreases slightly.

The figure above shows velocity against time


The velocity graph looks correct but inverted- this could be attributed to the orientation of
the Arduino.
7. Contributions and Project Management
Diana Meriakri- I was responsible for the parachute and capsule system. I designed and
built the parachute and capsule, and also wrote about the underlying theory and application of
the capsule and can. I also manipulated the sensor data on Arduino to derive the graphs in
MATLAB that were in the data analysis section. I was also responsible for the automated
detachment of the capsule. I also contributed a small bit to the Arduino coding.

(b) Communication methods used


We were very lucky that all four team members lived in Corrib Village which ultimately
made this project more enjoyable, manageable, and interesting to work on. We met up at least
once a week to discuss what had to be done and helped each other when problems arose. We
also met up to test the rocket, the parachute and then the full system itself. We had a group
chat on Snapchat where we could easily text each other if we had any questions and when
organising what time and where to meet. Lastly, we met virtually every Wednesday at 4 pm
for the mandatory meetings with Esteban.

8. Individual Reflections
Tara McCarthy
Overall, I found this project very interesting but also certain aspects quite challenging. I
enjoyed testing the rocket and parachute. If I were to redo this project, there would be several
things I would repeat and a few things I would change.
I would repeat meeting up regularly as a group during the four weeks, working on the project
and sharing our ideas and opinions. I would also repeat how we managed and divided up the
workload of the project.
At the beginning of the project, I would start straight away not wasting the 1st week. I would
also start the report much earlier to avoid the stress towards the due date. Another thing I
would do differently is complete more tests on the rocket and parachute which would have
given more accurate results.
Diana Meriakri
This was the most challenging Design project yet. I found this project quite difficult to
navigate and complete, as I did not have much experience in building rockets and all of their
related components. The coding for the Arduino programme was also quite difficult,
especially getting the transmitter to operate correctly. However, I learned many different
skills doing this project, and I found the accuracy of the sensors on the Arduino fascinating. I
can appreciate the intricacy of coding a lot more. One thing we did well was communication
– the workload of this project was lessened through the effective designation of roles.
However, time was certainly an issue- this could have been improved.
Appendix contain full listing of your Arduino Program(s)

Report to be submitted in PDF form only!

You might also like