Control de ventiladores: speedfan

jueves, 19 de febrero de 2009 |

19 de febrero de 2009, por kike_1974

Speedfan es un programa que permite utilizar las características de ciertos chips de la placa base dedicados a la monitorización de temperaturas, velocidades de ventiladores, y al control de estos últimos.

El programa tiene muchas opciones de configuración, y no tiene una documentación muy extensa. En este artículo podéis encontrar una guía que he escrito de configuración de este programa para configurar el control de velocidad de ventiladores conectados a la placa base. Espero que sirva de ayuda.

En realidad, esta es una guúa que escribí hace tiempo (27/12/2007) en el foro N3D, la guía original la podéis encontrar aquí. El hilo correspondiente en ese foro es muy interesante, ya que se pueden encontrar más ejemplos, y muchas preguntas y dudas resueltas.

La guía está hecha con la versión 4.33 de speedfan, y actualmente está disponible la versión 4.37, pero no hay grandes cambios en lo que a configuración del control de ventiladores se refiere. Hay más placas y sensores soportados por el programa, pero la forma de configurarlos sigue siendo la misma.

Índice:


1. Introducción

  • Control Analógico y Digital
  • Tipos de ventiladores
  • Control por Software

2. Configuración de speedfan

  • Instalación
  • Configuración de opciones
  • Habilitar el control mediante speedfan
  • Cambiar nombres
  • Control automático



1. Introducción:


Control analógico y digital:


Existen diversas formas de controlar la velocidad de los ventiladores en un ordenador y se pueden clasificar en dos tipos: control analógico y control digital.

El control analógico consiste en variar el voltaje suministrado al ventilador. Un ventilador funciona normalmente a 12V, pero si se reduce este voltaje entonces se reduce también su velocidad. El voltaje se puede reducir de diferentes maneras:

- De forma directa: Se pueden regular a 5V ó 7V aprovechando que la fuente de alimentación proporciona directamente también voltajes de 5V (el de 7V se obtiene como la diferencia entre 12V y 5V). En este enlace hay información útil sobre cómo usar este modo.

- Mediante un regulador de voltaje: normalmente se utiliza un potenciómetro o algún otro elemento electrónico (diodos, transistores, etc.) que permite regular el voltaje para obtener cualquier voltaje deseado. Normalmente estos elementos electrónicos conllevan un consumo y es una de sus desventajas. Muchos rehobuses comerciales (zalman ZM-MFC1, sunbeam rev.2, etc.) utilizan control analógico mediante este método. También en este enlace hay información útil sobre este otro método, así como circuitos para construir de forma casera un rehobús.

El control digital en cambio no se basa en regular el voltaje del ventilador, sino en conectar señales de pulsos al ventilador, conocidas como PWM ("Pulse Width Modulation"). En este caso el voltaje no se regula, siempre es de 12V, pero no se aplica de forma constante, sino a pulsos, como se puede ver por ejemplo en la siguiente figura:


Este método de control es el que utilizan normalmente los conectores de las placas base, y también algunos controladores de ventiladores comerciales (el zalman ZM-MFC2 por ejemplo). Algunos ventiladores de 3 pines controlados mediante este método tienden a hacer un ruido de "clickeo" (especialmente a bajas velocidades) debido a que la alimentación les llega a saltos.

Tipos de ventiladores:


Además del tipo de control, hay que tener en cuenta que hay dos tipos de ventiladores, de 3 pines y de 4 pines.

- Los ventiladores de 3 pines son los más utilizados y los que se pueden encontrar más fácilmente en el mercado. Los tres cables que tienen se corresponden a GND (negro), VCC (rojo) y sensor (amarillo). VCC es la alimentación (la que se regula o se conecta a una señal PWM si queremos bajar la velocidad) y el sensor se utiliza para poder leer la velocidad del ventilador. Hay algunos ventiladores que sólo tienen dos hilos, en los cuales falta el cable amarillo y por tanto no se puede saber su velocidad.

- Los ventiladores de 4 pines son un intento de mejorar el control por PWM en los ventiladores para evitar el ruido de clickeo que pueden hacer (tratando de alimentar de forma constante el ventilador). Por ello en este tipo de ventiladores se divide el clásico cable VCC en dos, uno para alimentar constantemente a 12V, y otro de baja corriente para conectar la señal PWM. En total cuatro cables: GND (negro), VCC (amarillo), sensor (verde) y control (azul). Para más detalles del estándar de 4 pines se pueden consultar las especificaciones.

No todas las placas base ni reguladores basados en PWM están preparados para ventiladores de 4 pines, pero las placas más modernas suelen incluir esta funcionalidad (se puede seleccionar en la BIOS qué tipo de ventilador está conectado, por ejemplo en las placas Asus se puede seleccionar entre los modos [DC] para 3 pines y [PWM] para 4 pines). Independientemente de cuál se utilice, se pueden regular por PWM por cualquiera de los métodos anteriores.

Control por software:


Las diferentes formas de controlar ventiladores tienen sus ventajas y desventajas, pero una forma barata y habitual de controlar los ventiladores es mediante la funcionalidad propia de las placas base. Muchas placas base actuales permiten controlar ventiladores por PWM, y se puede configurar adecuadamente a través de la BIOS (por ejemplo asus Q-fan) o algún software propietario (como en las placas A-bit).

Un software bastante extendido de control que aprovecha esta funcionalidad de las placas base es el speedfan, y permite un mayor control en la configuración que la que normalmente permite la bios. Funciona en Windows XP y Vista, por lo que no sirve por ejemplo para los usuarios de linux. Tampoco soporta todas las placas base del mercado, pero en general, si la placa permite controlar los ventiladores a través de la bios entonces es bastante probable que también se pueda con speedfan.

Esta mini-guía de control de ventiladores mediante software se va a centrar en el control mediante speedfan utilizando los conectores de la placa base. Se trata de un control PWM y hereda sus ventajas (no tiene consumo) y sus inconvenitentes (posible ruido de clickeo en algunos ventiladores de 3 pines). Las ventajas fundamentales que yo encuentro es que es gratis y no necesitamos añadir más trastos a nuestro PC :mrgreen:

Una de las cosas que suelo hacer antes de comprar una placa base es asegurarme de que se pueden controlar los ventiladores con speedfan :D También hay que tener cuidado con qué ventiladores elegimos para evitar el ruido de clickeo, pero los ventiladores de calidad más comunes no suelen tenerlo (nexus, scythe, noctua, papst, etc.).

2. Configuración de Speedfan:


Vayamos ya a lo que nos interesa, a cómo configurar este programa (speedfan) para conseguir controlar la velocidad de los ventiladores mediante PWM a través de los conectores propios de la placa base.

Nota: Utilizaré como ejemplo en los diferentes apartados la placa base ASUS P5W DH Deluxe, ya que tiene 5 conectores para ventiladores que soportan speedfan. En otras placas con menos conectores la configuración es incluso más sencilla.

1. Instalación

Lo primero es lógicamente instalar el speedfan (http://www.almico.com/speedfan.php) y ejecutarlo. La última versión de speedfan (a fecha de escritura de esta mini-guía) es la 4.33, que soporta la lectura de temperaturas de los cores en los procesadores actuales (C2D, athlon X2, etc.) y de las gráficas de nvidia (no conozco el soporte que tiene de gráficas ati).

Al ejecutar speedfan nos aparecerá una ventana con el siguiente aspecto (los nombres que aparecen serán diferentes):


En esta ventana hay varias partes importantes:

- La parte marcada en la captura como "Velocidad de Ventiladores": En esta parte aparecerán los conectores para ventiladores de la placa base que identifique speedfan, y en el caso de tener conectado un ventilador indicarán la velocidad de giro del ventilador.

- La parte marcada como "Sensores de Temperatura": Aparecerán los diferentes sensores que identifique speedfan (cores de la cpu, sensor de la gráfica, sensores de discos duros, de chipsets de placa base, etc.)

- La parte marcada como "Control de Velocidad": Aparecerán los controladores de velocidad que tenga la placa base, y junto a ellos un % de velocidad modificable. Hasta que no configuremos adecuadamente el speedfan no funcionarán, para conseguir cambiar la velocidad de los ventiladores necesitamos configurar un par de cosas que comentaré a continuación.

Además de estas 3 partes fundamentales, hay otras dos cosas importantes en las que nos podemos fijar:

- Botón Configurar: Este botón es fundamental, ya que desde aquí se accede a la configuración principal de speedfan a la que accederemos en los siguientes apartados.

- Casilla Velocidad Automática: Sirve para seleccionar que los ventiladores cambien de velocidad automáticamente según diferentes temperaturas en los diferentes sensores. Pero aún nos quedan unas cuantas cosas por configurar antes de que esto funcione... :mrgreen:

De las demás cosas que aparecen también hablaremos, pero al final de esta mini-guía, ya que aportan funcionalidades adicionales pero no aportan nada al control de velocidad de los ventiladores.

2. Configuración de las opciones de speedfan

Antes de configurar los ventiladores, podemos configurar las opciones del programa (idioma, modo de arranque, etc.). Para ello podemos pulsar el botón Configurar de la ventana principal e ir a la pestaña Opciones. Aquí no hay mucho que configurar, yo suelo seleccionar simplemente el idioma y selecciono la opción de iniciar minimizado (así, si lo añadimos en nuestra carpeta de inicio para que arranque siempre que arranquemos el PC, el speedfan se iniciará directamente en la barra de tareas).

Las demás opciones de cambiar tamaños de fuentes, colores, etc., cada uno que las ponga a su gusto ;)

3. Habilitar control mediante speedfan

Aquí empieza lo importante. Para que podamos controlar los ventiladores, en primer lugar hay que habilitar el control con speedfan. Si no lo habilitamos, entonces lo normal es que sea la bios quien tenga el control de los ventiladores, y por mucho que toquemos todos los parámetros del speedfan no consiguremos nada.

Para habilitar el Speedfan hay que ir a Configurar (como antes, pinchando en ese botón desde la ventana principal lecturas), y en la ventana que aparece ir a la pestaña Avanzado. Donde pone Chip, tenemos que seleccionar el chip de nuestra placa base que controla los ventiladores. Ejemplos:
- En mi placa ASUS P5W DH Deluxe se denomina "Winbond W83627DHG at $290 on ISA".
- En mi placa ASUS A8N-VM(CSM) se denomina "Winbond W83627EFH at $290 on ISA"

Una vez que seleccionemos el chip, aparecerán las opciones correspondientes a ese chip. Los valores que hay que cambiar para habilitar el control mediante speedfan son los valores PWM mode. Puede haber varios PWM (PWM 1 mode, PWM 2 mode, PWM 3 mode, etc.) cada uno relacionado con un control de velocidad. No tienen por qué funcionar todos en nuestra placa base (el mismo chip winbond se puede montar en diferentes placas base). Podemos tratar de identificar cuáles son los que tiene nuestra placa base, pero lo más cómodo es habilitar todos para el control por speedfan.

Para habilitarlos, hay que seleccionar la opción que permita el control por software, pero no se llama igual en todas las placas base. En unas se llama "Manual PWM Mode", en otras "Software Controlled", y puede haber más nombres diferentes.

Por ejemplo, en la P5W DH Deluxe, los valores que hay que cambiar para que podamos controlar los ventiladores con el speedfan son PWM 1 mode, PWM 2 mode, PWM 3 mode, PWM 4 mode. Tal y como vienen por defecto permiten que sea la BIOS quien controle los ventiladores. Nosotros tenemos que cambiar estos 4 valores a "Manual PWM Control" para poder controlarlos con el speedfan.

La ventana quedaría así:


Una vez configurado esto ya tenemos el control mediante speedfan. Ya podemos cambiar las velocidades de los ventiladores desde la ventana principal de speedfan (pestaña Lecturas). Modificando los porcentajes que aparecen deberían cambiar las velocidades de los ventiladores de forma manual (por ejemplo, si bajo el % correspondiente a PWM1 debería bajar la velocidad del ventilador conectado a CPU_FAN).

Con lo que hemos visto hasta ahora, podemos estudiar nuestra placa base, y comprobar qué ventiladores cambian de velocidad al cambiar el % de cada modo.

Caso práctico:

Tras estudiar un poco mi placa, he determinado que tiene 5 conectores para ventiladores: CPU_FAN, CHA_FAN1, CHA_FAN2, PWR_FAN1 y PWR_FAN2.

La correspondencia de los modos PWM con los conectores es la siguiente (lo he determinado cambiando la velocidad de forma manual de cada PWM y fijándome que ventiladores cambiaban):
PWM1 --> CHA_FAN1 y CHA_FAN2
PWM2 --> CPU_FAN
PWM3 --> CHA_FAN1 y CHA_FAN2
PWM4 --> PWR_FAN1 y PWR_FAN2

En esta placa PWM1 y PWM3 son lo mismo aunque aparezca dos veces en la configuración. Realmente tenemos 5 conectores pero sólo 3 velocidades configurables (PWM2 configura la velocidad de CPU_FAN, PWM1 configura la de los CHA_FANn, y PWM4 configura la de los PWR_FANn).

En este ejemplo práctico controlo 5 ventiladores con speedfan, el de la CPU (CPU_FAN mediante PWM2), el ventilador trasero de la caja (PWR_FAN1 mediante PWM4), el de la fuente de alimentación (PWR_FAN2 mediante PWM4), el de la gráfica (CHA_FAN1 mediante PWM1) y un ventilador frontal que apunta a la zona de la gráfica (CHA_FAN2 mediante PWM1). Eligiéndolos así, el ventilador de la gráfica y el frontal funcionarán a la misma velocidad (PWM1) y el de la caja y el de la fuente de alimentación también irán a la misma velocidad (PWM4).

4. Cambiar nombres de los modos PWM y de los ventiladores

Para acordarnos más fácilmente de lo que es cada cosa, podemos cambiar los nombres en speedfan. Es difícil acordarse de qué ventilador cambiábamos al cambiar PWM2, pero si le damos otro nombre ("ventilador CPU" por ejemplo) será más fácil recordarlo.

Después de haber visto el apartado anterior ya conoceremos cuáles son los ventiladores asociados a cada uno de los nombres que aparecen en la ventana principal, tanto en la sección donde están los sensores de "Velocidad de Ventiladores", como en la sección de "Control de velocidad" que habíamos marcado anteriormente.

Investigando un poco más, podemos también averiguar a qué componentes se corresponden las temperaturas que aparecen a la derecha en la sección "Sensores de Temperatura". Algunos son obvios a partir del nombre (por ejemplo el que se llama HD0 se corresponde a un disco duro), pero otros puede costar más averiguarlos. Para averiguar por ejemplo cuál es el de la gráfica podemos ejecutar el atitool o algún juego y observar cuál es el que incrementa su temperatura. Algunas de los temperaturas que aparecen no tienen sentido, pueden corresponderse simplemente a sensores no conectados que el speedfan identifica.

Una vez identificados todos los ventiladores y sensores, podemos proceder a cambiar los nombres. El procedimiento es sencillo, basta ir a la sección correspondiente que queramos cambiar en la configuración (pestañas Temperaturas, Ventiladores y Velocidades) y hacer click simple sobre el nombre que queremos cambiar.

En el ejemplo que estamos utilizando de la Asus P5W DH Deluxe, quedarían así esas pestañas después de cambiar los nombres:








Nota: Si algún sensor, temperatura o control no queremos que aparezca en la ventana principal, entonces desactivamos la casilla correspondiente que aparece a la izquierda de su nombre.

5. Configuración de velocidades para control automático

Hasta aquí ya tenemos todo configurado para controlar los ventiladores de forma manual utilizando la zona de "Control de Ventiladores" de la ventana principal (Lecturas). Pero este modo tiene un pequeño inconveniente, y es que cada vez que iniciemos speedfan los ventiladores vuelven automáticamente a arrancar al 100%. Por lo que tanto si queremos dejarlos en un valor constante (por ejemplo 50%), o si queremos que varíen automáticamente entre varios valores según la temperatura (por ejemplo 40-60%), tendremos que utilizar el control automático.

Para configurar que el control de ventiladores sea automático hay que seguir varios pasos:

1) Fijar velocidades mínima y máxima de cada ventilador
2) Seleccionar las temperaturas deseadas para cada sensor de temperatura
3) Asociar ventiladores a cada sensor de temperatura
4) Seleccionar opción de control automático

Vamos a ver en detalles estos 4 pasos:

1) Fijar velocidades mínima y máxima de cada ventilador:

Hay que fijar para cada ventilador una velocidad mínima y máxima de funcionamiento. Para eso vamos en Configurar a la pestaña Velocidades. Con cada sensor PWM que aparece en esa ventana hacemos lo siguiente:

En valor mín ponemos el valor mínimo al que queramos que funcione el ventilador (en %). En valor máx ponemos el valor máximo (también en %). Y por último, y muy importante, marcamos la casilla Variar automáticamente. (Nota: si queremos que un ventilador funcione a velocidad constante bastará con poner el valor mínimo y máximo iguales a dicho valor constante).

Por ejemplo, configuro en mi placa que los ventiladores controlados por PWM1 (el de la gráfica y el frontal en mi ejemplo) varíen entre el 35% y el 65%:


2) Seleccionar las temperaturas deseadas para cada sensor de temperatura:

El siguiente paso será decidir a qué temperatura queremos que esté cada componente ("temperatura deseada"). El programa speedfan intentará mantener esa temperatura subiendo la velocidad de los ventiladores si es necesario, o dejará los ventiladores en la velocidad mínima que hayamos configurado si no es necesario.

Además tiene un mecanismo de seguridad, que funciona poniendo los ventiladores al 100% si se alcanza una determinada temperatura ("temperatura de atención").

Es decir, tenemos que configurar dos temperaturas en cada sensor: la "temperatura deseada" y la "temperatura de atención".

En el ejemplo siguiente, configuro la temperatura deseada del core0 a 47ºC, y la temperatura de atención a 58ºC.




Con esto speedfan intentará mantener la temperatura de 47ºC. Mientras la temperatura sea inferior, los ventiladores estarán al mínimo. Si el core alcanza la temperatura de 47ºC, el speedfan comenzará a subir la velocidad de forma automática hasta el valor que considere necesario, hasta como mucho la velocidad máxima que hayamos seleccionado en el ventilador. Si esa velocidad máxima no es suficiente, entonces la temperatura del core0 lógicamente subirá, pero si llega a los 58ºC, entonces se activará el sistema de protección y todos los ventiladores se pondrán al 100%, independientemente de la temperatura máxima seleccionada.

3) Asociar ventiladores a cada sensor de temperatura

El siguiente paso es seleccionar qué ventiladores actuarán para cada sensor. Podríamos dejar que todos los ventiladores estén asociados a todos los sensores, pero no estaría muy bien optimizado, por ejemplo no tiene sentido que aceleremos el ventilador de la gráfica si lo que se está calentando es el micro, o al revés.

Por ello conviene que sólo los ventiladores que deben refrigerar cada componente específico se asocien al sensor de temperatura de dicho componente.

En mi ejemplo, quedaría así la selección:


4) Seleccionar opción de control automático

Por último, para que funcione el control automático, no hay que olvidarse de marcar la opción Velocidad Automática en la ventana principal (Lecturas), y ya tenemos configurado todo lo necesario para el control automático de ventiladores con speedfan.

0 comentarios:

Publicar un comentario