Uma das principais características do microcontrolador MSP430 da Texas Instruments (www.ti.com) é sua baixíssima potência consumida, o que o torna ideal para aplicações em que a alimentação é crítica, principalmente as que fazem uso de baterias. Nesse artigo descrevemos uma aplicação em que o MSP430 é usado para medir a resistência de um sensor através de sua entrada A/D e com isso fazer o acionamento de sistemas externos, tudo isso com um baixíssimo consumo. São dados dois circuitos, um usando o MSP430F1111A e o outro usando o MSP430F413.
A conversão de grandezas analógicas para a forma digital é crítica em muitas aplicações que envolvem o uso de microcontroladores.
O que ocorre é que no mundo real a maioria dos sinais com que os circuitos tem de trabalhar é analógica, o que significa que devem ser convertidos para a forma digital antes de serem trabalhados por um microcontrolador.
Para fazer essa conversão existem vários tipos de ADC que podem ser usados. No entanto, se um módulo ADC não está disponível no dispositivo MSP430 escolhido para o projeto, é possível ainda fazer a digitalização do sinal de entrada com o comparador e o timer integrados, usando uma técnica denominada “slop A/D conversion”.
Justamente para mostrar como isso é possível, a Texas Instruments em seu Application Report SLAAB129B, de janeiro de 2006, descreve um termostato com dois projetos possíveis.
Cada um dos projetos usa a técnica indicada para medir a resistência de um termistor externo. Uma vez que o software obteve a informação digitalizada da temperatura num ambiente, ele compara isso com o ponto de ajuste e decide de que modo a temperatura no local deve ser levada ao valor normal.
A Técnica Slope A/D com o MSP430
A Slop A/D Conversion ou conversão A/D por rampa é uma técnica que pode ser implementada com um comparador. A técnica é baseada na carga e descarga de um capacitor de valor conhecido.
O número de ciclos de clock necessários para se obter a descarga completa do capacitor é então contado. Uma descarga mais longa, indica uma tensão de entrada elevada enquanto que um número de ciclos de clock menor, indica uma tensão de entrada mais baixa, conforme mostra a figura 1.
O valor da tensão de entrada pode então ser calculado a partir de fórmulas simples de carga e descarga de um capacitor.
Além de medir tensões, uma variação da mesma técnica pode ser usada para medir resistências. Isso é útil quando se utilizam componentes que funcionam, como transdutores resistivos tais como potenciômetros, termistores e muitos outros.
No caso, o eu se toma é a relação entre a resistência e o tempo de descarga do capacitor. Como essa relação for linear, o cálculo que leva a digitalização dos sinais é muito mais simples do que no caso da carga de um capacitor por tensão que é exponencial.
Na figura 2 mostramos então a configuração de hardware usada para medida da resistência de um sensor com o comparador do MSP430.

O circuito mede a resistência do sensor, descarregando o capacitor Cm através dele e medindo o tempo em que isso ocorre. A descarga é feita através do resistor de referência.
Uma grande precisão pode ser obtida através desse método, a qual pode ser ampliada para ser implementadas em maior número de dispositivos MSP430.
A única limitação do processo mostrado está na baixa velocidade com que o processo de carga e descarga ocorre, além da necessidade de código adicional e ciclos de execução para se fazer a medida e cálculo da temperatura.
O gráfico que mostra como esse processo de carga e descarga ocorre é dado na figura 3.

Se o leitor estiver interessado nos cálculos envolvidos no funcionamento do circuito pode acessar a literatura original no site da Texas Instruments digitando SLAA129B no “search” (busca).
Implementação do Termostato
A Texas Instruments mostra dois circuitos em que o método da aquisição de dados pela rampa de descarga de um termistor é usado.
O primeiro circuito consiste num termostato de baixo custo usando o MSP430111A. Nesse circuito a temperatura desejada é ajustada num potenciômetro. Os LEDs piscam momentaneamente para mostrar se a unidade está acima ou abaixo da temperatura desejada. A conversão por rampa também é usada nesse caso para determinar a posição do potenciômetro.
O segundo exemplo, tem recursos mais avançados usando o MSP430F41x. Esse circuito alimenta um LCD para mostrar tanto a temperatura real como a temperatura ajustada, dependendo do modo. Botões são usados para mudar os modos e ajustar os valores.
Termostato de Baixo Custo com o MSP4301111A
O circuito dessa versão é mostrado na figura 4. O software é programado para um ciclo completo a cada 5 segundos, seguido de uma interrupção.

Entre as interrupções, o dispositivo permanece no modo de baixa potência (LPM3) e com isso consome muito pouca energia.
Para utilizar o usuário seleciona a temperatura desejada pelo potenciômetro. A função termostato indica então se o ambiente deve ser aquecido ou esfriado para alcançar a temperatura ajustada, usando para essa finalidade LEDs indicadores.
Ao mesmo tempo o LED “system on” é acionado. Se a temperatura estiver no ponto ajustado, apenas o LED “system on” acende.
A ideia é usar as saídas de aquecer ou esfriar para acionar algum dispositivo externo que faça isso automaticamente.
Como não existe um indicador de temperatura, o ajuste deve ser feito num ambiente apropriado com temperatura conhecida.
O termistor indicado no projeto é da BC Components 2322-640-54103, nas equivalentes podem ser empregados. Esse dispositivo tem uma faixa de temperaturas de 4,7 k a 14,7 k quando a temperatura varia de 65º a 90º F.
Na figura 5 temos um gráfico que analisa os ciclos de consumo do dispositivo durante sua operação.

Nesse gráfico os pontos indicam:
1 – Modo ativo – execução do loop principal
2 – Carga do capacitor
3 – Descarga do capacitor
4 – O loop principal processa os dados
5 – Acionamento do LEDs
6 – Sleep
Termostato Avançado com o MSP430F413
Na figura 6 temos o circuito para essa versão.

Esse circuito utiliza um display, o clock em tempo real e a fixação dos parâmetros por interruptores de pressão. A loop principal roda a cada segundo. Entre as interrupções o dispositivo entra no modo LPM3, passando a um estado de muito baixo consumo.
Utilização:
• Termostato – mede a temperatura e apresenta-a no LCD. Se a temperatura mostrada for menor do que a ajustada como ideal, o LED é acionado para indicar que a refrigeração está ativada.
• Ajuste – permite ao usuário ajustar a temperatura usando o LCD e a chave set. Pressionando set repetidamente, temos temperatura ajustada subindo, voltando aos 60 quando os 95 forem alcançados. Outra faixa de valores pode ser programada.
• Time – mostra o clock em tempo real no mostrados. O tempo pode ser mudado pressionando-se a chave set.
• Seconds – conta segundos e os mostra no LCD.
Conclusão
O que vimos nessa aplicação foi uma demonstração de como os recursos do MSP430 podem ser usados para se ler grandezas analógicas a partir de transdutores resistivos, mesmo sem que seja usado um conversor analógico digital comum no projeto.
A aplicação como termostato faz uso de um NTC como sensor, mas outros sensores equivalentes podem ser usados como potenciômetros em sensores de posição e LDRs em fotômetros. Sistemas de iluminação automáticos podem ser implementados nesse caso.