Versions 5 et 6 de AgOpenGps
Sur les versions 5 et 6, les BNO080 et BNO085 sont des IMU prévus de base. Ils fonctionnent avec les fichiers INO correspondants à la version.
Version 4.3.10 de AgOpenGps
L'utilisation de cet IMU nécessite le téléversement d'un fichier INO spécifique pour être pris en charge par AgOpenGPS version 4.3.10.
Ce fichier est téléchargeable sur ce Github.
Il s'agit d'une version adaptée du code INO original AgOpenGPS Autosteer USB 4.3.10 ( https://github.com/farmerbriantee/AgOpenGPS/ ) pour utiliser BNO08x au lieu de MMA / Dogs2 (pour le roulis) et / ou BNO055 (pour le cap) . BNO08x est une unité de mesure inertielle qui utilise un accéléromètre à 3 axes, un gyroscope à 3 axes et (éventuellement) un magnétomètre à 3 axes pour fournir les angles de lacet, de tangage et de roulis. Ce code est compatible avec la carte Adafruit BNO085 ou Sparkfun BNO080. Le code est basé sur la bibliothèque Sparkfun BNO080, avec une amélioration spécifique de la bibliothèque pour les besoins d'AgOpenGPS. Avec ce code, vous pouvez choisir de :
Connectez votre carte BNO085 à votre PCB AgOpenGPS comme suit :
Il est possible d'utiliser un câble de référence “JST SH 4-PIN CABLE” pour le brancher directement sur la prise du BNO085 (les branchements avec ce connecteur se trouvent sur la partie SupportFiles>Schematics téléchargé à partir de Github)
Notez que la broche 3,3 V de la carte de dérivation BNO085 est la sortie du régulateur de tension intégré.
Connectez votre carte BNO080 à votre PCB AgOpenGPS comme suit:
La flèche rouge doit être vers l'avant(sens de marche du tracteur ou autre) le module doit être bien a plat a l'horizontale sur le tracteur et bien fixé, ceci pour éviter toute modification du cap pendant le travail.
Pensez à bien vérifier que le devers indiqué correspond au sens de la pente (Cf image). Sinon cliquez sur Invert Roll pour inverser le sens du devers.
Le fichier “Autosteer_USB_4.3.10_BN08x.ino” doit être placé dans le dossier … \ Support_Files \ ArduinoCode \ Autosteer_USB_4.3.10 au lieu du fichier original “Autosteer_USB_4.3.10.ino”. Les fichiers «BNO08x_AOG.cpp» et «BNO08x_AOG.h» doivent également être placés dans le dossier … \ Support_Files \ ArduinoCode \ Autosteer_USB_4.3.10 (ce sont des fichiers supplémentaires qui ne remplacent aucun autre fichier du dossier)..
Ensuite, vous pouvez ouvrir le “Autosteer_USB_4.3.10_BN08x.ino” avec Arduino IDE.
Au début de l'esquisse, vous trouverez quelques lignes de configuration :
Pour “utilisateur non avancé”, laissez les lignes de configuration avec “utilisateur avancé” avec les valeurs par défaut.
BNO08x_ADRESS : adresse du BNO, choisissez 0x4A pour la carte Adafruit BNO085, 0x4B pour la carte Sparkfun BNO080
USE_BNO08X_ROLL : mis à 1, cela forcera le .INO à utiliser le BNO08x pour rouler au lieu de MMA / DOGS2 (quel que soit l'inclinomètre que vous avez choisi dans la page de configuration du module AOG)
USE_BNO08X_HEADING : mis à 1, cela forcera le .INO à utiliser le BNO08x pour l'en-tête au lieu de BNO055 (peu importe si BNO est sélectionné ou non dans la page de configuration du module AOG)
USE_GAME_ROTATION : pour les utilisateurs avancés, utilisez le rapport vectoriel de rotation du jeu (BNO08x n'utilise que le gyroscope et l'accéléromètre pour fournir les valeurs de lacet, de tangage et de roulis) lorsqu'il est réglé sur 1 (dans ce mode, le cap n'est pas référencé au nord). S'il est défini sur 0, utilisez le rapport vectoriel de rotation (BNO08x utilisera un magnétomètre, un gyroscope et un accéléromètre pour fournir les valeurs de lacet, de tangage et de roulis). En mode Rotation Vector, le cap est normalement référencé au nord, mais pour ce faire, il est nécessaire d'étalonner le magnétomètre (voir le chapitre d'étalonnage ci-dessus).
REPORT_INTERVAL : pour les utilisateurs avancés, si vous souhaitez modifier l'intervalle de rapport du rapport de vecteur de rotation (ou de rotation de jeu)
ENABLE_GYRO_CAL : pour utilisateur avancé :
Ensuite, vous pouvez télécharger le croquis sur votre Arduino Nano.
Même si vous choisissez d'utiliser BNO08x pour le roulis, dans la page de configuration du module AOG vous pouvez toujours choisir l'axe d'inclinomètre: le menu de sélection “Axe MMA”, changera l'axe BNO08x utilisé pour le roulis. Si vous avez besoin d'inverser la valeur de roulis pour BNO08x, il vous suffit d'activer «invert roll» dans la page de configuration du module AOG.
Crédits : Mathieu Santin