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 |
------------
+ +
+ +
fuente
Respuestas:
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.
fuente
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.
fuente
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:
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.
fuente
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.
fuente
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?
fuente
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
.fuente
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.
fuente
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.
fuente
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
fuente
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).
fuente