Vamos a ver cómo controlar la velocidad de un ventilador con PWM. En qué consiste y por qué hacerlo de esta manera.
Contenidos
Es frecuente utilizar ventiladores para la refrigeración de ordenadores, microcontroladores, fuentes, amplificadores, tarjetas gráficas, etc. y controlar la velocidad de un ventilador con PWM puede ser algo muy deseable, para reducir el ruido que estos dispositivos generan.
Normalmente se trata de pequeños ventiladores, de baja potencia, que funcionan con corriente continua y tensiones bajas de entre 5V y 12V.
Estos ventiladores tienen un motor eléctrico que gira las aspas y crea un flujo de aire que disipa el calor generado por los componentes.
Existen diferentes tipos de ventiladores de refrigeración, según su tamaño, forma, número de aspas, ruido, consumo y prestaciones. Algunos ejemplos son:
- Ventiladores axiales: son los más comunes y se caracterizan por tener las aspas paralelas al eje del motor. Son adecuados para mover grandes volúmenes de aire a baja presión y se suelen colocar en la parte trasera o lateral de las cajas de ordenador.
- Ventiladores centrífugos: tienen las aspas perpendiculares al eje del motor y generan un flujo de aire radial. Son más eficientes que los axiales para mover aire a alta presión y se suelen emplear en sistemas de refrigeración líquida o en fuentes de alimentación.
- Ventiladores tangenciales: tienen las aspas dispuestas en forma de cilindro y crean un flujo de aire paralelo al eje del motor. Son muy silenciosos y se utilizan en equipos que requieren una refrigeración uniforme, como proyectores o amplificadores.
Para controlar la velocidad de estos ventiladores de baja potencia se puede utilizar la técnica del PWM (Pulse Width Modulation), que consiste en variar el ancho de los pulsos eléctricos que alimentan el motor. De esta forma, se puede regular la potencia y el consumo del ventilador, así como el nivel de ruido y la temperatura del sistema.
Si no sabes lo que es una señal PWM, lo explico en el siguiente artículo:
Para aplicar el PWM se necesita un circuito electrónico que genere los pulsos con la frecuencia y el ciclo de trabajo deseados. El ciclo de trabajo es el porcentaje de tiempo que el pulso está en alto respecto al periodo total. Por ejemplo, un ciclo de trabajo del 50% significa que el pulso está en alto la mitad del tiempo y en bajo la otra mitad.
El circuito PWM se puede construir con componentes discretos, como transistores, resistencias y condensadores, o con circuitos integrados, como el 555 o el Arduino. El circuito PWM se conecta al cable rojo del ventilador, que es el que lleva la alimentación positiva, mientras que el cable negro, que es el negativo, se conecta directamente a la fuente de alimentación. Algunos ventiladores también tienen un cable amarillo, que es el que envía una señal con la velocidad del ventilador al sistema.
Vamos a centrarnos, por motivos prácticos, en los pequeños ventiladores de 5V DC que se utilizan en pequeños dispositivos, como nuestros queridos mini ordenadores Raspberry Pi.
Tipos de ventiladores de 5V DC
Hay básicamente tres tipos de ventiladores que podemos utilizar para refrigerar nuestros dispositivos, y a continuación vamos a ver cuáles son y sus principales características. Te adelanto que, en la mayor parte de las ocasiones, se utiliza el de primer tipo, el ventilador básico DC.
Ventilador básico DC (dos cables)
Se trata de un ventilador simple que lo único que tiene es un motor de motor de corriente continua que mueve las aspas. En este caso, su velocidad dependerá el voltaje con el que lo alimentamos.
Tiene solamente dos cables, el positivo y el negativo de alimentación (que, por cierto, puedes conectar al revés y el ventilador girará en sentido contrario).
Son los ventiladores típicos, baratos, que puedes encontrar por todas partes.
Ventilador DC con salida de tacómetro (tres cables)
Como el anterior, es un simple motor de corriente continua, exactamente igual que el anterior.
La diferencia está en tiene un tercer cable (la salida del tacómetro) que nos sirve para que nuestro dispositivo sepa a qué velocidad está girando el ventilador, realmente.
Ventilador DC con entrada PWM (tres cables)
Es un ventilador de corriente continua que integra, en el interior del propio ventilador, el circuito de control de velocidad que vamos a montar en esta página.
En la práctica, este ventilador no se suele encontrar. ¿Por qué? Pues porque el control activo por PWM normalmente necesita una salida para que el controlador sepa si está girando y a qué velocidad.
Este tipo de ventilador podemos hacerlo fácilmente, con un ventilador básico DC + un circuito de control PWM. Será igual, salvo que el circuito de control estará fuera del ventilador.
Ventilador DC con entrada PWM y con salida de tacómetro (cuatro cables)
Este tipo de ventilador es una mezcla de los dos anteriores, ya que incluye el circuito para controlar su velocidad y, además, tiene salida para que el dispositivo al que está conectado (una Raspberry Pi, por ejemplo) sepa a cuantas RPM está girando.
Suelen ser los ventiladores de mejor calidad y más silenciosos, con los mejores rodamientos y la mayor durabilidad. El problema es que suelen ser ventiladores caros (a partir de 15 euros, pero pueden llegar a 50€, 100€ y más).
¿Como regular la velocidad de un ventilador DC?
Básicamente, hay dos formas de regular la velocidad de los pequeños ventiladores de corriente continua (DC) que utilizamos para refrigerar nuestros dispositivos:
- Regulación por voltaje
- Regulación por PWM
Regular la velocidad de un ventilador por voltaje
Los ventiladores de DC que utilizamos en, por ejemplo, las Raspberry Pi suelen ser de 5V.
Esto significa que, si los alimentamos con 5V, deberíamos (al menos en teoría) conseguir los resultados que nos indica el fabricante del ventilador en cuanto a velocidad, ruido, flujo de aire, consumo, etc.
Si alimentamos uno de estos ventiladores de 5V con 3.3V conseguiremos que el ventilador gire más despacio (en la mayoría, algunos, muy pocos, ventiladores de 5V no llegan a moverse con solo 3.3V), esto tendrá las siguientes implicaciones:
- El ventilador girará más despacio, por lo cual hará menos ruido.
- Al girar más despacio el flujo de aire bajará, y con él su capacidad de refrigeración
- Consumirá menos energía, aunque será menos eficiente
Esto nos indica que, si queremos reducir el ruido de nuestro ventilador de una forma muy sencilla, y nos podemos permitir reducir la capacidad de refrigeración sin que la Raspberry Pi se caliente demasiado (lo que normalmente no supone un problema), solo tenemos que alimentar el ventilador desde el pin de 3.3V, en lugar de hacerlo desde el pin de 5V, para conseguirlo.
Afortunadamente, alimentar el ventilador a 3.3V es muy fácil en la Raspberry Pi, y no necesitamos ningún hardware adicional, ya que tenemos una salida de 3.3V en el puerto de expansión y podemos utilizarla para alimentar el ventilador.
Es obvio, pero la desventaja de este sistema es que solo podemos bajar la velocidad, no podemos regularla. Además, el ventilador girará a «lo que toque» alimentándolo a 3.3V, y dependerá de cada modelo, no podemos hacer ningún ajuste.
Regular la velocidad de un ventilador por PWM
La segunda forma de regular la velocidad de un ventilador, y la mejor para nuestros objetivos, es utilizando un tipo de señal llamado PWM (Pulse Width Modulation o Modulación por Anchura de Pulsos).
No te preocupes si no sabes lo que es una señal PWM, tienes un artículo en el blog en el que explico, de forma sencilla, que es una señal PWM.
La gran ventaja de utilizar una señal PWM es que podemos hacer girar el ventilador a la velocidad que queramos, entre el mínimo que admita el ventilador (por debajo de ese mínimo, que depende de cada ventilador, éste simplemente se parará, mientras intenta girar) y el máximo correspondiente a su voltaje de alimentación nominal (menos las pérdidas que, en su caso, genere nuestro circuito).
Otra ventaja de utilizar PWM es que muchos ordenadores modernos y microcontroladores están especialmente dotados para generar esa señal de forma nativa. Incluso su hardware incluye generadores de PWM que no necesitan la participación de la CPU, u otros elementos, para funcionar.
También tiene una pequeña desventaja, y es que, en la mayoría de las ocasiones, vamos a necesitar algunos componentes electrónicos adicionales para controlar el ventilador mediante PWM, ya que la señal PWM que proporciona a nuestro dispositivo (el Arduino o la Raspberry Pi, por ejemplo) es demasiado «pequeña» y es necesario «amplificarla».
¿Y ahora qué?
Ahora que ya sabemos cómo controlar la velocidad de un motor mediante una señal PWM, queda lo más divertido, implementarlo.
En el siguiente artículo puedes ver en detalle cómo construir un driver (controlador) con un transistor BJT.
Encontrarás en el blog un tutorial en que podrás ver cómo controlar un ventilador mediante PWM en una Raspberry Pi 4: