Aller au contenu

Chercher dans la communauté

Résultats des étiquettes.

  • Recherche par étiquettes

    Saisir les étiquettes en les séparant par une virgule. Merci de privilégier l'auto-complétion plutôt que de créer des tonnes de tags inutiles.
  • Recherche par auteur

Type du contenu


Forums

  • Accueil
    • Présentation
    • Discussion
    • On vous écoute
    • Actualité et nouveautés du forum
    • Releases Monitor
  • Les vidéos de FPV
    • Les vidéos du Web
  • Discussions
    • Discussions générales
    • Discussion par marques
    • DroneBuilds
    • Le matos FPV
    • Caméras HD
    • Électronique
    • Moteurs et hélices
    • Radiocommandes et accessoires
    • Les pratiques spécifiques
    • Batteries et chargeurs
    • Entraide
    • Bricolage
    • Impression 3D
    • Evénements et rassemblements
    • Blabla
  • Petites annonces
    • Achats
    • Ventes
    • Commandes groupées
    • Bons plans
    • Emplois et services
  • WE are FPV Community
    • Règles et candidatures

Blogs persos

  • Mon début a moi, raconté par moi, écrit par moi, réalisé par......
  • Tonton believes he can fly!
  • Journal de bord de Kestrel
  • Wiskanapie
  • Blog de LaLoutre
  • Max FPV Racer
  • PROBLÈME DE TRANSMITTION
  • Charge & Crash
  • Xonin Fpv
  • NoAnx FPV
  • flysky fs-i6
  • Akiaab - Newbie dans le monde du Drone FPV
  • Des bassines et du zèle
  • carlosjml4 caliche-fpv
  • FPV Freestyle - contrôle du réglage et vol entre les branches
  • FPVAquitaine
  • Problème FS i6X
  • Troubleshoot et infos
  • Vaucluse session
  • un avis pour une première configue
  • recherche
  • debut fpv sur simulateur (liftoff/velocidrone)
  • 2021 - 𝙩𝙚𝙭.𝙛𝙥𝙫 🇧🇪
  • Problème réception video

Chercher dans...

Résultats qui...


Date de création

  • Début

    End


Dernière mise à jour

  • Début

    End


Filtrer par nombre de...

Inscrit

  • Début

    End


Groupe


Website URL


Skype


Twitter


Facebook


Youtube


Instagram


Lieu


A propos de moi


Machines FPV

5 résultats trouvés

  1. Comprendre et parler à son GPS NEO-M8 Introduction Cet article vous aidera (ou pas, car il reste un peu technique) à comprendre ce qu'est cette puce GPS que vous avez acquise et comment réussir à lui parler afin de recevoir ce qu'elle est censée faire. De trop nombreuses questions reviennent en boucle et trop de tuto contiennent des tâtonnements qui induisent souvent à l'erreur. Il traite uniquement des puces ublox M8 équipant les BN-220, BN-880 (et d'autres encore). N'achetant que les chinoiseries ci-dessous, je vous joins le lien pour vous faire une idée: Beitian BN-180 (à oublier) Beitian BN-220 https://www.banggood.com/custlink/DDvYILDKEw Beitian BN-880 https://www.banggood.com/custlink/vmmESLmGr3 Table des matières Le matériel (hardware) Connectique et communication Interconnexion Installation du logiciel Connexion au GPS Sauvegarde de la config / Backup Configuration du GPS et navigation dans la config Restauration d'une config Réinitialisation usine du GPS Vitesse et Optimisation de l'UART Les constellations de satellites Définition du modèle dynamique Fréquence de rafraichissement (rate) Les protocoles NMEA, UBX, RTCM et filtrage Les messages NMEA et UBX Checklist configuration GPS Configuration Betaflight/Emuflight Commandes CLI serialpassthrough et gpspassthrough Conclusion 1 - Le matériel (hardware) Ces modules GPS contient principalement: ⦁ une puce u-blox M8030-CT : C'est un microcontrôleur intégrant un system de réception satellite. Un microcontrolleur, cela veut dire qu'il embarque de la mémoire flash pour stocker son programme, un microprocesseur, la mémoire vive (RAM), et des ports d'entrée/sortie pour communiquer avec l'extérieur. J'ai lu le datasheet pour vous. Si cela vous intéresse, vous pouvez le consulter à cette adresse : https://www.u-blox.com/sites/default/files/products/documents/u-blox8-M8_ReceiverDescrProtSpec_UBX-13003221.pdf ⦁ Une antenne GPS : C'est cette antenne qui va capter les signaux des GPS et les acheminer vers le microcontrôleur. Il est important que cette antenne pointe vers le ciel, ne soit pas recouverte (même de plastique, scotch, ...) et soit éloignée de toute source de perturbation/parasite afin de capter quelque chose (ESC, moteur, Antenne VTX, métaux, ...). Elle est sensible aux ondes. (optionel - BN220/BN880) une pile pour la sauvegarde des paramètres (BBR - Battery Backed RAM). Si votre GPS perd sa config, c'est qu'il n'a pas de batterie (BN-180) ou que celle-ci est morte... (optionel - BN880) Boussole électronique Sur le BN-220, il y a deux LEDs: 1 bleue clignotante : Elle indique l'utilisation de l'UART. Si elle est éteinte, c'est que le GPS n'envoie pas de données sur l'UART, cela peut être un comportement normal. Si elle clignote vite, c'est que le GPS envoie plein de messages 1 rouge clignotante : Elle indique que le GPS a un fix 2D ou 3D et que votre drone est prêt à voler 2 - Connectique et communication Pour commencer, ce module nécessite une alimentation en 5V (ne pas mettre plus, il grille facilement). Donc vous retrouverez logiquement un + (VCC) et un - (GND). Ensuite, une interface de communication série. J'entends au loin : C'est quoi une interface série ? C'est une manière de communiquer (ancestrale, date des années 1970) qui permet d'envoyer les messages caractère après caractère, bit après bit sur un et un seul fil (cela peut être long et lent). C'est une communication unidirectionnelle (dans un seul sens), si les deux parties veulent se parler, il faudra prévoir 2 fils, un pour chacun : un fil sur lequel il écoute (RX) et un fil sur lequel il parle (TX), toujours un caractère après l'autre ... On définit les caractéristiques d'un port série par plusieurs paramètres (ex 9600,8,N,1): ⦁ la vitesse en Baud (bits par secondes). Par exemple : 9600, 57600, 115200... ⦁ le nombre de bits pour former un caractère : en général 8 bits (un octet) pour former un caractère ASCII ⦁ la parité (vérification de l'intégrité): Aucune dans notre cas (N) ⦁ le nombre de bits stop (indique la fin du mot): 1 dans notre cas L'interface (le port) du microcontrôleur gérant un port série s'appelle une UART (tient, ça vous dit quelque chose ?). Donc une UART parle à une autre UART à une certaine vitesse. Si vous n'avez pas la même configuration de chaque côté, vous ne comprendrez pas le message, comme si vous parlez deux langues différentes... 3 - Interconnexion Bon maintenant qu'on a fait le tour du propriétaire, passons aux choses sérieuses. Pour la configuration initiale, je recommande l'utilisation d'un adaptateur USB vers série. Il en existe de nombreuses versions, mais je recommande les FTDI qui ne sont pas chers et très efficaces. Le principal intérêt est l'auto-détection de la vitesse du port. Pour les bidouilleurs, vous le réutiliserez à de très nombreuses occasions (jailbreak, Hack, ...) Voici le mien : https://www.banggood.com/custlink/vmvE8aK3Yc Vous pouvez utiliser un arduino, perso, je vois pas l'utilité car vous vous complexifiez grave la tache. Je dis ça, mais je configurais mes ESC BLHeli avec l'arduino au début... Pour la suite, vous pourrez directement utiliser le contrôleur de vol de votre drone, mais pour simplifier la configuration initiale, l'utilisation d'un adaptateur est recommandée. Donc, une UART possède un TX (fil pour la transmission) et un RX (fil pour la réception). Évidemment, pour que deux UART se comprennent, il faut qu'un TX soit connecté à un RX et vice-versa. On parle avec la bouche -TX - à une oreille -RX-. Cela fait un branchement tel que celui-ci : Le câble du GPS est fourni en règle générale avec le connecteur pour l'adaptateur série, pas de soudure à prévoir, propre et simple. Ne pas oublier de positionner le jumper sur 5V (en jaune), bien qu'en regardant le datasheet, il se peut que cela fonctionne en 3,3V ... 4 - Installation du logiciel Rendez-vous à cette adresse pour télécharger u-center pour windows : https://www.u-blox.com/en/product/u-center Pour l'installation, à vous de jouer ... 5 - Connexion au GPS Après démarrage, on arrive sur une fenêtre assez austère sur laquelle, on va commencer à sélectionner le port COM (l'UART) du PC et sa configuration actuelle: Dans "receiver"on commence par sélectionner l'option "Autobauding" qui va nous éviter de tester les valeurs de vitesse et faire la recherche pour nous (attention, cela n'est garanti que dans le cas de l'utilisation de l'interface FTDI ). Puis on sélectionne le port (COM5 dans mon cas), ce qui va connecter automatiquement le PC au GPS. Si vous ne vous êtes pas trompé sur le port, le logiciel va automatiquement chercher la vitesse du port et se connecter. Vous pouvez visualiser cela en bas, dans la barre d'état avec la référence de la puce GPS, le port série et sa vitesse, le protocole NMEA ou UBX : 6 - Sauvegarde de la config / Backup Maintenant que l'on a établi la connexion, on va commencer par faire une sauvegarde de la configuration actuelle, puis réinitialiser la config, ce qui va nous permettre de vérifier qu'on a un GPS fonctionnel à l'autre bout : Puis, on sélectionne un dossier et un nom de fichier pour votre fichier de sauvegarde (1), puis on lance la sauvegarde en appuyant sur le bouton "Transfer" (2) Une fenêtre va s'ouvrir avec la progression du dump de la mémoire du GPS : Oubliez les erreurs (message rejected), le soft est fait pour un tas de puces GPS bien plus sophistiquées que le M8 et le dump ne fait pas dans la dentelle... 7 - Configuration du GPS et navigation dans la config Après la sauvegarde, nous allons commencer par remettre en configuration usine le GPS. Accédons à la configuration: View - > Configuration View qui va ouvrir la fenêtre de configuration. Mais avant, apprenons à naviguer dans la fenêtre de configuration : La zone à gauche (1) permet de sélectionner la famille de paramètres. La zone à droite (2) les différents paramètres et leur valeurs (que vous pouvez visualiser ou modifier). Le bouton "send" (3) permet de sauvegarder. Attention : le bouton "send"applique les valeurs, les rend fonctionnelles sans les enregistrer de manière permanente dans la mémoire non volatile (NVRAM). Si vous redémarrez votre GPS, toutes les valeurs modifiées seront effacées. Cela vous permet de tester une modification sans risquer de briquer votre GPS. Vous revenez aux valeurs précédentes par redémarrage du GPS. Exception : dans la Zone 1, entrée "CFG (Configuration)", l'entrée sur la gauche "Save current configuraion" suivi d'une validation par "Send" rendra définitves toutes les modifications apportées à la config. Il est important de comprendre cette notion de "running config"(configuration en cours d'exécution sur le GPS) et de "startup config" (NVRAM - configuration appliquée à chaque redémarrage). Et aussi de ne pas oublier de copier la running-config dans la startup-config si l'on est satisfait du résultat, sinon tout est perdu au prochain démarrage ... À propos : en bas de toutes les fenêtres se trouve un cadenas. Ce cadenas vous indique si la page est protégée ou pas. Si le cadenas est fermé, la visualisation va s'arrêter de défiler ou l'appui sur un bouton n'aura aucune action. Pour ouvrir le cadenas, il suffit soit de cliquer sur le cadenas, soit d'appuyer sur un bouton - "Send" par exemple - pour libérer la page. 8 - Restauration d'une config Ok, je vous ai montré comment sauvegarder votre config initiale, au cas où... mais à tout moment, lorsque vous êtes satisfait de votre config, vous pouvez la sauvegarder, l'archiver sur votre PC, la dupliquer sur vos autres GPS, la partager avec vos copains... ce que vous voulez. Fini les fastidieuses reconfigurations de GPS, il suffit de réinjecter un fichier de config, on sauvegarde et fini ! Demandez à vos copains une config fonctionnelle et optimisée, injectez dans le vôtre et partez voler direct sans même avoir à comprendre le pourquoi du comment... personne ne vous l'avait dit celle-là ? Un fichier de config de GPS est de la sorte : MON-VER - 0A 04 A0 00 52 4F 4D 20 43 4F 52 45 20 33 2E 30 31 20 28 31 30 37 38 38 38 29 00 00 00 00 00 00 00 00 30 30 30 38 30 30 30 30 00 00 46 57 56 45 52 3D 53 50 47 20 33 2E 30 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 50 52 4F 54 56 45 52 3D 31 38 2E 30 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 47 50 53 3B 47 4C 4F 3B 47 41 4C 3B 42 44 53 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 53 42 41 53 3B 49 4D 45 53 3B 51 5A 53 53 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CFG-ANT - 06 13 04 00 1B 00 F0 B9 CFG-DAT - 06 06 02 00 00 00 CFG-GNSS - 06 3E 3C 00 00 20 20 07 00 08 10 00 01 00 01 01 01 01 03 00 01 00 01 01 02 04 08 00 01 00 01 01 03 08 10 00 00 00 01 01 04 00 08 00 00 00 01 03 05 00 03 00 00 00 01 05 06 08 0E 00 01 00 01 01 CFG-INF - 06 02 0A 00 00 00 00 00 07 07 00 07 07 00 CFG-INF - 06 02 0A 00 01 00 00 00 07 07 00 07 07 00 CFG-ITFM - 06 39 08 00 F3 AC 62 2D 1E 03 00 00 CFG-LOGFILTER - 06 47 0C 00 01 00 00 00 00 00 00 00 00 00 00 00 CFG-MSG - 06 01 08 00 0B 30 00 00 00 00 00 00 CFG-MSG - 06 01 08 00 0B 33 00 00 00 00 00 00 CFG-MSG - 06 01 08 00 0B 31 00 00 00 00 00 00 CFG-MSG - 06 01 08 00 0B 01 00 00 00 00 00 00 CFG-MSG - 06 01 08 00 21 08 00 00 00 00 00 00 Au début de la ligne, on a la section suivit des valeurs. On ne va pas aller plus loin, mais si comme moi, vous apprenez à lire directement, vous identifiez très vite les problèmes. Ce fichier peut être réinjecté d'un coup, vous évitant de parcourir toutes les sections pour modifier les valeurs. Comme pour le backup, on retourne dans "tools / Receiver configuration". On sélectionne le fichier que l'on veut réinjecter (1). Et on appuie sur "Transfer file -> GNSS" (2). Remarques : malgré le fait qu'il soit proposé (à gauche de la flèche 2) de sauvegarder tout en NVRAM (paramètres appliqués à chaque redémarrage). J'ai eu de nombreux cas ou cela ne marchait pas. Il est conseillé de doubler la sauvegarde permanente avec un enregistrement manuel dans la section configuration UBX-CFG comme cité un peu plus haut. il se peut pour que vous ayez à charger la configuration deux fois dans le cas ou la vitesse de communication du port série est modifiée durant le transfert. En effet, quand la vitesse est changée, le logiciel va rechercher automatiquement (autobauding) la nouvelle vitesse, et pendant ce temps-là quelques lignes de commandes seront oubliées et en erreur (timeout). Dans ce cas, il vous faut à nouveau recharger la config qui se terminera sans erreur cette fois-ci car il n'y aura pas de perte de transmission. Si vous ne voulez pas vous embettez, vous chargez deux fois la config tout le temps, il y aura 100% de réussite. 9 - Réinitialisation usine du GPS Les GPS reçut de chine où d'ailleurs sont parfois (voire souvent) déja configuré pour un usage qui n'est pas forcément le nôtre. Au lieu de galérer pendant des heures pour comprendre ce qui ne va pas, il est plus simple de repartir de 0. Alors, voici la manière de faire un retour à la config usine. D'abord, on retourne dans la configuration du GPS. "View" -> "Configuration View". On sélectionne la section "CFG" (1), puis "Revert to default configuration" et on valide avec "Send". Tous les paramètres usine seront restaurés, en incluant la vitesse du port (mais si vous êtes en Autobauding, le système va automatiquement basculer la vitesse, sinon le faire manuellement vers 9600 - visible en bas à droite dans la barre de status). Voilà, votre GPS est en configuration usine, seuls les messages NMEA sont envoyés vers la FC. Maintenant on va pouvoir optimiser ... 10 - Vitesse et Optimisation de l'UART Ok, la vitesse du port série définit la vitesse à laquelle transitent les informations échangées entre la FC et le GPS. Plus cette vitesse est élevée, plus le GPS va pouvoir envoyer de volume d'information. Pourquoi a-t-on besoin de changer la valeur par défaut ? Le GPS communique à la FC des messages sur le port série. Ces messages sont par exemple, la vélocité, l'altitude, l'heure, la position géographique, la précision, les infos sur les satellites... Ces messages sont répétés à une fréquence de rafraichissement. Par défaut, c'est 5Hz soit 5 fois par seconde. Un peu de maths : Typiquement, un GPS "tuné"envoie 200 caractères 5 fois par secondes plus les infos satellite (400 caractères toutes les secondes). soit un total de 1400 caractères toutes les secondes. Le port série consomme 10 bits pour chaque caractère (8 pour le caractère + 1 bit start + 1 bit stop). Les données à communiquer sont donc de 1400 caractères x 10 bits = 14000 bits toutes les secondes. Une interface série configurée a 9600 bauds (défaut) ne peut faire transiter (au maximum dans les meilleures conditions) 9600 bits en une seconde... ça passe clairement pas. Exemple reproduit pour vous: Je configure en 9600 (3), UART1 est à 100% d'utilisation (2), et 5509 octets restent sur le carreau (3). La théorie aurait voulu plutôt 4400 que 5500, mais il y a toujours des différences entre la théorie et la pratique... d'où l'utilité de booster encore plus. On passe à 115200 et voila le résultat. La première barre représente l'utilisation instantanée et celle du dessous le maximum. On a de la marge. Attention, il est important que les deux UART qui communiquent entre elles aient les mêmes capacités. La FC de nos drones supporte jusqu'à 115200 bauds. Il ne sert à rien de booster notre GPS au-dessus, il ne pourra pas communiquer avec la FC. 115200 ou 57600 sont de bonnes valeurs. Avec une valeur comme 115200, on n'est pas prêt de perdre des messages... Pour configurer la vitesse de l'UART du GPS, sélectionner "PRT (Ports)" dans la fenêtre de configuration et sélectionner le "Baurate" souhaité pour la target "1 - UART1". Valider avec "Send". Ci-dessous, la config recommandée dans les tutos. Comme d'habitude, n'oubliez pas de sauvegarder dans la NVRAM si besoin (voir chap 7). 11 - Les constellations de satellites Il existe plusieurs constellations de satellites. La puce M8 est capable de recevoir les grandes familles suivantes : GPS: Constellation de 32 satellites du département de la défense Americaine GLONASS: Constellation de 24 satellites du département de la defense Russe GALILEO: Constellation Europeene de 30 satellites BEIDOU: Constellation Chinoise de 37 satellites Parmi ces systèmes, nous ne pouvons en sélectionner que 3 simultanément. J'ai mis en vert ceux qu'il faut activer (par défaut nous avons GPS,GLONASS,QZSS). Pour configurer, sélectionner GNSS dans la fenêtre de configuration et cocher les checkboxs "Enable" pour les constellations que vous souhaitez (rajoutez Galileo - retirer BeiDou). Valider avec "Send". Ci-dessus, la config optimisée. Comme d'habitude, n'oubliez pas de sauvegarder dans la NVRAM (voir chap 7). Pour vérifier la config, c'est "View"dans le menu, puis "Messages View". Dans la fenêtre, sélectionner dans la partie gauche UBX->MON->GNSS On peut voir dans la ligne "Current enabled system" ceux activés avec un petit rappel que l'on peut en avoir que 3 ... 12 - Définition du modèle dynamique C'est quoi le modèle dynamique ? Le GPS possède plusieurs algorithmes de calcul de la position optimisés en fonction du comportement sélectionné (stationnaire, piéton, vélo, automobile, avion ...). Le calcul est plus rapide et plus précis s'il correspond au mode. Il existe 10 modes. D'après ce que j'ai lu dans le datasheet, celui qui correspond le mieux à l'utilisation de nos drones est le mode "0-Portable". Mais les dev de Betaflight considèrent d'autres valeurs ansi que les divers tutos sur le net. Je vous laisse libre de tester. Pour info, voici la liste des modes : Pedestrian est un peu léger (108km/h à l'horizontal et 72km/h en vertical). Airbone, la précision est moins bonne. Portable semble effectivement un bon compromis ... Pour configurer, dans la fenêtre de configuration, on se déplace à la section "NAV5" et on sélectionne ce que vous souhaitez. Valider avec "Send". Comme d'habitude, n'oubliez pas de sauvegarder dans la NVRAM si besoin (voir chap 7). 13 - Fréquence de rafraichissement (rate) On peut modifier la fréquence à laquelle le GPS récupère les données des satellites et calcule ses mesures. Chaque calcul génèrera en retour des messages transmis à la FC au travers de l'UART. Chaque calcul solicitera le CPU et ses ressources. Plus la fréquence est élevée, plus le GPS consomme électriquement et génèrera un grand volume de messages. Dans le datasheet, il est préconisé 1Hz/1000ms (un calcul par seconde - le paramètre par défaut). C'est, d'après eux, suffisant pour tous les usages. La plupart des tuto sur le net recommandent 5Hz, Betaflight initialise aussi à cette valeur ... pourquoi pas ? Etre trop gourmand va résulter en un calcul de la position impossible ou trop de données envoyées sur l'UART. Pour configurer les "rates" du GPS, sélectionner "RATE (Rates)" dans la fenêtre de configuration et modifier "Mesurement Period" avec la valeur souhaitée... Valider avec "Send". Ci-dessus, la config optimisée avec la recommendation. Comme d'habitude, n'oubliez pas de sauvegarder dans la NVRAM (voir chap 7). Pour vérifier, ouvrir la console affichant les trames de packets envoyé et reçus : On retrouve bien 5 blos de messages dans la même seconde. 14 - Les protocoles NMEA, UBX, RTCM et filtrage NMEA qui veut dire "National Marine Electronics Association", édité par l'association du même nom, elle a pour but de définir un standard d'interface pour l'industrie électronique. Le standard NMEA autorise l'addition de messages propriétaires spécifiques. La seule obligation est que ces messages doivent être tous préfixés par une mnémonique identifiant le constructeur. Et devinez quoi ? u-blox, le fabriquant de la puce NEO-M8N, a choisi le préfix UBX. Puisque le standard l'autorise, son protocole peut se substituer totalement à NMEA. C'est pour cela que vous avez le choix dans Betaflight/Emuflight/INav entre le protocole NMEA ou UBX. À non ... les développeurs ont confondu le nom de la société et le nom du protocole... vous trouverez UBLOX dans le choix du protocole à la place de UBX ... personne ne peut être parfait. Faudrait peut-être que j'ouvre un ticket ... Pour être complet, il y a aussi un autre protocole, RTCM (Radio Technical Commission for Maritime Services), utilisé pour améliorer la précision du GPS en lui fournissant des informations de correction de position... dans tous les tutos, on nous demande d'ajouter ce protocole en entrée, perso, il n'y aucune référence à un message RTCM dans le code de Betaflight. Comme moi, vous pouvez le retirer, cela ne changera rien, et mettez "0+1 - UBX+NMEA" en "Protocol in". Alors, maintenant que les présentations sont faites, il va falloir indiquer au GPS les protocoles que l'on va supporter dans les échanges GPS vers FC et vice-versa. Pour cela on retourne dans "PRT (Ports)" dans la fenêtre de configuration et sélectionner le "Protocol in" et "Protocol out". Valider avec "Send". "Protocol in" : C'est ce que la FC va envoyer au GPS. Donc messages de configuration du GPS. "Protocol out" : C'est ce que le GPS va envoyer à la FC. Ci-dessus, je laisse les 2 protocoles, comme ça, le choix vous appartient de sélectionner l'un ou l'autre dans votre FC ... mais moi, le choisis "0 - UBX" car je n'utilise par NMEA. Il est à bien noter que cette configuration n'active pas les protocoles. C'est un filtre que l'on met sur l'UART dans le sens TX (Protocol out) et RX (protocol in). Si vous n'autorisez pas les protocoles, les messages correspondants seront automatiquement mis à la poubelle, d'où l'importance de définir correctement ces champs. Comme d'habitude, n'oubliez pas de sauvegarder dans la NVRAM si besoin (voir chap 7). 15 - Les messages NMEA et UBX Là, on rentre dans le vif du sujet. Comment on configure le GPS, comment la FC reçoit le fix, les coordonnées géographiques, la vitesse, la distance ? Tout échange de données entre la FC et le GPS est basé sur une notion de message. Exemple : Pour effectuer un reset de la position Home, la FC envoie au GPS un message CFG-RST avec le protocole UBX (UBX->CFG-RST) En fait, chaque fois que, dans l'interface, vous sélectionnez une section, et appuyez un "Send", vous envoyez un message au protocole UBX sur l'UART... Même chose pour le sens retour, le GPS vous envoie des messages. Exemple : un message UBX - NAV - POSLH envoyé à la FC avec la position géographique, la hauteur et l'estimation de la précision. Les protocoles UBX et NMEA définissent des centaines de messages différents. Activer tous les messages saturerait sans aucun problème le lien entre les UARTs résultant en la perte de beaucoup d'information. Par contre, ne pas transmettre les messages attendus par Betaflight résulterait en un lock impossible, pas d'info sur la vitesse ou la position géographique. L'optimisation va nous permettre de définir seulement les messages que Betaflight/Emuflight et Inav attendent et filtrer les autres, donc optimiser le CPU, l'utilisation des UARTs et garantir 100% des fonctionnalités. Pour cela il faut d'abord lister dans le code de Betaflight les messages utilisés pour la navigation. Le fichier qui contient le code est celui-ci : https://github.com/betaflight/betaflight/blob/master/src/main/io/gps.c Nous allons retrouver 3 définitions de messages de navigation pour NMEA et 5 pour UBX : #define FRAME_GGA 1 /* Global Positioning System Fix Data */ #define FRAME_RMC 2 /* Recommended Minimium Data */ #define FRAME_GSV 3 /* GNSS Sattelites in View */ enum { PREAMBLE1 = 0xb5, PREAMBLE2 = 0x62, CLASS_NAV = 0x01, CLASS_ACK = 0x05, CLASS_CFG = 0x06, MSG_ACK_NACK = 0x00, MSG_ACK_ACK = 0x01, MSG_POSLLH = 0x2, /* Geodetic position solution */ MSG_STATUS = 0x3, /* Receiver navigation status */ MSG_SOL = 0x6, /* Navigation solution information */ MSG_VELNED = 0x12, /* Velocity solution in NED frame */ MSG_SVINFO = 0x30, /* Space vehicle information */ MSG_CFG_PRT = 0x00, MSG_CFG_RATE = 0x08, MSG_CFG_SET_RATE = 0x01, MSG_CFG_NAV_SETTINGS = 0x24 } ubx_protocol_bytes; Si vous voulez connaitre le contenu de chacun des messages, vous trouverez la définition dans le datasheet fourni au début de l'article. Nous allons donc restreindre l'envoi de messages dans le GPS à ces messages seuls. Il est à noter que si, dans le futur, les développeurs de Betaflight rajoutent des fonctionnalités basées sur d'autre messages, il faudra venir les rajouter ... de plus je laisse les messages NMEA dans l'étude, mais, perso, je les retire car je n'utilise que UBX comme protocole. Pour cela on retourne dans Configure - > MSG (Messages). Vous allez devoir sélectionner en premier le message souhaité, puis sélectionner l'interface sur lequel le message sera envoyé (nous c'est l'UART1). Il est inutile de sélectionner les autres interfaces, les laisser consommerait des ressources inutiles. A côté se trouve le coefficient diviseur : si vous laissez 1, cela veut dire que le message sera envoyé à tous les cycles du rate (paragraphe 13) que vous avez défini. Si vous mettez 2, c'est une fois tous les deux cycles et ainsi de suite. Cela vous permet de limiter la fréquence de certains messages. Nous allons l'utiliser pour limiter l'envoi des données sur les satellites qui a une importance relative comparée aux coordonnées géographiques ou la vélocité ... Voici ce que je recommande: Commencer par retirer la totalité des messages envoyés. Comme ça, c'est clair. Si vous réussissez, la diode bleue s'arrête totalement de clignoter, plus aucun message n'est envoyé. Puis ajouter ces messages : 01-06 NAV-SOL, Interface UART1, Diviseur 1 01-03 NAV-STATUS, Interface UART1, Diviseur 1 01-30 NAV SVINFO, Interface UART1, Diviseur 5 01-12 NAV-VELNED, Interface UART1, Diviseur 1 01-02 NAV-POSLLH, Interface UART1, Diviseur 1 F0-00 NMEA GxGGA, Interface UART1, Diviseur 1 (optionel) F0-03 NMEA GxGSV, Interface UART1, Diviseur 1 (optionel) F0-04 NMEA GxRMC, Interface UART1, Diviseur 1 (optionel) Terminer par "Send". La diode bleue doit recommencer à clignoter signifiant l'envoi de données par le GPS. 14 - Checklist configuration GPS Une petite pause pour rappeler les étapes de la configuration du GPS. On fait un backup de la config On effectue une remise a zéro de la configuration du GPS (UBX-CFG-CFG) On configure le port UART (UBX-CFG-PRT) : vitesse (115200 bauds) et le filtrage des messages non NMEA/UBX sur le TX et le RX On configure les rates à 200ms (5Hz) dans UBX-CFG-RATE On rajoute Galileo et on retire BeiDou dans UBX-CFG-GNSS On configure le profile de navigation Portable dans UBX-CFG-NAV5 On retire tout les messages sur toutes les interfaces UBX-CFG-MSG On rajoute la liste de messages NMEA/UBX du paragraphe 15 dans UBX-CFG-MSG On sauvegarde la config en mémoire non volatile dans UBX-CFG-CFG On refait un backup de la config dans un nouveau fichier texte sur le PC que l'on archive bien On est prêt à configurer le drone maintenant. 15 - Configuration Betaflight/Emuflight Connexion physique sur la FC : On sélectionne une UART libre sur la FC composé d'un TX et un RX. On relie un TX à un RX et vice-versa. On commence par l'onglet "Ports" : Pour l'UART choisie, aller dans la colonne capteur et selectionner "GPS" puis sélectionner la vitesse. Là vous aurez deux choix. Soit vous laissez la FC chercher la vitesse et vous mettez sur AUTO (*). Soit vous fixez directement la vitesse (choix préféré). (*) Dans le code source de Betaflight, la FC teste les vitesses suivantes: 9600, 19200, 38400, 57600, 115200. Si dans le GPS vous définissez une vitesse non supportée, le mode AUTO ne fonctionnera pas. On passe à l'onglet "Configuration" : Dans le cadre "GPS", on commence activer le GPS, on choisit le protocole, de préférence UBLOX - UBX en vrai). Ensuite, vous pouvez activer la recherche automatique de la vitesse de l'UART "Baud Auto" ou pas. Même chose que dans l'onglet "Ports". Vous pouvez sélectionner "Config Auto" ou pas. Un petit paragraphe est nécessaire pour ce paramètre. En premier, il n'a d'effet que si vous avez sélectionné le protocole UBX (pardon UBLOX dans le configurateur). Donc, si vous êtes en UBX et que "Config auto" est selectionné, à la mise sous tension du drone, Betaflight va envoyer la liste de messages de configuration suivants aux GPS (encore un peu de reverse-engineering dans le code source): Reset factory sans sauvegarde en NVRAM (startup config) Passage de la vitesse de l'UART à 19200 Passage en mode piéton ou airbone Retrait des messages NMEA VGS, GSV, GLL, GGA, GSA, RMC Activation les messages UBX POSLLH, STATUS, SOL, SVINFO (tous les 5 cycles), VELNED Configuration des rates à 5Hz - 200ms Configuration du service d'augmentation de la précision (SBAS) en fonction de ce que vous choisissez dans le champ "Type d'assistance au sol"... A noter : A la mise sous tension du drone, Betafligh exécute en premier un reset usine du GPS, c'est à dire que toutes les modifications que vous avez apportées par vous même dans le GPS ne sont plus prises en compte !!! Betaflight ne sauvegarde pas dans la NVRAM à la fin. Donc, à la fin de la Lipo, après extinction du drone, les modifs Betaflight seront perdues. Donc, pour résumer, si vous sélectionnez "Config auto", oubliez toute la config du GPS, Betaflight retirera tout à chaque démarrage du drone et appliquera ses paramêtres qui sont globalement les mêmes que dans tous les tutos (même la constellation "Galileo"). Si vous souhaitez utiliser votre configuration de GPS, mettez "Config auto" a OFF. Onglet "CLI" : des commandes ne sont pas disponibles dans l'interface graphique, mais seulement en CLI. Celle de la prise en compte de la constellation Galileo : set gps_ublox_use_galileo = on (ou off) Celle de la modification du mode dynamique : set gps_ublox_mode = AIRBORNE (ou PEDESTRIAN) Utilisées seulement dans le cas de "Config Auto" sélectionné, sinon, cette commande n'a aucun effet. Vérification du bon fonctionnement du GPS dans l'onglet "GPS". exemple ci-dessous. Ça parle tout seul. 18 - Commandes CLI serialpassthrough et gpspassthrough L'utilisation d'un adaptateur USB/série (FTDI par exemple), n'est pas obligatoire (conseillé quand même). Une fois que tout fonctionne, il n'est plus simple d'utiliser le drone monté et configuré pour piloter le GPS sans aucune modification matérielle. Vous pouvez utiliser u-center au travers du contrôlleur de vol. Pour cela, il faudra veiller à connaitre votre configuration sur le PC (port série utilisé, celui utilisé pour connecter Betaflight) Exemple (COM1 ici) : Avec nos FC, avec une version récente de Beta/Emu/Inav on peut trouver deux fonctions intéressantes en CLI (Command Line Interface) : serialpassthrough et gpspasstrough. Ces commandes permettent de transformer temporairement une FC en adaptateur USB/série. Veuillez toutefois posséder une version de Beta/Emu/Inav pas trop vieille. 1) La commande "serialpassthrough" permet de transférer toute la communication du port USB vers l'UART de la FC. Il faut fournir en paramètres l'index interne du port UART (égal au numéro d'UART -1 ) ainsi que la vitesse du port UART. Syntaxe : serialpassthrough <num UART -1> <vitesse> Ex: serialpassthrough 5 115200 ---> (UART 6, 115200 bauds) A partir du moment la commande est soumise, l'intégralité du port USB est redirigé: On perd la communication avec la FC (MSP) jusqu'au prochain reboot. 2) La commande "gpspassthrough" récupère directement dans la configuration beta/emu/inav les paramètres de port configurés pour le GPS (UART et vitesse) et invoque serialpassthrough en passant les valeurs. Elle ne nécessite aucun argument. Syntaxe : gpspassthrough Comme pour l'autre commande, à partir du moment la commande est soumise, l'intégralité du port USB est redirigé: On perd la communication avec la FC (MSP) jusqu'au prochain reboot. La procédure est plus compliquée, mais ne nécessite rien de plus que votre câble USB connecté au PC et à votre drone. Attention toutefois, le GPS doit être sous tension : Ce qui implique dans la plupart des cas le branchement de la LiPo. La procédure: Connecter la FC au PC Connecter une LiPo pour alimenter le GPS Ouvrir Beta/Emu/Inav Configurator Connecter le configurateur au drone Aller dans l'onglet CLI (le dernier en bas à gauche) passer la commande "serialpassthrough" ou "gpspassthrough" Fermer le configurateur avec la croix en haut à droite pour libérer le port COM du PC (sinon u-center n'arrivera pas a connecter le port) Demarrer u-center Connecter dans u-center le port COM associé. Pour que la FC revienne en mode de fonctionnement normal, n'oubliez pas de déconnecter la LiPo ainsi que le port USB. Conclusion Je pense avoir couvert la plupart des sujets. Faites-moi vos remarques, je modifierai ou compléterai l'article sur demande. Désolé s'il y a des erreurs, personne n'est infaillible, tout est basé sur mon expérience personnelle, la lecture des datasheets d'UBLOX et du reverse engineering dans le code des developpeurs... Maintenant, à vous de jouer, de tester, de reporter vos trouvailles et de partager vos fichiers de configuration. Voici le mien. BN220-CC06.txt
  2. Bonjour, Voila, je crois que c'est une des premier sinon le premier build d'aile volante de cette catégorie (s'il y en a d'autres je suis curieux de les voir) après tout c'est un drone non? Elle vole super bien malgré le manque de thuning (je fais le faire mais c'est plus long que sur un drone même l'autothune m'aide quand même pas mal a faire les prés réglages) et le vol autonome est pas mal, je lui ai mis un waypont radius de 5m et elle n'en manque pas un c'est génial. De toute façon je vous laisse voir les vidéos vous allez voir, dans les vidéos je vole en 16:9 et le DVR enregistre en 4:3 avec une luminosité bizare mais bon, c'est regardable: Et malgré quelques crash elle est en super bon état, j'ai juste cassé la petite partie au dessus du trou pour la caméra (vois la première photo, on voit la colle) mais ça se colle super bien il n'y a donc pas de problèmes: Voici quelques une compilation de mes fail pour que vous voyiez ce qu'elle c'est pri Le scotch en dessous c'est du scotch de bureau normal pour couvrir les trous dans l'aile et perturber le moins possible le vol de l'aile volante. Ça fonctionne super bien et c'est pour ça que dans le dvr on n'entend pas le vent, le scotch empêche l'air de renter preuve que ça fonctionne De coup merci a @CriTof et @Attafr je reposte car la première fiche ne fonctionnais pas bien.
  3. Bonjour tout le monde, débutant dans le milieu du drone, j'ai récemment récupéré un châssis Robocat tout nu, assemblé avec des composants plus actuels : -Contrôleur de Vol Flight Controller Matek Systems F722-STD STM32F722 F7 OSD -Carte de puissance Carte 40A BLheli_S 2-6S 4in1 Brushless ESC -Récepteur FrSky R-XSR Ultra SBUS-CPPM D16 16CH -Batterie LIPO pour Racer 250 Drone 2700 mAh 3S 11.1V 30C -Moteur BR2205 -Radio commande : Taranis QX7 Ce drone a été configuré sur INAV. Le montage fini, la radio fonctionne , le GPS est OK, la calibration aussi. Les soudures sont cleans. Mon problème : Lors du premier vol, le drone n'a pas dépassé les 5cm (mode tondeuse à gazon) et est incontrôlable. Après vérification avec INAV, j'ai remarqué que la commande moteurs n'était pas uniforme : -quand je commande les moteurs avec l'application INAV, tout fonctionne impeccable. -quand j'arme le drone & mets les gaz avec la radio, les moteurs sont totalement désynchronisés. drone Armé gaz à Zéro : Ok drone Armé gaz à 40% (environ) : Ça part en live Une fois les gaz lancés, si je remets les sticks à zéro, les moteurs eux ne reviennent jamais à Zéro : leur comportement est instable. Ils réagissent/compensent quand on oriente le drone mais, c'est totalement anarchique. Si je laisse le throttle sur une position fixe, certain moteurs peuvent continuer à accélérer ou décélérer. Ma configuration sur INAV : Les ESC ont été configurés avec Blheli : drivers mis à jour & sens de rotation OK. Ça fait maintenant plusieurs semaines que je tourne en rond, je dois avouer que je sèche complètement. Si quelqu'un pouvait m'éclairer. Je lui en serai reconnaissant. Merci par avance. Merci également d'avoir pris du temps de lire. Bonne soirée.
  4. Bonjour ! Je viens de construire mon premier quad avec un ami et lors du test du RTH mon quad a pris trop d'angle et s'est retourné. Pourriez-vous me dire pourquoi et comment palier à ce problème ? Je vole en mode ANGLE. C'est un quad en 450 sous inav. J'utilise les PID par défaut. Merci pour vos réponse.
  5. Bonjour amis pilotes, Je viens vers vous car je rencontre un problème pour la configuration de ma Omnibus F4 Pro v3. Le drone est un tricopter fait maison taille 600, et j'utilise INAV pour mettre un GPS et obtenir le RTH etc... 4 sorties sur ma carte de vol, 3 pour les moteurs et 1 pour le servo de direction yaw. Mon problème : Sous INAV, je n'ai pas réussi a remapper mes sorties via le CLI, les commandes ne passent simplement pas. Je ne suis pas sur non plus d'avoir flasher mon contrôleur avec la bon firmware car j'avais le choix entre OmnibusF4, OmnibusF4 v3 ou OmnibusF4, Pro, alors euhh!!!! 😞 Il est presque terminer mais je m'inquiete de devoir peut être changer de carte si celle-ci n'est pas compatible INAV correctement. Merci d'avance pour votre aide.
×
×
  • Créer...