DIY GnuVario : variomètre opensource - openhardware Arduino

Sur le forum XCSoar, la dernière personne à avoir répondu ne dit pas que le BLE ne fonctionne pas avec Android, elle dit que le BLE ne gère pas de protocole de liaison série standardisé et qu’il faut donc adapter XCSoar à chaque module BLE. On voit d’ailleurs que c’est Vmath qui a posé la question et il contribue ici justement :slight_smile:

Pour l’instant, XCSoar semble être codé pour gérer le protocole (propriétaire) utilisé par les modules HM-10 et c’est tout. Etant donné que la puce nRF51822 semble être le grand concurrent de l’HM-10, j’imagine qu’un driver XCSoar existera assez rapidement surtout que Nordic Semiconductor a l’air de fournir un SDK assez ouvert.

Adafruit Feather reste une bonne option, si on ne trouve pas mieux, niveau doc, le site d’Adafruit est blindé, le rapport qualité prix il est vraiment top

Salut !

Ouai Jérémie le problème c’est le temps de mise au point. Le temps d’ajuster le tout il va nous falloir tout l’été et on va perdre l’intérêt d’avoir des pilotes pour tester.

Par contre je peux tout a fait te faire un PCB pour toi perso une fois que tu auras fait ta mises au point sur breadboard. Et si tu veux profiter de la commande groupé de toute façon le boîtier et la carte arduino ne coûtent pas grand chose.

Autrement effectivement les Adafruit Feather sont très bien conçu. Plus tôt qu’essayer d’intégrer le bluetooth on peut aussi plutôt essayer d’intégrer la carte SD :

https://www.adafruit.com/product/2796

Mon avis perso pour le micro controller c’est de suivre le plus possible ce que fait Arduino.

-> Atmega32u4 pour la version low cost. Le code est déjà presque compatible et on gagne la liaison série par USB.

-> ARM Cortex M0 pour les version améliorées. On reste très standard et on gagne beaucoup d’espace pour programmer.

J’aurais bien voulu faire cette série de kit avec le Pro Micro à la place de pro Mini mais le timing à ete trop juste. Je n’ai encore jamais fait de “vrai” PCB.

D’ailleurs il y avait encore des défauts sur la dernière version … ( que j’ai déjà vendu ) C’est pour ça que je voulais une photo du module GPS.

À+

Ah bein oui avec plaisir, le coût de tous les composants ne me pose pas de problème (pas vraiment d’économie d’échelle sur AliExpress à moins d’en commander 500) mais c’est vraiment le fait de concevoir et fabriquer le PCB qui me pose problème…

Excellent idée, je n’avais pas vu qu’il y avait d’autres versions du “combo” !!!

Le seul soucis là-dedans c’est que ça oblige à positionner l’Arduino d’une façon particulière dans le boitier si on veut que la MicroSD soit accessible facilement. Après on peut aussi se dire que la MicroSD sert uniquement de stockage et que le déchargement des traces se fait par USB !

avec une carte SD regardé cette board

https://store.arduino.cc/arduino-mkrzero

https://learn.adafruit.com/adafruit-max98357-i2s-class-d-mono-amp

I2S audio est compatible arduino Zero et Adafruit M0 (normalement le feather)

gestion du son avec ampli classe D

https://github.com/adafruit/Adafruit_ZeroI2S

on pourrait avoir du son hifi :dent:

il intègre le chargeur de batterie

on a 2 choix Arduino zero ou adafruit feather

la carte sd integrée va effectivement être compliqué pour l’intégration accès à l’usb et a la sd

Le feather à le pont diviseur mais le zero est un pure arduino

prix avec SD 20€ pour les 2

Hello, attention à la compatibilité des librairies Arduino avec toutes les cartes à base de SAMD21…

À creuser, mais il me semble que ça n’est pas toujours aussi easy que sur les anciennes cartes…

Si non, je me disais comme Jérémy : pas simple ces carte avec USB d’un côté et Se de l’autre niveau boîtier, sauf à en faire un custom imprimé en 3d.

Pareil, je suis pas chaud pour la carte SD d’un coté et usb de l’autre

Pour la compatibilité, j’espère que l’on aura pas trop de problème car on a pas beaucoup de choix, si on veux plus de mémoire

Bah en tout cas quand on lit la page d’Adafruit concernant la compatibilité du Feather M0 avec Arduino le nombre de modifications à apporter pour rendre compatible semble mineur !

Moi je n’ai rien contre le fait que la carte SD ne soit pas accessible dès lors qu’on peut y accéder en USB en tant que Mass Storage Device ! (ce qui ne semble pas évident avec le Feather…)

Tout à fait d’accord, le mass storage, ça serait le must.
Certains semblent y être parvenu sur des atmega32u4, (sur des projets micro) avec la librairie LUFA.

Mais pas trouvé d’exemple fonctionnel malheureusement pour l’instant.

Parmi ceux qui ont réussi par des méthodes “artisanales”, on lit aussi que Windows gère ça bizarrement et que ça n’est pas d’une fiabilité à toute épreuve malheureusement… Mais j’y crois toujours à ce Cortex M0 !

J’y crois aussi au M0

de la mémoire 256k contre 32k actuellement
48Mhz contre 8Mhz

le ATSAMD21 gère le I2S avec un petit ampli classe D et la librairie https://www.arduino.cc/en/Reference/I2S on pourra certainement avoir un son de très bonne qualité sous 3.3v avec une sortie entre 1 et 2.5W sur un hp 4 ou 8 ohm

si on décide d’avoir le BT sur la board on trouve : https://www.adafruit.com/product/2772 mais on perd pas mal de place

Si on intègre la SD il est impératif d’avoir un USB Mass Storage Device, il sera presque impossible d’avoir accès à l’usb et à la sd en ajoutant tout les autres modules

l’integration sur la board du BT me semble moins problématique, ça marche avec quelques adaptations mais cela complique la réalisation du kit car l’emplacement du BT est fixe. Dans la nouvelle implantation on trouve l’antenne GPS en dessous et le BT dessus, avec une board integrant le BT on retrouve cette configuration

une M0 intégrant le charger usb c’est vraiment top (Feather ou MKR Zero) car on à un seul usb

je reste convaincu en attendant de trouver mieux que l’adafruit Feather est une bonne option pour l’avenir

intéressant pour une forte intégration

il y a le minimum mais sur 15x15 mm

http://www.avdweb.nl/arduino/samd21/sam-15x15.html

Salut à tous !

Voilà ! Le PCB est parti en fabrication :smiley: Avec les diviseur de tension :jump:

Je vous laisse chercher sa position :wink:

Quelques jours de vacances et hop je perds le fil !

Désolé Prunk, j’aurai pu te faire la photo, mais je n’avais pas vu ta demande.

Merci Xiboard, il me semblait bien que qq un avait fait des essais concluants.
Bon je ne suis pas pressé je vais attendre que les “bons” codeurs fassent le boulot que je ne saurai faire :clown:

En passant sur une nouvelle board M0 à 48Mhz, on ne devrait plus avoir de problème de fréquence d’envoi et de récupération des données :ppte:

Superbe Baptiste ! Bravo ! Cette version devrait marcher du tonerre :pouce:

Je me demandais si on ne pourrait pas développer un bout de code sur le PC qui se chargerait de récupérer les vols

On pourrait prendre l’option carte micro sd intégrée comme le suggère Prunkdump - Cela nous laisse la possibilité de choisir n’importe quel BT et de l’installer ou on veut.
Sans manipulation de la carte SD, elle peut rester installer au font du boitier

Avec l’usb on pourrait mettre à jour le M0 et récupérer les vols.

On aura 256k de mémoire largement assez pour envisager un protocole de communication entre un programme PC et le GnuVario. J’imagine que le vario pourrait détecter une liaison avec le PC et envoyer tout les fichiers de la carte SD avant de les effacer. Sur le PC, on pourra ajouter le checksum au bout du fichier et le stocker dans un répertoire pour que logfly puisse les importer directement

Il serait bon de choisir une board pour que tout les développeurs travaillent sur un code compatible (pins et librairie) et que l’on se partage le travail

1- L’affichage - Ecran E-Ink
2- Le son - test de I2S, ampli class D, filte
3- Les sondes (baro, giro, kalman)
4- le GPS
5- la carte SD - USB - liaison série + programme PC
6- le BT - Xctrac, …

Avec le travail d’orfèvrerie de Prunkdump, pour l’optimisation, l’intégration et le PCB, on doit pouvoir en quelques mois passer sur une nouvelle version beaucoup plus puissante

Quant pensez-vous ?

Coté board je vous rappelle :

1- adafruit M0 + SD - https://www.adafruit.com/product/2796
2- adafruit M0 + BT - https://www.adafruit.com/product/2995
3- Arduino MK Zero + SD - https://store.arduino.cc/arduino-mkrzero
4 - SAM 15x15 - http://www.avdweb.nl/arduino/samd21/sam-15x15.html

Personnellement je n’ai pas de préférence marqué pour les boards, juste un petit plus pour l’adafruit qui intègre le pont diviseur

Coté développement je veux bien me charger de la partie 1 - la portabilité de affichage avec un écran E-Ink 1.54’, je suis déjà en train de voir pour l’intégrer au vario actuel

Tout les développeurs qui veulent contribuer et participer peuvent se proposer pour une partie, plus on sera et plus cela sera facile et rapide. Partir chacun de son coté va entraîner des développements en double, alors qu’en équipe on sera plus efficace. En partageant nos sources via le github, on peut avancer tous ensemble en ayant chacun les derniers codes, donc un vario de plus en plus fonctionnel. Cette étape de portage terminé, on pourra se consacrer au futur amélioration -

Pour le choix de la board tout les avis sont bon - développeur ou non, afin que l’on parte sur le meilleur choix

Coté amélioration, je me demande si on pourrait pas ajouter une sonde pito de modèle réduit. Il faut que la sonde soit bien dans l’axe, pas évident sur les élévateurs. Avoir la vitesse air, pourrait nous aider énormément pour gérer une alarme de sous vitesse (décro) effet bagnard, la vitesse et le sens du vent, détection des thermiques

L’I2S avec un M0+

https://create.arduino.cc/projecthub/Arduino_Genuino/i2s-theremin-cec47a

https://www.arduino.cc/en/Tutorial/ArduinoSoundWavePlayback

l’i2S me parait être la solution au niveau son - si on peut jouer un fichier mp3 on peut tout faire

La SD sur la MkZero

https://create.arduino.cc/projecthub/Arduino_Genuino/mkrzero-weather-data-logger-574190

Salut !

Oui excellente idée le protocole de communication ! Parceque j’ai cherché et le mass storage c’est pas évident du tout :? . Même avec un microcontroller qui gère l’USB. Je pense que ça serait plus simple autrement de rajouter un controlleur de carte SD ( comme dans les adaptateurs pour PC ) et avec l’arduino gérer l’allumage du controlleur.

Autrement les boards avec un USB d’un côté et la carte SD de l’autre. On peut faire sortir la carte SD. Et comme il y a des Pins qui correspondent à l’USB, on peut ajouter un petit connecteur USB à côté. Je sais pas si je suis clair :wink:

Ensuite j’ai eu une demande pour compiler le code sur arduino Leonardo (Atmega32u4). J’ai presque fini d’adapter le code.

Pour le Cortex M0 ce ne sera peut-être pas si difficile. La librairie SPI existe déjà sur arduino. Je suis sur qu’on peut trouver une librairie I2C. Il ne reste donc qu’à adapter : l’interruption du ms5611, la bibliothèque SerialNmea et toneAC.

Ça ne dois pas être trop compliqué. C’est juste que c’est du bas niveau donc il faut se plonger dans les datasheet :slight_smile:

À suivre !

Pour le son je serais pour utiliser l’I2S, la librairie existe et on pourrait gérer du son en analogique avec un vrai amplificateur audio

Il ne resterait que le ms5611 et le gps à réécrire

Prunkdump tu préfères plutôt travailler avec un arduino mkrzero ou un adafruit ?

j’ai trouvé cette librairie

http://www.arduinolibraries.info/libraries/flash-storage

et ce lien vers l’utilisation de l’I2C sur ATSAMD21

https://learn.adafruit.com/using-atsamd21-sercom-to-add-more-spi-i2c-serial-ports/creating-a-new-serial