DIY GnuVario : variomètre opensource - openhardware Arduino

Oui c’est vrai moi non plus je n’ai pas fait d’essais d’autonomie :grat: je vais essayer de faire ça des que possible. Mais on a un expert de la batterie maintenant :smiley: ! Jpg64 va sûrement tester son témoin de charge et nous donner des infos. Et tout cas super Ptitkiki d’avoir pris le temps d’expérimenter :pouce:

Y’a peut être quelque chose qui pourrai améliorer la conso. Pour l’instant on envois du 3,7v sur tout les régulateur 3,3v de chaque carte. Mais chaque régulateur dissipe de l’énergie.

J’avais fait des essais en envoyant partout du 3,3v avec le régulateur de l’arduino mais j’ai eu des mauvaises expériences. Je pense qu’il n’est pas d’assez bonne qualité pour tout ce qui est alimenté.

Mais peut être qu’en rajoutant UN bon régulateur en sortie de la batterie on aurait des meilleurs résultats. Si quelqu’un s’y connaît pour investiguer :wink:

Content que tu ai pu faire un test en vol GtD73 ! Mais je ne sais pas ce qui s’est passé pour la trace… Peut être aussi que la carte s’est déconnecté dans la poche.

Pour les dates des fichiers c’est une petite triche pour économiser du code. Je met toujours la même date :oops:

:grat: :grat:
Je capitule pour ce soir je n’arrive pas à compiler les firm.hex…

Bizarre :grat:

Faudrait que tu nous donne le message d’erreur.

GtD73

j’ai remarqué que l’arduino.exe en 1.8.2 m’avait ajouter un répertoire dans AppData après avoir mis à jour les cartes - proposition en bas à gauche.

C:\Users\jpg63\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\libraries

j’ai renommé le répertoire en old

J’ai aussi eu des erreurs avec la bibliothèque SPI et EEPROM, j’ai installer la version 1.0.5, j’ai sauvegardé les librairies, j’ai réinstallé la 1.8.2
ensuite j’ai supprimer toutes librairies dans C:\Program Files (x86)\Arduino\libraries et j’ai mis les librairies du github puis SPI et EEPROM de la version 1.0.5

si cela peut t’aider


j’ai fais une constatation bien embêtante avec l’affichage de la batterie, il est possible que ce soit mon code mais je crois plutôt que cela vient de la batterie - j’explique le soucis, à chaque fois que le beeper bip, la tension chute
Mon explication c’est que courant demander par le beeper et l’ensemble du vario est supérieur au courant de décharge de la batterie. La batterie a certainement en “C” (facteur de décharge) trop faible vu les 600 mh et la consommation de l’ensemble des modules.

Il va peut être est nécessaire de recalibrer la batterie pour les futurs versions

A tester pour confirmer le problème

Caractéristiques électriques des batteries LiPo

La tension nominale d’un élément LiPo est de 3.7 V. (C’est la tension à vide d’un élément chargé à 50%).

La capacité : elle s’exprime en Ah (Ampère x heure et non pas Ampère / heure). Une batterie de 2000 mAh soit 2 Ah a la capacité de débiter 2 A pendant 1 h ou 20 A pendant 0,1 h (6 mn).

L’agencement d’un pack : pour obtenir une tension plus élevée, on met plusieurs batteries élémentaires en série. Un pack 3S possède 3 éléments en série (le + d’une batterie est relié au - de la suivante), sa tension nominale sera de 3 x 3.7 V soit 11.1 V (à vide).
Pour augmenter la capacité d’un élément, on peut en mettre 2 en parallèle soit 2P en abrégé (les + des deux batteries sont reliés ensemble, idem pour les -). Tenant compte de l’augmentation de capacité des éléments, ceci n’est plus très utilisé pour les applications courantes.

Le facteur de décharge : une batterie 2000 mAh de 20 C a une intensité maximale de décharge de 20 fois sa capacité soit 20 x 2 A = 40 A (et non pas Ah ).
Les fabricants ont toujours tendance à gonfler ces chiffres, aussi il vaut mieux prendre un peu de marge pour prolonger sa durée de vie… et puis n’oubliez pas, décharger une batterie à 20 C, ça fait 1/20 h soit 3 mn d’autonomie .

Résistance interne : c’est la résistance équivalente mise en série avec une batterie théorique. Rarement indiquée par les fabricants, c’est vraiment dommage. Elle influence la capacité de décharge d’une batterie.

Tension minimale de décharge : les batteries LiPo ne doivent jamais être déchargées en-dessous de 2,5 V par élément. La valeur recommandée si vous voulez faire durer vos batteries est de 3.3 V par élément et personnellement je m’arrête à 3.6V.

La charge des batteries LiPo commence à courant de charge constant (I = 1C*) et lorsque la tension atteint 4.2 V elle se termine à tension constante, le courant de charge décroissant pour arrêter la charge à I = 0,1C.

  • Les batteries de 3ème génération peuvent se charger à 5C, encore faut-il le chargeur qui en est capable.

Tension de charge maximale : les batteries LiPo ne doivent jamais être chargées au-dessus de 4.2 V par élément. Attention, danger d’incendie ! C’est pourquoi il est impératif d’utiliser un “égaliseur” dans le circuit de charge. En effet, après utilisation, les tensions aux bornes de chaque éléments peuvent être différentes, et si vous charger un pack d’éléments en série un des éléments peut se trouver en surtension.

Tension de stockage recommandée : si vous voulez prolonger la durée de vie de vos chères LiPo, il vaut mieux les stocker au froid et seulement à 3.7 V par cellule. Contrairement aux NiMh l’autodécharge des batteries LiPo est faible.
Mais les batteries LiPo vieillissent à ne rien faire…

Je vous avez bien dis qu’on avait un pro de LiPo :pouce: ! Je vais étudier ça !

Autrement j’ai fais un essai sous windows.

-> J’ai pris un windows 7 (ou l’IDE n’avait jamais été installé)
-> J’ai installé le dernier IDE (1.8.2) https://www.arduino.cc/en/Main/Software
-> J’ai téléchargé le code du GitHub https://github.com/prunkdump/arduino-variometer/archive/master.zip
-> Je l’ai extrait dans “Mes document\Arduino”. Il me demande d’écraser le dossier “librairies”
-> Je choisit “pro mini” et “3.3V, 8Mhz”

Et tout se compile bien … :grat:

J’arrive pas a comprendre d’où peut venir vos problèmes de compilation. Et apparamment plusiers personnes sont concernées :shock: . Essayez :

-> de désinstaller l’IDE
-> supprimez “Mes documents\Arduino”
-> supprimez “c:\utilisateurs\login\AppData\Local\Arduino15” (si vous ne voyez pas AppData tapez “AppData” dans la barre d’adresse.
-> supprimez “c:\Program Files (x86)\Arduino”

Puis réinstallez l’IDE avec la procédure ci-dessus. Et si vous trouvez d’où vient le problème dites le moi :smiley: Je le mettrais sur le Tuto. En tout cas le code est compatible avec la dernière bibliothèque arduino.

Ou alors vous avez pris la version “beta” ? Le “hourly build” ? :grat:

Salut

Pour le chargeur de la batterie, si vous ne l’avez pas vu, en regardant par l’ouverture de la prise USB on peut voir une led qui reste rouge si la batterie n’est pas pleine et passe bleu quant elle est complètement chargée

Pour comprendre pourquoi la batterie s’effondre il faudrait mesurer le courant qui lui est demandée et en fonction calibrer la batterie et l’autonomie

Exemple avec le beeper à font si on tire 600mA et que l’on veut 4h d’autonomie il faudra choisir une batterie de 0.6X4 = 2400mAh avec par sécurité un C de 20 à 35. Plus de chute de tension et une autonomie calculer théoriquement

La chute de tension n’est pas si grave en soit car à 3.6V la lipo est pas loin d’être morte et l’ensemble des éléments s’alimentent en 3.3V, juste l’affichage de la batterie qui passe de 100% à 50% dès que ça bip. Cela renforce l’idée d’avoir un régulateur 3.3v externe pour alimenter sans fluctuation les composants.

Il sera peut être utile de revoir la taille du boitier à la légère hausse pour pouvoir loger une plus grosse batterie et éloigner le bluetooth, l’écran et le GPS, pas trop non plus on est juste légèrement plus petit qu’un syride. L’idée est de rester petit pour s’accrocher au élévateur, c’est le top pour un petit vario, pas de cockpit, poids mini, le vario juste au niveau des yeux et des oreilles idéale avec un petit écran. Coté écran 1" de plus et du E-Paper :dent:


https://img4.hostingpics.net/pics/59986920170506102912.jpg


https://img4.hostingpics.net/pics/16970920170506102924.jpg


https://img4.hostingpics.net/pics/76462020170506102851.jpg

Quelqu’un peut expliquer pourquoi un syride, un skytraxx, un Reversale, …
ont une autonomie nettement supérieure avec tout autant de fonctions.
ils n’ont pas un volume nettement plus gros et n’emporte donc pas des batteries énormes???

C’est la technologie employée qui est plus gourmande ??

Allez un petit quiz pour s’amuser :smiley: :

->le OKW Minitec D drop : https://www.okw.fr/fr/Boitiers-en-plastique/Minitec.htm
->le OKW Soft-Case : https://www.okw.fr/fr/Boitiers-en-plastique/Soft-Case.htm
->le Hammond 1553A : http://www.hammondmfg.com/pdf/1553A.pdf

Retrouvez à qui appartiennent ces boîtiers !

Autrement Van Hurlu pour l’autonomie c’est juste qu’on y a pas encore beaucoup réfléchit… :oops: Avec quelques petites modifs sur le circuit on peut parfois améliorer grandement la durée de la batterie.

J’ai bien envie de tester l’ajout d’un bon régulateur en entrée. Mais j’ai pas ça à la maison.

Autrement je suspecte aussi le petit circuit de protection posé sur la batterie d’être conçu “très large”. Essayez si vous voulez. Il est impossible de faire un court circuit avec la batterie. Ya un composant qui doit couper à partir d’une certaine intensité. Peut-être qu’ils l’ont réglé pour couper un peu vite … En tout cas moi la batterie ne chauffe pas du tout dans le vario. C’est qu’on doit pas lui tirer beaucoup dessus.

Edit :

J’ai peut-être trouvé une position pour le bluetooth ! : Posé sur le baro et l’arduino sous la nappe de l’écran, contre les connecteurs dupont. Il faut du coup descendre à peine un peu plus la batterie et raccorder le bluetooth avec une nappe. Mais ça à l’air de passer ! Si les bricoleurs se sentent de tester.

Pour l’écran on pourrait simplement le mettre de l’autre côté. Mais l’entrée de la carte SD serait alors face au vent. Il faudrait trouver une manière de la protéger. Avant qu’on arrive à accéder à la carte SD par l’USB :smiley:

je pense que oui
la prouesse de faire rentrer toutes les cartes dans un si petit volume est énorme, un énorme boulot d’optimisation et d’astuce que l’on doit à Prunkdump, et qui permet à tout le monde de le fabriquer. Je pense que la différence avec les vario pro réside dans l’intégration des composant, un minimum, pas de composant additionnel inutile est consommateur, un circuit et du cms, du coup pas de surprise ça consomme moins. Plus de place, batterie un peu plus grosse

génial les liens vers les boîtiers

un syride one lol

Ya pas que le Syride One ! :smiley:

Regardez bien ! Ya deux varios commenciaux rien que dans cette page :

https://www.okw.fr/fr/Boitiers-en-plastique/Minitec.htm

Et le Hammond c’est facile … :wink:

http://www.hammondmfg.com/pdf/1553A.pdf

ROTFL

je voulais laisser une chance au autre :stuck_out_tongue:

je vais pouvoir customiser mon syride Nav en jaune :grrr: :averse:

Pour gagner de la place il y aurait aussi l’utilisation d’une antenne plus petite
le Ublox NEO-6M GPS existe aussi avec une antenne plus étroite

je n’arrive pas à vous faire un lien ??? mais si vous cherchez Ublox NEO-6M GPS sur ebay, vous trouverez le modèle avec mini antenna

Je ne les ai pas démontés, mais je pense que syride et autre ont des batteries au moins du triple de la.capacité… 600, c’est pas énorme. Ils ont bcp plus de place de libre car tout est intégré sur une seule carte en cms…
Aussi plus d’ optimisations logiciel et hw, comme évoqué sur les alims.

Jpg63: ton background sent la culture modélisme, non? :trinq:

Prunkdrump: comment installe t’on le bootloader sur une carte “neuve” stp? Sur une carte avec bootloader, est-il encore possible de flasher depuis l’IDE via un adapteur série? Le code actuel est-il compatible pour ça?

Je pense aussi que le buzzer suce pas mal, à creuser…

Salut !

Pour installer le bootloader il faut un autre arduino (5V ou 3.3V).

  1. Tu met un sketch spécial sur l’arduino qui va servir à programmer :

-> Dans l’IDE tu choisis le modèle de la carte de l’arduino “programmeur”
-> Dans “Exemples” tu ouvre “Arduino ISP”
-> Tu compiles et tu charge sur l’arduino.

  1. Tu prends maintenant l’arduino que tu veux programmer et tu connectes ainsi :

Aduino qui programme -> Arduino programmé :
pin 13 -> pin 13
pin 12 -> pin 12
pin 11 -> pin 11
pin 10 -> pin Reset
pin 5V (ou 3.3V sinon) -> pin RAW
pin GND -> pin GND

Quand tu programmes un pro mini tout est du même côté. J’ai donc utilisé une pin header plantée dans une breadboard pour faire les contact sans souder. Autrement il y a une broche exprêt sur les cartes.

!!! Parfois il faut connecter un condensateur de 10uF entre la pin Reset et la masse de l’arduino “programmeur”. N’en met pas au départ. Met le si tu as des erreurs bizarres qui ne sont pas des timeout. Si tu n’as pas de condensateur tu peux souder deux fils sur un condensateur SMD recupéré sur une plaque de charge LiPo ou autre !!!

  1. Tu fais un essais avec le bootloader Arduino d’origine.

-> Dans l’IDE tu choisis le modèle de la carte que tu programme
-> Tu connectes l’arduino programmeur
-> Dans “programmeur” tu met arduino “Arduino ISP”
-> Dans “outil” tu lances “graver la séquence d’initialisation”

  1. Si ça marche tu n’as plus qu’à remplacer le bootloader arduino par le mien.

-> Dans “préférences” de l’IDE tu met que tu veux un affichage détaillé pour “l’upload”.
-> Tu lances encore la programmation du bootloader d’Arduino.
-> Tu récupères les deux commandes (en blanc) qui ont été lancées.
-> Tu relances les deux commandes en enlevant les -v -v -v et dans la deuxième tu change le chemin du bootloader par celui de “optiboot-sdcard”. (Tu peux te faire un .bat)

Je te met en pièce jointe le bootloader pour l’arduino pro mini. Dis moi si tu le veux pour une autre carte.

Remarque : Ce bootloader fonctionne aussi sur la liaison série habituelle si besoin. Mais il faut quand même qu’une carte SD soit connecté.

A+

du m’a démasqué ptitkiki, je fais un peu de d’aero-modélisme, j’ai plus beaucoup de temps pour faire voler mes moto-planeurs mais quant il pleut et que ça ne vole pas, il m’arrive de construire (balsa) ou de concevoir quelques petit truc


https://img4.hostingpics.net/pics/122764maglifuselage3dv102.jpg


https://img4.hostingpics.net/pics/20329020170314073951.jpg


https://img4.hostingpics.net/pics/62515420170314074417.jpg


https://img4.hostingpics.net/pics/44631820170309075127.jpg

hello,

Merci bcp prunkdrump pour les conseils sur le bootloader, je vais tester ça.
J’ai l’impression d’avoir cassé le bootloader de mon vario, car je n’arrive plus à mettre a jour le firm via la carte SD, même avec le bouton reset.
Ca s’est produit lorsque j’ai essayé de mettre la version sans reset avec le bouton. Les autres: vous avez réussi sans encombre?

Mais avec tes explications, je devrais pouvoir réparer ça se soir. :pouce:

Pour la position du BT, j’étais arrivé presque à la même conclusion, mais je pensais le déporter au dessus de la batterie avec une nappe et non en dessous. j’ai testé ça devrait passer, je ferais une photo.

@jpg63 pour le modelisme, je m’en doutais bien :wink: J’ai pas mal conçu/construit/volé aussi dans le passé. :wink:

je suis passé sans encombre à la version sans reset, j’avais juste avant mis en place l’astuce du plug USB, qui marche aussi très bien

Salut ptikiki !

Tu aurais pas pris par erreur le fichier généré par l’IDE avec bootloader ? il faut toujours prendre les .hex sans meme pour le code sans le bouton reset. Ce n’est pas le bootloader qui change. C’est juste le code qui sait lancer le bootloader.

Pour reprogrammer tu peux utiliser la broche de l’écran.

  1. Tu prends un câble de breadboard que tu coupes en deux.
  2. t’en soude un sur la pin reset (libre) et l’autre sur la pin 12.
  3. tu peux alors Connecter l’arduino programmeur comme suit :
    Pin 13 -> entrée 5 de l’écran
    Pin 12 -> pin 12 arduino
    Pin 11 -> entrée 4 de l’écran
    Pin 10 -> pin reset de l’arduino
    Pin 3v -> entrée 6 de l’écran
    Pin Gnd -> entrée 8 de l’écran

Ensuite tu verifie au testeur de continuité que ça correspond bien au raccordement de mon message précédent.

Ça serait super que tu nous trouve une solution pour le Bluetooth !! :pouce:

Edit : utilise le connecteur de l’écran ! Pas la broche… tu plante tes câbles de breadboard dedans.

@ptikiki,

Je viens à l’instant de compiler et charger le dernier firm du vario ; j’étais resté jusqu’alors à la version initiale, pré-chargée par prunkdump.

Et je viens de vérifier la nouvelle procédure de mise à jour de firm proposée par prunkdump, bien plus sympa car ne nécessitant pas l’accès au bouton de reset.

Pour moi, ca marche.
J’ai fait 3 tentatives, en modifiant le code (niveau sonore de 2 à 10) à chaque fois pour controler le chargement.

Ca a marché à chaque fois. Donc, à priori, pas de pb de bootloader.

Sinon, pour les problèmes de compilation rencontrés auparavant :
c’était bien lié à des conflits de librairies.

L’IDE arduino, en tout cas sous Windows, n’est pas très souple ; je ne vois pas comment ne lier certaines librairies qu’a un projet.

Dans ce que je comprends :

  • il y a le dossier initial d’install de l’IDE. Pour moi, D:\Soft\Arduino-1.8.2
    J’ai fait une install à partir d’un fichier zip, en dézippant le tout dans ce dossier.

  • puis, le dossier C:\Users<login>\AppData\Local\Arduino15\ qui est créé automatiquement au premier lancement de l’IDE.
    il y a dedans, d’abord, le fichier preferences.txt qui contient les préférences utilisateur
    puyis, au fur et à mesure que l’on fait des mises à jour de librairies ou autres depuis l’IDE, celles-ci se font dans ce dossier C:\Users<login>\AppData\Local\Arduino15\ ; ca peut devenir volumineux.

  • enfin, le dossier “Documents\Arduino”, qui contient les librairies utilisateur. Ca reste global aux différents projets en cours.

:bravo: :bravo: :bravo:

Ca y est !!
J’ai la dernière version du vario, j’ai fait la calibration, plus besoin d’appuyer sur le bouton reset, nickel !!
A priori c’était bien un pb de librairies ou un truc du genre parce que tout est rentré dans l’ordre après l’installation d’un IDE toute propre.
J’ai eu une trace d’enregistrée en allant faire pisser le chien donc pendant le vol soi j’ai perdu la visu des GPS soi la carte s’est désenfichée.

y’a plus qu’à bouffer du code (et de la lime pour le bluetooth)

ET VOLER !