Sniffeur de thermique Arduino et codage

Bon comme il fait moche pour l’instant je me suis lancé dans un projet Arduino.

J’ai envie de ressusciter un vieil appareil qui avait fait un gros flop dans les années 80. :mrgreen:
https://web.archive.org/web/20030801174905/http://www.krigelec.com:80/sniffeur/sniffeur.htm

En gros l’appareil détecte les microvariation de température et bipe quand l’air se réchauffe, et alerte le pilote de l’approche d’un thermique.
L’appareil en question était assez controversé car la lecture auditive était assez déroutante apparemment.
(ça bipait a l’approche d’un thermique et dégueulait si on s’en éloignait) l’avantage de cet appareil était de pouvoir localiser les zones intéressantes au niveau thermique avant même que le vario ne bipe
Je me suis dit qu’avec un arduino il y avait moyen de programmer un truc plus simple a comprendre.

En gros à l’époque l’appareil avait deux défauts majeurs:

  • Le premier dans une grosse dégeulante il avait tendance à biper car l’appareil ne compensait pas l’augmentation de température avec la perte d’altitude.
  • Le deuxième il n’enregistrait pas la température de l’air avant l’approche du thermique, du coup il était continuellement en instantané, ça se réchauffe ça bipe ça se refroidit ça dégueule. Hors dans un vario classique c’est différent tant que on est dans du positif ça bipe (Je veux donc que le système enregistre la dernière valeur de température stable et le définisse comme le point 0 dés qu’une variation suffisamment importante est détectée, toute variation après sera calculée en différence par rapport au point 0 et sera définie comme ex +0.1 °C +0.2°C +0,1°C 0°C -0,1°C au lieu de +0,1°C +0,1°C -0,1°C -0,1°C qui est beaucoup moins compréhensible (vous me suivez toujours :wink: )

La liste du matériel commandé :

Un Nano V3.0
https://www.amazon.fr/tinxi®-ATmega328P-Contrôleur-Compatible-Arduino/dp/B01FRZVUNS/ref=sr_1_7?ie=UTF8&qid=1513066798&sr=8-7&keywords=arduino+nano
Une sonde de température haute précision
https://www.amazon.fr/Adafruit-MCP9808-Breakout-température-précision/dp/B00OKCQX96/ref=sr_1_1?ie=UTF8&qid=1513067065&sr=8-1&keywords=adafruit+mcp9808
Une sonde de pression atmosphérique haute précision
https://www.amazon.fr/gp/product/B072M7RRYV/ref=oh_aui_detailpage_o02_s00?ie=UTF8&psc=1
un potentiometre (pour ajuster la sensibilité de l’appareil
https://www.amazon.fr/potentiomètres-kwmobile-Arduino-Raspberry-projets/dp/B01MYB7DHB/ref=sr_1_4?s=electronics&ie=UTF8&qid=1513067334&sr=1-4&keywords=potentiometre+arduino
un ecran e-ink qui trainait chez moi
https://www.amazon.fr/gp/product/B071LGVVL1/ref=oh_aui_detailpage_o00_s01?ie=UTF8&psc=1

J’ai déja codé la grosse partie (un peu spaghetti ), je vous balancerai le code et les schémas plus tard.

Tout est sur un breadboard pour l’instant, pas encore eu le temps de plancher sur le design du boitier et l’alimentation.
Si ça vous intéresse et que vous savez coder un peu, votre avis m’intéresse

Attention il est fort probable que tout compte fait cet appareil n’apporte rien au vol et reste toujours une daube dans ce cas là je le recyclerai pour monitorer ma cave à vin :lol:

intéressant ton projet

si tu déposes le tout sur un github ce serait pratique :slight_smile:

bonne continuation

Oui pourquoi pas

La partie matériel et sa programation reste pour moi du chinois mais je suis très intéréssé par la mesure en temps réel de la masse d’air.

Le sniffeur originel n’était pas exploitable en vol, les infos ne correspondaient pas sans que l’on sache vraiment si le problème venait du matériel (manque de filtrage, de précision ou d’inertie ?) ou du modèle aérologique (correspondance entre la variation de température et l’ascendance).

En statique au décollage c’était assez amusant d’entendre le sniffeur sonner juste avant de sentir la rafale thermique. Il y avait donc un fond de vérité dans cette idée.

Il serait intéressant de lancer une petite étude préalable de la correspondance entre la variation de la température et la présence d’ascendance. En enregistrant les valeurs de la sonde et du vario en temps réel on pourrait valider ou non le principe et les valeurs de filtrage à appliquer.

Amuse toi bien !

Oui c’est ce que j’ai lu, il ne compensait pas la température avec l’augmentation ou perte d’altitude et il bipait en fonction des variation de températures. C’est un peu comme si ton vario bipait en fonction des variation des vitesses verticales. ca bipe quand tu passe de 0.9 à 1 m/s mais pas quand tu reste dans du 1m/s (si tu me suis) avec un arduino c’est plus facile à programmer.

L’idée paraît vraiment intéressante et il semble bien que le vario puisse résoudre une grande partie des problèmes de la première version. Vraiment intéressé de voir ce que çà peut donner.

Je suis d’accord avec Patrick, avant de coder quoi que ce soit niveau logique, il serait intéressant (sinon indispensable) d’avoir des enregistrements bruts et synchronisés de la sonde de température et de la sonde de pression pour pouvoir les analyser et en déduire déjà si il y a quelque chose à en tirer (corrélation ET causalité). En gros construire un modèle théorique avant de sauter directement à la pratique.
Intéressant comme projet :pouce:

oué mais pour faire les mesures il faut bien assembler qq composants et faire un mini bout de code :slight_smile: elles n’arrivent pas toutes seules dans ton excel les mesures :-p

Tout à fait, juste pour dire qu’un breadboard et un code minime suffisent aux préliminaires (mais j’y connais rien en élec, je suis du coté du code) :slight_smile:

Il y a déjà des données de disponibles, j’avais lu dans un livre (je peux pas citer des sources) que pour qu’un thermique décolle du sol il faut au moins une différence de 1,5 degré. J’ai aussi lu que la masse d’air du thermique et de l’air ambiant était très peu miscible. Donc on peut en déduire qu’en air instable et a une distance raisonnable d’une inversion lorsqu’on évolue dans un thermique il a une température différente de ses alentours. Je pense pas qu’une analyse préalable soit nécessaire pour accepter ce postulat là.
Par contre le thermique en lui même a une inertie et lors de l’approche de l’inversion il va s’écraser et pousser dessus, cet appareil sera alors moins pertinent mais on s’en fout parce qu’on est au plaf :stuck_out_tongue: l’intéret de l’appareil c’est d’indiquer qu’on approche d’un thermique, il l’est beaucoup moins une fois qu’on est installé dedans parce que le vario prendra le pas pour le centrage.

Des données théoriques existent et sont trouvables un peu partout sur le net:
le rapport entre la pression et la température de l’air en adiabatique sèche (en gros ± 0.09411616 °C / mBar ou 9,8 °C/km) ça varie en fonction de l’altitude mais pas tant que ça aux altitudes auxquelles on évolue entre 1000 et 700 mBar.
On pourra rajouter une sonde d’humidité pour l’adiabatique humide (mais je vois pas trop l’intéret d’enrouler dans un nuage)

voilà le github
https://github.com/coldeg/Thermal-Sniffer
comme je suis un noob la dedans j’ai peut-être pas tous les éléments n’hésitez pas à me demander plus de trucs.
et désolé pour le code je suis encore débutant

Les problèmes avec le modèle original (j’en ai un qui marche encore :wink: ), venait effectivement de la non compensation mais on parlait aussi de données parasitées par des ‘abeilles’ (bullettes d’air chaud) autour du thermiques. Réalité ou légende de bar ?

Dans ce cas il faudrait prévoir un système de filtrage pour compenser les variations parasites.

Salut Captain Obvious,

J’adorerais avoir ta polyvalence hardware/Software, hélas je code comme un goret, et comme je suis allergique à l’électronique, la messe est dite.

Comme dit plus haut, le fait que l’air chaud et l’air froid soient d’autant moins miscibles que le gradient de température augmente fait que j’ai quelques doutes sur l’intérêt du binz.

Par contre, un truc me trotte dans la tête depuis 2 ans, la strioscopie, une voie pleine de promesses me semble t’il… Je me trompe peut être, ce ne serait pas la 1ère fois.

Je poste non pas pour te casser les pattes sur ce projet, qui je l’espère te fera kiffer et que je suivrai, mais pour semer une graine dans une tête qui semble équipée pour la faire pousser.

:slight_smile:

S’il y a un gros gradient de températures, alors cela doit être des boulets qui montent!
Cela peut être un outil pour étudier les thermiques. En l’absence de déclenchement, attendre là où c’est le + chaud est certainement la bonne stratégie à avoir.

Pas con.
Moins que mon rêve de voir un jour une techno nous montrer les thermiques en vidéo en tous cas.

  • Parce qu’avec la strioscopie c’est impossible en l’état de la techno.
  • Parce que ça ferait perdre en partie l’intérêt de la discipline.

oui mais je suis certain que ça ouvrirait la porte à de nouveaux challenges !
et puis c’est comme la vario, y’en a qui ne peuvent plus voler avec et préfèrent voler “au naturel” alors que d’autres sont incapables de voler sans.

bref on s’éloigne du sujet, mais effectivement les lunettes avec HUD intégré qui matérialise le thermique ce serait fumant :slight_smile:

mais vous savez aussi qu’un thermique c’est pas descendre à -1m/s et se retrouver 100 millisecondes après dans du +3m/s on rentre doucement dedans et puis après il faut le centrer.
ce qui est intéressant c’est les abords, on peux détecter avec l’appareil une variation de 0,03 degré là ou le thermique n’est pas encore en train de monter. l’intéret c’est dans le faible, rester dans une zone plus chaude, détecter si on est dans du dynamique plutôt que du thermique, une dégeulante (pas dynamique), trouver la sortie d’un bagnard, …

Si tu parviens à faire fonctionner l’outils, les essais apporteront les réponses.
Si ça se trouve tout le monde en voudra un sur son cockpit dans 5 ans…
Si ça peut t’aider en fin de projet, je peux te faire le boitier (num et impression 3D), rien de plus vu mon incompétence en dev et electro.

Voilà ce que j’ai prévu dans le programme pour l’instant.

  • Il enregistre à chaque cycle la pression à ± 10 cm de résolution et la température à 0.03°C près.
    je fais 5 mesures de chaques pour lisser les données. Chaque cycle complet dure environ 250 milisecondes sauf lorsqu’il écrit sur l’écran une fois tout les 20 cycles 250 milisecondes de plus
    -à chaque cycle il compare la température précédente avec la température actuelle et corrige si différence de pression la différence de température (-0.0098 °C/m, pour être exact je corrige la température avec les mBar pas l’altitude, donnée que j’ai pas avec une sonde de pression)
    -à chaque cycle il compare cette différence de température avec le seuil de sensibilité qui est ajustable.

  • Si le seuil de sensibilité est dépassé il enregistre la dernière température comme valeur de référence (un peu comme si il étalonnait l’appareil à 0 m/s) et l’appareil va biper en fonction du delta de température comme un vario classique (je cherche un spectre sonore différent du vario pour éviter la confusion)

  • si plus de variation significatives pendant 20 cycles le module sonore s’arrête

Il reste à faire compenser la température de référence avec l’altitude.
Il reste à définir si il est intéressant de faire biper l’appareil une fois établi et en vario positif dans un thermique et si oui a combien de m/s on s’arrête
Il reste a définir ce qui serait intéressant d’afficher sur l’écran
Il reste à définir si ça marche dans la pratique :mdr:

Est ce qu’il pourrait y avoir un intérêt à mettre ce dispositif sur chacun des bout d’aile ?
Il me semble que c’est dans “les visiteurs du ciel” qu’il y avait un chapitre dessus.