[Autre] Problème avec le récepteur GPS neo-6M
Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 30 sur 36

Problème avec le récepteur GPS neo-6M



  1. #1
    AKA TENDO

    Problème avec le récepteur GPS neo-6M


    ------

    Bonjour ou Bonsoir.

    J'ai récemment voulu coder un programme qui récupère la latitude et la longitude de ma position grâce à une trame GPGGA.
    Le code marche bien je n'ai aucun soucis en revanche je remarque que le point trouvé n'est pas bon.Que ce soit la latitude ou la longitude il faudrait rajouter 0.2 pour avoir la bonne position. Cependant je remarque qu'il n'y a aucune donnée aberrante et qu'effectivement le capteur est assez précis. Mais je ne comprend pas ce qui pourrait causer cette erreur de 0.2, et ce en permanence, que je redémarre le capteur ou non.
    je prévois de l'essayer en extérieur au cas où, mais je suppose qui si c'était un problème d'environnement j'aurai des données un peu plus farfelues.

    Est ce que quelqu'un aurait une idée?
    D'autre part la dilution est toujours environ égale à 1, et j'ai 7 satellites en poursuite. Merci d'avance.

    -----

  2. #2
    f6bes

    Re : Problème avec le récepteur GPS neo-6M

    Citation Envoyé par AKA TENDO Voir le message
    Est ce que quelqu'un aurait une idée?.
    r

    OUI (pour l'idée): fournir le code en question...cela permettrait aux spécialistes de peut etre trouver le pourquoi du comment !
    A+

  3. #3
    Gyrocompas

    Re : Problème avec le récepteur GPS neo-6M

    Bonjour,
    il faudrait rajouter 0.2 pour avoir la bonne position
    0.2 quoi ?

    La trame NMEA contient les coordonnées en clair tels qu'appréciées par le récepteur, vérifier si la valeur affichée après traitement correspond.
    Ex pour 33.426618 N,11.751 $GPGGA,002153.000,3342.6618,N, 11751.3858,W,1,10,1.2,27.0,M,-34.2,M,,0000*5E
    Utiliser un point de référence connue et dégagée de tout obstacle de plus de 10° sur l'horizon(par exemple depuis geoportail), leurs cartes sont exactes, elles permettent des affichages de coordonnées dans plusieurs formats.
    Vérifier où se situent les satellites concernés, élévation, gisement, rapport S/N

  4. #4
    AKA TENDO

    Re : Problème avec le récepteur GPS neo-6M

    Bonjour tous le monde, merci pour vos réponses.Voici ma fonction qui récupère les données :

    Code:
    #include "NMEA.h"
    
    extern UART_HandleTypeDef huart1;
    
    
    
    void GPS_getLocation(char* sentence,float* ptr_1, float* ptr_2,float* ptr_3)
    
    {
    
        char *token;
    
        float latitude = 0;
        float longitude = 0;
        float dilution = 0;
    
        token = strtok(sentence, ",");
        int8_t i = 1;
    
    while (token != NULL)
    {
    
    	switch (i) {
    
    		case 3:
    
    				latitude = strtof(token, NULL)/100;
    
    			break;
    
    		case 5:
    
    				longitude = strtof(token, NULL)/100;
    		    break;
    		case 9:
    
    			dilution = strtof(token, NULL);
    
    				token = strtok(NULL, ",");
    
    
    				ptr_1 = &latitude;
    				ptr_2 = &longitude;
    				ptr_3 = &dilution;
    
    			break;
    
    		default:
    
    
    
    			break;
    }
    
    	token = strtok(NULL, ",");
    	i++;
    
    
    		}
    
    }

  5. A voir en vidéo sur Futura
  6. #5
    AKA TENDO

    Re : Problème avec le récepteur GPS neo-6M

    Bonjour, je veux dire que dans ton cas il faudrait ajouter 0.2 à 33.426618 pour avoir la bonne latitude et à 11.7513858 pour avoir la bonne longitude.

    Est ce que tu suggère d'utiliser les trames GSV pour vérifier les données des satellites ? Si oui, est ce qu'il y a moyen grâce au code de choisir de meilleurs satellites ?

    Merci pour ta réponse

  7. #6
    Gyrocompas

    Re : Problème avec le récepteur GPS neo-6M

    Bonjour,
    Bonjour,

    Le fonctionnement de base du gps est la mesure du temps de vol (=transfert) depuis la position du satellite jusqu'au récepteur.
    Le satellite émet un signal pseudo aléatoire qui sert de référence à la mesure.
    Les positions orbitales sont corrigées en permanence pour rester dans l'erreur proposée.
    Des perturbations dans la haute, très haute atmosphère sont susceptibles de provoquer des erreurs.

    La comparaison des valeurs depuis des sources différentes permet d'obtenir une zone de probabilité pour la position.
    3 satellites au minimum sont nécessaires pour déterminer avec une précision acceptable Lat et Long.
    Un 4è doit être introduit si l'altitude est souhaitée.

    Tout gps propose d'utiliser un geoïde, ainsi qu'un ellipsoïde, données qui décrivent 'au mieux' la sphéricité du globe terrestre, donc le temps de transfert jusqu'au récepteur.
    Il est possible que ce soit l'une de ces valeurs qui introduise une latence dans le résultat.
    Les mesures doivent faire référence aux même bases.
    Je ne dispose pas de la moindre idée des conséquences sur le résultat en fonction des choix introduits.

    Les modules U-blox utilisent un logiciel (u-center) pour 'instruire' leurs récepteurs sur le type de calcul.
    La programmation actuelle est peut être à confirmer.

    Les pros placent leur récepteur à au moins 1.8m du sol avec un écran métallique qui privilégient les ondes directes et protègent des réflexions sur le sol, des bâtiments.

    Seule une position établie par rapport à une base proche (DGPS et d'autres) permet un positionnement certain à partir de celle-ci, jusqu'au cm, cas des tondeuses automatiques...
    Pour plus d'informations voir du côté DGPS et gnss-RTK.
    Dernière modification par Gyrocompas ; 15/01/2025 à 15h01.

  8. #7
    AKA TENDO

    Re : Problème avec le récepteur GPS neo-6M

    Merci l'ami pour toutes ces informations très interessantes.

    1) Pour ce qui est du DGPS, je ne sais pas pourquoi mais je ne le capte pas avec mon récepteur ou alors il faut l'activer en configurant des Pins, ou peut-être qu'il n'est pas compatible je vais me pencher sur ça.

    2)Je vais vérifier si ça peut venir du sphéroïde et du géoïde comme tu me l'as proposé.

    3) Je me demande si ça peut venir de la déclinaison magnétique étant donné que dans le document dont je dispose à propos du protocole NMEA il est écrit qu'elle peut être égale à 0.2 degrés dans la trame RMC, je te met mon doc : http://www.cedricaoun.net/eie/trames%20NMEA183.pdf Ce qui expliquerait pourquoi j'ai précisément 0.2 d'erreur.

    4) Dernière chose, est ce qu'il est possible d'orienter un servomoteur vers le nord ouune position GPS de manière générale?

  9. #8
    umfred

    Re : Problème avec le récepteur GPS neo-6M

    Quand on regarde la doc de la description de réception (et des protocoles) https://content.u-blox.com/sites/def...%29_Public.pdf,
    on voit en page 58 du pdf (ou 47 sur 168), la description de la réception de message GPGGA ; on y voit que la latitude et la longitude sont codés de la façon suivante ddmm.mmmm, soit les 2 permiers donnent l'indication en degré et le reste en minutes, donc si tu reçois 3342.6618, ça donne 33°42.6618' et pas 33.426618°.
    33°42.6618' donne 33.711031°, donc on "ajoute" un peu plus de 0.3 (le terme ajouter n'a pas de sens mathématique ici)
    Donc une simple division par 100 ne fonctionnera donc pas.
    (à noter que tu ne prends pas les valeurs Nord/Sud et Est/Ouest de la position (sauf si tu n'as pas tout mis dans le code fourni)

  10. #9
    AKA TENDO

    Re : Problème avec le récepteur GPS neo-6M

    Bonjour monsieur. Le fait de ne pas prendre les valeurs Nord/Sud etc.. est volontaire, je veux d'abord avoir de bonne valeurs.
    Je ne comprends pas bien d'où sortent les 0.3 que vous "ajouter"??

    Mais pour le format des données j'ai bien compris que ce n'était pas 33.426618° ne vous en faites pas ^^. Merci de votre réponse.

  11. #10
    umfred

    Re : Problème avec le récepteur GPS neo-6M

    Dans ton code, on ne vois qu'une division par 100 de la valeur des chaines longitude et latitude, ce qui n'est pas correct par rapport au format des données.
    Cette division laisse à penser qu'une chaine 3342.6618 est interprété comme 33.426618°
    Comme on cherche à trouver d'où peut venir l'erreur, avoir toutes les étapes du décodage des coordonnées permettrait de mieux comprendre d'où cette erreur pourrait provenir. Si la division par 100 est la seule étape, on a déjà trouvé une source d'erreur.
    le 0.3 que j'indique c'est la différence entre cette mauvaise interprétation et la bonne interprétation de la chaine 33.711-33.42 = 0.3 (0.29 que j'arrondi)

  12. #11
    AKA TENDO

    Re : Problème avec le récepteur GPS neo-6M

    d'accord j'ai compris ce que vous voulez dire je vais essayer de changer ça et je reviens vers vous.Effectivement je n'avais pas pensé à ça quand j'ai voulu faire la division, Merci.

  13. #12
    umfred

    Re : Problème avec le récepteur GPS neo-6M

    Pour passer de dd°mm.mmmmm' (format renvoyé ddmm.mmmmm)=> dd.dddddd° (degré décimal comme il semble que tu veuilles avoir), alors il faut commencer par récupérer d'un côté les degrés et de l'autre les minutes et ensuite de faire dd°+60*mm.mmmmm/100

    (attention pour la longitude, le format est dddmm.mmmmm (3 caractères pour les degrés au lieu de 2 pour la latitude)

  14. #13
    AKA TENDO

    Re : Problème avec le récepteur GPS neo-6M

    Je viens de faire le test du code sans la division par 100 et j'ai même laissé la trame sous forme de chaîne de caractère pour voir exactement ce que je reçois. Ça ne change rien j'ai le même résultat.

    Dans ce calcul que vous m'avez proposé : dd°+60*mm.mmmmm/100

    Pourquoi multiplier par 60 ? Sachant que la trame nous donne une valeur en minutes comme nous le voulons.

    D'autre part je voudrais clarifier un point pour qu'il n'y ait pas de quiproquo.Lorsque je voulais diviser par 100 le résultat c'est uniquement pour déplacer la virgule et ainsi séparer les degrés des minutes, car sur google map je peux verifier ma position réelle et le point est noté comme suit "33.245878". Mais pour clarifier le problème que j'ai :
    je reçois de mon capteur 28 min au lieu de 47 donc en clair il me manque 19 minutes. Voilà

  15. #14
    AKA TENDO

    Re : Problème avec le récepteur GPS neo-6M

    Bonjour messieurs. Excusez moi je viens de comprendre mon erreur ^^'. En fait sur Google map le point qui m'est donné est en degré décimaux et non en sexagésimaux. Je n'étais pas au courant de cette subtilité. Désolé tous le monde . Et effectivement la précision est d'environ 5m.

    Cependant est ce que quelqu'un saurait me dire si grâce au protocole NMEA on peut orienter un servomoteur vers une position GPS?

  16. #15
    Gyrocompas

    Re : Problème avec le récepteur GPS neo-6M

    Bonjour,

    J'avais suggéré de vérifier l'exactitude du lieu en utilisant une référence certaine.
    Le meilleur outil (gratuit !) reste : https://www.geoportail.gouv.fr/carte
    La boîte à outil permet des conversions dans plusieurs formats, perso, je préfère l'UTM qui permet un positionnement précis sur une carte 1/25000.

    Un instrument aéronautique ancien permet de pointer sur le nord géographique, c'est le gyrocompas.

    Pour obtenir une direction de référence, il faut se déplacer...un gps est censé fournir une position = 1 point.

    Toutefois, en récupérant les données en poste fixe d'un gps (récepteur Sirf), un cap est associé.
    L'explication peut être liée aux erreurs de réception qui produisent un déplacement lat_max long_max, lat_min, long_min, dont les coordonnées ne sont pas accessibles.
    Dernière modification par Gyrocompas ; 16/01/2025 à 08h57.

  17. #16
    AKA TENDO

    Re : Problème avec le récepteur GPS neo-6M

    Bonjour, Géoportail ne fonctionne pas très bien la carte met énormément de temps à s'afficher, mais du peu que j'ai vu mes résultats sont bon.

    Je vois ce qu'est un gyrocompas mais je ne trouve pas de composant permettant de faire ça, peut être est-ce intégré dans les gyroscope (ex : MPU6050)?

    Le cap ne suffirait pas à orienter un servomoteur car on aura juste l'angle par rapport au nord mais il ne pourra pas savoir si l'objet à suivre est derrière lui ou devant (je sais pas si je suis clair ^^').

  18. #17
    AKA TENDO

    Re : Problème avec le récepteur GPS neo-6M

    En fait si je pouvais coder pour changer le point de référence du cap et remplacer le nord par l'objet que je veux suivre ce serait parfait

  19. #18
    jiherve

    Re : Problème avec le récepteur GPS neo-6M

    bonsoir
    les "gyroscopes" MEMS sont plutôt des gyromètres car il dérivent beaucoup.Pour les petits magnétomètres attention à la calibration et aux perturbations magnétiques qui peuvent être rencontrées en chemin.
    Je ne sais pas quelle précision tu cherches avec un GPS mais en dessous de qqs metres (au mieux) cela va être difficile.
    En fait il faut utiliser plusieurs senseurs et faire de la consolidation ce qui n'est pas tout à fait trivial.
    JR
    l'électronique c'est pas du vaudou!

  20. #19
    AKA TENDO

    Re : Problème avec le récepteur GPS neo-6M

    Une précision de 2 ou 3 mètres serait suffisante je vais essayer d'améliorer mon code plus tard. Pour le moment mon problème est plutôt, est ce que je peux orienter mon servomoteur vers un point GPS?

  21. #20
    jiherve

    Re : Problème avec le récepteur GPS neo-6M

    Bonjour,
    2 ou 3 mètres il faut pas trop y compter sauf a passer en GPS différentiel, donc avec un récepteur GPS fixe,la base, et un échange entre le mobile et celle ci.
    ensuite pour l'orientation c'est un probleme de trigo-sphérique si on connait L1,G1(mobile) et L0,G0(cible) la route à suivre se calcule aisément, voir cours de navigation, moi j'ai oublié, mais il faudra choisir l'orthodromie!
    JR
    l'électronique c'est pas du vaudou!

  22. #21
    AKA TENDO

    Re : Problème avec le récepteur GPS neo-6M

    Merci pour votre réponse. Cette nuit j'ai cherché un moyen de faire ça et je suis tombé sur des "compas digital" comme suit : https://www.mouser.fr/ProductDetail/...XwAoZA0A%3D%3D

    est ce que ce genre de composant pourrait me permettre de m'orienter vers une position? J'avoue ne pas trop comprendre à quoi ils servent. De plus je ne comprend pas bien à quoi sert un magnétomètre...

  23. #22
    jiherve

    Re : Problème avec le récepteur GPS neo-6M

    re
    le magnétomètre mesure les composantes du champ magnétique terrestre et en statique l’accéléromètre celles du champ de gravitation, en dynamique il mesure aussi les accelerations du au mouvement du mobile, cela permet de réaliser un compas électronique donc un appareil donnant la direction du nord magnétique.
    Comme c'est un composant très utilisé on doit trouver des logiciels applicatifs pour pas mal de µC, il y a aussi des notes d'applications.
    Je l'ai utilisé plusieurs fois pour faire des robots et cela fonctionne bien.
    JR
    l'électronique c'est pas du vaudou!

  24. #23
    Gyrocompas

    Re : Problème avec le récepteur GPS neo-6M

    Bonjour,
    Si l'objectif est de déterminer un cap référencé sur la cartographie, il suffit de se déplacer un minimum pour obtenir une première information qui déterminera le référenciel.
    Attention, un système cartographique est référencé par rapport au nord géographique, une boussole utilise le nord magnétique qui est variable.
    Il existe un calcul simple (petite recherche) qui relie une position géographique connu avec l'angle nécessaire pour atteindre un point géographique dont les coordonnées sont connues.
    Très utilisé par Caesar actuellement quelque part en Europe.
    Selon la distance, il ne nécessite pas d'utiliser des références de très hautes précision.

  25. #24
    AKA TENDO

    Re : Problème avec le récepteur GPS neo-6M

    Bonjour, effectivement hier soir j'ai trouvé un calcul permettant de trouver l'orientation d'un point par rapport à un autre ^^', je vais essayer de coder la convertion des sexagécimaux en degré decimaux puis ensuite j'utiliserai la latitude et la longitude pour le calcul de l'orientation.

  26. #25
    AKA TENDO

    Re : Problème avec le récepteur GPS neo-6M

    Bonjour, tout le monde. J'ai avancé dans mon code, je convertis actuellement les données en degrés décimaux pour pouvoir ensuite faire le calcul de l'orientation.En revanche je remarque que depuis hier le gps me renvoie des données légèrement moins précises dans la trame, est ce que quelqu'un saurait me dire à quoi ça peut être dû sachant que la dilution est toujours autour de 1?

  27. #26
    jiherve

    Re : Problème avec le récepteur GPS neo-6M

    bonjour,
    il y a plusieurs causes possibles liées aux condition atmosphérique (ce n'est pas seulement la météo) qui modifient les conditions de propagation des ondes.
    Le US peuvent aussi décider de dégrader volontairement le signal.
    JR
    l'électronique c'est pas du vaudou!

  28. #27
    AKA TENDO

    Re : Problème avec le récepteur GPS neo-6M

    D'accord merci pour votre réponse, c'est énervant car j'ai tout de même 10 satellites en poursuite comparé à 8 auparavant et le neo 6m ne prend pas le DGPS sans ajouté un module avec le capteur. J'imagine que je ne peux rien faire pour corriger cela ducoup?

  29. #28
    jiherve

    Re : Problème avec le récepteur GPS neo-6M

    re
    c'est bien pour çà que l'on a imaginé le DGPS!
    JR
    l'électronique c'est pas du vaudou!

  30. #29
    AKA TENDO

    Re : Problème avec le récepteur GPS neo-6M

    Bon bah j'imagine qu'il faut que je me fasse un PCB avec ça maintenant ^^'. Merci pour les infos

  31. #30
    Gyrocompas

    Re : Problème avec le récepteur GPS neo-6M

    Bonjour,

    Il faut se retirer l'idée du crâne qu'un GPS fournit à tout coup une information ultra précise.

    Pour installer une station de référence (base), un minimum de conditions sont à respecter :
    Installation de l'antenne à au moins 1.8m, de préférence plus haut pour limiter les réflexions sur le sol, des constructions.
    Sur 360°, il ne doit y avoir aucun obstacle à plus de 10° d'élévation.
    Une accumulation de résultats au minimum sur 45 minutes permet de confirmer la position (source, géomètre).
    Ne pas tenir compte du seul nombre de satellites visibles mais de leur gisement et élévation, tous ne sont pas exploitables.
    Le Neo-6M fournit une précision de moyenne +/- 10m, si une précision supérieure est attendue, il faut changer de technologie,compter 200€ à 400 € d'investissement minimum.
    Le système employé en agriculture (sillons bien droits) procure une précision de 1 cm pour piloter le tracteur, gère les retournement en fin de trajet en fonction de la taille de l'outil utilisé etc.
    La fauche de ces matériels se justifie par leur coût, 5 à 10 000 € pour un système en open source, 5 fois plus avec la version du constructeur du tracteur.

Page 1 sur 2 1 DernièreDernière

Discussions similaires

  1. [Brun] Récepteur satellite : Peut - on recevoir du DVB-S2 avec un recepteur DVB--S?
    Par Yvan_Delaserge dans le forum Dépannage
    Réponses: 3
    Dernier message: 22/01/2020, 07h56
  2. [Analogique] Probleme avec recepteur InfraRouge!
    Par inviteb91ebebe dans le forum Électronique
    Réponses: 10
    Dernier message: 17/01/2017, 14h40
  3. [Brun] Problème avec récepteur Dune(DVB)
    Par invite8c25a649 dans le forum Dépannage
    Réponses: 2
    Dernier message: 21/07/2008, 00h52
  4. [Brun] probleme avec alimentation recepteur numerique goldvision ci suprise
    Par invite8d764819 dans le forum Dépannage
    Réponses: 0
    Dernier message: 02/08/2007, 21h55
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...