DIY GnuVario : variomètre opensource - openhardware Arduino

prunkdump,
tu serais intéressé par un “arduino mega minimal”, avec juste les sorties intéressante pour le vario ?
ca permettrait d’avoir plus de ressources quitte a compacter et rajouter directement le capteur de pression voire d’autre composants sur la platine.
MP si intéressé :wink:
++

J’ai un prob, mon écran ne s’allume pas à la mise sous tension :bang:

Et le reste fonctionne ? Le vario bippe quand tu le fais monter (après les 8 secondes d’initialisation) ?

Pour l’écran :

-> Vérifie bien le pliage du connecteur. Surtout l’inversion des deux fils centraux
-> Redémonte l’écran et vérifie que le contacteur en caoutchouc n’est pas tombé
-> Avec un petit tournevis gratte très légèrement les contacteurs metalliques sur le circuit imprimé de l’écran afin qu’ils ne soient pas trop lisses
-> Remonte l’écran et vérifie qui est bien clippé

Pour la carte SD :

En fait il faut surtout s’assurer qu’elle est formaté en FAT16. Et comme windows formate automatiquement en FAT16 lorsque la carte est < 2Go c’est pratique. Mais effectivement elle peut faire moins (1Go, 512Mo etc…) .

Pour la mise à jour du firmware :

Tu compiles avec l’IDE comme d’habitude puis :

-> tu cherche dans les menus “exporter les binaires précompilés” ça va te créer un fichier avec une extention .hex
-> tu prends celui sans le bootloader et tu le renomme en “FIRM.HEX”
-> tu le met sur la carte SD
-> tu allumes le vario et tu appuis sur le bouton reset sur la carte arduino

Après une dizaine de seconde le nouveau programme démarre.

@gargle : merci pour la proposition ! Mais tant qu’a travailler avec les composants autant réaliser le vario entier en CMS directement non ? Ca sera surement la prochaine étape. Quand le “gros” vario sera au point.

Mais n’hésites pas à partager ici tes compétences. Je ne connais pas grand chose en électronique. Je travaille plus sur la programmation. Alors ça m’interesse !

A+

je suis partant pour tout intégrer (sauf le bluetooth, c’est la misère…)
MS5611 / atmega2560 / MPU9250 / SD / GPS PA6H / FTDI / recharge batterie / régulateur
Ca te parait complet ? (écran et haut parleur externe mais avec connecteurs sur le circuit)

prunkdump,

tout fonctionne chez moi !!!
:soleil:

Je viens de courir comme un taré en rond dans mon jardin de nuit sous la pluie, le vario à la main…

Moi il a pas mis longtemps à faire le fix. Sur son premier démarrage à froid donc et dans la maison !!

La sensibilité, le bruit et le lag semblent excellent !! Aucun mais alors aucun retard, ça va faire tout drôle en volant !

C’est quoi le 0.0Gr ? (ça fait éthylotest :dent: !!)

Faut que je lise un peu le prog pour voir comment t’a implémenté tout ça :wink: Et voir si j’ai des idées d’améliorations.

Premier retour pour Prumkdump

1 - les entêtes traversants pour le lecteur de la carte SD sont un peu courts si on s’inspire de tes photos
c’est un peu tendu pour moi, mais ça à l’air d’aller
il n’y aurait pas d’inconvénient à les faire dépasser d’1 ou 2 mm de plus.

2 - les clips du connecteur de l’écran ne tiennent pas quand on plie la map
Cela me semble être la partie la plus délicate
Comme mon écran ne fonctionne pas, je vais démonter et souder les fils directement sur les entêtes

3 - le GPS ne peut pas trouver de satellite chez moi, les murs sont trop épais

((@)) yes Gargle
plus vous intégrerez et moins il y aura de soudures merdique de ma part :pouce:

La construction a débuté aussi pour moi.

Petite astuce pour éviter de limer et rayer le verni à l’étape 4, j’ai protégé un maximum le CI avec du scotch de peintre. En cas de dérapage aucun soucis.

La suite du montage c’est pour demain :ppte:

Au final idéalement, je voulais le connecter avec XcTrack que je préfère pour mon utilisation. Mais pour tester, j’ai XcSoar aussi.
La connexion dans XCSoar avec le bluetooth semble ok (Code 1234, perif HC-06 pour moi)
Par contre pas trouvé le protocole à mettre dans XCSoar : OpenVario ou NMEA output ou Generic ? (Aucun semble marcher : “Pas de données”)

J’ai réussi aussi la connexion avec XCTrack mais il ne semble y avoir aucune info non plus.

Le bluetooth n’est t-il pas désactivé dans le programme en fait ? ( #HAVE Bluetooth commenté dans le github ? )

Pour que tout soit au même endroit et facile à retrouver
serait’il possible qu’à la fin de ton tuto, tu nous mettes tous les liens utiles au projet et sa compréhension

  • le fritzing si tu en as fait un ?
  • un lien vers ta dernière version du programme

merci d’avance

PS: j’ai bien l’impression que mon écran est HS :bang:

@Xiboard : Fait attention quand même ! A courrir en rond à 1 heure du mat à la lampe torche avec un truc qui fait bipbip, tes voisins vont se poser des questions :smiley: Si en plus tu regarde ton portable en même temps ils vont plus rien comprendre…

Effectivement le bluetooth n’est pas activé dans la version du programme que j’ai envoyé car il n’est pas possible d’utiliser simultanément la carte SD et le bluetooth :? . Mon code consome encore trop de RAM :oops: . Voici donc l’explication pour ceux qui vaudraient tester le bluetooth :

  1. Installez l’IDE de l’arduino et téléchargez mon code :

https://github.com/prunkdump/arduino-variometer

  1. Ouvrez “variometer.ino” et commentez le “HAVE_SDCARD” puis décommentez “HAVE_BLUETOOTH” :

#define HAVE_SPEAKER
#define HAVE_ACCELEROMETER
#define HAVE_SCREEN
#define HAVE_GPS
//#define HAVE_SDCARD
#define HAVE_BLUETOOTH

  1. Complilez le programme et cliquez dans le menu sur “Croquis -> exporter les binaires compilés”. Cela créé deux fichier. Regardez celui qui n’a pas le bootloader et renommer le en FIRM.HEX (en majuscule).

4)Trouvez une carte SD de moins de 2Go et formatez la en “FAT” pour windows ça veut dire FAT16. Si vous n’avez que des grosses cartes cherchez sur internet comment créer un partition FAT16 sur une carte SD.

  1. Mettez le fichier FIRM.HEX sur la carte SD et insérez la dans le vario.

  2. Allumez le vario et appuyez sur le bouton reset sur la carte arduino. Après quelques secondes le vario va redémarrer avec le bluetooth.

Je vais mettre cette procédure sur le site dès que j’ai un peu le temps. Parceque c’est aussi comme ça que vous pouvez personnaliser le vario.

@Jpg63

Très bonne astuce ! J’ajouterai de passer un petit coup de dissolvant après coup pour être sur qu’il n’y à pas de colle restante sur les pad à souder. Il faut vraiment passer du temps sur cette étape. Plus c’est fin plus c’est facile ensuite de souder la carte SD.

@Van Hurlu.

On va bien trouver le moyen de le faire marcher cet écran ! Ya pas de raison. Il ne peut y avoir que deux problèmes :

-> Soit la connexion de l’écran sur son petit PCB rouge
-> Soit la connexion entre le PCB rouge et l’arduino

Dans le premier cas as tu vérifié les points que je t’avais donné ?

  1. Vérifie que le contacter en caoutchouc est propre et bien positionné dans son logement (il faut qu’il soit bien droit).
  2. Nettoies au dissolvant les petits contacteurs sur le PCB rouge. Puis gratte les légèrement avec une pointe pour que la surface ne soit pas trop lisse. Cela facilite le contact.
  3. Avec une pince essaye de redresser les petites pattes du fixation sur l’écran. Assure toi qu’il se clippe bien sur le PCB.

Dans le second cas, a tu un testeur de continuité ? Si tu en as un tu remet l’écran sur sa broche et tu peut tester les connexion entre l’écran er l’arduino en touchant les soudures. Il y a 8 oeuillets sur l’écran :

De gauche à droite :

  1. Le 1 RST -> doit être connecté au pin 2 de l’arduino
  2. Le 2 CE -> au pin 3
  3. Le 3 DC -> au pin 4
  4. Le 4 DIN -> au pin 11
  5. Le 5 CLK -> au pin 13
  6. Le 6 VCC -> au pin VCC de l’arduino
  7. Le 7 n’est pas utilisé
  8. Le 8 GND -> au pin GND de l’arduino

Dis moi ce que ça donne.

@gargle

Je pense qu’il faudrais :

-> un switch SMD à angle droit
-> un L9110 en version SMD (il existe en SOP8)
-> un buzzer SMD magnétique (comme sur le blueflyvario)
-> un mini USB
-> un régulateur 3,3V et la circuiterie qui va avec (condensateurs, led etc…)
-> un microcontrolleur AVR. Celui quetu propose est bien, mais ça pourrait être intrressant de prendre les nouveaux modèles avec le support de l’USB intégré. Genre ATmega32U4.
-> L’oscillateur
-> le ms5611
-> le mpu9250
-> le module de charge LIPO et le module de protection de la batterie
-> un conteneur pour carte SD
-> un controlleur GPS et son EEPROM
-> une antenne GPS patch a souder sur le circuit
-> Pour l’écran il peut être clippé directement sur le circuit. Du coup pas besoin de connecteur.

Ca fait quand même du boulot pour concevoir tout le circuit :smiley:

Pour le moment la limitation SD ou Bluetooth me gênera pas.
Je vais jeter un oeil s’il y a des pistes pour améliorer le code pour économiser la RAM. J’avais déjà travaillé la dessus sur d’autres de mes projets arduino mais de ce que j’ai vu t’es déjà pas mal du tout il me semble.

Autrement : dans la conf actuelle (sans changer le firmware), les fichiers sur la carte SD sont bien crées (GPS000.TXT …) mais le contenu c’est n’importe quoi : dans le TXT je retrouve l’ancien contenu de la carte sd (que j’ai bien formaté). J’ai même testé un formatage overwite avec sdformater mais c’est pareil,il me créer les fichier GPS000.TXT rempli du même caractère maintenant !

C’est normal ? J’ai pas regardé le code à ce niveau, et je ne suis pas familier avec carte sd <-> arduino.

Salut !

Non bien sur ce n’est pas normal … :?

C’est bizarre parceque j’avais testé un formatage avec windows (clic-droit, formater, FAT) et un formatage avec linux et dans les deux cas cela fonctionnait.

En tout cas dans ton cas le problème ne vient pas du fonctionnement de la connection arduino<->carte SD puisque le programme parvient à écrire sur la carte. C’est qu’il n’arrive pas bien à interpréter le formatage de la carte SD.

Voilà ce que je pense ce qu’il se passe :

-> il trouve bien la partition
-> il trouve bien le répertoire racine et il arrive bien à créer le fichier
-> il arrive bien à augmenter la taille du fichier
-> mais il écrit les données au mauvais endroit sur la carte et donc ce sont les anciennes données qui apparaissent à la place. (elles ne sont pas écrasées)

Pour que je débugge il faudrait que tu m’envois les deux premiers Mo de ta carte.

-> tu télécharges Win32DiskImager
-> tu créé l’image de ta carte SD tel quelle est
-> créé en un ZIP. Si le fichier n’est pas trop gros tu me l’envois
-> sinon tu coupe le .img en m’envoyant uniquement les 2 premier Mo (cherche “windows cut binary file” sur google)

Bon courage !

Yes, c’est tout bon. Je n’avais même pas encore démonté l’écran pour faire les soudures
Par acquit de conscience (et désespoir) j’ai fait tes 3 opérations

J’ai dessoudé la carte Bluetooth pour y voir plus clair.
Toutes les connexions de l’écran à l’arduino sont bonnes.

Quand j’ai remis sous tension (sans la pile) avec le câble usb
l’écran s’est enfin allumé pour la première fois
il clignote
2s allumé / 4s éteint
sur l’écran on ne lit pas de valeur … uniquement les unités : m m/s …
juste avant de s’éteindre il tente d’afficher les valeurs (je les aperçois fugacement)
puis le buz fait un bip et l’écran s’éteint

On progresse :pouce: tu as d’autres idées ???
Je recommence le nettoyage des contacts ?

Salut !

Si il n’y a pas de carte SD le vario met 8 secondes à démarrer parcequ’il cherche pendant un moment à y accéder. Donc déjà pour gagner du temps met n’importe quelle carte SD dans le lecteur cela baissera le temps de démarrage à 1 secondes.

Ça a l’air de presque marcher. Donc c’est juste qu’il doit y avoir un mauvais contact quelque part.

  1. as tu nettoyé le flux de soudure sur tout ton montage ? Sinon passe du dissolvant et gratte un peu entre les soudure pour être sur que ça ne fait pas contact

  2. Esaaye d’appuyer sur l’écran pendant le démarrage pour voir si y a un faux contact à cet endroit. Si oui recommence le nettoyage.

  3. Vérifie bien toutes tes soudures et réchauffe les au besoin.

  4. Relis le tuto et vérifie que tu n’as rien oublié.

Et le reste ? Ça fonctionne ? Le vario bippe lorsque tu le fais bouger de haut en bas ?

À+

[quote]Ça a l’air de presque marcher. Donc c’est juste qu’il doit y avoir un mauvais contact quelque part.
[/quote]
ou un court-jus ?

[quote]1) as tu nettoyé le flux de soudure sur tout ton montage ? Sinon passe du dissolvant et gratte un peu entre les soudure pour être sur que ça ne fait pas contact

  1. Esaaye d’appuyer sur l’écran pendant le démarrage pour voir si y a un faux contact à cet endroit. Si oui recommence le nettoyage.
    [/quote]
    oui j’ai bien fait ces 2 points
    le dissolvant ne risque pas d’endommager le baro (les ptis trous) ou le gps ?

[quote]3) Vérifie bien toutes tes soudures et réchauffe les au besoin.
[/quote]
j’hésite, déjà que j’ai des pâtés :mrgreen: je vais quand même essayer ce point

[quote]4) Relis le tuto et vérifie que tu n’as rien oublié.
[/quote]
c’est fait 3 fois :mrgreen:

[quote]Et le reste ? Ça fonctionne ? Le vario bippe lorsque tu le fais bouger de haut en bas ?
[/quote]
pas facile en mode dépannage, avec le fil usb et sans boitier,
de toute façon il hoquette et bib avec le clignotement de l’écran
je ne crois pas que ça bipera en fonction du déplacement

merci de ton aide, je vais tester toutes les connections avec ton shémas

prunkdump, Van Hurlu n’a pas mis la batterie. C’est pas ça le pb ?

Bin ca peut marcher quand même en théorie. Ou alors l’alim USB est un peu merdique.

C’est sur Van hurlu ca coûte pas grand chose de ressouder la batterie et de tester. Tu aura une alimentation plus stable. Et en plus tu pourras tester si le vario marche déjà sans l’écran.

Pour le dissolvant tu n’en met pas partout mais juste sur les soudures.

merci Xiboard
Avec la batterie grosse amélioration l’écran ne clignote plus
il affiche des valeurs qui changent sans arrêt limite illisible (dans les 8000m d’altitude)

j’avance, mais je pense qu’il y a encore un truc de mauvaise connexion