Hola manwenwe, iremos por pasos porque es algo extenso:
Ok. Pongo optos para las señales de step/dir.
Sería lo optimo. Te recomiendo el 6N137, salida TTL de alta velocidad, con cualquier otro podrías tener problemas.
¿Para las entradas al paralelo (finales de carrera y seta de emergencia) también me hacen falta?. Creo que me comentaron que se les metía mucho ruido y les saltaba "la seta" así porque sí: suena a lo mismo que me has explicado. Creo que medio lo solucionaban con un condensador de 100 nanos entre masa y la entrada para los transitorios pero igual no está ni bien dimensionado en voltaje.
Todo dependerá del tiempo, dinero y tamaño de PCB que deseas conseguir.
Para los finales de carrera no es necesario el uso estricto de optos, pero si de tener ciertas precauciones. Por ejemplo:
Si no deseas usar optos, pues los finales de carrera y la seta, junto con su cableado, deben de estar completamente aislado del equipo CNC, o sea no comparten masa, ni tensiones, ni nada.
Para evitar la interferencias tal como las que se producen en la seta, lo mejor es el uso de un cable apareado y apantallado (cable de micrófono balanceado es buena opción, también cable para RS485 o DMX). Que es apareado? que para cada final de carrera o la seta envías su masa y su cable de señal exclusivo o sea no compartes masas, y esos dos cables exclusivos van trenzados entre ellos mismos, o sea se van enrroscando sobre ellos mismos. y sobre estos va la malla que oficia de apantallado para las posibles interferencias, esta malla debe de estar conectada al chasis de la PC (por medio de la malla del cable de transmisión del puerto paralelo) y las resistencia de PULL UP/DOWN deben de estar montadas lo más próximas al conector del puerto paralelo de la PC, normalmente por su tamaño reducido van colocadas dentro del mismo y estar completamente aislada del equipo CNC
Ya con lo anterior es muy improbable que sufras de interferencias, incluso sin el uso del condensador de 100nF que mencionas.
La otra opción, por supuesto es el uso de optoacopladores tal como en el caso del step/dir, pero creo que complicarías demasiado el circuito sin tener un gran beneficio extra.
¿ Y a los leds de los optos no les afecta la señal espuria que comentas? ¿Es decir: no se rompen/desgastan por esta?
Al led del opto, con solo colocarle un diodo en inversa y en paralelo a dicho led es más que suficiente, por supuesto aparte de la resistencia limitadora (470 ohms) de corriente que en el caso del 6N137 debe de ser de entre 5 y 10mA
El diodo en inversa protege al led de un posible pico inverso y el propio led puede absorber un pico en directo, por lo que si tu respetas los 5/10mA mencionados, pues lo demás no lo afectarán en nada.
Más allá de todo lo anterior, el led al funcionar en modo corriente es muy poco influenciable por cualquier interferencia posible, aparte su baja impedancia requiere una interferencia realmente muy fuerte. Por lo que el uso del opto te proveerá de una altísima inmunidad a cualquier ruido eléctrico presente en el ambiente.
Por supuesto, la placa con los opto debe de estar montada en el equipo CNC, o sea, si debes de recorrer cierta distancia con el cable de transmisión (mucha no puedes por ser paralelo), dicha distancia debe de estar entre la PC y los optos y no entre los optos y la CNC.
Un saludo y por más dudas solo debes de consultarlas.
Atte. CARLOS.