I2c pa6c gps + llc

Bonjour,

Je viens de recevoir votre module I2C GPS et j’ai quelque intérrogations à son propos.
Tout d’abord, je voudrais que l’on me confirme l’agancement des pin FTDI et ISP:

J’utilise cet adapteur FTDI pour me connecter sur les controleurs de vol Multiwii:
sparkfun.com/products/9716

Par contre, je n’arrive à charger le programme “i2c-gps-nav” sur le module GPS :cry:
J’utilise habituellement dans le logiciel Arduino, la board “Duemilanove W/ ATmega328” pour uploader mes sketch sur mes controleurs de vol MultiWii.
Peut être faut-il que j’utilise un autre type de “Board” pour le module I2C GPS??? Si oui, lequel???

Merci d’avance de votre réponse.

Cordialement

Fred

Il a une petite astuce pour reflasher l’Atmega. Il faut désactiver le pont de soudure qui se trouve derrière la carte.
Le but est de ne plus alimenter le GPS car aussi non le GPS continu en permanence d’envoyer des datas sur le port série, ce qui rend impossible le dialogue via le FTDI.
Tenez moi au courant.

Bonsoir,

Merci beaucoup pour l’astuce, ça marche drolement mieux comme ça :smiley:
J’ai donc réussi à charger le programme I2C-GPS-NAV de EOSBandi mais je n’arrive pas à avoir de remonter GPS sur MultiWiiConf.
J’ai même essayer avec la dernière version de dev (20120606), la version de i2c-gps-nav est la R33 (qui doit date du 20 mai environ si je me souviens bien).

Par contre avec MiniGps, j’ai bien les infos GPS qui s’affichent. Dans l’onglet “setup” de MiniGPS, il semblerait que par défaut le GPS soit paramétrer en 1hz - 34800baud. J’ai essayé de le passer en 10Hz - 115200 baud mais il semble que à chaque coupure d’alimentation cela revienne aux paramêtres pas défaut.
J’ai essayé également une version modé de I2c-gps-nav qui apparemment au démarrage initialise ses paramètres mais sans plus de succés :confused:

D’après le clignotement de la LED verte, il semblerait que l’ATmega328 du module GPS ne reçoive pas les informations du GPS (pourtant celui ci donne bien les infos GPS via MiniGPS Tool).

D’après le forum multiwii thread GPS intégration:

[code]LED indicator: improved thanks to Guru_Florida

  • 3 short flash at startup
  • blinks once per second if gps is sending data but no position lock yet
  • blinks twice fast, then off for a second if gps 2D position is available
  • blinks 3 times fast, then off for a second if gps 3D position is available
  • or goes on for a second, off for a second, (long pulse) if not getting any NEMA sentences for over 5 seconds
    [/code]
    Il devrait bien clignoter 3fois/s puisque le gps a bien le 3DFix

Après 2j de test et de bidouille, j’avouerais que je suis à cours d’idée pour me avancer sur ce point là :wink:
Je ne pense pas que ce soit un problème de communication I2C mais plus un problème de configuration de al communication entre l’ATmega et la puce GPS :unamused:

Y aurait-il une autre astuce pour le faire fonctionner ?

Est-il normal que je n’arrive pas à avoir l’information de la version du firmware via MiniGPS tool?

J’ai trouvé également un firmware pour le MT3339 pour passer en 10hz 115200baud par défaut mais je n’arrive pas à le flacher :angry:

Merci encore de vos renseignement.

Fred

Bon, je commence à m’en sortir petit à petit :wink:

Grace au concours du forum Multiwii (multiwii.com/forum/viewtopic.php?f=8&t=649&start=610#p14024) et la doc des commandes PMTK tu gps MT3339 (adafruit.com/datasheets/PMTK_A08.pdf), j’arrive à positionner le gps à 10Hz au démarrage dans le setup du fichier I2C-gps-nav:

//Assume 9600 bps
  Serial.begin(9600);
  Serial.print("$PMTK220,100*2F\r\n");
  delay(1000);
  Serial.println("$PMTK314,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0*29");
  delay(800);
  Serial.println("$PMTK300,100,0,0,0,0*1C");
[/code] pour le mode 10Hz

[code]//Assume 9600 bps
  Serial.begin(9600);
  Serial.print("$PMTK220,200*2C\r\n");
   delay(1000);
   Serial.println("$PMTK314,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0*29");
  delay(800);//Enable it for 10Hz mode
  Serial.println("$PMTK300,200,0,0,0,0*1C");
[/code]pour le mode 5Hz

Dans ses configurations, le module I2C GPS fonctionne correctement, le gps est bien "fixé" et du coup j'ai les données dans les MultiWii_Conf  :smiley: 
Une bonne première étape !!!

Par contre comme indiqué sur le "gtop-tech"
[gtop-tech.com/jsf/moduleproduct.jsf;jsessionid=E6F24991493C582507CBE25EBE59B06E?muid=5a50acc3cd4f20749b345fe86e442ed78a6d204d&suid=b0b43a06ddc9bc4756cbd4147652af895bcb727d&puid=ffedad3e42313f2bc7be7383492b8001fccda8b4](http://www.gtop-tech.com/jsf/moduleproduct.jsf;jsessionid=E6F24991493C582507CBE25EBE59B06E?muid=5a50acc3cd4f20749b345fe86e442ed78a6d204d&suid=b0b43a06ddc9bc4756cbd4147652af895bcb727d&puid=ffedad3e42313f2bc7be7383492b8001fccda8b4)
[code]Background:
 
High speed objects can travel large amount of distances in the shortest amount time. High output rate is often necessary in order to increase the accuracy and resolution of GPS receiver in order to record minute changes of its path.
 
 10Hz update rate is perfectly suitable for high speed applications including but not limit to: car racing, autocross, RC plane, and other types of racing, where 10Hz update capable module is capable of handling the instance information and the quick response needed for smooth operation.
 
GlobalTop Solution:
 
MT3329 based GlobalTop GPS module support 1 to 10 Hz update rate. The update rate can be set as default in firmware setting or adjusted through MiniGPS Tool or PMTK proprietary command.
 
Requirement:
 
MT3329 based GlobalTop GPS module supports up to 10Hz update rate. High data transmission baud rate is necessary to enable 10Hz update rate. Minimal of 38400bps is required and 115200bps is recommended.

Il faudrait que je change le baud rate à 115200 pour un refresh rate de 10Hz et via les commandes trouvé sur le forum et dans la doc, ca n’a pas l’air de marché:

//Assume 9600 bps
  Serial.begin(9600);
  Serial.print("$PMTK251,115200*27\r\n");
  Serial.end();
  delay(1000);
  Serial.begin(115200);
  Serial.print("$PMTK220,100*2F\r\n");
   delay(1000);
   Serial.println("$PMTK314,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0*29");
  delay(800);//Enable it for 10Hz mode
  Serial.println("$PMTK300,100,0,0,0,0*1C"); //Enable it for 10Hz mode 

Auriez-vous une petite astuce pour ce problème là???

Il me manque désormais plus que ce paramètre pour l’I2C GPS fonctionne correctement :unamused:

Merci d’avance

Fred

J’ai trouvé de nouvelles infos sur le gps mtk3339:

    Configuration messages that I use for MTK 3329 chipset GPS module:

    #define SBAS_INTEGRITY_ON "$PMTK319,1*24\r\n"
    #define SBAS_TEST_ON "$PMTK319,0*25\r\n"
    #define WAAS_ENABLE "$PMTK313,1*2E\r\n"
    #define WAAS_DISABLE "$PMTK313,0*2F\r\n"
    #define DGPS_SBAS_ON "$PMTK301,2*2E\r\n" // default is SBAS on

    #define MEDIATEK_BAUD_RATE_38400 "$PMTK251,38400*27\r\n"
    #define MEDIATEK_BAUD_RATE_57600 "$PMTK251,57600*2C\r\n"
    #define MEDIATEK_BAUD_RATE_115200 "$PMTK251,115200*1F\r\n"
    #define MEDIATEK_REFRESH_RATE_4HZ "$PMTK220,250*29\r\n" //refresh rate - 4Hz - 250 milliseconds
    #define MEDIATEK_REFRESH_RATE_5HZ "$PMTK220,200*2C\r\n"
    #define MEDIATEK_REFRESH_RATE_10HZ "$PMTK220,100*2F\r\n" //refresh rate - 10Hz - 100 milliseconds
    #define MEDIATEK_FACTORY_RESET "$PMTK104*37\r\n" //clear current settings

Il semblerait que j’utilise pas la bonne commande d’initialisation du baud rate 115200. Je testerais ça ce soir :smiley:

Je suis en train de vérifier tout ca!! Jusqu’ici j’utilisais le miniGPS tool pour configurer le GPS.
Ca sera beaucoup plus pratique avec le code qui permet d’initialiser et de configurer le GPS au démarrage.
En tout merci pour ta recherche qui va forcement aider bcp de personnes! :smiley:

Le problème est que pour moi, il semblerait que MiniGPS tool n’arrive pas à configurer le GPS (ça vient probablement que je ne m’en sers pas correctement).
J’essayerais de suivre les informations fournis sur modelisme.com.

J’ai trouvé le petit logiciel permettant de calculer le checksum. Il est dispo à cette adresse sous le nom “checksum\MTK-Checksum.exe”:
trenz-electronic.de/de/download/d0/GlobalTop_Technology/d1/tools.html

J’ai trouvé également un pdf qui explique les commandes MTK qui contient le tableau des codes en fonction des zones géographiques (il m’a semblé lire que ca faciliter le fix du gps (je fais un parallèle à mes bidouilles de mon téléphone android :stuck_out_tongue: )).
C’est le fichier “MTK_commands.rar” disponible dans ce post:
multiwii.com/forum/viewtopic.php?f=8&t=649&hilit=pmtk251&start=20#p3590

Ca va me faire pas mal de chose à tester ce soir :wink:

La journée va être longue je sens :stuck_out_tongue:

PS: N’hésite pas à me tenir informé du ressultat de tes tests :smiley:

Merci pour ces infos.
Je voulais juste préciser que par défaut le GPS a le mode SBAS activé et par conséquent on est limité a 5 Hz.
Pour passer en 10 Hz il faut désactiver cette option en premier.

Bonsoir,

Toujours dans mes tentatives de changer le baudrate (toujours infructueuse :frowning: ), j’ai trouvé sur le site de gtop-tech section FAQ une archive qui donne toute la marche à suivre:
gtop-tech.com/ShowAttach?UNID=d6ced64dcf44d5b03999a93259b9472105578f05

J’ai donc essayé la méthode avec MiniGPS Tool comme décris dans le pdf

Tout d’abord, on peut voir dans la capture suivante que la connexion au GPS et le fix GPS fonctionne bien:

Par contre, quelque soit la manipulation effectué, lorsque je ferme et que je reouvre MiniGPS Tool, je suis toujours à la config par défaut :confused: :

Encore plus bizarre quand dans l’onglet “About”, j’essaye de récupérer le firmware version, celle-ci reste désespérément vide:

Durant les manipulations, le module gps est resté tout le temps alimenté via mon câble FTDI.

Donc la méthode MiniGPS Tool reste infructueuse pour moi :frowning:

Après j’ai donc tenté la méthode un peu plus rustique => avec l’hyperterminal de Winwin.

Toujours d’après les docs fournis dans l’archive cité précédemment, j’ai appliqué la méthode HyperTerminal.
Il semblerait que quelque soit les commandes envoyés, je ne reçoive pas de “ACK” aux commandes envoyés au GPS:


Dans la capture ci-dessus, on voit bien que le GPS à bien terminer de booter (commande en vert), l’envoie de la commande (commande en rouge) par contre pas de "ACK du style “$PMTK001,314,3”.
Même si la commande était incorrecte, du point de vue théorique je devrais quand même recevoir un “ACK” de la part du GPS (mais avec un flag en erreur)

Il semblerait que le GPS ne reçoive pas ou n’interprète pas les commandes que je lui envois :confused:

J’ai essayé de regarder sur le net s’il n’y avait pas un mode style “Write Protect” a désactivé mais je trouve pas :astonished:

J’attends le retour de tes tests voir si les commandes fonctionnent bien de ton côté et après j’aviserais.

J’avouerais que je commence à sécher grave sur la manière de le configurer.

Merci d’avance

A bientôt

Fred

Il faut que tu changes le baudrate dans le menu setup et ensuite sur tu appuies sur le bouton set. Ensuite le baudrate de ta connexion doit changer.
Tu peux vérifier dans l’onglet Status que c’est bien le cas.
Ensuite pour les paramètres restent en mémoire il faut qu’il y ait la pile sur la carte. Et ne pas oublier de cliquer sur le bouton close avant de fermer le miniGPS tool.
Tiens moi au courant!

Par contre tu m’as dis dans un post précédent que t’avais réussi a changer la fréquence avec le code que tu as trouvé. Cela veut dire qu’il est bien possible de les changer ces paramètres.
De mon côté j’ai essayer avec le code que tu as posté mais ca ne fonctionne pas.

Pour le baudrate, c’est bien ce que je fais pourtant il me semble.

Lorsque je change le baudrate dans l’onglet “Setup”, l’interface me change automatiquement la vitesse de connexion dans l’onglet “Status” au bout de 1 ou 2s.
Je clos la connexion, je ferme MiniGPS Tool et et je le réouvre.
Je reparamète la connexion avec la nouvelle de vitesse de connexion et je me connecte mais rien ne se passe :confused: . Par contre lorsque je la reparamètre en 9600, j’arrive bien à avoir les infos GPS dans l’onglet “Status”. Pourtant, y a tjrs la pile dans le socket (j’ai mesuré sa tension, elle est à 3.02V) et généralement je ne déconnecte pas mon cable FTDI.

Pour la fréquence, j’en ais déduis que les commandes fonctionnaient car après ça j’avais bien le retour des informations GPS dans MultiWiiConf. Mais si je connectais en parallèle le port FTDI pour voir les infos GPS dans MiniGPS Tools, je voyais toujours les informations par défaut.

Je termine tôt aujourd’hui, je referais des tests ce soir :wink:

Je me demandais qu’étant donné que je suis du même département, si je continue à galérer, si je pouvais me permettre de venir à ta rencontre dans votre magasin pour que tu puisse me montrer la démarche en live. Je viendrais avec mon matériel, peut être que celui-ci est en cause aussi :unamused: ou peut être aussi la compréhension de l’outils MiniGPS Tool (dans ce cas, je pense que pour mes loisirs, je me reconvertirais dans le plantage de patate :stuck_out_tongue: )

Fred

[quote=“Fred31”]Pour le baudrate, c’est bien ce que je fais pourtant il me semble.

Lorsque je change le baudrate dans l’onglet “Setup”, l’interface me change automatiquement la vitesse de connexion dans l’onglet “Status” au bout de 1 ou 2s.
Je clos la connexion, je ferme MiniGPS Tool et et je le réouvre.
Je reparamète la connexion avec la nouvelle de vitesse de connexion et je me connecte mais rien ne se passe :confused: . Par contre lorsque je la reparamètre en 9600, j’arrive bien à avoir les infos GPS dans l’onglet “Status”. Pourtant, y a tjrs la pile dans le socket (j’ai mesuré sa tension, elle est à 3.02V) et généralement je ne déconnecte pas mon cable FTDI.

Pour la fréquence, j’en ais déduis que les commandes fonctionnaient car après ça j’avais bien le retour des informations GPS dans MultiWiiConf. Mais si je connectais en parallèle le port FTDI pour voir les infos GPS dans MiniGPS Tools, je voyais toujours les informations par défaut.

Je termine tôt aujourd’hui, je referais des tests ce soir :wink:

Je me demandais qu’étant donné que je suis du même département, si je continue à galérer, si je pouvais me permettre de venir à ta rencontre dans votre magasin pour que tu puisse me montrer la démarche en live. Je viendrais avec mon matériel, peut être que celui-ci est en cause aussi :unamused: ou peut être aussi la compréhension de l’outils MiniGPS Tool (dans ce cas, je pense que pour mes loisirs, je me reconvertirais dans le plantage de patate :stuck_out_tongue: )

Fred[/quote]

Ca serai un plaisir de t’accueillir dans mon mag! Je te ferai une petite démo et comme ca on testera ta carte.
Tiens moi au courant si tu trouves une solution.

Tu peux jeter un coup d’œil ici:
forum.trenz-electronic.de/index. … ,23.0.html
trenz-electronic.de/download … T3329.html
trenz-electronic.de/download … T3339.html

Bonjour,

J’ai refait des tests hier soir.
Toujours rien avec le MiniGPS ni avec l’hyperterminal.
J’ai essayé de faire un flash du gps comme indiqué dans les liens précédent mais j’ai une erreur dans power flash (la je suis au bureau et j’ai oublié de noter le nom de l’erreur exactement)
Mais par contre, en recherchant cette erreur sur diydrone, je suis tombé sur une infos qui disait que l’erreur pouvait provenir par un défaut d’alimentation (il semblerait que que si l’alimentation est inférieure à 3,1V l’envoie de commande ou l’écriture d’un firmware ne fonctionne pas). J’ai regardé la tension avec mon multimètre au niveau de la patte VCC du gps et j’ai 3,2V. Peut être que en charge, j’ai la tension qui chute légèrement. Je n’ais pas d’alimentation variable pour tester avec 3,5V (commen préconisé sur le forum diydrone). Ce soir, j’essayerais de faire sur plaque à essai un pont diviseur pour pouvori avoir une alim de 3,5V en entrée du GPS et je reessaierais de changer des paramètres.

Je te tiendrais au courant.

Bonne journée

A bientôt

Fred

PS: Je te contacte en MP pour voir pour passer à ton magazin.

Bonjour,

Suite à ma visite dans vos locaux, la carte I2C GPS fonctionne désormais (un bon coup d’oeil pour déceller une résistance mal soudé encore bravo :wink: ).
Par contre, avec mon cable FTDI, je n’arrive toujours pas à configurer le GPS avec MiniGPS Tool :frowning: Du coup, j’ai commander un cable FTDI de chez Drotek en espérant que ça marche ce coup ci.
Je n’arrive toujours pas à lire la configuration en cours du GPS (peut être un soucis entre Win7 64 et MiniGPS Tool).

Existe t il un outil alternatif pour lire la conf des gps MT3339?

Alors je me suis pris un peu la tête pour comprendre les commandes “PMTK” pour configurer le GPS au boot de l’ATMega.

Donc voici les infos à enregistrer dans la partie “setup” du programme I2C_GPS_NAV:

Initialisation de la communication à 115200baud

  Serial.begin(9600);
  Serial.print("$PMTK251,115200*1F\r\n");
  Serial.end();
  delay(1000);
  Serial.begin(115200);

Désactivation du SBAS

  Serial.print("$PMTK313,0*2F\r\n");
  delay(1000);

Refresh rate 10hz

  Serial.print("$PMTK220,100*2F\r\n");
  delay(1000);

Required Nema Data for GPS use

  Serial.println("$PMTK314,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0*29\r\n");
  delay(800);

Configuration du secteur géographique pour affiner les données GPS

  Serial.println("$PMTK330,68*1F\r\n");

Le code “68” correspond à un des codes de la France. C’est avec ce code que j’ai le plus de précision dans les placements GPS sur la carte sinon avec les autres je peux avoir des erreurs de l’ordre de 200 300m entre sa position réelle et sa position affiché sur la carte.

En résumer pour avoir tous ses paramètres à l’initialisation de l’I2C GPS, il faut saisir se bloc complet dans le bloc setup du programme I2C_GPS:

//Assume 9600 bps
  Serial.begin(9600);
  Serial.print("$PMTK251,115200*1F\r\n");
  Serial.end();
  delay(1000);
  Serial.begin(115200);
  Serial.print("$PMTK313,0*2F\r\n");
  delay(1000);
  Serial.print("$PMTK220,100*2F\r\n");
  //delay(1000);
  //Serial.println("$PMTK314,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0*29\r\n");
  delay(800);
  Serial.println("$PMTK330,68*10\r\n");

Grace à tous ça, j’arrive un utiliser le GPS dans MultiWiiConf ou MWGui 2.1 Beta.

A bientôt

Fred

Merci Fred tu assures!!! :stuck_out_tongue:
J’ai vais mettre ton code sur le site pour tous les utilisateurs.

Salut Fred, Jérôme et les autres :wink:
Mon GPS est enfin reconnu dans le GUI et il me situe bien au dessus de chez moi avec car même quelques dizaines de mètre d’erreur sur le GUI, mais c’est déjà mieux qu’avant ou j’étais au dessus de l’Afrique :mrgreen:
Une précision aussi très importante , pour modifier le sketch de l’arduino du GPS il faut utiliser Arduino 1.0 ET SURTOUT PAS Arduino 1.0.1 … cela fait au moins 4 jours que je galère a cause de ça …
Par contre, en utilisant la modif de Fred , quand je verifie avec MiniGPS, il est bien passé en 115200B mais il est tj en 1HZ et le SBAS activé ??? est ce normal qu’il n’applique pas la modif pour le 10Hz et le SBAS ?
Merci d’avance

C’est bon à savoir mais je me demande bien pourquoi ca ne fonctionne plus avec la nouvelle version de l’IDE Arduino.
Il faut que tu désactives le SBAS si tu veux pouvoir passer en 10 Hz.
Tiens moi au courant.

Salut Jérôme
je ne comprend pas que la modif de fred ne fonctionne qu’a moitié , là j’ai réussi avec miniGPS a la passer en 5Hz , mais impossible de virer le SBAS … il se revalide chaque fois tout seul

EDIT: en fait non même le Update rate repasse à 1 HZ :smiling_imp: il commence a me rendre fou ce truc …

REEDIT : en fait il y a des différences entre le code fait par Fred et le code présent sur le site , des diff de" “
exemple : sur le code de fred : Serial.print(”$PMTK251,115200*1F***r**n");
alors que sur ton site Jérome : Serial.print("$PMTK251,115200
1Frn");

est ce que cela peut avoir une incidence sur le fonctionnement ?

autre chose aussi est ce normal que ces deux lignes soient commentées :
//delay(1000);
//Serial.println("$PMTK314,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0*29\r\n");

AH oui ca change tout!! Désolé mais le copier collé n’a pas bien fonctionné.
Il faut que tu remette les “”.