Medición rápida de distancias...

Buenos días, tengo una inquietud... estoy tratando de medir distancias con un sensor ultrasónico HC-SR04 y ha ido muy bien, el problema es cuando trato de emplearlo en lo que necesito...

Tengo un bloque que se mueve forma rápida a diferentes distancias, digamos que en un segundo recorre 2 cms hacia atrás, luego en un segundo recorre 6 cms hacia atrás y hacia delante y asi... necesito leer cada punto que recorre durante su movimiento el problema es que el sensor al parecer no es tan rápido pues no detecta instantáneamente cada punto, deseo que ustedes me ayuden a calibrar el sensor para que sea preciso o que me ayuden con ideas para obtener los datos de manera precisa.

Estaba pensando en usar un acelerómetro... pero no sé como poder implementarlo, es decir los valores que un acelerómetro maneja.

¿Algún link de referencia? muchsísimas gracias por sus respuestas...

Pero tu estas con tu elemento de medida parado en el bloque?
Supongo que si porque pensar en un acelerómetro no tendría sentido.
El acelerómetro te dará valores en las coordenadas en las que se mueve, X, Y, y Z.
Descartemos Z o sea altura ya que no creo que sea de tu interes.
Te quedan X e Y.
Bien, acelerar es una cosa.. traducirlo en distancia recorrida es otra.
Eso necesitas>

surbyte:
Pero tu estas con tu elemento de medida parado en el bloque?
Supongo que si porque pensar en un acelerómetro no tendría sentido.
El acelerómetro te dará valores en las coordenadas en las que se mueve, X, Y, y Z.
Descartemos Z o sea altura ya que no creo que sea de tu interes.
Te quedan X e Y.
Bien, acelerar es una cosa.. traducirlo en distancia recorrida es otra.
Eso necesitas>

Buenas noches y gracias por responder, así es...

Por ejemplo si utilizo un ultrasónico estará en un punto fijo midiendo las distancias, por otra parte si utilizo un acelerómetro éste se moverá junto a la pieza y dependiendo los valores en los que se mueva la pieza se generará cierta distancia, y acá quedo un poco atrapado, leí que se debe integrar dos veces cada valor que genera el acelerómetro.

Seguí investigando y llego hasta el uso de un infrarrojo para medir con presición, si se utiliza este dispositivo estará en un punto fijo midiendo lo que se mueve la pieza... ¿el problema? solo mide a partir de los 10 cms.

No lo he implementado aún, creo que la solución sería moverlo 10 cms y tomar esos 10 cms como referencia (haciéndo de cuenta que es cero) y calcular... así cuando marque 11cms será 1cm real.

Pero no tengo mayor información sobre el uso de este Infrarrojo... su nombre es Sharp GP2Y0A21YK.

Conocer la posición de algo dentro de un ambiente ha sido un tema complicado de resolver. Aceleracion es la derivada doble de la distancia. Por ende conocida la aceleración debes integrar dos veces. Ahora toda integración requiere condiciones de contorno. Imagina que tu sensor díga o reporte que la aceleración inicial es cero. Pensarás que esta detenido? Error! Esta a velocidad constante. Derivada de La velocidad es la aceleración. Si estás a velocidad constante tu aceleración es cero. También es cerosi estas detenido pero es un caso de velocidad constante. Se entiende.
Deco entonces continuar o te datas cuenta que integrar día veces la aceleración no resolverá tu problema de posicionamiento.

Se me ocurre...

Caso a) Agregar algún tipo de "Rotary encoder" adjunto al bloque con alguna rueda

Caso b) Una barrera infrarroja fija y el detector puesto en el móvil, poniendo cada Led transmisor separado cada 0.5 cm o 1cm si no es requerido tanta precisión

Caso c) Un sensor hall de tipo lineal en el móvil y un riel de micro imanes con separación precisa. Este es similar al caso anterior, solo estoy cambiando el medio

Los métodos te permiten obtener posición, distancia y dirección de desplazamiento con bastante precisión.

Se me ocurren más métodos pero no has sido explícito con el planteamiento, por ejemplo pienso que si tu bloque móvil es desplazado por algún motor entonces midiera cada paso del mismo, si tiene una correa o cadena también sirve para proponer soluciones.
Saludos

Al igual que Visionario considero que si nos aportas mas información de tu aplicación podemos pensar en mas posibilidades o delimitar mas el problema, ¿que frecuencia de muestreo necesitas? haciendo calculos y limitando el rango del HCSR04 a 20 cm dada tu descripción inicial del problema obtengo una frecuencia de lectura de alrededor de 500 Hz lo cual considero yo, debería de ser suficiente no?

surbyte:
Conocer la posición de algo dentro de un ambiente ha sido un tema complicado de resolver. Aceleracion es la derivada doble de la distancia. Por ende conocida la aceleración debes integrar dos veces. Ahora toda integración requiere condiciones de contorno. Imagina que tu sensor díga o reporte que la aceleración inicial es cero. Pensarás que esta detenido? Error! Esta a velocidad constante. Derivada de La velocidad es la aceleración. Si estás a velocidad constante tu aceleración es cero. También es cerosi estas detenido pero es un caso de velocidad constante. Se entiende.
Deco entonces continuar o te datas cuenta que integrar día veces la aceleración no resolverá tu problema de posicionamiento.

Visionario:
Se me ocurre...

Caso a) Agregar algún tipo de "Rotary encoder" adjunto al bloque con alguna rueda

Caso b) Una barrera infrarroja fija y el detector puesto en el móvil, poniendo cada Led transmisor separado cada 0.5 cm o 1cm si no es requerido tanta precisión

Caso c) Un sensor hall de tipo lineal en el móvil y un riel de micro imanes con separación precisa. Este es similar al caso anterior, solo estoy cambiando el medio

Los métodos te permiten obtener posición, distancia y dirección de desplazamiento con bastante precisión.

Se me ocurren más métodos pero no has sido explícito con el planteamiento, por ejemplo pienso que si tu bloque móvil es desplazado por algún motor entonces midiera cada paso del mismo, si tiene una correa o cadena también sirve para proponer soluciones.
Saludos

firius2010:
Al igual que Visionario considero que si nos aportas mas información de tu aplicación podemos pensar en mas posibilidades o delimitar mas el problema, ¿que frecuencia de muestreo necesitas? haciendo calculos y limitando el rango del HCSR04 a 20 cm dada tu descripción inicial del problema obtengo una frecuencia de lectura de alrededor de 500 Hz lo cual considero yo, debería de ser suficiente no?

Muchas gracias por su interés en ayudarme, plantearé acá mi proyecto para que tengan más información:

Se desea fabricar una plataforma para simular terremotos y el comportamiento de algunas estructuras
usadas en la construcción de edificios. Esto se realizará mediante la construcción de un mecanismo
que debe moverse para generar una onda, programada en software, que simule un movimiento
telúrico; dicho mecanismo deberá medir y registrar, mediante un sistema electrónico, las desviaciones
en la estructura sujeta a prueba.

Requerimientos:

●Control automatizado del movimiento de la mesa oscilante, basándose en las ecuaciones del MAS en una dimensión, con una amplitud entre 10 mm y 50 mm, y una frecuencia entre 1 Hz y 5 Hz.

● Gráfica del movimiento de las estructuras de prueba y determinación de los parámetros de oscilación:
○ Amplitud máxima
○ Frecuencia

● Presentación de resultados mediante gráficas comparativas entre
los movimientos generados en ambas estructuras y la del
movimiento generador de la mesa.

(Esa es la parte más importante del proyecto)

Ya tengo la plataforma armada, para su movimiento utilicé un mecanismo llamado "biela-manivela" que convierte el movimiento radial de una circunferencia adherida al taladro; a un movimiento lineal (todo esto sobre un eje x), de esta forma estoy simulado el movimiento de lado a lado.

La amplitud se representará como una distancia en nuestra gráfica, es decir; si la mesa que se mueve 2cms durante la simulación; la gráfica presentará este movimiento en función de tiempo, es por eso que el ultrasónico no me sirve, genera ruido pues al enviar una medición la señal rebota con el movimiento (no es demasiado rápido en lectura).

RESPONDIENDO A VISIONARIO:

  1. No había escuchado nada sobre el "Rotary encoder" pero en este caso sería de gran ayuda para graficar las ondas senoidales que generaría cada frecuencia ya sea a 1Hz, 2Hz, 3Hz, etc... ¿Puede ser así Visionario? me gustaría que me ayudes en ese punto.

  2. Pensé en la "barrera infrarroja" utilizando una serie de CNY70 pero esto solo me brindaría valores del tamaño de cada encapsulado, se saltaría algunos milímetros y la idea es hacerlo preciso.

  3. No sabía nada sobre el sensor de tipo Hall, pero tu mismo lo has escrito, es similar al anterior y ni presentaría mayor precisión.

RESPONDIENDO A FIRIUS2010:
Con lo anterior escrito creo que ha quedado más información, las frecuencias variarán entre 1hz y 5 hz y las amplitudes entre 0 y 20cm, de esta forma una combinación de movimiento podría ser;

Amplitud Nivel 1: (10cm)
Frecuencia Nivel 3: (3Hz)

Entonces; en la gráfica la línea de frecuencia se debe reflejar constantemente los 3Hz pero la línea de amplitud debe mostrar cada valor entre los 0 y 10cm que está recorriendo la estructura, y aquí entra en juego la precisión del sensor, en conclusión la gráfica debería mostrar valores muy similares a un sismógrafo.

Espero sus respuestas, gracias por leer.

Habiendo expresado todo tu sistema, ahora ya claro, primero retiro todo lo que sugerí antes, entonces, Láser para medir las distancias que se desplaza el bloque móvil, aunque pienso en tres, uno en la parte superior, otro al medio y otro más bajo, permitirán calcular mejor como se afecta con relación a la altura de la estructura que se está moviendo.

Aclaro, tres linealmente colocados porque según tu explicación solo están trabajando en el eje X, por lo que la alineación de ellos será perpendicular a ese eje y todos colocados en la misma posición del X

Láser, porque te dará precisión de milímetros o menos, por lo que tendrás que hacer varias lecturas en cada ciclo de la manivela para tener gráficas muy precisas, relacionando la fuente (Onda generada por el sismo) y el objeto que se mueve.

Son dos cosas planteadas, el primero es el generador de las ondas y el segundo es el sistema de muestreo y resultados recogidos.

Ambos deben estar relacionados para que tus lecturas sean precisas.

Saludos

Casi de leer tu explicación me dan ganas de no seguir aportando.
No comprendo porque no lo dicen en el primer post y luego de que todo el mundo da vueltas tratando de acertar a lo que se pretende quien consulta se da cuenta que debe revelar la razón de su consulta. Nunca lo entenderé.
Nadie puede robar nada. El trabajo es tuyo. En fin. Todos tenemos un poco de estas cosas. Me incluyo.

Ahora pienso en un montónn de alternativas. Desde los lasers sugeridos por Visionario hasta un simple enconder ubicado en la biela manivela, total, el brazo de la manivela lo conoces y sabras entonces el deplazamiento que dará en todo momento y punto.
Si quieres precisión mm puedes usar las reglas magnetoresistivas MTS Sensors que yo he usado en mis dispositivos de dosificación.
Eso puesto longitudinalmente y transversalmente si tuvieras movimientos en los dos ejes te da en todo momento la indicación ya sea, 4-20mA, 0-5V o PWM del eje que esta midiendo. Son caras pero son excelentes y precisas.