Ventiladores PC

Existen una gran variedad de formatos de ventiladores para PC, normalmente funcionan a 12v, aunque también los hay que funcionan a 5V. La siguiente imagen muestra los conectores de 2, 3 ó 4 pines más comunes:

Los modelos más básicos vienen con un conector de 2 pines, si dispone de un tercer pin éste nos informa de su velocidad de giro, y si trae 4 pines además permite regular la velocidad del ventilador. Estos últimos son los utilizados actualmente para refrigerar la CPU, controlados por la placa base del ordenador en función de la temperatura de la CPU.

En lo que respecta a los ventiladores de CPU, aunque puede cambiar el color de los cables según el fabricante, el diagrama de pines está diseñado para funcionar incluso conectando el conector hembra de 3 pines con uno macho de 4 y viceversa, garantizando la retrocompatibilidad. En cualquier caso en el mercado se puede encontrar todo tipo de adaptadores para conectores de ventiladores.

Obviamente si el ventilador o la placa no dispone de control PWM el ordenador no podrá controlarlo y girará a la máxima velocidad, sin embargo en este caso podríamos diseñar un circuito que regule la velocidad de giro ya sea bajando el voltaje o controlando la alimentación mediante pulsos.

Es interesante saber que también es posible regular la velocidad de los ventiladores que no están preparados para ello, con lo que conseguiremos reducir el consumo y el ruido que genera nuestro ordenador. La forma más simple de reducir la velocidad es usando una resistencia, así por ejemplo podemos bajar la tensión de 12V a 9V ó 7V .

La otra forma es usando un transistor que controle la alimentación del ventilador mediante pulsos, el ancho del pulso determinará la velocidad (regulación PWM). Esto último requiere el uso de un circuito algo más complejo pero a cambio permite regular la velocidad con más eficiencia energética y precisión.

Los ventiladores de 4 pines, o PWM, como es de suponer son más caros y suelen usarse para enfriar la CPU, el resto de ventiladores de la caja suelen ser de tres pines. En este artículo vamos a utilizar nuestro Arduino para medir y controlar la velocidad de un ventilador de PC de 3 pines.

Medir la velocidad de un ventilador de 3 pines

Actualmente la mayoría de los ventiladores para PC disponen de un sensor de efecto Hall (HES) que genera una señal cuando detecta los imanes del motor. Según el número de imanes conectados, en cada rotación generará 1, 2 ó 4 pulsos.

El resultado es una onda cuadrada que nos permite calcular la velocidad de giro (RPM=revoluciones por minuto).

Para realizar la medida conectamos una resistencia pull-up entre el tercer pin del cooler (salida del sensor hall a colector abierto) y el microcontrolador. Las RPM se calculan contando las señales recibidas en 1 segundo, multiplicando por 60 y dividiendo entre el número de señales por revolución.

En el programa que usamos para medir los RPM, utilizamos las interrupciones del microcontrolador, es decir, una señal externa dispara la ejecución de una función ISR (Interrupt Service Routine) independientemente de lo que esté haciendo el MCU.
Para cada placa Arduino hay que consultar cuales son los pines de interrupción.

En el ejemplo con Arduino UNO, utilizamos la interrupción 0 (pin D2), cuando detecta el paso de 0 a 1 (RISING) se ejecuta la función que incrementa la variable que cuenta los pulsos.

Controlar la velocidad de un ventilador de 3 pines

Vamos a diseñar un circuito que permita regular el giro de un ventilador de 2 ó 3 pines en función del valor de una entrada analógica que en este ejemplo es un potenciómetro pero se puede sustituir fácilmente por un sensor de temperatura del tipo LM35.

Usamos un transistor para controlar la corriente de alimentación del ventilador, mediante un pulso de ancho variable (PWM).

El transistor elegido es el BC337, del tipo BJT NPN, con una corriente de colector máxima de 800 mA, suficiente para alimentar pequeños motores. Si fuera necesaria una corriente mayor se debe sustituir el transistor por otro. El diodo flyback 1N4007 protege al transistor de los picos de tensión generados por el motor.

En un ventilador PWM estandar la señal de control es una onda cuadrada de 25±4 KHz y el ciclo de trabajo determina la velocidad del ventilador, que oscila normalmente entre el 30% y el 100% de la velocidad nominal del ventilador.

Arduino dispone de salidas PWM pero funcionan a una frecuencia de 490 Hz, se pueden obtener múltiplos de esta frecuencia modificando los “timers” pero aun así tampoco hay forma sencilla de alcanzar los 25 KHz necesarios, por tanto sólo nos queda la opción de programar un sketch que realice esta tarea mediante la función  delayMicroseconds().

Esquema de conexiones del circuito para regular la velocidad de un ventilador de 3 pines y 12V:

Y este programa permite controlar la velocidad de un ventilador de 2 ó 3 pines actuando sobre su alimentación, el valor de T se puede ajustar individualmente en cada caso particular: