Nous recevons souvent des demandes d’utilisateurs souhaitant disposer d’enregistrer des données de mouvement ainsi qu’une position GPS, mais ne disposant pas d’une solution de bricolage appropriée autre que celle qui consiste à mettre en place quelques capteurs et définir un protocole permettant de recueillir toutes les informations stockées sur une solution de stockage . Nous avons alors étudié la question et observé ce qui se faisait autour de nous, car nous avions conscience que notre Contrôleur de vol pour drone &Lynxmotion Quadrino Nano UAV disposait de tous les capteurs nécessaires pour répondre à cette demande. C’est ainsi que nous avons découvert renes et son projet multiwiDataLogger sur GitHub. Son projet répond à la perfection à la demande exprimée, et ne nécessite aucune configuration MultiWii spéciale. Il peut donc aussi être utilisé par les personnes qui utilisent le Quadrino Nano comme contrôleur de vol.

Pour comprendre ce tutoriel, vous devez bien connaître l’Arduino IDE et être à l’aise avec les manipulations matérielles de base, comme la connexion de plusieurs éléments ensemble. Cette section ne sera pas traitée dans ce blog.

Éléments nécessaires :

QuadrinoNano Module OpenLog Adaptateur-série-Arduino Carte-SD-Noob Cavaliers Brique
Lynxmotion Quadrino Nano SparkFun OpenLogger Adaptateur série Arduino Carte SD Noob Cavaliers Brique angle droit

1 – Souder l’OpenLogger

L’OpenLogger est livré sans broches et/ou fils. Pour le connecter à un autre élément, vous devrez souder des broches ou des fils sur le PCB. Ce tutoriel n’ayant pas vocation à expliquer comment effectuer la soudure, nous vous montrerons uniquement comment nous avons réalisé la connexion sur notre unité. Les six broches doivent être occupées, car nous avons besoin de charger un nouveau firmware sur la carte. Nous avons décidé d’orienter les broches vers l’intérieur pour obtenir un module final plus compact. Malheureusement, cela a pour effet de cacher partiellement la sérigraphie des broches. À vous donc de choisir comment vous souhaitez opérer.

OpenLog-Avant OpenLog-Arrière
Broches OpenLogger Avant Broches OpenLogger Arrière

2 – Connexion d’OpenLogger à l’adaptateur série

L’OpenLogger est livré avec un firmware qui enregistrera tout ce qui sera transmis sur ses ports série. Cependant, le firmware MultiWii n’enverra aucune information, à moins d’y être invité par le biais d’une requête transmise par un dispositif. C’est pourquoi il est nécessaire de charger un nouveau firmware sur l’OpenLogger, qui demandera l’information et l’enregistrera.

Ce dispositif est conçu pour être directement connecté à n’importe quel port FTDI sur un Arduino, de sorte que les broches TX/RX sont déjà échangées. Pour le reprogrammer, vous devez connecter le FTDI/adaptateur série correctement, en inversant la connexion pour établir une connexion TX / RX adéquate.

OpenLog-QN-Petit USB2Serial-OpenLogger USB2Serial-Connexion
OpenLogger Côté OpenLogger Ensemble Adaptateur série OpenLogger

Remarque : Si vous utilisez l’adaptateur Arduino USB2SERIAL , assurez-vous d’installer les pilotes manuellement, conformément aux recommandations du fabricant, répertoriées dans la rubrique Installation & Pilotes.

3 – Chargement du Firmaware sur l’OpenLogger

Pour charger le firmware, vous aurez besoin des fichiers de projet multiwiiDataLogger , ainsi que du dernier Arduino IDE.

    • Décompressez le projet (complet, tel qu’il apparaît dans le fichier zip)
    • Ouvrez le fichier « datalogger.ino » (tous les autres fichiers doivent s’ouvrir sous forme d’ « onglets » dans Arduino IDE)
      • Si vous utilisez les fichiers multiwiiDataLogger originaux, vous devez régler la broche à 10 dans « cardlogger.ccp »
    • Connectez votre OpenLogger/Adaptateur série à l’ordinateur
    • Sélectionnez la carte Arduino UNO
    • Sélectionnez votre propre port COM
    • Cliquez sur le bouton « Charger »
Extraction ZIP ArduinoIDE-Ouvrir ArduinoIDE-Sélection de puce  USB2SERIAL-Connexion-02 ArduinoIDE-Carte ArduinoIDE-COM ArduinoIDE-Charger
Décompresser les fichiers Ouvrir le projet Sélectionner la puce Connexion USB Carte UNO Port COM Charger

4 – Connexion de l’OpenLogger au Quadrino Nano

Pour connecter l’OpenLogger au Lynxmotion Quadrino Nano, vous aurez besoin de l’un des câbles UART/série (fournis avec le Quadrino Nano). Vous pouvez choisi indifféremment l’un ou l’autre port du contrôleur : en effet, le logiciel MultiWii est conçu pour utiliser indifféremment n’importe quel port qui mette en place le bon protocole.

Brochage QN-TX-WH OpenLogger-QN OpenLog-QN-Câble QuadrinoNano-Série
Quadrino Nano UART SparkFun OpenLogger OpenLogger Côté Quadrino Nano Côté

5 – Configuration et insertion de la carte SD

Assurez-vous que la carte SD est formatée (habituellement en FAT32) et insérez-la dans votre OpenLogger.

OpenLog-SD-01 OpenLog-SD-02
OpenLogger SD Sortie OpenLogger SD Entrée

6 – Acquérir des données

C’est l’étape la plus simple : si vous avez tout connecté, et que le Quadrino Nano est uniquement alimenté par câble USB ou standard au niveau du port ESC, l’OpenLogger devrait commencer à écrire des données sur la carte SD.

7 – Ouvrir et lire les données

Les fichiers sont créés au format CSV et cinq fichiers individuels se trouvent dans le dossier du journal.

rc.csv
  • enregistre les entrées transmise par la télécommande
  • Format : millis;roll;pitch;yaw;throttle
  • valeurs comprises entre 1000 et 2000, sur un récepteur RC normal, par exemple 1500 = centré,
imu.csv
  • enregistre les données brutes des capteurs.
  • Format : millis;accX;accY;accZ;gyroX;gyroY;gyroZ
angle.csv
  • enregistre l’angle calculé.
  • Format : millis;X;Y;heading
  • les valeurs pour X et Y sont comprises entre -1 800 et 1 800 en 1/10 de degré, le cap est compris entre -180 et 180 degré
gps.csv
  • enregistre les données GPS.
  • Format : millis;avecGPSFix;nombredeSats;lat;lng;altitude;vitessesol
  • hasGPSFix: 0 = non, 1 = oui, lat, lng : en 1/10 000 000 deg, altitude : mètres, vitesse au sol : cm/s

Nous avons commencé le développement du cinquième journal, qui permet d’obtenir l’heure GPS et la date, mais cette fonction n’a pas encore été mise en œuvre. Elle exige des changements dans le code MultiWii pour récupérer préalablement les informations du GPS, ce qui n’est pas le cas à l’heure actuelle, et inclure ces informations dans le protocole MultiWii standard. Le code actuel demande les informations à MultiWii, mais MultiWii le rejette car il ne fait pas partie du protocole par défaut.

GPS_TIME.CSV
  • enregistre la date et l’heure GPS.
  • Format: millis;semaine brute;moment de la semaine

8 – Utilisation de multiwiiDataLogger

Le multiwiiDataLogger va créer un nouveau dossier à chaque mise sous tension (LOG_X)

Notre version actuelle est une version légèrement modifiée qui inclut une classification des signaux LED pour dépannage. Cette fonction n’était pas présente dans le code original.

LED d’état bleu
  • 3 clignotements – Initialisation
  • Clignotement rapide – Erreur de carte SD (pas de carte)
  • Clignotement lent – Communication avec MultiWii
LED verte
  • Clignotement – Lecture SPI
Ouvrez les CVS

Il existe de nombreuses façons d’ouvrir les fichiers CVS. L’une d’entre elles consiste tout simplement à les importer à partir d’une feuille de calcul Google en utilisant le séparateur « ; ». Vous serez ainsi en mesure de voir les données. L’utilisation d’ OpenOffice ou de Microsoft Excel constitue également une bonne option.

multiwiiDataLogger-RC multiwiiDataLogger-IMU multiwiiDataLogger-Angle multiwiiDataLogger-GPS
RC.CSV IMU.CSV ANGLE.CSV GPS.CSV

Maintenant que vous disposez de tous ces journaux, vous pouvez utiliser votre propre application pour les représenter. Si vous choisissez de les mettre en œuvre dans une application personnalisée, nous serions ravis de voir les résultats finaux. N’hésitez pas non plus à utiliser le code comme bon vous semble pour l’améliorer et y ajouter plus de fonctionnalités.

Un grand merci à Sebastien Clarette, qui a amélioré le MultiWii et le code multiwiiDataLogger.