Gspd: 3D speed with GPS and altimeter

Development & General Chat for the superb openxvario project.

Moderator: rainer

Post Reply
modelvincent
Posts: 2
Joined: Fri May 24, 2019 1:10 pm
Country: -

Gspd: 3D speed with GPS and altimeter

Post by modelvincent »

Hi,

I have a problem with my oXs module.
I've made a module with GY86 module and Neo N8M (but same probleme with NEO N6M) GPS module.

After a flight, when I check my logs, they seems to be coherent, except for the GPS speed...
courbeSW.png

The GPS is placed on a SpeedWing from Jivaro-model, it's a racer, I fly during all the flight at full power ( :twisted: :twisted: :twisted: ) so i know that the ground speed is never going under 150km/h (and not 30km/h as calculated in the log).

It seems that the Gspd is only calculated with the distance between GPS points, but I've activated the GPS_SPEED_3D, A_GPS_IS_CONNECTED is YES, AIRSPEED_SENSOR_USE is NO_AIRSPEED, VSPEED_SOURCE is FIRST_BARO and FIRST_VARO_SENSOR_USE is GY86...

Is there something else to configure?

User avatar
Kilrah
Posts: 11109
Joined: Sat Feb 18, 2012 6:56 pm
Country: Switzerland

Re: Gspd: 3D speed with GPS and altimeter

Post by Kilrah »

GPS speed can be very unreliable on things that constantly change direction with high acceleration.

At least if you want to have a chance of it working well you need to make sure to configure the module to use the "airborne <4G" navigation model instead of the default one meant for slow and mostly 2D movements and will likely consider a lot of your model's moves as sensing errors and filter them out.
Carbo
Posts: 467
Joined: Fri Aug 02, 2013 6:55 pm
Country: Germany
Location: Freinsheim RP

Re: Gspd: 3D speed with GPS and altimeter

Post by Carbo »

Your log looks strange. Eventually there is an issue with antenna placement/bad reception. You can verify GPS signal quality with some changes in the code, to be able to see and log number of sats and PDOP.

Code: Select all

File openXsensor.ino: Change these lines


// ********************************* Calculate all fields that could be sent
void calculateAllFields () {

test1.value = GPS_numSat ;
 test1.available = true ;
test2.value = GPS_hdop;
 test2.available = true ; 
 
 
File oXs_gps.cpp: uncomment third line:
 
 
uint8_t GPS_numSat;
uint8_t GPS_fix_type;
//uint16_t GPS_hdop = 9999;           // Compute GPS quality signal
uint16_t GPS_packetCount = 0;

also oXs_gps.cpp uncomment last line:

    case MSG_SOL:                                // !!!! here we could also use vertical speed which is I4 in cm/sec)
        next_fix = (_buffer.solution.fix_status & NAV_STATUS_FIX_VALID) && (_buffer.solution.fix_type == FIX_3D);
        GPS_fix_type = _buffer.solution.fix_type;
        if (!next_fix)
             GPS_fix = false;
        GPS_numSat = _buffer.solution.satellites;  
//        GPS_hdop = _buffer.solution.position_DOP;  

File oXs_out frsky.h change

//uint8_t GPS_numSat;
//uint16_t GPS_hdop = 9999;           // Compute GPS quality signal

into

extern uint8_t GPS_numSat;
extern uint16_t GPS_hdop;           // Compute GPS quality signal

Finally transmit test1 and test2 in a sensor-field like Temp for example (oXs.config_basic.h)

#define T1_SOURCE     TEST_1                    
#define T2_SOURCE     TEST_2
modelvincent
Posts: 2
Joined: Fri May 24, 2019 1:10 pm
Country: -

Re: Gspd: 3D speed with GPS and altimeter

Post by modelvincent »

Great, I will try all your propositions quickly !

For my GPS reception, I can see how to place it better than actually: I've made a hole of the size of the antenna and integrated it directly at the top of the aircraft, but thanks for your suggestion, I was searching how to log the DOP and nb of satelitte, that's perfect !
54437007_161687161415699_4660117203528450048_n.jpg


Thanks !

Post Reply

Return to “OpenXVario - an open source vario supported by the open source firmwares!!”