Hola de nuevo y muchas gracias por la explicación (y todo el tiempo que nos dedicas....).
Tengo las gráficas desde hace tiempo de como se generan las señales de seno-coseno, hasta ahi todo bien (ya he realizado un par de controladoras antes con PIC´s pero sin micropasos), lo que no entiendo es a la hora del cambio de modo automático que tu has programado en base a la velocidad del motor:
Si por cada pulso desde el ordenador generas un micropaso en el motor (de acuerdo a la configuracion de los jumpers), a la hora de configurar el programa (Mach por ejemplo) tienes que indicarle estos valores, es decir los pulsos que necesita para mover el eje 1milimetro. Hasta aqui todo bien, yo envio 9 pulsos y el motor da 9 micropasos, invierto el sentido y lo mismo.
Pero que pasa cuando aumento la velocidad por encima de 5rps:
- El motor ya no funciona en micropasos y si envio un pulso desde el programa, el motor ya no avanza lo mismo que antes. Además, que pasaria si el motor se detiene en un punto intermedio.
Por lo que yo entiendo la unica forma de resolver esto seria que a cada pulso en la entrada, el motor avance 90 grados (de los 360 del paso completo) independientemente de como lo haga (en micropasos o de forma instantánea) y que el microcontrolador genere la secuencia necesaria para dar esos 90 grados. De lo contrario, si yo tenia configurado modo 1/10 en el MACh y para mover 1mm enviaba 10 pulsos, a alta velocidad con los mismos 10 pulsos se moverá 10mm (no sé si me explico).
Otra forma sería que hasta que recibe 10 pulsos a la entrada no hace nada y al recibir el décimo da el paso, pero esto no nos vale.....


Todo esto te lo planteo porque estoy diseñando una controladora basada en el A3986 y quiero instalar un microcontrolador con funciones auxiliares (cambio de modo, baja potencia tras un tiempo, etc...).
Tambien estoy planteando la posibilidad de "traducir" vuestro código a C y utilizarlo en un PIC (es una arquitectura que ya conozco) pensando en realizar una controladora de este tipo para motores bipolares.
Gracias de antemano, maestro....