Wish List - Hardware - Atmospheric

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(Vario - Hardware)
(Variometer Page - transcluded from wishlist)
Line 4: Line 4:
  
  
===Variometer===
 
The variometer signal is simply the derivative of the barometer signal. It gives a much more accurate vertical speed signal than is possible with GPS. It would probably be best to filter and differentiate the analog pressure signal and then digitize. This kind of measurement is used by the flee flying community (hanggliding, paragliding, ballooning). A device that allows teams of pilots to share position and speed (with accurate vertical speed) data would be lots of fun.
 
[http://en.wikipedia.org/wiki/Variometer Variometer Reference]
 
  
====Hardware====
+
{{:Variometer}}
 
+
References to applicable transducers:
+
*[http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MPX4100 Freescale MPX4100 (was Motorola)]
+
 
+
====Signal Conditioning====
+
 
+
The absolute pressure signal needs to be:
+
#Differentiated
+
#Filtered
+
 
+
*Operational amplifiers in the following configuration:
+
 
+
====A/D====
+
We would need two A/D channels:
+
#Absolute Pressure - 12 bit minimum (calc needed)
+
#Differential Pressure - 10 bit minimum (calc needed)
+
 
+
====Driver Code====
+
The driver code samples the input channels and converts the input values from pressure to altitude:
+
 
+
The relationship between static pressure and pressure altitude is defined in terms of the properties of the International Standard Atmosphere. Up to 36,090 ft this can be expressed as:
+
 
+
<math>
+
z =\left (1-\left(\frac{P_{ind}}{101.325}\right)^{0.190263} \right ) \times \frac{87.828}{0.00198122}
+
</math>
+
 
+
Where:
+
 
+
*z = pressure altitude (meter)
+
*<math>P_{ind}</math> = static pressure (kPa)
+
 
+
These values are provided to listeners in multiple applications.
+
The sample rate should be application adjustable to conserve power.
+
 
+
====Application code====
+
Applications can use the altitude data or combine the data with GPS and accelerometer data.
+
Commonly Kalman filter/observer techniques are used to combine data from multiple sensor types into a high accuracy low noise estimate of position and speed in 3 axis. (ref needed)
+
 
+
=====Variometer Code=====
+
Combine measurements as described above.
+
Apply knowledge about the aircraft dynamics to increase accuracy:
+
*Total Energy compensation
+
*Relative Netto Compensation - use accelerometer data to sense when glider is turning in a thermal
+
 
+
'''User Interface'''
+
 
+
*Display speed data in ergonomic manner.
+
*Display speed for pilots in group.
+
*Visual and audible guidance to pilot with best climb rate (given reasonable proximity)
+

Revision as of 21:20, 22 July 2007

Hardware wishes warning! This article or section documents a Hardware Wish List item, the features described here may or may not be implemented in future devices.
  • Add a Digital Barometer, Compass and Elevation Meter, as well as an integrated link to online weather services would make for a fine fully functional world thermometer and weather forecaster. Visual Interface could be very nice if show as an old fashion meter next to an alpha numeric display of info.



Wishes warning! This article or section documents one or more OpenMoko Wish List items, the features described here may or may not be implemented in the future.

Contents

Variometer

The variometer signal is simply the derivative of the barometer signal. It gives a much more accurate vertical speed signal than is possible with GPS.This kind of measurement is used by the free flying community (hanggliding, paragliding, ballooning). A device that allows teams of pilots to share position and speed (with accurate vertical speed) data would be lots of fun. Variometer Reference

Hardware

It could be best to filter and differentiate the analog pressure signal and then digitize. Another possibility is to differentiate the height in software. A robust solution is to compute a linear regression of a sliding window of height samples. The height samples can be computed using integer arithmetic by a pressure->altitude lookup table followed by interpolation. Maybe it's even possible to add detail based on the accelerometers.

References to applicable transducers:

Hardware solution

Signal Conditioning

The absolute pressure signal needs to be:

  1. Differentiated
  2. Filtered
  • Operational amplifiers in the following configuration:

See the signal conditioning example in this Application Note
It might be best to use a single chip solution if we can find the right fit e.g.: Max1464

The software solution can simply be done in the variometer application with some very simple math.

A/D

We would need two A/D channels:

  1. Absolute Pressure - 12 bit minimum (assuming a operating range of 0 - 12000 meter 12 bits would give resolution of 2.9304 m)
  2. Differential Pressure - 10 bit minimum (assuming a range of +-20m/s 10 bits would give a resolution of 0.0391 m/s)

Extending 8 bit sampling to a usable range for pressure sensing

Driver Code

The driver code samples the input channels and converts the input values from pressure to altitude:

The relationship between static pressure and pressure altitude is defined in terms of the properties of the International Standard Atmosphere. Up to 36,090 ft this can be expressed as:

<math> z =\left (1-\left(\frac{P_{ind}}{101.325}\right)^{0.190263} \right ) \times \frac{87.828}{0.00198122} </math>

Where:

  • z = pressure altitude (meter)
  • <math>P_{ind}</math> = static pressure (kPa)

These values are provided to listeners in multiple applications. The sample rate should be application adjustable to conserve power.

Application code

Applications can use the altitude data or combine the data with GPS and accelerometer data. Commonly Kalman filter/observer techniques are used to combine data from multiple sensor types into a robust(with respect to sensor noise), high accuracy estimate of position and speed in 3 axis.

References:


Variometer Code

Combine measurements as described above. Apply knowledge about the aircraft dynamics to increase accuracy:

  • Total Energy compensation
  • Relative Netto Compensation - use accelerometer data to sense when glider is turning in a thermal

User Interface

  • Display speed data in ergonomic manner.
  • Display speed for pilots in group.
  • Visual and audible guidance to pilot with best climb rate (given reasonable proximity)
  • Possible integration with mapping application

Server Based Services

Auto discovery service

  • Pilots with Openmoko based variometers can choose to publish their status on a central service.
  • Based on location - the system will notify pilots of the presence of others that can participate in group flying.


Freerunner

Maybe it is possible to do that on the Freerunner ?

Connection :

  • SPI or I2C (or through the debug board connector ?)
  • HID device (ex: Oak USB Sensor Atmospheric Pressure [toradex.ch])

The page I2C_Pressure_Sensor describes how to add a pressure sensor connected to the I2C bus.

Personal tools
Hardware wishes warning! This article or section documents a Hardware Wish List item, the features described here may or may not be implemented in future devices.
  • Add a Digital Barometer, Compass and Elevation Meter, as well as an integrated link to online weather services would make for a fine fully functional world thermometer and weather forecaster. Visual Interface could be very nice if show as an old fashion meter next to an alpha numeric display of info.



Wishes warning! This article or section documents one or more OpenMoko Wish List items, the features described here may or may not be implemented in the future.

Variometer

The variometer signal is simply the derivative of the barometer signal. It gives a much more accurate vertical speed signal than is possible with GPS.This kind of measurement is used by the free flying community (hanggliding, paragliding, ballooning). A device that allows teams of pilots to share position and speed (with accurate vertical speed) data would be lots of fun. Variometer Reference

Hardware

It could be best to filter and differentiate the analog pressure signal and then digitize. Another possibility is to differentiate the height in software. A robust solution is to compute a linear regression of a sliding window of height samples. The height samples can be computed using integer arithmetic by a pressure->altitude lookup table followed by interpolation. Maybe it's even possible to add detail based on the accelerometers.

References to applicable transducers:

Hardware solution

Signal Conditioning

The absolute pressure signal needs to be:

  1. Differentiated
  2. Filtered
  • Operational amplifiers in the following configuration:

See the signal conditioning example in this Application Note
It might be best to use a single chip solution if we can find the right fit e.g.: Max1464

The software solution can simply be done in the variometer application with some very simple math.

A/D

We would need two A/D channels:

  1. Absolute Pressure - 12 bit minimum (assuming a operating range of 0 - 12000 meter 12 bits would give resolution of 2.9304 m)
  2. Differential Pressure - 10 bit minimum (assuming a range of +-20m/s 10 bits would give a resolution of 0.0391 m/s)

Extending 8 bit sampling to a usable range for pressure sensing

Driver Code

The driver code samples the input channels and converts the input values from pressure to altitude:

The relationship between static pressure and pressure altitude is defined in terms of the properties of the International Standard Atmosphere. Up to 36,090 ft this can be expressed as:

<math> z =\left (1-\left(\frac{P_{ind}}{101.325}\right)^{0.190263} \right ) \times \frac{87.828}{0.00198122} </math>

Where:

  • z = pressure altitude (meter)
  • <math>P_{ind}</math> = static pressure (kPa)

These values are provided to listeners in multiple applications. The sample rate should be application adjustable to conserve power.

Application code

Applications can use the altitude data or combine the data with GPS and accelerometer data. Commonly Kalman filter/observer techniques are used to combine data from multiple sensor types into a robust(with respect to sensor noise), high accuracy estimate of position and speed in 3 axis.

References:


Variometer Code

Combine measurements as described above. Apply knowledge about the aircraft dynamics to increase accuracy:

  • Total Energy compensation
  • Relative Netto Compensation - use accelerometer data to sense when glider is turning in a thermal

User Interface

  • Display speed data in ergonomic manner.
  • Display speed for pilots in group.
  • Visual and audible guidance to pilot with best climb rate (given reasonable proximity)
  • Possible integration with mapping application

Server Based Services

Auto discovery service

  • Pilots with Openmoko based variometers can choose to publish their status on a central service.
  • Based on location - the system will notify pilots of the presence of others that can participate in group flying.


Freerunner

Maybe it is possible to do that on the Freerunner ?

Connection :

  • SPI or I2C (or through the debug board connector ?)
  • HID device (ex: Oak USB Sensor Atmospheric Pressure [toradex.ch])

The page I2C_Pressure_Sensor describes how to add a pressure sensor connected to the I2C bus.