¿Se puede mejorar el movimiento de un motor a una resolución arbitraria?

5

Para un proyecto en el que estoy trabajando, necesito la rotación del motor en incrementos extremadamente pequeños; mi resolución deseada es de aproximadamente 0,15 grados por paso de rotación mínimo.

Por supuesto, la mayoría de los motores de costo razonable no ofrecen tanta precisión, por lo que estoy tratando de ver si puedo alcanzar mi objetivo mediante el movimiento de circuito cerrado con un motor de bajo costo.

Digamos que tengo acceso a los datos de salida de un codificador que puede medir la rotación a mi resolución requerida (es decir, a un ángulo incremental de 0.15 grados).

Entonces, mi pregunta: ¿es posible conectar un codificador de este tipo (sus datos formando un circuito de retroalimentación) a través de un microcontrolador a un motor, y obtener una resolución arbitraria deseada, o existen límites basados en la mecánica del motor para lograr una precisión alcanzable?

En términos de elección del motor para este método en particular:

  • Steppers: Supongo que los steppers no son una opción ya que están diseñados para moverse en pasos de cierto tamaño y, incluso con mi codificador de realimentación, no puedo dar instrucciones al stepper para que se detenga entre los pasos.

  • Motores de CC estándar: ¿Puedo usar los datos de mi codificador y luego hacer un bucle PID para mover el motor y la zona en la posición angular del objetivo cada vez? Supongo que el tiempo de establecimiento puede ser demasiado largo.

  • Servos: ¿Puedo agregar mi propio control de bucle cerrado usando mi codificador además de, o reemplazando el potenciómetro de un servo barato con baja resolución? De este modo, conseguir que se mueva / pise mi resolución mejorada objetivo. ¿O existen límites específicos de diseño en cuanto a la precisión con la que se puede mover un servo dado, que no puedo superar?

pregunta boardbite

5 respuestas

2

No mencionaste qué velocidad mínima y máxima se requiere. Supongo que no desea hacer ningún compromiso en ningún parámetro ;-)

Con el controlador paso a paso y microstepper puede lograr una resolución mejor que 0.15 grados. Pero ¿qué es la precisión? Probablemente esté mal porque hay no linealidad del motor y del microstepping y el par es bajo, el rango dinámico es bajo y los problemas adicionales vienen a una velocidad muy baja.

Puede organizarlo como control de bucle doble con el codificador de carga en el bucle externo. Debería mejorar la precisión. Digamos que el codificador de carga de 13 bits y 32 o 64 microstepping con motor paso a paso podrían satisfacer una precisión de 0,15.

La caja de engranajes le ayuda con el par y la resolución, pero también necesita un control de doble bucle y sin juego si desea cambiar de dirección. Hay un problema adicional si hay un resorte en la caja de engranajes. Si es así, entonces hay una fuerza en la salida que necesita bucle de control de alta frecuencia. Puede ser incluso imposible controlar el sistema cuando debes considerar esta fuerza. Caja de cambios tan cara o de vuelta al accionamiento directo.

Puede sustituir el motor paso a paso sin escobillas y el codificador con o sin caja de cambios y uno o dos codificadores. El rango dinámico y el precio suben. Torque ??? Para alta velocidad necesita un codificador / decodificador de gran ancho de banda. Y es muy difícil depurar dicha configuración en tiempo real, ya que casi no se pueden usar puntos de interrupción.

Generalmente, cuando se utilizan codificadores, deben satisfacer sus necesidades de precisión (y no solo la resolución).

EDITAR (ya que está prohibido comentar): Codificador AS5045 / 8: creo que debe tener en cuenta principalmente los parámetros INL no lineales en el rango de grados, lo que afecta la precisión (peor que 0,15 grados). También el retardo de propagación en el rango de 100 us limita la velocidad, 1RPS = 1/4096 = 244us por marca de posición.

    
respondido por el TMa
4

Es posible microstep motores paso a paso. Si obtiene los controladores correctos, pueden interpolar los pasos en una gran cantidad de subdivisiones. He visto controladores que pueden hacer 256 microsteps por paso. Con 1.4 grados por paso, una cifra bastante estándar, solo necesita ~ 10 microsteps por paso para obtener 0.15 grados por microstep. 8 microsteps le darían 0.175 grados por paso, y puede obtener chips de controlador de microstepping todo en uno de Allegro que pueden hacer hasta 8 microsteps por paso. Utilicé el Allegro 3977 hace unos años para un proyecto. 16 o 32 microsteps por paso le darían 0.0875 o 0.04375 grados por paso, lo que debería ser más que suficiente.

    
respondido por el alex.forencich
3

Una forma de hacer esto podría ser con una caja de cambios. Por ejemplo, si coloca una caja de cambios 10: 1 en la salida de este motor, entonces 10 revoluciones del motor le darán 1 revolución a la salida de la caja de cambios. De esa manera, si solo puede controlar la posición de su motor dentro de 1 grado, la salida de la caja de engranajes teóricamente podrá posicionarse dentro de 0.1 grados.

Lo digo teóricamente, sin embargo, porque las cajas de engranajes tienen juego de retroceso, que es un término para el juego entre los dientes del engranaje. Esto reduce la precisión de su eje de salida. Las cajas de engranajes industriales enumeran este contragolpe como una especificación, que puede tener en cuenta en su diseño. Sin embargo, la mayoría de las cajas de engranajes de aficionados que he visto no especifican la reacción, por lo que es posible que tenga problemas para encontrar una caja de cambios económica con una respuesta lo suficientemente pequeña para su aplicación.

Cuando se especifica, el retroceso se enumera como la cantidad de variabilidad en el eje de salida. Por ejemplo, una caja de engranajes 10: 1 con un servo industrial tiene una reacción de salida de 5 minutos de arco, o 0.083 grados.

    
respondido por el Ben Miller
1

¿Has visto un ratón?
No el animal, el punto & haga clic en uno. Específicamente, el estilo más antiguo con una pelota.

La bola está apoyada contra una barra rodante, que sostiene una gran rueda. La rueda tiene ranuras alrededor del borde exterior, y la configuración óptica detecta (cuenta) los orificios a medida que pasan.

Para su configuración, la "bola" se convertiría en un pequeño motor eléctrico. Como lo mencionaron otros, esta configuración adolece de "retroceso": esto se supera, hasta cierto punto, al tener la configuración de codificación óptica en la rueda final, que podría tener un diámetro realmente grande (dándole la resolución que desea).

¿Problemas? Dependiendo del tamaño y amp; peso de esta configuración, es posible que haya reemplazado "holgura" por "inercia" ... corte la energía al motor, una rueda grande y pesada puede demorar un poco en detenerse. Incluso puede sobrepasar el objetivo, lo que significa que tiene que invertir el motor y retroceder un poco.
Este es un oscilador amortiguado . Cuanto más estrictos sean sus requisitos de resolución, más probabilidades habrá de que el sistema detecte un error de posición, lo que provocará "correcciones" constantes.

    
respondido por el Alan Campbell
1

Los requisitos son:

  • precisión de posicionamiento de 0.15 grados
  • carga significativa
  • disponible / barato

Algunas cosas a considerar:

  • Debe obtener la información de posición lo más cerca posible de la carga, para compensar la deformación torsional y otras imperfecciones.
  • Una alternativa sugerida sería un motor de baja velocidad, alto polo BLDC o similar si no vas por un paso a paso.
  • La resolución del codificador también es importante.
  • Necesitará el control de bucle cerrado en cualquier caso.

Veamos las posibilidades:

Consigue un motor / sistema realmente bueno

Si calcula el tiempo que dedica a las soluciones alternativas (quizás no esté funcionando), tal vez sea más inteligente intentar encontrar fondos para un sistema apropiado. Tal vez ni siquiera sea tan caro.

Caja de engranajes mecánica

Como mencionó Ben Miller, las cajas de engranajes podrían hacer el truco. Lo que sugeriría es usar una caja de engranajes de alta relación que sea de alta calidad. Mira los precios / hojas de datos, tal vez encuentres algo.

Primavera

Es un proceso de muy alta precisión, así que ¿por qué no mirar la relojería? Mira esta figura de Wikipedia: ressort spiral . Si enrolla un resorte como este en algún punto del eje, puede ajustar la posición precisamente haciendo pequeños movimientos del otro extremo del resorte. Esta sería una herramienta complementaria, para la compensación de carga y el ajuste fino. Todavía necesitarás un paso a paso (o algo más) para el posicionamiento inicial, supongo. Probablemente sería más adecuado para procesos en los que no necesita cambios dinámicos de posición. Por supuesto, hay problemas con él, pero quizás puedas sacar algo de él.

Actuador / motor pequeño + palanca

Si tiene espacio, puede usar una varilla rígida muy larga para crear un \ $ dx / d \ phi \ $ más alto. Eso significa que se obtienen cambios de ángulo muy pequeños para movimientos (comparativamente) grandes (casi lineales) del extremo de la barra. Por lo que prácticamente necesita agregar esta barra larga en el eje y colocar un pequeño motor en su extremo. La flexión de la varilla probablemente será significativa, pero creo que un circuito de control puede ayudar. Prácticamente lo construyes sobre la relación: \ $ \ phi = \ arcsin (x / r) \ $ (para x pequeña). Podría desacoplar la palanca cuando realice cambios de ángulo grandes.

    
respondido por el WalyKu

Lea otras preguntas en las etiquetas