Domanda:
Il modo più piccolo / conveniente per rilevare i cambiamenti di altitudine?
Xeon06
2012-01-10 22:47:59 UTC
view on stackexchange narkive permalink

Voglio creare un dispositivo che, se posizionato su qualcuno che scia o fa snowboard, sia in grado di capire se quella persona sta scivolando lungo il pendio. Il problema è duplice. Devo prima rilevare se il dispositivo si sta muovendo. Poi devo sapere se il dispositivo sta guadagnando o perdendo quota, perché voglio fare qualcosa di diverso a seconda che qualcuno stia scivolando giù per i pendii o salendo in seggiovia. Come tale, ci sarebbero 3 stati totali:

  • Non in movimento (lo sciatore è fermo ovunque)
  • Sci (lo sciatore si sta muovendo verso il centro della terra)
  • In seggiovia (lo sciatore si sta allontanando dal centro della terra)

Non è richiesta precisione sull'altitudine ma solo comprenderne le variazioni.

Sono state menzionate alcune opzioni:

  • Un GPS, che è costoso e non affidabile per le metriche dell'altitudine
  • Un accelerometro
  • Un barometro

Idealmente, i materiali necessari per questo rilevamento costerebbero meno di 20 $. Idealmente avrei anche bisogno di sistemarli in qualcosa di più piccolo di un telecomando per auto come questo.

enter image description here

Di quanta distanza stai parlando di coprire? Come una caduta di 5 piedi o una caduta di 50 piedi?
@Kellenjb Più simile a 5 piedi di caduta, o meno se possibile. Quello che voglio fare è paragonabile a rilevare se l'oggetto sta rotolando lungo un pendio di montagna o meno.
@Xeon06, Una parte importante del design è allegare numeri ai requisiti. Qual è il tuo costo più alto possibile, quale sarebbe un buon obiettivo che potresti affrontare e fare bene, quale dimensione è massima, quale dimensione è abbastanza piccola da non valere più alcun aumento di costo.
@Kortuk grazie per i suggerimenti. Ho modificato la mia domanda.
@Xeon06, questa è una delle cose principali che dimentichiamo, è molto facile definire qualcosa con le parole, ma paghi un ingegnere perché lo farà con i numeri e lo farà accadere. Grazie per aver ricevuto critiche costruttive.
Un'altra cosa che non riesco a capire, se quanto velocemente vuoi capire se sta andando verso il basso o verso l'alto; se puoi aspettare a lungo, rilevare la variazione della pressione dell'aria può essere più facile.
@clabacchio Preferirei che fosse fatto in pochi secondi. Non pensi che un sensore di pressione lo consentirà?
Sì, ma dipende dall'altezza che guadagni-perdi in quel tempo: penso che sia difficile separare i cambiamenti dovuti al tempo da quelli dovuti al cambiamento: forse potresti applicare un algoritmo di fusione del sensore con gli accelerometri, ma diventa complicato ...
Puoi dirci meglio qual è esattamente il tuo scopo? Continuo a non capire bene se vuoi che agisca mentre scia, o subito dopo; quest'ultimo ti darebbe più tempo per campionare e integrare ...
@clabacchio Detto in modo astratto: voglio avere un LED che si illumina quando lo sciatore si sta attualmente muovendo lungo il pendio. Se si ferma, il LED si spegne. Se ricomincia a sciare, il LED si accende e rimane acceso finché non si ferma di nuovo.
@Xeono6 questo potrebbe essere un problema: non importa quanto sia preciso il sensore, in questo modo avrai probabilmente una risposta di un paio di secondi, cioè il tempo che occorre per cambiare quota di 2,3 metri; Penso che non sia così buono per quello scopo.
@clabacchio Vuoi dire che la frequenza di aggiornamento del sensore sarà troppo bassa?
@Xeon06 no voglio dire che la velocità di rilevamento è bassa perché è necessario scendere di almeno 2 metri per avere una differenza sensibile, e se ci si sposta lateralmente potrebbe volerci troppo tempo: ovviamente dipende molto da quando lo si vuole attivo ...
@clabacchio Capisco. Penso che ne prenderò uno solo per provarlo, ma avresti delle alternative?
Ci sto pensando, ma ormai è difficile, perché lo sciatore è un ambiente difficile per il tracking inerziale, e penso che tu non voglia preoccuparti della posizione del dispositivo in tasca ...
@clabacchio No, davvero, non voglio fare affidamento sulla posizione o sull'orientamento del dispositivo.
@Xeono6 sembra un problema davvero difficile per un dispositivo elettronico, che potrebbe (dico potrebbe) essere affrontato con accelerometri, un barometro, la fusione di sensori e forse l'apprendimento automatico. Ma suggerisco di pensare a qualcos'altro :)
Cinque risposte:
Suboptimus
2012-01-11 02:53:38 UTC
view on stackexchange narkive permalink

EZ430-Chronos di TI è un orologio hackerabile che utilizza il loro MCU MSP430 e ti consente di modificare il firmware. Ha una modalità altimetro e utilizza il sensore di pressione VTI Technologies SCP1000.

Non so nulla di specifico sulla risoluzione di questo problema o sulla precisione della loro implementazione, ma VTI ha un nota applicativa sull'uso della loro parte in un altimetro e la guida dell'utente dello strumento di sviluppo EZ430-Chronos include schemi per l'orologio, quindi hai almeno accesso a un hardware completo e implementazione software che puoi valutare ed eventualmente trasferire al tuo progetto.

--- Modifica:

Quando ho pubblicato la mia risposta in realtà non stavo nemmeno pensando di utilizzare EZ430, ma in termini di utilizzo come riferimento di progettazione poiché gli schemi e la fonte sono pubblicati. Ma immagino che potrebbe avere senso usarne uno e modificare il firmware. Ha già un fattore di forma indossabile e ha RF per le comunicazioni wireless, qualcuno fa un cardiofrequenzimetro che si sincronizza con esso, ma oltre a questo non sono sicuro di cosa faresti per lo streaming o la registrazione dei dati. Ha un display segmentato, non un display a pixel, quindi anche l'interfaccia utente potrebbe essere un problema. Non hai detto esattamente cosa farà il dispositivo con i dati, se verranno visualizzati in tempo reale, registrati, trasmessi, ecc.

Molto interessante, anche se non lo uso in questo progetto. Grazie per i link!
vedere anche il modulo MS5540b. Entrambe le parti sono adatte al funzionamento con celle moneta.
Il commento di Caleb sulla risposta di Caleb suggerisce di utilizzare l'accelerometro e la pressione per fornire un orario di inizio dell'evento più preciso. L'EZ430 ha tutto questo e un'interfaccia utente.
@Xeon06 Ciò che è facile trascurare è il fatto che il Chronos ha tutte le periferiche che potresti desiderare, collegate in un modo che sarebbe quasi l'ideale per lo sviluppo. Penso che sarebbe difficile ottenere un kit di sviluppo confezionato a un prezzo migliore. Ho testato il mio Chronos e aveva una risoluzione di circa 4 piedi e aggiornato a circa 0,5 Hz. Potrebbe identificare in modo affidabile una differenza di 6-7 piedi di elevazione. Una volta che hai finito di scrivere il codice e sei andato verso un dispositivo di produzione, potresti omettere RF, LCD e qualsiasi altra cosa che non ti serve per abbassare il prezzo.
@W5VO in effetti, sembra ottimo per lo sviluppo, ma alla fine dovrò usare completamente altri componenti, quindi potrei anche iniziare con quei componenti.
Olin Lathrop
2012-01-11 00:36:05 UTC
view on stackexchange narkive permalink

Sembra che l'entità dell'accelerazione apparente sia tutto ciò di cui hai bisogno. Quando si cade (in generale, quando è balistico), sarà 0. Quando si è semplicemente seduti, sarà 1 g. I piccoli accelerometri MEMS sono sia economici che piccoli. Sono prodotti in grandi quantità per telefoni cellulari e airbag per auto. Non vedo perché non soddisferebbero le tue esigenze. Guarda in giro le offerte Freescale.

Aggiunto:

Ora che hai detto che vuoi rilevare uno sciatore che va in salita o in discesa, è chiaro che gli accelerometri non sono appropriati. Potrebbero comunque essere utili per rilevare il movimento. Potresti usare un sensore di palla che rotola, ma questi tendono ad essere molto sensibili anche a piccoli movimenti. Qualcuno semplicemente seduto e parlando potrebbe far scattare regolarmente un sensore di palla che rotola. Tuttavia, l'accelerazione filtrata passa-basso sarebbe piuttosto costante.

Per rilevare il movimento in discesa rispetto a quello in salita, penso che una sorta di barometro sia la soluzione migliore. Non so cosa ci sia là fuori in termini di piccoli barometri elettronici. Ora che sai cosa stai cercando, una ricerca ristretta potrebbe rivelare qualcosa.

Da quello che ho capito, in un accelerometro, se la velocità si stabilizza, smetterà di riferire che si sta "muovendo", perché in realtà non è fatto per quello scopo. Ho sbagliato?
@Xeon06 Sì, se la velocità è costante significa che l'accelerazione è zero, quindi l'accelerometro non rileva una velocità costante.
@Xeon06, riporterà la gravità come la sua accelerazione se non ti muovi, a seconda di come è calibrato. Ci sarà un cambiamento di stato tra non muoversi, salire e scendere. Segnala però l'accelerazione che può essere integrata per la posizione, che è la funzione primaria.
In tal caso, che dire della direzione? Non posso garantire l'orientamento dell'accelerazione e come tale il dispositivo potrebbe fornire un falso positivo se l'oggetto si arrampicasse invece di cadere, sì?
@Xeon: L'orientamento non ha importanza se si prende la magnitudine (o la magnitudine al quadrato per rendere il calcolo più semplice) derivata da tre assi ortogonali. Hai detto che volevi rilevare la "caduta", che ho interpretato come una caduta libera. Qualsiasi percorso balistico si qualifica, sia in salita che in discesa. In un certo senso, tutti i percorsi balistici sono una "caduta" e l'accellerazione sarà 0. Questo è abbastanza ben rilevabile da 1g, che sarà il caso con qualsiasi velocità costante.
@OlinLathrop Mi dispiace, non mi sono espresso correttamente. Voglio sapere se un oggetto sta andando verso il centro della terra o lontano.
@Xeon: Quindi risolvi la tua domanda e spiega cosa vuoi veramente. Usa anche parole da adulti come posizione, velocità, accelerazione, ecc., Non "andare verso". Penso che una buona parte del problema sia che non hai davvero pensato a cosa esattamente vuoi misurare. Fai un passo indietro e spiega il problema generale
@OlinLathrop Ho fatto del mio meglio per modificare la domanda. Non ho un background in fisica (o qualsiasi altra scienza per quella materia) e temo che farei un uso improprio delle "parole cresciute".
La vera caduta libera (~ 0 g) durante lo sci avverrebbe solo dopo il picco di un salto quando il movimento verso il basso non è più influenzato dall'interazione con il terreno. Gli accelerometri mostreranno i picchi ai cambiamenti di movimento (giri, arresti, partenze, gobbe). Un giro in seggiovia potrebbe presentarsi solo quando sali per la prima volta. Un buon accelerometro a 3 assi con filtro di Kalman può mappare la tua traiettoria nello spazio abbastanza bene, ma potrebbe arrivare a $ 2500. Un sensore di pressione può essere influenzato dal wind shear del tuo movimento, ma penso che il cambiamento complessivo dall'alto verso il basso della collina dovrebbe essere facile da filtrare.
@Josh, Lavoro piuttosto pesantemente con un progetto per consentire agli studenti di apprendere di più sulle relazioni tra accelerazione, velocità e posizione. Abbiamo scoperto che i nostri accellerometri da 2 dollari si sono comportati molto bene nel mappare sia la posizione che la velocità. Avevamo anche encoder rotativi per la verifica della distanza approssimativa percorsa. Con due accellerometri sono estremità diverse potremmo davvero dire cosa stava succedendo.
Caleb
2012-01-11 01:40:52 UTC
view on stackexchange narkive permalink

Un sensore come Bosch BMP085 dovrebbe avere una risoluzione sufficientemente fine per rilevare la variazione della pressione dell'aria dovuta alla caduta, ed è così piccolo che probabilmente vorrai ordinare la scheda breakout invece. Il problema con il rilevamento delle variazioni di pressione invece di rilevare direttamente l'accelerazione è che può essere difficile distinguere tra un cambiamento dovuto a caduta e un cambiamento dovuto a qualcuno che apre una finestra o una porta, una leggera brezza, il sistema di ventilazione che si persona o animale che corre, ecc.

Hmm. Il motivo per cui voglio questo è rilevare se uno sciatore o uno snowboarder sta scendendo da un pendio. È all'aperto, quindi nessun problema con le strutture umane, ma potrebbero esserci altri sciatori nelle vicinanze e quant'altro.
Stai parlando di un dislivello verticale di centinaia o migliaia di piedi in quel caso, quindi se il tuo obiettivo è solo contare il numero di corse in un giorno, dovrebbe essere piuttosto semplice. Se vuoi sapere esattamente quando inizia e finisce una corsa in modo da poter cronometrare accuratamente e automaticamente ogni corsa, sarebbe più difficile.
Il mio obiettivo è infatti contare quando qualcuno si ferma e riparte.
Secondo la scheda tecnica (che puoi trovare nella pagina Sparkfun collegata) quel sensore ha una risoluzione di 3 pascal, che credo si traduca in un dislivello di circa 10 metri. Puoi scendere così lontano abbastanza rapidamente sciando velocemente su un pendio ripido, in modo da ottenere una precisione ragionevole (ma niente come i centesimi di secondo a cui sono cronometrate le gare). Su un pendio coniglietto, però, ci vuole molto più tempo per scendere così lontano. Potresti combinare pressione barometrica e accelerazione: usa la pressione per determinare che hai iniziato, l'accelerazione per capire esattamente quando hai iniziato.
Il volantino sembra rivendicare 0,25 m
@Caleb Stavo solo controllando la scheda tecnica del BMP085 e ho scoperto che il rumore RMS con la risoluzione massima è di 0,25 m a livello del mare e calcolando che dovrebbe essere in una tasca, non so quale sarebbe la prestazione
@clabacchio Quel grado di precisione mi sembra abbastanza buono. Dubito che stare dentro una tasca avrà alcun effetto. Il contenuto di una tasca è soggetto a variazioni della pressione atmosferica tanto quanto qualsiasi altra cosa. Finché il dispositivo non è sigillato all'interno di un recipiente rigido, dovrebbe funzionare bene. Ad un certo punto, il modo migliore per decidere se funzionerà o meno per i tuoi scopi è acquistarne uno e testarlo.
@Caleb Non ti stavo contraddicendo, sollevavo solo un dubbio perché aveva bisogno di una risposta molto rapida, e mi sembrava che questo fosse troppo lento nel rilevare; questo non significa che rimanga l'idea più plausibile per me.
@clabacchio Sono con te: ottenere tempi ad altissima risoluzione in questo modo sarà complicato, ma sembra che valga la pena esplorare.
Russell McMahon
2012-01-10 22:59:21 UTC
view on stackexchange narkive permalink

(1.) Il GPS sta diventando molto piccolo e farebbe un lavoro eccellente, ma la prossima soluzione è più suscettibile di appello.

(2.) Un piccolo contenitore rigido quasi sigillato resterà all'esterno pressione di una quantità determinata dal tasso di perdita e dal volume del contenitore.

I sensori di pressione sono disponibili nelle versioni assoluta e differenziale.
Pressione di misura assoluta relativa a un riferimento interno.
I sensori differenziali hanno due porte " "e misurare la differenza tra loro,

Un sensore di pressione con una porta all'interno del contenitore e una porta all'esterno indicherà in modo affidabile se stai salendo o scendendo.
Se la pressione interna è superiore alla pressione esterna, l'oggetto è in aumento.
Se la pressione interna è inferiore alla pressione esterna, l'oggetto sta cadendo.

L'indicazione sarà una media ponderata del periodo per alcune costanti di tempo che portano al momento presente. ad esempio, se un oggetto che sale si immerge brevemente e per meno di una costante di tempo del contenitore, quindi aumenta di nuovo, la pressione all'interno aumenterebbe brevemente a causa dell'abbassamento ma non abbastanza per ribaltarsi in modalità di caduta.

La pressione atmosferica si dimezza circa ogni 4500 metri in modo logaritmico

Alcuni calcoli rapidi che potrebbero essere tristemente sbagliati suggeriscono che una separazione verticale di 1 metro sul livello del mare dà circa 14 Pa di differenza pressione.
1 atmosfera = 100.000 Pa = 100 kPa quindi 14 Pa ~ = 0,014% di un'atmosfera.

Nonostante sia piccola, la differenza dovrebbe essere rilevabile in modo affidabile.

Uno sguardo ai prezzi di Digikey suggerisce che è richiesto un prezzo minimo di circa $ 25. Forse di più per quello che ti serve. (Ma vedi l'offerta Sparkfun di seguito per circa $ 9).

COSÌ


Ecco una possibile soluzione "improvvisata".

Utilizzare un piccolo contenitore rigido con una perdita controllata. Dimensioni da definire.

Afferra una parete di circa 20 mm di diametro. Dimensioni tbd.

Posizionare un diaframma molto leggero attraverso il foro nel muro con un gioco "sufficiente" in modo che si apra o si apra sotto la differenza di pressione.

Dovrebbe essere possibile ottenere un'indicazione di pressione estremamente bassa della direzione della differenza di pressione. P interno maggiore = salita - cupola fuori. Perno più piccolo = caduta, cupola dentro.

Rileva la posizione della cupola otticamente.


TEST:

Ho provato il metodo del diaframma senza risultati visibili, credo.
Ho usato un flacone di pillole da 500 ml ragionevolmente rigido e ho usato un foglio di " lieto avvolgimento "come il diaframma. Gladwrap è stato tirato sull'apertura con un po 'di allentamento e fissato con diversi elastici intorno al collo. Il container è stato trasportato su strada a un'altezza di circa 10 metri (parte superiore della strada da casa mia). Le foto sono state scattate con lampione e flash in alto e in basso. L'esame visivo nella fotocamera non ha mostrato cambiamenti evidenti. L'esame successivo sullo schermo del PC potrebbe mostrare il contrario. Quindi ...

Il metodo "necessita di lavoro" :-). Sono sicuro che può essere fatto funzionare MA un sensore commerciale è molto più semplice.


Gli orologi TI Chronos sono offerti occasionalmente a metà prezzo da TI


Re Bosch BMP085 sensor come suggerito da Caleb - scheda tecnica qui

Questo è "semplicemente" adatto al lavoro.

La variazione di pressione è di circa 12 Pa / m- varia con l'altitudine.
La scheda tecnica Bosch usa hPa = HectoPascal - molto unità non SI impertinente !!!.

1 hPa = 100 Pa = 100 N / m ^ 2.
L'unità Bosch ha un livello di rumore - che imposta la sensibilità utilizzabile, di 6 Pa = 0,5 me in modalità a basso consumo e 3 pa = 0,25 m in modalità a basso rumore.

Quindi la valutazione a circa 1 m dovrebbe essere fattibile [tm] in questa applicazione.

$ US9 da Sparkfun qui e
$ 20 su PCB con 2R e tappo qui

Grazie per la risposta. Non sono sicuro di come funzionano i sensori di pressione. Cosa intendi per "porto"? Non avrei bisogno di usare due sensori, uno interno e uno esterno? Pensi che io possa trovare sensori piccoli ed abbastanza economici? Avresti collegamenti per l'acquisto di tali sensori?
@russellMcMahon, pensi che la differenza di pressione sarebbe facilmente differenziata sull'ordine dei piedi di movimento.
Grazie mille per la risposta dettagliata. Aspetterò un po 'per vedere cosa succede prima di accettarlo.
@Kortuk - Sì. Dovrebbe funzionare con la "carta velina", ma proverei per alcune delle soluzioni più "sviluppate suggerite - la maggior parte delle quali sono variazioni del sensore di pressione che ho suggerito. L'unità carta velina sarebbe divertente da provare. -> Ho appena provato - no per niente buono al primo tentativo.
@RussellMcMahon, Sì, ho davvero commentato perché la distanza non era specificata in questione ma era in un commento.
Grazie per la risposta molto completa e anche per il piccolo esperimento!
Dave Nadler
2012-01-12 23:54:32 UTC
view on stackexchange narkive permalink

Hai ragione sul fatto che il GPS non funzionerà. Per informazioni sugli approcci barometrici, "variometro" di Google. In ogni caso, devi definire il tuo problema in modo più preciso. Spero che ti aiuti, Cordiali saluti, Dave

Credo di aver definito il mio problema il più possibile. Voglio rilevare se uno sciatore sta andando in discesa.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...