Sensor capacitivo

10

Existe uma maneira de fazer um Arduino ou outro microcontrolador detectar uma alteração na capacitância?

Estou pensando em ter uma tela na minha porta que só liga quando você toca na maçaneta da porta de metal.

littlebirdceo
fonte

Respostas:

11

Aqui está um tutorial http://www.nerdkits.com/videos/halloween_capacitive_touch_sensor/

O sensor real usado para detectar a presença de uma mão é explicado em detalhes no vídeo, mas aqui está uma visão geral. Nosso sensor opera com o mesmo princípio de que um sensor de toque capacitivo funciona no touchpad do laptop. Esses sensores capacitivos de toque funcionam com a premissa de que os seres humanos são principalmente água. Quando você se aproxima de um campo elétrico, altera a capacitância o suficiente para ser notada pelo sensor.

Em nosso sistema, montamos um circuito RC com um capacitor e um resistor em paralelo. Usamos o MCU para carregar capacitores de até 5V (uma alta voltagem digital). Depois, transformamos o pino em um pino de entrada, que essencialmente desconecta esse nó. Isso permite que o capacitor descarregue através do resistor. A quantidade de tempo que o capacitor leva para descarregar estará relacionada ao valor do resistor multiplicado pela capacitância. Escolhemos um valor de resistor grande o suficiente para que a constante de tempo RC seja longa o suficiente para medirmos com o MCU. Nesse caso, 100K ohms funcionaram muito bem. O sensor nesse caso é duas folhas de papel alumínio, uma conectada ao pino da MCU e uma conectada ao GND. Essas duas folhas criam um capacitor que nosso MCU está carregando e descarregando. Quando suas mãos se movem entre as duas folhas, isso altera o campo elétrico, e, portanto, a capacitância de nossa engenhoca de folha de estanho. O capacitor, portanto, leva mais tempo para descarregar, e isso é detectado pelo código em nosso microcontrolador!

clabacchio
fonte
6

Uma das melhores maneiras que encontrei para medir a capacitância é usar um circuito RC. Use uma porta de E / S digital em um microprocessador para carregar e descarregar o sensor capacitivo através de um resistor fixo. Inicie um timer quando iniciar o ciclo de carga / descarga. Em seguida, use um comparador para detectar quando o capacitor está totalmente carregado / descarregado. Pare o cronômetro quando o comparador disparar. O valor armazenado no timer pode então ser usado para calcular a capacitância do sensor.

mjh2007
fonte
1

Um sensor de toque capacitivo pode ser feito sem hardware adicional. O truque é permitir o pull-up interno de um pino digital e contar os ciclos de CPU necessários para puxá-lo para cima.

Código e explicação: http://playground.arduino.cc/Code/CapacitiveSensor

maxy
fonte
0

Prefiro tirar a parte analógica do trabalho do microntrolador usando o capacitor em teste como parte de um oscilador e depois usando o controlador para medir a largura do fusível. É uma parte extra, mas tive melhores resultados dessa maneira.

Scott Seidman
fonte