Recentemente o autor deste blog desmontou (e sucateou) uma “antiga” CPU (antiga de 2008..); dentre os tesouros encontrados no meio da sucata eletrônica, estava um cooler “fan” do processador Intel Dual core, cujo conector elétrico tinha quatro (4) fios.

   Ao observar os quatro pinos, me perguntei o que cada um deles fazia; e então veio a ideia de descobrir junto com vocês!. Antes de mais nada, eu li um pouco sobre este padrão criado pela Intel neste link. Então o primeiro passo foi olhar a etiqueta e encontrar a tensão e a corrente de trabalho do ventilador: 12V/0,6A (já é um começo).

   O segundo passo foi digitar os part-numbers no Google: D95263-001 e DTC-AAR01. Não encontrei o datasheet do produto, porém logo de cara eu já encontrei este documento, uma especificação do “4-wire PWM Controlled fans” escrita pela Intel em 2004. As informações (página 17) sobre a cor dos fios do ventilador batem com a peça que eu tenho em mãos:

  • 1: GND (fio preto)
  • 2: 12V (fio amarelo)
  • 3: Saída sensor de rotação (fio verde)
  • 4: Entrada PWM de controle (fio azul)

Informações elétricas foram encontradas na página 9 da especificação da Intel:

  • Tensão de operação dos ventiladores Intel: 12V +/-1,2V
  • Corrente máxima não maior que 2A (no caso do meu ventilador, 0,6A)
  • O sensor de velocidade é um tacômetro que fornece 2 pulsos por volta do ventilador; sinal coletor aberto sendo que a placa mãe deve oferecer um resistor de pull-up
  • Frequência de PWM necessária: 25kHz. Nível lógico baixo máximo de 0,8V e alto máximo de 5,25V. Isto quer dizer que estes coolers são controlados com 5V.

Encontrei também esta página, editada pela última vez em 2008, onde existe um pouco mais de informação sobre o padrão 4 fios da Intel.

O fato de o cooler necessitar um PWM na frequência 25kHz me preocupou um pouco, porém após rápida pesquisa achei este link do fórum oficial do Arduino, onde o usuário [dlloyd] postou um exemplo pronto e funcionando. Veja o código abaixo:

   Gravei o código acima no meu Arduino e conectei o ventilador á ele (imagem abaixo), funcionou perfeitamente. Já é um bom começo, mas eu quero fazer mais testes.

esquema de ligacao ventilador intel 4 fios

E a montagem na bancada:

   Eu ainda pretendia utilizar o tacômetro (encoder) presente no ventilador, afim de descobrir a velocidade de rotação do cooler; fiz isso utilizando um resistor de pull-up (conforme recomendado no datasheet da Intel) entre o pino 3 (cabo da cor verde no ventilador) e o +5V (alimentação do Arduino).

Conectei este pino ao osciloscpio DSO138, que vem em forma de kit (eu inclusive já falei sobre este kit aqui); veja como ficou:

osciloscópio DSO138 e ventilador intel

As formas de onda medidas foram obtidas na seguinte sequência:

  • Valor PWM Inteiro ’79’ (100%): 7,5ms cada nível alto; 15ms cada ciclo; 30ms a cada volta (2 pulsos por volta). Velocidade ~2000 RPM

  • Valor PWM Inteiro ’69’ (88%): 9ms cada nível alto; 18ms cada ciclo; 36ms a cada volta (2 pulsos por volta). Velocidade ~1666 RPM

  • Valor PWM Inteiro ’59’ (75%): 10ms cada nível alto; 20ms cada ciclo; 40ms a cada volta (2 pulsos por volta). Velocidade ~1500 RPM

  • Valor PWM Inteiro ’49’ (62%): 10,5ms cada nível alto; 21ms cada ciclo; 42ms a cada volta (2 pulsos por volta). Velocidade ~1428 RPM

  • Valor PWM Inteiro ’39’ (50%): 11,5ms cada nível alto; 23ms cada ciclo; 46ms a cada volta (2 pulsos por volta). Velocidade ~1300 RPM

  • Valor PWM Inteiro ’29’ (37%): 12,5ms cada nível alto; 25ms cada ciclo; 50ms a cada volta (2 pulsos por volta). Velocidade ~1200 RPM

  • Valor PWM Inteiro ’19’ (25%): 14ms cada nível alto; 28ms cada ciclo; 56ms a cada volta (2 pulsos por volta). Velocidade ~1070 RPM

  • Valor PWM Inteiro ‘9’ (12%): 15ms cada nível alto; 30ms cada ciclo; 60ms a cada volta (2 pulsos por volta). Velocidade ~1000 RPM

   Também medi e tabelei os valores de ruído gerados pelo ventilador, utilizando o aplicativo “Sound Meter” para Android. O tabelamento completo do teste está abaixo:

Valor do PWM % de velocidade Velocidade (RPS) tempo por volta (ms) Ruído (dB)
9 12 16,6 60 50
19 25 17,83 56 57
29 37 20 50 60
39 50 21,6 46 65
49 62 23,8 42 68
59 75 25 40 70
69 88 27,76 36 71
79 100 33,333 30 75

   E abaixo um gráfico com os valores tabelados. Observe que a velocidade de rotação do cooler está em RPS (rotações por segundo):

 grafico do teste de ventilador intel

A linha azul representa o percentual de velocidade ao qual o cooler da Intel foi submetido; a linha laranja representa a velocidade do cooler em rotações por segundo; a linha amarela é o tempo em milissegundos que o ventilador leva para dar uma volta completa; e a linha verde é o ruído em dB que o cooler produz ao girar (é bem silencioso).

Finalmente um vídeo do ventilador girando:

Brincando com ventilador de processador Intel! #fan #intelfan #electronics #fritzenlab #Arduino

A post shared by Fritzenlab (@fritzenlabelectronics) on

Conclusões:

  • Mesmo sem ter o datasheet do cooler, foi possível testa-lo graças ao documento descrevendo (ou padronizando) os ventiladores 4 pinos (4-wire) da Intel.
  • Um Arduino UNO é capaz de gerar PWM à 25kHz e controlar este tipo de ventilador
  • O Osciloscópio DIY DSO138 serve muito bem ao seu propósito: barato, fácil de usar e atende á maioria das demandas do hobbysta.
  • Um ventilador de computador antigo pode ser facilmente controlado para projetos DIY de eletrônica

 

Controlar cooler Intel 4 fios com Arduino

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *