0
\$\begingroup\$

I'm interested in adding capacitive touch input to a project I'm working on. Ideally I would like a tapered shape so that a finger can slide up as if it's a mixing desk fader or something like that.

However, everything I read about capacitive touch input online involves using an ADC/microcontroller to digitise the value, then use software to determine the output. I am wondering if there is any circuit which can achieve this without any code: a capacitive touch input, which creates a voltage proportional to how much capacitance* the finger is exerting on it.

So, is there an analog circuit which can achieve this without any microcontroller?

*The capacitance varying through either the distance of the finger from the sensor, or some kind of tapered sensor as I mentioned. I'm aware that external factors could affect the capacitance too.

\$\endgroup\$
2
  • \$\begingroup\$ tinyurl.com/y63n8mrn is one approach that may work for you \$\endgroup\$ – BeB00 Jul 19 '20 at 21:14
  • \$\begingroup\$ Do you have any idea what your capacitance and ESR range is yet? Then define an output or range. If not why not? \$\endgroup\$ – Tony Stewart EE75 Jul 19 '20 at 22:48
2
\$\begingroup\$

So, is there an analog circuit which can achieve this without any microcontroller?

Sure. The classical way of measuring capacitance is building an oscillator whose frequency depends on the capacitance.

From there, multiple ways:

  • if you waveform is already stable in amplitude, i.e. the amplitude doesn't depend on any factors and especially not the capacitance, a simple low-pass filter can be used to dampen the wave proportionally to its frequency; a rectifier following that (and another, but higher-frequency low pass, to get rid of the harmonics) can convert that then into an inversely frequency-proportional voltage.
  • If you can't make reliable statements on the oscillation's amplitude, a number of ways, easiest probably being strong amplification sufficient for converting it into a square wave, can be walked to get a constant-envelope waveform.
  • If you have complexity to spare: use a reference oscillator, and a phase error detector as in a PLL. The error signal's average is proportional to the frequency deviation.

Other ways include delta-sigma conversion of the capacitance through measuring the time it takes to charge it; but now we're getting dangerously close to digital domain again, and you wanted to do it in analog.

\$\endgroup\$
1
  • \$\begingroup\$ Thanks for your answer! I'll investigate those methods \$\endgroup\$ – Robert Jul 27 '20 at 9:58
2
\$\begingroup\$

So, is there an analog circuit which can achieve this without any microcontroller?

A Theremin springs to mind: -

enter image description here

Not just outdated since black and white days but still made: -

enter image description here

Basic Theremin kit including schematics.

Here's a nice tube/valve schematic from here (pity about the lack of values) but I'm sure if you dig around they will turn up: -

enter image description here

\$\endgroup\$
2
  • \$\begingroup\$ oooh nice reference implementation! \$\endgroup\$ – Marcus Müller Jul 19 '20 at 21:31
  • \$\begingroup\$ I love this idea thanks, will investigate it some more! \$\endgroup\$ – Robert Jul 27 '20 at 9:56
1
\$\begingroup\$

I mentioned this in a comment, but one simple implementation (of Marcus Millers post) is to use a relaxation oscillator, and then filter out everything except the edges (with the 1nf capacitor + 100 ohm resistor + diode), then smooth this out and amplify it with another opamp. You can play around with this here. The voltage will go down when a finger is placed on the touch sensor (a typical range is 100-200pF with finger present, <10pF with finger not present), and will vary (linearly?) with the amount of capacitance.

enter image description here

\$\endgroup\$
3
  • \$\begingroup\$ Hi, thanks for your answer. I like this idea circuit-wise. On the schematic attached however, I am confused as to which part is the touch pad? Is it the 100pF cap at the left? If so, where is the 1k resistor? I thought that a capacitive touch pad only really would have one place to connect to \$\endgroup\$ – Robert Jul 27 '20 at 9:56
  • 1
    \$\begingroup\$ @Robert The resistor and capacitor is a simulation of a finger on the touch pad. Your touch pad would be that connection (i.e. a piece of metal connected to the 100k resistor and 10pf capacitor. \$\endgroup\$ – BeB00 Jul 27 '20 at 20:31
  • \$\begingroup\$ Understood, thanks I'll play around with it! \$\endgroup\$ – Robert Jul 29 '20 at 8:03
0
\$\begingroup\$

you could simply rectify what 60Hz energy is coupled into a tapering metal stripe udre som ethin insulation. By peak_detecting the energy, you have a linear measure of capacitance; this will change dramatically, as your body moves around in the Electric Field in your workspace; an alternative is to rest your forearm on a plate driven by 1,000Hz, and you simply filter for the 1,000 Hz, now having your entire body moving slightly with 1,000Hz sin.

WHen your finger is on the very narrow end, most of the 60Hz Efield moves to the underlying metal plate.

As your finger slides to the wider part of the tapering metal strip, more and more of the 60Hz displacement current couples onto the strip instead of moving a millimeter further to the underlying metal plate.

And at the very widest part of the tapering metal strip, essentially ALL of the 60Hz Efield from your finger has coupled onoh the tapering sensor strip.

As you press your finger harder, you will get more displacement current, so you need to anticipate that effect.

==========================================

You need two layers of insulation, and a metallic base plate, and the tapered metal strip which is your sensor.

How much current? Assume 1cm by 1cm area, and 1mm distance form your finger to the taperer sensor. Assume the Relative Dielectric Constant of the insulation is 5. Why not?

C = E0 * Er * Area/ Disrance

C = 9e-12 farad/meter * 5 * (1cm * 1cm) * 1mm

C = 45e-12 * 0.0001/0.001 = 45e-12 * 0.1 = 45.e-12 = 4.5 picoFarad

plus/mimus

At 160 volts at 60Hz, the SlewRate is 160 * 377 ~~~ 60,000 volts/second

assuming there are no SPIKES from motors or fluorescent lights.

The current (Maxwell's Displacement Current) is

using Q = C * V, differentiate with dC/dV being constant,

get dQ/dT = C * dV/dT

whihci becomes I = C * dV/dT

And substrituting, I = 4.5pF * 60,000 volts resone sinusoid

I = 4.5e-12 * 6e+4 = 27e-8 = 270 nanoAmperes (with maybe 50% accuracy on this math)

NOte 1 MegOhm shunt, sensed by UNity Gain BUffer, produces 0.27 volts.

For 1,000 Hz at 10 volts, (charging your body thru 1Kohm resistor! why not), yo uget approximatey the same 0.27 volts.

\$\endgroup\$
1
  • \$\begingroup\$ Thanks for your answer! Is the 60Hz coming from the mains supply? I.e. this is assuming that either the circuit is mains power or that I am in an EM-noisy environment? \$\endgroup\$ – Robert Jul 27 '20 at 9:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.