Difference between revisions of "Flight Computer"
m (→Spiral Details: formatting) |
(updated the software section to reflect the current status.) |
||
Line 11: | Line 11: | ||
Spiral 1 - Design | Spiral 1 - Design | ||
− | I have | + | I have acquired an Arduino Uno board and just ordered two pressure sensors (so I can break one by accident later). The idea is to use a [http://en.wikipedia.org/wiki/Spiral_model spiral development model] to incrementally increase the features and capabilities of this flight computer. |
See the '''Future Design''' Section below for the breakdown of the spirals. | See the '''Future Design''' Section below for the breakdown of the spirals. | ||
Line 18: | Line 18: | ||
==Hardware== | ==Hardware== | ||
* [http://arduino.cc/en/Main/ArduinoBoardUno Arduino Uno] - [http://www.atmel.com/dyn/resources/prod_documents/doc8161.pdf datasheet] | * [http://arduino.cc/en/Main/ArduinoBoardUno Arduino Uno] - [http://www.atmel.com/dyn/resources/prod_documents/doc8161.pdf datasheet] | ||
− | * [http://www.sparkfun.com/products/8161 SCP1000 | + | * [http://www.sparkfun.com/products/8161 SCP1000 MEMS Pressure Sensor] - [http://www.sparkfun.com/datasheets/Components/SCP1000-D01.pdf datasheet] |
==Software== | ==Software== | ||
− | + | I finally found a [http://dl.dropbox.com/u/4961781/scp1000_operate_ver5.pde sample code] that does not give me garbage results. The pressure seems to be fairly realistic, although a bit on the low side. Right now I'm getting a pressure reading of 99kPa which is a little low. However my temperature is reading 40C at room temperature. Putting the sensor and Arduino into a freezer I saw the temperature drop by approximately 40C, as expected, so this might just be an offset issue. More testing is necessary to figure out the issue. | |
− | + | ||
=Future Design= | =Future Design= | ||
==Components/Features== | ==Components/Features== | ||
− | * Atmospheric | + | * Atmospheric Modeling |
* Inertial Measurements | * Inertial Measurements | ||
** Accelerometer | ** Accelerometer |
Revision as of 13:03, 22 October 2011
Creator: |
Contents
[hide]Overview
This is a flight computer meant to go into a rocket. It is based on an Arduino micro-controller and will eventually be quite fancy.
Current Status
Spiral 1 - Design
I have acquired an Arduino Uno board and just ordered two pressure sensors (so I can break one by accident later). The idea is to use a spiral development model to incrementally increase the features and capabilities of this flight computer.
See the Future Design Section below for the breakdown of the spirals.
Current Design
Hardware
Software
I finally found a sample code that does not give me garbage results. The pressure seems to be fairly realistic, although a bit on the low side. Right now I'm getting a pressure reading of 99kPa which is a little low. However my temperature is reading 40C at room temperature. Putting the sensor and Arduino into a freezer I saw the temperature drop by approximately 40C, as expected, so this might just be an offset issue. More testing is necessary to figure out the issue.
Future Design
Components/Features
- Atmospheric Modeling
- Inertial Measurements
- Accelerometer
- Roll Measurements
- GPS
- Parachute deployment
- Telemetry
- Control via Bluetooth/Wifi
Knowledge Points
- Data Logging
- Communication with a ground station (telemetry)
- Communication with a cell phone controller
- GPS
- Flight state sensing
- Control Algorithms
- Simulation Platform
Spiral Details
- Spiral 1:
- Make atmospheric measurements by recording the static pressure and converting it to an associated altitude measurement
- The SCP1000 Pressure sensor also measures temperature so this improves the accuracy of the measurement
- Spiral 2:
- Spirals 2a and 2b can be done concurrently and I have not prioritised these
- Spiral 2a:
- Measure 3-axis acceleration and 3-axis roll rates to form a full Inertial Measurement Unit
- This step will most likely include some sort of Kalman Filtering
- Spiral 2b:
- Use the altitude measurement (and the IMU measurement) to trigger other events based on the different stages of flight
- This includes deploying the drogue parachute at apogee and the main parachute at some present height above ground (typically 500 ft to 700 ft)
- Spiral 3:
- Add GPS measurements into the mix.
- Spiral 4:
- Telemetry. This will be the hardest step as I know the least about RF.
- Spiral 5:
- Remote status, arming, etc.
- I want to implement this in Android such that the remote for this functionality is a cell-phone but the general idea is to make is as easy and portable as possible so several different platforms will be looked at (Blackberry, iOS, Palm). (Reminder to self: this is a good place to learn C++ and Android programming)
- Spiral 6:
- Multi-stage/Multi-controller operation (see this link for RF communication between Arduinos)
- Things I haven't thought of yet.