Uma tecnologia em alta nos dias atuais é a que aproveita o aumento da capacitância de um circuito quando aproximamos nossos dedos, que funciona como uma das armaduras de um capacitor. No caso específico dos projetos com microcontroladores, essa tecnologia possibilita a utilização de abordagem muito interessante para se " ler" quando alguém toca no sensor. É justamente dela que tratamos nesse artigo.

O simples toque dos dedos num painel pode ser aproveitado para comutar circuitos de diversas formas. A maneira mais tradicional, e não muito conveniente, é a que aproveita a resistência de pele. Tocando simultaneamente em dois eletrodos, uma pequena corrente passa através do dedo e é detectada pelo circuito, conforme mostra a figura 1.

 

Figura 1
Figura 1

 

No entanto, uma tecnologia muito mais apropriada e que não necessita do contacto elétrico dos dedos com um circuito, o que, em termos de segurança é muito melhor.

A tecnologia do sensoriamento capacitivo é usada em uma infinidade de equipamentos eletrônicos. No entanto, como detectar o toque ou a variação da capacitância é algo que exige que se vençam diversos desafios.

No caso específico dos microcontroladores, pode-se trabalhar com uma tecnologia direta bastante interessante que abordamos nesse artigo.

 

Sensores Capacitivos

Se colocarmos duas placas condutoras, uma próxima da outra tendo sobre elas um material isolante (dielétrico) como, por exemplo, o vidro ou plástico, o conjunto se comporta como um capacitor, conforme mostra a figura 2.

 

Figura 2
Figura 2

 

A capacitância apresentada por esse conjunto depende do dielétrico e do tamanho e separação das placas condutoras. Quando tocamos com o dedo na placa isolante, sem fazer contacto elétrico portanto com os eletrodos (armaduras), o dedo passa a apresentar uma capacitância adicional, como mostra a figura 3.

 

Figuras 3
Figuras 3

 

A capacitância total apresentada pelo conjunto passa a ser então a soma das capacitâncias do sensor em sí, mais a capacitância apresentada pelo dedo.

Em suma, o circuito vê o conjunto de duas formas: com uma capacitância menor quando não há nada tocando e uma capacitância maior quando os dedos o tocam.

Partindo desse fato, o toque pode ser detectado pela variação da capacitância que ocorre quando alguém toca no sensor. Para essa finalidade existem diversas tecnologias possíveis como, por exemplo, detectar a mudança de freqüência de um oscilador cuja freqüência é controlada por esse capacitor ou ainda, como veremos a seguir, pela variação do tempo (contagem) que o sensor demora para carregar quando está sem o toque e quando há o toque.

Outra possibilidade consiste em se utilizar um oscilador em manutenção crítica, o qual paralisa seu funcionamento quando a capacitância aumenta.

 

As Tecnologias

Uma tecnologia simples, porém não muito conveniente, é a que faz uso de um filtro passa baixas ou ainda de um filtro sintonizado. Nesse caso, o sensor capacitivo controla a freqüência de um oscilador cujo sinal é aplicado a esse filtro.

Na condição de nenhum toque, a freqüência fica acima da faixa passante do filtro ou da freqüência sintonizada pelo filtro e nenhum sinal de controle passa.

Quando alguém toca no sensor, a freqüência cai abaixo da freqüência de corte do filtro ou passa pela freqüência sintonizada gerando assim um sinal de controle.

Para a tecnologia dos microcontroladores, um processo muito melhor é o que faz uso da contagem da comparação da freqüência de um oscilador controlado pelo sensor com um valor pré-determinado, conforme ilustra o diagrama da figura 4.

 

Figura 4
Figura 4

 

A capacitância típica de um sensor desse tipo está na faixa de 5 a 15 pF e a freqüência do oscilador que ele controla está na faixa de 100 kHz a 400 kHz. A freqüência exata do oscilador não é importante, pois o que vai se programar é apenas uma comparação de pulsos contados a partir de certo valor.

Assim, o microcontrolador é programado para contar os pulsos num intervalo de tempo quando não há toque algum e portanto tem o valor máximo (freqüência mais alta).

Os pulsos do oscilador são contados e comparados com uma referência que corresponde ao valor que vai ocorrer quando a capacitância aumentar, ultrapassando certo valor o que indica o toque.

Assim, o que se faz é determinar a faixa de pulsos abaixo da qual o comparador vai atuar, fornecendo um sinal de saída que indica o toque.

 

Solução Microchip

Em seu Application Note AN1101, a Microchip (www.microchip.com) apresenta um circuito oscilador que pode ser elaborado em torno de um PIC usando uma configuração RC para gerar o sinal na faixa de freqüências desejada. Esse oscilador é mostrado na figura 5.

 

Figura 5
Figura 5

 

O circuito aproveita dois comparadores, funcionando no modo de relaxação. O capacitor de 1 000 pF tem por finalidade rejeitar o ruído de alta-freqüência da fonte de alimentação.

Nesse circuito o capacitor carrega e descarrega segundo um ciclo que é mostrado na figura 6.

 

Figura 6
Figura 6

 

Uma vez que o oscilador tenha sido projetado, o problema seguinte consiste em se detectar a queda da freqüência que ocorre quando a capacitância do sensor aumenta (pelo toque).

 

Figura 7
Figura 7

 

O circuito da figura 7 mostra como isso pode ser feito com um PIC. Nesse circuito o pino C2OUT é usado tanto para fornecer o sinal de realimentação que mantém o oscilador em funcionamento como também aplica o sinal à entrada de clock do Timer1, TICK1.

Cada vez que a saída C2OUT muda de nível lógico , o Timer1 vai incrementar a contagem de uma unidade. No entanto, esse evento ainda não serve para fazer o sensoriamento capacitivo.

Para se conseguir isso, uma base de tempo fixa é usada para medir a freqüência num determinado intervalo de tempo. O Timer0 é usado para essa finalidade No início da medida, o Timer0 é zerado e depois contará até 255 e então vai transbordar.

No transbordamento (overflow), o Timer0 interrompe T0IF o que faz com que o vetor de programa interrompa a rotina de serviço. O valor de TMR1 é então lido e comparado com as leituras prévias. Isso consiste numa varredura única do botão sensor.

Se o valor atual de TMR1 é mais baixo, isso significa que a capacitância aumentou e a freqüência caiu o que foi causado pela presença do dedo no sensor.

Com lógica apropriada, novos valores podem ter a média tirada e comparados com uma média de referência, resultando assim num melhor processo de comparação.

No final da interrupção da rotina de serviço, uma vez que seja detectada a ativação do sensor, tanto o Timer1 como o Timer0 são ressetados para um novo ciclo de leitura do sensor.

Mais informações sobre esse procedimento o leitor encontra no AN1101 inclusive as rotinas que devem ser utilizadas na programação para essa finalidade.

 

Conclusão

A possibilidade de fácil implementação de sensores de toque capacitivos em circuitos comuns que usam microcontroladores, além da segurança que trazem, pela não necessidade de contactos elétricos tornam essa opção muito interessante para equipamentos de consumo.

O que vimos nesse artigo dá uma idéia ao leitor de como isso pode ser implementado não só nos microcontroladores da Microchip como em quaisquer outros.