El motor paso a paso no girará una vez cargado

0

No puedo conseguir que un motor paso a paso gire una carga que debería tener el par suficiente para girar. La carga es una tabla de 3 ’x 3’ x 2 ”, con el motor paso a paso centrado debajo. Tengo un cojinete de empuje 51204 entre el motor y la mesa para reducir la fricción tanto como sea posible. La mesa puede girarse con un ligero toque, y cuando se pone en movimiento, continúa deslizándose por un tiempo antes de detenerse. Tuve un simple buje de brida mecanizado que conecta el eje del motor a la mesa. El eje del motor se asegura con un tornillo de fijación.

Estoy usando una fuente de alimentación de CC de 5V 1A. Utilicé el código y el circuito del ejemplo de MotorKnob en el sitio web de arduino. Obtuve un puente doble en H de Texas Instruments SN754410NE según las instrucciones, ya que mi motor es bipolar. Modifiqué el circuito para que realmente funcione (agregué un cable que conecta los dos rieles externos de + 5V de la placa de pruebas) y conseguí que el motor girara bien por sí solo y con el buje de la brida conectado. Todo parecía estar bien.

Sin embargo, cuando armo la tabla, no se comporta como se esperaba. He jugado con la función setSpeed: a 10 RPM o menos casi no pasa nada, a 30-40 RPM comienza a girar muy ligeramente, luego se detiene, luego, cuando el motor se detiene, se reposiciona y mueve la mesa. Por encima de 60 rpm se produce muy poco movimiento. He intentado agregar más pasos (el motor es de 1.8 grados, por lo que 200 pasos), pero eso tiene poco efecto. También intenté configurarlo en el paso uno a la vez, con un retraso entre los pasos individuales, pero esto a veces funcionaba y otras no. el motor hace que la carga se mueva, pero luego la carga continúa moviéndose, a veces hacia adelante, a veces como si el motor estuviera tratando de mantener la posición. Cuando llega el momento del siguiente paso, a menudo la carga ya está girando, lo que me pregunto si está causando que se pierda pasos. Este motor paso a paso puede, en teoría, generar 490mNm, lo que debería ser más que suficiente para girar esta tabla (peso estimado de 30 libras), pero hasta ahora no he podido hacer que funcione con la biblioteca estándar stepper.h. Mi objetivo es poder, finalmente, girar ~ 500 lbs en la mesa, y mi matemática sugirió que este motor debería producir un par de torsión suficiente para rotar ese peso 180 grados en ~ 30 segundos (incluso para permitir la fricción del rodamiento). ¿Alguna sugerencia / consejo / comentario?

Motor paso a paso: Trinamic Motion Control GmbH QSH4218-51-10-049 enlace

Circuito & código desde aquí: enlace

Estaba leyendo acerca de cómo si el perfil de voltaje para el stepper no está correctamente alineado para el motor en particular, puede girar débilmente (o no hacerlo). ¿Podría ser eso lo que está pasando aquí?

Tengo un tablero de controladores A4988 ahora, intentaré usarlo mañana, pero tengo la sensación de que mis problemas están en la sincronización del control del motor.

Y por último, si tuvieras que diseñar un sistema para rotar una mesa como esta, ¿irías con un motor paso a paso? la rotación solo debe ser de 90 grados una vez cada 24 hrs.

Gracias de antemano!

    
pregunta scott

2 respuestas

9

Vaca santa. Esa es una carga real para un motor pequeño como el tuyo. El problema no es el peso, sino el momento de inercia. Si vas a hacer esto, necesitas averiguar cómo calcularlo.

Primero, momento de inercia. Para un disco de masa M y radio R, $$ I_z = \ frac {MR ^ 2} {2} = \ frac {(13.6 \ text {kg}) ({. 43 \ text {m}) ^ 2}} {2} = 1.3 $$ Dado que el par nominal T del paso a paso es .49 Nm, y 1 / 200o de una revolución es $$ \ Theta = \ frac {2 \ pi} {200} = .0314 \ text {radians } $$ el tiempo nominal para un paso (comenzando desde el reposo) es $$ t = \ sqrt {\ frac {2 \ alpha} {\ Theta}} = \ sqrt {\ frac {2T} {\ Theta I_z}} = \ sqrt {\ frac {2 \ times .49} {. 0314 \ times 1.3}} = 4.9 \ text {segundos} $$ Entonces su problema es que está tratando de avanzar demasiado rápido. Incluso el escalonamiento manual, como ha descubierto, no es confiable. Su mesa no es terriblemente masiva, aunque 30 libras es más de lo que cree, es el gran radio el que le causa problemas.

Para esta aplicación, recomendaría un paso a paso mucho más robusto o un mecanismo de reducción para aumentar el torque en la mesa. Intente colocar un cojinete simple en el eje, y use el paso a paso para mover el borde de la mesa (supongo que es una mesa circular) usando algo como una rueda de goma de 1 "de diámetro; cuanto más pequeña, mejor. Esto le dará una Aumento de 30 veces en el torque, con un tiempo de inicio del paso del orden de 1 paso por segundo. Podrá aumentar la velocidad a medida que la mesa gira más rápido, por lo que su tiempo total será inferior a 200 segundos para una revolución Pero también ten en cuenta que necesitarás un perfil de desaceleración que coincida con el perfil de aceleración. El paso a paso tendrá exactamente los mismos problemas al detener la tabla que tenía al iniciarla.

EDITAR - Oh, sí, y tu carga final no te ayudará. Si se aproxima en absoluto a un cilindro del diámetro de la mesa, ya que la masa final es aproximadamente 16 veces la masa de la mesa, su tiempo de paso deberá aumentar en un factor de 4.

    
respondido por el WhatRoughBeast
0

Necesita obtener un controlador inteligente que pueda manejar la aceleración y la desaceleración. Esto le permitirá poner energía en el sistema y sacarlo del sistema, ya que puede hacerlo en lugar de intentarlo todo de una vez.

Si eres muy elegante con tus habilidades de programación de microcontroladores, puedes hacerlo de la manera más difícil, pero un controlador inteligente te ayudará a comenzar más rápidamente.

Aquí hay una placa de Sparkfun que usa el L6470 de ST. Es bastante bueno. Hay otros por ahí también.

El único problema es que necesitarías aumentar un poco el voltaje de suministro.

    
respondido por el Daniel

Lea otras preguntas en las etiquetas