Giacco;

Creo que conteste tu pregunta en el post anterior, pero aqui va una explicacion mas detallada.

El programa del PC convierte la secuencia de comandos en codigo G en una secuencia de pulsos (Step y Direccion) adecuados para manejar cada eje, de forma que tu maquina se mueva sincronizadamente a las posiciones adecuadas.

La funcion de la tarjeta controladora es aceptar esa secuencia de pulsos (Step y Direccion) y convertirlas en la secuencia correcta de corrientes por los enrollados de tus motores. El microcontrolador es el encargado de hacer esto en esta ultima, aunque en muchos casos se utilizan circuitos integrados disenados con ese proposito exclusivamentre o FPGAs (que son arreglos de compuertas logicas programables), estos ultimos proporcionan mayor funcionalidad que los microcontroladores pero son un poco mas complejos de programar.

El PC es completamente capaz de manejar las etapas de potencia directamente pero serian necesarios mas puertos de entrada-salida, porque, por ejemplo, con el puerto paralelo no podrian manejarse mas de dos etapas de potencia a la vez o, si multiplexamos las salidas, haria mas compleja la parte de potencia, siendo necesario un circuito de "Translation" de nuevo. Tambien es necesario conocer que el sistema operativo Windows no es muy "amigable" con mantener la sincronizacion en tiempo de las senales de salida por los puertos fisicos puesto que no fue disenado para "control", el uso de sistemas operativos como DOS o Linux permite mayor control y precision en los tiempos de excitacion de los pines de salida y por lo tanto mayor velocidad para los motores.