Wish List - Hardware - Atmospheric

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(Variometer Page - transcluded from wishlist)
(rewrite with more information)
 
Line 1: Line 1:
 
{{Hardware Wishlist}}
 
{{Hardware Wishlist}}
*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.  
+
Add a digital barometer (pressure sensor), which could also be used as altimeter (height sensor), thermometer and hygrometer (humidity sensor).
  
 +
==Uses==
 +
*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.
 +
*Altimeter, much more detailed than the GPS data. If the current pressure at sea level is downloaded from a weather site it could even be very accurate. In theory it would even be possible to enhance the accuracy of the GPS if the height is known (one degree of freedom less).
 +
*Variometer, could be software based dependant on the altimeter data (and maybe also on accelerometer data for more detail). See also [[Variometer]].
 +
*Added value for the accelerometers, as the altimeter has a RMS of 25 cm the difference between arms low and arms high could clearly be measured.
  
 +
==Hardware parts==
 +
*[http://www.bosch-sensortec.com/content/language1/html/3477.htm Bosch SMD500 digital pressure sensor: altimeter and barometer], 2.2 - 3.6V, I2C interface, 5 x 5 x 1.5 mm, included temperature sensor
 +
*[http://www.sensirion.com/en/02_sensors/03_humidity/00_humidity_temperature_sensor/02_humidity_sensor_sht11.htm Sensirion SHT1x digital humidity sensor], 2.4 - 5.5V, I2C like interface, 5 x 7.5 mm, included temperature sensor
  
 
+
Both are quite small and have a low power usage. The pressure sensor has more uses than the humidity sensor, and has a real I2C interface instead of the not fully I2C compatible interface of the SHT1x, so should be given more priority. (IMHO [[User:PTT|PTT]] 23:56, 14 August 2007 (CEST))
{{:Variometer}}
+

Latest revision as of 23:56, 14 August 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 (pressure sensor), which could also be used as altimeter (height sensor), thermometer and hygrometer (humidity sensor).

[edit] Uses

  • 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.
  • Altimeter, much more detailed than the GPS data. If the current pressure at sea level is downloaded from a weather site it could even be very accurate. In theory it would even be possible to enhance the accuracy of the GPS if the height is known (one degree of freedom less).
  • Variometer, could be software based dependant on the altimeter data (and maybe also on accelerometer data for more detail). See also Variometer.
  • Added value for the accelerometers, as the altimeter has a RMS of 25 cm the difference between arms low and arms high could clearly be measured.

[edit] Hardware parts

Both are quite small and have a low power usage. The pressure sensor has more uses than the humidity sensor, and has a real I2C interface instead of the not fully I2C compatible interface of the SHT1x, so should be given more priority. (IMHO PTT 23:56, 14 August 2007 (CEST))

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.