Info for accessing G-Force/Airspeed/Altitude sensors with your microcontroller - Page 11 - RC Groups
Thread Tools
Nov 27, 2013, 12:56 AM
High-power Rocket Gliders
iter's Avatar
Thank you John. Ticket #981430.

Ari.
Sign up now
to remove ads between posts
Sep 01, 2014, 07:43 PM
Eduardo

Airspeed


Hi folks, i am using eagletree airspeed meter on four of my UAV planes.
I am using the sensor in RAW mode but i get some problem when temperature change.

When i start the sensor i get the CALIB value (RAW data with 0m/s) then i use a formla to convert the raw data to airspeed.

It work fine but some minutes after i start the UAV the temperature goes up and the CALIB valuer used as offset change with temperature.

Anyone know if the sensor do some temperature compensation when using in third part mode ?

Regards.


Quote:
Originally Posted by CorvusCorax
Hi

I found the following formula somewhere on the net to convert the airspeed sensor V3 "raw mode" (aka eagle tree mode) reading into airspeed in m/s:

V[m/s IAS] = 1.0 * sqrt( abs(X[raw] - X[calib]) )

where X[raw] is the current sensor reading and X[calib] is the zero point pressure reading of the sensor, measured when stationary (i.e. at powerup)
which can then be converted into any other unit, for example knots :

V[K IAS] = 0.514444 * V[m/s IAS]
etc...

using this would have the huge advantage of not having to switch modes on the sensor (especially since there is no documented way to "ask" the sensor which 3rd party mode it is in)

I have had good results with that formula that seem to match my reference measurements, at least at low speeds, but I thought it might be a good idea to ask you for confirmation if this is correct or if I'm missing something.

cheers

CorvusCorax
Feb 11, 2015, 12:45 AM
Registered User
niek's Avatar
Airspeed v3

This thread read multiple times.,.

Default non third party mode is pascal airpressure ?

speedsensor V3 --> adres 0xEA (not 0xE8 o next line V3 text)
adress xEA --> 11110101 --> rsh --> 01110101 --> x75

Read 2 bytes on reg 07 and 08
Finally got some (changing) figures now.
This has to be nulled lika qyro calibration?

Eagle tree airspeed v3 tst 20150210
0 60375
1 60375
2 60375
3 60375
4 60375
5 60375
6 60375
7 60375
8 60375
9 60375
10 60375
11 60375
12 60375
13 60375
14 60375
15 60375
16 60375
17 60375
18 60375
19 60375
20 60375
21 60375
22 60375
23 60375
24 60375
25 60375
26 60375
27 60375
28 13830
29 13830
30 13318
31 13574
32 13318
33 15110
34 58886
35 7176
36 48391
37 12551
38 42758
39 15622
40 13062
41 13062
42 13062
43 13062
44 13062
45 13062
46 13318
47 13062
48 13318
49 14086
50 13062
51 26374
52 21766
53 13062
54 12550
55 13318
56 12806
57 12038
58 12294
59 13062
60 13062
61 13062
62 13062
63 12294
64 12038
65 12806
66 13062
67 13062
68 13062
69 13318
70 13318
71 12550
72 12294
73 12038
74 11526
75 12294
76 12550
77 12806
78 13062
79 13318
80 14086
81 13574
82 13318
83 13062
84 17414
85 56582
86 44039
87 28423
88 8456
89 42247
90 1544
91 20743
92 13318
93 13318
94 13062
95 13318
96 13062
97 13062
98 13062
99 13318
100 13318
101 13574
102 13574
103 13318
104 13318
105 13318
Last edited by niek; Feb 11, 2015 at 01:04 AM.
Feb 11, 2015, 10:00 AM
Registered User
niek's Avatar
Reading this tread, I find 2 ways to convert the 2 bytes to (u)int.

byte0 << 8 + byte1
byte0 + (byte1 <<8)
Feb 12, 2015, 01:02 AM
Registered User
niek's Avatar
got a number 12000 with big variance or a number 1579 with low variance at rest.

The sensor communication is difficult.
Often much errors no connection at 400kz,
sometimes no connection on 100khz and has to power toggle.
Many glitches.

Im going to skip the values at the times when i2c errorcount went up.
Feb 17, 2015, 03:44 AM
Registered User
niek's Avatar

airspeedsensor V3


Big response here..

5 problems
#1 documented address 0xEA is actually address 0x75 in most I2C implementations.
#2 unclear edianness of the 2 bytes.
#3 no pullups in the sensor, on the two I2C lines are pull-up resistors mandatory, 2.2k to 10 k ohm
#4 100 khz works, 200khz or 400khz doesnt even with the external pull up resistors.
#5 leak connection hose

My initial value (o kmh) is about 1800 pascal.
about 2500 pascal reads about 100 kmh on the 8-display.

Attached my testcode for arduino uno.

Serial debug monitor shows:
first column: pascal pressure
2nd column: I2c error count
Last edited by niek; Feb 17, 2015 at 03:57 AM.
Mar 31, 2015, 04:52 PM
Xtreme Power Systems
Is there a list of I2C addresses for every Eagletree sensor made? I am making a I2C analyzer and would like to make it possible to talk to the various Eagletree sensors.
Apr 01, 2015, 01:08 AM
Registered User
schumixmd's Avatar
Quote:
Originally Posted by JimDrew
Is there a list of I2C addresses for every Eagletree sensor made? I am making a I2C analyzer and would like to make it possible to talk to the various Eagletree sensors.
Doesn't it mean an analyzer should find by itself the address of the device?
Jun 12, 2015, 06:19 AM
Registered User
Hello,
Here is a little test code for the airspeed in third party mode and a teensy3.1.
The airspeed address i used is the one i found using a i2c scanner on the teensy. Its not 0xEA but 0x75 like niek said before.
Code:
#include <i2c_t3.h>

#define address 0x75 
#define airspeed Wire

void setup() {
// Disable internal pullups, 10Kohms are on the breakout

  airspeed.begin(I2C_MASTER, 0, I2C_PINS_18_19, I2C_PULLUP_INT, I2C_RATE_100);
  Serial.begin(115200); //9600 changed 'cos of timing?
  delay(100);
}
void loop()
{  
  byte data[2];
  signed short reading = 0xFFFF; 
  
  airspeed.beginTransmission(address);
  airspeed.write((byte) 0x07);
  airspeed.endTransmission();
  delay(10);
  airspeed.beginTransmission(address);
  delay(10);
  airspeed.requestFrom(address, (int) 2);
  delay(10);
  data[0] = airspeed.read();
  delay(10);
  data[1] = airspeed.read();
  delay(10);
  reading = *((signed short *)(&data[0])); 
  airspeed.endTransmission();
  Serial.print(data[0]);
  Serial.print(", ");
  Serial.print(data[1]);
  Serial.print(", ");
  Serial.println(reading);
  
  delay(250);  
}
I'm getting reasonnable values when i blow on it.
Jan 13, 2017, 09:00 PM
Registered User

Did anyone figure out how to use this with an arduino?


Good Evening Everyone,

Did anyone figure out how to get airspeed and altimeter data from the microsensor V3 using an arduino uno? I'm having a hard time. I tried using the code below and I'm getting weird numbers like 1524 at rest. Can someone assist me with this?

#define SENSOR_ADDRESS 0xEA
#define ALTIMETER_ADDRESS 0xE8
#define GFORCE_ADDRESS 0xA8

#include <Wire.h>
#include <I2cMaster.h>

TwiMaster AIRSPEED_SENSOR(true);

void setup() {
Serial.begin(9600);
}

long airspeed_update(void) {
static struct {
union { int16_t val; uint8_t raw[2];
} airspeed16;
} airspeedv3;

long airsp;

if(AIRSPEED_SENSOR.start(SENSOR_ADDRESS | I2C_WRITE)) {
delay(10);
AIRSPEED_SENSOR.write(0x07);
delay(10);
AIRSPEED_SENSOR.stop();
}

if(AIRSPEED_SENSOR.restart(SENSOR_ADDRESS | I2C_READ)) {
delay(10);
airspeedv3.airspeed16.raw[0]=AIRSPEED_SENSOR.read(false);
delay(10);
airspeedv3.airspeed16.raw[1]=AIRSPEED_SENSOR.read(true);
delay(10);
AIRSPEED_SENSOR.stop();
}

airsp=airspeedv3.airspeed16.val;
return airsp;
}

void loop() {
int airspeed = airspeed_update();
Serial.println(airspeed);
delay(50);
}
Feb 27, 2017, 04:45 PM
Telemetry Geek
technomad's Avatar
Does the Eagle Tree Vector/MicroVector GPS/Magnetometer V2 (product code VEC-GPS-V2) [http://www.eagletreesystems.com/inde...product_id=149] work directly (or with minor cable pinout swapping /modification) with Spektrum telemetry receivers/modules e.g. AR6600T, AR8010T, TM1000?

If not, it seems it could likely be made to work without too much difficulty, since:

1. Spektrum uses I2C for XBUS telemetry

2. EagleTree uses I2C at least for the microsensors like altitude, and the GPS V2 can be daisy chained with sensors like altitude, alerter, InfoPanel, etc., leading one to assume that the ET GPS uses I2C too.

3. Spektrum telemetry PDF spec & github 'spektrumTelemetrySensors.h' both show I2C addresses & device type definitions both show:
#define TELE_DEVICE_GPS_LOC (0x16) // GPS Location Data (Eagle Tree)
#define TELE_DEVICE_GPS_STATS (0x17) // GPS Status (Eagle Tree)
Notice Eagle Tree specifically identified in brackets at the end of the above lines

I would like to use the Eagle Tree GPS instead of the Spektrum GPS since:
1. It's about half the price ($57 ET vs $100 Spektrum)
2. The ET GPS V2 supports GLONASS satellites for quicker/more accurate GPS fixes, whereas I can't find any documentation to suggest that the Spektrum GPS supports GLONASS in addition to regular USA GPS
Feb 27, 2017, 04:47 PM
Telemetry Geek
technomad's Avatar
Same question as above for other EagleTree microsensors?

Link: http://www.eagletreesystems.com/inde...tegory&path=64.
Mar 28, 2017, 11:43 AM
Registered User
Has anyone been able to use a raspberry pi to retrieve the airspeed data?
I am very new to this and am having a hard time finding any good resources for this.
Thanks!


Thread Tools

Similar Threads
Category Thread Thread Starter Forum Replies Last Post
Wanted WTB Eagletree Altitude and Airspeed micro sensors hcopter Aircraft - General - Miscellaneous (FS/W) 0 Oct 20, 2007 12:02 PM
Discussion NOW SHIPPING: Airspeed, Altitude and lots more new sensors for the MicroPower billpa Eagle Tree Systems 41 Jul 31, 2007 02:02 PM
Discussion Eagle Tree announces Airspeed, Altitude and lots more new sensors for the MicroPower billpa Batteries and Chargers 14 May 28, 2007 07:28 PM
Discussion Eagle Tree announces Airspeed, Altitude and lots more new sensors for the MicroPower billpa Product Announcements 4 May 27, 2007 09:56 PM
Alert Caution - Web Page with your info not secure RCTyp HobbyKing 5 Mar 22, 2007 03:25 PM