Jump to content

Brico: Mejorar la ventilación de Mac Mini


Recommended Posts

Hola a todos,

 

Dado que mi ventilador del Mac Mini murió (realmente el conector de la placa) al actualizarlo con un disco duro SSD, he decidido hacerme un brico para que esté ventilado lo mejor posible. Para ello, he quitado la tapa negra inferior y lo he tenido durante 10 días usándolo para comprobar el estado de temperatura del mismo.

 

Una vez hechas las pruebas he podido comprobar que sin trabajar con el pero teniéndolo encendido se mantiene en 37ºC y si le meto caña en 41ºC unas temperaturas estupendas.

 

Obviamente estas temperaturas las he conseguido gracias al haber acoplado, de momento con unas gomas, un ventilador de PC de 12cm a baja revoluciones alimentado directamente con uno de los puertos USB del Mac.

 

Aunque está claro que con esta solución en todo el año va a estar muy fresquito, no puede quedar sujeto para siempre el ventilador por unas gomas que además se ven por encima del Mac por lo que he estado pensando en varias soluciones. Por supuesto, se puede construir uno una base de Metacrilato (comprándola) que sea gruesa y con unas patitas. O bien hacérsela con resina transparente que queda igual que el metacrilato. Sin embargo, yo he optado por algo hecho y del mismo material que la carcasa del Mac, que en este caso es de aluminio adonizado. Pues bien, para poder hacerlo he partido de un molde de tartas en aluminio anodizado de 17,5cm que se puede comprar en cualquier tienda de tartas y/o cup cakes o bien por Internet. Yo he comprado por 7,95€ dado que estaba al 50% de descuento.

 

Este molde es así:

Mac01.jpg

 

 

Mac02.jpg

 

 

Y quedaría una cosa así:

 

Mac03.jpg

 

 

Mac04.jpg

 

 

 

Este fin de semana o si puedo antes cogeré y modificaré el molde haciendo por una parte un corte circular para poder atornillar el ventilador en el centro del molde. El ventilador quedará dentro del molde y atornillado desde fuera.

 

Por otra parte, haré una ranura alargada en un lateral del molde que será la parte trasera en donde saldrá el aire "caliente" extraído del Mac. Además dicha ranura servirá para poder introducir el cable que alimenta el ventilador y que va conectado al puerto USB.

 

 

Cuando lo tenga más terminado subiré fotografías.

 

Un saludo, Oscar.

Link to post
Share on other sites

Hola a todos,

 

Bueno, pues una vez visto lo que quiero y realizadas las pruebas oportunas, ahora toca plantear el ventilador en el molde para ver cómo quedará, obviamente el ventilador quedará por dentro del molde y lo rallado será lo que corte:

 

Mac05.jpg

 

 

Y así queda marcado, siendo el círculo lo que corte y las cuatro marcas para atornillar el ventilador. Me ayudaré de una sierra de metal y de un taladro para ello:

 

Mac06.jpg

 

 

Y en la parte trasera irá la rendija de ventilación. A los cortes obviamente les pasaré una lima para dejarlo todo perfecto:

 

Mac07.jpg

 

 

Espero en el próximo post enseñaros la pieza ya cortada.

 

 

Yo he escogido un ventilador de 12cm por dos motivos; a bajas revoluciones es capaz de mover una gran cantidad de aire y como puede ir a baja velocidad, el ruido es imperceptible consiguiendo un sistema ultrasilencioso. Hay un montón de ventiladores ultrasilenciosos (de 10-16db) de 12-14cm que son capaces de trabajar a bajo voltaje 6-12v.

 

Un saludo, Oscar.

Edited by ofarcis
Link to post
Share on other sites

Muy buena idea!

Se me ocurre que la rejilla tendrá que ser capaz de desalojar el caudal de aire que mueve el ventilador. Adicionalmente, con cuatro patitas de goma de 3/4 mm, se puede elevar la bandeja de su apoyo, consiguiendo ventilación por todo el perímetro.

Un saludo y suerte.

Link to post
Share on other sites

Hola a todos,

 

En una caja cerrada en donde hay una fuente de aire que entraría en este caso por las entradas de aire del MacMini, y sólo una salida de aire que será el hueco trasero del molde, y en este caso un ventilador que extrae el aire caliente del MacMini y lo empuja hacia abajo del molde, el aire sólo tiene un lugar posible de salida que es por la ranura trasera. Además, el molde es de aluminio y es un disipador perfecto para el calor residual que pueda quedar dentro del molde, por lo que el mismo molde sirve de refrigerador.

 

Obviamente a parte del ventilador que usaré existen otras soluciones como pueda ser esta: http://www.zalman.com/global/product/Product_Read.php?Idx=345

 

Este ventilador es muy parecido al ventilador que trae el propio MacMini pero moviendo un caudal de aire muchísimo mayor. Sin embargo, mi experiencia con este tipo de ventiladores son que hacen demasiado ruido y yo busco una solución más equilibrada entre ruido y temperatura.

 

El ventilador que de momento estoy usando y que podéis ver en una de las fotografías anteriores, tiene un cable negro. Ese cable negro es un interruptor de 3 posiciones en donde puedo fijarle que vaya a baja velocidad, media o alta.

 

Hoy en día los buenos ventiladores suelen tener adaptadores de voltaje, siendo estos de 5v, 7v y 12v. Y estos voltajes se corresponden a su ves con las velocidades baja, media y alta. En baja y media estos ventiladores son imperceptibles en su funcionamiento y en alta ya se les oye.

 

Por supuesto, ventiladores de PC hoy en día los hay de muy bajas revoluciones empezando en 600rpm. Hasta 1000-1200 por lo general son muy silenciosos.

 

Según avance os digo...

Un saludo, Oscar.

Link to post
Share on other sites

Respecto a poner unas patitas. Mi intención es coger el ventilador y sujetarlo con unas gomas que existen para paliar la vibración que pueda generar en su rotación. Eso lo tengo en todos mis PCs y sería algo así:

 

http://www.ebay.es/i...iEAAOSweW5VL8cK

 

Con ello se consigue reducir tanto la vibración como el ruido.

 

Por otra parte, la base del molde tengo pensado ponerle no unas patas sino unas pegatinas de esas de fieltro que se usan en las patas de los muebles para que no hagan ruido. No interesa demasiado que se eleven mucho porque deseo que el calor salga por detrás, pero si alzarán un par de milímetros lo base y por lo tanto parte del aire caliente saldrá por dicho lugar.

 

 

Mi PC actual es ultrasilecioso y muchas veces tienes que mirarlo para saber que está funcionando y eso que es muy potente con un i7. Obviamente el MacMini no va a ser menos y quiero que sea también ultrasilencioso. Además, el MacMini cumple dos funciones; por una parte es mi equipo de desarrollo de iOS y por otra aprte es mi nuevo centro multimedia y de internet de la casa y por lo tanto está afincado en el salón en donde ni puede ni debe generar ruido alguno para poder disfrutar de los contenidos multimedia.

 

Cuando desarrollo obviamente no lo hago en la televisión sino que mediante TeamViewer me conecto a el remotamente y trabajo como si estuviese delante de el.

 

Un saludo, Oscar.

Edited by ofarcis
Link to post
Share on other sites
  • 2 weeks later...

Hola a todos,

 

Por fin ha llegado el ventilador que había pedido. En verdad no es un ventilador como tal sino esto que podéis ver en Ebay: http://www.ebay.es/i...ngAAOSw14xWH1M9

 

En sí la base es una "mierda" porque es muy mala, pero no quería la base sino los ventiladores porque son pequeños, de 6x6cm y alimentados por USB. Me quedaba saber si eran silenciosos y lo son, con lo cual son perfectos.

 

Realmente sólo necesito uno así que el otro lo he cortado del cable y desechado. Lo he cortado con un alicate de la placa que viene y la intención es ponerlo en la parte de atrás para que expulse el aire del molde. Así tenemos dos ventiladores; de 12 cm que expulsa el aire del Mac mini y este de 6cm que lo hace del molde.

 

Por fin este fin de semana podré cortar el molde y montarlo todo. No obstante, estoy esperando también un cable chino que de los 5 voltios que tiene el puerto USB saca 9 voltios, para que la velocidad del ventilador de 12cm sea mayor y sobre todo, no se pare cuando lo ponga en horizontal.

 

Un saludo, Oscar.

Edited by ofarcis
Link to post
Share on other sites

Hola a todos,

 

Pues como ya adelanté ayer, este es es el ventilador de 6cm con cable USB que irá en la parte trasera del molde. El cable tiene la ventaja que no inhabilita un puerto USB por lo que a el se le puede conectar cualquier dispositivo:

 

Mac08.jpg

 

 

Un saludo, Oscar.

Edited by ofarcis
Link to post
Share on other sites

Hola a todos,

 

Por fin lo he terminado. Falta poner el cable USB que sube de 5v a 9v sobre todo para que pueda ponerlo incluso más rápido si lo deseo. El ventilador de 12cm que he puesto tiene un swich con tres posiciones. Ahora a 5v lo tengo al máximo que es lento e imperceptible.

 

Bueno, vamos al grano. Lo primero ha sido hacer los taladros tanto para los tornillos de sujeción como para poder meter una hoja de sierra:

Mac09.jpg

 

 

Aquí vemos la parte trasera:

Mac10.jpg

 

 

El agujero del ventilador grande ha sido relativamente fácil de cortar con una sierra de calar y una hoja para metal. No os asustéis de la suciedad, con un truco muy fácil podemos poner siempre en buenas condiciones nuestro portátil, mac mini o cualquier cosa de aluminio:

Mac11.jpg

 

 

Pero la parte de atrás me ha costado bastante porque por el reborde del molde no podía usar la sierra de calar y lo he tenido que hacer a mano con una sierra de hierro y rematando con una lija de metal:

Mac13.jpg

 

 

Espero que os vaya gustando el resultado aunque todavía queda un rato...

 

Un saludo, Oscar.

Link to post
Share on other sites

Ahora vamos con dejar mejor la apariencia del aluminio. Mirad cómo está el antes:

Mac14.jpg

 

 

Para solucionarlo, lo mejor es usar una lija muy pero que muy fina. Tenemos una en casi todas las casas que es el estropajo de toda la vida, el verde. No los nuevos de plástico, sino el de siempre. Es una lija ultrafina, parecida a las de carrocero que suelen ser de 1.200 al agua o más:

Mac15.jpg

 

 

Un saludo, Oscar.

Link to post
Share on other sites

Ahora vamos a montarlo todo. Aunque inicialmente pensaba hacerlo de una manera, al final he usado unos tornillos con tuerca y una arandela de goma para aislar vibraciones. Esas gomas se consiguen por Internet para sujetar los discos duros:

Mac16.jpg

 

 

Y todo montado:

Mac17.jpg

 

 

Y ya puesto en el salón en su sitio:

Mac18.jpg

 

 

 

Una vez encendido, he probado a hacer una conversión de DivX a QuickTime, algo que consume mucho procesador y pone al Mac mini en estrés alcanzando las más elevadas temperaturas que había conseguido hasta el momento llegando a 61ºC antes de poner el molde.

 

Ahora con el molde y los dos ventiladores funcionando a muy baja revoluciones se queda en 55ºC algo estupendo. Cuando ponga el cable y le ponga algo más rápido el ventilador sin llegar a los límites de que se oiga, espero bajar todavía más.

 

En un uso normal como es navegar en Internet, leer el correo o ver una peli, no supera los 48ºC en ningún momento.

 

Con este sistema, si hay alguien muy jugón, podría ponerlo a la máxima revolución manteniendo el equipo en unas condiciones muy buenas de ventilación. Además, hay ventiladores mucho más agresivos, pero en mi caso no los necesito y además, como siempre he dicho, quiero una buena ventilación pero que no se oiga.

 

Un saludo, Oscar.

Link to post
Share on other sites

Hola a todos,

 

Ayer no puede hacerlo pero hoy me he bajado al chino a comprar un poco de fieltro adhesivo de ese que se pone en las patas de las sillas y he rodeado el borde inferior del molde así como el círculo de la base del Mac mini para cerrar herméticamente el circuito de aire ambas partes haciendo que ahora fluya sin pérdidas. El resultado ha sido muy claro, ha bajado de los 55ºC metiéndole mucha caña convirtiendo un DivX en QuickTime a tan sólo 51ºC lo que supone una bajada de 4ºC.

 

En cuanto suba el voltaje del cable USB, tal y como expliqué en mensajes atrás seguro que bajará más todavía. Al menos espero una bajada de 4-5ºC más.

 

Un saludo, Oscar.

Link to post
Share on other sites

Hola a todos,

 

Por fin ha llegado dos cosas que estaba esperando; el cable USB que convierte el voltaje del USB de 5 a 9v y un ventilador más interesante para usar que es el Enermax T.B.Silence que en alguna página se puede comprar por unos 12€. Este ventilador consume a 9v 80mA y produce un caudal de 39,6 CFM.

 

Para los que quieran todavía más ventilación tienen la versión Enermax Twister Pressure que proporciona para el mismo voltaje 53,4 CFM y ya para colmo pero hace mucho ruido, el Enermax Twister Storm con nada menos que 111,3 CFM. Si se usa este habrá que anclar el Mac mini al suelo o mueble :-)

Ahora os presento las mejoras sobre la versión anterior...

Este es el ventilador Enermax T.B.Silence que además he aprovechado un conector que tiene para conectarlo al USB. Este ventilador además de ser silencioso se le puede desmontar las aspas para lavarlas en caso de que se ensucien con el tiempo:

Mac19.jpg

 

 

Así es como queda atornillado. Los tornillos son más gruesos y planos por lo que he taladrado el molde con una broca de 6mm. Además así han quedado totalmente rasurados. El aluminio tiene unos 2mm de grosor.

Mac20.jpg

 

 

Y así ha quedado por dentro. Fijaros en el fieltro, el hueco para pasar los cables, etc.

 

Mac21.jpg

 

 

Y dado que el Mac Mini no es recto por la parte inferior, también he rodeado el hueco con fieltro quedando totalmente cerrado el circuito de aire:

 

Mac22.jpg

 

 

Un saludo, Oscar.

Link to post
Share on other sites

Y como mediciones ha dado con este nuevo ventilador a 9v el siguiente resultado:

 

- Temperatura ambiente: 21ºC

 

- Funcionando sin tareas excepto los procesos básicos: 35ºC

 

- Funcionando a tope (convirtiendo DivX a QuickTime): 44ºC

 

- Lo mismo que antes pero sin tener conectado el ventilador trasero de 6cm: 46ºC

 

 

Y con esto finaliza mi aporte. Espero que os resulte de interés mi brico y aquellos que usan el Mac Mini para jugar o intensamente en verano, que puedan refrescar mucho mejor su equipo.

 

 

Como añadidura decir que existen cables que sacan 12v en el puerto USB por lo que iría más rápido el ventilador. También comentar que el molde permite usar ventiladores de 14cm que proporcionan mayor caudal de aire a menor ruido. Y por último, decir que existen cables que incluyen resistencias que reducen el voltaje, ventiladores con ajuste gradual mediante un destornillador o como el primero que usé, con un swich para cambiar el voltaje para todos aquellos que prima el ruido frente al resto de aspectos.

Un saludo, Oscar.

Link to post
Share on other sites

Amigo Ofarcis, mis felicitaciones. :excl: :excl:

No sólo por el currete que te has dado con tu equipo, sino por compartir tus avances y logros con el foro, y tan detalladamente explicado.

Ya tenemos candidato para el mejor hilo de bricolaje informático para el balance de fin de año :lol:

Que te funcione bien y por mucho tiempo.

Damas y caballeros, esto es un foro y lo demás son tonterías. B)

Link to post
Share on other sites

Muchas gracias por el comentario. Siempre es bueno saber que hay a alguien que le interesa mi trabajo.

 

Hay una mejora todavía pendiente que llevo días dándole vueltas; el puerto USB cuando el Mac esta suspendido está activo, eso significa que los ventiladores están encendidos siempre. Eso tengo que resolverlo.

 

De momento estoy barajando la posibilidad de usar una placa de Arduino junto a un sensor de temperatura y activar el ventilador por ejemplo cuando se superen los 30ºC. Voy seguir pensando en posibles soluciones pero por cuestión de coste y precio, creo que esta es la más adecuada.

 

Un saludo, Oscar.

Link to post
Share on other sites

Hola a todos,

 

Después de ondear el tema del Arduino, sería hacer un minicircuito con un sensor de temperatura junto a un software sencillo que lo controle todo. Definitivamente voy a hacer el sistema que será muy fácil de replicar por los que estén interesados.

 

El objetivo de esta electrónica junto al software dentro del Arduino será el que se encienda / apague el Ventilador cuando la temperatura supere por ejemplo los 40ºC. Es decir, cuando el Mac Mini esté encendido y requiera ventilación. Mientras que no esté encendido el ventilador debe quedar totalmente apagado para no consumir ni molestar. Y por otra parte, poder controlar la velocidad del ventilador mediante PWM, de esta manera a mayor temperatura más rápido irá y a menor más lento. Así todo funcionaría mucho mejor.

 

De momento estoy adquiriendo el material que la idea es que no cueste más de 20€.

 

Ya os voy comentando según avance.

Un saludo, Oscar.

Edited by ofarcis
Link to post
Share on other sites

Hola a todos,

 

Lo primero deciros que sigo avanzando poco a poco con el control de todo el sistema de forma automática.

 

No os asustéis de la imagen que vais a ver a continuación, no me he preocupado de ordenar cables y además es el prototipo, no el sistema final:

Mac23.jpg

 

 

En la imagen vemos un Arduino Mega que es muy grande. El final será un Arduino nano que es muy pequeño. Los que no quieran soldar pueden usar un Arduino Uno.

 

Básicamente lo que veis en la imagen es:

 

- La placa Arduino con su microcontrolador y un software que veréis en la siguiente imagen controla la velocidad del ventilador, también activa y desactiva un relé que a su vez enciende y apaga tanto el ventilador grande como el que expulsa el aire.

 

En este circuito veis muchos cables pero luego serán muchos menos. Ahora tengo más cables y resistencias porque deseo ver cómo aumenta la intensidad del ventilador visualmente y el led rojo sustituye al ventilador de la caja.

 

En definitiva, habrá los siguientes componentes en el circuito final:

 

1.- Una placa Arduino nano valorada en unos 5-6€ que controla todo.

2.- Un relé que no creo que supere los 4€.

3.- Un sensor de temperatura, no creo que supere los 3€, que detectará si la temperatura sube pongamos de 40ºC en cuyo caso activa los ventiladores, sino permanecen apagados. Si la temperatura sube el ventilador girará más rápidamente.

 

Y poco más. Bastante simple.

 

Y aquí os dejo el mini programa de prueba que hace disparar y aumentar la velocidad del ventilador mediante modulación de pulsos (PWM).

 

Mac24.jpg

 

 

Que decir que el software se desarrolla con la IDE del Arduino que es gratuito y que existe para Windows, Mac y Linux.

 

Espero en un par de semanas como mucho tener todo el sistema montado y funcionando.

 

Lo que queda es leer la temperatura, eso es muy fácil. Y encender y aumentar respecto a la misma, también es fácil. Lo difícil es tener tiempo :-)

 

Un saludo, Oscar.

Link to post
Share on other sites
  • 2 weeks later...

Hola a todos,

 

Perdonadme pero un virus nos ha dejado a toda la familia KO y ya empezamos a ver la luz. A continuación os voy a presentar el circuito completo de momento en la placa prototipo. Es muy sencillo, os voy a explicar cómo funciona:

 

Un microcontrolador arduino lee un sensor de temperatura (DS18B20) 4 veces por segundo. Si la temperatura es superior a una dada, activa los dos ventiladores tanto el trasero de 6cm para expulsar el aire de la caja como el grande de 12cm que aspira el calor del mac mini. Obviamente esto es extrapolable a cualquier Mac. Si la temperatura es muy elevada se usa una señal PWM que hace que el ventilador vaya más rápido y si la temperatura va bajando el ventilador también baja de velocidad.

 

Es un rato os pongo el código fuente que iría al Arduino. Si compráis un Arduino Nano como el que os presentaré en una foto de este mensaje, se programa el arduino con un software gratuito y desde un puerto USB con el cable que trae. Como veis, todo relativamente bastante sencillo.

 

Para activar los ventiladores usaba un relé, pero el problema que tiene es que hace ruido cuando se activa, por eso he usado un transistor llamado TIP120. Todos los componentes que menciono son muy baratos.

 

Todo el sistema apagado por el software lo podéis ver aquí. Disculpad la calidad de las fotos, las he hecho con el móvil como he podido:

Mac25.jpg

 

 

Y aquí el sistema funcionando cuando la temperatura ha subido:

Mac26.jpg

 

 

No se aprecia muy bien, pero si os fijáis en las hélices se aprecia el movimiento.

 

 

El software manda al puerto serie mensajes de texto saliendo algo así como:

Mac27.jpg

 

 

Si os fijáis, he puesto para probarlo en mi habitación que está a unos 21ºC que si alcanza dicha temperatura o más se active el ventilador durante 1 segundo. En seguida enfría la temperatura y cuando vuelve a calentarse el sensor de temperatura vuelve a activarse.

 

Si os fijáis pone Puesto a: 100. Eso significa que pongo a baja velocidad el ventilador dado que lo mínimo es 0 y lo máximo 255, pero realmente empieza a girar a partir de 75.

 

Si tocase con la mano el sensor de temperatura, este alcanzaría fácilmente los 28 o 29 ºC y entonces se pondría a 255 que es a máxima velocidad.

 

El código del programa es este:

 

 

#include <DallasTemperature.h>

 

#define TemperaturaPin 2

#define PWMPin 3

#define activaVentiladoresPin 4

 

OneWire ourWire(TemperaturaPin);

DallasTemperature sensors(&ourWire);

 

float Temperatura=0.0;

int Velocidad=0;

 

void setup()

{

Serial.begin(57600);

 

TCCR2A = 0x23; // Pin

TCCR2B = 0x09; // Reloj

OCR2A = 79; // Puesto a 25kHz

pinMode(PWMPin, OUTPUT); // Habilita PWM de salida

OCR2B = 62; // pone el ciclo de trabajo del PWM

pinMode(activaVentiladoresPin, OUTPUT);

 

delay(200);

sensors.begin(); //Se inician los sensores

 

digitalWrite(activaVentiladoresPin, LOW);

analogWrite(PWMPin, LOW);

}

 

void loop()

{

sensors.requestTemperatures(); //Prepara el sensor para la lectura

Temperatura=sensors.getTempCByIndex(0);

Serial.print(Temperatura);

Serial.print(" C");

 

if(Temperatura>=21.0){

 

digitalWrite(activaVentiladoresPin, HIGH);

 

if(Temperatura>25.0) Velocidad=255;

else if(Temperatura>24.0) Velocidad=220;

else if(Temperatura>23.0) Velocidad=200;

else if(Temperatura>22.0) Velocidad=150;

else Velocidad=100;

 

Serial.print(". Puesto a: "); Serial.println(Velocidad, DEC);

analogWrite(PWMPin, Velocidad);

delay(750);

}

else{

Serial.println(". Puesto a 0");

digitalWrite(activaVentiladoresPin, LOW);

analogWrite(PWMPin, LOW);

}

 

delay(250);

}

 

Es muy sencillo y básicamente un programa de arduino esta escrito en un lenguaje C muy simplificado, casi para tontos. Consta de dos partes, una función setup y una función loop. La primera configura el arduino con lo que quieres hacer, y la segunda se ejecuta siempre en un bucle indefinido.

 

Voy a explicar el código por encima en otro mensaje para que este no sea un tocho.

Un saludo, Oscar.

Link to post
Share on other sites

La explicación del código la voy a poner para los que estén interesados empezando desde las primeras hasta las últimas. OJO!!! He puesto de momento temperaturas bajas, no las que ponga para que se active el sistema por el Mac Mini. Recordad que este se activará cuando el Mac Mini empiece a tener una temperatura de 38ºC.

 

 

 

#include <DallasTemperature.h>

 

#define TemperaturaPin 2

#define PWMPin 3

#define activaVentiladoresPin 4

 

OneWire ourWire(TemperaturaPin);

DallasTemperature sensors(&ourWire);

 

float Temperatura=0.0;

int Velocidad=0;

 

Estas líneas están antes de las dos funciones setup y loop que he comentado al final del mensaje anterior.

 

La primera incluye al código la librería para usar el sensor de temperatura. Las tres siguientes definen los pines que voy a usar para controlar todo el sistema; pin de lectura de temperatura (pin 2), pin de control de velocidad mediante PWM (pin 3) y el pin que activa el transistor encendiendo los dos ventiladores (pin 4).

 

Seguidamente se define la comunicación entre Arduino y el sensor de temperatura que usa tan sólo un hilo para comunicarse (OneWire). Por último, defino dos variables; la que va a recoger la temperatura y la que define la velocidad que deseo poner al ventilador grande. Recordad que el pequeño siempre se alimenta de 5v y no tiene control de velocidad.

 

 

 

Función que define lo que se va a hacer (setup):

 

 

void setup()

{

Serial.begin(57600);

 

TCCR2A = 0x23; // Pin

TCCR2B = 0x09; // Reloj

OCR2A = 79; // Puesto a 25kHz

pinMode(PWMPin, OUTPUT); // Habilita PWM de salida

OCR2B = 62; // pone el ciclo de trabajo del PWM

pinMode(activaVentiladoresPin, OUTPUT);

 

delay(200);

sensors.begin(); //Se inician los sensores

 

digitalWrite(activaVentiladoresPin, LOW);

analogWrite(PWMPin, LOW);

}

 

La primera linea Serial, establece una conexión del Arduino a mi PC para ver lo que está haciendo mediante funciones print y println. Esto me permite ver en mi PC qué está haciendo el arduino.

 

Las siguientes líneas son un tanto complejas, desde la TCCR2A hasta la OCR2B. Básicamente usa el reloj interno de Arduino para mandar una señal sinuoidal al ventilador a 25KHz. Esto permite que mande 25.000 pulsos por segundo al ventilador si lo activamos para que gire. Dado que el reloj interno del Arduino funciona a 15Mhz (16.000.000 de pulsos por segundo), pues tenemos que indicarle una serie de divisores para que ajuste la señal en la patilla 3 a 25.000 y no a 16.000.000.

 

Lo siguiente es pinMode(activaVentiladoresPin, OUTPUT); esto dice que el pin para activar los ventiladores que es el 4 es de salida. Es decir, no de entrada de datos sino todo lo contrario.

Las dos líneas siguientes, hace una pausa de 200ms y seguidamente inicializa la librería del sensor de temperatura.

las dos últimas líneas apaga o pone a 0 la activación de los ventiladores para que inicialmente estén apagados y la señal de velocidad del ventilador también a cero. Es decir, que cuando se arranca el arduino porque lo hemos encendido los ventiladores están apagados y el sensor de temperatura encendido para saber qué temperatura hace.

Y vamos con la última parte:

 

void loop()

{

sensors.requestTemperatures(); //Prepara el sensor para la lectura

Temperatura=sensors.getTempCByIndex(0);

Serial.print(Temperatura);

Serial.print(" C");

 

if(Temperatura>=21.0){

 

digitalWrite(activaVentiladoresPin, HIGH);

 

if(Temperatura>25.0) Velocidad=255;

else if(Temperatura>24.0) Velocidad=220;

else if(Temperatura>23.0) Velocidad=200;

else if(Temperatura>22.0) Velocidad=150;

else Velocidad=100;

 

Serial.print(". Puesto a: "); Serial.println(Velocidad, DEC);

analogWrite(PWMPin, Velocidad);

delay(750);

}

else{

Serial.println(". Puesto a 0");

digitalWrite(activaVentiladoresPin, LOW);

analogWrite(PWMPin, LOW);

}

 

delay(250);

}

 

Las primeras cuatro líneas lo que hace es preparar el sensor de temperatura para hacer una lectura, recoge la temperatura en grados celsius y lo manda por el puerto serie para verlo en el PC.

 

Para las pruebas, he puesto que si la temperatura es igual o mayor a 21ºC entonces haga lo siguiente:

 

 

if(Temperatura>25.0) Velocidad=255;

else if(Temperatura>24.0) Velocidad=220;

else if(Temperatura>23.0) Velocidad=200;

else if(Temperatura>22.0) Velocidad=150;

else Velocidad=100;

 

Si la temperatura es mayor o igual a 25, pone la velocidad del ventilador grande al máximo.

Sino, Si la temperatura es mayor o igual a 24, pone la velocidad del ventilador a 220 que es alta.

Sino, Si la temperatura es mayor o igual a 23, pone la velocidad del ventilador a 200 que es menos alta.

Sino, Si la temperatura es mayor o igual a 22, pone la velocidad del ventilador a 150 que es media.

Sino, Si la temperatura es mayor o igual a 21, pone la velocidad a 100 que es muy baja.

 

Lo siguiente que hace es:

 

Serial.print(". Puesto a: "); Serial.println(Velocidad, DEC);

analogWrite(PWMPin, Velocidad);

delay(750);

 

Es decir, presenta en el PC la velocidad puesta y manda la señal de velocidad al pin PWM durante 750ms. Y sumando los 250ms restantes, es durante 1s.

 

 

Si la velocidad es < 21ºC entonces:

 

else{

Serial.println(". Puesto a 0");

digitalWrite(activaVentiladoresPin, LOW);

analogWrite(PWMPin, LOW);

}

 

Presenta en el PC que lo ha puesto a 0 apagando tanto el transistor como la señal PWM y espera 250ms. Es decir, que si no tiene que encender los ventiladores, en un segundo hace aproximadamente 4 lecturas de temperatura hasta que si sube la temperatura, pone una velocidad según el calor que haya detectado y mantiene el ventilador a esa velocidad durante 1 segundo. Si aumenta más pues aumenta más la velocidad y así sucesivamente hasta que se enfría el sistema.

 

Un saludo, Oscar.

Link to post
Share on other sites

Y como el proyecto en la Placa de pruebas (protoboard) queda con muchos cables por un lado y por otro, ocupa mucho y es fácil que algo se suelte sin querer, yo voy a partir de una placa genérica en donde sólo hay que poner los componentes y soldar. Quien no quiera soldar, puede intentar montarlo todo mediante cables, pero a la larga es peor.

 

Esto es lo que voy a usar:

Mac28.jpg

 

 

Si os fijáis, hemos pasado de usar una placa grande a algo mucho más pequeño de tan sólo 6 x 4 cm. He puesto encima para que veáis el tamaño el Arduino Nano que ocupa unos 4,4cm de largo. Incluye los leds, un botón de reset, el procesador y un conector mini USB.

 

En esa placa voy a soldarlo todo, espero que el domingo tenga tiempo para hacerlo y una vez hecho os explico cómo lo he hecho y que he soldado y a donde va. Aún así, intentaré poner un esquema al igual que una lista de componentes y unos precios aproximados. Como digo, esto no debe costar más de 20€ y lo ideal sería unos 12-15€. No he echado cuentas todavía pero el objetivo es ese.

 

Espero que os pique la curiosidad mi proyecto y que alguno lo llevéis a la práctica como yo.

Un saludo, Oscar.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.