This guide assumes you have basic knowledge of capacitive sensing and you are familiar with the SENSE environment. If you feel that you are missing any of the necessary concepts or you are a new SENSE user, you may want to read the following articles that will help you get started:
- How to evaluate the touch sensitivity of a mutual-capacitive touch panel
- How to get Capacitance values
Capacitive touch sensors are classified into two main types, depending on their operation principle: mutual-capacitive and self-capacitive. Mutual-capacitive technology has the advantage that it can detect the finger touch in two dimensions (on a X-Y level for example), that’s why it is more widely used in touch screens rather than touch buttons. On the other hand, self-cap detects a touch event, however without being able to extract any info about the exact touch location. That’s why self-capacitive touch sensors are easier to be implemented, thus they are usually preferred in applications where touch location is not needed, like for example in touch buttons.
Concerning the touch performance of a touch panel, this is evaluated by touch sensitivity. For self-capacitive touch buttons, touch sensitivity means the increase in the self capacitance of the button, as caused by a touch event. When you design a touch panel, you need to know if it will finally work. And you definitely prefer to know its touch performance well before doing any prototype, so that you do not spend time and money into unnecessary iterations. SENSE can help you get the touch sensitivity of your touch panel with minimum effort and time, before even creating any prototype.
In what follows we will show you an indicative example on how you can set up the process to get the touch sensitivity for a simple PCB-based self-capacitive touch button. All you need is four steps, each one corresponding to a different “Physical” tab from the left column of the main screen of SENSE:
- Prepare the Layout
- Build the StackUp
- Place a Pointer
- Set up Capacitance Analysis
These steps are quite similar to those described in the article which focuses on touch sensitivity of a mutual-capacitive touch panel.
Fig. 1. The “Physical” menu in SENSE.
1. Prepare the Layout
For this specific example, the Layout is very simple to be drawn, so we prefer to use the “Add Element” option and create it through templates of SENSE (instead of drawing it in a CAD tool and then importing it to SENSE). In particular, we add a “Circular Button” of 6 mm radius, which is actually the self-capacitive touch button and connect it with a “Rectangular Trace” (0.2x15 mm), which connects the button with the controller. In case of self-capacitive touch sensors, a second electrode, other than the button, is also needed providing a return path for the current, so that the self-capacitance can be measured by the controller. For this purpose, we add a “Rectangular Shielding Entity” (20x30 mm). We must also define the borders of the sensor, which is done by adding an “Outline” of rectangular shape (22x32 mm). We position the elements properly, so that the final Layout looks like this:
Fig. 2. The Layout of the PCB-based self-capacitive touch button as shown in SENSE.
Here we must make sure that:
- The trace overlaps with the button.
- The outline includes all the entities (button, trace and shielding entity), avoiding any unwanted overlaps.
💡 That’s why the outline needs to be slightly bigger than the shielding entity (as you can see above), so as to create a margin of i.e. 1 mm between the outline and all the other entities.
2. Build the StackUp
The PCB-based touch panel of this example has 6 layers in total and it is actually the same as that used in the article about mutual-capacitive touch panels. The only difference is focused on the content of the conductive layers (3 and 5). Although we use Copper (1oz.) again for both these layers, in the present case Layer 3 (“top”) includes the button and the trace. The shielding entity is placed below the button, in Layer 5 (“bottom”). In the above link, you may also check how to add Soldermask and Copper in the material library of SENSE.
Fig. 3. The StackUp of the PCB-based self-capacitive touch button.
3. Place a Pointer
A pointer touching the sensor is necessary in order to investigate the touch sensitivity. The pointer could be for example a human finger (bare or gloved) or a stylus or even a robotic arm. In this example the pointer is a bare finger, simulated as a 10x10 mm cylinder with a hemispherical tip. Since the human finger is a conductor, we choose the “Conductive” option for pointer’s material.
In a similar manner to what is described about mutual-capacitive touch panels, by clicking on the “Pointers” tab and selecting “Pointer Placements” we place the pointer at the center of the button, that is, at the coordinates (0,5,0).
Fig. 4. Left: Pointer settings.
Right: Pointer placement at the center of the button (0,5,0).
4. Set up Capacitance Analysis
Now we are ready to set up and run a Capacitance Analysis. First we go to the “Analysis” tab => “Create a new analysis” and select “Capacitance Analysis” (more info available in How to get Capacitance values). The five simple steps as described in the article about mutual-capacitive buttons apply almost the same here as well. The only exception is on Step 3, where we need to Assign Active Conductors. We select just the button here, by simply clicking on it and then click on “Assign as Active”, since we need to get the touch sensitivity, which requires the self capacitance of the button. So, the button together with the trace will be highlighted as a united entity. Then we click “next”. In step 4, we select the minimum computer resources (8 cores and 16 GB memory), as this selection is sufficient to give us results in less than 2 minutes.
So, let’s click “Run Analysis” and wait for the results.
5.1. Self capacitance
- No Pointer
It is useful to check the self capacitance values of the touch button with and without the pointer, since the touch sensitivity is derived as the difference between these two values. Let’s see first the self capacitance of the button without any pointer, by selecting from the dropdown menus on top of the screen “No Pointer” and “Capacitance (pF)”.
Fig. 5. Getting the self capacitance for the case of no pointer.
What we see at the left part of the screen is the Layout, whereas the right part shows the capacitance values, each time for the selected active conductor, which is highlighted as yellow. In this example there is just one active conductor, “Conductor 1”, which is actually the union of the button with the trace, whereas the shielding entity is “Conductor 2”. Conductor numbering does not follow any specific rule, but we can rename them, by editing them through the results column on the right side of the screen, as described in detail in the article that focuses on mutual-capacitive touch buttons. In order to get the capacitance value that corresponds to each specific conductor, we either click on that conductor directly (left side) or we select any value from the results column on the right. The selected conductor and the corresponding value are both highlighted as orange.
So, the highlighted value in the column (orange) is actually the self capacitance, Cs, of the union of the button with the trace in case of no pointer:
Cs (no pointer) = 5.794 pF
The second value of the results column is the mutual capacitance between the button and the shielding entity below it (“Conductor 2”). This value (5.735 pF) is quite high compared to the Cs of the button, meaning that there is a quite strong coupling between the button and the shielding entity, since they are very close to each other.
- With pointer
In order to get the self capacitance of the button under finger touch, we need to select ““Pointer - X:0 Y:5000 Z:0” (coordinates are in um here) for the Pointer placement on top. As expected, when the pointer touches the button, the self capacitance of the button increases:
Cs (with pointer) = 6.211 pF
Fig. 6. Getting the self capacitance when a pointer touches the surface of the touch button; the transparent grey circle represents the top view of the cylindrical pointer.
5.2 Touch Sensitivity, ΔC
In order to get directly the touch sensitivity, we need to by select the same Pointer placement again (“Pointer - X:0 Y:5000 Z:0”), and for the Type “ΔC (pF)”, which is actually the change of the self capacitance due to finger touch.
Fig. 7. Getting the touch sensitivity for this specific pointer position; the transparent grey circle represents the top view of the cylindrical pointer.
As you can see above:
Touch Sensitivity (ΔC) =Cs(with pointer)-Cs(no pointer)= 0.417 pF
This touch sensitivity value is regarded as acceptable, since it falls within the range recommended by most IC vendors, which is commonly between 0.1 and 5 pF.
Based on this touch sensitivity value, and taking also into account the ΔC values for other pointer positions as well, we can define the threshold value above which any touch event will be detected by the MCU (Micro-Controller Unit) as a finger touch. This is done during the tuning process by adjusting the MCU’s firmware accordingly. Therefore, it is crucial to know if your design has the desired touch sensitivity, so if it will work as expected, before you build and test prototypes that may look like black boxes for you.