Tutorial Capacitive Sensing
Here, the sensor capacitance is continuously switched between two voltage levels using two non-overlapping clocks driving Sw1 and Sw2 respectively. This emulates a resistance of R=1/fCsensor where f is the switching frequency of clock1 (See Figure 7).
The output of the flip flop in the above circuit is a density modulated bit stream, the duty cycle of which increases with a decrease in resistance. This bit stream goes to the enable signal of a timer, which measures the amount of time for which the F/F output is high during a given time T (decided by the timer resolution and clock frequency).
Bringing a finger close to the sensor increases Csensor and hence decreases Rs. This leads to an increase in the average duty cycle and hence the timer output value. Note that any noise on the input of the comparator is now integrated over n cycles of clock (here n is the timer resolution) and so the effect of noise is lower in such implementations.
It is important to quantify various signal and noise parameters associated with any system in order to evaluate its performance and reliability. While reporting a finger press, it becomes crucial that only a valid finger press should be reported i.e. a noisy environment should not cause spurious detections.
Any unwanted change in the signal, whether from devices operating in its vicinity or environmental changes, can be termed as noise. When measuring a change in capacitance of the order of femto Farads, a small amount of noise can also lead to spurious detections. Before going into the techniques of how to build a system where the effect of noise is minimal, it is important to understand the possible sources of noise.
Different types of noise
A capacitive sensing system is mainly susceptible to noise generated from the following three sources:
1. Radiated noise – Any operating circuitry radiates energy that can potentially create problems with the operation of other circuits in its vicinity. Capacitive sensing buttons constitute only the user interface part of any system, and generally there is much circuitry sitting behind the user interface. This nearby circuitry can also radiate noise if not properly designed. Sources of noise can be the LCD (Liquid Crystal Display), switching power supplies, mobile phone, Wi-Fi radio, etc.
2. Conducted noise – A noisy power supply is the most common source of conducted noise. The increasing demand of low cost implementations forces developers to use less expensive supplies which in turn generate more noise. This can adversely affect the operation of the sensor. A human body touching the sensor can also couple a 50/60Hz common mode noise into the system.
3. Environmental changes – Changes in environmental parameters such as humidity, temperature, and device aging also change the capacitance of the sensor. Such unwanted changes can also be termed as noise.
So how do we ensure that noise will not cause spurious detections? If we define a signal-to-noise ratio for a particular system and ensure that the noise in the system is much less than the required signal, we can ensure spurious free detections. Here is how we define signal and noise in such a system:
Signal: Signal can be defined as the change introduced by the finger in the timer output value.
Noise: When a finger is not present, the timer output will vary by a small amount for each scan because of various noise sources. The consolidated effect of such noise can thus be measured by monitoring the peak-to-peak variance in the timer output value for a number of scans.
Figure 8 illustrates SNR:
Figure 8: Signal and noise for the demonstration of SNR
It might look a little tricky, but maintaining a good SNR is not very tough. There are multiple techniques for achieving a good SNR, which are as follows:
1. Tuning (Auto or Manual) – Calibrate the device during the design phase to ensure that it exhibits a minimum of 5:1 SNR for fail-safe operation. Using some software overhead, this manual tuning effort can be switched to auto-tuning wherein the device calibrates itself in the field to ensure that it achieves the minimum SNR required. Cypress’ SmartSense solution is an example of such an innovative technique.
2. Auto correction – Gradual changes in capacitance because of temperature, humidity, or component agingcan be compensated by monitoring the counts obtained (digital representation of capacitance) in firmware and updating the reference signal with the gradual change observed. Note that in the case of auto-calibrating solutions, it is also possible to recalibrate the system if the gradual change in counts exceeds a particular threshold.
3. Layout – A proper schematic and PCB layout is address all the problems mentioned above.
4. Filters – Software filters used to process the digital counts obtained can also be used to improve the SNR. The use of filters increases response time but improves SNR dramatically. Depending upon system requirements like response time and power consumption, the use of software filters may be feasible.
About the Authors
Priyadeep Kaur has completed her BE in Electronics and Electrical Communication Engineering from PEC University of Technology, Chandigarh and is currently working with Cypress Semiconductor India Pvt. Ltd. as an Application Engineer. Her interests are embedded systems, analog circuits, and DSP. She can be reached at firstname.lastname@example.org.
Pushek Madaan is currently working with Cypress Semiconductor India Pvt. Ltd. as a Senior Application Engineer. His interests lie in designing Embedded system applications in C and assembly languages, working with analog and digital circuits, developing GUIs in C# and, above all, enjoying adventure sports. Pushek can be reached at email@example.com.
Next: In Part II of this article, we will explore all of these design techniques for improving SNR along with sensor patterning (i.e., buttons/wheels/touch-pads) for different types of applications.