In the framework of the cooperation with the University Space Engineering Consortium (UNISEC), and the Cairo University Engineering Faculty Aerospace department, the Planetarium Science Center (PSC) launch the Can-Sat Training Program one of the activity of Space Technology Program for Engineering faculty Alexandria University. The Can-Sat training provides an affordable way to acquire the students with the basic knowledge to many challenges in building a satellite. Students will be able to design and build a small electronic payload that can fit inside a soda can. The Can-Sat is launched into high altitude by rockets, balloons and/or aircrafts; and experiments are performed during descent by parachute, simulating the satellite operations in space. The Can-Sat training develop the capacity building in space technology and improve teaching methods based on space engineering education.
The aim of the project is to build a can-sized satellite which has the ability to collect data for environmental services and natural variations.
This is the second version of a can-sized satellite first made last year. The main features of Can-Sat 2 are: - Collecting Data from sensors in real-time. - Three cameras recording, taking snapshots, and streaming online over the internet. - The ability to stream data anywhere on earth, since that the connection is based on a 3.5G Mobile Network. - The Satellite is connected to a ground station using a simple Ad-Hock Network, giving it the ability to control, backup and monitor data on a real time basis. - A Fast Micro-computing system is used to process data, execute commands, and control technical details of the Satellite using a portable 900 Megahertz microprocessor ARM chip - Embedded sensors are: Gyroscope, Accelerometer, Barometer/temperature, Humidity, and Global Positioning System (GPS) modules. - Zigbee wireless protocol is used between the Satellite and ground station in order to reach simplicity, high data rate transmission, stable communication link, and low power consumption. - A water rocket launcher is used for safety, it also represents a real-world rocket launch modeling scenario. - A parachuting system is used too for the Satellite's safe return. Also the parachuting system is used to keep the Satellite from rotating and/or tumbling around the horizontal axis, thus a better stability is achieved.
Step 1: System Architecture
When we started the project, we wanted to stick with the famous statement (keep it always simple). So we started with the main artificial brain of the system, the Raspberry Pi, we connected the three Cameras along with the 3.5G USB Modem, plugged them into the Powered USB Hub, and connected it to one of the USB inputs of the Pi Board. After that, we connected the sensors and Zigbee communication subsystems to the Arduino board. For the sake of simpliness, we designed a custom PCB board which had a better sensors -as well as battery power plugs- interface. as shown a simple block diagram that explains the hardware architecture used in CanSat II.
Step 2: Satellite System, Sensor Control and Communication System.
A gyroscope is a device that measures angular velocity. In our system we need to calculate the leaning angle to detect whenever the system become critically stable or in the worst case unstable so, it can -with the accelerometer- eject the parachute system in the perfect time. In order to obtain angles, integration over time is needed which makes some drifts due to the approximations made to integrate with microcontrollers and the fact of any error will be accumulated over time, that’s why using a gyroscope for angles calculation was not sufficient alone. IDG500 Breakout Gyroscope was used, it’s a two axes gyroscope with analog output with a sensitivity of 2mV/s and a reference of 1.35 V which means that if the angular velocity equals zero the output would be 1.35V. Notice that this value (1.35) is changeable due to ambient temperature so it’s not a fixed value to initialize.
The accelerometer is a device that measures the proper acceleration -including the gravitational acceleration-.
ADXL335 accelerometer was used, it’s a 3 axes accelerometer with analog output with a sensitivity of 300mV/g.
For the gyroscope it has drifts over time due to integration but it is still a reliable short term way, however, for accelerometer it’s sensitive to noise and not hundred percent reliable if not in static state but it’s more reliable than gyroscope in long term as its drifts
is not based on time.
So we found that sensor fusion is the best suitable option to output the most accurate measurements over the individual sensor usage. The sensor fusion is to apply a low pass filter into both sensors and via a simple approach you can develop a decision making algorithm to eject the parachute in the perfect time. The complementary filter applied equation is as follows:
Θf = ( Θf + ω * Δt ) * 0.9 + ΘA * 0.1
where Θf is the filtered angel, Θ A is the angel from accelerometer, ω is the angular velocity , and Δt is the difference in time.
BMP is a sensor that measures the pressure and temperature using BMP085 module via I2C communication protocol. Unfortunately Pressure measurement were noisy and unstable because of the low quality sensor we used due the lack of resources, so we applied a low pass filter to achieve some sense of accuracy and reliability on measurements. Moreover, the altitude may be calculated from pressure using the following formula: altitude = 44330 * (1 – (p/p0) 1/5.255)
A GPS is a device that receives Global Positioning System satellites' signals to determine the device's location on Earth. GPS devices provide latitude and longitude information, and some may also calculate altitude and regional time. We used here Sky Labs SKM53 GPS module.
RHT03 is a sensor that measures relative humidity as a percentage and temperature, using 1 wire protocol.
In order to send/receive commands from the ground station, we needed a simple communication protocol with enough bandwidth and high data transmission rate. So we used Zigbee IEEE 802.15.4 protocol to communicate with the ground station .
Step 3: Cameras and Live Streaming System
A Raspberry PI (Microcomputer) Model B was used with Raspian distribution to execute our mission. The team started with connecting Raspberry PI to the internet using 3.5G USB Modem and a Raspian package called "Sakis3g" with Vodafone VPN which has the ability to connect Raspberry PI to the internet. At that juncture, three USB cameras were connected to Raspberry PI using powered USB HUB.
Using Raspian package called "AVCONV" which is an upgraded version of the multimedia package "FFMPEG" , the cameras functions run as follows:
- The first camera is for taking snapshots every one second.
- The second camera is for video recording.
- Third camera for live streaming to RTMP Server hosting on onyxservers.com which broadcasts the RTMP channel to which the third camera is transmitting live feed.
Conducive to work with the three cameras simultaneously, and as soon as the Raspberry Pi device is launched, the team modified the startup Linux file .bashrc, in order to execute the following commands:
- A command to connect the 3g modem.
- “.1 & .2 & .3 &”
This command is intended to execute files named .1, .2 and .3 , and separate processes so that the next execution is not delayed until the former one terminates to commence his own execution.
- The first file .1 contains the Image Capturing command, inside a loop, so as to handle any crash that might occur during the course of execution.
- The second file .2 which similarly uses a loop and contains the video recording command.
- Lastly the third file .3 contains the live streaming command encapsulated in a loop as well.
Attached are the bash scripts in the raspberry pi "raspberry pi scripts.sh" and our live video streaming trials "Live Streaming Team .pdf"
Step 4: Launching System
The launching procedures for can-sat systems usually are executed using one of the following models: Rocket model, RC plane model, Balloon model, Dropping from high raised building. In our case we chose the best model which is the first by default, however due to the lack of resources we could not afford launching a chemical rocket so we used the alternative water rocket model as our approach.
1. Theory of Operation
This rocket type uses water as its reaction mass, the pressure vessel (rocket engine) is usually a plastic soft drink bottle. The water is forced out by a pressurized gas, typically compressed air. To achieve high launching altitude, there are multiple approaches that use the water rocket model: Multi-bottle Single stage rockets, Multi-stage rocket, and single stage single bottle rocket.
After several experiments, we decided to work on single bottle model, as the multi-stage and multi-bottle approaches seemed to need additional resources to success that we already did not have. For example, the multi-bottle rocket can be unreliable, as according to the sensitivity of the initial conditions assumed in Lorenz Theorem, any tiny failure in sealing the rocket can cause the different parts to separate, which may off course cause the rocket to veer.
Due to the lack of resources we already abandoned multi-bottle and multi-stage designs, however that did not stop us from trying to approach the best possible output with the single-bottle system. So through many experiments we reached the following results that could imply at any 2 litre soft plastic bottle can be used as a water rocket:
- The percentage of water inside the bottle, ranging from 30% to 40% of the size of the bottle.
- The compression ratio inside the bottle, 7-8 bar.
- The use of mixed salt and water, increases the altitude.
- The use of mixed Soap and water, increases the duration of thrust.
The forces that act on the rocket as shown on the figure are as follows: thrust, drag, lift and weight.
Thrust: is created by the compressed air, opposing the drag.
Drag: imagine sticking your hand out the window of a moving car, the force that pushes your hand back is the drag, and it works on slowing the rocket down when the thrust quits.
Lift: according to Newton's laws and Bernoulli's principal, the lift force is proportional to the square of the velocity as the rocket moves.
Weight: rockets with less weight, requires less thrust.
Center of Gravity and Center of Pressure: Every stable aerodynamic object should have the center of gravity above the center of pressure.
3. Parachute Function and Design
All model rockets require a recovery system to slow their descent and return them safely to the ground. The most common type of recovery system is the parachute. The parachute may be made from thin plastic or cloth. The parachute is expelled from the body tube by the ejection charge of the rocket motor after a delay to allow the rocket to reach apogee and be traveling at a relatively slow speed.
The key design parameters usually are the drag Coefficient, area and the suitable design. The area can be estimated from the following equation:
where Ap is the area of the parachute, is the density of material, V descending velocity, Cd drag coefficient.
The parachute is placed in the top volume of the rocket with a servo motor and a spring to push the parachute out the rocket to be free to open. The servo motor takes the signal from the system based on accelerometer and gyroscope measurements to turn over and release the rubber band that frees the cone to release the parachute.
Step 5: Ground Station
Ground Station is a desktop application to communicate with can-sat over x-bee module .
Visual studio with c# programming language is used to develop the application in addition to Microsoft access data base engine to store the data and measurement received.
The program is divided into some functions which leads to sequence of procedures:
- Establish communication channel over serial port with x-bee module
- Receive raw data from the can-sat
- Separate the data and store it into database
- Display the stored data over data grid
- Display video streaming throw an embedded browser
Step 6: Conclusion
We presented our satellite system that composed of three fundamental subsystems: Ground-station, Communication System, and satellite body. The ground-station was a C# desktop application responsible for controlling the satellite and representing the data received live from the satellite and plotting the data in graphs to make the changes clear to the observer. The communication system was a multi-component system consisting of two main components: Zigbee communication Protocol and live-streaming through world wide web network via a 3G coverage embedded into the satellite. And the last subsystem was the satellite's body holding two controllers: Arduino and Rasbperry-Pi Model B reading measurements from humidity, temperature, pressure, GPS, and three web cameras recording and streaming videos, images, and sensors measurement to the ground station via the communication protocols.