I meant to post about the recorded data as its own development thread earlier, but I've been busy...
Yesterday I tweaked the flash memory allocations for the firmware that is going into the pre-order Blue Ravens I'm prepping now.
The Blue Raven collects and records data at two different rates: 50 samples per second for most measurements, and 500 samples per second for measurements that can change that quickly. Both sets of data record a sync code at 1 msec resolution that ensures the data can be aligned properly when graphing together Here is the 500 sample/second list:
The high-rate data is recorded for up to 6.4 minutes, and the low-rate data is recorded for up to 22.4 minutes. The flash memory is split into 2 flights so that the altimeter can erase one bank to get ready for launch while keeping the most recent flight available for re-downloading.
Yesterday I tweaked the flash memory allocations for the firmware that is going into the pre-order Blue Ravens I'm prepping now.
The Blue Raven collects and records data at two different rates: 50 samples per second for most measurements, and 500 samples per second for measurements that can change that quickly. Both sets of data record a sync code at 1 msec resolution that ensures the data can be aligned properly when graphing together Here is the 500 sample/second list:
- Gyroscope X, Y, and Z rates
- X, Y, and Z accelerations, which uses the +/- 32G range acclerometer for any readings under 32 Gs, and the +/- 400G accelerometer for any other readings.
- Attitude quaternion (X, Y, Z axis terms and theta magnitude term). The attitude quaternion provides the full orientation of the altimeter relative to what it was at the pad
- Deployment output current. This is the combined current from all 4 outputs
- Aux analog voltage. There is an auxilliary analog input with its own plated through hole on the board for external sensors for chamber pressure, etc. The range is 0-2V full scale
- sync code
- Local time synchronized with your phone's time. Hours, minutes, seconds, and milliseconds.
- 3D inertial navigation upward velocity, computed from integrating data over time from the the gyroscope and accelerometer
- 3D inertial navigation down-range (DR) velocity, in the direction of the initial rocket tilt at the pad
- 3D inertial navigation cross-range (CR) velocity, in the direction perpendicular to the first 2 directions. The DR and CR velocities are combined to compute the horizontal velocity
- 3D inertial navigation altitude, in feet
- 3D inertial navigation down-range distance, in feet
- 3D inertial navigation cross-range distance, in feet
- Tilt angle. The angle between the upward direction and the rocket axis. This is calculated from the attitude quaternion and the measured direction of the first motion along the rail. This is directly useful for ensuring safety during airstarts.
- Future tilt angle. Uses the 3D inertial navigation horizontal and vertical velocity to predict what the tilt angle will be looking 3 seconds ahead, which can be useful for estimating tilt after a relatively long airstart ignition delay.
- Roll angle. A simple integration of the roll rates around the rocket axis (not derived from the quaternion attitude, so this value will keep going up as your rocket spins multiple revolutions). This will tell you how many times the rocket spun. Could be used in a who-had-straighter-fins competition
- Battery voltage, in mV
- Apo channel continuity voltage, in mV
- Main channel continuity voltage, in mV
- 3rd channel continuity voltage, in mV
- 4th channel continuity voltage, in mV
- Barometric pressure, in atm, with 1/50,000 atm resolution
- Temperature measured by the barometric pressure sensor, in degrees F with 2 decimal places
- Commands for 3 servo outputs (potential future capability)
- Flight event register for each deployment channel. Each channel has a list of conditions that checks during the flight, such as altitude above the pad is above a user threshold, or altitude above the pad is below a different user threshold, etc. There are 12 conditions that can change during the flight, and they are each recorded in the FER whether or not they are selected to be used to decide whether to fire the channel. Each of the 4 channels has its own set of user-defined thresholds, so each gets its own channel FER.
- AGL (baro-based) altitude less than user threshold AGL1 (used for main deployment)
- AGL (baro-based) altitude greater than user threshold AGL2 (used for airstarts)
- Tilt angle less than user threshold FANG1 (used for airstarts)
- Tilt angle greater than user threshold FANG2 (used for airstarts or secondary apogee charge logic)
- Future angle greater than user threshold FUTANG (can be used for airstarts)
- Time from liftoff detection less than user threshold TVAL1 (could be used for airstarts)
- Time from liftoff detection greater than user threshold TVAL2 (basic timer, deprecated for airstarts)
- Barometric velocity less than user threshold BVEL (used to detect apogee charge failure)
- Axial velocity less than user threshold VEL1 (airstarts or separation events or Mach lockout for baro-based deployments)
- Axial velocity greater than user threshold VEL2 (airstarts)
- Burnout counter greater than user threshold: (prevent deployments during motor burn, or multi-stage logic)
- Channel is armed. Default settings arm the drogue and main deployments at power up but airstarts and stage separations are armed remotely at the pad
- Flight event register for the rocket as a whole. These are additional conditions that are recorded and checked that don't depend on the individual thresholds selected for each channel.
- Liftoff detected
- Apogee detected (fault tolerant to sensor failure by voting baro sensor, gyros, and accels)
- Barometric pressure increasing
- Motor coast detected in burnout counter logic
- Apogee charge fired 1 second ago
- Main charge fired 1 second ago
- 3rd channel fired 1 second ago
- 4th channel fired 1 second ago
- Rocket is in a nominal ascent (a user-settable maximum tilt angle has not yet been exceeded since launch)
- Accel-only velocity check is less than zero (integrates only axial acceleration and assumes vertical flight)
- Inertial navigation vertical velocity less than zero (useful for exo-atmospheric flights where the gyro tilt angle may exceed 90 degrees before apogee)
The high-rate data is recorded for up to 6.4 minutes, and the low-rate data is recorded for up to 22.4 minutes. The flash memory is split into 2 flights so that the altimeter can erase one bank to get ready for launch while keeping the most recent flight available for re-downloading.