Integrating Touch Screen Technology

Facing the Challenges of Touch Screen Design

Touch screen user interfaces are become increasingly popular in a wide variety of embedded applications. The big challenge is to design them to be robust and reliable under a wide range of environmental conditions.


  • Page 1 of 1
    Bookmark and Share

Article Media

Capacitive touch has become a hot technology for various markets ranging from consumer and white goods to industrial and medical markets. As designers experiment with capacitive touch solutions, they face a number of challenges. When a designer works on a touch application in a well controlled lab environment, many touch designs work flawlessly. However, the real test comes when placing the product into a harsh environment with changing humidity and temperature. In order for a design to continue working in such environments, the importance of selecting a robust hardware and software implementation cannot be stressed enough. To get the needed robustness, the solution has to automatically recalibrate based on the environmental changes. Unfortunately, many solutions do not offer this automatic calibration. This could be due to a small available program memory or software designers who lack experience about what needs to be added to make a self-calibrating system robust to environmental changes. 

Capacitive Touch 

Unlike mechanical buttons, capacitive buttons have no moving parts, and as such are not subject to the same mechanical wear as traditional buttons. This effectively eliminates performance degradation over time. The touch sensor is placed behind a smooth touch surface, making up a sealed system. This makes the product robust against humidity, and the smooth surface makes it much easier to keep clean. This may be of particular interest in medical appliances where it is important to keep all surfaces clean and germ free.

Capacitive touch sensing relies on the fact that your finger adds a measurable capacitive change in the touch sensor (Figure 1). This change or ΔC in capacitance can then be measured. There are many ways of doing this. Some methods rely on measuring the time it takes to charge the touch sensor to a predetermined level, others look at the “frequency” change that occurs in an RC system using a known value Resistor (R) (e.g. the internal pull) and a variable “C”—the touch sensor. Many more methods exist that can also measure this capacitive change. Most methods rely in some way on the time constant change (τ=RC) occurring when adding additional capacitive loading to the touch sensor. 

Figure 1
Figure 1: A finger will add an additional load Ct effectively increasing the sensor capacitance.

Generally speaking all methods are capable of detecting a change in sensor capacitance. What separates them is usually referred to as “quality of touch.” This term covers a collection of measurable parameters that determine how robust and reliable the solution is in everyday use. Some of these factors are signal-to-noise performance, noise immunity, and also how well the application tolerates changes in temperature, humidity and voltage. 

The Challenge

The challenge does not lie in making a prototype that works on your own desk. Even if your prototype seems to be working reliably, this does not guarantee good performance when you take the product outside. Weaknesses easily overlooked in a well regulated environment soon become apparent once subjected to harsh or changing environmental conditions.

As electronic components tend to change value and characteristics over temperature and voltage, a touch system must therefore be regarded and treated as a dynamic system. To ensure maximum performance, the touch measuring and signal processing need to adjust to changes in operating conditions and calibrate to fit the new conditions. This allows the application to always operate at the optimal measuring point for the sensor.

So how does humidity factor into this? As mentioned, capacitive measurements are based on the fact that touching the sensor, or actually the overlaying dielectric panel on top of the sensor, adds capacitive load to the system. Ambient humidity also adds capacitive load to the system. 

The fact that humidity affects performance may be less obvious, but remember that the human body contains about 60% water, so taken to an extreme you might say we add “water” to the sensor when we touch it. If the humidity in the ambient air changes, this changes the capacitive load on the sensor. In real life this may cause a serious design challenge, and if ignored, you run the risk of designing a product that fails under humid conditions.

Materials have different dielectric properties. For example, if you look at the dielectric properties of glass and vacuum, you will observe that glass has better dielectric properties, which makes it a better material to use as an overlay for a capacitive touch sensor. So how does this affect the choice and build of your front panel?

Real products have the capacitive sensor placed behind a front panel made of glass, plastic or another good dielectric material. Glue connects the PCB to the front panel. Typical manufacturing processes may have difficulty guaranteeing that no air bubbles exist in the adhesive layer between the sensor board and the panel. Any air bubbles cause a variance in the dielectric creating an uneven capacitive response (Figure 2). So the touch sensing system needs to be able to compensate for this to give the user a consistent response for all buttons regardless of any air bubbles added by the manufacturing process.

Figure 2
Figure 2: If air bubbles are trapped in the adhesive between the sensor and the front panel, this changes the total dielectric constant. This results in reduced performance.

The Solution

All of the above challenges can be compensated for in a properly designed system. It doesn’t even have to be difficult with a touch solution that has this kind of functionality built in. The secret is how to make a touch solution production proof. In Figure 3 we see a typical touch sensor, and the raw sensor value measured when in a touched and untouched state.

Figure 3
Figure 3: The untouched, touched and reference values of the capacitive sensor. The delta between these values will determine if the button is in a detect or touched state.

Figure 3 shows three important values. The untouched state, often referred to as the “raw data,” shows the numerical representation of the touch sensor’s capacitive value. This signal increases or decreases depending on the capacitive load on the sensor. The reference holds the long-term average value measured on the sensor and as such it holds the answer to what the average value for an untouched button should be. The delta shows the difference between this reference and the actual measured signal value at any time. If the delta is big enough, i.e., larger than a predetermined threshold value, we say that the button is in detect or touched state. 

Figure 3
Figure 3: The untouched, touched and reference values of the capacitive sensor. The delta between these values will determine if the button is in a detect or touched state.

The key challenge to designing a robust touch system is to add sufficient logic to be able to analyze the signal, reference and delta, and to determine if it is a true or a false touch once the button goes into detect. A false touch can be caused by noise or changing environmental conditions. The way to determine this is to continuously monitor the measured signal values and then update the references if the ambient condition starts affecting the average sensor signal values. 

It is critical to have this kind of runtime calibration. If left uncalibrated, you run a significant risk that your system will start drifting toward or away from the threshold, making the system too sensitive or totally unresponsive. The software needs to adapt to long-term changes and at the same time determine if a fast change is noise or an actual touch. In the Atmel QTouch Library, for example, this is solved by passing a time stamp to the measure function when called. The library tracks all measured values for all sensors and automatically makes necessary changes to the individual reference values.

Note that changes measured on one sensor should not be regarded as being valid for any other sensor as they may be subject to different environmental conditions, and may also have a different size or shape. The software needs to track each sensor individually. In the QTouch Library, the “measure sensor” function uses a millisecond resolution time stamp that tells the library how long it has been since the previous measurement. This is the only input the library needs to be able to properly compensate for all environmental changes.

When you first power up the touch application the system runs through an initialization routine to establish reference values for all sensors. An error condition occurs if the user touches the sensor during initial calibration. This causes the software to calibrate for a higher capacitive load than really exists on that sensor. If this happens, this sensor goes deaf, as the detect threshold is already set below what is reachable by touching the sensor (Figure 4). For this reason, the application should be able to identify this error condition and quickly do a recalibration if it detects that the raw signal makes a big positive jump compared to the reference value. This recalibration can safely be done as this kind of positive step only occurs due to excess capacitive load being removed from the sensor. It is important to be aware of these challenges and make sure that your software compensates to make sure you have a robust touch system.  

Figure 4
Figure 4: In the event that a sensor has been calibrated with additional capacitive load, the software should detect a sudden drop in load, and automatically recalibrate if the signal value exceeds a determined recalibration threshold.

San Jose, CA. 
(408) 441-0311.