GPS neo 6M + carte multiwii pro flight

Bonjour,
je suis désolé si cela fait doublon mais je n’ai pas trouvé la réponse a ma question, enfin j’ai tellement parcouru de forum que je m’embrouille tout seul et je n’y arrive pas c’est peut être un détail qui m’échappe … :hammered:

j’ai une carte multiwii pro flight et j’ai acheté chez vous un GPS neo 6M seulement je n’arrive pas sur le logiciel multiwii a capter des satellites alors

**si une âme charitable veux bien m’aider dans le config.h je ne sais pas ce qu’il faut cocher/decocher … **

(je vous joint la photo de ma carte avec mon GPS j’ai croisé le TX et RX entre le GPS et la carte c’est bien ça ?a l’arrière du module GPS il y a l’inscription UBLOX GPS + LLC)
la deuxième photo montre que dans u center le GPS fonctionne 10Hz, j’ai meme essayer en 5Hz OK, 115200 bauds(en NMEA? dapres ce que j’ai lu le mode UBLOX est mieux mais je ne sais pas le forcé en ublox)

Cordialement.




Tout d’abord il faut savoir que multiwii utilise un protocole spécila Ublox.
C’est un protocole allégé qui permet à la carte d’avoir les informations nécessaires au vol par GPS, sans pour autan surcharger le processeur de données inutiles.

Ensuite, bien que le neo6 soit très performant, il faut le brider un peu pour que les performances avec multiwii soient correctes.
comme tu peut le voir sur ta photo, tu as une case rose sur le “navigation rate” ce qui indique que tes paramètres sont bon, mais que cette valeur est inadéquate et surcharge le processeur du GPS.

Donc pour faire simple, il faut le protocole GPS multiwii Ublox, le mettre à 5 ou 6hz et 57600 bauds
(10 hz, donne trop d’overshoot, finalement le gps deviens trop précis ,et le drone fait trop de corrections, ce qui donne l’effet de bouger tout le temps et donc l’inverse de ce que l’on cherche à faire avec un GPS)

Ensuite, il faut aussi penser à régler le gps pour que la sortie (PRT dans le menu des paramètres) soit bien sur UART et Ublox.
fichier de config Ublox pour Ucenter : u-blox-config.ublox.zip (867 Bytes)

enfin pense bien à régler le fichier config.h de multiwii pour avoir les bonnes infos:

#define GPS_SERIAL 2
#define GPS_BAUD 57600
#define UBLOX
//#define GPS_FILTERING

Avec le fichier de configuration du gps suivant après 3 minutes de mise en route, tu devrais avoir un FIX avec 6 sat dans le GUI multiwii…

Merci de ta réponse,
j’essaie cela des que j’ai du temps… je te tiens au courant.

Cordialement.

par contre le fichier que tu me mets en rechargement c’est le fichier de config du GPS dans ucenter (deja parametré ?) pas celui du config.h
j’avais lu qu’il fallait
j’ai refait la config dans Ucenter ce matin. 5hz (periode de mesure de 200ms), 57600 bauds, protocole in et out UBX + NMEA, cela fonctionne dans ucenter il me localise bien.
par contre le baudrate n’influe pas sur la carte multiwii c’est juste la vitesse de dialogue avec le GPS ? je vois ce we pour le logiciel multiwii et redonne des news.

Oui le fichier que je donne c’est pour ucenter avec la config optimisée pour le Ublox.
La copie d’ecran que tu as fourni, montre les barres bleu et vertes correspondantes aux seuil de détection des sat.
La bonne config pour multiwii désactive cette info qui ne sert à rien et surcharge le traitement de la donnée.

Le baudrate à une influence sur multiwii.
En fonction du baudrate choisi dans multiwii, il ne cherche pas à comprendre et fonctionne sur cette valuer.

Donc dans un premier temps si la valeur dans multiwii et ublox ne sont pas les mêmes, ils ne peuvent pas dialoguer.

Dans un second temps, en fonction de la valeur du baudrate, multiwii sait qu’a tel valeur de cycle de calcul il dois lire les infos du GPS, les décoder et les stocker en mémoire. Plus le baudrate est haut, plus la carte multiwii vas traiter les données.
Cela améliore la précision, mais après une certaine valeur (57600), cela demande de la ressource système à la carte de vol ce qui au final détériore les performances.

Enfin, lorsque le soft multiwii demarre, il envois une chaine de code au ublox pour le caler et le demarrer (equivalent au bouton “warm start” dans ucenter)
C’est ce qui lance la remise à zero des satellite, la synchro du GPS et le debut du traitement de la donnée)
En gros après l’envois d’une rampe de code, si le GPS réponds il est traité par la carte de vol, s’il ne réponds pas il est ignoré par la carte de vol.

Pour mutliwii la config.h dois donner cela:

/****** Serial com speed *********************************/ /* This is the speed of the serial interfaces */ #define SERIAL0_COM_SPEED 115200 #define SERIAL1_COM_SPEED 115200 #define SERIAL2_COM_SPEED 57600 #define SERIAL3_COM_SPEED 115200

[code]/***/
/
GPS /
/
/

/* GPS using a SERIAL port
   if enabled, define here the Arduino Serial port number and the UART speed
   note: only the RX PIN is used in case of NMEA mode, the GPS is not configured by multiwii
   in NMEA mode the GPS must be configured to output GGA and RMC NMEA sentences (which is generally the default conf for most GPS devices)
   at least 5Hz update rate. uncomment the first line to select the GPS serial port of the arduino */
#define GPS_SERIAL 2 // should be 2 for flyduino v2. It's the serial port number on arduino MEGA
#define GPS_BAUD   57600
//#define GPS_BAUD   115200

/* GPS protocol
NMEA - Standard NMEA protocol GGA, GSA and RMC sentences are needed
UBLOX - U-Blox binary protocol, use the ublox config file (u-blox-config.ublox.txt) from the source tree
MTK_BINARY16 and MTK_BINARY19 - MTK3329 chipset based GPS with DIYDrones binary firmware (v1.6 or v1.9)
With UBLOX and MTK_BINARY you don’t have to use GPS_FILTERING in multiwii code !!! */

//#define NMEA
#define UBLOX
//#define MTK_BINARY16
//#define MTK_BINARY19
//#define INIT_MTK_GPS        // initialize MTK GPS for using selected speed, 5Hz update rate and GGA & RMC sentence or binary settings

//#define GPS_PROMINI_SERIAL    57600 // Will Autosense if GPS is connected when ardu boots

/* I2C GPS device made with an independant arduino + GPS device
   including some navigation functions
   contribution from EOSBandi   http://code.google.com/p/i2c-gps-nav/ 
   You have to use at least I2CGpsNav code r33 */
//#define I2C_GPS

/* I2C GPS device made with an indeedent ATTiny[24]313 + GPS device and
   optional sonar device.    https://github.com/wertarbyte/tiny-gps/ */
/* get GPS data from Tiny-GPS */
//#define TINY_GPS
/* get sonar data from Tiny-GPS */
//#define TINY_GPS_SONAR

/* GPS data readed from Misio-OSD - GPS module connected to OSD, and MultiWii read GPS data from OSD - tested and working OK ! */
//#define GPS_FROM_OSD

/* indicate a valid GPS fix with at least 5 satellites by flashing the LED  - Modified by MIS - Using stable LED (YELLOW on CRIUS AIO) led work as sat number indicator 
  - No GPS FIX -> LED blink at speed of incoming GPS frames
  - Fix and sat no. bellow 5 -> LED off
  - Fix and sat no. >= 5 -> LED blinks, one blink for 5 sat, two blinks for 6 sat, three for 7 ... */
#define GPS_LED_INDICATOR

//#define USE_MSP_WP                        //Enables the MSP_WP command, which is used by WinGUI to display and log Home and Poshold positions

//#define DONT_RESET_HOME_AT_ARM             // HOME position is reset at every arm, uncomment it to prohibit it (you can set home position with GyroCalibration)

/* GPS navigation can control the heading */

#define NAV_CONTROLS_HEADING       true      // copter faces toward the navigation point, maghold must be enabled for it
#define NAV_TAIL_FIRST             false     // true - copter comes in with tail first 
#define NAV_SET_TAKEOFF_HEADING    true      // true - when copter arrives to home position it rotates it's head to takeoff direction


/* Get your magnetic decliniation from here : http://magnetic-declination.com/
   Convert the degree+minutes into decimal degree by ==> degree+minutes*(1/60)
   Note the sign on declination it could be negative or positive (WEST or EAST) */
//#define MAG_DECLINIATION  3.96f              //For Budapest Hungary.
#define MAG_DECLINIATION  0.0f

#define GPS_LEAD_FILTER                      // Adds a forward predictive filterig to compensate gps lag. Code based on Jason Short's lead filter implementation

//#define GPS_FILTERING                        // add a 5 element moving average filter to GPS coordinates, helps eliminate gps noise but adds latency comment out to disable
#define GPS_WP_RADIUS              200       // if we are within this distance to a waypoint then we consider it reached (distance is in cm)
#define NAV_SLEW_RATE              30        // Adds a rate control to nav output, will smoothen out nav angle spikes

[/code]

ok je ne pensais pas que le baudrate avait de l’influence comme cela sur la multiwii…
Je ne trouve pas comment parametrer le GPS avec ton fichier dans Ucenter … (Tools ==>GNSS configuration ? )(vu sur ton site Tools ==>GPS configuration c’est la meme chose ?)
il faut obligatoirement un adaptateur FTDI pour installer le fichier de configuration que tu m’as donné ? (je suis aller voir sur ton site)
Je n’en ai pas sur moi pour le moment, je regarde cela ce we et te retiens au courant.

Non si tu as le GPS drotek, il possède une port USB

Tu vas sur l’onglet que tu as mis en piece jointe (GNSS Configuration)
Tu coche la case Store into BBR/FLASH
Tu mets le retries à 10

Tu choisi mon fichier, et tu clique sur “File>GNSS”

Ca charge dans le GPS
Après chargement tu verifie le reglage PRT (pour avoir la sortie en UART) et le RATE pour avoir 5HZ.
Sauvegarde et c’est bon…

bonsoir,
je viens de reparametrer le gps avec le fichier que tu m’as donné dans u-center voir photo, j’ai bien remis en 57600 et en nmea + ublox en protocole sur UART1, j’ai également remis pour avoir le 5Hz j’ai sauvegardé. sur la photo le gps ne capte pas j’ai du aller dehors pour qu’il capte. Jusque la cela fonctionne.

je vais ensuite sur le multi.h, régler ce que tu m’as dit (je te joint mon config.h
skydrive.live.com/redir?resid=5F8D06043A605C81!570&authkey=!ABxNapCiptptfi4&ithint=file%2c.txt ), j’ai fait un clear eeprom et recompilé le code.

je vais ensuite dans le multiwiiConf pour voir s’il capte le gps mais la rien. je te joint le screenshot le GPS a la LED bleu d’allumé pour indiqué qu’il est sous tension mais pas de LED clignotante qui indique les satellites.

j’ai meme essayé rien qu’en branchant le drone avec une batterie car je ne sais pas si c’est bon de brancher une batterie lorsque l’USB est branché également, mais rien même dehors je l’ai laissé une petite minute mais rien…

j’ai bien interverti le TX/RX entre le GPS et la carte, sur le gps j’ai bien soudé le “point” pour avoir le 5v et non le 3v car sur ma carte c’est alimenté en 5v sur le port série 2. (je vais quand même vérifier demain avec un multimètre )

Je ne comprends pas ce qu’il ne fonctionne pas….




A tout hazard, essaye cela:
inverse TX/RX sur la carte
configure le GPS en 38400 mais tu laisse la config multiwii tel quel (au boot de la carte, elle reconfigure le GPS)

ok
il me semble que javais deja essayé dintervertir le rx/tx mais je ressaye demain avec le changement de vitesse
la carte va remettre la vitesse configuré a 57600 dans le gps ?

jai remis a 38400 mais cela change rien, juste le voyant bleu allumé en permanence.
on est bien daccord que le voyant doit clignoté sur le gps et non sur la carte ?
jai fait tout mes essais sans allumé ma radio juste en branchant une batterie. ( je viens de flasher ma radio turnigy en er9x donc je dois refaire tout le parametrage ceci explique pourquoi je nallume pas la radio :unamused: mais je pense cela ne pose pas de soucis)

jusqua combien le gps accepte en tension si l’on met en 3v et non en 5v ? cest valable pour le rx/tx ou juste pour allumer le gps ?
je cherche le soucis mais je vois pas ce qui peut poser probleme.

Si tu le met en 3 volts, il supporte 3,3 volts maxi
La led bleue du GPS indique juste qu’il est alimenté, elle est donc fixe dès que tu branche le GPS.
Une led verte sur le GPS flashe quand il est en 3DFix (6 satellites et position GPS trouvée avec précision)
Sur la carte de vol, normalement un led bleu clignote quand le GPS est en 3DFIX et qu’il dialogue correctement avec la carte de vol.

Techniquement, si dans U center tu vois ta position GPS, qu’il est en 3Dfix , et si “view packet console” te fait débité de la donnée c’est que le GPS fonctionne.
Il est autonome et n’a pas d’interaction avec la carte multiwii. Il est juste la pour débiter de la donnée.

Le problème proviens d’une erreur sur le dialogue et la synchro de la donnée.
Tu utilise bien la version 2.3 de multiwii ?

J’ai regarder la doc de ta carte de vol, ton plan sur le premier post est bon, les connexion TX/RX sont bonnes.

Pour moi ton pro blême dois provenir de :
-problême de connexion entre gps et carte de vol (la prise JST du gps est assez fragile et peut avoir des faux contact)
-la carte de vol met trop de temps a detecter le gps et du coups ne le prends pas en compte
-La config du GPS est mal faite

Ce que je te propose de tester:
dans un premier temps:
-reconnecte tout comme sur le premier post de ce sujet (ton plan est juste)
-repasse par Ucenter, remet la config que je t’ai envoyé, mais tu configure le port UART en 9600 bauds
-Tu laisse config.h de multiwii comme dans mon premier sujet (115200 baud pour serial2, 57600 pour GPS speed)
-utilise ce GUI pour voir si cela change quelque chose : mw-wingui.googlecode.com/files/WinGUI_2.3pre8%28b5%29.zip

tu verra dans la page où l’on voit les jauges, le médaillon GPS s’indique que le dialogue se fait par le clignotement d’une LED verte.
Si elle clignote c’est que la liaison entre GPS et carte de vol est bonne, après si ta position n’apparait pas c’est un souci de config.

Tu es de quelle région, si tu n’es pas trop loin de chez moi, je peut te filer un coup de main, c’est souvent plus rapide et facile en ayant le matériel sous la main…

j’ai refait la config du GPS dans Ucenter à 9600 bauds voir PJ toujours ok pour le GPS en 3dfix

je refait le config.h ce soir et non j’utilise la version multiwii 2.2 je ne savais pas que la 2.3 était sorti.
pour la prise Jst j’ai soudé le 5v gps et carte entre eux et les masse entre eux (j’ai grillé le GPS d’origine à cause de ça couleur des câbles non conventionnelle ! )je regarderai la continuité des fils ce soir mais je ne pense pas que cela vienne de ça.

je ne connaissais pas ce GUI je regarde tout ce soir ou demain si j’ai du temps.

question bête si la batterie commence a faiblir cela à une incidence sur la localisation du GPS ? (je ne suis pas sur que mes batteries soient chargées à fond)

je suis dans la région du 25 (Besançon).



C’est ok pour ta config en copie d’ecran.
La version 2.3 de multiwii est plus aboutie et gere mieux le GPS

Pas d’incidence sur la détection au niveau de la batterie, le GPS à besoin d’un 5 volts pour fabriquer du 3.3volts (si tu le branche en 3.3 cela desactive la puce de regulation/conversion)
Donc il lui faut 5 volts pour fonctionner, si ta batterie etait vraiment à plat il ne s’allumerais pas.
Et de toute manière, la prise USB branchée sur la carte de vol suffit à faire fonctionner carte de vol + GPS

(Je suis dans les Ardennes, ça fait un peu loin, et là jusqu’a la fin de semaine je suis à La Reunion pour le boulot…30°C ça fait du bien :slight_smile:)

profite de tes 30°C car le froid arrive …

sinon cela ne fonctionne toujours pas. il ne doit pas communiquer du tout avec la FC. j’ai remis a 9600 bauds la FC pour mettre a la même fréquence que le GPS mais même résultat.

Mais je viens de me rappeler que lorsque j’ai reçu le GPS j’ai "ressouder/refixer le composant (un coté non soudé sur la carte) qui se trouve juste derrière la prise du GPS (regarde ma première photo tu le vois). j’y ai plus fait attention car il fonctionne sous ucenter quand je l’ai paramétré (octobre/novembre) … ce n’ai peut etre rien mais je viens de m’en rappeler en regardant le GPS

Le composant en question c’est le régulateur de 3,3 volts.
Il transforme le 5 volts de l’alimentation en 3,3 volts necessaire au bon fonctionnement du GPS.

Si tu cable le GPS en 3,3 volts (dessoude le pont sur le GPS et regarde à coté de la prise I2C de la carte de vol pour trouver le 3,3volts), cela permet d’utiliser le Bypass de la puce et donc en quelque sorte, de ne plus l’utiliser…

Cela peut peut être résoudre ton problème

il s’agit de ce composant condensateur?
sur la photo cela parait etre une mauvaise soudure mais je pense cela fait bien contact.


Ah non je pensait au FS33 au dessus…
Ça, c’est une résistance, et effectivement la soudure est un peu moche :smiley:

ah tu un FTDI qui traine dans tes tiroirs? il y a un moyen simple de tester le GPS avec le FTDI.

oui javais pas de fer a souder petite panne :slight_smile: pour le FS33 je ny ai pas touché soudure dorigine !
oui je dois avoir un FTDI de mon ancienne multiwii lite ! je branche les fils de la prise jst sur le ftdi et ressort en usb sur le pc et regarde dans ucenter si cela fonctionne ?

T’a tout compris…
Si ça fonctionne comme cela tu isole le problème de GPS, et tu peut alors te concentré sur multiwii.
Si ça fonctionne pas, tu aura trouvé le problème…