Controlando 64 motores paso a paso con arduino

0

He visto muchas publicaciones en este sitio para controlar el motor paso a paso con arduino. Y el arduino es bastante bueno si se le proporciona un buen escudo / conductor. Mi consulta es ¿Cómo se puede usar para controlar más de 2 motores paso a paso, es decir (motor paso a paso 64)? Parece ser un gran proyecto para mí. Cada motor se moverá a la misma velocidad pero no tendrá los mismos pasos. Más como MIT inForm

Por ahora solo estamos haciendo un prototipo. He adjuntado la estructura interna de o dispositivo. donde usaremos el modo paso a paso completo y solo 2 pines para controlar el motor paso a paso, ya que el resto de los 2 pines son solo el complemento de los primeros 2 pines

a  b  a' b'
1  0  0  1
1  1  0  0
0  1  1  0
0  0  1  1

nuestra teoría / lógica básica es que arduino generará 2 pulsos de cada motor, pasará de serie a convertidor paralelo y esto enviará aún más el pulso a PIC que generará el resto de los 2 pulsos y lo pasará al motor paso a paso. Cada pin en arduino generará pulso para motor paso a paso 4 es decir, 8 bits por pin. Estaré utilizando 28BYJ-48 paso a paso y ULN2003 con la configuración del motor paso a paso en una proporción de 64: 1 la cosa es a qué velocidad necesito enviar 128 bits (8 palabras) de datos desde arduino al registro de cambios. por lo que el motor debe funcionar a una velocidad decente Así que cualquiera puede ayudarnos a lograr esto y guiarnos con el proyecto. Todas las reseñas son bienvenidas.

    

1 respuesta

2

Pretendré un enfoque differnet que utilizaría si yo donde:

1- Use un controlador de motor paso a paso basado en SPI o I2C como NCV70521, L6470, DRV8811 o IC similares, esto le evitará escribir el software de conmutación para el motor paso a paso (si se necesitan micro pasos) Estos también funcionan en modo completo y medio paso.

2- Centrarse en el protocolo de comunicación:

a- si se elige SPI (más fácil, pero necesitará 64 pines (selección de chip), por supuesto que podría descodificar / demultiplexar e ICs lógicos similares para liberar el número de pines necesarios del microcontrolador.

b- si se elige I2C, entonces 2 pines del microcontrolador son suficientes para controlar todos estos motores (SDA y SCL) pero debe configurar una dirección diferente para cada controlador.

la ventaja de este modo es que la velocidad o los pasos se envían en serie como comandos. En su enfoque, es posible que tenga algunos problemas de velocidad, si desea cambiar los pines a alta velocidad, arduino digitalWrite podría no ser suficiente.

    
respondido por el ElectronS

Lea otras preguntas en las etiquetas