DIY GnuVario : variomètre opensource - openhardware Arduino

Ca marche! :ppte:

J’arrive à contrôler le buzzer “hardware” branché sur l’arduino depuis l’appli PC de simulation !
(bon, pour l’instant j’ai fait ça avec une teensy et un autre buzzer qui trainait, car pas le vario sous la main, mais ça ne devrait pas changer grand chose).

C’est extra pour faire de la simulation, et c’est riche d’enseignement sur comment paramétrer le son…

Je mettrai ça au propre et je vous ferai une petite video ce soir !

:dent: OUI OUI

j’ai quelques composants qui traînent, je veux bien essayer de me monter un petit circuit de test

salut à tous,
bon je débarque après la bagarre mais j’ai enfin réussi à trouver le temps pour monter mon vario. Bref j’ai 18 trains de retard, mais mieux vaut tard que jamais.
Le montage c’est très bien passé grace au super tuto (énorme boulot chapeau!) mais pas contre impossible de le faire démarrer. J’ai un bruit super bizare au démarage. La plus part du temps j’ai rien sur l’écran mais une fois sur dix j’arrive à avoir des infos abérantes qui s’affichent. J’ai essayé d’updater le FIRM sans succès.
cf la vidéo:
https://youtu.be/Ybfe-BIvnQk
Une idée?

Essai sans écran, tu dois certainement avoir un problème avec une soudure

Tu devrais essayer de faire les tests étape par étape

  • test juste le son
  • test ecran
  • test carte SD

tu trouvera les FIRM.HEX dans les différents posts

Bon courrage

:coucou:
au cas ou ça puisse t’aider :
Pour le premier update, ce n’est pas en retournant le vario que ça lance l’update
il faut appuyer sur le bouton reset de l’arduino

tu veux dire par la que tu n’as pas réussi à updater le firm, ou que tu as réussi à updater, mais que ça n’a pas résolu le pbm?
au cas ou… : sur les premiéres version de firm, ne pas oublier de faire un reset pour la mise à jour.

Tu as des fichier qui s’écrivent sur la carte SD?

Pour t’aider Finlard,
j’ai rassemblé les différents tests que j’ai, tu vas pouvoir tester élément par élément, mais la première chose que tu devrais faire c’est tester tes soudures et la connectique de l’écran

bon courage

Salut Finlard !

Comment ça ton voisin ne t’as pas monté le vario ! :wink: Déjà qu’il voulait te le piquer :smiley:

A mon avis le problème sur la video c’est le même problème que beaucoup d’entre nous avec le premier firmware (fréquence trop élèvée sur les mesures du baromètre). D’ailleurs fsgecko avait posté une video similaire :

https://vimeo.com/217865184

Je pense que la priorité c’est d’arriver à charger des firmwares. Autrement dit vérifier que la carte SD fonctionne.
-> As-tu bien pris une carte de moins de 2Go ? Ou dans le cas contraire à tu créé une partition de 1,5Go dessus en FAT16 ?
-> Lorsque tu met un FIRM.HEX sur la carte et que tu appuis sur “Reset” tu dois voir une LED clignotter pendant une seconde sur l’arduino. C’est le chargement du firmware.
-> Si ca ne marche pas il faut vérifier les soudures de la carte SD.

Une fois que la carte SD marche tu peut faire les tests de Jpg63 :pouce: pour vérifier que tout marche bien.

A+

PS : Sur les 11 Kits qui j’avais envoyé 9 sont monté ! On y est presque ! :slight_smile: Mais FRFM semble avoir disparu du forum …

Salut,
Comme promis une video du simulateur avec sortie son Software/hardware:

http://www.youtube.com/watch?v=3Ao_M7KDNaI&feature=youtu.be

Plusieurs enseignements intéressants: (avec des tirets, tribute to Baptiste :wink:)

  • Le volume, avec un simple buzzer piezo est largement suffisant (même trop puissant à fond), alors que je n’utilise pas la librairie ToneAC ni le push pull… (et pourtant en 3,3v)
    Ca n’est pas flagrant sur la video car le micro du téléphone est très directionnel, mais je vous garanti que ça envoi. Le buzzer kingstate kpeg06 peut-être?

  • Dans cette config, la différence de son entre simulation sur PC vs sur le vario est perceptible mais pas si importante que ça. La simu PC est finalement assez réaliste.

  • Un élément qui participe bcp à la fluidité et à la qualité sonore: il faut dissocier complétement la période de rafraichissement du ton de la périodicité du beep.
    Le ton doit évoluer en continu à haute fréquence, même dans les basses vz ou l’interval du beep est long.
    Sur un seul et même “beeeeeep” à basse vz, on entend ainsi la modulation de tonalité entre le début et la fin du bip. (donc plutôt un “boooiiiip” si on monte…)

Dans la simu de la video, j’update le ton toutes les 20 millisecondes (sur toute la gamme), alors que la durée d’un cycle de bip varie grosso modo de 500 à 100 ms.

Je ne suis pas sur d’être clair, (c’est pas simple à expliquer !) Il faudrait que je fasse des enregistrements comparatifs.
D’ailleurs, si ça se trouve le GNUvario fait déja ça comme ça, je n’ai pas vraiment testé…

To do :

  • Rajouter le réglage l’alarme sur les vz négative et indicateur de zerotage

  • Implémenter la variation du ton sur 3 plages ou sur un log plutot que lineaire

  • Essayer de jouer ça sur le vrai vario directement (c’est ce qui ne va pas être si simple, j’utilise pour l’instant une libraire qui ne marche pas sur la micro…)
    ça restera de toute façon un peu galère vu l’absence de convertisseur serie USB intégrée, mais pour le futur, pourquoi pas.

bref, encore des nuits courtes en perspective :dodo:

Pour faciliter le travail des derniers arrivé j’ai essayé de synthétiser un peu les problèmes et les astuces

1- ASTUCES - Les ressources

Tuto de montage : http://glpano.free.fr/vario/index.html
Les sources : https://github.com/prunkdump/arduino-variometer
Les kits : https://github.com/prunkdump/variometer-kits
Photos : https://photos.google.com/share/AF1QipNNEoMqtY_Vedgpb0bXJ6P9cAKNFtBX3-fTW9MW-yde3P0uNZWkR7KzIRnJyprkBA?key=NEMzNk5XR0lwYVEtSTVvUG5rdXRxaURjbzA2emJB

2- PROBLEME - Le vario démarre mais il rien ne s’affiche

Le problème peut venir
- des soudures
- du connecteur
ou de l’écran Nokia

Verifier l’écran

-> Tu pousses les pattes métalliques de l’écran par dessous pour détacher l’écran du circuit imprimé.
-> De l’autre côté du circuit imprimé tu as 9 contacteurs parallèles. Tu les nettoies bien avec de l’acétone ou un dégraissant.
-> Ensuite tu les rayes doucement avec la pointe d’un tournevis pour que la surface ce soit pas trop régulière.
-> Tu vérifies ensuite que les pattes de l’écran ne sont pas tordues. A defaut tu les redresse avec une pince.
-> Tu réenclange le tout en vérifiant que les pattes s’emboîtent bien.

3- PROBLEME - Le vario démarre mais il affiche des valeurs d’altitude et de vz totalements abérantes

	- fréquence trop élèvée sur les mesures du baromètre

tu ouvre libraries/ms5611/ms5611.h avec notepad++

Tu change :

#if F_CPU >= 16000000L
#define MS5611_INTERRUPT_COMPARE 130
#else
#define MS5611_INTERRUPT_COMPARE 69
#endif

en

#if F_CPU >= 16000000L
#define MS5611_INTERRUPT_COMPARE 134
#else
#define MS5611_INTERRUPT_COMPARE 71
#endif

Tu compiles. Tu exporte les binaires compilés. Tu renomme en FIRM.HEX. Tu charge sur la carte SD. Tu reset L’arduino.

4- ASTUCES - Carte SD

Format : FAT 16 <2Go

Petite notice donc pour passer une carte SDHC de 8Go par exemple en 2Go FAT16 sous Windows :

Lancer DiskPart :
Code:
Démarrer >Taper Executer dans la barre de recherche

Taper DiskPart

Ensutie dans DiskPart :
/!\ attention à être bien sûr de faire ça sur le disque correspondant à la carte SD. Ne faites rien en cas de doute.

Code:
DISKPART> list disk

N° disque Status Taille Libre Dyn GPT


Disque 0 En ligne 238 G octets 0 octets
Disque 1 En ligne 7695 M octets 0 octets

DISKPART> select disk 1

Le disque 1 est maintenant le disque sélectionné.

DISKPART> list part

N° partition Type Taille Décalage


Partition 1 Principale 7000 M 1024 K

DISKPART> clean

DiskPart à réussi à nettoyer le disque.

DISKPART> create part primary size=2048

DiskPart a réussi à créer la partition spécifiée.

DISKPART> active

DiskPart a indiqué la partition actuelle comme étant active.

DISKPART> format fs=fat quick

100 pour cent effectués

DiskPart a formaté le volume.

DISKPART> assign

DiskPart a correctement assigné la lettre de lecteur ou le point de montage.

Normalement, le disque apparaît dans Explorateur.

5- ASTUCES - Compilation

Pour compiler le code :

tu utilises l’IDE aduino. De préférence, une install neuve, pour qu’il n’y ait pas de conflit de lib
-> supprimez “c:\utilisateurs\login\AppData\Local\Arduino15” (si vous ne voyez pas AppData tapez “AppData” dans la barre d’adresse.
Si tu es sous windows, tu déposes le contenu du gitub directement dans “Mes Documents”\Arduino

Dans l’IDE (le mien est en langue anglaise), Tools - Boards ; choisir la carte “Arduino Pro ou Pro Mini”.
Puis, Tools - Processor ; choisir “ATMega 328 (3,3V, 8 Mhz)”
ouvrir “variometer\variometer.ino”
Pour compiler, choisir le menu “Sketch - Export compiled Binary”
Ceci crée 2 fichiers .hex dans le répertoire du .ino ; il ne faut pas utiliser le fichier dont le nom contient “with_bootloader”!!
renommer variometer.ino.eightanaloginputs.hex en FIRM.HEX

Pour installer le code :
recopier FIRM.HEX sur la racine de la sdcard, formatée en FAT16 ; insérer la sdcard dans le lecteur.

  • La première fois, utiliser le bouton de reset pour charger le firm

  • les fois suivantes, tu peux faire sans ouvrir le vario:
    Insérer la sdcard avec le fichier contenant le firm : FIRM.HEX
    éteindre le vario
    le retourner face posée vers le bas
    mettre sous tension
    au bout de 2 ou 3s, il émet 3 bips longs
    pendant ces bips retourner le vario pour qu’il ne relance pas la mise à jour à nouveau au prochain démarrage (car la mise à jour est très rapide)
    Si on est attentif, on voit que l’écran s’éteint un court instant, puis s’affiche à nouveau ; c’est le chargemznt du nouveau firm

6- ASTUCES - Maj

Mise à jour 1ere version FIRM

  1. Formate la carte SD en “FAT” (je pense que vu la taille elle sera formaté automatiquement en FAT16). 256Mo c’est parfait pour le vario.
  2. Met dedans le fichier FIRM.HEX en pièce jointe.
  3. Insère la carte dans le vario
  4. Allume le avec la batterie et une fois allumé appuis sur le bouton reset de l’arduino
  5. Regarde bien si il y a une LED qui clignotte très rapidement sur l’arduino, juste après la pression du bouton, pendant 1.5s environ. Tu peux répéter l’opération plusieurs fois au besoin pour bien vérifier.

Mise à jour avec FIRM sans reset

-> éteindre le vario
-> le retouner face posé vers le bas sur une table
-> mettre sous tension
-> au bout d’un moment il fait 3 bips longs.
-> pendant ces bips retourner le vario pour qu’il ne relance pas la mise à jour à nouveau au prochain démarrage.

7- PROBLEME - La mise à jour sans reset ne se fait pas

  • Essayer de faire la mise à jour avec le bouton reset - voir Mise à jour 1ere version FIRM
  • Verifier le formatage de la carte SD
  • Verifier problème de carte SD

8- ASTUCES - Paramettrages

Les réglages se trouvent dans le fichier variosetting.html

Pour mettre en mémoire le nom du pilote et la voile il faut mettre les informations dans le fichier variosetting.h et lancer le FIRM.HEX de paramettrage

“Near climbing sensibility” est la sensibilité du détecteur de zérotage.
Avec climbing = 0.2 et sensitivity = 0.5 le zerotage commence à 0.2-0.5=-0.3 et le bip commence à 0.5.
Pour des bips débutant à +0.5 et le zérotage entre 0 et +0.5 climbing = 0.5 et sensitivity = 0.5

9- ASTUCES - Calibrage

Si votre vario fluctue sans arrêt alors que vous ne bougez pas - faites une calibration du vario avec le FIRM.HEX prévu

10- ASTUCE - Démarrer l’enregistrement

activer l’enregistrement au début du vol.

Code:
/* flight start detection */
#define FLIGHT_START_MIN_TIMESTAMP 15000
#define FLIGHT_START_VARIO_LOW_THRESHOLD (-0.5)
#define FLIGHT_START_VARIO_HIGH_THRESHOLD 0.5
#define FLIGHT_START_MIN_SPEED 10.0
#define VARIOMETER_RECORD_WHEN_FLIGHT_START

commenter // #define VARIOMETER_RECORD_WHEN_FLIGHT_START pour que l’enregistrement débute dès le fix du GPS

11- PROBLEME - Carte SD

Le vario se met à jour, mais les fichier de vol ne s’enregistre pas

  • Tester le vario avec les FIRM.HEX de test
    1 - Test SDCARD sans écran
    - Ca ne marche pas - refaire les soudures de la carte SD
    2- Le fichier l’enregistre - Tester la carte SD Avec l’écran
    - Si le fichier ne s’enregistre pas
    - verrifier le soudures
    - changer les vis pour que le boitier serre moins la batterie sur la carte SD (problème de court circuit)

Super JPG!!! Excatement ce qu’il fallait pour résumer les inombrables pages :wink: Ce serait bien de copier le texte dans le premier post voir d’ouvrir un nouveau post juste pour les infos importantes (sans les discussions)

Merci aussi aux autres pour les suggestions. J’ai bien une carte 2GO formatée en FAT16, donc pas de soucis de ce coté là. des fichiers s’écrivent dessus. J’ai relancé le vario sans écran puis sans l’antenne GPS puis un nouveau reset et maintenant ça va mieux j’ai plus du tout le bruit parasite.

Et là, oh miracle:

https://ibb.co/dprVOQ

Ca marche!! Je vais donc pouvoir commencer à coder, ce que je sais beaucoup mieux faire que souder :wink:
Je vous tiens au courant dès que j’ai une chose de bien à partager

la photo:
https://ibb.co/dprVOQ

super finlard

C’est une bonne idée un post de récapitulatif au début par contre je ne sais pas si c’est possible sur ce forum

Par contre on a Le github du kit ouvert par Prunkdump - on pourrait essayer de l’alimenter, sinon il y avait des propositions d’un site un moment. Si un développeur web voulait bien s’occuper de nous faire un truc sympa avec astuces, tuto, photos, … :dent: ce serait super

Super Jpg63, excellente la synthèse, merci !

@Ptikiki

Ouahhh Ptikiki tu gères trop ! :pouce: Qu’est ce qu’on ferait pas pour faire bipper le vario en ces journées pluvieuses :smiley: Par contre fait attention, les tirets on sait quand on commence mais on sait jamais quand on arrête :wink:

Le simulateur est vraiment sympa ! Apparemment c’est une méthode de programmation que tu connais bien. Alors quelques points :

-> Attention à ton branchement du buzzer ! La résistance d’un buzzer piezzo est de 8Ohms. Donc l’intensité du courant qui passe dans ton microcontroller est de 412mA :shock: ! C’est vraiment beaucoup. Ca fait 1,4W il y a largement de quoi le fusiller. A moins qu’il y ait une protection sur les teensy… Mais un montage comme ça sur une Arduino le fait crâmer directement. Il te faudrait un autre L9110. Je peux t’en envoyer un si tu veux. Au minimum met une résistance de 120 Ohms en série.

-> Pour le fait de faire varier la fréquence pendant la durée d’un bip : J’avais essayé et jamais trouvé ça fatiguant. Car cela donne l’impression en vol que le vario n’est jamais stable. Ca fait un peu “mou”. Mais à l’époque le réglage du vario était mauvais. Les variations de fréquence étaient beaucoup trop rapide par rapport à la vitesse verticale. Donc peut-être effectivement qu’il faudrait réessayer maintenant. C’est bien le but du simulateur :smiley:

-> Pour faire une liaison série pour connecter le vario à ton simulateur tu peux utiliser les connexions du module bluetooth. Ou même installer le bluetooth si tu veux. On peut peut-être t’aider sur le côté “Arduino” ?

@Jpg63

Super le récapiltulatif !!! Il faut vraiment que je mette rapidement à la mise en place d’un site sur GitHub avec Jekyll pour que vous puissiez participer ! Il y a des super docs qui ont été faites par vous tous ! c’est vraiment trop dommage qu’elles ne soient pas accessible facilement.

Pour le site Jekyll je pensait m’inspirer de ce site (open source) :

https://www.mvvmcross.com/

Il une partie blog et une partie documentation. Cela semble idéal. Jekyll c’est très facile à utiliser une fois en place. Mais le paramétrage initial est quand même (très) compliqué.

Je vous tiens au courant !

@finlard

Joli pour le montage du vario !!! Penses a voler avec aussi :smiley: Ouai quand il y aura moins de vent :grat:

Sauf erreur, pas de pbm avec le kingstate kpeg006, son Impédance est de 2000 ohm environ, donc il ne consomme vraiment rien du tout… (C’est justement un autre avantage)

D’ailleurs, même à 80 ohm, ça ne fait pas plutôt 41mA, et pas 412? U/R = 3,3/80 =0,0412 A , non?
Ça reste trop pour sortie Num.

@prumdunk

Merci! Sans ton tuto (et sans mon voisin :wink: ) je n’y serais jamais arrivé… Je vais bien sur essayer de voler avec dès que possible, pour l’instant je vais apprendre à programer en arudino. Au fait, il sert à quoi le bouton “on” rouge?

A activer ou non l’alimentation du module bluetooth

oui, à tester, d’ailleurs, si quelqu’un à des logs de vols thermiques avec des enregistrement de vz à haute fréquence (genre 10hz), je suis preneur… ça serait un gros plus pour la simu d’injecter des vrai valeurs.
Les bips non modulés, c’est ce qu’il y a je crois sur le bip-bip, qui ne fait pas trop l’unanimté d’un point de vue sonore…

yes, bonne idée… J’ai un peu avancé dessus ce we, j’ai bon éspoir que ça le fasse… Mon code sera surement crado, et un coup de main pour rendre ça propre ne sera pas de refus !

@vmath54: ok merci! vu que j’ai pas monté le bluetooth je me demandais…