Giacco;

Muy buenos cambios.

Quedan dos problemas;

1- la alimentacion del driver del rele usa una tierra comun con la del PC. Solucion aislamiento optico hacia los drivers como al principio.
Por que no usas SSR (solid state relays)?, ya estos poseen su propio aislamiento, no son realmente muy caros y los contactos no se gastan.

2- Seria necesario anadir una compuerta schmitt- trigger de todas formas a la salida de las senales Step, Direction y Enable, para asegurar que los tiempos de subida y bajada son TTL, los 5 volt de alimentacion de estas compuertas se pueden tomar de la fuente no aislada, la tierra tambien a la parte no aislada. Esto se hace para aumentar la compatibilidad, pues los tiempos de subida y bajada a la salida del opto-coupler dependen de la capacitancia de entrada de lo que conectes a ellos.

Otros detalles:

R1, R10, R11, etc parecen pull ups pero no hay conexion a los 5 volt de la fuente de alimentacion del PC.

R19, R20,R21, etc no hacen ninguna funcion pues su resistencia es muy grande para producir corriente en los LEDs de los opto-couplers.

Otra cosa, suma todas las corrientes de los ICs y LED conectados a la fuente de alimentacion del PC asegurate que la suma es menor que 300 MA los puertos USB estan limitados en corriente (maximo 500 mA y eso es cuando es salida de un Hub USB con alimentacion exterior) los puertos usb directamente del PC dan muy poca corriente. Si pudieras encontrar Opto-couplers similares pero que trabajen con menos de 10 mA estarias asegurando mayor compatibilidad.

Gracias.