Wiring a capacitance sensor to a controller

AI Thread Summary
To wire a capacitance sensor to a controller, connect the signal input directly to the plate and use a large resistor to set the DC potential on the plate. The goal is to charge the plate to a specific potential and detect changes in voltage when capacitance varies, such as when a hand approaches. A method involves sending a pulse to the RC circuit and measuring the time it takes for the voltage to rise, which correlates with the capacitance. It's important to choose an appropriate resistor value to ensure reliable readings and account for potential interference from 50Hz or radio sources. Experimentation is encouraged, as practical testing will provide valuable learning experiences.
kolleamm
Messages
476
Reaction score
44
I'm trying to make a simple capacitance sensor to use with my controller. Do I need two resistors? And where do I place them? I drew a circuit diagram of what I'm thinking so far.
 

Attachments

  • 20160425_102743.jpg
    20160425_102743.jpg
    11.5 KB · Views: 324
Engineering news on Phys.org
As far as I can see, your circuit just connects the sig input directly to -ve. So that's the potential it will always see, unless there is a hidden resistance in the -ve connection (there will be, but it's probably too small to be useful.)
Connect the sig input direct to the plate, but connect from the plate via a big resistance to whatever DC potential you want on the plate.

Then explain:
what is going to happen to the plate,
and what your sig input is going to look for.

It looks to me as if you intended to charge the plate to a certain potential, then detect the change in potential when the capacitance of the plate (to earth) changes. Depeding how fast the capacitance changes, the resistance may have to be quite big because the plate capacitance may be quite small. I don't know how reliable that method is, as I've never tried it.
 
Thanks for your response, here is a diagram I found online of what it should look like, although I'm not certain.
 

Attachments

  • img.gif
    img.gif
    5.4 KB · Views: 429
With the Send & Receive, that looks more like an AC idea. You apply a known alternating voltage to the RC combination and effectively measure the capacitance by reading either the voltage or phase at the junction. When a hand comes near, the capacitance changes and so does the voltage and phase of the signal at the junction.
Oh! Or maybe you just send a single pulse to the RC and measure the time for the voltage to rise. That sounds much more likely if a controller is reading it.
Again I've not done that one, but my guess would be something like,
configure the input to trigger an interrupt when the voltage rises above a threshold. Mainly hold the send low, allowing the plate capacitance to discharge. Periodically, output high to the send, start a timer. When the interrupt triggers, stop the timer, reset the send to low and use the time as the value of the capacitance. Compare it with either a quiescent value or the previous value to decide if the capacitance has changed.
(If you don't want / can't use an interrupt, just keep measuring the ip voltage until it reaches threshold.)

The time to charge (to say 2/3 of Vsend) will be roughly proportional to the capacitance of the plate. (For 63% charge, T=RC) So you choose R to give you a reasonable time count for the quiescent C and expect it to double when a hand is within a cm or so. By reasonable, I mean something you can count reliably - a count of 1 or 2 doubling to 2 to 4 does not give much confidence, 100 doubling to 200 is more obvious, but you don't want to waste time nor risk counter overflow, so no need to use thousands.
The capacitance of the plate might be a few pF, so you get a few μsec for each MΩ of R. (maybe more if plate is covered with suitable dielectric?)

That's my quick off the cuff idea and back of envelope estimates, but, as said, I've not tried it myself. Snags I see are: insulating the plate if you need R too big, and what problems 50Hz pickup might cause (and these days, maybe pickup from radio sources like phones and wifi.)

I'm sure there are others here with more appropriate experience. And if not, try electronicspoint.com or similar.

Edit: Ok I've found where you got the diagram and IMO Arduino playground is a reliable source, so I'd go with their idea (which I'm pleased to see is about what I guessed, only simpler!)
 
Last edited:
  • Like
Likes kolleamm
Merlin3189 said:
With the Send & Receive, that looks more like an AC idea. You apply a known alternating voltage to the RC combination and effectively measure the capacitance by reading either the voltage or phase at the junction. When a hand comes near, the capacitance changes and so does the voltage and phase of the signal at the junction.
Oh! Or maybe you just send a single pulse to the RC and measure the time for the voltage to rise. That sounds much more likely if a controller is reading it.
Again I've not done that one, but my guess would be something like,
configure the input to trigger an interrupt when the voltage rises above a threshold. Mainly hold the send low, allowing the plate capacitance to discharge. Periodically, output high to the send, start a timer. When the interrupt triggers, stop the timer, reset the send to low and use the time as the value of the capacitance. Compare it with either a quiescent value or the previous value to decide if the capacitance has changed.
(If you don't want / can't use an interrupt, just keep measuring the ip voltage until it reaches threshold.)

The time to charge (to say 2/3 of Vsend) will be roughly proportional to the capacitance of the plate. (For 63% charge, T=RC) So you choose R to give you a reasonable time count for the quiescent C and expect it to double when a hand is within a cm or so. By reasonable, I mean something you can count reliably - a count of 1 or 2 doubling to 2 to 4 does not give much confidence, 100 doubling to 200 is more obvious, but you don't want to waste time nor risk counter overflow, so no need to use thousands.
The capacitance of the plate might be a few pF, so you get a few μsec for each MΩ of R. (maybe more if plate is covered with suitable dielectric?)

That's my quick off the cuff idea and back of envelope estimates, but, as said, I've not tried it myself. Snags I see are: insulating the plate if you need R too big, and what problems 50Hz pickup might cause (and these days, maybe pickup from radio sources like phones and wifi.)

I'm sure there are others here with more appropriate experience. And if not, try electronicspoint.com or similar.

Edit: Ok I've found where you got the diagram and IMO Arduino playground is a reliable source, so I'd go with their idea (which I'm pleased to see is about what I guessed, only simpler!)
Thanks for the advice! I'm going to to try out the sensor and hey if it doesn't work at least I'll learn something. But I'm really hoping it does work :)
 
Thread 'Weird near-field phenomenon I get in my EM simulation'
I recently made a basic simulation of wire antennas and I am not sure if the near field in my simulation is modeled correctly. One of the things that worry me is the fact that sometimes I see in my simulation "movements" in the near field that seems to be faster than the speed of wave propagation I defined (the speed of light in the simulation). Specifically I see "nodes" of low amplitude in the E field that are quickly "emitted" from the antenna and then slow down as they approach the far...
Hello dear reader, a brief introduction: Some 4 years ago someone started developing health related issues, apparently due to exposure to RF & ELF related frequencies and/or fields (Magnetic). This is currently becoming known as EHS. (Electromagnetic hypersensitivity is a claimed sensitivity to electromagnetic fields, to which adverse symptoms are attributed.) She experiences a deep burning sensation throughout her entire body, leaving her in pain and exhausted after a pulse has occurred...
Back
Top