¿Usando el cambio en la magnitud del acelerómetro para calcular la velocidad?

1

Tengo una rueda (digamos 60 cm de diámetro). Y estoy planeando adjuntar una pequeña tabla con un AVR y un acelerómetro a unos 10-20 cm del centro.

Mientras la rueda gira, obtendré una aceleración hacia el exterior. Cuando el acelerómetro está subiendo la rueda, va contra la gravedad, mientras que al bajar va a ir con la gravedad.

En teoría, si tomara la magnitud de la aceleración en el tiempo y la graficara, parecería una onda sinusoidal. Que luego podría usar para determinar las RPM y por lo tanto la velocidad.

Mi preocupación es que a 100 km / h (60 mp / h) el cambio en la aceleración se volvería demasiado insignificante y no podría determinar la velocidad.

¿Algún consejo?

EDITAR: el acelerómetro no es una necesidad, el objetivo principal es medir la velocidad.

EDIT2: Estoy tras la velocidad de la rueda. En RPM o m / s (a medida que la velocidad a medida que la rueda se mueve a lo largo de la tierra)

    
pregunta jnd

4 respuestas

2

Su pregunta no especificó qué velocidad está tratando de medir, así que responderé por varias versiones de esta pregunta.

En primer lugar, la integración de la aceleración para obtener la velocidad conduce a la deriva. Es por eso que [casi] todo lo que usa un acelerómetro para información de posición / velocidad (y se preocupa por la precisión) también tiene un GPS para eliminar esos errores. La integración siempre llevará a errores, aunque se pueden administrar.

Un mejor enfoque es preguntarte qué realmente estás tratando de medir.

Velocidad angular:

Use algo mejor para medir la velocidad angular, como un codificador óptico (como lo mencionó @kolosy) o un sensor magnético (como los velocímetros de bicicleta). Cada uno tiene sus pros y sus contras, pero miden directamente la distancia en función del tiempo y, por lo tanto, le dan velocidad directamente.

Velocidad lineal:

Dependiendo de las velocidades y las precisiones involucradas, use un GPS (si va a moverse a una velocidad constante la mayor parte del tiempo y será relativamente rápido), o use un método de medición de velocidad angular en una rueda (que nunca supera los límites de fricción estática con el suelo) y múltiplo por su circunferencia.

En resumen:

No integres a menos que tengas que hacerlo.

    
respondido por el iAdjunct
2

Lo que estás sugiriendo funcionará bien, en mi opinión, dentro de sus límites.

Digamos que tienes una rueda de 60 cm de diámetro. A 60 mph, girará a 15 rps, por lo que no necesita preocuparse por una tasa de digitalización extremadamente alta. 100 - 200 muestras / seg deben ser adecuadas. La aceleración centrípeta será un problema importante, ya que en este caso (asumiendo una posición a 20 cm del centro) es igual a unos 177 g. Sobrepuesto a esto estará su onda sinusoidal de +/- 1 g (y la amplitud de la onda sinusoidal no cambiará con la velocidad). Por lo tanto, necesitará aproximadamente 10 bits de resolución A / D para permitir la identificación de la onda sinusoidal.

Si todavía estás interesado en la idea, existen al menos otras tres preocupaciones.

La primera es la necesidad de equilibrar la rueda: si no lo haces, se sacudirá a la velocidad. Tendrá que equilibrarlo dinámicamente, no solo el equilibrio estático. Al igual que equilibrar un neumático nuevo.

La segunda pregunta es cómo se comunicarán las lecturas del sensor. ¿Anillos colectores? Inalámbrico?

El tercero es el impacto y la vibración: ¿cómo espera manejarlos? Si llegas a un camino difícil, tu paquete estará listo para un viaje muy desagradable. Recuerda, está en el lado equivocado de la suspensión.

Alternativas: francamente, no soy un gran fanático de montar nada activo en la rueda. Me sentiría más inclinado a colocar un par de imanes en lados opuestos y usar un detector magnético montado en la caja del eje. La detección óptica no es una gran idea, ya que la suciedad o el polvo levantado por las ruedas será un problema, además de que su acoplamiento mecánico a la rueda / eje no sea trivial.

EDITAR Nota: supongo que esta no es una quinta rueda, agregada expresamente con el propósito de tomar datos, sino que está encendida con 4 ruedas "normales". Si esta suposición es incorrecta, modifique mis inquietudes de manera apropiada.

    
respondido por el WhatRoughBeast
1

Ya que dices que no tienes para usar un acelerómetro, yo diría que usa un giroscopio o un codificador. Un giroscopio como un MPU6050 (que en realidad es un sensor 6DOF, también tienen giroscopios también, pero es el mismo giro bajo el capó) puede medir hasta 2,000 grados / segundo, que es de aproximadamente 10 m / s en velocidad lineal para su rueda de 60 cm ( si estuviera rodando, es decir, eso no está claro de su pregunta).

Un codificador óptico o magnético haría el mismo trabajo. Puede leer más sobre los criterios de selección aquí

    
respondido por el kolosy
1

Es ciertamente posible usar el acelerómetro para determinar las RPM (que se pueden convertir a velocidad y odómetro si conoces el diámetro), pero hay algunos desafíos que encontré y tuve que resolver:

  1. Puede identificar la onda sinusoidal producida por la gravedad (-1g .. + 1g). Se puede ver en dos ejes, tengo X = en la dirección del eje de rotación (lee cero), Y = en la dirección de rotación (tangente, este es ideal, lee -1g .. + 1g ) y Z = hacia el centro de rotación (la onda sinusoidal se desplaza por la fuerza centrífuga, mayor es la velocidad, lo que hace que se salga del rango del acelerómetro, haciéndolo inútil).
  2. ¡Asegúrate de que la Y sea realmente tangencial ! Incluso un ángulo pequeño desplazará los datos en algún porcentaje de la fuerza centrífuga, que puede ser de 100 g e incluso más (crece por el cuadrado de la velocidad), por lo que, incluso una fracción de esto, puede mover los datos fuera del rango ( Yo uso 12bit 8g acelerómetro).
  3. Probablemente nunca sea perfectamente tangencial, por lo tanto, deberá calcular el promedio a largo plazo de todos los valores para obtener un punto central flexible (que debería ser 0 g en condiciones ideales). Puede hacer un seguimiento de las transiciones del centro + .75g y del centro-0.75g, para identificar medias ondas. (o centro + -0.5g, pruebe esto usted mismo)
  4. Golpes y ondulaciones pueden ocultar la onda sinusoidal. Tuve que implementar dos soluciones:
    1. Use goma / silicona o material similar para hacer que el soporte sea un poco flexible, para tragar la energía de pequeños golpes. Mi primera solución no se montó a la perfección y tuve el problema de una Y no tan tangencial, así que mejoré la montura, pero la hice demasiado rígida, lo que introdujo grandes baches y ondulaciones en datos reales (que podrían ser específicos para la aplicación I). no puedo compartir más detalles sobre ... tal vez excepto: me dirijo al tren, no a un automóvil). Finalmente, el material de aislamiento de la cinta de goma / ducto + ayudó a reducir las ondulaciones.
    2. Aumente la frecuencia de muestreo de 100Hz a 400Hz, promediando dos muestras (suavizando los datos). Me sorprendió el hecho de que las ondulaciones se hicieron más pequeñas con la frecuencia de muestreo más alta, esperaba que se hicieran más cortas en el tiempo (porque el impacto es sub-ms = 1kHz +), pero no en el espacio (valor - y sin embargo hicieron + el promedio ayudó mucho).

Otras posibles soluciones

  1. Sensor + codificador óptico / magnético (un sensor probablemente sería suficiente, pero varios sensores o al menos dos que no sean opuestos pueden darle sentido de la dirección). Esto probablemente sería mucho mejor que el acelerómetro, pero puede que no sea una opción viable para usted (y no lo es para mí, la distancia entre el eje / la montura y cualquier otra superficie no es constante, las soluciones que necesitan dos piezas, una en movimiento y uno no, no puede ser usado). El sensor óptico puede cubrirse de polvo, el magnético es susceptible a otras fuerzas (hierro en todas partes).
  2. Gyro podría dar una velocidad razonablemente precisa, pero no exacta: el seguimiento de onda sinusoidal es exacto. Los dispositivos que utilizan giroscopios deberían calibrarse para que proporcionen los mismos valores (el acelerómetro no necesita eso, la amplitud no es importante, el software puede ajustarse sin calibrar, observando el mínimo y el máximo o ajustando el umbral alrededor del centro para las transiciones de arriba hacia abajo). li>
respondido por el firda

Lea otras preguntas en las etiquetas