1
THE CANSAT BOOK
DUTCH CANSAT
COMPETITION 2016-2017
2
The CanSat book is built up so that you can start from scratch and get a feeling of mastering
the kit as you read through the book. In the beginning we will describe how you can get your
Arduino board up and running. Then we will turn over for the missions. In this book we have
described a primary mission and how you will get data from it.
This book is written by Matthijs Dekkers for ESERO NL. It uses the work of Thomas
Gansmoe, Stian Vik Mathisen, and Jøran Grande from NAROM together with Jens F.
Dalsgaard Nielsen from Aalborg University and Nils Kristian Rossing from the Norwegian
University of Science and Technology published here: http://esero.no/wp-content/
uploads/2015/11/The-CanSat-Book-R2.12.compressed.pdf
It incorporates the instructions for the CanSat kit written by OpenCosmos and published at
http://doc.open-cosmos.com/Qbcan_modular
The CanSat-kit used in this book is developed by OpenCosmos and ESA.
CanSat is an ESERO NL Project, financed by the Netherlands Space Office and the
European Space Agency and executed by NEMO.
THE CANSAT BOOK
3
THE CANSAT BOOK
ABOUT THE CANSAT BOOK			 2
INTRODUCTION TO CANSAT 			 5
What is a CanSat?			 5
The CanSat-kit			 5
Arduino			 5 	
Contents of the kit			 6
ASSEMBLY			 8
Tools and requirements			 8
The Ground station			 9
	 1. Solder the pin headers onto the Logic Level Converter and the BMP180			
sensor			 9
	 2. Solder pin headers to the Arduino Pro Micro		 10
	 3. Solder the headers to the RFM69		 11
	 4. Solder voltage regulator to the board		 11
	 5. Assembly of the components onto the qbcan board - solder the pin headers 12
	 6. Solder the battery connector to the board		 14
	 7. Solder the antenna to the board 		 14 	
	 8. Connect the components to the board		 15
	 9. Connect Logic Level Converter and the BMP180 to the board 		 15
	 10. Connect the RFM69 headers into the board		 16
	 11. Connect the Arduino to the board 		 16	
	 12. Powering qbcan up 		 16	
SOFTWARE CONFIGURATION		 17
Installation		 17
Driver installation (Windows only)		 17
Configure the Arduino IDE (Windows, Linux, MacOS)		 18
Blinkies		 19
Uploading the program		 19
Read data		 20
LIBRARY		 20
Download and Install the qbcan Arduino Library		 20	
	 Test qbcan using the qbcan Library examples		 20
Library basics		 20
Using the BMP180 pressure and temperature sensor		 21
Using the RFM69 transceiver		 22
4
THE CANSAT BOOK
Examples		 24
ALTITUDE CALCULATIONS		 25
ANTENNA DESIGN		 27
Modulation		 27	
RFM69HW		 27
Antennas		 28
	 Cansat Antenna		 28
	 Ground station antenna		 29
PARACHUTE DESIGN		 29
Parachute production		 30
Example Assignments 		 30 	
Descent Physics		 31
	 Required Descent Parameters 		 32
Semi-spherical Parachute Design		 33
	 Cross Parachute Design 		 33	
Parapent 		 33
Flat parachute design		 34
APPENDIX		 35
Hardware Overview		 35
The Pinout		 35
Power Pins		 35
I/O Pins		 36
On-Board LEDs		 37
5
THE CANSAT BOOK
INTRODUCTION TO CANSAT
What is CanSat?
A CanSat is a simulation of a real satellite, integrated within the volume and shape of a
soft drinks can. The challenge for the students is to fit all the major subsystems found in a
satellite, such as power, sensors and a communication system, into this minimal volume.
The CanSat is then launched to an altitude of a few hundred meters by a rocket or dropped
from a platform or captive balloon and its mission begins: to carry out a scientific experiment
and achieve a safe landing. During the flight, the CanSat will use radio communication to
transmit data to a ground station.
CanSats offer a unique opportunity to have a first practical experience of a real space project.
You will be responsible for all aspects: designing the CanSat, selecting its mission, integrating
the components, testing, preparing for launch and then analyzing the data.
The CanSat-kit
The CanSat-kit is build up by an Arduino Pro Micro board and a sensor shield board.
Arduino
Arduino is an open-source electronics prototyping platform. It is based on flexible, easy-to-use
hardware and software. It’s intended for anyone interested in creating interactive objects or
environments, such as artists, designers and hobbyists. Arduino can sense the environment
by receiving input from a variety of sensors and can affect its surroundings by controlling
lights, motors, and other actuators.
Here are some examples of Arduino projects:
• Make an automatic night light which switches on when its dark
• Intrusion alarm
• Thermostat
• Line Follower Robot
• Fountain and/or lights that respond “happy to see you” via proximity and/or motion sensors
• Ham radio Morse code keyed/propagation beacon
• Graphical calculator that graphs serial inputs on a graphical LCD
• Wi-Fi controlled RC-Car
Many more ideas can be found http://playground.arduino.cc/Projects/Ideas.
6
THE CANSAT BOOK
Contents of the kit
The kit contains two complete sets, one for the ground station and one for the CanSat kit.
Arduino Pro Micro
The core of the Arduino system, which contains
the microcontroller, I/O ports, etc.
Qbcan Sensor shield board
The qbcan Sensor Shield board has been developed
at Open Cosmos and serves as the backbone of your
system. It connects and holds all parts together
RFM69HW 433MHz transceiver
The transceiver will transmit radiosignals between
the ground station and the CanSat
BMP180 pressure and temperature sensor
The primary mission requires that your CanSat
measures air pressure and temperature
Logic Level Converter
The transceiver needs 3.3V, and because the Arduino
supplies 5V, we use an LLC to solve this problem
7
THE CANSAT BOOK
Male header
Headers come in different sizes: long pins or shorter
pins, and 2,54mm or 2mm pitch between the pins. They
have to be cut to acquire the right amount of pins
Female header
Two sizes of female headers exist: 2mm and 2,54mm
pitch between the pins. They have to be cut to acquire
the right amount of pins
Voltage regulator
Yagi antenna connector
Wire antenna
Battery connector
The sensor shield is designed to fit on top of the Arduino Pro Micro board. More information,
documentation, and a community for technical support can be found here:
http://doc.open-cosmos.com/Qbcan_user_manual
http://community.open-cosmos.com/
8
THE CANSAT BOOK
ASSEMBLY
By following these guidelines you will assemble a qbcan module to be used as a ground
station. This will result in a module suitable for prototyping and testing as any component
can be easily replaced if damaged.
The assembly of the qbcan is relatively simple and only requires basic soldering skills. If you
don’t have any experience with soldering, the process will take approximately 3 hours, but
it should take less than 2 hours if you have soldering experience. Consult these suggested
tutorials to familiarize yourself with soldering in case needed.
Tools and requirements
The tools required to assemble a qbcan are those required for soldering hobby electronics.
We recommend to have the following equipment with you during the assembly process:
• Pliers and/or tweezers
• Soldering iron and solder. It is important that the solder contains a flux core (this will
facilitate the soldering).
• Optional but recommended: flux remover (to clean flux residue).
• Optional: a third hand is very convenient when you are alone while doing the assembly.
• Optional: a solder wick remover in case you make a mistake and want to unsolder the
components.
• Optional: extra flux (e.g. in a pen dispenser). This element is optional but can help
soldering the voltage regulator, which is surface mounted.
Third hand
9
THE CANSAT BOOK
THE GROUND STATION
The final product we will be working towards, will look like this:
The Pro Micro is mounted on top of the qbcan board, the transceiver, LLC en sensor board
are mounted on the opposite side.
Before you start, please make sure you clean the qbcan board and remove imperfections
(if any) with a pair of pliers. These are leftovers from the fabrication process.
1. Solder the pin headers onto the Logic Level Converter and the BMP180 sensor
We will be soldering the headers onto the Logic Level Converter (LLC) and the BMP180
sensor. Use the short 0.1” (2.54 mm) pitch headers included in each parts plastic bag.
You will have to cut the header for the LLC in half. Place the shorter ends of the headers
through the holes. Consult the images below to make sure you have the orientation right.
10
THE CANSAT BOOK
2. Solder pin headers to the Arduino Pro Micro 			 	
Now that you have some practice in soldering headers, solder the headers of the Arduino
Pro Micro. Use the long 0.1” (2.54 mm) pitch headers. These have to be cut apart in 2
blocks of 12 pins each. The plastic header needs to be moved so that the length of the pin
is between 6 and 7 mm on one side and approximately 8 mm on the other side. Do this
by introducing the long part of the pin in the female header and push the plastic holder
down until it is in contact with the female header. It is important to hold the female header
against a hard surface to avoid breaking it. Repeat it for each of the pins.
The long part of the pins need to be placed through 				
the Arduino Pro Micro board. The final results 				
should look like this:
The long pins will enable your peripherals 			
(GPS, actuators or other sensors) to be 			
connected to any pins of the Arduino 				
by sing female headers or female 			
jumper wires.
11
THE CANSAT BOOK
3. Solder the headers to the RFM69			
The 2 mm-pitch male header can now be soldered to the RFM69. Introduce the short part
of the pin through the board. You will have to cut 2 blocks of 8 pins each from the spare 2
mm-pitch pin array that comes separately. Start soldering the two end pins of the header to
fix it to the board, and then solder the ones in between.
4. Solder voltage regulator to the board				
This first component that we will solder on the qbcan board is the voltage regulator. Due to
the small size of this component, this is going to be one of the difficult parts to be soldered
onto the board. Be patient, do not rush. Consult the suggested tutorials and familiarize
yourself with Surface Mount Soldering (SMD) before attempting to solder this component.
Find the marking on the qbcan board that looks like this: Use a pair of fine tweezers or
pliers to place the component in the correct position. Solder the wide leg first and once this
is done, continue with the three smaller parallel legs, like this:
Step 1: Place a bit of solder on the board for the wide leg of the voltage regulator.
12
THE CANSAT BOOK
Step 2: With the help of tweezers, place the voltage regulator on top and apply heat to
solder its wide leg.			
	
Step 3: Solder the three smaller parallel legs to the board. The Voltage regulator is now
soldered onto the board.
5. Assembly of the components onto the gbcan board- solder the pin headers	
In order to assemble the components onto the board there are two different approaches
to be followed. The first one, described in this manual, is to solder female headers to
the board so that the components can be easily plugged in and removed or replaced if
necessary. This configuration is suitable for prototyping and testing, and can be used
in the ground station. Once you have familiarized yourself with the configuration, it is
highly recommended to assemble the second qbcan module in different configuration by
13
THE CANSAT BOOK
soldering all the components directly onto the board, without using female headers.
This configuration won’t allow you to remove and replace all the components, but it will be
more compact and withstand the forces during the launch and landing, so this approach is
better suited for use in the CanSat.
Begin soldering the 2.54 mm-pitch female header for the Arduino (#1 in figure) and follow
with the rest of the headers. You will have to cut one block of 12 female headers from the
array that comes separately. Solder the pin in one end of the header to fix one side and
then the other end. Once this is done, proceed to solder the pins in the middle.
Continue with the same type of headers for the BMP180 (#2) sensor and the LLC (#3 and
#4) on the other side of the qbcan board. Solder headers #2, #3 and #4 as shown. You will
have to cut 2 blocks of 6 female headers and one block of 5 female headers from the array
that comes separately. Clean the side of the header from cutting imperfections, this is
important to make sure that the header #3 fits in its place next to #2. Do not worry if some
pins are broken when cutting, as there are some spares provided.
Follow with the 2 mm-pitch female headers for the RFM 69 (#5 and #6), you will have to
cut 2 blocks of 8 female headers from the 2 mm-pitch female headers array that comes
separately. Finish by soldering the second 2.54 mm-pitch female header for the Arduino
(#7).
7
1
2
6
5
14
THE CANSAT BOOK
6. Solder the battery connector to the board				
The next component to be soldered onto the board is the battery connector. This is also a
tricky step since the board hole is bigger than the metal conductor of the battery connector.
Use a third hand (or ask somebody to help you) so that you are able to place everything in
the right position and solder. Be careful not to burn your assistant with the soldering iron! It
is also important that you solder the red wire to the positive (+) terminal and the black wire
to the negative (-) terminal, as marked on the board.
After finishing the soldering, clean the connection, plug a standard 9V battery (not
included) and check that the regulator output voltage is as expected using a voltmeter.
7. Solder the antenna to the board				
The RFM69 is a 433 MHz transceiver which we will use with a wire monopole antenna.
This is the simplest type of antenna consisting of a piece of wire with the length of a
quarter of wavelength. For more information in antennas see the chapter in Antenna
Design.
A wire already cut to the specified length is provided, pass it through the board hole and
solder it to the dedicated pin hole, as shown in the image below. It is important for the
antenna to be as straight as possible. If it is curved or bent, the performance and the range
will decrease.
15
THE CANSAT BOOK
In case the qbcan is going to be used as ground station, a Yagi antenna connector can be
soldered instead to gain extra range. There are four surface soldering ground points, two
on the top side of the PCB and two on the bottom, as well as one in the middle that can be
soldered either on top or below.	
8. Connect the components to the board				
Once all the headers are soldered to the qbcan board, the components can be connected
to them by plugging each component into its specific location.
9. Connect Logic Level Converter and the BMP180 to the board				
Connect the components to their respective positions. For the Logic Level Converter,
check that the High Voltage (HV) and Low Voltage (LV) sides are oriented correctly by
looking at the board marks. The BMP180 needs to fit within the board limits (see the 	
board marks for the outline of where the BMP180 should go).
16
THE CANSAT BOOK
10. Connect the RFM69 headers into the board				
The next step will be connecting the RFM69 onto the board. On the board the antenna
pinhole is marked with ANA. Make sure to connect the RFM69 board in such a way that
the pin marked with ANA on the back of the RFM69 board matches with the one on the
qbcan board.
11. Connect the Arduino to the board				
The next step is to connect the Arduino Pro Micro to the board. This should not be
difficult. Consult the image below to know how the Arduino should be oriented.
12. Powering qbcan up				
The qbcan can be powered using the USB, the 5V-9V power IN or both.
17
THE CANSAT BOOK
SOFTWARE CONFIGURATION
The Arduino Pro Micro is a microcontroller board based on the ATmega32U4 chip. It has 18
digital input/output pins, 9 analogue inputs and a USB connection. It contains everything
needed to support the microcontroller; simply connect it to a computer with a USB cable or
power it with an AC-to-DC adapter or battery to get started. For more information on the Pro
Micro, see the Appendix: Hardware overview.
To get started you have your Arduino Pro Micro board in front of you, a computer with
administrative rights and a standard micro-USB cable. The open-source Arduino environment
makes it easy to write code and upload it to the I/O board. It runs on Windows, Mac OS X,
and Linux. The environment is written in Java and based on Processing, AVR-gcc, and other
open source software.
INSTALLATION
Download the newest version of the Arduino IDE here and install it. Remember where you
installed the program. The IDE will be the place where you write your code, compile your
program to machine language, upload it to the Arduino and read the Arduino’s output in the
serial monitor.
Driver installation (Windows only)				
• Download this driver: sparkfun.inf. Remember where you save the file.
• Alternatively, download the most recent version from: https://github.com/sparkfun/
Arduino_Boards/archive/master.zip, open the file, navigate to Arduino_Boards-master.zip
Arduino_Boards-mastersparkfunavrsigned_driver and extract the file sparkfun.inf to your chosen
location.
• Connect the Pro Micro via USB.
• Use the keyboard combination +R, type: ’devmgmt.msc’ followed by Enter.
• In the ‘Device manager’ (Apparaatbeheer) under ‘Other Devices’ (Overige apparaten), an
unknown device will show up, to be recognized by a yellow sign with an exclamation mark
and the name SparkFun Pro Micro or Arduino. Click it with your right mouse button and
select ‘Update Driver’ (Stuurprogramma’s bijwerken).
• Select the option ‘Browse my computer for driver software’ (Op mijn computer naar
stuurprogramma’s zoeken), click ‘Browse…’ (Bladeren), go to the location where you
saved sparkfun.inf, click OK and then Next.
18
THE CANSAT BOOK
• A warning dialog will be shown, it is safe to select: ‘Install this driver software anyway’	
(Dit stuurprogramma toch installeren)
Your computer will now recognize the Pro Micro. You still have to configure the software so
that it will work with the hardware.
Configure the Arduino IDE (Windows, Linux, MacOS)
The Arduino IDE will recognize a few common Arduinos, but the Pro Micro is not among them.
To be able to work with the board, you will have to follow a few more steps:			
• Copy this url: https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_
Board_Manager/package_sparkfun_index.json.
• Start Arduino, go to Files Preferences.
• Paste this URL into the “Additional Board Manager URLs” text box and click OK.
• Go to Tools Boards Board Manager (Hulpmiddelen Boards Bordenbeheer).
• Search for SparkFun, select SparkFun AVR Boards in the search results and click install.
• Go to Tools Boards. The SparkFun boards will now be visible. select the Pro Micro.
• Go to Tools. The option Processor will now be clickable. Two versions of the Pro Micro
exist: the 3.3V 8MHz and the 5V 16MHz. We will be using the 5V 16MHz version.	
Select the right version.
• Select the serial device of the Arduino board from	
the Tools Serial Port menu. This is likely to be
COM3 or higher (COM1 and COM2 are usually
reserved for hardware serial ports). To find out,		
you can disconnect your Arduino board and re-open
the menu; the entry that disappears shouldbe the
Arduino board. Reconnect the board and select		
that serial port.
Notice there are two options for Pro Micro – 3V 8MHz and 5V 16MHz. It’s very important
that you select the Pro Micro option that matches your board’s voltage and speed. 	
We will be using the 5V 16MHz version.
19
THE CANSAT BOOK
BLINKIES
Now you are ready to start programming Arduino Pro Micro and it is a good time to check
that everything is correctly installed. Copy the following code and paste it in the sketch editor
of the IDE:
All text after // is ignored by the computer. It is there to make the code more readable. In the
IDE these comments will be shown in grey.
Uploading the program
Now, simply click the “Upload” button in the compiler (the arrow in the top left corner). 	
Wait a few seconds - you should see the RX and TX LEDs on the board flashing. If the
upload is successful, the message “Done uploading.” will appear in the status bar.
void setup()	 // The setup() function is called when a sketch starts. Use it to 		
//initialize variables, pin modes, start using libraries, etc. 		
//The setup function will only run once, after each power up or reset 			
//of the Arduino board. The contents of the functions has to be 		
//entered between curly brackets: {}		
{
pinMode(17, OUTPUT); // Set RX LED at pin 17 as an output
Serial.begin(9600); //set the data transmission speed for communication over the
//serial port to 9600bps
}
void loop() 	 //After creating a setup() function, the loop() function loops 		
//consecutively, allowing your program to change and respond. 		
//Use it to actively control the Arduino board.
{
Serial.println(“Hello world”); //Print “Hello World” to the Serial Monitor
delay(1000); //wait for a second
digitalWrite(17, LOW); //turn the RXLED on
TXLED1; 		 //unlike RXLED, TX LED is not tied to a pin, instead we /			
//turn it on with this command
delay(1000); //wait for a second
digitalWrite(17, HIGH); // turn the RXLED off
TXLED0;		 // turn the RXLED off		
}
20
THE CANSAT BOOK
Read data
Open the Serial Monitor to look at the data which is received from the Arduino. The Serial
Monitor is opened by clicking the icon to the right in the toolbar. The Serial Monitor will open
a new window which will give you a serial text stream of the data printed from the Arduino
board. The Arduino is programmed to print “Hello world” every 2 seconds.
LIBRARY
A very important part of the qbcan is the software library. This library provides an easy-to-use
interface to the transceiver RFM69 and the pressure and temperature sensor BMP180.
Download and Install the qbcan Arduino Library
Download the library here. In order to install the library, go into the Arduino IDE and click
to Sketch  Import Library  Add Library. Then go to the folder where you have saved the
qbcan library, browse to qbcan.zip and accept. The library will be available after you restart
the Arduino IDE. To make sure that the library has been correctly installed, check that the
qbcan examples can be found in File  Examples  qbcan.
Test qbcan using the qbcan Library examples
In order to use the Library and test the examples, you will need a fully assembled kit. The
qbcan Library contains examples you can use to check that the whole system works properly.
In order to access the examples in the Arduino IDE, click on File  Examples  qbcan. You
can find a CanSat example that measures temperature and pressure and transmits them to
the ground station.
Library basics
To use the library you will need to include the qbcan Library and the SPI.h and Wire.h
libraries at the beginning of your code, so that the qbcan can have access to the SPI and		
I2C buses.
The SPI.h and Wire.h libraries are part of the Arduino IDE and thus no installation is required.
The library qbcan.h needs to be placed at the top of the sketch.
//Include the required libraries
#include qbcan.h //Core qbcan library
#include Wire.h //I2C bus library
#include SPI.h //SPI bus library
21
THE CANSAT BOOK
Using the BMP180 pressure and temperature sensor
The qbcan library provides a way to interface with the BMP180 pressure and temperature.
To create the sensor object, use the following snippet.
Copy-paste this piece of code just after the #includes. This will create the sensor object.
On the setup() function you will need to initialize the sensor. You can do this with the
following piece of code. Paste it below the rest of the code.
After initializing the sensor it is ready to measure. To measure temperature and pressure you
can use the following piece of code (note that the temperature unit is degrees Celsius and
the pressure unit is mbar). Copy-paste this code into the void loop() method.
//Create the pressure and temperature sensor object
BMP180 bmp;
void setup()
{	
//Initialize serial connection for debugging	
Serial.begin(9600);	
// Initialize pressure sensor.	
if (bmp.begin())		
Serial.println(“BMP180 init success”);	
else	
{		
//In case of error let user know of the problem		
Serial.println(“BMP180 init fail (disconnected?)nn”);	
while(1); // Pause forever	
}
}
22
THE CANSAT BOOK
After taking the measurement you can send the data to the serial port to be displayed in your
PC serial monitor with the following piece of code. Past it below the last bit of code in the
loop().
Using the RFM69 transceiver
The library also provides a class to interface with the transceiver. You can create the object
as follows:
Before initializing the RFM69 object on the setup() function it is useful to define some of the
transceiver parameters as follows:
//Declare temperature and pressure variables
double T,P;
// Get a new temperature and pressure reading
bmp.getData(T,P);
//Display data
Serial.print(“Absolute pressure: “);
Serial.print(P,2);
Serial.println(“ mb.”);
Serial.print(“Temperature: “);
Serial.print(T,2);
Serial.println(“ deg C.”);
//Create the Radio object
RFM69 radio;
//Radio Parameters
#define NODEID 2 //unique for each node on same network
#define NETWORKID 100 //the same on all nodes that talk to each other
#define GATEWAYID 1 //Receiving node
#define ENCRYPTKEY “sampleEncryptKey”	 //The same on all nodes!
23
THE CANSAT BOOK
The NETWORKID can be set from 0 to 255 and that changes the physical channel used
for the link (i.e. the frequency). Although in this guide the NETWORKID is considered a
parameter, it can be changed during runtime. For this, you will need to re-initialise the library.
The NODEID is the node in a particular channel and can be set from 1 to 255. Therefore, we
can have up to 255 qbcan operating in the same frequency, although they cannot transmit at
the same time. Messages are generally send to a specific node and that is the GATEWAYID.
So if you are configuring a transmitter/receiver make sure that you are transmitting to the
correct node. Also a receiver can sniff all the packets in a network, thus receiving all traffic
in that network independently if the messages where addressed to that particular node. To
configure the radio on the setup you can just use the following code.
To send data through the network use the following code.
In the radio.send() function, the last argument is the length of the message to be
transmitted In the example above the message payload is 50 bytes long and we are sending
it in full although the actual message is not that long (so it could be optimised).
void setup() {
	 //Initialize serial connection for debugging
	 Serial.begin(9600);
	 //Initialize radio
	 radio.initialize(FREQUENCY,NODEID,NETWORKID);
	 radio.setHighPower(); //Use the high power capabilities of the RFM69HW
	 radio.encrypt(ENCRYPTKEY);
	 Serial.println(“Transmitting at 433 Mhz”);
}
//Send Data
char payload[50];
sprintf(payload,”T: %d C, P: %d mb.”,(int)T,(int)P); Serial.print(payload);
radio.send(GATEWAYID, payload, 50);
Serial.println(“Send complete”);
24
THE CANSAT BOOK
In order to receive data transmitted through the network, the following piece of code can be
used:
Use radio.promiscuous(true); to activate the “promiscuous” mode to listen to all packets from
the network in use.
There are also some other functions that you may find useful when receiving messages:
radio.SENDERID - returns the sender node id.
radio.TARGETID - returns the message target node id (in case you are sniffing all the packets
in the network).
radio.RSSI - returns the received signal strength (RSSI).
EXAMPLES
The provided library contains examples that can help you get started. The examples can
be found in the Arduino IDE by clicking on File  Examples  qbcan. There is one example,
labelled as CanSat that transmits data and another one labelled as GroundStation that will
receive it.
The GroundStation example can be used with another qbcan to receive this data. To do so,
open the serial monitor in Tools  Serial Monitor and set the speed of the serial connection to
9600 baud (this value depends on how you define the serial connection in the qbcan code.
See the “Using the RFM69 transceiver” section).
If you run each of the codes on two different qbcan you will be able to send and receive data
and test the sensors. We encourage you to use these examples as a starting point for your
projects.
if (radio.receiveDone())
{
	 for (byte i = 0; i  radio.DATALEN; i++)
	Serial.print((char)radio.DATA[i]);
}
25
THE CANSAT BOOK
ALTITUDE CALCULATIONS
The atmosphere is all around us; it is a thin gaseous layer surrounding our planet. The
atmosphere is composed primarily of nitrogen (78%) and oxygen (21%). The remaining 1%
consists of water vapour, CO2 and other trace gasses. The Earth’s atmosphere consists of
different layers, each one having different properties (temperatures, pressure, composition,
etc…).
The different layers are represented in along with various human and weather activities
seen in these layers.
Unlike our CanSat, most satellites operate in the exosphere. Here the density of the
atmosphere is very low. The CanSat however operates in the troposphere, which is the
bottom layer of the atmosphere. This layer contains about 80% of the total mass of the
atmosphere, and stretches to about 10 kilometers altitude. A great deal of the “weather”
we observe on a day-to-day basis (wind and clouds for instance) occurs within this layer.
26
THE CANSAT BOOK
The temperature and pressure of the atmosphere varies with altitude. Although the ambient
temperature can rise and fall as you move through the different layers of the atmosphere.
Within the troposphere, there is a linear relation between the temperature and altitude. On
average, ascending one kilometer from sea level will result in a temperature drop of 6.5
degrees Celsius.
The equation below provides the relation between temperature and altitude:
The relation between the pressure and the altitude is somewhat more complicated. The
pressure is not only dependent on the altitude but also on the temperature. Let’s start with
the relation of pressure to temperature:
Inserting this formula into the temperature-altitude relation, we achieve the following
expression for altitude as a function of temperature and pressure:
27
THE CANSAT BOOK
ANTENNA DESIGN
Modulation
Radio communication is sending information from one place to another, using electro-
magnetic waves, also called radio waves. Electromagnetic waves are generated at an
antenna when an alternating electric current is connected to it. The antenna transforms
the electric current in electromagnetic waves. At the receiving end of the communication,
the waves are transformed back into electric current by an antenna.
Using the radio waves to transfer information means that the information needs to be added
to the radio frequency used. Adding this information is called modulation and can be obtained
in several ways. The most basic form is to transmit a (carrier) frequency or not. This is called
continuous wave (CW) communication. The most used form of CW is Morse code. The
biggest drawback of this is that the information transfer rate or baud rate is very low.
There are many other forms of modulation, such as AM and FM. These are used by radio
stations. With AM (amplitude modulation), the information is made to change the amplitude of
the carrier frequency. In FM (frequency modulation), the frequency of the carrier is changed.
The advantage of FM over AM is that the signal strength does not interfere with reception.
RFM69HW
The RFM69HW transceiver in the CanSat supports various types of digital modulation. We
are going to use Frequency Shift Keying (FSK). This means that it is transmitting a frequency
when a logic 0 is transmitted and a different frequency if a logic 1 is transmitted. There are
many other forms of modulation like the Quadrature Phase-shift Keying (QPSK) where two
bits are transmitted simultaneously.
28
THE CANSAT BOOK
The quality of the radio link depends mainly on three aspects: the transmit power, the
receiver sensitivity and the used antennas. The only aspect that can be influenced by the
CanSat team is the antenna. The other aspects can be influenced, but then a different
transmitter and receiver are required, which is beyond the scope of this document.
Antennas
There are two antennas used in receiving the information from the CanSat: the first is the
antenna on board the CanSat, the second is the antenna used at the ground station. The
antennas need to be made with different requirements, although the frequency of operation
is similar for both antennas. The antenna on board the CanSat needs to be isotropic (or as
much as possible), which means that it transmits the same amount of power in all directions.
The antenna connected to the ground station can be pointed towards the CanSat, and it can
therefore be made as a high-gain directional antenna, which receives more electromagnetic
waves from one direction than from another.
Cansat Antenna
The CanSat antenna needs to be sufficiently robust to survive the launch on a rocket. For
the CanSat, a quarter-wave wire antenna works very well. The quarter-wave describes the
length of the antenna in reference to the operation frequency. The transmitter of the CanSat
kit works at around 433 MHz. the precise frequency depends a bit on what team you are in.
This is done to protect each other from interference. The required length of the antenna can
be calculated by using the following equation.
29
THE CANSAT BOOK
Wherein
The formula shows that the length of the antenna for 433 MHz should be around 17.3 cm.
The wire antenna that came with the CanSat kit, should be exactly this length.
Ground station antenna
The antenna of the ground station can be pointed at the CanSat during flight. This means
that it can be a high gain directional antenna. The most popular antenna design of this type is
the Yagi antenna. They are versatile, powerful, and can be bought cheaply. For your CanSat,
building a Yagi antenna is a good option, they can be constructed relative easily, using wood
and copper tubes. There is plenty of information on the internet to build a Yagi antenna.
PARACHUTE DESIGN
Satellites normally do not return to Earth in a parachute. At the end of their useful life, a
satellite will be put in a different orbit. For satellites orbiting at a low altitude this could mean
they will burn up in the atmosphere. Satellites further away will end up in a much more
distant parking orbit and will circle our planet forever. Sometimes however, the spacecraft
has to return to earth with samples or astronauts. One of the solutions is then to descend
in a parachute.
30
THE CANSAT BOOK
When the CanSat is deployed it must have a device to slow it down, otherwise it will
crash into the surface. The parachute also helps ensure that the CanSat stays in an up-
right position. This is particularly important because it helps to maintain proper antenna
orientation, which maximises the chances of receiving telemetry. This lesson will guide
you through the different steps needed to design and built your parachute.
Parachute production
When the design of the parachute is finished you can start the production process. There
are however a few important issues to keep in mind during this process. Deployment of the
parachute will be relatively violent, so the fabric and fibres you use need to be strong. Most
often you can get nylon cord and ripstop fabric at a kite shop. These materials are ideally
suited for the parachute.
When cutting the fabric keep in mind that some of the fabrics need to be cast double in order
to sew it.
More handy tips on parachute production can be found here:
http://www.nakka-rocketry.net/paracon.html
When the parachute is done, the best way to check if it works is to actually test it.
Example Assignments
The following assignments can be performed when working on the parachute.
• Calculate the impact speed of the can without a parachute (when released from 1
kilometre altitude).
• Calculate the minimum required area for your parachute when you use a cross parachute.
What size should the squares be on the chute?
• Perform the same calculation for a spherical parachute. What is the radius?
• Test the descent velocity of your parachute with a soda can?
• Try out different solutions for the parachute. A parachute with some holes in it or perhaps
multiple small parachutes? Both will enhance the stability of the CanSat.
31
THE CANSAT BOOK
Descent Physics
Before we can start making the parachute we will have to figure out how big it should be.
More specifically, we need to calculate how much surface area the parachute will need in
order to fulfil the requirements.
Logic suggests that the bigger the parachute the slower the object’s descent velocity. Later
on, this principle is shown with some basic equations. Although it would be very beneficial for
the CanSat to have a very low descent rate, a limit has been set to ensure that the CanSat
will land near the launch area. If the descent rate is too slow the CanSat may drift kilometres
away along with the wind, which is neither allowed nor desired. For safety reasons there has
also been set a maximum descent rate.
To design the parachute we’ll use some simple physics. We use a simplified model to
estimate the area of the parachute, after which we can start on the construction.
During the descent two forces will be acting on the CanSat. Gravity will pull on the can and
accelerate it towards the ground, and the drag force on the parachute will pull the CanSat
in the opposite direction and slow down the descent rate. The two forces are shown in this
image.
When the CanSat is deployed, the force of gravity will cause it to accelerate. After a few
seconds the drag force from the parachute will reach equilibrium with the force of gravity.
From that point on, the acceleration will be zero and the CanSat will descend at a constant
velocity. This constant velocity has to be greater than the minimum descent velocity specified
in the requirements. For the following calculations we can use this minimum
value as the constant velocity of the CanSat.
32
THE CANSAT BOOK
The gravity force is equal to:
In this equation
The drag force of the parachute is equal to:
		
In this equation:
Given a desired velocity, you can easily rewrite these equations to calculate the area needed
for the parachute.
Required Descent Parameters
	 Minimal descent Velocity:	 8 m/s
	 Maximal descent Velocity:	 11 m/s
	 Maximum allowed mass:	 0.350 kilograms
	 Drag coefficients:
	 • Semi Spherical: 	 1.5
	 • Cross Shaped: 	 0.8
	 • Parapent: 	 depends on the design
					(can be determined by tests)
	 • Flat, hexagon:	 	 0.8
33
THE CANSAT BOOK
Semi-spherical Parachute Design
A semi-spherical appearance is the most common shape of a parachute. Although it is not
hard to make one, it can be quite time-consuming to get the right shape. The figure below
should help out.
Cross Parachute Design
Instead of using a semi spherical shaped parachute,
you can also choose a cross shape. The advantage
of this shape is that it’s easy to make. If you want to
know more about cross shaped parachutes you can
check the following link:
http://www.nakka-rocketry.net/xchute1.html
Parapent
A parapent shaped parachute acts a bit like a wing.
Because of its shape you can use it to steer. The
design of a parapent is more complex than that of
the other shapes mentioned. You will have to do
some more research if you wish to use this type
of parachute.
34
THE CANSAT BOOK
Flat parachute design
Most commonly available parachutes are in fact created from standard two-dimensional flat
geometric figures, such as hexagons or octagons.
From above it is shown that the parachute consist of 8 equal triangles. Hence the total area
for the parachute would be where the area of one triangle is .
By combining these two equations we get . You can read more about how to
calculate the area of a flat parachute here:
http://www.sunward1.com/imagespara/The Mathematics of Parachutes%28Rev2%29.pdf
As soon as you know the total area (A) together with the drag coefficient (Cd) you can easily
determine the descent rate for your CanSat. If you do not know the drag coefficient for your
parachute, you can do drop tests of the CanSat to find the terminal velocity.
35
THE CANSAT BOOK
APPENDIX
Hardware Overview
The Pinout
All of the Pro Micro’s I/O and power pins are broken out to two, parallel headers. Some pins
are for power input or output, other pins are dedicated I/O pins. Further, the I/O pins can
have special abilities, like analog input. Here’s a map of which pin is where, and what special
hardware functions it may have:
Delving a little further into which pins do what:
Power Pins
There are a variety of power and power-related nets broken out:
	RAW is the unregulated voltage input for the Pro Micro. If the board is powered via
USB, the voltage at this pin will be about 4.8V (USB’s 5V minus a schottkey diode
drop). On the other hand, if the board is powered externally, through this pin, the
applied voltage can be up to 12V.
	VCC is the voltage supplied to the on-board ATmega32U4. This voltage will depend
on whether you’re using a 3.3V/8MHz Pro Micro or a 5V/16MHz version, it’ll be either
36
THE CANSAT BOOK
3.3V or 5V respectively. This voltage is regulated by the voltage applied to the RAW
pin. If the board is powered through the ‘RAW’ pin (or USB), this pin can be used as
an output to supply other devices.
	RST can be used to restart the Pro Micro. This pin is pulled high by a 10kOhm;
resistor on the board, and is active-low, so it must be connected to ground to initiate 	
a reset. The Pro Micro will remain “off” until the reset line is pulled back to high.
	GND, of course, is the common, ground voltage (0V reference) for the system.
I/O Pins
The Pro Micro’s I/O pins – 18 in all – are multi-talented. Every pin can be used as a digital
input or output, for blinking LEDs or reading button presses. These pins are referenced in
the Arduino IDE via an integer value between 0 and 21. (The A0-A3 pins can be referenced
digitally using either their analog or digital pin number).
	Nine pins feature analog to digital converters (ADCs) and can be used as analog
inputs. These are useful for reading potentiometers or other analog devices using the
analogRead([pin]) function.
	There are five pins with pulse width modulation (PWM) functionality, which allows
for a form of analog output using the analogWrite([pin], [value]) function. These pins
are indicated on-board with a faint, white circle around them.
	There are hardware UART (serial), I2C, and SPI pins available as well. These can be
used to interface with digital devices like serial LCDs, XBees, IMUs, and other serial
sensors.
	The Pro Micro has five external interrupts, which allow you to instantly trigger a
function when a pin goes either high or low (or both). If you attach an interrupt to an
interrupt-enabled pin, you’ll need to know the specific interrupt that pin triggers: pin 3
maps to interrupt 0, pin 2 is interrupt 1, pin 0 is interrupt 2, pin 1 is interrupt 3, and pin
7 is interrupt 4.
CALL FOR PROPOSALS
37
On-Board LEDs
There are three LEDs on the Pro Micro. One red LED indicates whether power is present.
The other two LEDs help indicate when data is transferring over USB. A yellow LED
represents USB data coming into (RX) the the Pro Micro, and a green LED indicates USB
data going out (TX).

More Related Content

PDF
Radar 2009 a 18 synthetic aperture radar
PDF
Orbital Mechanics Design Project
PDF
Remote sensing with drones: The challenges of obtaining truly quantitative da...
PPTX
Nano-satellites Design, Development, Implementation and Application
PPTX
GNSS(GLOBAL NAVIGATION SATELLITE SYSTEM)
PPT
Tesi sperimentale in Chimica Analitica
PDF
Quarks
Radar 2009 a 18 synthetic aperture radar
Orbital Mechanics Design Project
Remote sensing with drones: The challenges of obtaining truly quantitative da...
Nano-satellites Design, Development, Implementation and Application
GNSS(GLOBAL NAVIGATION SATELLITE SYSTEM)
Tesi sperimentale in Chimica Analitica
Quarks

What's hot (20)

PPTX
Carbon nanotubes for Aerospace applications
PDF
Nmr soni
PDF
Orbital mechanics
KEY
IB Astrophysics - stellar distances - Flippingphysics by nothingnerdy
PPT
RADAR Basics
PPTX
drones future need
PDF
Introduction to Synthetic Aperture Radar (SAR)
PPTX
STARLINK.pptx
PDF
The Global Positioning System (GPS)
PPTX
Nano satellite
PPTX
ODP
CanSat
PPT
Lecture 10.ppt
PPTX
DOCX
Puisi ku
PPTX
spaceinternetandstarlink-210107094240 (1).pptx
PPSX
Design & Implementation of a Cube Satellite
PDF
Synthetic aperture radar (sar) 20150930
PDF
UAV Data Link Design for Dependable Real-Time Communications
PPT
Satellite orbit and constellation design
Carbon nanotubes for Aerospace applications
Nmr soni
Orbital mechanics
IB Astrophysics - stellar distances - Flippingphysics by nothingnerdy
RADAR Basics
drones future need
Introduction to Synthetic Aperture Radar (SAR)
STARLINK.pptx
The Global Positioning System (GPS)
Nano satellite
CanSat
Lecture 10.ppt
Puisi ku
spaceinternetandstarlink-210107094240 (1).pptx
Design & Implementation of a Cube Satellite
Synthetic aperture radar (sar) 20150930
UAV Data Link Design for Dependable Real-Time Communications
Satellite orbit and constellation design
Ad

Viewers also liked (20)

PDF
EV3#7: Exercicios seguidor de linha
PDF
EV3#1: Blocos fundamentais
PDF
EV3#5: Exercicios com o sensor cor
PDF
EV3#3: Exercicios com o sensor de ultrassons
PDF
EV3#6: Exercicios com o sensor rotação
PDF
EV3#2: Exercícios introdutórios
PPTX
Programação ev3
PDF
Astro pi - Como recolher dados do astro Pi
PPT
Epilinguística Sugestão de Aula
PPTX
3Com 013459-00
PPT
Os porquês
PPTX
Dolorpostoperatorio en tiempos de crisis
PDF
Tech english notes
PPTX
Presentación practica slideshare
PPTX
Verandering van gedaante (tweede vastenzondag 2017 A)
PDF
EV3#4: Exercicios com o sensor de toque
PDF
Programação de arduinos com S4A (exercícios com entradas e saídas digitais)
PDF
David valdiviezo ensayo_pdf
PDF
Astro Pi - introdução ao Python
PDF
Astro Pi - Explorando o Sense Hat
EV3#7: Exercicios seguidor de linha
EV3#1: Blocos fundamentais
EV3#5: Exercicios com o sensor cor
EV3#3: Exercicios com o sensor de ultrassons
EV3#6: Exercicios com o sensor rotação
EV3#2: Exercícios introdutórios
Programação ev3
Astro pi - Como recolher dados do astro Pi
Epilinguística Sugestão de Aula
3Com 013459-00
Os porquês
Dolorpostoperatorio en tiempos de crisis
Tech english notes
Presentación practica slideshare
Verandering van gedaante (tweede vastenzondag 2017 A)
EV3#4: Exercicios com o sensor de toque
Programação de arduinos com S4A (exercícios com entradas e saídas digitais)
David valdiviezo ensayo_pdf
Astro Pi - introdução ao Python
Astro Pi - Explorando o Sense Hat
Ad

Similar to The can sat_book_2016-2017_versienov2016 (20)

PPT
CanSat Tehnical Workshop
PPT
CanSat 2008: Michigan Tech Final Presentation
ODP
Arduino workshop
PDF
Arduino talk
PDF
Arduino talk
PDF
Arduino talk
PDF
Intro to arduino
DOC
Intro arduino
PDF
Aircraft Anti collision system using ZIGBEE Communication
PPTX
Embedded programming
PDF
Wireless humidity and temperature monitoring system
PDF
Low cost data acquisition from digital caliper to pc
PDF
Arduino arduino boardnano
PPT
SMART SECURITY SYSTEM TO PREVENT THEFT USING GSM ppt..ppt
PPT
ARDUINO AND ITS PIN CONFIGURATION
PDF
Low-cost-LoRa-Collar for long range communication
PPTX
Nanokeyer nano keyekr kano ketkker nano keyer
PDF
Arduino: Tutorial de Arduino
PDF
IOT BASED HEALTH MONITORING SYSTEM.pdf
PDF
Education Documantary
CanSat Tehnical Workshop
CanSat 2008: Michigan Tech Final Presentation
Arduino workshop
Arduino talk
Arduino talk
Arduino talk
Intro to arduino
Intro arduino
Aircraft Anti collision system using ZIGBEE Communication
Embedded programming
Wireless humidity and temperature monitoring system
Low cost data acquisition from digital caliper to pc
Arduino arduino boardnano
SMART SECURITY SYSTEM TO PREVENT THEFT USING GSM ppt..ppt
ARDUINO AND ITS PIN CONFIGURATION
Low-cost-LoRa-Collar for long range communication
Nanokeyer nano keyekr kano ketkker nano keyer
Arduino: Tutorial de Arduino
IOT BASED HEALTH MONITORING SYSTEM.pdf
Education Documantary

More from Ana Carneirinho (19)

PDF
Livraria Sense hat - resumo
PDF
LED RGB e saída PWM - estudo orientado com S4A
PPTX
Arduino - iniciação à linguagem C: LCD 1602
PPTX
Workshop Arduino + Scratch
PPTX
Arduino - iniciação à linguagem C (servomotores)
PPTX
Arduino - iniciação à linguagem C (entradas analógica)
PPTX
Arduino - iniciação à linguagem C (entradas e saídas digitais)
PPTX
Projeto Casa Inteligente (Arduino e Snap4Arduino)
PPTX
Circuitos com Sensor PIR (Arduino e S4A)
PPTX
BlocklyDuino e mBlock - um estudo comparativo
PPTX
Movimento obliquo - simulação (arduino e S4A)
PPTX
Lâmpada controlada por relé e arduino programado em S4A
PDF
Estudo orientado de circuitos com motor dc programados em S4A
PPTX
Espaço Programação e Eletrónica - Sessão5
PPTX
Controlo de motor de passo com Snap4Arduino
PPTX
Termómetro (Arduino & Scractch)
PPTX
Projeto de S. Valentim
PPTX
Espaço Programação e Eletrónica - Sessão4
PPTX
Espaço Programação e Eletrónica - Sessão 3
Livraria Sense hat - resumo
LED RGB e saída PWM - estudo orientado com S4A
Arduino - iniciação à linguagem C: LCD 1602
Workshop Arduino + Scratch
Arduino - iniciação à linguagem C (servomotores)
Arduino - iniciação à linguagem C (entradas analógica)
Arduino - iniciação à linguagem C (entradas e saídas digitais)
Projeto Casa Inteligente (Arduino e Snap4Arduino)
Circuitos com Sensor PIR (Arduino e S4A)
BlocklyDuino e mBlock - um estudo comparativo
Movimento obliquo - simulação (arduino e S4A)
Lâmpada controlada por relé e arduino programado em S4A
Estudo orientado de circuitos com motor dc programados em S4A
Espaço Programação e Eletrónica - Sessão5
Controlo de motor de passo com Snap4Arduino
Termómetro (Arduino & Scractch)
Projeto de S. Valentim
Espaço Programação e Eletrónica - Sessão4
Espaço Programação e Eletrónica - Sessão 3

Recently uploaded (20)

PPTX
Key-Features-of-the-SHS-Program-v4-Slides (3) PPT2.pptx
PDF
Skin Care and Cosmetic Ingredients Dictionary ( PDFDrive ).pdf
PPTX
Climate Change and Its Global Impact.pptx
PDF
Solved Past paper of Pediatric Health Nursing PHN BS Nursing 5th Semester
PDF
Myanmar Dental Journal, The Journal of the Myanmar Dental Association (2013).pdf
PDF
FYJC - Chemistry textbook - standard 11.
PDF
Disorder of Endocrine system (1).pdfyyhyyyy
PDF
Laparoscopic Colorectal Surgery at WLH Hospital
PPTX
Power Point PR B.Inggris 12 Ed. 2019.pptx
PPTX
Case Study on mbsa education to learn ok
PPTX
2025 High Blood Pressure Guideline Slide Set.pptx
PDF
Farming Based Livelihood Systems English Notes
PDF
LIFE & LIVING TRILOGY - PART (3) REALITY & MYSTERY.pdf
PPTX
Reproductive system-Human anatomy and physiology
PPTX
Integrated Management of Neonatal and Childhood Illnesses (IMNCI) – Unit IV |...
PDF
Fun with Grammar (Communicative Activities for the Azar Grammar Series)
PDF
Journal of Dental Science - UDMY (2020).pdf
PPTX
PLASMA AND ITS CONSTITUENTS 123.pptx
PDF
Physical education and sports and CWSN notes
PPTX
ACFE CERTIFICATION TRAINING ON LAW.pptx
Key-Features-of-the-SHS-Program-v4-Slides (3) PPT2.pptx
Skin Care and Cosmetic Ingredients Dictionary ( PDFDrive ).pdf
Climate Change and Its Global Impact.pptx
Solved Past paper of Pediatric Health Nursing PHN BS Nursing 5th Semester
Myanmar Dental Journal, The Journal of the Myanmar Dental Association (2013).pdf
FYJC - Chemistry textbook - standard 11.
Disorder of Endocrine system (1).pdfyyhyyyy
Laparoscopic Colorectal Surgery at WLH Hospital
Power Point PR B.Inggris 12 Ed. 2019.pptx
Case Study on mbsa education to learn ok
2025 High Blood Pressure Guideline Slide Set.pptx
Farming Based Livelihood Systems English Notes
LIFE & LIVING TRILOGY - PART (3) REALITY & MYSTERY.pdf
Reproductive system-Human anatomy and physiology
Integrated Management of Neonatal and Childhood Illnesses (IMNCI) – Unit IV |...
Fun with Grammar (Communicative Activities for the Azar Grammar Series)
Journal of Dental Science - UDMY (2020).pdf
PLASMA AND ITS CONSTITUENTS 123.pptx
Physical education and sports and CWSN notes
ACFE CERTIFICATION TRAINING ON LAW.pptx

The can sat_book_2016-2017_versienov2016

  • 1. 1 THE CANSAT BOOK DUTCH CANSAT COMPETITION 2016-2017
  • 2. 2 The CanSat book is built up so that you can start from scratch and get a feeling of mastering the kit as you read through the book. In the beginning we will describe how you can get your Arduino board up and running. Then we will turn over for the missions. In this book we have described a primary mission and how you will get data from it. This book is written by Matthijs Dekkers for ESERO NL. It uses the work of Thomas Gansmoe, Stian Vik Mathisen, and Jøran Grande from NAROM together with Jens F. Dalsgaard Nielsen from Aalborg University and Nils Kristian Rossing from the Norwegian University of Science and Technology published here: http://esero.no/wp-content/ uploads/2015/11/The-CanSat-Book-R2.12.compressed.pdf It incorporates the instructions for the CanSat kit written by OpenCosmos and published at http://doc.open-cosmos.com/Qbcan_modular The CanSat-kit used in this book is developed by OpenCosmos and ESA. CanSat is an ESERO NL Project, financed by the Netherlands Space Office and the European Space Agency and executed by NEMO. THE CANSAT BOOK
  • 3. 3 THE CANSAT BOOK ABOUT THE CANSAT BOOK 2 INTRODUCTION TO CANSAT 5 What is a CanSat? 5 The CanSat-kit 5 Arduino 5 Contents of the kit 6 ASSEMBLY 8 Tools and requirements 8 The Ground station 9 1. Solder the pin headers onto the Logic Level Converter and the BMP180 sensor 9 2. Solder pin headers to the Arduino Pro Micro 10 3. Solder the headers to the RFM69 11 4. Solder voltage regulator to the board 11 5. Assembly of the components onto the qbcan board - solder the pin headers 12 6. Solder the battery connector to the board 14 7. Solder the antenna to the board 14 8. Connect the components to the board 15 9. Connect Logic Level Converter and the BMP180 to the board 15 10. Connect the RFM69 headers into the board 16 11. Connect the Arduino to the board 16 12. Powering qbcan up 16 SOFTWARE CONFIGURATION 17 Installation 17 Driver installation (Windows only) 17 Configure the Arduino IDE (Windows, Linux, MacOS) 18 Blinkies 19 Uploading the program 19 Read data 20 LIBRARY 20 Download and Install the qbcan Arduino Library 20 Test qbcan using the qbcan Library examples 20 Library basics 20 Using the BMP180 pressure and temperature sensor 21 Using the RFM69 transceiver 22
  • 4. 4 THE CANSAT BOOK Examples 24 ALTITUDE CALCULATIONS 25 ANTENNA DESIGN 27 Modulation 27 RFM69HW 27 Antennas 28 Cansat Antenna 28 Ground station antenna 29 PARACHUTE DESIGN 29 Parachute production 30 Example Assignments 30 Descent Physics 31 Required Descent Parameters 32 Semi-spherical Parachute Design 33 Cross Parachute Design 33 Parapent 33 Flat parachute design 34 APPENDIX 35 Hardware Overview 35 The Pinout 35 Power Pins 35 I/O Pins 36 On-Board LEDs 37
  • 5. 5 THE CANSAT BOOK INTRODUCTION TO CANSAT What is CanSat? A CanSat is a simulation of a real satellite, integrated within the volume and shape of a soft drinks can. The challenge for the students is to fit all the major subsystems found in a satellite, such as power, sensors and a communication system, into this minimal volume. The CanSat is then launched to an altitude of a few hundred meters by a rocket or dropped from a platform or captive balloon and its mission begins: to carry out a scientific experiment and achieve a safe landing. During the flight, the CanSat will use radio communication to transmit data to a ground station. CanSats offer a unique opportunity to have a first practical experience of a real space project. You will be responsible for all aspects: designing the CanSat, selecting its mission, integrating the components, testing, preparing for launch and then analyzing the data. The CanSat-kit The CanSat-kit is build up by an Arduino Pro Micro board and a sensor shield board. Arduino Arduino is an open-source electronics prototyping platform. It is based on flexible, easy-to-use hardware and software. It’s intended for anyone interested in creating interactive objects or environments, such as artists, designers and hobbyists. Arduino can sense the environment by receiving input from a variety of sensors and can affect its surroundings by controlling lights, motors, and other actuators. Here are some examples of Arduino projects: • Make an automatic night light which switches on when its dark • Intrusion alarm • Thermostat • Line Follower Robot • Fountain and/or lights that respond “happy to see you” via proximity and/or motion sensors • Ham radio Morse code keyed/propagation beacon • Graphical calculator that graphs serial inputs on a graphical LCD • Wi-Fi controlled RC-Car Many more ideas can be found http://playground.arduino.cc/Projects/Ideas.
  • 6. 6 THE CANSAT BOOK Contents of the kit The kit contains two complete sets, one for the ground station and one for the CanSat kit. Arduino Pro Micro The core of the Arduino system, which contains the microcontroller, I/O ports, etc. Qbcan Sensor shield board The qbcan Sensor Shield board has been developed at Open Cosmos and serves as the backbone of your system. It connects and holds all parts together RFM69HW 433MHz transceiver The transceiver will transmit radiosignals between the ground station and the CanSat BMP180 pressure and temperature sensor The primary mission requires that your CanSat measures air pressure and temperature Logic Level Converter The transceiver needs 3.3V, and because the Arduino supplies 5V, we use an LLC to solve this problem
  • 7. 7 THE CANSAT BOOK Male header Headers come in different sizes: long pins or shorter pins, and 2,54mm or 2mm pitch between the pins. They have to be cut to acquire the right amount of pins Female header Two sizes of female headers exist: 2mm and 2,54mm pitch between the pins. They have to be cut to acquire the right amount of pins Voltage regulator Yagi antenna connector Wire antenna Battery connector The sensor shield is designed to fit on top of the Arduino Pro Micro board. More information, documentation, and a community for technical support can be found here: http://doc.open-cosmos.com/Qbcan_user_manual http://community.open-cosmos.com/
  • 8. 8 THE CANSAT BOOK ASSEMBLY By following these guidelines you will assemble a qbcan module to be used as a ground station. This will result in a module suitable for prototyping and testing as any component can be easily replaced if damaged. The assembly of the qbcan is relatively simple and only requires basic soldering skills. If you don’t have any experience with soldering, the process will take approximately 3 hours, but it should take less than 2 hours if you have soldering experience. Consult these suggested tutorials to familiarize yourself with soldering in case needed. Tools and requirements The tools required to assemble a qbcan are those required for soldering hobby electronics. We recommend to have the following equipment with you during the assembly process: • Pliers and/or tweezers • Soldering iron and solder. It is important that the solder contains a flux core (this will facilitate the soldering). • Optional but recommended: flux remover (to clean flux residue). • Optional: a third hand is very convenient when you are alone while doing the assembly. • Optional: a solder wick remover in case you make a mistake and want to unsolder the components. • Optional: extra flux (e.g. in a pen dispenser). This element is optional but can help soldering the voltage regulator, which is surface mounted. Third hand
  • 9. 9 THE CANSAT BOOK THE GROUND STATION The final product we will be working towards, will look like this: The Pro Micro is mounted on top of the qbcan board, the transceiver, LLC en sensor board are mounted on the opposite side. Before you start, please make sure you clean the qbcan board and remove imperfections (if any) with a pair of pliers. These are leftovers from the fabrication process. 1. Solder the pin headers onto the Logic Level Converter and the BMP180 sensor We will be soldering the headers onto the Logic Level Converter (LLC) and the BMP180 sensor. Use the short 0.1” (2.54 mm) pitch headers included in each parts plastic bag. You will have to cut the header for the LLC in half. Place the shorter ends of the headers through the holes. Consult the images below to make sure you have the orientation right.
  • 10. 10 THE CANSAT BOOK 2. Solder pin headers to the Arduino Pro Micro Now that you have some practice in soldering headers, solder the headers of the Arduino Pro Micro. Use the long 0.1” (2.54 mm) pitch headers. These have to be cut apart in 2 blocks of 12 pins each. The plastic header needs to be moved so that the length of the pin is between 6 and 7 mm on one side and approximately 8 mm on the other side. Do this by introducing the long part of the pin in the female header and push the plastic holder down until it is in contact with the female header. It is important to hold the female header against a hard surface to avoid breaking it. Repeat it for each of the pins. The long part of the pins need to be placed through the Arduino Pro Micro board. The final results should look like this: The long pins will enable your peripherals (GPS, actuators or other sensors) to be connected to any pins of the Arduino by sing female headers or female jumper wires.
  • 11. 11 THE CANSAT BOOK 3. Solder the headers to the RFM69 The 2 mm-pitch male header can now be soldered to the RFM69. Introduce the short part of the pin through the board. You will have to cut 2 blocks of 8 pins each from the spare 2 mm-pitch pin array that comes separately. Start soldering the two end pins of the header to fix it to the board, and then solder the ones in between. 4. Solder voltage regulator to the board This first component that we will solder on the qbcan board is the voltage regulator. Due to the small size of this component, this is going to be one of the difficult parts to be soldered onto the board. Be patient, do not rush. Consult the suggested tutorials and familiarize yourself with Surface Mount Soldering (SMD) before attempting to solder this component. Find the marking on the qbcan board that looks like this: Use a pair of fine tweezers or pliers to place the component in the correct position. Solder the wide leg first and once this is done, continue with the three smaller parallel legs, like this: Step 1: Place a bit of solder on the board for the wide leg of the voltage regulator.
  • 12. 12 THE CANSAT BOOK Step 2: With the help of tweezers, place the voltage regulator on top and apply heat to solder its wide leg. Step 3: Solder the three smaller parallel legs to the board. The Voltage regulator is now soldered onto the board. 5. Assembly of the components onto the gbcan board- solder the pin headers In order to assemble the components onto the board there are two different approaches to be followed. The first one, described in this manual, is to solder female headers to the board so that the components can be easily plugged in and removed or replaced if necessary. This configuration is suitable for prototyping and testing, and can be used in the ground station. Once you have familiarized yourself with the configuration, it is highly recommended to assemble the second qbcan module in different configuration by
  • 13. 13 THE CANSAT BOOK soldering all the components directly onto the board, without using female headers. This configuration won’t allow you to remove and replace all the components, but it will be more compact and withstand the forces during the launch and landing, so this approach is better suited for use in the CanSat. Begin soldering the 2.54 mm-pitch female header for the Arduino (#1 in figure) and follow with the rest of the headers. You will have to cut one block of 12 female headers from the array that comes separately. Solder the pin in one end of the header to fix one side and then the other end. Once this is done, proceed to solder the pins in the middle. Continue with the same type of headers for the BMP180 (#2) sensor and the LLC (#3 and #4) on the other side of the qbcan board. Solder headers #2, #3 and #4 as shown. You will have to cut 2 blocks of 6 female headers and one block of 5 female headers from the array that comes separately. Clean the side of the header from cutting imperfections, this is important to make sure that the header #3 fits in its place next to #2. Do not worry if some pins are broken when cutting, as there are some spares provided. Follow with the 2 mm-pitch female headers for the RFM 69 (#5 and #6), you will have to cut 2 blocks of 8 female headers from the 2 mm-pitch female headers array that comes separately. Finish by soldering the second 2.54 mm-pitch female header for the Arduino (#7). 7 1 2 6 5
  • 14. 14 THE CANSAT BOOK 6. Solder the battery connector to the board The next component to be soldered onto the board is the battery connector. This is also a tricky step since the board hole is bigger than the metal conductor of the battery connector. Use a third hand (or ask somebody to help you) so that you are able to place everything in the right position and solder. Be careful not to burn your assistant with the soldering iron! It is also important that you solder the red wire to the positive (+) terminal and the black wire to the negative (-) terminal, as marked on the board. After finishing the soldering, clean the connection, plug a standard 9V battery (not included) and check that the regulator output voltage is as expected using a voltmeter. 7. Solder the antenna to the board The RFM69 is a 433 MHz transceiver which we will use with a wire monopole antenna. This is the simplest type of antenna consisting of a piece of wire with the length of a quarter of wavelength. For more information in antennas see the chapter in Antenna Design. A wire already cut to the specified length is provided, pass it through the board hole and solder it to the dedicated pin hole, as shown in the image below. It is important for the antenna to be as straight as possible. If it is curved or bent, the performance and the range will decrease.
  • 15. 15 THE CANSAT BOOK In case the qbcan is going to be used as ground station, a Yagi antenna connector can be soldered instead to gain extra range. There are four surface soldering ground points, two on the top side of the PCB and two on the bottom, as well as one in the middle that can be soldered either on top or below. 8. Connect the components to the board Once all the headers are soldered to the qbcan board, the components can be connected to them by plugging each component into its specific location. 9. Connect Logic Level Converter and the BMP180 to the board Connect the components to their respective positions. For the Logic Level Converter, check that the High Voltage (HV) and Low Voltage (LV) sides are oriented correctly by looking at the board marks. The BMP180 needs to fit within the board limits (see the board marks for the outline of where the BMP180 should go).
  • 16. 16 THE CANSAT BOOK 10. Connect the RFM69 headers into the board The next step will be connecting the RFM69 onto the board. On the board the antenna pinhole is marked with ANA. Make sure to connect the RFM69 board in such a way that the pin marked with ANA on the back of the RFM69 board matches with the one on the qbcan board. 11. Connect the Arduino to the board The next step is to connect the Arduino Pro Micro to the board. This should not be difficult. Consult the image below to know how the Arduino should be oriented. 12. Powering qbcan up The qbcan can be powered using the USB, the 5V-9V power IN or both.
  • 17. 17 THE CANSAT BOOK SOFTWARE CONFIGURATION The Arduino Pro Micro is a microcontroller board based on the ATmega32U4 chip. It has 18 digital input/output pins, 9 analogue inputs and a USB connection. It contains everything needed to support the microcontroller; simply connect it to a computer with a USB cable or power it with an AC-to-DC adapter or battery to get started. For more information on the Pro Micro, see the Appendix: Hardware overview. To get started you have your Arduino Pro Micro board in front of you, a computer with administrative rights and a standard micro-USB cable. The open-source Arduino environment makes it easy to write code and upload it to the I/O board. It runs on Windows, Mac OS X, and Linux. The environment is written in Java and based on Processing, AVR-gcc, and other open source software. INSTALLATION Download the newest version of the Arduino IDE here and install it. Remember where you installed the program. The IDE will be the place where you write your code, compile your program to machine language, upload it to the Arduino and read the Arduino’s output in the serial monitor. Driver installation (Windows only) • Download this driver: sparkfun.inf. Remember where you save the file. • Alternatively, download the most recent version from: https://github.com/sparkfun/ Arduino_Boards/archive/master.zip, open the file, navigate to Arduino_Boards-master.zip Arduino_Boards-mastersparkfunavrsigned_driver and extract the file sparkfun.inf to your chosen location. • Connect the Pro Micro via USB. • Use the keyboard combination +R, type: ’devmgmt.msc’ followed by Enter. • In the ‘Device manager’ (Apparaatbeheer) under ‘Other Devices’ (Overige apparaten), an unknown device will show up, to be recognized by a yellow sign with an exclamation mark and the name SparkFun Pro Micro or Arduino. Click it with your right mouse button and select ‘Update Driver’ (Stuurprogramma’s bijwerken). • Select the option ‘Browse my computer for driver software’ (Op mijn computer naar stuurprogramma’s zoeken), click ‘Browse…’ (Bladeren), go to the location where you saved sparkfun.inf, click OK and then Next.
  • 18. 18 THE CANSAT BOOK • A warning dialog will be shown, it is safe to select: ‘Install this driver software anyway’ (Dit stuurprogramma toch installeren) Your computer will now recognize the Pro Micro. You still have to configure the software so that it will work with the hardware. Configure the Arduino IDE (Windows, Linux, MacOS) The Arduino IDE will recognize a few common Arduinos, but the Pro Micro is not among them. To be able to work with the board, you will have to follow a few more steps: • Copy this url: https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_ Board_Manager/package_sparkfun_index.json. • Start Arduino, go to Files Preferences. • Paste this URL into the “Additional Board Manager URLs” text box and click OK. • Go to Tools Boards Board Manager (Hulpmiddelen Boards Bordenbeheer). • Search for SparkFun, select SparkFun AVR Boards in the search results and click install. • Go to Tools Boards. The SparkFun boards will now be visible. select the Pro Micro. • Go to Tools. The option Processor will now be clickable. Two versions of the Pro Micro exist: the 3.3V 8MHz and the 5V 16MHz. We will be using the 5V 16MHz version. Select the right version. • Select the serial device of the Arduino board from the Tools Serial Port menu. This is likely to be COM3 or higher (COM1 and COM2 are usually reserved for hardware serial ports). To find out, you can disconnect your Arduino board and re-open the menu; the entry that disappears shouldbe the Arduino board. Reconnect the board and select that serial port. Notice there are two options for Pro Micro – 3V 8MHz and 5V 16MHz. It’s very important that you select the Pro Micro option that matches your board’s voltage and speed. We will be using the 5V 16MHz version.
  • 19. 19 THE CANSAT BOOK BLINKIES Now you are ready to start programming Arduino Pro Micro and it is a good time to check that everything is correctly installed. Copy the following code and paste it in the sketch editor of the IDE: All text after // is ignored by the computer. It is there to make the code more readable. In the IDE these comments will be shown in grey. Uploading the program Now, simply click the “Upload” button in the compiler (the arrow in the top left corner). Wait a few seconds - you should see the RX and TX LEDs on the board flashing. If the upload is successful, the message “Done uploading.” will appear in the status bar. void setup() // The setup() function is called when a sketch starts. Use it to //initialize variables, pin modes, start using libraries, etc. //The setup function will only run once, after each power up or reset //of the Arduino board. The contents of the functions has to be //entered between curly brackets: {} { pinMode(17, OUTPUT); // Set RX LED at pin 17 as an output Serial.begin(9600); //set the data transmission speed for communication over the //serial port to 9600bps } void loop() //After creating a setup() function, the loop() function loops //consecutively, allowing your program to change and respond. //Use it to actively control the Arduino board. { Serial.println(“Hello world”); //Print “Hello World” to the Serial Monitor delay(1000); //wait for a second digitalWrite(17, LOW); //turn the RXLED on TXLED1; //unlike RXLED, TX LED is not tied to a pin, instead we / //turn it on with this command delay(1000); //wait for a second digitalWrite(17, HIGH); // turn the RXLED off TXLED0; // turn the RXLED off }
  • 20. 20 THE CANSAT BOOK Read data Open the Serial Monitor to look at the data which is received from the Arduino. The Serial Monitor is opened by clicking the icon to the right in the toolbar. The Serial Monitor will open a new window which will give you a serial text stream of the data printed from the Arduino board. The Arduino is programmed to print “Hello world” every 2 seconds. LIBRARY A very important part of the qbcan is the software library. This library provides an easy-to-use interface to the transceiver RFM69 and the pressure and temperature sensor BMP180. Download and Install the qbcan Arduino Library Download the library here. In order to install the library, go into the Arduino IDE and click to Sketch Import Library Add Library. Then go to the folder where you have saved the qbcan library, browse to qbcan.zip and accept. The library will be available after you restart the Arduino IDE. To make sure that the library has been correctly installed, check that the qbcan examples can be found in File Examples qbcan. Test qbcan using the qbcan Library examples In order to use the Library and test the examples, you will need a fully assembled kit. The qbcan Library contains examples you can use to check that the whole system works properly. In order to access the examples in the Arduino IDE, click on File Examples qbcan. You can find a CanSat example that measures temperature and pressure and transmits them to the ground station. Library basics To use the library you will need to include the qbcan Library and the SPI.h and Wire.h libraries at the beginning of your code, so that the qbcan can have access to the SPI and I2C buses. The SPI.h and Wire.h libraries are part of the Arduino IDE and thus no installation is required. The library qbcan.h needs to be placed at the top of the sketch. //Include the required libraries #include qbcan.h //Core qbcan library #include Wire.h //I2C bus library #include SPI.h //SPI bus library
  • 21. 21 THE CANSAT BOOK Using the BMP180 pressure and temperature sensor The qbcan library provides a way to interface with the BMP180 pressure and temperature. To create the sensor object, use the following snippet. Copy-paste this piece of code just after the #includes. This will create the sensor object. On the setup() function you will need to initialize the sensor. You can do this with the following piece of code. Paste it below the rest of the code. After initializing the sensor it is ready to measure. To measure temperature and pressure you can use the following piece of code (note that the temperature unit is degrees Celsius and the pressure unit is mbar). Copy-paste this code into the void loop() method. //Create the pressure and temperature sensor object BMP180 bmp; void setup() { //Initialize serial connection for debugging Serial.begin(9600); // Initialize pressure sensor. if (bmp.begin()) Serial.println(“BMP180 init success”); else { //In case of error let user know of the problem Serial.println(“BMP180 init fail (disconnected?)nn”); while(1); // Pause forever } }
  • 22. 22 THE CANSAT BOOK After taking the measurement you can send the data to the serial port to be displayed in your PC serial monitor with the following piece of code. Past it below the last bit of code in the loop(). Using the RFM69 transceiver The library also provides a class to interface with the transceiver. You can create the object as follows: Before initializing the RFM69 object on the setup() function it is useful to define some of the transceiver parameters as follows: //Declare temperature and pressure variables double T,P; // Get a new temperature and pressure reading bmp.getData(T,P); //Display data Serial.print(“Absolute pressure: “); Serial.print(P,2); Serial.println(“ mb.”); Serial.print(“Temperature: “); Serial.print(T,2); Serial.println(“ deg C.”); //Create the Radio object RFM69 radio; //Radio Parameters #define NODEID 2 //unique for each node on same network #define NETWORKID 100 //the same on all nodes that talk to each other #define GATEWAYID 1 //Receiving node #define ENCRYPTKEY “sampleEncryptKey” //The same on all nodes!
  • 23. 23 THE CANSAT BOOK The NETWORKID can be set from 0 to 255 and that changes the physical channel used for the link (i.e. the frequency). Although in this guide the NETWORKID is considered a parameter, it can be changed during runtime. For this, you will need to re-initialise the library. The NODEID is the node in a particular channel and can be set from 1 to 255. Therefore, we can have up to 255 qbcan operating in the same frequency, although they cannot transmit at the same time. Messages are generally send to a specific node and that is the GATEWAYID. So if you are configuring a transmitter/receiver make sure that you are transmitting to the correct node. Also a receiver can sniff all the packets in a network, thus receiving all traffic in that network independently if the messages where addressed to that particular node. To configure the radio on the setup you can just use the following code. To send data through the network use the following code. In the radio.send() function, the last argument is the length of the message to be transmitted In the example above the message payload is 50 bytes long and we are sending it in full although the actual message is not that long (so it could be optimised). void setup() { //Initialize serial connection for debugging Serial.begin(9600); //Initialize radio radio.initialize(FREQUENCY,NODEID,NETWORKID); radio.setHighPower(); //Use the high power capabilities of the RFM69HW radio.encrypt(ENCRYPTKEY); Serial.println(“Transmitting at 433 Mhz”); } //Send Data char payload[50]; sprintf(payload,”T: %d C, P: %d mb.”,(int)T,(int)P); Serial.print(payload); radio.send(GATEWAYID, payload, 50); Serial.println(“Send complete”);
  • 24. 24 THE CANSAT BOOK In order to receive data transmitted through the network, the following piece of code can be used: Use radio.promiscuous(true); to activate the “promiscuous” mode to listen to all packets from the network in use. There are also some other functions that you may find useful when receiving messages: radio.SENDERID - returns the sender node id. radio.TARGETID - returns the message target node id (in case you are sniffing all the packets in the network). radio.RSSI - returns the received signal strength (RSSI). EXAMPLES The provided library contains examples that can help you get started. The examples can be found in the Arduino IDE by clicking on File Examples qbcan. There is one example, labelled as CanSat that transmits data and another one labelled as GroundStation that will receive it. The GroundStation example can be used with another qbcan to receive this data. To do so, open the serial monitor in Tools Serial Monitor and set the speed of the serial connection to 9600 baud (this value depends on how you define the serial connection in the qbcan code. See the “Using the RFM69 transceiver” section). If you run each of the codes on two different qbcan you will be able to send and receive data and test the sensors. We encourage you to use these examples as a starting point for your projects. if (radio.receiveDone()) { for (byte i = 0; i radio.DATALEN; i++) Serial.print((char)radio.DATA[i]); }
  • 25. 25 THE CANSAT BOOK ALTITUDE CALCULATIONS The atmosphere is all around us; it is a thin gaseous layer surrounding our planet. The atmosphere is composed primarily of nitrogen (78%) and oxygen (21%). The remaining 1% consists of water vapour, CO2 and other trace gasses. The Earth’s atmosphere consists of different layers, each one having different properties (temperatures, pressure, composition, etc…). The different layers are represented in along with various human and weather activities seen in these layers. Unlike our CanSat, most satellites operate in the exosphere. Here the density of the atmosphere is very low. The CanSat however operates in the troposphere, which is the bottom layer of the atmosphere. This layer contains about 80% of the total mass of the atmosphere, and stretches to about 10 kilometers altitude. A great deal of the “weather” we observe on a day-to-day basis (wind and clouds for instance) occurs within this layer.
  • 26. 26 THE CANSAT BOOK The temperature and pressure of the atmosphere varies with altitude. Although the ambient temperature can rise and fall as you move through the different layers of the atmosphere. Within the troposphere, there is a linear relation between the temperature and altitude. On average, ascending one kilometer from sea level will result in a temperature drop of 6.5 degrees Celsius. The equation below provides the relation between temperature and altitude: The relation between the pressure and the altitude is somewhat more complicated. The pressure is not only dependent on the altitude but also on the temperature. Let’s start with the relation of pressure to temperature: Inserting this formula into the temperature-altitude relation, we achieve the following expression for altitude as a function of temperature and pressure:
  • 27. 27 THE CANSAT BOOK ANTENNA DESIGN Modulation Radio communication is sending information from one place to another, using electro- magnetic waves, also called radio waves. Electromagnetic waves are generated at an antenna when an alternating electric current is connected to it. The antenna transforms the electric current in electromagnetic waves. At the receiving end of the communication, the waves are transformed back into electric current by an antenna. Using the radio waves to transfer information means that the information needs to be added to the radio frequency used. Adding this information is called modulation and can be obtained in several ways. The most basic form is to transmit a (carrier) frequency or not. This is called continuous wave (CW) communication. The most used form of CW is Morse code. The biggest drawback of this is that the information transfer rate or baud rate is very low. There are many other forms of modulation, such as AM and FM. These are used by radio stations. With AM (amplitude modulation), the information is made to change the amplitude of the carrier frequency. In FM (frequency modulation), the frequency of the carrier is changed. The advantage of FM over AM is that the signal strength does not interfere with reception. RFM69HW The RFM69HW transceiver in the CanSat supports various types of digital modulation. We are going to use Frequency Shift Keying (FSK). This means that it is transmitting a frequency when a logic 0 is transmitted and a different frequency if a logic 1 is transmitted. There are many other forms of modulation like the Quadrature Phase-shift Keying (QPSK) where two bits are transmitted simultaneously.
  • 28. 28 THE CANSAT BOOK The quality of the radio link depends mainly on three aspects: the transmit power, the receiver sensitivity and the used antennas. The only aspect that can be influenced by the CanSat team is the antenna. The other aspects can be influenced, but then a different transmitter and receiver are required, which is beyond the scope of this document. Antennas There are two antennas used in receiving the information from the CanSat: the first is the antenna on board the CanSat, the second is the antenna used at the ground station. The antennas need to be made with different requirements, although the frequency of operation is similar for both antennas. The antenna on board the CanSat needs to be isotropic (or as much as possible), which means that it transmits the same amount of power in all directions. The antenna connected to the ground station can be pointed towards the CanSat, and it can therefore be made as a high-gain directional antenna, which receives more electromagnetic waves from one direction than from another. Cansat Antenna The CanSat antenna needs to be sufficiently robust to survive the launch on a rocket. For the CanSat, a quarter-wave wire antenna works very well. The quarter-wave describes the length of the antenna in reference to the operation frequency. The transmitter of the CanSat kit works at around 433 MHz. the precise frequency depends a bit on what team you are in. This is done to protect each other from interference. The required length of the antenna can be calculated by using the following equation.
  • 29. 29 THE CANSAT BOOK Wherein The formula shows that the length of the antenna for 433 MHz should be around 17.3 cm. The wire antenna that came with the CanSat kit, should be exactly this length. Ground station antenna The antenna of the ground station can be pointed at the CanSat during flight. This means that it can be a high gain directional antenna. The most popular antenna design of this type is the Yagi antenna. They are versatile, powerful, and can be bought cheaply. For your CanSat, building a Yagi antenna is a good option, they can be constructed relative easily, using wood and copper tubes. There is plenty of information on the internet to build a Yagi antenna. PARACHUTE DESIGN Satellites normally do not return to Earth in a parachute. At the end of their useful life, a satellite will be put in a different orbit. For satellites orbiting at a low altitude this could mean they will burn up in the atmosphere. Satellites further away will end up in a much more distant parking orbit and will circle our planet forever. Sometimes however, the spacecraft has to return to earth with samples or astronauts. One of the solutions is then to descend in a parachute.
  • 30. 30 THE CANSAT BOOK When the CanSat is deployed it must have a device to slow it down, otherwise it will crash into the surface. The parachute also helps ensure that the CanSat stays in an up- right position. This is particularly important because it helps to maintain proper antenna orientation, which maximises the chances of receiving telemetry. This lesson will guide you through the different steps needed to design and built your parachute. Parachute production When the design of the parachute is finished you can start the production process. There are however a few important issues to keep in mind during this process. Deployment of the parachute will be relatively violent, so the fabric and fibres you use need to be strong. Most often you can get nylon cord and ripstop fabric at a kite shop. These materials are ideally suited for the parachute. When cutting the fabric keep in mind that some of the fabrics need to be cast double in order to sew it. More handy tips on parachute production can be found here: http://www.nakka-rocketry.net/paracon.html When the parachute is done, the best way to check if it works is to actually test it. Example Assignments The following assignments can be performed when working on the parachute. • Calculate the impact speed of the can without a parachute (when released from 1 kilometre altitude). • Calculate the minimum required area for your parachute when you use a cross parachute. What size should the squares be on the chute? • Perform the same calculation for a spherical parachute. What is the radius? • Test the descent velocity of your parachute with a soda can? • Try out different solutions for the parachute. A parachute with some holes in it or perhaps multiple small parachutes? Both will enhance the stability of the CanSat.
  • 31. 31 THE CANSAT BOOK Descent Physics Before we can start making the parachute we will have to figure out how big it should be. More specifically, we need to calculate how much surface area the parachute will need in order to fulfil the requirements. Logic suggests that the bigger the parachute the slower the object’s descent velocity. Later on, this principle is shown with some basic equations. Although it would be very beneficial for the CanSat to have a very low descent rate, a limit has been set to ensure that the CanSat will land near the launch area. If the descent rate is too slow the CanSat may drift kilometres away along with the wind, which is neither allowed nor desired. For safety reasons there has also been set a maximum descent rate. To design the parachute we’ll use some simple physics. We use a simplified model to estimate the area of the parachute, after which we can start on the construction. During the descent two forces will be acting on the CanSat. Gravity will pull on the can and accelerate it towards the ground, and the drag force on the parachute will pull the CanSat in the opposite direction and slow down the descent rate. The two forces are shown in this image. When the CanSat is deployed, the force of gravity will cause it to accelerate. After a few seconds the drag force from the parachute will reach equilibrium with the force of gravity. From that point on, the acceleration will be zero and the CanSat will descend at a constant velocity. This constant velocity has to be greater than the minimum descent velocity specified in the requirements. For the following calculations we can use this minimum value as the constant velocity of the CanSat.
  • 32. 32 THE CANSAT BOOK The gravity force is equal to: In this equation The drag force of the parachute is equal to: In this equation: Given a desired velocity, you can easily rewrite these equations to calculate the area needed for the parachute. Required Descent Parameters Minimal descent Velocity: 8 m/s Maximal descent Velocity: 11 m/s Maximum allowed mass: 0.350 kilograms Drag coefficients: • Semi Spherical: 1.5 • Cross Shaped: 0.8 • Parapent: depends on the design (can be determined by tests) • Flat, hexagon: 0.8
  • 33. 33 THE CANSAT BOOK Semi-spherical Parachute Design A semi-spherical appearance is the most common shape of a parachute. Although it is not hard to make one, it can be quite time-consuming to get the right shape. The figure below should help out. Cross Parachute Design Instead of using a semi spherical shaped parachute, you can also choose a cross shape. The advantage of this shape is that it’s easy to make. If you want to know more about cross shaped parachutes you can check the following link: http://www.nakka-rocketry.net/xchute1.html Parapent A parapent shaped parachute acts a bit like a wing. Because of its shape you can use it to steer. The design of a parapent is more complex than that of the other shapes mentioned. You will have to do some more research if you wish to use this type of parachute.
  • 34. 34 THE CANSAT BOOK Flat parachute design Most commonly available parachutes are in fact created from standard two-dimensional flat geometric figures, such as hexagons or octagons. From above it is shown that the parachute consist of 8 equal triangles. Hence the total area for the parachute would be where the area of one triangle is . By combining these two equations we get . You can read more about how to calculate the area of a flat parachute here: http://www.sunward1.com/imagespara/The Mathematics of Parachutes%28Rev2%29.pdf As soon as you know the total area (A) together with the drag coefficient (Cd) you can easily determine the descent rate for your CanSat. If you do not know the drag coefficient for your parachute, you can do drop tests of the CanSat to find the terminal velocity.
  • 35. 35 THE CANSAT BOOK APPENDIX Hardware Overview The Pinout All of the Pro Micro’s I/O and power pins are broken out to two, parallel headers. Some pins are for power input or output, other pins are dedicated I/O pins. Further, the I/O pins can have special abilities, like analog input. Here’s a map of which pin is where, and what special hardware functions it may have: Delving a little further into which pins do what: Power Pins There are a variety of power and power-related nets broken out: RAW is the unregulated voltage input for the Pro Micro. If the board is powered via USB, the voltage at this pin will be about 4.8V (USB’s 5V minus a schottkey diode drop). On the other hand, if the board is powered externally, through this pin, the applied voltage can be up to 12V. VCC is the voltage supplied to the on-board ATmega32U4. This voltage will depend on whether you’re using a 3.3V/8MHz Pro Micro or a 5V/16MHz version, it’ll be either
  • 36. 36 THE CANSAT BOOK 3.3V or 5V respectively. This voltage is regulated by the voltage applied to the RAW pin. If the board is powered through the ‘RAW’ pin (or USB), this pin can be used as an output to supply other devices. RST can be used to restart the Pro Micro. This pin is pulled high by a 10kOhm; resistor on the board, and is active-low, so it must be connected to ground to initiate a reset. The Pro Micro will remain “off” until the reset line is pulled back to high. GND, of course, is the common, ground voltage (0V reference) for the system. I/O Pins The Pro Micro’s I/O pins – 18 in all – are multi-talented. Every pin can be used as a digital input or output, for blinking LEDs or reading button presses. These pins are referenced in the Arduino IDE via an integer value between 0 and 21. (The A0-A3 pins can be referenced digitally using either their analog or digital pin number). Nine pins feature analog to digital converters (ADCs) and can be used as analog inputs. These are useful for reading potentiometers or other analog devices using the analogRead([pin]) function. There are five pins with pulse width modulation (PWM) functionality, which allows for a form of analog output using the analogWrite([pin], [value]) function. These pins are indicated on-board with a faint, white circle around them. There are hardware UART (serial), I2C, and SPI pins available as well. These can be used to interface with digital devices like serial LCDs, XBees, IMUs, and other serial sensors. The Pro Micro has five external interrupts, which allow you to instantly trigger a function when a pin goes either high or low (or both). If you attach an interrupt to an interrupt-enabled pin, you’ll need to know the specific interrupt that pin triggers: pin 3 maps to interrupt 0, pin 2 is interrupt 1, pin 0 is interrupt 2, pin 1 is interrupt 3, and pin 7 is interrupt 4.
  • 37. CALL FOR PROPOSALS 37 On-Board LEDs There are three LEDs on the Pro Micro. One red LED indicates whether power is present. The other two LEDs help indicate when data is transferring over USB. A yellow LED represents USB data coming into (RX) the the Pro Micro, and a green LED indicates USB data going out (TX).