¿Convertir la salida del controlador de ventilador de 12 V CC a la señal TTL del láser?

Estoy agregando un cortador láser a mi impresora 3D. Quiero reutilizar la salida del ventilador de enfriamiento para controlar el láser. Mi láser tiene una fuente de alimentación que acepta una señal TTL de 5V para encender/apagar el rayo.

La salida del ventilador es la siguiente: Ventilador APAGADO: los cables rojo y negro se mantienen a 12 VCC. Ventilador ENCENDIDO: cable rojo de 12 V CC, cable negro conectado a GND. (también admite salida PWM en varios niveles, el cable negro se usa para la señal PWM mientras que el cable rojo se mantiene en 12 VCC).

Había asumido erróneamente que el cable negro se mantendría en GND mientras que el cable de 12 V CC se usaría para controlar el ventilador. Así que asumí que tenía una referencia GND disponible, así que construí este circuito de cambio de nivel (que, por supuesto, no funciona debido a que el cable negro se tira a 12 V CC cuando está apagado). Su propósito era simplemente conectar a tierra el pin TTL+ al pin TTL- cuando había 12 V CC en la entrada, ingresando efectivamente un 0 lógico al controlador láser, o permitir que el pin TTL+ flotara alto cuando había 0 V CC presente desde el controlador del ventilador, ingresando un 1 lógico al láser. Me doy cuenta de que esto invierte la salida del ventilador (ventilador apagado = láser encendido), pero eso no es un problema. Y funcionó cuando se probó con una fuente de alimentación de 12 VCC.

esquemático

simular este circuito : esquema creado con CircuitLab

Sin embargo, dado que las salidas del controlador del ventilador van a 12 V CC cuando el ventilador está apagado, esto no funciona. ¿Cómo se puede rediseñar este circuito de la manera más simple posible (con suerte sin requerir energía externa) para cambiar esta extraña señal de 12 VCC a una señal TTL de 0/5 VCC, o cortocircuitar/abrir efectivamente la conexión entre los pines TTL+ y TTL-? Supongo que un relé funcionaría para controles simples de ENCENDIDO/APAGADO, pero eso impediría usar PWM para controlar el láser...

Gracias por cualquier idea.

Escupiendo, todo lo que necesita hacer es conectar el cable negro del ventilador a la resistencia base NPN y usar una conexión a tierra común para el emisor. Se invertirá de la lógica del ventilador, pero eso es todo.
Sin embargo, esa resistencia base es demasiado alta. 12v - 0,7v) / 100 ohmios = 0,11 A o 110 mA. Corre el riesgo de quemar el transistor. Una resistencia de 1k o 470 ohmios es más apropiada.
Contestaré esto mañana si nadie más lo ha hecho. No tengo acceso a la herramienta de esquemas en este momento.
¿Cuál era el propósito del ventilador de enfriamiento? ¿Por qué ya no necesitas uno?
El ventilador de una impresora 3D enfría el filamento recién extruido para que se solidifique rápidamente antes de que se deforme por la gravedad. Es poco probable que el OP intente usar la máquina como impresora 3D y cortadora láser al mismo tiempo.
lo siento @Passerby, olvidé establecer los valores para las resistencias. Se suponía que eran 1k. Arreglado ahora. También se suponía que Q1 era un 2N2222A.

Respuestas (3)

¿Por qué no soldar dos cables directamente a los pines Gate y Source del MOSFET del ventilador en la placa RAMPS? Por lo tanto, obtendrá una señal PWM de 5 V directamente desde el controlador ATMega.

Eso es lo que hice: soldar el conector JST de dos hilos a los pines para hacerlo desconectable. Funciona de maravilla.

Resolví esto con un circuito muy simple, que evitó la necesidad de conectar tierra extra o líneas de +5/12V. Usé un optoacoplador simple y una resistencia.

Nuevamente, este es un control invertido: cuando el ventilador está ENCENDIDO, el láser estará APAGADO. Cualquier salida inferior al 100 % en el ventilador hará que el láser emita pulsos a la frecuencia PWM del ventilador.

Tengo una impresora 3D Monoprice Maker Select que usa código g compatible con RepRap. Para ENCENDER el láser, emita M106 S0 y para APAGAR el láser, emita los comandos M106 S255 gcode.

Estoy usando el complemento J Tech Photonics Inkscape para generar código g láser, y no es compatible con este tipo de salida invertida. Por lo tanto, es necesario buscar/reemplazar en el archivo gcode para intercambiar los comandos M106 S255 y M106 S0.

YMMV: ¡esperemos que sea útil para alguien!

esquemático

simular este circuito : esquema creado con CircuitLab

Si está seguro de que el cable negro se tira a 12 VCC y el cable rojo se adhiere a 12 VCC todo el tiempo, puede usar un inversor para controlar todo: un búfer de inversión como algo en las piezas de la serie 74xx podría funcionar bien como un traductor de nivel.

Quería evitar la necesidad de conectar cables adicionales de 5 V/GND al cabezal de impresión.