Subversion Repositories FlightCtrl

Rev

Rev 1969 | Rev 1979 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1969 Rev 1970
Line 210... Line 210...
210
extern volatile uint16_t accNoisePeak[2];
210
extern volatile uint16_t accNoisePeak[2];
Line 211... Line 211...
211
 
211
 
212
/*
212
/*
213
 * Air pressure.
213
 * Air pressure.
214
 * The sensor has a sensitivity of 45 mV/kPa.
214
 * The sensor has a sensitivity of 45 mV/kPa.
-
 
215
 * An approximate p(h) formula is = p(h[m])[kPa] = p_0 - 11.95 * 10^-3 * h
-
 
216
 * p(h[m])[kPa] = 101.3 - 11.95 * 10^-3 * h
-
 
217
 * 11.95 * 10^-3 * h = 101.3 - p[kPa]
215
 * An approximate p(h) formula is = p(h[m])[Pa] = p_0 - 11.95 * 10^-3 * h
218
 * h = (101.3 - p[kPa])/0.01195
216
 * That is: dV = 45 mV * 11.95 * 10^-3 dh = 0.53775 mV / m.
219
 * That is: dV = -45 mV * 11.95 * 10^-3 dh = -0.53775 mV / m.
-
 
220
 * That is, with 38.02 * 1.024 / 3 steps per mV: -7 steps / m
-
 
221
 
-
 
222
Display pressures
-
 
223
4165 mV-->1084.7
-
 
224
4090 mV-->1602.4   517.7
-
 
225
3877 mV-->3107.8  1503.4
-
 
226
 
-
 
227
4165 mV-->1419.1
-
 
228
3503 mV-->208.1
-
 
229
Diff.:   1211.0
-
 
230
 
-
 
231
Calculated  Vout = 5V(.009P-0.095) --> 5V .009P = Vout + 5V 0.095 --> P = (Vout + 5V 0.095)/(5V 0.009)
-
 
232
4165 mV = 5V(0.009P-0.095)  P = 103.11 kPa  h = -151.4m
-
 
233
4090 mV = 5V(0.009P-0.095)  P = 101.44 kPa  h = -11.7m   139.7m
-
 
234
3877 mV = 5V(0.009P-0.095)  P = 96.7   kPa  h = 385m     396.7m
-
 
235
 
-
 
236
4165 mV = 5V(0.009P-0.095)  P = 103.11 kPa  h = -151.4m
-
 
237
3503 mV = 5V(0.009P-0.095)  P = 88.4   kPa  h = 384m  Diff: 1079.5m
-
 
238
Pressure at sea level: 101.3 kPa. voltage: 5V * (0.009P-0.095) = 4.0835V
217
 * That is, with 1.024 / 3 steps per mV: 0.183552 steps / m
239
This is OCR2 = 143.15 at 1.5V in --> simple pressure =
-
 
240
*/
218
 */
241
 
219
#define AIRPRESSURE_SUMMATION_FACTOR 54
242
#define AIRPRESSURE_SUMMATION_FACTOR 14
220
#define AIRPRESSURE_FILTER 8
243
#define AIRPRESSURE_FILTER 8
221
// Minimum A/D value before a range change is performed.
244
// Minimum A/D value before a range change is performed.
222
#define MIN_RAWPRESSURE (200 * 2)
245
#define MIN_RAWPRESSURE (200 * 2)
223
// Maximum A/D value before a range change is performed.
246
// Maximum A/D value before a range change is performed.
Line 227... Line 250...
227
#define MAX_RANGES_EXTRAPOLATION 240
250
#define MAX_RANGES_EXTRAPOLATION 240
Line 228... Line 251...
228
 
251
 
229
#define PRESSURE_EXTRAPOLATION_COEFF 25L
252
#define PRESSURE_EXTRAPOLATION_COEFF 25L
Line -... Line 253...
-
 
253
#define AUTORANGE_WAIT_FACTOR 1
-
 
254
 
230
#define AUTORANGE_WAIT_FACTOR 1
255
#define ABS_ALTITUDE_OFFSET 108205
231
 
256
 
232
extern volatile uint16_t simpleAirPressure;
257
extern volatile uint16_t simpleAirPressure;
233
/*
258
/*
234
 * At saturation, the filteredAirPressure may actually be (simulated) negative.
259
 * At saturation, the filteredAirPressure may actually be (simulated) negative.