Soy un novato y trato de entender cómo puedo ejecutar un motor paso a paso. El concepto que tenía en mente era que los steppers necesitan pulsos digitales para funcionar, y también lo probé. Pude ejecutar el stepper que estoy usando muy fácilmente. Pero últimamente me encontré con un enlace donde usaron una rampa para comenzar un paso a paso justificándolo diciendo que
"Si tratamos de arrancar el motor paso a paso con pulsos rápidos, entonces simplemente se sienta allí y zumba sin girar, necesitamos arrancar el paso a paso lentamente y aumentar gradualmente la velocidad de los pasos". Fuente: http://www.societyofrobots.com/member_tutorials/book/export/html/314
Mi pregunta es ¿por qué el stepper luego comienza con pulsos cuadrados regulares? ¿Por qué necesitamos una rampa? Todos los demás foros y tutoriales siempre hablan de proporcionar pulsos digitales al paso a paso para iniciarlo, ¿por qué el concepto de generación de rampas no se discute allí? ¿Es una mala práctica correr paso a paso con pulsos digitales?
fuente
Respuestas:
Cuando el controlador pisa el motor, el rotor tiene que moverse lo suficiente (ángulo) para que cuando se energice la siguiente bobina (o par de bobinas) tirará del rotor en la dirección correcta. Si el rotor no se ha movido a través de un ángulo suficiente, entonces las bobinas tirarán del rotor hacia atrás y el motor simplemente se sentará allí y zumbará. Puede encontrar muchas ilustraciones y animaciones en línea que explican cómo funciona la operación normal; imagine si el rotor solo se moviera una fracción de la cantidad prevista.
El rotor, el eje y todo lo que está conectado al eje tienen inercia y hay fricción de varios tipos.
La velocidad máxima que el motor paso a paso puede girar el eje está relacionada con el par disponible del motor y el par requerido para girar el eje (el par disponible cae a medida que aumentan las RPM, y el par requerido generalmente aumenta a medida que aumentan las RPM). Eso no está directamente relacionado con la inercia.
Para llegar al máximo (o una fracción del mismo) solo puede acelerar las RPM tan rápido sin perder los pasos. La aceleración máxima está relacionada con la inercia y el exceso de par disponible a una RPM dada. Si el motor está haciendo todo lo posible para mantenerse al día con las RPM actuales, entonces ya no puede acelerar. Si las RPM son lo suficientemente bajas, no necesita aumentarlo, simplemente puede decirle que suba, pero eso generalmente será solo una fracción de las RPM que el motor es capaz de hacer. A menudo, las rampas lineales se usan por simplicidad, pero una curva más convexa sería óptima.
Aquí hay una curva de par motor de Oriental Motor (un importante fabricante japonés):
Para predecir la tasa máxima de aceleración, necesita conocer el par y el momento de inercia de la masa . Si excede la velocidad máxima de aceleración en una carga dada, el motor perderá pasos, por lo que una buena idea es un margen de seguridad razonable.
fuente
Parece que la descripción que ha leído está hablando de aumentar la velocidad , en otras palabras, la frecuencia de los pasos. Los pulsos para cada paso siguen siendo cuadrados.
La razón es que un motor paso a paso solo puede generar tanto torque. Cuando superamos este par máximo, el motor pierde pasos.
Además, la aceleración del motor requiere torque por la segunda ley de movimiento de Newton : la fuerza es igual a la masa por la aceleración:
Para un sistema rotativo, los términos cambian un poco, pero en su mayoría son análogos: el par es igual al momento de inercia multiplicado por la aceleración angular:
La consecuencia es que acelerar instantáneamente el motor requeriría un par infinito que no es posible. Por lo tanto, debemos limitar la aceleración, es decir, "acelerar" la velocidad, para limitar el par requerido a algo que el motor pueda generar sin fallar pasos.
fuente
Dos años después ... quería agregar algunos detalles sobre la velocidad típica frente a vibración / ruido para cualquier motor paso a paso.
Al pisar muy lentamente, como uno por segundo, el eje se moverá a la nueva ubicación y se sobrepasará y luego se disparará muchas veces hasta que se estabilice en ese paso. El proceso se repite en cada nuevo paso.
La tensión / corriente eléctrica debe ser suficiente para la carga y el tamaño del motor debe seleccionarse para que coincida con el par requerido.
Una vez que el motor no necesita moverse, el voltaje / corriente se puede reducir en aproximadamente 50% a 75% para mantener esa posición. En casos donde la fricción es dominante, o usando algún tipo de engranaje, el motor puede ser desenergizado por completo. Esto es similar a los relés que necesitan, por ejemplo, 12 voltios para activarse, pero luego mantienen fácilmente el contacto activado con solo 9 voltios.
Al aumentar la velocidad a aproximadamente 20 por segundo, la vibración / ruido alcanza el máximo. Esta es una velocidad que la mayoría de los ingenieros intentará evitar.
A medida que aumenta la velocidad, la vibración / ruido disminuye, por el par también cae. Si traza el ruido frente a la frecuencia, la forma mostrará una dirección clara hacia abajo con algunos máximos locales, a menudo en frecuencia armónica.
Supongamos que un valor típico por encima de 100 pasos por segundo, la vibración es lo suficientemente baja como para ser tolerable y digamos que el par se vuelve demasiado débil para una operación confiable por encima de 500 hertzios.
Puede iniciar un motor paso a paso utilizando cualquiera de estas frecuencias de inmediato, sin aumentar la velocidad de 100 Hz a 500 Hz. Del mismo modo, puede detener abruptamente los pasos, sin importar la frecuencia. La corriente de retención es suficiente para bloquear el motor en ese paso.
La rampa es necesaria cuando desea superar la frecuencia máxima. Dado el número "típico" anterior, puede encontrar que su motor todavía tiene suficiente torque, cuando se acelera suavemente, para trabajar de 500 Hz a 700 Hz. El truco para una operación confiable es comenzar la rampa en algún lugar como 400 Hz, luego dejar que aumente hasta 700 Hz. Manténgalo a esa velocidad hasta acercarse a la posición objetivo.
Luego, desacelere suavemente de 700 Hz a 450 Hz. Si la posición objetivo aún no se alcanza, mantenga el motor a esa velocidad. Luego, desde 450 Hz, puede detenerse. Mantenga el motor energizado a la corriente / voltaje máximo durante 0.1 segundos a 1 segundo para asegurarse de que se disipe toda la fuente de vibración.
La rampa lineal es más fácil de crear. Pero lo óptimo es la forma de "S". Comienza en la frecuencia segura, aumenta lentamente al principio y cambia la velocidad de aumentar la velocidad exponencialmente hasta alcanzar el máximo.
Cuando es hora de desacelerar, se aplica el mismo algoritmo, disminuyendo la velocidad lentamente y cambiando exponencialmente la velocidad de disminución, deje de disminuir la velocidad al alcanzar la velocidad segura, lo que permite detener el motor abruptamente.
El código real que hacía todo eso, usando un microcontrolador motorola 68HC05, tomaba alrededor de 500 bytes (la EPROM interna era de 8K en total y la RAM era de 128 bytes). Fue escrito en ensamblador.
Si tiene el hardware para micropaso, puede ignorar toda la mención sobre ruido y vibración. Aún necesita una aceleración en forma de "S" si desea superar la velocidad máxima habitual. Pero como no hay vibración sin importar la velocidad, puede dejar que la desaceleración baje lo que desee.
Las lecciones aprendidas de la unidad de onda cuadrada todavía se mantienen. Es decir, para la forma más eficiente de llegar al destino, desea que la desaceleración se asiente a la frecuencia justo debajo del punto donde el par motor es suficiente para una parada y arranque abruptos.
fuente