DIY GnuVario : variomètre opensource - openhardware Arduino

Bon dimanche à tous

Bon ben ici ça ne vole pas, j’ai quelques pcb en stock et quelques pièces d’occasion, du coup je me re-fabrique un nouveau vario. (En fait, la partie accéléromètre de mon vario a cessé de fonctionner) . J’ai récupéré un ancien GPS ( NEO6MV2 , XM37-1612) que je veux réutiliser . Problème, une fois connecté au gnuvario, l’heure est complètement farfelue et le reste des indications ne suivent pas. Pourtant, avec la librairie NeoGPS ou tinyGPS il fonctionne bien

Branché en serial, il me sort ça :

$GPRMC,160109.000,A,5056.9475,N,00150.7790,E,0.17,336.34,181118,,,A*62
$GPGGA,160110.000,5056.9475,N,00150.7790,E,1,7,1.16,25.3,M,47.1,M,,*68
$GPGSA,A,3,05,07,13,30,02,28,15,,,,,,1.42,1.16,0.83*07
$GPGSV,3,1,12,30,72,088,16,05,68,240,32,13,48,280,32,07,41,059,33*7E
$GPGSV,3,2,12,28,29,137,18,15,11,283,25,21,10,331,,02,08,219,16*78
$GPGSV,3,3,12,09,06,098,,27,05,027,20,08,03,055,,45,,,*49
$GPRMC,160110.000,A,5056.9475,N,00150.7790,E,0.15,336.34,181118,,,A*68

Est -il utilisable avec le GNUvario ou je dois faire une croix dessus ?

Autre chose, Prunkdump, pourrais tu poster une ou deux photos de vario avec les régulateurs bypassés ( pour le GPS et le baromètre notamment ) et le régulateur 3Volt que tu as installé.

Autre amélioration possible, renommer le nom du module bluetooth (lors de l’envoie du variosetting par exemple) avec la commande AT+NAME:GNUVARIO

A+ Olivier

bonsoir je suis en train de souder les composants et je me pose différentes questions je n’arrive pas a trouver sur le forum :
peux on tout assembler au niveau des cartes et composants arduino pro mini puis entrer le code avec des fils volants une fois tout fini ?ou faut il programmer la carte arduino pro mini avant puis la souder sur le PCB ?
J’ai essayé de metre le code du variometer.ino mais j’ai un message d’erreur :erreur de compilation…

@cece
Deux possibilités :

  • Tu as flashé le bootloader créé par prunkdump sur ton pro-mini et alors toutes les mises à jour futures et programation seront faites via le fichier Firm.hex copié sur la carte SD.
  • Tu n’as pas flashé le bootloader et alors il faut faire les mises à jour via FTDI . Mais alors il faut prévoir un interrupteur sur la pin TX du GPS et un sur la pin RX du bluetooth. (et pour accéder à ces pin, il ne faut pas souder le bluetooth. Sur la photo, tu peux voir les pins que j’ai gardé pour le ftdi . Sur la broche TX du GPS, je soude deux pin reliées par un jumper de carte mère

Pour ce qui est des erreurs de compilation, il faut mettre le message ici

Olivier

@olitask

Salut Olivier ! Je vois que ça bosse dur :wink: Désolé pour le temps de réponse j’étais pris par le boulot.

Alors pour ton GPS effectivement l’heure des trâmes GGA et RMC sont étranges :


160110.000

C’est bizarre ce triple 0 pour une heure. Du coup pour le faire fonctionner il faut changer dans NmeaParser/NmeaParse.h la précision de l’heure 100 à 1000.


#define NMEA_PARSER_GGA_TIME_PRECISION 1000

Je ne sais pas si je dois modifier le code pour ça … :grat: Si tu as une minute est-ce que tu peux me faire une “issue” sur GitHub concernant ce problème que je pense à y réfléchir.

Pour les régulateurs bypassés voici quelques photos. J’ai pas encore eu le temps de faire le tuto :

https://prunkdump.github.io/GNUVario/assets/tuto_img/IMG_6284.JPG
https://prunkdump.github.io/GNUVario/assets/tuto_img/IMG_6285.JPG
https://prunkdump.github.io/GNUVario/assets/tuto_img/IMG_6469.JPG
https://prunkdump.github.io/GNUVario/assets/tuto_img/IMG_6291.JPG
https://prunkdump.github.io/GNUVario/assets/tuto_img/IMG_6292.JPG
https://prunkdump.github.io/GNUVario/assets/tuto_img/IMG_6293.JPG
https://prunkdump.github.io/GNUVario/assets/tuto_img/IMG_6310.JPG
https://prunkdump.github.io/GNUVario/assets/tuto_img/IMG_6311.JPG
https://prunkdump.github.io/GNUVario/assets/tuto_img/IMG_6312.JPG

Pour le modèle du régulateur j’ai pris un TPS78230DDCR. Mais apparemment il y sûrement mieux. Je peux peut-être t’en envoyer un. Contactes moi par mail.

Très bonne idée la configuration du bluetooth :pouce: J’avais laissé une pin pour communiquer avec le module exprès. Je vais voir pour rajouter ça au VarioSettings.

Je viens de voir ton connecteur d’écran aussi ! Où est-ce que tu as trouvé ce connecteur Dupont en “T” ? C’est pas mal comme idée !

@cece

Effectivement comme l’a dit Olivier il faut regarder la doc ici :

https://prunkdump.github.io/GNUVarioFR/bootloader.html

Et pour la compilation il faut suivre le tuto ici :

https://prunkdump.github.io/GNUVarioFR/code.html

A+

Ce serait une super bonne idée de sortir un connecteur pour la programmation et le débogage :dent: . Pour les développeurs comme moi ne pas avoir au moins le moniteur (avec des println) c’est juste compliqué pour trouver les bugs

:+1: pour la connectique, effectivement l’idée est à retenir
avec ce type de connecteur, on pourrait envisagé de sortie facilement les pins pour le FTDI, il faut voir si il y a une petite place sur le pcb pour un double inter et ce connecteur

à l’usage quotidien, l’amélioration des déchargements de traces est souhaitable :roll:

la manipulation de la mini sd n’est pas pratique pour télécharger au jour le jour dans Logfly

L’accès au contenu de la carte à travers le port usb ou la wifi n’est vraiment pas envisageable ?
Si la question a déjà été étudiée… désolé d’y revenir

Par usb, ce qui est sympa … c’est que pendant que tu décharge ta trace, tu recharge ta batterie … d’ou l’intérêt de le faire journellement.

A ma connaissance, on a essayer de voir une solution. En usb il serait possible d’envisager un transfert, le problème c’est la mémoire restant dispo sur le Pro Mini

Sur la version à base de M0 aucun problème, il y a une fonctionnalité d’implémentée pour le transfert des traces

Coté Wifi, il faudrait y reflechir, avec un ESP32 comme on peut le voir sur certain projet, aucun problème , il y a en natif de BT et WIFI

Bonjour à tous

@Prunkdump :

@JPG63 : Pour le transfert des igc , si on a un promini, c’est impossible par usb. En dehors du problème de mémoire disponible, la solution serait peut être de déclencher via bluetooth un ordre de transfert des fichiers présents sur la sd vers le bluetooth .

bon après midi Olivier

En fait je pensais transférer les traces via le mode console
on pourrait envoyer un code au pro mini pour déclencher le transfert (équivalent à une saisie au clavier sur la console) puis récupérer les caractères envoyées sur le port serial (println) - le fichier igc est en clair donc pas de caractère impossible à transférer

Dommage que le connecteur de l’écran ne soit pas au format dupond car l’idée est très bonne. Par contre le connecteur coudé à 90 pourrait vraiment faire un bon connecteur pour raccordé le convertisseur serial/usb

@olitask

Si tu achètes tes pro-mini en Chine le regulateur de base de l’Arduino a une performance catastrophique. C’est normal car il est sensé avoir des courants d’entrée jusqu’à 9V. Mais il n’est pas du tout adapté pour la batterie LiPo. Dès qu’elle passe en dessous de 3.9V ça commence à merder.

Celui que j’ai choisi pour la V3 est très bien pour la conso mais il me semble un peu moins stable. Ceux qui ont la V3, je ne sais pas si vous avez remarqué, mais l’altitude est un peu instable tant que le Fix du GPS n’est pas fait. Le GPS demande beaucoup à ce moment là. Je suis en train de faire des tests.

Je met bien le régulateur à la place originale du pro-mini. Je te tiens au courant. Comme tu as fait un systeme pour enlever le bluetooth ça ne sera pas difficile pour toi de le changer de toute façon.

Pour l’accès à la carte SD.

Effectivement il faut soit ajouter un bibliothèque très grosse qui permet de communiquer avec la carte SD (mass storage) soit ajouter un composant identique à celui qu’on trouve dans les lecteurs de carte SD.

Autrement, comme le dis Jpg63 on peut faire un programme qui envoi les trâces sur le port série avec notre propre protocole. Mais ça oblige à faire une application PC spécifique.

Autrement j’ai fini une nouvelle bibliothèque I2C qui est piloté entièrement par interruption. Cela permettra encore de stabiliser les requètes au ms5611 et au mpu9250. Je vous envoi ça dès que possible.

A+

Salut,

Petit retour après un vol rando. Météo: Température en dessous de zéro, sec. Le vario indique des vitesses de montées ou descente de 40 à 80 m/s, en fonction de l’allumage l’affichage de l’altitude et de la vitesse de montée n’est plus là etc.
De retour à la maison je teste des expositions au froid dans le réfrigérateur pas de problème, mais dehors le problème revient il fait 6,5. Le retour à la température ambiante est réparateur après quelques arrêts démarrages. La pile est chargée.

Salut Josecarbon :coucou:

Merci pour le retour ! C’est étonnant parcequ’il m’est arrivé presque exactement la même chose sur mon dernier vario.

Je voyais que l’accéléromètre fonctionnait mal à certain démarrage et des fois tout allait bien. J’avais essayé de bien charger la batterie, d’allonger le temps de démarrage mais rien n’y faisait.

Puis je me suis mis à refaire les soudures une à une pensant qu’il y avait un faux contact quelque part. A chaque fois le vario se remettait à marcher nickel, mais le lendemain il ne marchait plus. :grat: J’ai alors essayé de resouder le composant du MPU9250 et même chose. Le vario marche sur le moment mais un peu de temps après le problème revient.

C’est là que j’ai compris que c’était un problème de température. J’ai mis le pistolet à air chaud de loin sur le MPU et il se mettait à remarcher sans même resouder quoi que ce soit.

J’ai essayé plein de choses, j’ai même ressoudé le MPU au pistolet a air chaud. Rien à faire … :? Il n’a jamais voulu remarcher correctement. Je ne sais pas si c’est une mauvaise série ou si c’est parceque les plaques chinoises ne soudent pas la grande masse en dessous du composant.

Moi je l’ai changé et je n’ai plus le problème. Il y a aussi la solution de rajouter juste une plaque avec le MPU9250 séparément ou de changer le composant sur la plaque (tendu quand même, je n’ai jamais essayé ).

Vérifies quand même deux choses :
-> Charges ta batterie au max et prend sa tension. Elle devrait être au alentour de 4.2V.
-> Dans le code désactive l’acceleromètre et verifies bien que le problème vient de lui.

Contactes moi par mail si tu veux. J’ai quelques composants pour te dépanner.

A+

Bonjour à tous

J’ai actuellement 2 varios qui fonctionnent ( avec beaucoup de pièces de récup) , mais sur les deux, j’ai fini par désactiver le MPU. Dans les deux cas, mème si le scanner i2c ( un croquis pour vérifier le fonctionnement du bus i2c) indiquait la présence des deux composants ( mpu et baro) , le vario déconnait complètement. J’ai encore un composant MPU+ baro neuf que je compte monter sur un vario “propre”. J’espère ne pas avoir de soucis avec ce dernier…

En espérant encore voler avant la fin d’année.

Olivier

Merci Prunkdump

je vais tenter les différentes manip que tu m’indiques. Est ce que je peux dessouder la plaque sur laquelle il y a l’accéléromètre?

Bonjour,

Suite à la dernière manip de mise en commentaire de l’accéléromètre, il n’y a plus rien qui s’allume, plus de bip, donc plus de mise à jour je pense. Alors je prends une décision c’était bien mais je n’ai plus assez de temps à consacrer à cette activité alors si quelqu’un veux mon vario je le vends au plus offrant qui saura le faire fonctionner ou récupérer les pièces.
Merci à tout ceux qui travaillent sur ce projet pour leur partage.

@josecarbon

Si tu veux surtout t’en servir pour le parapente je peux aussi te le réparer pour le prix d’un timbre :wink:

@olitask

Pour le MPU9250 c’est ce qui me fait penser que ça serait peut-être une bonne idée de les acheter séparément. Parceque le ms5611 est assez cher alors que le mpu9250 pas du tout :

https://www.ebay.fr/itm/MPU9250-Attitude-Gyroscope-Accelerometer-Magnetic-9D0F-9-Axis-Sensor-Module/163342328470?hash=item2607f62296:g:rSIAAOSwgYdb1tBz:rk:6:pf:0

Merci de ton offre c’est vraiment très sympathique, ça me donne presque envie de continuer encore un peu :slight_smile: je vais voir si je peux avancer.

Du coup je répond à tes questions :wink:

-> Tu ne pourras pas déssouder la plaque du baromètre sur la version 2. En tout cas c’est pas évident car il faut chauffer les 5 points de soudures en même temps. Par contre tu peux refaire les soudures (en dessus et en dessous) en rajoutant un tout petit peu d’étain a chaque fois.

-> Si le problème vient du MPU9250 ( l’accéléromètre ) c’est normal que tu n’arrives plus à mettre à jour le code. Car c’est lui qui détecte que le vario est allumé à l’envers. Sinon la technique est de mettre en contact les pins Reset et GND de l’Arduino. Ca lance la mise à jour de la même façon.

Si tu veux garder ton vario et essayer de le réparer toi même, voilà ce que je ferais dans l’ordre :

  1. Je chargerais la batterie à fond et je mesurerais sa tension (bornes B+ et B- du module de charge). Tu devrais avoir une tension au dessus de 4V.

  2. Je tenterais de refaire les soudures de la plaque du baromètre. Tu les chauffes à nouveau et rajoutant un peu d’étain pour les refluidifier avec le flux. Tu peux presque accéder aux 4 soudures en dessous (la soudure SDO ne sert à rien) et les refaires aussi en rajoutant un peu d’étain.

Ensuite tu regarde si ça marche à chaud. Tu met ensuite ton vario dehors au froid pour voir si ça continue de fonctionner.

  1. Je désactiverais l’accéléromètre. Mais dans ce cas plus de possibilité de mettre à jour le vario à l’envers. Je te met en pièce jointe un firmware sans l’accélerometre et un avec l’acceleromètre. Flashes les en mettant en contact les pin RESET et GND avec un tournevis ( et n’oublie pas de les renommer en FIRM.HEX).

Si l’accéléromètre ne veut pas fonctionner il faut le changer. C’est assez delicât à faire mais pas cher.

A toi de voir ce que tu veux faire en priorité : bricoler, voler, vendre :wink: Je te proposais de le réparer dans le cas où tu cherchais surtout à avoir un vario pour voler ( et moins pour bricoler). Ca passe en afranchissement “lettre” par la poste (max 3 euros).

A+

Pour une future version du hard, il pourrait être intéressant de sortir les pins du connecteur FTDI (GND, CTS, RTS, TXD, RXD, VCC) avec ce type de connecteur

https://www.ebay.fr/itm/2-54mm-0-3cm-Pcb-Header-Douille-Angle-Droit-Broches-Unique-Double-Rangee/264058676646?hash=item3d7b1fa5a6:m:mIaaYBscFBnP61hhXtgMOKw:rk:4:pf:0


https://nsa39.casimages.com/img/2018/12/02/181202014338588536.png

ceci permettrait de :
- 1 / faciliter la mise à jour du bootloader du Gnuvario via un port usb
- 2 / Permettre de faire un système de récupération via un port USB et une appli PC - On pourrait détecter le 5V sur la port via le port A1 ou A3 dispo
(détection dans la boucle loop d’un niveau haut sur l’entrée qui permettrait de passer dans un mode de récupération des traces)
- 3 / enfin faciliter le débogage avec le moniteur IDE

Bonjour je viens de me remettre sur la programmation de l’arduino pro mini j’ai réussi a le flasher avec le fichier “optiboot_atmega328_pro_8MHz.hex” ca c’est fait avec un FTDI232 maintenant je voudrais charger le code du GNUVario avec Arduino IDE mais quand je commence a téléverse "setvarioparameters "j’ai un message erreur :voir photo (désolé pour la qualitée)
j’ai peux être loupé des choses . :grrr:
Faut il mettre toutes les bibliothèques dans le pro mini avant que je le soude ?Ou es ce que je peux tout assembler et souder puis metre les fichiers dans la carte SD MERCI pour vos lumières car je suis dans le noir complet :jump: