¿Cómo detectar cuando un motor paso a paso se ha detenido?

12

¿Cómo puedo detectar cuando un motor paso a paso se ha detenido?

Una búsqueda en Google me llevó a algunas personas que dicen que cuando el motor paso a paso se detiene, la corriente aumenta, lo cual es fácilmente detectable con un sensor Hall. (O, supongo, por cualquiera de los otros sensores de corriente mencionados en "¿Cómo puedo detectar la corriente del motor?" ).

Sin embargo, medí la corriente a través de (uno de los 4 cables de) mi motor paso a paso, y siempre está dentro de un pequeño porcentaje de 0.5 A, ya sea que mi controlador paso a paso mantenga una posición, moviéndola normalmente (lo que en mi aplicación es muy lento ), o el conductor paso a paso piensa que le está diciendo al paso a paso que se mueva normalmente, pero el motor se ha vinculado al límite rígido. La medición de la corriente en la fuente de alimentación de +12 V que va al controlador del motor paso a paso también pareció proporcionar una corriente bastante constante. Esto puede deberse a que rechacé el límite actual a esa cantidad en mi controlador de motor paso a paso "chopper".

¿Me estoy perdiendo algún detalle clave en el enfoque "medir la corriente"?

Una búsqueda en Google me llevó a otras personas que miden el EMF de respaldo (BEMF) en una bobina del motor paso a paso durante el tiempo en que el conductor paso a paso solo conduce la otra bobina. Pero eso solo parece distinguir entre "un motor que se mueve rápidamente" y "un motor parado", y no parece distinguir entre mi caso de "un motor que se mueve lentamente" frente a "un motor parado".

¿Hay alguna forma de aplicar el enfoque BEMF incluso en un sistema en el que siempre conduzco el paso a paso lentamente y nunca lo giro rápidamente?

Actualmente estoy usando una placa de controlador paso a paso con el chip TI DRV8825, y esperaba que el pin de "falla" me dijera cuando el motor paso a paso se detuvo contra mi parada dura. Pero no parece estar haciendo nada, ¿se supone que debe informarme sobre un puesto, pero solo tengo un cableado incorrecto?

¿Existe alguna otra técnica de chip o unidad que detecte cuando el paso a paso se ha detenido contra la parada dura?

¿Existe alguna otra técnica para detectar un bloqueo duro que pueda "agregar" a un sistema utilizando un controlador de motor paso a paso estándar?

(¿Existe algún otro sitio de StackExchange que sea más apropiado para preguntas sobre motores y controladores de motor?)

David Cary
fuente
Relacionado: robotics.stackexchange.com/questions/865/…
Anonymous Penguin
la detección de corriente a través de una resistencia de derivación alimentada a un amplificador operacional a un controlador PID simple al adc podría funcionar ...
¿Eh? ¿Cómo me ayuda eso a detectar cuando un motor paso a paso se ha detenido? Como mencioné en la pregunta original, "Medí la corriente ... y siempre está dentro de un pequeño porcentaje de 0.5 A, ya sea que mi controlador paso a paso ... lo mueva normalmente (que en mi aplicación es muy lento), o el el conductor paso a paso cree que le está diciendo al paso a paso que se mueva normalmente, pero el motor se ha ajustado al límite ".
David Cary
Esto no proporciona una respuesta a la pregunta. Para criticar o solicitar una aclaración de un autor, deje un comentario debajo de su publicación; siempre puede comentar sus propias publicaciones, y una vez que tenga la reputación suficiente , podrá comentar cualquier publicación .
Shahbaz
Fui buscado esto también. Creo que es la mejor manera posible de usar el codificador de retroalimentación que compara el ángulo de paso y el número de paso con el pulso de entrada

Respuestas:

6

Una opción es un controlador de motor paso a paso que utiliza un sistema de bloqueo sin sensor, como el STMicroelectronics L6470 dSPIN: controlador de motor de micropasos totalmente integrado con motor de movimiento y SPI .

Una vez calibrado, puede detectar una condición de bloqueo y elevar el pin de la BANDERA en alto para alertar al uC del problema.

Mark Booth
fuente
3
Bienvenido a robótica kurtnelle, y gracias por tu respuesta. Lo he editado para proporcionar un poco más de contexto y proporcionar suficiente información del enlace para que las personas puedan encontrar la información en otro lugar si el enlace se pudre .
Mark Booth
Descubrí que la detección de pérdida de L6470 es muy difícil de calibrar. Mi proceso ha sido encontrar los kval mínimos requeridos para una operación confiable y normal (ignorando el umbral de pérdida). Luego, subo el umbral de bloqueo hasta que deja de informar errores de bloqueo. Luego lo aumento un poco más para la altura libre. Pero muchas veces, todavía no detecta una condición de pérdida ... ¿tiene alguna sugerencia?
Dave
4

¡Encontré que la FFT de la forma de onda actual del stepper a menudo muestra los armónicos de frecuencia natural del sistema motor + controlador Y que durante una parada aparecen armónicos de frecuencia adicionales! todo lo que necesita es un IC de conversión de corriente a voltaje bidireccional rápido y un filtro de paso de banda estrecha para detectar si están presentes los armónicos adicionales.

Max Witter
fuente
2

Desafortunadamente, como has descubierto, es difícil saber si un motor paso a paso está estancado porque la corriente a través de las bobinas de un motor paso a paso es aproximadamente la misma si está estancado (no puede pisar), mantener la posición o pisar normalmente .

Definitivamente podría detectar un bloqueo con facilidad si agrega un codificador o utiliza un motor paso a paso que ya tenía uno.

¿Por qué quieres detectar la parada del motor paso a paso? A diferencia de un motor de CC cepillado, detener un motor paso a paso no suele ser malo para él. ¿Podría lograr el mismo propósito con un interruptor de límite?

ryantm
fuente
2
La detección de pérdida es importante para detectar pasos perdidos especialmente. en fresado CNC donde las tolerancias de las piezas son críticas.
Publicación anterior, pero la detección de paradas también es importante si está manejando un solo eje (en una máquina CNC, por ejemplo) con dos motores. De lo contrario, eres un buen pórtico cuadrado, cuidadosamente diseñado y, sin duda, costoso que puede romperse en pedazos.
3Dave
2

Si desea detectar pasos perdidos, quiere un codificador. Afortunadamente, existen codificadores magnéticos y ópticos que le brindan fácilmente 4096 pasos por revolución, por lo que incluso un motor paso a paso de micropaso se medirá con al menos un paso por paso.

Tenga en cuenta que algunos molinos CNC pueden no detectar necesariamente los pasos perdidos; depende del operador no programar una trayectoria de herramienta que sea demasiado difícil para el husillo y la herramienta, y escuchar el problema cuando ocurre. En cambio, esos CNC solo usan interruptores de límite final para encontrar el hogar absoluto, y luego funcionan completamente asumiendo que se toman medidas.

Los codificadores pueden permitirle experimentar también con otras características, como usar un motor de CC de asistencia para movimientos no comprometidos para rápidos realmente rápidos :-)

Jon Watte
fuente
2

Debe cuantificar: "Medí la corriente a través de (uno de los 4 cables de) mi motor paso a paso, y siempre está dentro de un pequeño porcentaje de 0.5 A". Un 'pequeño porcentaje' puede ser todo lo que necesita para detectar un poco de corriente adicional durante la parada (si hay corriente adicional como también supongo, pero necesitaría probar), que puede detectarse y compararse con la corriente de paso normal. En algunos casos, 40 uA es mayor y en algunos casos 4 mA es la diferencia principal. Sin sus parámetros de medición, es imposible aconsejarle realmente.

Entonces, ¿cuál es exactamente la corriente para un paso versus pérdida, y la diferencia es consistente? También mediría todos los cables ... ¿Está utilizando un correcto unipolar? Utilicé steppers pero nunca me molesté en medir la corriente, ya que los steppers que utilicé coincidieron con los requisitos de carga y nunca se detuvieron. Entonces, una respuesta rápida es solo para obtener un paso más grande.

Wolly
fuente