¿Cuál es la clara diferencia entre motores paso a paso, CC y servomotores para usarlos con Raspberry Pi?


Respuesta 1:

Por "servomotor" se refiere a servo CC o servo CA. El término generalmente significaba DC cuando estaba allí, pero supongo que se refería a servo AC.

Primero, paso a paso. Por lo general, desean que el controlador invierta la polaridad en sus cables para moverse 1 paso, por lo que el controlador simplemente necesita calcular el número de pasos necesarios para alcanzar la posición objetivo y enviar tantos pulsos al motor o amplificadores en la secuencia correcta para la dirección de Rotación que quieras. Hay 4 devanados y 5 cables, uno común y A, B, C, D devanados. Para avanzar, A y B obtienen potencia, C y D ninguno, luego B y C potencia, los otros 2 ninguno. Entonces C y D potencia, los otros 2 ninguno. Luego D y A potencia, los otros 2 ninguno. {Continuar desde el inicio}. Para retroceder, A y D obtienen potencia, los otros 2 ninguno. Luego D y C, C y B, B y A, etc. El controlador debe realizar un seguimiento de dónde se quedó y calcular su primer paso como el lógico desde allí para la dirección requerida. El poder del último paso del movimiento anterior debe mantenerse hasta el siguiente movimiento, como una especie de freno. El controlador debe hacer una frecuencia de pulso en rampa como aceleración y desaceleración dependiendo del momento de carga. También debe proporcionar un reinicio del sistema, generalmente ejecutando el sistema de nuevo a una posición cero preestablecida y poniendo a cero el contador de pulsos. También debe proporcionar una entrada digital que dé permiso para restablecer, por ejemplo, todas las herramientas se han retirado de forma segura, etc. Y una salida digital que solicita permiso para restablecer cuando sea necesario, y posiblemente algunas retroalimentaciones del operador.

Los servos de CC normalmente tendrán un codificador de eje de cuadratura de precisión que el controlador monitorea para obtener información de posición. El codificador envía pulsos en 4 cables en una secuencia similar a la secuencia de control de un paso a paso, ver arriba. El controlador cuenta impulsos en cada dirección para determinar la posición, manteniendo un recuento de impulsos + - en funcionamiento para determinar la posición actual. El motor es normalmente un motor de derivación donde la corriente de campo baja se controla a través de un par de amplificadores, hacia adelante o hacia atrás, y con un contactor operado por el controlador para suministrar corriente de armadura, y a menudo un segundo contactor que opera un freno mecánico. Los sistemas realmente sofisticados también pueden usar un amplificador analógico (¿generador controlado?) Para controlar la corriente del inducido del motor. Su controlador necesita leer el codificador, almacenar los datos de la posición actual y calcular las acciones requeridas, conducir la armadura y los relés de freno, y proporcionar señales analógicas a los amplificadores de campo hacia adelante y hacia atrás y posiblemente al amplificador de armadura del motor según sea necesario, teniendo en cuenta velocidades de aceleración / desaceleración permitidas, una lógica de reinicio en el codificador, etc.

Los servos de CA son muy similares a los de CC, pero tienen requisitos de control de motor más simples, normalmente un enlace de datos digitales que le indica al motor qué dirección, velocidad, velocidad de aceleración y tal vez se requiere el freno / retención de CC. Los formatos de datos y los comandos estarán disponibles en la documentación del motor.


Respuesta 2:

Un motor de CC no tiene conocimiento de la posición o control preciso, lo conecta y simplemente gira.

Un motor paso a paso no tiene conocimiento de la posición, pero puede controlarlo con precisión haciendo que se mueva un pequeño paso cada vez que aplica energía al devanado.

Un servomotor (que no debe confundirse con un servo de hobby), tiene conocimiento de su posición (a través de un codificador) y, como resultado, puede controlarse con precisión.

Aquí hay un poco más de detalle en cada ...

Un motor de CC simple gira automáticamente tan pronto como se conecta a la alimentación. La velocidad y el par de los que es capaz dependerán del voltaje y la corriente de la potencia suministrada, así como del motor en sí mismo, y no hay nada que indique la posición del motor. En general, está "encendido" tan pronto como lo conecta suministrando energía (y girando a una velocidad fija, a menos que esté pulsando su energía), o está desconectado y, por lo tanto, apagado.

Un motor paso a paso ofrece un medio preciso para controlar la posición del motor, pero el motor en sí no tiene una forma de medir esa posición. Por lo tanto, cuando aplica y libera energía a un devanado (generalmente tiene varios cables que permiten una potencia separada para cada devanado), rotará en un pequeño incremento de unos pocos grados. Piense en ello como cerrar los ojos y decirle a alguien que camine un paso. En promedio, usted sabe cuán lejos está un escalón, pero no sabe que realmente lo caminaron porque tal vez intentaron dar un paso y tropezaron o se estrellaron contra una pared, simplemente no saben si tuvieron éxito o no ( no hay comentarios sobre la posición). Podría llamarlo control de "bucle abierto", ya que no recibe comentarios sobre lo que sucedió. Así que es como un motor paso a paso, cuando aplicas brevemente la potencia a un devanado, hace un esfuerzo para girar, pero no estás seguro de que realmente haya sucedido (tal vez la carga era demasiado grande o tu sincronización era demasiado rápida, o no lo hiciste) t suministrar suficiente energía).

El servomotor se parece mucho a su motor de CC, excepto que tiene información muy precisa sobre su posición que lo hace fácil de controlar. De hecho, para convertir un motor de CC en un servomotor, simplemente coloca un codificador en el eje y ahora tiene información precisa sobre la posición del eje que facilita el control de la velocidad y la dirección (a través de PWM). Los codificadores pueden ser muy precisos (en una fracción de grado), por lo que esto es lo que le permite enviar señales de control que posicionan y mueven el motor de la forma que desee. Este es un control de "circuito cerrado" porque siempre está recibiendo comentarios sobre el impacto de sus controles.

Por lo tanto, cualquiera de estos motores podría ser controlado por una Raspberry Pi. En general, cualquiera de estas tres opciones usará más potencia / corriente de la que su Raspberry Pi emitirá directamente, por lo que puede usar su Pi para generar las señales de control y luego amplificar la potencia enviada a su motor (generalmente con un controlador de motor ya que es lo más simple). Pero en algunos casos puede controlar su motor haciendo que sus relés de control Pi o Transistores / Mosfets realicen la conmutación requerida ("puente H" de Google) y también controlen los valores de un codificador si tiene uno.


Respuesta 3:

Un motor de CC no tiene conocimiento de la posición o control preciso, lo conecta y simplemente gira.

Un motor paso a paso no tiene conocimiento de la posición, pero puede controlarlo con precisión haciendo que se mueva un pequeño paso cada vez que aplica energía al devanado.

Un servomotor (que no debe confundirse con un servo de hobby), tiene conocimiento de su posición (a través de un codificador) y, como resultado, puede controlarse con precisión.

Aquí hay un poco más de detalle en cada ...

Un motor de CC simple gira automáticamente tan pronto como se conecta a la alimentación. La velocidad y el par de los que es capaz dependerán del voltaje y la corriente de la potencia suministrada, así como del motor en sí mismo, y no hay nada que indique la posición del motor. En general, está "encendido" tan pronto como lo conecta suministrando energía (y girando a una velocidad fija, a menos que esté pulsando su energía), o está desconectado y, por lo tanto, apagado.

Un motor paso a paso ofrece un medio preciso para controlar la posición del motor, pero el motor en sí no tiene una forma de medir esa posición. Por lo tanto, cuando aplica y libera energía a un devanado (generalmente tiene varios cables que permiten una potencia separada para cada devanado), rotará en un pequeño incremento de unos pocos grados. Piense en ello como cerrar los ojos y decirle a alguien que camine un paso. En promedio, usted sabe cuán lejos está un escalón, pero no sabe que realmente lo caminaron porque tal vez intentaron dar un paso y tropezaron o se estrellaron contra una pared, simplemente no saben si tuvieron éxito o no ( no hay comentarios sobre la posición). Podría llamarlo control de "bucle abierto", ya que no recibe comentarios sobre lo que sucedió. Así que es como un motor paso a paso, cuando aplicas brevemente la potencia a un devanado, hace un esfuerzo para girar, pero no estás seguro de que realmente haya sucedido (tal vez la carga era demasiado grande o tu sincronización era demasiado rápida, o no lo hiciste) t suministrar suficiente energía).

El servomotor se parece mucho a su motor de CC, excepto que tiene información muy precisa sobre su posición que lo hace fácil de controlar. De hecho, para convertir un motor de CC en un servomotor, simplemente coloca un codificador en el eje y ahora tiene información precisa sobre la posición del eje que facilita el control de la velocidad y la dirección (a través de PWM). Los codificadores pueden ser muy precisos (en una fracción de grado), por lo que esto es lo que le permite enviar señales de control que posicionan y mueven el motor de la forma que desee. Este es un control de "circuito cerrado" porque siempre está recibiendo comentarios sobre el impacto de sus controles.

Por lo tanto, cualquiera de estos motores podría ser controlado por una Raspberry Pi. En general, cualquiera de estas tres opciones usará más potencia / corriente de la que su Raspberry Pi emitirá directamente, por lo que puede usar su Pi para generar las señales de control y luego amplificar la potencia enviada a su motor (generalmente con un controlador de motor ya que es lo más simple). Pero en algunos casos puede controlar su motor haciendo que sus relés de control Pi o Transistores / Mosfets realicen la conmutación requerida ("puente H" de Google) y también controlen los valores de un codificador si tiene uno.