Merde … il est possible que je sois trompé de board lors de la compilation :oops: du coup la fréquence du port série n’est pas bonne.
Je n’ai plus d’ordinateur sous la main. Est ce que quelqu’un pourrait compiler la version originale du GitHub en changeant le type de trame en lk8000 pour la mettre à disposition ici ?
Il y a une différence
les valeurs vitesse et vario sont plus stable sur XCTrack
par contre j’ai toujours le même problème sur l’Altitude
le gnuvario est très stable et affiche 387m (sur mon balcon)
XCtrack affiche une valeur qui varie doucement entre 367 et 378 ???
Sur ton screen, on voit alti GPS. Est-tu sûr que c’était l’alti GPS du Gnu qui est transmisse ou il utilise le GPS du tel ?
Dans XCTrack tu peux choisir Alti Baro aussi. Il faut regarder un peu dans les paramètres des labels, il y a ds réglages intéressants.
Bonsoir à tous,
j’ai commencé l’étude préliminaire de notre Gnuvario en version 3
La version 3 reprendra les caractéristiques de la version 2 et pourra intégré en plus :
un nouveau processeur M0+ à 48Mhz, 256ko de mémoire flash et 32ko de Ram
un nouvel écran 1.54’ I-Ink
une liaison USB avec un logiciel PC, permettant :
- la récupération des traces IGC
- la mise à jour du vario
- la mise à jour des paramètres (le logiciel PC, permettra de régler les paramètres via une interface simple et convivial) puis l’envoi des paramètres au vario
Paramétrage du son, soit par un simulateur intégré au logiciel PC, soit en étant compatible avec le simulateur xtracer
3 poussoirs - 1 pour allumer et éteindre le Gnuvario, et 2 pour la navigation
indicateur de l’orientation par rapport au nord
information sur le sens et la vitesse du vent
une sonde de pression différentielle + sonde pitot pour mesurer la vitesse air - alarme de décrochage, calcul de performance de vol
Blink - test maj via la sdcard
MKRZERO_Read_Battery_Voltage - Mesure de la tension d’alimentation
readusb - test de lecture de via port usb
readini - lecture fichier setting.txt depuis la carte SD
I2STheremin - test I2S avec ampli class D
DumpFile - transfert Aduino to PC via USB
SleepRTC - Mise en veille du M0
AttachInterrupt - Interruption Power ON/OFF
MKRZERO_Battery_Data_Logger - Mesure la tension de la batterie toutes les minutes via une interruption
samd21_gps_test - GPS avec library TinyGPS++
FullExample - Test GPS
TinyGPSPlus_GPS_Shield - Test GPS
SAMDTimer - Test Timer
MPU9250 - Test MPU9250
MS5611_simple - Test MS5611
I2CScanner - Test I2C
Alimentation :
le fait d’avoir la batterie directement connectée à la board (Arduino MKZero, adafruit Feather), il est nécessaire d’avoir un système pour couper l’alimentation des modules et de mettre le processeur en veille. Il est possible d’envisager un système de coupure d’alimentation via un système D flip/flop avec un retard - en appuyant sur le poussoir ON/OFF pendant 2sec on active l’alimentation des modules et on déclenche une interruption qui réveille la board. Un nouvel appuie de 2sec coupe les cartes et redéclenche un interruption, le processeur termine l’enregistrement du fichier IGC, en ajoutant le checksum et en fermant le fichier, puis se met en mode veille
Ecran :
L’utilisation d’un nouvel écran I-Ink va permettre une excellente visibilité et une meilleur résolution 200x200. L’utilisation de la librairie GxEPD, va permettre d’avoir une gestion des graphiques (trais, carre, triangle,…) utile pour la gestion de l’orientation et du vent entre autre et une gestion de plusieurs fonts texte. Cette bibliothèque s’appuie sur la bibliothèque adafruit GFX, il sera donc possible de rendre notre vario compatible avec de nombreux écran LCD, Oled et I-Ink (2,59’ et 4,3’). La bibliothèque est plutôt gourmande en mémoire mais nous en avons beaucoup avec ce nouveau processeur. Pour l’instant la bibliothèque est en cours de compatibilité pour les processeurs SAMD21
Le son :
Le PWM est utilisable sur le M0+, la programmation est un peu différente du Pro Mini mais l’adaptation de la bibliothèque ToneAC ne sera pas très compliqué en utilisant la bibliothèque dimmer
Il sera aussi possible d’utiliser l’I2S
dans les 2 cas il est impératif de rajouter un filtre passe bas en entrée d’amplification
Le GPS:
Pour le gps il est possible d’utiliser le port Serial1 du M0
Les sonde en I2C:
I2C du M0+ et du ProMin sont différents, il faudra réécrire les bibliothèque pour les rendre compatible, j’ai déjà trouver des exemples fonctionnels qui nous permettront de faire les modification
C’est vrai qu’un éran de meilleur résolution serait un gros plus.
Le pitot est la mesure de vitesse air, je suis plus circonspect, vu la position du vario sur la sellette et les perturbations aero…
Pour info, Hari Nair vient de publier un nouveau vario sans lag, mais dans une version trés minimaliste (audio only), sur la base d’un module wifi ESP8266. (paradoxalement, il désactive complétement le wifi mais profite de la trés petite taille et du petit prix du module qui contient aussi un MO, et qui est bien supporté par l’IDE arduino.
Même IMU que le GNU vario.
Au final le vario IMU complet avec lipo, charger etc doit revenir à une dizaine d’euro environ… impressionnant ! Pour l’instant c’est monté “en l’air” sans pcb.
Comme d’hab avec Hari, c’est assez bien documenté. Surement quelques idées à prendre.
Le projet est très intéressant, par contre ESP8266 si je ne me trompe pas n’est pas un cortex M0 et il a vraiment très peu de port, par contre pour en faire un système de déport pour la sonde pitot se serait pas mal.
Je pense qu’avoir la mesure de la vitesse air serait un vrai plus mais effectivement il me semble peu envisageable de mettre le tube pitot au niveau du gnuvario sur les élévateurs, par contre je le verrais bien fixé le long de la sellette avec un transfert des données en bluetooth. Les sondes pitots ont existé au temps des deltas et des premiers varios et apparaissent de plus en plus sur des petits planeurs et avions de 2m et plus d’envergure, projet openxsensor
une petite précision sur le schema du futur gnuvario, il m’a permit de vérifier qu’il y avait assez d’entrée sortie. Il faut savoir, comme bon nombre de microcontroleur que le M0 possède des timers, des interruptions et des ports de communication (I2S, Serie, I2S,…) mais pas mal de chose se partage les même pins. Pour les interruptions elles sont en nombre limités et se partage 4 ou 5 pins.
Le M0+ possède une horloge interne RTC qui peut servir à gérer le temps, des alarmes, mais aussi un système de multitâche
Au niveau du schéma il y a beaucoup de composant passif, mais à terme je pense que l’on devrait pouvoir en supprimer un peu
J’ai fais mes tests sur Arduino MKRZero, il semble que sur cette board est un problème, la doc donctructeur montre 2 résistances de pull up sur SDA, et SCL, mais elles n’y sont pas, c’est pour cela qu’on les retrouve sur le schema du gnuvario
on trouve les 2 montages pour le son - PWM, et I2C, il faudra en choisir un, l’autre disparaîtra. On voit aussi un filtre passe bas sur les sorties PWM, il faudra le calculer, ici les valeurs sont celle par defaut
Les composants à droite constitue la commande d’allumage, je vais expliquer un peu le principe, je pense qu’on pourra énormément simplifier cette commande
Le M0, la carte SD intégré et l’écran via la patte VCC de la board sont alimentés en permanence par la batterie. L’écran ne comme rien si on ne lui demande pas de modifier son affichage, par contre avant la mise en veille du M0, il sera possible d’afficher les statistique du vol qui resteront sur l’écran jusqu’au prochain allumage
On appuie sur le poussoir ON/OFF pendant 2 sec le système “power ON/OFF Latching avec tempo” alimente l’ensemble des cartes et fait monté une interruption pin A6. Le M0 voit qu’il est en veille et lance la séquence d’initialisation des cartes, le vario est allumé. On appuie de nouveau sur le poussoir pendant 2sec, les cartes sont éteintes le M0 voit un changement d’état de A6 (interruption) et détecte qu’il est en état allumé, il met à jour le fichier IGC, le ferme, affiche les stats du vol et passe en mode veille
les 2 poussoirs supplémentaire permettront une navigation sur les différents écrans
Le port Usb peut être utiliser facilement en mode liaison série, du coup il me semble assez simple d’écrire une appli PC qui dialogue avec notre Gnu. Avec une jolie interface et un protocole de liaison on pourra interroger le gnuvario pour savoir si il y a des vols sur la SD, les récupérer sur le PC tout en les archivant sur le vario (changement d’extension ou déplacement dans un autre répertoire). Les fichiers IGC seront placé dans un dossier, qu’il suffira d’indiquer à logfly. Pour les mises à jours, il est possible soit de mettre à jours le M0 via l’interface de programmation Arduino, mais il est aussi possible de placer un fichier UPDATE.BIN sur la SDcard. Notre petit programme pourra le faire, grâce à cette méthode il sera facile pour tout le monde de garder son gnuvario à jour en utilisant les fichiers publiés sur le forum. Enfin j’imagine une interface graphique sur l’appli PC permettant de changer les paramètres du vario (son, seuil de monté, nom du pilote, voile, …) ensuite il ne restera qu’à envoyer un fichier CONFIG.TXT que l’arduino utilisera pour fonctionner
Il reste encore beaucoup de travail et des interrogations, en autre sur le réveil du M0, je ne sais pas si on peut mettre tout ce qui se trouve dans la partie setup sur une fonction d’interruption et comment tout peut redémarrer à tout les coûts