Qué sensores usar para leer el peso seleccionado de la máquina de gimnasio [duplicado]

Estoy tratando de encontrar un conjunto de sensores (para construir una solución) para determinar cuántos bloques de peso está levantando un atleta en la máquina de pesas de esta manera:

ingrese la descripción de la imagen aquí

Ya probé estas soluciones:

  1. Coloque una etiqueta RFID en cada bloque de pesas y coloque un lector RFID un poco por encima del bloque superior. La idea era que cuando los bloques subieran, el lector de RFID sabría qué bloques se levantaron simplemente comparando cuántos RFID únicos se detectaron en una secuencia. El problema con este enfoque era que el lector RFID se saltaba algunas de las etiquetas RFID (probablemente porque los bloques de peso se levantaron demasiado rápido para que el lector RFID no pudiera seguir el ritmo).

  2. Conecte el sensor ultrasónico (Sensor_1) ( https://www.sparkfun.com/products/13959 ) en la parte superior del soporte de pesas de bloque y otro sensor ultrasónico (Sensor_2) en el costado como se muestra en la imagen:ingrese la descripción de la imagen aquí

Sensor_1 está hacia abajo. Sensor_2 está conectado a un soporte de ayuda que mira horizontalmente al lado del soporte de pesas de bloque. La idea era que cuando el usuario comienza a levantar las pesas, en algún momento el Sensor_2 detecta un bloque de pesas (que está horizontalmente a la misma altura), el Sensor_1 recuerda la distancia (Distancia_1) al peso del bloque superior. Cuando Sensor_2 muestra que ya no hay ningún bloque a la misma altura, Sensor_1 verifica la distancia actual (Distance_2) al bloque superior nuevamente y luego calcula el número de bloques con la siguiente fórmula (Fórmula_1):

número_de_bloques = (Distancia_1 - Distancia_2) / altura_de_1_peso_de_bloque , donde altura_de_1_peso_de_bloque = 4 cm, Distancia_1 ~= 115 cm, Distancia_2 < 115 cm

El problema con este enfoque era que el ultrasonido no mide la distancia al punto (como un rayo), sino que hay una onda con un ángulo de 15 grados y, por lo tanto, tenemos problemas con el reflejo de la onda de otros objetos (soporte de pesas de bloque u otros). cosa)

  1. Probamos el mismo enfoque que el n. ° 2, pero con sensores IR ( https://www.pololu.com/product/1137 ). No proporciona una distancia precisa porque el error de medición del sensor a veces es de más de 5 cm, por lo que Formula_1 no proporciona el resultado esperado. Además, el sensor tiene una limitación de 25 Hz, por lo que si levantas las pesas rápidamente, saltará distancias > 3,2 cm (80 cm / 25 medidas por segundo).

La única forma que veo es conectar una cámara y analizar la imagen de salida en la capa de software...

Por favor, avíseme si tiene alguna otra idea o si ve una brecha en las soluciones que especifiqué. ¡Gracias!

¿Está bien si la medición solo funciona en un estado elevado?
En lugar del lector de rfid, utilice códigos QR. O pegatinas de código gris y algunos fotodetectores.
Coloque un medidor de tensión en la parte inferior de la pila, cuando los pesos estén levantados, reste el peso levantado del peso total. Pan comido
@DonQuiKong Gracias por preguntar. ¡Sí, está bien medir solo en un estado elevado!
¿Qué funcionó para ti? por favor déjanos saber
No encontré una solución confiable y me mudé a otro proyecto, lo siento.

Respuestas (6)

3 vienen a la mente.

Un codificador IR como mencionó RoyC. Pinte la parte trasera o los lados de las pesas alternando blanco y negro.

Una cámara como ya mencionaste. OpenCV haría un trabajo rápido de esto. Y puedes hacerlo a distancia sin tocar nada en la máquina.

Y la última opción es un sensor de peso real. Una celda de carga colocada debajo de las pesas. Cuando se levantan los pesos seleccionados, la celda de carga mostrará un cambio negativo igual al peso que se eliminó hacia arriba.

Una celda de carga configurada como se describe es una gran idea. ¿Son lo suficientemente robustos para tolerar cargas transitorias muy altas?
Seguro que lo son. Si los paga. Sin embargo, una cámara web eBay de una tienda de un dólar y una computadora con enchufe barato (Raspberry pi) son mucho más baratas. Y más seguro No modificar ni introducir nada en la máquina es el mejor curso de acción.
@RoyC: puede obtener celdas de carga clasificadas en toneladas. Piensa en lo que se usa para medir el peso de los camiones. Por ejemplo: omega.com/pptst/LCCD.html
Una celda de carga en la polea indicada como "sensor 1" experimentaría transitorios mucho más pequeños en comparación con debajo de toda la pila. Las celdas de carga son un poco extrañas para las personas que no tienen mucha experiencia con ellas, pero son muy simples y vale la pena invertir menos tiempo.
@RoyC, trabajé con una celda de carga que podía manejar cargas transitorias de más de 30 toneladas (piense: el enganche del remolque falla bajo carga). Tuvimos que revisar la calibración después de cualquier evento fuera de la clasificación de 30 toneladas, pero nunca tuvo ningún problema.

Lo miraría desde un ángulo diferente y trataría de detectar en qué ranura se coloca el pasador de metal.

Esta es una tarea más fácil y se puede hacer de varias maneras, como usar sensores de proximidad o microinterruptores. Estos podrían conectarse a un microcontrolador y, por lo tanto, podría detectar la cantidad de bloques de peso levantados.

Esto es solo una idea para un posible camino a seguir. El diseño de circuitos sería una cuestión diferente.

Estos pines suelen tener un asa grande, a menudo de colores brillantes, que podría ser captada por una cámara.
La mayoría de los pines que se usan en los gimnasios son negros, por lo que recuerdo...
las mías son perillas amarillas con pasadores cromados

Coloque un pequeño reflector infrarrojo en cada bloque y colóquelos en una línea vertical. La configuración de su sensor es un iluminador IR y un sensor IR direccional (fotodiodo o transistor en un tubo) montado para alinearse con los reflectores justo encima del bloque superior en reposo. Debe amplificar la salida del fotodetector y establecer el umbral de detección para que proporcione una salida solo para los reflectores. Esto le dará una cadena de pulsos que puede contar para obtener el número de bloques que pasan.

Se puede hacer que funcione a frecuencias muy altas, por lo que no hay problema con la velocidad.

Pequeños imanes baratos en el bloque de pesas y dos sensores de pasillo frente a los imanes. El primer sensor debe estar un poco por encima (el espacio entre los bloques) de la altura del imán superior y el segundo debe estar exactamente frente al imán superior. Cuente el gatillo en el primero para comprobar cuántos pesos se han levantado. Y cuando el segundo sensor se activa y el primero no, los pesos están en reposo.

Mirando el brazo superior, sugeriría un medidor de tensión . Es un componente muy simple, que puedes pegar directamente encima.

Es posible que deba suavizar un poco los valores medidos, ya que la tensión depende de la fuerza que dobla la barra superior. Y si bien esa es exactamente la fuerza gravitatoria en la situación estacionaria, al ejercitar las pesas aceleran hacia arriba y hacia abajo, por lo que debe usar la fuerza promedio.

No estoy seguro de qué tipo de tiempo/esfuerzo está dispuesto a invertir en esto, o qué tan elegante es el resultado que está buscando, pero aquí hay un enfoque simple y barato, que equivale a crear un cambio entre cada par. de placas.:

  • Pegue con cinta adhesiva los contactos de papel de aluminio en la parte superior e inferior de cada placa, en un lugar consistente para que cada contacto toque el de la placa contigua.
  • Conecte el cable inferior de cada placa a un cable común.
  • Conecte el cable inferior de cada placa a un pin de E/S digital separado.
  • Cuente cuántas placas hay por cuántos cables están conectados al común.
  • Para ahorrar en pines IO, incluso podría usar un codificador de prioridad para usar ceil(log_2(number_of_plates))pines.

En el lado negativo, esto se verá raro, solo podrá decir el peso mientras está en movimiento y podría romperse con el uso. Pero en el lado positivo, es barato, simple y probablemente ya tenga todas las piezas que necesita para obtener un prototipo funcional.