Question:
Le moyen le plus petit / le plus économique pour détecter les changements d'altitude?
Xeon06
2012-01-10 22:47:59 UTC
view on stackexchange narkive permalink

Je souhaite créer un appareil qui, lorsqu'il est placé sur quelqu'un qui skie ou fait du snowboard, pourra dire si cette personne glisse sur la pente. Le problème est double. Je dois d'abord détecter si l'appareil bouge. Ensuite, je dois savoir si l'appareil gagne ou perd de l'altitude, car je veux faire quelque chose de différent selon que quelqu'un dévale les pentes ou monte le télésiège. En tant que tel, il y aurait 3 états au total:

  • Ne bouge pas (le skieur est arrêté n'importe où)
  • Ski (le skieur se déplace vers le centre de la terre)
  • Dans un télésiège (le skieur s'éloigne du centre de la terre)

Il n'est pas nécessaire de préciser l'altitude mais de comprendre les variations.

Quelques options ont été évoquées:

  • Un GPS, qui est coûteux et irréalisable pour les métriques d'altitude
  • Un accéléromètre
  • Un baromètre

Idéalement, le matériel nécessaire à cette détection coûterait moins de 20 $. Je devrais aussi idéalement les organiser dans quelque chose de plus petit qu'une télécommande de voiture comme celle-ci.

enter image description here

De quelle distance parlez-vous couvrir? Comme une chute de 5 pieds ou une chute de 50 pieds?
@Kellenjb Plus comme une chute de 5 pieds, ou moins si possible. Ce que je veux faire est comparable à détecter si l'objet roule sur une pente de montagne ou non.
@Xeon06, Une partie importante de la conception consiste à attacher des numéros aux exigences. Quel est votre coût réalisable le plus élevé, quel coût serait un bon objectif que vous pourriez traiter et bien faire, quelle taille est maximale, quelle taille est suffisamment petite pour que la taille ne vaille plus aucun coût accru.
Merci @Kortuk pour les conseils. J'ai édité ma question.
@Xeon06, qui est l'une des choses majeures que l'on oublie, il est très facile de définir quelque chose avec des mots, mais vous payez un ingénieur car il le fera à la fois avec des chiffres et le réalisera. Merci d'avoir pris des critiques constructives.
Une autre chose que je ne peux pas comprendre, si vous voulez comprendre à quelle vitesse il descend ou monte; si vous pouvez attendre longtemps, la détection du changement de pression d'air peut être plus facile.
@clabacchio Je préfère que ce soit fait en quelques secondes. Vous ne pensez pas qu'un capteur de pression permettra cela?
Oui, mais cela dépend de la hauteur que vous gagnez-perdez à ce moment-là: je pense qu'il est difficile de séparer les changements dus à la météo de ceux dus au changement: peut-être que vous pourriez appliquer un algorithme de fusion de capteurs avec des accéléromètres, mais il devient délicat ...
Pouvez-vous mieux nous dire quel est exactement votre but? Je ne comprends toujours pas bien si vous voulez qu'il agisse en ski ou juste après un certain temps; ce dernier vous donnerait plus de temps pour échantillonner et intégrer ...
@clabacchio En termes abstraits: je veux avoir une LED qui s'allume lorsque le skieur descend actuellement la pente. S'il s'arrête, la LED s'éteint. S'il recommence à skier, la LED s'allume et reste allumée jusqu'à ce qu'il s'arrête à nouveau.
@Xeono6 cela pourrait être un problème: quelle que soit la précision du capteur, vous aurez probablement une réponse de quelques secondes, c'est le temps qu'il faut pour changer d'altitude de 2,3 mètres; je pense que ce n'est pas si bon pour cela.
@clabacchio Vous voulez dire que le taux de rafraîchissement du capteur sera trop bas?
@Xeon06 non je veux dire que la vitesse de détection est faible car vous devez descendre d'au moins 2 mètres pour avoir une différence sensible, et si vous vous déplacez latéralement, cela peut prendre trop de temps: évidemment, cela dépend fortement du moment où vous voulez que cela soit actif ...
@clabacchio Je vois. Je pense que j'en aurai un juste pour l'essayer, mais auriez-vous des alternatives?
J'y pense, mais maintenant c'est difficile, car le skieur est un environnement difficile pour le suivi inertiel, et je pense que vous ne voulez pas vous soucier de la position de l'appareil dans votre poche ...
@clabacchio Non, en effet, je ne veux pas me fier à la position ou à l'orientation de l'appareil.
@Xeono6 semble être un problème très difficile pour un appareil électronique, qui pourrait (je dis peut-être) être résolu avec des accéléromètres, un baromètre, la fusion de capteurs et peut-être l'apprentissage automatique. Mais je suggère de penser à autre chose :)
Cinq réponses:
Suboptimus
2012-01-11 02:53:38 UTC
view on stackexchange narkive permalink

La EZ430-Chronos de TI est une montre piratable qui utilise son MCU MSP430 et vous permet de modifier le firmware. Il dispose d'un mode altimètre et utilise le capteur de pression VTI Technologies SCP1000.

Je ne sais rien de précis sur la résolution de ce problème ou sur la précision de leur mise en œuvre, mais VTI a un note d'application sur l'utilisation de leur pièce dans un altimètre, et le Guide de l'utilisateur de l'outil de développement EZ430-Chronos comprend des schémas pour la montre, vous avez donc au moins accès à un matériel complet et implémentation logicielle que vous pouvez évaluer et éventuellement reporter à votre propre conception.

--- Modifier:

Quand j'ai publié ma réponse, je ne pensais même pas à utiliser un EZ430, mais en termes d'utilisation comme référence de conception puisque les schémas et la source sont publiés. Mais je suppose qu'il peut être judicieux d'en utiliser un et d'ajuster le firmware. Il a déjà un facteur de forme portable et il a RF pour les communications sans fil, quelqu'un fabrique un moniteur de fréquence cardiaque qui se synchronise avec lui, mais au-delà de cela, je ne suis pas sûr de ce que vous feriez pour le streaming ou l'enregistrement de données. Il a un affichage segmenté, pas un affichage de pixels, donc l'interface utilisateur pourrait également être un problème. Vous n'avez pas dit exactement ce que l'appareil fera avec les données, si elles seront affichées en temps réel, enregistrées, transmises, etc.

Très intéressant, même si je ne l'utilise pas dans ce projet. Merci pour les liens!
voir également le module MS5540b. Les deux parties sont bien adaptées au fonctionnement de la pile bouton.
Le commentaire de Caleb sur la réponse de Caleb suggère d'utiliser l'accéléromètre et la pression pour fournir une heure de début de l'événement plus précise. L'EZ430 a tout cela et une interface utilisateur.
@Xeon06 Ce qui est facile à oublier, c'est le fait que le Chronos dispose de tous les périphériques que vous pourriez souhaiter, connectés d'une manière qui serait presque idéale pour le développement. Je pense que vous auriez du mal à obtenir un kit de développement packagé à un meilleur prix. J'ai testé mon Chronos, et il avait une résolution d'environ 4 pieds et mis à jour à environ 0,5 Hz. Il pourrait identifier de manière fiable une différence d'élévation de 6 à 7 pieds. Une fois que vous avez terminé d'écrire le code et que vous vous dirigez vers un appareil de production, vous pouvez omettre le RF, l'écran LCD et tout ce dont vous n'avez pas besoin pour faire baisser le prix.
@W5VO en effet, cela a l'air génial pour le développement, mais j'aurai éventuellement besoin d'utiliser complètement d'autres composants, donc je pourrais aussi bien commencer par ces composants.
Olin Lathrop
2012-01-11 00:36:05 UTC
view on stackexchange narkive permalink

Il semble que l'ampleur de l'accélération apparente soit tout ce dont vous avez besoin. En cas de chute (en général, en cas de balistique), ce sera 0. Lorsque vous êtes juste assis, ce sera 1g. Les petits accéléromètres MEMS sont à la fois bon marché et petits. Ils sont fabriqués en grande quantité pour les téléphones portables et les airbags de voiture. Je ne vois pas pourquoi cela ne correspondrait pas à vos besoins. Regardez les offres Freescale.

Ajouté:

Maintenant que vous avez dit que vous voulez détecter un skieur en montée ou en descente, il est clair que les accéléromètres ne sont pas appropriés. Ils peuvent encore être utiles pour détecter les mouvements. Vous pouvez utiliser un capteur à bille roulante, mais ceux-ci ont tendance à être très sensibles même aux petits mouvements. Une personne assise et parlant peut régulièrement déclencher un capteur de bille roulante. Cependant, l'accélération filtrée passe-bas serait assez régulière.

Pour détecter les mouvements de descente et de montée, je pense qu'une sorte de baromètre est le meilleur pari. Je ne sais pas ce qui existe en termes de petits baromètres électroniques. Maintenant que vous savez ce que vous recherchez, une recherche étroite peut révéler quelque chose.

D'après ce que je comprends, dans un accéléromètre, si la vitesse se stabilise, il cessera de signaler qu'il «bouge», car en fait, il n'est pas fait pour cela. Ai-je tort?
@Xeon06 Oui, si la vitesse est constante, cela signifie que l'accélération est nulle, donc l'accéléromètre ne détectera pas une vitesse constante.
@Xeon06, il rapportera la gravité comme son accélération si vous ne bougez pas, en fonction de la façon dont il est calibré. Il y aura un changement d'état entre ne pas bouger, monter, descendre. Il signale une accélération qui peut être intégrée pour la position, qui est la fonction principale.
Dans ce cas, qu'en est-il de la direction? Je ne peux pas garantir l'orientation de l'accélération, et en tant que tel, l'appareil pourrait fournir un faux positif si l'objet grimpait au lieu de tomber, oui?
L'orientation @Xeon: n'a pas d'importance si vous prenez la grandeur (ou la grandeur au carré pour faciliter le calcul) dérivée de trois axes orthogonaux. Vous avez dit que vous vouliez détecter la «chute», ce que je prenais pour une chute libre. Tout chemin balistique est admissible, que ce soit en montant ou en descendant. Dans un sens, toutes les trajectoires balistiques sont une "descente", et l'accellération sera de 0. C'est assez bien détectable à partir de 1g, ce qui sera le cas avec n'importe quelle vitesse constante.
@OlinLathrop Je suis désolé, je ne me suis pas exprimé correctement. Je veux savoir si un objet se dirige vers le centre de la terre ou loin.
@Xeon: Puis corrigez votre question et expliquez ce que vous voulez vraiment. Utilisez également de vrais mots adultes tels que position, vitesse, accélération, etc., pas "aller vers". Je pense qu'une bonne partie du problème est que vous n'avez pas vraiment réfléchi à ce que vous voulez mesurer exactement. Prenez du recul et expliquez le problème global
@OlinLathrop J'ai fait de mon mieux pour modifier la question. Je n'ai pas de formation en physique (ni en aucune science d'ailleurs) et je crains que j'abuse de «mots adultes».
La vraie chute libre (~ 0g) pendant le ski ne se produirait qu'après le pic d'un saut lorsque le mouvement vers le bas n'est plus effectué par l'interaction avec le sol. Les accéléromètres afficheront des pointes lors des changements de mouvement (virages, arrêts, départs, bosses). Un trajet en télésiège peut n'apparaître que lorsque vous montez. Un bon accéléromètre à 3 axes avec filtrage de Kalman peut très bien cartographier votre trajectoire dans l'espace, mais pourrait atteindre 2500 $. Un capteur de pression peut être affecté par le cisaillement du vent de votre mouvement, mais je pense que le changement global du haut vers le bas de la colline devrait être facile à filtrer.
@Josh, Je travaille beaucoup sur un projet pour permettre aux étudiants d'en apprendre davantage sur les relations entre accélération, vitesse et position. Nous avons constaté que nos accéléromètres à 2 dollars ont très bien réussi à cartographier à la fois la position et la vitesse. Nous avions également des encodeurs rotatifs pour la vérification de la distance approximative parcourue. Avec deux accéléromètres sont des extrémités différentes, nous pourrions vraiment dire ce qui se passait.
Caleb
2012-01-11 01:40:52 UTC
view on stackexchange narkive permalink

Un capteur comme le Bosch BMP085 doit avoir une résolution suffisamment fine pour détecter les changements de pression atmosphérique dus à une chute, et il est si petit que vous voudrez probablement commander la carte de dérivation à la place. Le problème avec la détection des changements de pression au lieu de détecter directement l'accélération est qu'il peut être difficile de faire la différence entre un changement dû à une chute et un changement dû à une personne qui ouvre une fenêtre ou une porte, une brise légère, le démarrage du système de ventilation, un personne ou animal qui passe, etc.

Hmm. La raison pour laquelle je veux cela est de détecter si un skieur ou un snowboardeur descend une pente. C'est à l'extérieur, donc pas de problèmes avec les installations humaines, mais il pourrait y avoir d'autres skieurs à proximité et ainsi de suite.
Vous parlez d'une chute verticale de plusieurs centaines ou milliers de pieds dans ce cas, donc si votre objectif est simplement de compter le nombre de courses par jour, cela devrait être assez simple. Si vous voulez savoir exactement quand une course démarre et s'arrête afin de pouvoir chronométrer avec précision et automatiquement chaque exécution, ce serait plus difficile.
Mon objectif est en effet de compter quand quelqu'un s'arrête et démarre.
Selon la fiche technique (que vous pouvez trouver sur la page Sparkfun liée), ce capteur a une résolution de 3 pascals, ce qui, je pense, se traduit par une chute verticale d'environ 10 mètres. Vous pouvez descendre aussi loin en skiant rapidement sur une pente raide, vous obtiendrez donc une précision raisonnable (mais rien de tel que les centaines de secondes auxquelles les courses sont chronométrées). Sur une pente de lapin, cependant, il faut beaucoup plus de temps pour tomber aussi loin. Vous voudrez peut-être combiner pression barométrique et accélération - utilisez la pression pour déterminer que vous avez commencé, l'accélération pour déterminer exactement quand vous avez commencé.
Le flyer semble réclamer 0,25 m
@Caleb Je vérifiais juste la fiche technique du BMP085 et j'ai constaté que le bruit RMS avec la résolution maximale est de 0,25 m au niveau de la mer, et en calculant qu'il devrait être dans une poche, je ne sais pas quelle serait la performance
@clabacchio Ce degré de précision me semble assez bon. Je doute que le fait d'être à l'intérieur d'une poche ait un quelconque effet. Le contenu d'une poche est sujet aux changements de pression atmosphérique autant que toute autre chose. Tant que l'appareil n'est pas scellé à l'intérieur d'un récipient rigide, il devrait fonctionner correctement. À un moment donné, la meilleure façon de décider si cela fonctionnera ou non pour vos besoins est d'en acheter un et de le tester.
@Caleb Je ne vous contredisais pas, je soulevais juste un doute en raison du fait qu'il a besoin d'une réponse très rapide, et il m'a semblé que c'était trop lent à détecter; cela ne veut pas dire que cela reste l'idée la plus plausible pour moi.
@clabacchio Je suis avec vous - obtenir un timing très haute résolution de cette manière va être délicat, mais cela vaut la peine d'être exploré.
Russell McMahon
2012-01-10 22:59:21 UTC
view on stackexchange narkive permalink

(1.) Le GPS devient très petit et ferait un excellent travail, mais la solution suivante est plus susceptible de plaire.

(2.) Un petit conteneur rigide presque scellé sera à la traîne de l'extérieur pression d'une quantité déterminée par le taux de fuite et le volume du conteneur.

Les capteurs de pression sont disponibles en versions absolue et différentielle.
Mesure la pression absolue par rapport à une référence interne.
Les capteurs différentiels ont deux ports " "et mesurez la différence entre eux,

Un capteur de pression avec un orifice à l'intérieur du conteneur et un orifice à l'extérieur indiquera de manière fiable si vous montez ou descendez.
Si la pression interne est supérieure à la pression externe, l'objet est en hausse.
Si la pression interne est inférieure à la pression externe, l'objet tombe.

L'indication sera une moyenne pondérée de la période pour quelques constantes de temps menant au moment présent. Par exemple, si un objet montant plonge brièvement et pendant moins d'une constante de temps du récipient, puis augmente à nouveau, la pression à l'intérieur augmentera brièvement en raison du creux mais pas suffisamment pour basculer en mode descendant.

La pression atmosphérique diminue de moitié environ tous les 4500 mètres de manière logarithmique

Une estimation rapide qui peut être terriblement erronée suggère qu'une séparation verticale de 1 mètre au niveau de la mer proche donne une différence d'environ 14 Pa. pression.
1 atmosphère = 100 000 Pa = 100 kPa soit 14 Pa ~ = 0,014% d'une atmosphère.

Malgré sa petite taille, la différence devrait pouvoir être détectée de manière fiable.

Un regard sur les prix Digikey suggère qu'un prix minimum d'environ 25 $ est requis. Peut-être plus pour ce dont vous avez besoin. (Mais voir l'offre Sparkfun ci-dessous pour environ 9 $).

SO


Voici une solution possible "à la volée".

Utilisez un petit récipient rigide avec une fuite contrôlée. Taille à déterminer.

Faites une prise dans un mur d'environ 20 mm de diamètre. Taille à déterminer.

Placez un diaphragme très léger à travers le trou dans le mur avec «suffisamment» de jeu pour qu'il soit en forme de dôme en cas de différence de pression.

Il devrait être possible d'obtenir une indication de pression extrêmement basse de la direction de la différence de pression. P intérieur supérieur = montant - dôme extérieur. Pinside plus petit = chute, dôme dedans.

Détecte optiquement la position du dôme.


TEST:

J'ai essayé la méthode du diaphragme sans résultat visible - je pense.
J'ai utilisé un flacon de comprimés raisonnablement rigide de 500 ml et utilisé une feuille de " happy wrap "comme le diaphragme. Gladwrap a été tiré sur l'ouverture avec un peu de jeu et attaché avec plusieurs élastiques autour du cou. Le conteneur a été transporté dans la rue sur une hauteur d'environ 10 mètres (en haut de la route depuis ma maison). Les photos ont été prises au réverbère et au flash en haut et en bas. L'examen visuel à huis clos n'a montré aucun changement évident. Un examen ultérieur sur l'écran du PC peut montrer le contraire. Alors ...

La méthode "a besoin de travail" :-). Je suis sûr que cela peut fonctionner MAIS un capteur commercial est beaucoup plus facile.


Les montres TI Chronos sont parfois proposées à moitié prix par TI


Capteur Bosch BMP085 tel que suggéré par Caleb - fiche technique ici

Ceci est "juste" approprié pour le travail.

La variation de pression est d'environ 12 Pa / m - varie avec l'altitude.
Fiche technique Bosch use hPa = HectoPascal - very unité non SI méchante !!!.

1 hPa = 100 Pa = 100 N / m ^ 2.
L'unité Bosch a un niveau de bruit - qui définit la sensibilité utilisable, de 6 Pa = 0,5 m et in mode faible puissance et 3 pa = 0,25 m en mode faible bruit.

Une évaluation à environ 1 m devrait donc être viable [tm] dans cette application.

9 $ US de Sparkfun ici et
20 $ sur PCB avec 2R et plafond ici

Merci d'avoir répondu. Je ne sais pas comment fonctionnent les capteurs de pression. Qu'entendez-vous par «port»? N'aurais-je pas besoin d'utiliser deux capteurs, un à l'intérieur et un à l'extérieur? Pensez-vous que je puisse trouver des capteurs suffisamment petits et bon marché? Auriez-vous des liens pour acheter de tels capteurs?
@russellMcMahon, pensez-vous que la différence de pression serait facilement différenciée de l'ordre des pieds de mouvement.
Merci beaucoup pour la réponse détaillée. J'attendrai un peu pour voir ce qui se passe avant de l'accepter.
@Kortuk - Oui. Devrait fonctionner avec du "papier de soie", mais j'essaierais certaines des solutions les plus "développées suggérées - dont la plupart sont des variantes du capteur d'oressure que j'ai suggéré. L'unité de papier de soie serait amusante à essayer. -> Juste essayé - pas du tout bon du premier coup.
@RussellMcMahon, Oui, j'ai vraiment commenté car la distance n'était pas précisée en question mais était dans un commentaire.
Merci pour la réponse très complète et même la petite expérience!
Dave Nadler
2012-01-12 23:54:32 UTC
view on stackexchange narkive permalink

Vous avez raison de dire que le GPS ne fonctionnera pas. Pour plus d'informations sur les approches barométriques, Google "variomètre". Dans tous les cas, vous devez définir votre problème plus précisément.

Je crois avoir défini mon problème autant que possible. Je veux détecter si un skieur fait une descente.


Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...