¿Los acelerómetros saben cuándo se mueven hacia arriba o hacia abajo?

8

Necesito un sensor que solo puedo colocar encima de un objeto, para contar la cantidad de veces que el objeto se mueve hacia arriba y hacia abajo.

¿Colocar un acelerómetro encima del objeto lograría esto o podría rastrear la transición entre moverse hacia arriba y hacia abajo?

Si no, ¿qué tipo de sensor (es) lograría esto?

---------------- EDITAR: -------------------------

Idealmente, me gustaría un sensor que pueda configurar en la parte superior del cuadro que se describe a continuación y contar las veces que sube y baja. Tiene múltiples rieles de guía que evitan que se tuerza. Planeo usar un arduino como un microcontrolador que hace los cálculos, solo necesito un sensor capaz de detectar el movimiento arriba / abajo. Todas las sugerencias son bienvenidas. Gracias.

   +    +
   +    +
   +    +
------------
|   box    | 
| moves up |
| and down |
------------
   +    +
   +    +
El tipo respeta
fuente
3
Un acelerómetro medirá cuando haya cambios en la velocidad de un objeto. Si un objeto se moviera a una velocidad constante, el acelerómetro mostraría una salida cero. Cuanto más rápido sea el cambio de velocidad, mayor será la medición que mostrará el acelerómetro durante ese tiempo.
Michael Karas
Entonces, según mi comentario anterior, se puede usar un acelerómetro para medir cuándo un objeto comienza a moverse desde una posición de reposo o cuando cambia de dirección. El dispositivo en sí es solo un sensor y no tiene ningún "saber". Debe conectar algún otro circuito o microcontrolador que anote las salidas del acelerómetro y cuente los cambios para "saber" cuando el objeto está cambiando de posición.
Michael Karas
3
Creo que sugerir una mejor manera requeriría saber más sobre la aplicación. Existen innumerables formas de medir el movimiento y la posición: la que funciona mejor depende completamente de lo que se mueve, cómo se mueve, dónde está (y qué hay a su alrededor), qué fuentes de energía están disponibles o cómodas, cómo la solución debe ser precisa, cuánto ruido debe rechazar, qué tan confiable debe ser, etc. Si puede proporcionar más detalles sobre la aplicación, probablemente obtendrá mejores respuestas.
J ...
1
Solo por curiosidad, ¿qué hace que la caja se mueva hacia arriba y hacia abajo? (Quiero decir, ¿por qué no puedes detectar el movimiento indirectamente mirando los controles?)
copper.hat
1
@MichaelKaras - Lo siento, pero tu caracterización de un acelerómetro está mal. Un acelerómetro mantenido estacionario en un campo gravitacional de 1 g informará (si el eje sensible es vertical) que está acelerando verticalmente a ~ 9.8 m / seg ^ 2. Esto, de hecho, es el primer postulado de la relatividad general.
WhatRoughBeast

Respuestas:

8

Creo que un acelerómetro y un arduino son una excelente manera de contar la cantidad de veces que la caja se mueve hacia arriba y hacia abajo. Es una forma compacta, confiable y sin contacto de detectar movimiento.

Podría funcionar para movimientos tan suaves como el ascenso y la caída de su pecho, al respirar, acostarse, y ciertamente cualquier cosa más rápida que eso.

Puede salirse con un detector de umbral simple con cierta histéresis: cuente uno cuando la aceleración exceda + x, luego establezca el umbral en -x, hasta que cruce -x, luego establezca el umbral en + x.

Si la aceleración es más suave, o hay una vibración de fondo que no desea contar (aunque en realidad es un movimiento hacia arriba y hacia abajo), entonces la señal podría perderse en el ruido.
Luego tendrá que implementar un filtro digital simple en el arduino, que en efecto "busca" el movimiento a un ritmo particular. Esto podría ser tan simple como sumar las últimas 100 muestras de aceleración (a 100 Hz) y poner el promedio a través del detector de umbral, o podría diseñar un filtro más elaborado.

Si planea usar un acelerómetro para cualquier cosa, pruébelo primero con su teléfono inteligente.

Busque en su tienda de aplicaciones una aplicación de monitor de acelerómetro, algo que registre el sensor en un archivo, y haga algunos experimentos. Si crea un archivo CSV, puede abrirlo en Excel y trazar gráficos, etc.

El acelerómetro de su teléfono es bastante básico y ruidoso, pero es un buen sustituto de cualquier otro acelerómetro de menos de $ 100, y puede darle una idea aproximada de lo que podría hacer un $ 1000.

Aquí hay un ejemplo de lo que he hecho con el sensor del teléfono.

¡Buena suerte! Publique sus resultados aquí (responda su propia pregunta) si funciona para usted.

tomnexus
fuente
7

En general, no. Imagine que lanza una pelota hacia arriba (e ignore la resistencia del viento): una vez que se mueve, la única fuerza sobre ella es la gravedad, que produce una aceleración constante . No hay forma de saber solo por la aceleración, cuando la pelota ha alcanzado su altura más alta y comienza a descender: la aceleración es la misma en todo su camino hasta que toca el suelo.

Si sabe que el objeto comienza a descansar y mide su aceleración, puede calcular su velocidad integrando la aceleración a lo largo del tiempo. Si se ralentiza, verá una aceleración negativa, y la integral irá a cero cuando se detenga. Luego, cuando comience a moverse nuevamente, verá un cambio en la aceleración y podrá comenzar a integrarse nuevamente. Sin embargo, esto depende en gran medida de la precisión de las mediciones y los cálculos. Si alguno de los dos está apagado un poco, el error aumentará gradualmente hasta que ya no sepa lo que realmente está sucediendo.

Pete Becker
fuente
1
No solo precisión: una IMU real debe conocer su orientación de rotación en todo momento para aplicar las mediciones de aceleración.
Chris Stratton
@ChrisStratton: no dije esto, pero estaba asumiendo un movimiento en línea recta. ¿Sigue siendo correcto su comentario en esa situación poco realista restringida?
Pete Becker
Simplemente a 9.8 m / s a ​​la aceleración observada.
Loren Pechtel
1
@LorenPechtel: Eso es necesario de todos modos, pero no soluciona el problema de integración. Imagine una caja subiendo, disminuyendo la velocidad casi hasta detenerse y acelerando nuevamente. Ahora imagine una segunda caja que se ralentiza un poco más, por lo que se reduce momentáneamente, antes de volver a subir. La diferencia puede ser mínima, pero el contador arriba / abajo debe diferir. Si su integración está ligeramente desactivada, no notará la diferencia.
MSalters
1
¿No mediría un acelerómetro cero para un objeto en caída libre? Realmente es más una medida de fuerza G, ¿no?
Octopus
5

En primer lugar, es importante comprender cómo se comporta un acelerómetro en un campo gravitacional, como lo experimentamos aquí en la tierra. Un acelerómetro no mide la aceleración, en el sentido de que no mide solo el cambio de velocidad. Mide el cambio en la velocidad más la gravedad, lo que significa que debe tomar la medición de la gravedad si planea intentar lo que describe.

Además, la gravedad se medirá como una aceleración hacia arriba , lo que es algo contraintuitivo pero tiene sentido si imagina que un acelerómetro se construye de esta manera:

esquemático

simular este circuito : esquema creado con CircuitLab

He abusado del editor de esquemas para mostrar un rodamiento de bolas suspendido en un tubo por dos resortes perfectamente amortiguados. Imagine que el acelerómetro realiza su medición diciéndole cuán lejos de la posición de reposo se encuentra actualmente el rodamiento de bolas. Ahora imagine que gira este dispositivo en su extremo, y puede ver cómo el rodamiento de bolas se hunde bajo la gravedad, y cómo esto no se puede distinguir de la aceleración. Creo que la relatividad tiene algo que decir sobre este tema, pero de todos modos.

Entonces, si tiene un acelerómetro vertical, y elimina el efecto de la gravedad, y los movimientos de su dispositivo son lo suficientemente grandes como el ruido de fondo de su acelerómetro, y además los movimientos son lo suficientemente suaves como para no confundir su algoritmo, entonces podría ser posible. Hay una respuesta anterior que menciona la caída libre, lo que sería un problema, pero supongo por su descripción que su dispositivo no estará en caída libre por ningún período de tiempo. Sin embargo, esto es una suposición.

Si realmente desea usar un acelerómetro, su mejor enfoque para un problema como este es registrar la salida del acelerómetro de alguna manera (prefiero enviarlo a través de SPI y grabarlo usando un analizador lógico USB) y anotar exactamente lo que hace (o incluso video, si estás realmente interesado). Luego puede jugar con algoritmos fuera de línea, sin la carga de preguntarse constantemente si su Arduino realmente está haciendo lo que cree que es.

Como otros han mencionado, otros tipos de sensores pueden ser más apropiados. Necesitaríamos más detalles sobre exactamente por qué estás intentando lo que estás intentando comentar, creo.

Dave Branton
fuente
2
Esto no es solo una peculiaridad del acelerómetro: un objeto que se encuentra en un campo gravitacional uniforme es indistinguible de uno que se acelera uniformemente. En cierto sentido, el acelerómetro tiene razón cuando dice que un objeto sentado en el suelo está acelerando; simplemente no creemos que sea porque estamos acelerando al mismo ritmo.
cpast
Sí, me doy cuenta de eso. El acelerómetro es lo más correcto posible, pero es bastante contrario a la intuición que un acelerómetro vertical inmóvil en un campo gravitacional mide una aceleración hacia arriba .
Dave Branton
Creo que esta es una mejor explicación: imagina a un hombre en una báscula en un ascensor. La escala muestra la fuerza que aplica al hombre (dividida por g). Primero, muestra el peso real, pero cuando el elevador comienza a moverse hacia arriba, muestra un peso mayor. E incluso el hombre se siente más pesado. Además, un acelerómetro solo mide la fuerza que aplica a una masa pequeña.
Sweber
4

Si el objeto se mueve hacia arriba y hacia abajo en guías fijas, creo que la forma más fácil de contar sus movimientos sería usar un interruptor de límite que se cerraría cuando el objeto está en reposo y se abriría cuando esté lejos de su posición de reposo.

Peter Bennett
fuente
3

Cuidado, una reversión de la aceleración no significa que la caja gire. La caja se pone en marcha: ves aceleración hacia arriba. Ahora está avanzando a un ritmo constante: no ve aceleración. Disminuye a la mitad de la velocidad: ves aceleración hacia abajo. Continúa a media velocidad: no se ve aceleración. Se acelera de nuevo: se ve una aceleración hacia arriba. Se detiene, ves aceleración hacia abajo.

Viste arriba, abajo, arriba, abajo, pero la caja realmente solo se movió hacia arriba. Tendrás que integrarte con el tiempo y tener la precisión suficiente en tu acelerómetro para saber de qué manera estás yendo realmente: ten cuidado con los errores acumulativos, ¡podría hacer que este problema sea muy difícil!

¿Has investigado el uso de un telémetro láser para medir dónde está la caja?

Loren Pechtel
fuente
De hecho, debe integrarse dos veces con el tiempo, una vez para obtener la velocidad y otra para obtener la distancia, que estará plagada de errores acumulativos.
Abligh
2

Los acelerómetros miden aceleraciones. Si el movimiento se realiza con aceleración, se detectará, dado que el acelerómetro es lo suficientemente sensible en este eje. La dirección de la aceleración se indicará mediante el signo de los valores leídos. Tenga en cuenta que al medir aceleraciones en el eje vertical, la medición estará sesgada por la constante de aceleración gravitacional g.

Eugene Sh.
fuente
1
"Si el movimiento se realiza con aceleración" El objeto está inicialmente en reposo. No podría entrar en un estado de movimiento sin acelerar.
David Richerby
Sí, pero la pregunta es en qué etapas se debe detectar el movimiento.
Eugene Sh.
2

Si no desea un contacto físico (como el proporcionado por un interruptor de límite o microinterruptor típico), puede montar un imán y usar un interruptor de láminas o un interruptor de efecto Hall. O monte algo que sobresalga levemente y sea opaco, y viaje a través de un detector óptico (del tipo que tiene una pequeña ranura).

Un acelerómetro es complicado, más caro que cualquiera de los anteriores, y por la razón explicada elocuentemente por Pete Becker (y ahora también por Dave Branton), es poco probable que funcione.

abligh
fuente
Vale la pena señalar que la situación que describe @TheDudeAbides recuerda un poco a un podómetro.
user3334690
@ user3334690 Sospecho que el grado limitado de precisión que tienen los podómetros se debe en parte a la naturaleza predecible del paso humano. Si pudiéramos hacer arreglos para colocar imanes en cada superficie del piso, sospecho que podríamos hacerlos más precisos con los interruptores de efecto hall :-)
hasta
1

Aquí hay mucha información excelente, pero no he visto a nadie sugerir un potenciómetro lineal ...

Simple, aplique voltaje y cuente cuántas veces el GPIO lee un HI. ¿La olla lineal más barata? Control deslizante de volumen de una radio antigua, ajuste de ajuste de los controladores de juguete R / C, etc.

usuario1183325
fuente
¿Estás implicando conexiones mecánicas entre objeto, maceta y base estacionaria? ¿Eso no introduciría nuevas fuerzas y resistencias?
Octopus
1

Si sus siguientes rieles, ¿qué pasa con el uso de un buscador de rango ultrasónico? El arduino puede hacer los cálculos para determinar la aceleración, y será una implementación mucho más simple que unir cables a algo que se mueve. Esto sin duda funcionará mejor si la pista es recta. Acá hay uno. https://www.sparkfun.com/products/639

Dean Turner
fuente
¡Bienvenido a electronics.stackechange! ¡Espero que te sientas como en casa aquí!
WalyKu
0

Recomendaría usar dos placas metálicas delgadas para formar un condensador. Una placa se colocaría encima de la caja y la otra se fijaría a cierta altura de la caja. A medida que la caja se mueve hacia arriba y hacia abajo, la capacitancia (C) variará debido al cambio en la separación (d) de las placas (C = kA / d). Este cambio se puede "convertir" por un medio apropiado a un cambio de voltaje, frecuencia, etc. y luego a una forma apropiada para la interfaz del arduino (puede ser necesaria la amplificación).

Guill
fuente
Esto no funcionará. 1: Aunque no tenemos dimensiones, juega un poco con los números y verás que el rango dinámico es grande, mientras que la capacitancia puede ser muy pequeña. 2 .: Si la configuración está hecha de metal, cada una de sus placas forma un condensador con la configuración. Es decir, tiene dos tapas en serie con diferentes longitudes de cable entre ellas. La capacitancia será más o menos constante. Hay sensores capacitivos, pero su principio es diferente y pueden medir diferencias de no más de 1 cm.
Sweber