Conexión segura de un ventilador de 4 pines a un Arduino

Soy consciente de que se ha hecho una pregunta muy similar aquí antes: https://electronics.stackexchange.com/questions/91015/how-connect-a-4-wire-fan-to-arduino-and-control-the -velocidad

Sin embargo, después de verificar he recibido comentarios mixtos y tengo la impresión de que la mayoría proviene del hecho de que la mayoría de las personas controlan la velocidad del ventilador solo a través de 2 pines y esperan transistores. Así que decidí preguntar aquí con la esperanza de obtener más información.

Actualmente tengo mi Arduino alimentado a través de USB y, por separado, mi ventilador 12dc con su propia fuente de alimentación. Comparten un terreno común y la línea PWM del ventilador está conectada a los verracos de Arduino. Nada más en el medio (sin transistores, resistencias o diodos).

Mis esquemas actuales

Funciona correctamente, pero no lo he tenido funcionando por mucho tiempo por miedo a que no sea seguro.

¿Debo preocuparme por la línea PWM conectada como tal? ¿Pueden los 12v de la fuente de alimentación del ventilador dañar el Arduino con esta conexión?

Según la investigación, parece que la línea PWM tiene un voltaje máximo de 5,25 V. No estoy del todo seguro, pero ¿tengo razón al suponer que ese es el voltaje máximo que pasará por ese cable?

Estoy de acuerdo en que un diodo alrededor del ventilador es una buena idea y definitivamente lo agregaré.

* Editar: pensé en aclarar que estoy usando esta configuración para cambiar la velocidad de mi ventilador.

Puedes enlazar al documento que indica las conexiones a los cuatro pines y consumo de corriente.
Ese es un fan diferente al enlace en la pregunta, entonces, ¿cómo puede alguien responder sin saber a qué fan te refieres? También se necesita el consumo de corriente del ventilador.
¿Puede compartir la hoja de datos del FAN, especialmente la parte que menciona el nivel que debe tener la señal PWM?
La única información que encontré sobre el tema es el documento sobre la respuesta de jonk. Traté de buscar hojas de datos para el ventilador específico, pero no estoy seguro si encontré la información correcta... nmbtc.com/fans/part-numbers/DC-Axial-Fans/4715KL-04W-B46-P00/…

Respuestas (2)

Si el ventilador se comporta de acuerdo con la norma, puede controlar su pin PWM con un Arduino.

El pin PWM acepta una entrada de 5 V y fuentes de no más de 5 mA, por lo que debería estar bien. Muchos fanáticos deberían trabajar con el PWM predeterminado de Arduino. Sin embargo, la norma dice que debe usar una frecuencia PWM de 25 kHz, lo cual es un poco complicado. Vea la publicación de AKA en Control PWM Fan Thread .

Sí, Arduino y la fuente de alimentación de 12 V para el ventilador deben tener un terreno común.

Norma PWM de 4 pines

Controle el hilo del ventilador PWM

nota del moderador:
esta respuesta ha llegado a este hilo como resultado de una fusión. El fain de 4 hilos en el hilo original: AK-FN073 .

Nunca antes había intentado examinar el pinout de un ventilador de PC. Los uso, pero nunca me importó tratar de controlar uno de ellos. Así que nunca me molesté.

Dicho esto, probablemente encontré algo similar a lo que usted encontró: Especificación de ventiladores controlados por modulación de ancho de pulso (PWM) de 4 hilos, septiembre de 2005, revisión 1.3 . La página 9 parece tener suficiente información (apenas).

"Esta señal debe elevarse hasta un máximo de 5,25 V dentro del ventilador. Nota: Se recomienda enfáticamente que los nuevos diseños de ventilador implementen un aumento de 3,3 V..."

Entonces, el PWM se eleva dentro del ventilador a un voltaje relativamente bajo (mucho menos que el 12 V energía con la que también están conectados). Simplemente necesita un interruptor desplegable (activo bajo) (la mayoría de los NPN están bien). Las notas también dicen:

Corriente máxima absoluta generada: Imax = 5 mA (corriente de cortocircuito)

El hecho de que digan "fuente" agrega aún más peso a la idea de que esta entrada se extrae internamente. La corriente máxima especificada generada por la entrada puede ser manejada por las salidas de Arduino. Sin embargo, los Arduinos se hunden y se alimentan de sus rieles de suministro y no tienen una configuración de drenaje abierto o colector abierto. Básicamente, esto significa que cuando están en BAJO son compatibles, pero cuando están en ALTO hay una "preocupación" modesta (el riel de voltaje del Arduino puede ser diferente del que usó un diseñador de ventiladores como su riel interno). Por lo tanto, probablemente debería usar una resistencia externa + NPN BJT o bien un NMOS de nivel lógico para conducirlo correctamente.

Gracias por la información. Sin embargo, he estado tratando de aprender sobre todo esto en los últimos días y todavía me cuesta entender algunos conceptos. Entonces, ¿está diciendo que será más seguro usar una resistencia y un transistor en el cable PWM?
@AntsInPants Hmmm. Estoy diciendo que lo haría de esa manera. Sin embargo, es difícil predecir su situación exacta porque no puedo medir los detalles sobre su fan.
Muchas gracias por la informacion. Es increíblemente útil, aprendí cosas nuevas y un gran recurso para mí para ampliar mi conocimiento e investigación sobre el tema, haré más tareas antes de armar la cosa final.
@AntsInPants Lea un poco sobre "drenaje abierto" y "colector abierto". Esto le ayudará mucho. Aunque toda la lógica funciona prácticamente como se esperaba, los detalles eléctricos exactos de esa lógica varían un poco según las circunstancias. No todas las entradas y salidas son iguales y, a veces, es necesario hacer un poco de "combinación cuidadosa" entre ellas. Si los voltajes en su riel Arduino y los voltajes elegidos por el diseñador del ventilador son los mismos (o cercanos), entonces es probable que no cause problemas.
Gracias de nuevo, he estado leyendo sobre esto hoy y, a pesar de que todavía es un poco desalentador por las muchas condiciones que existen (por no hablar de todas las terminologías jaja), sigue siendo muy útil. A ver si me entero de los raíles de tensión
@AntsInPants Usted y solo mide el voltaje en el pin PWM del ventilador sin conectarlo, pero cuando el ventilador está conectado a su suministro de 12 V. Lo tiran hacia adentro, por lo que su voltímetro le proporcionará el voltaje de arranque. Si eso está cerca de su riel de suministro Arduino, entonces probablemente pueda esquivar el problema. Probablemente todavía haría la idea del transistor agregado, porque es lo correcto y funcionará con otros fanáticos.