Tuning of capacitive sensors is the process of determining optimum values for various parameters associated with different sensors. Each sensor requires a separate set of calibrated parameters because of the difference in shape, size, and electromagnetic environment of each sensor. Calibration parameters have to be chosen carefully such that external noises due to EMI/EMC, power supply fluctuations, or changes in environment parameters like temperature and humidity do not break the detection algorithm or cause spurious finger detections.
There are basically two kinds of parameters that need to be tuned for the sensors:
1. Capacitance to digital value/count conversion related parameters.
2. Threshold parameters for identifying a finger press and differentiating it from noise.
Capacitance to count conversion parameters:
These parameters decide the gain (i.e. the count per unit change) in Cp for any particular sensor. For touch detection, the sensor’s shape and size decides how much capacitance a finger will couple to the sensor, and the gain determines how much change in counts this finger capacitance brings. The gain has to be optimally calibrated for the sensor such that it doesn’t become oversensitive and start detecting proximity instead of button presses. Similarly it shouldn’t be under-sensitive such that the finger response is comparable to noise in the system. For reliable finger detection, a minimum signal-to-noise ration needs to be maintained.
While calibrating multiple sensors in the same system, particularly when the signal from the sensors is to be used in some high-level position calculation algorithm for sliders or track-pads, it should be ensured that the gain of the system is independent of the sensor’s parasitic capacitance. This is to ensure that the finger induces the same change in counts for any sensor (See Figure 1) so that high-level position calculation algorithms do not judge the finger position inaccurately. This is because these algorithms generally use a weighted average of the signal across various sensors to calculate the finger position.
Figure 1: Sensor response to finger touch
Another important point is to ensure that the sensor signal does not saturate because of the parasitic capacitance (Cp) of the sensor. In this case, even though the gain may be high, no finger response would be received because the system is already saturated. Consider the graph shown in Figure 2 for capacitance to count conversion for the circuit topology discussed earlier.
Figure 2: Capacitance to count conversion - Sensor saturates
Here, notice that the counts are directly proportional to Cp for the initial range, but that these saturate at 4096. This is because the resolution of the capacitance to count conversion is 12 bits (equal to the counter in the case of the discussed circuit topology). Buttons with Cp higher than 20 pF would show no response in this case. We could do the following two things in such a scenario:
1. Increase the resolution of the system while keeping the gain constant (this increases the time required to scan the sensor, and hence reduces the response rate).
2. Modify the system to have shifted response for higher Cp sensors (see Figure 3). This ensures that even a 25-pF sensor gives same signal as a 20-pF sensor with the same response rate. This can be done easily by introducing a leakage current into the circuit topology discussed.
Figure 3: Capacitance to count conversion with offset
Threshold parameters help in differentiating between noise and signal in a system. These have two responsibilities:
1. Differentiate the signal from intrinsic system noise and any gradual changes in the environment (which may cause a gradual change in Cp)
2. Reject any sudden spikes like ESD noise or noise induced by high frequency switching in the system.
Once a 5:1 SNR is achieved by properly calibrating a sensor, it is generally recommended to keep the finger threshold at 75% of the signal (see Figure 4) such that any change less than 75% of the expected signal is rejected and considered as noise. A finger press, however, would introduce the expected change.
Figure 4: Sensor response with finger threshold
Note here that we cannot just compare the previous and current count sample while deciding a finger press. Consider the case where a huge positive spike occurs. The signal in this case would be greater than the finger threshold while it is actually noise. One way to take care of this is to debounce the signal; i.e., the presence of a finger is reported only if the signal is high for a certain minimum period of time. This method requires a dynamic reference with which the count can be compared. Most touch-sensing controllers implement an algorithm to generate this reference dynamically (see the blue signal in Figure 4).