Determine el ángulo y la velocidad de una plataforma giratoria

5

Tengo una plataforma giratoria de 1 eje (x), que gira bastante rápido ~ 300 RPM. Quiero ser capaz de detectar con un buen grado de precisión cuántos grados ha recorrido desde su posición inicial y la velocidad a la que actualmente se está arrastrando.

Por ejemplo: Piense en un reloj que tiene una sola manecilla de minutos. La manecilla de la hora se desplaza por la cara del reloj y quiero medir dónde se encuentra en la cara del reloj en cualquier momento dado en grados.

"3" o-clock sería 90 grados, "6" o-clock sería 180 grados, "9" o-clock sería 270 grados, "12" o-clock sería 0 grados,

Tengo ambos sensores

Mis preguntas son:

  • ¿Puedo usar un giroscopio o acelerómetro para medir con precisión la rotación que se ha producido en una plataforma giratoria?
  • ¿Existe un mejor sensor para determinar la rotación en grados, como un Módulo Compass - HMC6352
  • ¿Se puede usar un giroscopio o un acelerómetro para medir RPM?
pregunta Steven smethurst

4 respuestas

10

Para un problema como este, normalmente utiliza un codificador incremental óptico . Dependiendo del tipo, proporciona una serie de pulsos por revolución, por lo que su resolución dependerá de este número. También le da información sobre la dirección de rotación. Puede encontrar la velocidad al medir el período de tiempo entre pulsos.
Consulte también esta respuesta para obtener más información Información sobre cómo funcionan los encoders incrementales y absolutos.

Si no puede encontrar un codificador adecuado, y su motor funciona sin problemas, puede ser suficiente tener un solo pulso por revolución. La posición actual puede entonces derivarse del tiempo desde el último pulso dividido por el tiempo entre pulsos (= período de rotación). Al igual que el codificador óptico, desea una solución sin contacto. La óptica es una posibilidad. Utilice un sensor reflectivo (como Vishay CNY70 ) para detectar una pequeña área reflectante en un disco mate (o viceversa). También es posible una solución magnética, y se usa a menudo en ambientes sucios donde el sensor óptico no funciona. Un pequeño imán en el eje del motor causará un sensor de efecto Hall (como Infineon TLE4913 ) para dar un pulso cada vez que pasa.

Pensarías que el giro sería ideal porque te da velocidad angular. Sin embargo, para encontrar la rotación, debe integrar la velocidad angular a lo largo del tiempo, y no siempre es fácil mantener la precisión porque también integra un error que se hará cada vez más grande, a menos que haya una forma de recalibrar cada rotación.
Como le comenté a Mike, cuando use un acelerómetro y un motor que no está montado verticalmente, el acelerómetro responderá a la gravitación de la tierra y superpondrá esto como una onda sinusoidal a la lectura de la aceleración centrífuga. Esto se debe filtrar, pero también se puede usar para contar rotaciones directamente: se obtiene 1 ciclo sinusoidal por revolución.
importante punto de atención:
Deberían montarse un giroscopio y un acelerómetro en el eje, y tendrá que lidiar con el problema del cableado de potencia y las lecturas a una posición fija.

    
respondido por el stevenvh
2

Las RPM generalmente se calculan utilizando un sistema de tacómetro por el cual se genera un pulso una vez (a veces dos veces, vea los ventiladores de la CPU) para cada revolución. Estos se cuentan luego durante un período predeterminado y las RPM se calculan a partir de eso.

En cuanto a la posición en la rotación, eso es más complicado. Debido a la velocidad de rotación que está utilizando, no hay mucho que se le ocurra para informar con precisión la posición de rotación, no es que la respuesta sea lo suficientemente rápida para hacerlo bien.

Si conoce la velocidad de rotación (RPM) con bastante precisión, puede calcular cuánto ha girado más allá de un punto conocido en el tiempo transcurrido, por ejemplo, cuánto tiempo ha transcurrido desde el último pulso del tacómetro, para obtener una posición bastante precisa si la velocidad es constante.

Otra opción sería tener varios sensores en un anillo alrededor del eje y un punto de referencia en el eje que pasa por estos sensores, ya sea magnético u óptico, pero eso solo brinda una resolución limitada. Estos se conocen como Encoders ópticos absolutos (o Encoders magnéticos absolutos, si está utilizando magnetismo).

Los codificadores ópticos incrementales, como el tipo usado en las ruedas del mouse, etc., son una forma de hacerlo, pero no dan una posición absoluta, solo una relativa, por lo que necesitarás unirla con alguna referencia absoluta punto también.

    
respondido por el Majenko
2

Mientras que un giro en teoría te da información para obtener la respuesta, en la práctica, el ángulo tendrá tanto error después de unos segundos que será inútil. Los giroscopios de MEM emiten una señal que indica la velocidad de rotación. Esto necesita ser integrado para obtener el ángulo. Sin embargo, la desviación, la deriva y otros errores se acumularán continuamente en la integral. Para la mayoría de los giroscopios de MEM, el resultado es inútil después de un segundo o unos segundos.

Tenga en cuenta que los giroscopios mecánicos reales no tienen este problema, ya que dan inherentemente una señal de posición angular, no velocidad angular. Sin embargo, son grandes, pesados, tienen un gran poder, son caros y deben "enjaularse" durante un minuto o 10 minutos sin movimiento para calibrarlos antes de usarlos.

Si la velocidad de rotación es razonablemente constante, una marca por revolución es lo suficientemente buena. He trabajado en varios letreros LED giratorios donde esa era la única información sobre la posición. El sistema asumió que cada rotación tomaría el mismo tiempo que la rotación anterior. La pantalla se estiró durante el encendido cuando el motor estaba acelerando, pero funcionó bastante bien en estado estable.

Sólo esta primavera, aconsejé a un estudiante de high shool que quería hacer algo similar. Le di un solo optointerruptor, que usó para calcular el tiempo por rotación y generar el reloj de píxeles para la siguiente rotación. Su motor era un gran ventilador que yacía de costado en el suelo, con la placa alimentada y montada en el medio. Describió "PROYECTO SENIOR 2011" con 7 LED, y todos quedaron impresionados.

Si el eje es horizontal, puedes usar un acelerómetro para medir la velocidad de rotación y tener una idea del ángulo actual observando la gravedad.

Dependiendo de cómo funcione el motor, es posible que la electrónica de conducción del motor informe la posición regularmente. Si es un DC sin escobillas y usted tiene acceso al controlador, esta información está disponible.

La comunicación al tablero giratorio desde el exterior se puede hacer de varias maneras. En el rótulo de LED giratorio, utilizamos un eje hueco con un LED de IR en el extremo fijo y un fotodiodo en el extremo giratorio. Esto se usó como un flujo de datos unidireccional a aproximadamente 1 Mbit / s. Llevar energía a la tabla giratoria también es interesante. El estudiante de secundaria usaba pilas. Eso fue fácil y funcionó bien para su presentación. Una versión del letrero LED necesitaba 70W y tenía que funcionar continuamente, por lo que no era posible. Utilizamos un transformador en el que el primario y el secundario podían rotar entre sí. Esto fue impulsado por un conmutador de alta frecuencia. Se utilizó un pequeño devanado secundario en el lado fijo para la retroalimentación, y el secundario giratorio se reguló lo suficientemente bien. Hubo una fuente de alimentación de conmutación adicional en la placa giratoria para recortar la pérdida de energía en la conducción de los LED RGB a la menor cantidad posible.

    
respondido por el Olin Lathrop
1

Medir la velocidad angular es exactamente lo que hace el giro. En el caso de su giro, la salida será de escala completa a una velocidad de 300 grados por segundo. Un acelerómetro lineal también podría medir la velocidad angular si se alinea hacia el eje de rotación desde la aceleración = \ $ r \ omega ^ 2 \ $, es decir, la velocidad angular \ $ \ omega = \ sqrt {\ frac {aceleración} {radio}} \ $ pero esto sería menos conveniente.

Para medir el desplazamiento angular, deberá integrar la velocidad angular a lo largo del tiempo y tendrá dificultades para obtener resultados precisos durante largos períodos de tiempo debido a la compensación & deriva.

    
respondido por el MikeJ-UK

Lea otras preguntas en las etiquetas