Um ponto crítico para o funcionamento de um PC é a manutenção da temperatura de suas diversas partes, principalmente o microprocessador. Qualquer elevação da temperatura acima dos limites estabelecidos pelo fabricante pode causar sua queima ou danos irreversíveis. Com a finalidade de manter uma ventoinha em funcionamento, ou acionando-a quando a temperatura se eleva existem muitos recursos, mas nada melhor do que os que fazem uso de recursos inteligentes, como o que descrevemos nesse artigo. Trata-se de um controle de temperatura usando o microcontrolador MSP430F417 da Texas Instruments. Esse artigo foi baseado no Application Report SLAA259 da Texas Instruments (www.ti.com).
Sistemas de refrigeração comuns fazem uso de ventoinhas ou ventiladores que têm por finalidade eliminar o ar quente gerado por um sistema, transferindo-o para o meio ambiente. No caso mais simples, o sistema é mantido ligado continuamente, operando à plena velocidade.
No entanto, um sistema que opera dessa maneira, apesar de ser eficiente, tem seus inconvenientes. O primeiro é que ele consome sempre o máximo de energia e opera de forma ruidosa. Uma forma inteligente de se usar os recursos de um sistema de ventilação seria controlar sua velocidade e momento de operação de tal forma que a temperatura do sistema seja mantida estável dentro de um mínimo de consumo de energia.
Isso pode ser feito com a ajuda de um microcontrolador, como o MSP430F417 num sistema conforme o que vamos descrever a seguir.
O MSP430F417 foi escolhido por ter pinos para acionar um display LCD que permite mostrar ao usuário o status do sistema, temperatura e também a velocidade da ventoinha (tacômetro). O código dado pode ser facilmente adaptado para rodar em qualquer outro microcontrolador da série MSP430 e ventoinhas de 3 ou 4 fios sem escovas com alimentação DC podem ser controladas. Na figura 1 temos o fluxograma para o programa da aplicação descrita.
Arquitetura do Sistema
O software fornecido para o MSP430 permite que uma ventoinha comum seja facilmente conectada a placa de desenvolvimento como a SoftBaugh ES417, que possui um exemplo de aplicação funcional desse circuito. Como a maioria das ventoinhas possui um gerador interno de freqüência que aumenta com a velocidade de rotação, o MSP430 pode monitorar esse sinal, usando-o para implementar o tacômetro que mede essa velocidade. Na figura 2 temos o diagrama de bloco básico da aplicação, observando-se o uso de um NTC como sensor.
A conexão da ventoinha depende de seu tipo, se de 3 ou 4 fios, sendo tipicamente feita por uma interface como a mostrada na figura 3, para o caso de 3 fios.
Num projeto prático é importante levar em conta as características específicas da ventoinha que vai ser usada. Os transistores e resistores para esse interfaceamento eventualmente precisão ser otimizados para se obter o funcionamento ideal. Para o caso de uma ventoinha de 4 fios, a interface típica é mostrada na figura 4.
Funcionamento
No exemplo dado, o software tem 6 níveis de velocidades definidos para o sistema (de L0 a L5). Pode-se alterar facilmente esse número de níveis pela simples alteração do software. Cada nível é dado por uma faixa determinada de temperaturas que define a velocidade da ventoinha. Isso significa que a velocidade aumenta quando a temperatura sobe e à medida que ela baixa, a ventoinha diminui automaticamente de velocidade, mantendo constante a temperatura do sistema.
Para fazer isso o microcontrolador toma por referência a corrente no motor e a temperatura medida pelo sensor. O LCD ligado ao microcontrolador é constantemente atualizado com informações como as RPM da ventoinha e a temperatura medida pelo termistor. As setas no display apontando para cima e para baixo servem para indicar se a velocidade da ventoinha está aumentando ou diminuindo naquele instante. Da mesma forma
Sensoriamento
Para o sensoriamento de temperatura existem diversas opções. Uma delas consiste em se usar o próprio sensor que a maioria dos dispositivos da série MSP430 possui internamente. No entanto, se o sensoriamento tiver de ser feito em local distante de onde se encontra o microcontrolador, como no caso do microprocessador de um PC, pode ser usado um NTC comum de 10 k ohms, como no exemplo apresentado.
Esse sensor é ligado a entrada do canal ADC, formando um divisor de tensão, de modo que a tensão monitorada varie com a temperatura.
Essa tensão é convertida para a forma digital e processada pelo circuito. Com o software dado no exemplo, é possível converter os valores de resistências do NTC e portanto a tensão aplicada ao MSP430 em temperaturas numa faixa de -50 oC a +99 oC com incrementos de 1º C.
Evidentemente, se termistores com características diferentes forem usados devem ser feitas alterações no software para se obter a correta conversão de temperatura.
Lógica de Controle do Motor
O MSP430 deve tanto monitorar as condições de alarme como a operação do motor da ventoinha. Normalmente os motores usam um sinal PWM (Modulação por Largura de Pulso) para determinar sua velocidade de rotação. Assim, para o controle correto de um motor desse tipo, devem ser gerados sinais com freqüência e ciclos ativos que correspondam as características exigidas pelo motor.
Todos os microcontroladores da série MSP430 possui pelo menos um timer de hardware e 3 registradores de captura e controle associados (CCRs). Assim, os MSP430 podem gerar pelo menos dois sinais PWM da mesma freqüência e com ciclos ativos diferentes. Atualizando o valor do CCR, o MSP430 pode efetivamente mudar a velocidade de um ou mais ventoinhas aumentando ou diminuindo o ciclo ativo do sinal PWM gerado, sem a produção de qualquer ruído audível.
Algumas ventoinhas são equipadas como uma saída de tacômetro que pode ser utilizada como entrada para o microcontrolador. Como exemplo, uma determinada ventoinha gera dois pulsos por revolução, permitindo que o MSP430 use esses pulsos para fazer a conversão de velocidade em RPM. No exemplo dado de software, o timer Watch Dog é usado como um intervalador que periodicamente verifica a temperatura do termistor e a partir de seu valor determina a velocidade das ventoinhas de acordo com essa temperatura.
A rotina de interrupção de serviço IISR) pode ser modificada facilmente para incorporar um critério de seleção de velocidade de cada tipo de ventoinha, conforme sua aplicação. O intervalo default é de 1 segundo, baseado no clock auxiliar de 32,768 kHz.
O Display Mostrando a Velocidade
O display usado possui 4 dígitos, sendo do tipo encontrado na placa de desenvolvimento ES417, os quais são usados para mostrar a velocidade de rotação em RPM. Os três dígitos que sobram no display são usados para mostrar a temperatura em graus Farenheit.
Evidentemente, modificações no software podem fazer com a indicação seja em graus Celsius.Na figura 5 mostramos o display usado em detalhes, com as indicações que ele fornece sobre status da rotação, nível de operação, temperatura e velocidade.
O display usado é do tipo SBLCDA4.
Modificações Para uma Ventoinha Específica
Na documentação fornecida pela Texas Instruments são dados os elementos necessários para se modificar o código fonte de acordo com o tipo de ventoinha usada. Essas informações partem do tipo (3 ou 4 fios) e das características específicas, facilitando assim o projeto para um determinado tipo de ventoinha.
Parâmetros para a Temperatura de Operação
Muitos sistemas controladores de ventoinhas definem faixas pré-determinadas de temperatura que correspondem a uma velocidade específica do motor. O código fonte fornecido nesse artigo proporciona 4 faixas ou níveis de ajuste, de tal forma que, quando a temperatura cai numa dessa faixas o microcontrolador ajusta o motor da ventoinha para a velocidade correspondente. No entanto, nos pontos de transição das bandas existe uma região de histerese onde a velocidade do motor não pode ser ajustada com precisão.
Na verdade, essa histerese faria com que o motor oscilasse entre duas velocidades quando a temperatura se encontrar numa dessas faixas. Para evitar o problema pode-se programar um "gap" ou banda de histerese, na qual as leituras de temperatura não seriam consideradas para efeito de controle. Para o projeto indicado essa banda é de +/- 1º C, o que significa que somente quando a temperatura sai dessa faixa na zona de transição entre duas bandas é que ocorre a correção da velocidade.
Conclusão
O que vimos nesse artigo mostra como um microcontrolador da série MSP430 pode ser usado na implementação de um eficiente controle de temperatura para PC ou outro equipamento semelhante, usando uma ventoinha comum. A documentação fornecida pela Texas Instruments fornece informações adicionais para os leitores que desejarem utilizar esse projeto, além do que existem referência importantes sobre outros artigos que também podem ser usados como fonte de informações. O software pode ser obtido digitando-se SLA259 no Search da Texas Instruments em www.ti.com.