AgOpenGPS
* Important *
Ce logiciel est destiné à la discussion et à l'apprentissage des algorithmes et des techniques de l'Agriculture de Précision. Il ne doit en aucun cas être utilisé sur un équipement physique et ne doit être utilisé que par un simulateur.
Toute utilisation d'AgOpenGPS sur un équipement physique réel n'est pas autorisée et n'est en aucun cas recommandée, que ce soit hors route ou sur route.
Il n'a aucune limite de sécurité intégrée ou implicite ce qui rend le logiciel dangereux
AgOpenGPS est uniquement un exemple de programmation C # à des fins de démonstration seulement et ne doit pas être utilisé à d'autres fins.
Logiciel de cartographie et de contrôle de section
Ce logiciel lit des trames NMEA dans le but d'enregistrer et de cartographier des informations de position pour un usage agricole. De plus, il peut contrôler jusqu'à 8 sections pour éviter la sur-application de produits.
Il calcul également l'angle delta et la distance par rapport à la ligne de référence pour la ligne AB et le guidage du contour.
Ce qui est fourni est une application, et les dossiers source, avec UDP, TCP / IP et simulateurs série NMEA.
AgOpenGPS tourne sur Windows.
La résolution minimium requise est 1366 x 768.
1920 x 1080 est préférable, et au-dessus aussi comme le Acer transformer 300, Acer Switch 12, Microsoft Surface, ou encore mieux Samsung. Un écran tactile est préférable.
Soyez attentif quand vous achetez une tablette pour qu'elle ait assez de port USB. Vous devez charger la tablette et utiliser les ports USB pour communiquer avec les éléments externes (arduino, …) en même temps.
Télécharger le logiciel sur https://github.com/farmerbriantee
Contenu des dossiers:
Sim:
Ag:
Ouvrir agopgengps.exe Il se trouve dans le dossier de l'application et à un petit icône bleu.
Le simulateur de GPS simule des signaux NMEA GPS et est ouvert automatiquement. Ceci se vérifie en regardant la fenêtre d'info sur le GPS. La latitude est de type 53.xxx et la longitude est -111.xxx et c'est en PPS fix
Si vous souhaitez vous connecter à un récepteur GPS; config>ports ouvre une fenêtre o^il faut sélectionner le port COM de votre récepteur.
Ouvrir: Options/USB Ports
Sélectionner le port USB de l'antenne et la vitesse de transmission (baudrate)
Cliquer sur Connect
Options pour GPS RTK (liste non exhaustive):
Signal L1
Nom | Prix |
---|---|
uBlox M8T or M8P | 75 $ |
NS-HP-BD | 100$ |
NV08C-RTK-A | |
Emlid Reach+ | 235 $ |
Emlid Reach RS+ | 799 $ |
Signal L1 / L2
Nom | Prix |
---|---|
Swiftnav Piksi Multi | 600 $ |
ComNavTech K501G | >1000 $ |
Tersus GNSS BX305/BX306/BX316 | 1000-1800 $ |
North Surveying RTKITE | 2200$ |
Sxblue |
Exemple pour fabriquer un récepteur GPS
Je l'ai fait comme suggéré par spunky ici: liste de commande page 35 photo page 37 https://www.landtreff.de/einfache-parallelfahrhilfe-fur-dein-android-gerat-t5428-510.html
Matériel utilisé :
Installation: Pour programmer le module BT, connectez-le avec le module USB UART (croiser RX et TX!). Peut-être vous devez installer un pilote pour le USB UART PL2303HX (web). En tant que programme terminal, vous pouvez utiliser par ex. TERMITE pour programmer le module BT: AT = BAUD8 signifie vitesse série 115200 Baud. Le module devrait répondre cette fois dans TERMITE, avec la commande “AT” normalement il ne répond pas. ATTENTION: si la vitesse est modifiée, elle doit également être modifiée dans les paramètres de TERMITE, sinon vous ne verrez plus le module. La commande AT = NAMESETGPS change le nom Bluetooth en “module GPS”. Le module GPS est connecté via USB pour la programmation avec U-Center (page d'accueil U-Blox). Ne changez que la vitesse de série à 115200 et ajoutez pour Europa Galileo et DGPS Egnos, enregistrer les changements (marquez tous les 4 positions pour enregistrer). Plus tard, vous pouvez utiliser le U-Center via Bluetooth COM virtuel.
Au module GPS, vous soudez soit 4 câbles, soit mieux un connecteur 1,27 mm à 4 broches vers GND / Vcc / RX / TX. Ce module GPS fonctionne de 3,3 à … V donc la batterie 3,7V est très bien. Le module chargeur se trouve entre le GPS, le module Bluetooth et la batterie. Entre la batterie et le chargeur, je mets un fusible de 500 mA. Vous connectez le chargeur à l'USB et les appareils sont alimentés et la batterie se charge. Pour la communication BT et GPS sont connectés via RX / TX (croisés). L'UART (RX / TX) est normalement activé dans l'UBlox, vous n'avez rien à faire, les phrases qu'il envoie s'adaptent également à AgOpenGPS. Si vous avez besoin de RTK le module peut le traiter, mais je ne sais pas comment, je n'utilise pas RTK pour le moment.
Les prix sont des estimations. Chaques systèmes ont des fonctions différentes.
Vous avez besoin d'un arduino uno/nano.
Pour commencer aller sur https://www.arduino.cc/ et télécharger Arduino IDE.
Vous en avez besoin pour les pilotes USB et pour la config de l'arduino.
Allez dans votre dossier agopengps / Autosteer et ouvrez autosteer.ino
Sélectionnez le port et le type d'arduino et essayez de le télécharger sur votre arduino.
Tutoriel sur https://www.arduino.cc/en/Guide/ArduinoUno ou https://www.youtube.com/watch?time_continue=11&v=d8_xXNcGYgo
Schéma de cablage pour l'arduino
W. Eder a développé un circuit pour le contrôle de section, basé sur l'Arduino Nano. Il s'adaptera pour le plus de besoins. Il prend en charge 7 sections, 1 régulation de débit, commutateurs de section, commutateur AUTO / MAN, interrupteur marche / arrêt principal et commutateur de pression / débit. Vous pouvez facilement le changer pour 2 débits en utilisant seulement 5 sections … Les relais pour les sections un changeur 2 pôles, donc tous les cas comme: pulvérisation sur +, arrêt sur +, ou sur: +/- off: - / + sont possible .
Ce n'est que pour tester, pas de garantie, que cela fonctionnera. Construisez-le à vos risques et périls.
Si nous sommes prêts avec les tests et la programmation, nous allons ajouter une liste de pièces pour le PCB.
Capteur angulaire de direction (Hauteur de caisse) : Delphi ER10031 ou pour les canadiens, une version moins cher https://www.princessauto.com/en/detail/automotive-headlight-cover-lifter-sensor/A-p8735755e
Commande du moteur : Cytron Technologies MD30C
Inclinomètre : TE Connectivity G-NSDOG2-001 (+/- 25 deg)
Capteur de cap BNO055 ou Tinkerforge Brickv2 IMU
Arduino : Arduino UNO Note: La connexion à l'Uno peut être facilité via un module d'adaptateur de bornier à vis et montage sur rail DIN pour arduino UNO R3
GPS : Votre choix. Doit émettre une trame GGA au minimum. Connecté via USB, Bluetooth, TCP ou UDP.
Bote de montage : Pour le moment, c'est à votre convenance. Une possibilité est une boite de dérivation étanche 200x120x75mm. L'arduino et le Cytron à l'intérieur, Le GOG2 dessus la boite.
Alimentation de l'Arduino via l'USB du PC.
Alimentation du Dog2 via l'Arduino
Alimentation du Cytron via une source 12V du vehicule.
Si vous n'avez pas de capteur de stabilité (IMU), il faut changer le code :
// if there is no gyro installed send 9999 // Serial.print(9999); //heading in degrees * 16 Serial.print(IMU.euler.head); //heading in degrees * 16 Serial.print(","); // if no roll is installed, send 9999 //Serial.print(9999); //roll in degrees * 16 Serial.print((int)XeRoll); //roll in degrees * 16 Serial.print(",");
par :
// if there is no gyro installed send 9999 Serial.print(9999); //heading in degrees * 16 // Serial.print(IMU.euler.head); //heading in degrees * 16 Serial.print(","); // if no roll is installed, send 9999 Serial.print(9999); //roll in degrees * 16 // Serial.print((int)XeRoll); //roll in degrees * 16 Serial.print(",");
Il y a différentes possibilités d'utiliser le titre :
Pour le roulis:
Vous avez besoin de quelque chose comme cela :
ou
Vous pouvez trouver de tels capteurs dans chaque voiture pour le contrôle de la hauteur des phares ou pour la suspension. La plupart d'entre eux ont 3-6 connecteurs.
Ou un équivalent comme un potentiomètre linéaire en 5V.
La plupart des capteurs de ce type ont ce type de câblage :
1 : + 2 : - 4 : signal
A connecter comme sur l'image (5V - GND - A0)
Ouvrir options/usb ports et sélectionner le port COM de l'arduino et cliquer sur connect.
cliquer sur
et ouvrir steer wizard
Si vous avez une valeur dans raw data - vous êtes chanceux!
Suivre les instructions sur l'écran.
Vous avez besoin :
http://www.robotshop.com/ca/en/cytron-30a-5-30v-single-brushed-dc-motor-driver.html
comme carte de commande du moteur
et un moteur a ~300tr/min comme
https://www.phidgets.com/?tier=3&catid=19&pcid=16&prodid=299
(le moteur est en 24V mais il fonctionne très bien en 12V)
Vous aurez besoin de connaître le type de circuit hydraulique utilisé par votre tracteur. Il s'agit généralement d'un centre ouvert ou d'un centre fermé de détection de charge (CCLS). vous pouvez le constater en vérifiant l'unité Orbitrol à l'avant de la colonne de direction. S'il y a 4 tuyaux, c'est OC; sinon s'il y a 5 tuyaux, c'est CCLS. Le cinquième tuyau transmet un signal à la pompe chaque fois qu'il y a une demande de débit. Certains tracteurs pressurisent le tuyau, d'autres le dépressurisent lorsqu'ils demandent du débit. Vous aurez besoin de savoir quel style votre machine utilise. Un manuel d'atelier pour votre tracteur est utile à ces fins.
Si votre tracteur est OC, vous aurez besoin d'une valve comme celle-ci :
https://www.savery.co.uk/products/view/sp10-47c-spool-4-way-3-position-closed-center
Si votre tracteur est CCLS, vous aurez besoin d'une valve comme celle-ci :
https://www.savery.co.uk/products/view/sp10-57c-spool-5-way-3-position
vous aurez également besoin d'une carte de pilote de moteur double comme ceci :
Vous devrez ensuite brancher la Pression (P), Retour réservoir (T), A, B (vers le vérin de direction) et LS de l'orbitrol, et les connecter aux ports 5, 3, 4, 2 et 1 de la vanne respectivement. Échangez 5 et 3 si la ligne LS est supposée dépressuriser lorsque le débit est demandé.
Alternativement, vous pouvez utiliser la fonctionnalité Power Beyond de votre tracteur (si équipé), ou un robinet à tiroir réglé sur un pompage constant.
Vous devrez modifier le code arduino pour sortir deux canaux. Les changements de code pour la dernière version d'AOG seront publiés sous peu.
Lors du paramétrages des PID, sachez que la direction peut être très précise et rapide avec l'hydraulique. Un bon point de départ est: P 200, I 20, D 30, O 1.
la valve Danfoss est largement utilisée et installée par john deere, fendt, trimble. ordinateur de travail de direction novariant (Mueller) peut le gérer aussi.
la valve a toujours la tête de contrôle suivante:
Le block sur l'image peut être lié au fabricant, par ex. John Deere
ou assemblé
ou directement sur l'orbitrol
cette tête est commandée de manière analogue via un simple potentiomètre :
ou via l'arduino en utilisant une pin PWM :
(en outre, la tension d'alimentation est coupée via une autre broche)
Je n'ai pas encore trouvé de module fini qui permette de mettre une vanne en position positive (highside), donc pour l'instant ce driver BTS432 doit être câblé manuellement. J'essaierai d'en trouver! (Consommation de courant 0.6A (12V), tension de contrôle 0.07A)
Veuillez utiliser le sketch Arduino_DanfossPWM.
Le driver ressemble à :
Lecture de capteur pour des données brutes de capteur de rouleau (roll) et de direction
Si quelque chose s'est mal passé (par exemple de paramètres incorrects) et que agopengps ne démarre pas proprement
Il y a un fichier de paramètres qui est stocké dans
C: \ Utilisateurs \ YourUserNameHere \ AppData \ Local \ AgOpenGPS
Effacez tout le répertoire et redémarrer l'appli
AOG : Tout simplement Ag Open GPS (Agriculture de Précision), un programme informatique open source pour le guidage sur le terrain, la navigation et la cartographie lancé par Farmer Brian Tee.
Arduino : fait référence à une plate-forme ou une carte électronique open-source et au logiciel utilisé pour la programmer. (Techopédia)
BNO055 : une IMU faite par Adafruit.
Brick : Dans ces discussions, nous parlons d'une IMU spécifique faite par TinkerForge.
DOG2 : Un inclinomètre fait par TE connectivity.
GitHub : Un site web sur lequel les programmeurs peuvent publier leur code Open Source et collaborer les uns avec les autres sur certains projets.
IMU : L'Unité de Mesure Inertielle est un dispositif électronique qui mesure et rapporte la force spécifique d'un corps, le taux angulaire et parfois le champ magnétique entourant le corps, en utilisant une combinaison d'accéléromètres et de gyroscopes, parfois aussi de magnétomètres. Les IMU sont généralement utilisées pour manoeuvrer des avions, y compris des véhicules aériens sans pilote (UAV), parmi beaucoup d'autres, et des engins spatiaux, y compris des satellites et des atterrisseurs. Les développements récents permettent la production d'appareils GPS compatibles IMU. Une IMU permet à un récepteur GPS de fonctionner lorsque les signaux GPS ne sont pas disponibles, par exemple dans des tunnels, à l'intérieur de bâtiments ou lorsque des interférences électroniques sont présentes.[1] Une IMU sans fil est connue sous le nom de WIMU.[2][3][4][5] (Wikipédia)
Inclinomètre : un instrument pour mesurer les angles de pente (ou d'inclinaison), l'élévation ou la dépression d'un objet par rapport à la gravité. (Wikipédia)
L2 : Une des deux fréquences envoyées à un mobile à partir d'une station de base RTK activée pour corriger les inexactitudes de position dans l'emplacement GPS. L1 est l'autre fréquence.
RTK : signifie Cinématique en Temps Réel. La navigation par satellite cinématique est une technique utilisée pour améliorer la précision des données de position dérivées des systèmes de positionnement par satellite (systèmes mondiaux de navigation par satellite, GNSS) tels que GPS, GLONASS, Galileo et BeiDou. Il utilise des mesures de la phase de l'onde porteuse du signal, plutôt que le contenu d'information du signal, et s'appuie sur une seule station de référence ou une station virtuelle interpolée pour fournir des corrections en temps réel, fournissant une précision centimétrique. En ce qui concerne le GPS en particulier, le système est communément appelé «Carrier-Phase Enhancement» ou CPGPS.[1] Il a des applications dans l'arpentage, l'étude hydrographique et la navigation de véhicules aériens sans pilote. (Wikipédia)
Liste de vœux…Des idées?
Gallerie photos pictures:start