Fabriquer un altimètre

Bonsoir,
Je ne m'y connais absolument pas en Arduino, seulement je voulais savoir s'il est possible de fabriquer un altimètre pour fusée à eau en utilisant:
-une carte ESP32
-un capteur de pression BMP280
-un module de carte SD
-de quoi auto-alimenter le circuit avec une pile 9 volts

Idéalement j'aimerais pouvoir récupérer les données de pression sur la carte SD, cependant je ne sais absolument pas si cela est possible.

:warning:
Post mis dans la mauvaise section, on parle anglais dans les forums généraux. déplacé vers le forum francophone.

Merci de prendre en compte les recommandations listées dans Les bonnes pratiques du Forum Francophone

Salut et bienvenue sur le forum

Possible sûrement. Je ne me prononce pas sur la carte SD, n'ayant encore pas pratiqué la chose...

Quelques questions quand-même et des commentaires

Quelle est la hauteur de vol envisagé pour la fusée à eau ? J'ai lu que cela pouvait aller jusqu'à 100 m. Avec une bonne antenne en réception, une transmission en wifi en direct peut être envisagée et si tu as du public pour le tir, ça peut être sympa d'afficher les paramètres de vol en temps réel... (simple suggestion, tu en fais bien sûr ce que tu veux)

Tant qu'à faire embarque aussi un accéléromètre 3 axes dans ta fusée...

La pile 9V a mauvaise presse ici Utilise plutôt une petite batterie LiPo qui sera suffisante, plus légère et plus performante.

Tu as regardé (connais pas non plus le capteur) la fréquence échantillonnage du capteur de pression ? Je suppose que la durée de vol est courte alors autant avoir plus que deux ou trois mesures.

Et puis surtout tiens-nous informé du projet, c'est fun !

La pile de 9V c'est 6 micro piles de 1,5 V mise en série, tout est dit : aucune capacité et 6 résistances internes mise en série.

BMP280 :
La notion de durée de l'action est importante.
Combien de temps dure la "montée" de la fusée ?
Combien faut-il de temps pour acquérir une mesure avec un BMP280 ?
Combien veut-tu acquérir de mesure ?

Carte SD :
Et pourquoi pas une eeprom interne au micro ou plus sûr externe au micro.
Attend confirmation, mais il me semble que ce serait moins volumineux, moins lourd et plus rapide.
Les enregistrements devront-ils être horodatés, ou l'association à la mesure d'une simple information du temps écoulé depuis le départ de la fusée suffit ?

La version classique du BMP280 est I2C.
On trouve des modules câblés pour fonctionner en SPI

Les eeprom existent aussi en I2C et SPI

Note : je sais que les dialogues en SPI sont plus rapides que l'I2C, je n'ai utilisé les BMP ou eeprom qu'en I2C n'ayant pas de contrainte de rapidité, donc je ne peux pas faire de retour d'expérience sur la réactivité de ces produits

Bonsoir,

J'ajouterais accessoirement pour tous les composants:

  • Quelle accélération maximale ?
  • Y a-t-il des vibrations ?

Tout cela pour pressentir qu'une carte SD ne tiendra pas le coup à moins de la souder ... préférer une eeprom interne ou externe

A suivre...

Je pousserais plutôt du coté de la FRAM qui se comporte comme de la RAM au niveau vitesse de transfert (pas de pause lorsque le buffer est transféré dans la mémoire), permet 1000 fois plus de cycles d'écriture.

Bonjour,
Concernant la mémorisation, je me permet de synthétiser les recherche que j'ai déjà fait pour un autre projet Arduino:

Il y as 3 type de mémoires utilisable sur Arduino:
- EEPROM
- SRAM
- Carte SD

L'EEPROM est une mémoire non volatile, elle garde les donnée même si la carte est n'est pas alimenter, son cout est relativement faible, mais sa durée d'accès (temps pour écrire une nouvelle information) est relativement élever. On en trouve une dans tout les microcontrôleur Arduino et il est très simple de la lire et de l'écrire. On peut aussi bien sur adjoindre une EEPROM externe en I2C ou SPI.

La SRAM, s'est ma préférer car son temps d'accès est très faibles, on peut écrire dessus très rapidement, mais s'est un mémoire volatile, les donner ne sont conserver que lorsque qu'elle est sous tension. Elle est plus onéreuse qu'une EEPROM, mais reste abordable. Elle existe sous forme de microcontrôleur ou de PCB externe en I2C ou SPI.

La carte SD, elle permet de sauvegarder des donnée très longtemps, a l'immense avantage de pouvoir être lue par un ordinateur et permet de stocker facilement dix fois plus de donnée que les autres, mais coute assez cher et prend beaucoup de place (surtout pour dans un projet embarquer). De plus, elle est lente a écrire.

A mon avis, la question principale est de savoir combien de mesure voulez vous prendre en combien de temps, et pourquoi faire ensuite (affichage sur PC, affichage sur un écran Arduino, etc...) ?

Voici un tableur que j'ai réaliser pour un de mes projet:

Pour les batterie, je suis d'accord avec ce qui a déjà été dit, prioriser une batterie au lithium, plus légère et avec de meilleur performances.

Bonjour

Une autre idée serait de mettre sur la fusée une batterie LiPo + bmp280 + esp32 (ou autre arduino) qui serait programmé pour faire serveur web WiFi, ce qui lui permettrait de transmettre directement les données qui seront alors récupérables en 'live' avec un smartphone ou PC.

Parce que je ne sais pas où va atterrir cette fusée, et que ce sera peut-être plus facile de la localiser si l'emetteur WiFi tourne encore, en espérant qu'elle ne soit pas tombée dans un endroit inaccessible, et que la batterie puisse tenir le temps qu'il faudra pour la repérer et aller la récupérer.

Mais au moins, les données auront été transmises en Live et auront été reçues et enregistrées.

Non, la FRAM sauve son contenu lorsque la tension est coupée ne pas confondre avec la PSRAM que l'on trouve sur les ESP32 par exemple.

Oula, oui, en effet excuser moi, j'ai confondu FRAM et SRAM...
Je voulais parler de la SRAM.

Bonjour,

Une autre solution pour connaitre l'emplacement serait d'installer un GPS sur la fusée ce qui permettrais d'avoir sa position exacte, et de le retrouver même s'il n'a plus de batterie.

Vous pouvez ainsi facilement connaitre la distance parcourue et réaliser un graphique du déplacement de la fusée en utilisant les donnée GPS et d'altimètre.
Avec une boussole, vous auriez la possibilité de représenter le trajectoire en 3D, et avec un accéléromètre de connaitre son inclinaison et son accélération...

Merci de ta réponse !
J'ai déjà fait quelques tests pour avoir un ordre de grandeur de l'altitude et je pense que ca doit être dans les 30 mètres, mais j'ai la possibilité d'aller plus haut. Cependant mon objectif n'est pas forcément l'altitude, j'ai juste besoin de connaître l'apogée, ainsi seulement une seule mesure me suffit.
Pour se qui est de l'accéléromètre, l'idée me plaît bien, mais je n'ai pas énormément de temps pour réaliser ce projet donc je préfère pour l'instant me focaliser sur l'altimètre.

Merci de ta réponse !
La montée ne dure pas plus de 3-4 secondes je dirais. De plus seulement la mesure de l'apogée m'intéresse.
Pour se qui est du module carte SD j'ai abandonné l'idée. En me renseignant sur un site américain, j'ai vu que la valeur de l'apogée pouvait être "enregistrée" et retranscrite à l'oral avec un micro. Je suppose que tout cela se programme dans le code. J'ai donc opté pour cette solution.

Je ne pense pas qu'il y ai beaucoup de vibration. Cependant l'accélération est très élevée. J'ai donc abandonné l'idée de la carte SD

Merci pour toutes ces informations ! Pour être honnête je ne comprends pas tout mais cela me permet de savoir sur quel domaine me renseigner.
Pour ce qui est de l'idée du GPS je ne pensais absoluement pas que c'était pas possible et l'idée me plaît beaucoup.
Cependant comme dit plus haut je me concentrerais d'abord sur l'altimètre, mais je garde évidemment l'idée dans un coin de ma tête !

Bonne idée encore une fois, cependant pour les mêmes raisons invoquées je garde l'idée pour plus tard, mais merci beaucoup pour la proposition !

Vous pouvez getter un œil ici ou ici...

Avez vous penser a l'utilisation uniquement d'un accéléromètre ?
En effet, sur des accélération fortes de courte durée s'est assez fiable, et je suppose que s'est plus simple d'utilisation qu'un altimètre.

En effet, si vous ne voulez qu'une seul information, vous pouvez sans problème l'enregistrer sur l'EEPROM de la carte Arduino des que la valeur voulue est atteinte.
Elle sera ainsi sauvegarder indéfiniment dans la carte (il suffit d'écrire sur une nouvelle partition a chaque fois) et pourra être relue n'importe quand.

Bonsoir,

Sauf erreur de ma part, l'utilisation d'un GPS n'est pas une bonne idée ... je m'explique:

Par expérience de mes randonnées et notamment en montagne avec beaucoup de dénivelés cumulés, le GPS n'est absolument pas précis pour la simple bonne raison qu'il n'a pas été conçu pour cela. Pour preuve, si le GPS n'est pas asservi à une correction barométrique des erreurs de +/- 50 mètres dans le meilleur des cas peuvent apparaître
Cf. en autre l'article Pourquoi l'altitude de votre GPS ou de STRAVA est-elle fausse ?

On en revient donc à une mesure barométrique après étalonnage de l'altitude de la position du décollage

Maintenant, si la durée pour atteindre l'altitude maximale est de 3 à 4 secondes, je crains fort que le capteur n'ait pas le temps de faire des mesures pertinentes ;-(

Reste plus que l'accéléromètre dont la difficulté sera de corriger les erreurs d'intégration...

A suivre...

Bonsoir,

Je proposait la solution du GPS uniquement pour localiser la fusée après son atterrissage, car je suis d'accord avec vous pour dire que coté altitude, s'est vraiment pas top...

Un peu overkill comme fonctionnalité à mon avis : l'altitude de la fusée est estimée à 30 m, si on tire à peu près à la verticale elle va retomber à moins de 10 m du point de départ.