In this walkthrough we will show you in detail all the necessary steps you need to do in SENSE in order to get the Counts of your touch sensor.
The whole process includes 8 steps:
- Import the layout, that is, the top view of the touch sensor including only the conductive parts as well as the outline of the sensor.
- Set up the StackUp, where the dielectric materials are defined and the vertical position of the dielectric and condcuctive layers.
- Set up the Pointer, which represents the finger touch so you can see later on how the Counts are affected by the finger touch.
- Run Equivalent Circuit (EC) Analysis, which gives you a representation of the physical model of your touch sensor into a system model, that is, a network of resistors and capacitors, as a netlist file.
- Select the Controller that drives the touch sensor, since Counts depend on the type and specifications of the controller used. Several MCUs of the STM32 family are included in the controller library.
- Set up the Sensor on a system level, which is actually to load here the netlist obtained through the EC Analysis (step 4).
- Set up the System Configuration that describes the connection between the controller and the sensor.
- Set up and run Counts Analysis, that will give you the values of Counts as affected by the finger touch.
For more information on all the specific steps, please browse our Help Center (https://support.fieldscale.com/en/).
Step 1. Import the layout
The layout used in this walkthrough is imported from the "walkthrough to get counts_4_buttons_mm.dxf".
Then you must do the same process once again to import the outline from the same .dxf file.
Your final layout design will look like this:
You have the option to rename any entity from the tree on the bottom right corner:
In case you want to prepare your own layout in a dxf file and import it into SENSE, first you need to have a look οn this detailed guide.
Step 2. Set up the StackUp
Now the stackup is ready, so you can go on and set up the pointer.
Step 3. Set up the Pointer
4. Set up and run Equivalent Circuit (EC) Analysis
Here you see the layout and you must click on the specific curves of the layout to set up the Terminals that will be later on (in System Configuration) connected to the controller.
To do so you must zoom in, then left click on each curve and click on the button on top to assign it as a terminal:
You must select each terminal one by one. Otherwise multiple curves that belong to the same surface and have been selected altogether (with Ctrl + left click) will be regarded as belonging to the same terminal.
By using 16 CPU cores and 32 GB of memory, the EC Analysis will take less than 2 hours.
5. Select the Controller
In this example you may use the STM32F071C8Tx controller:
You can keep its default settings:
6. Set up the Sensor
Here you load the netlists derived from the previous EC Analysis (step 4):
7. Set up the System Configuration
Here you connect the physical model of the touch sensor with the controller pins.
Now you must select the terminals that will be connected with the controller pins.
If you zoom in, the terminals look like this:
The idea here is to split the 4 buttons into 2 groups, so the first button will be connected with G1_IO1 of Group 1.
The trace of the first button corresponds to the voltage terminal named “T6”, which will be connected with the G1_IO1 pin through a resistor of 10 kΩ. To do so, since the layout was properly designed and there is a pad next to the trace where the resistor will be connected, you can first connect G1_IO1 with the T4 of the pad and then connect the T6 with the T5 of the pad through a resistor of 10 kΩ:
After clicking “Add connection” the T4 will appear on the right side connected with the G1_IO1:
Then you add the resistor:
The resistor is then displayed in the layout (left side) as R1:
You must do exactly the same process for the other three buttons as well:
· T7 – G1_IO2 (Bank 2) and T8 – T9 (via a 10 kΩ resistor)
· Τ11 – G2_IO1 (Bank 1) and Τ12 – Τ13 (via a 10 kΩ resistor)
· T14 – G2_IO2 (Bank 2) and T14 – T16 (via a 10 kΩ resistor).
Note: In case that there are no pads in your layout, you could connect directly the T6 with the G1_IO1 and then add 10 kΩ resistor through the “Circuit Element” option.
In a similar way you add also the sampling capacitors between the shielding and the specific pads of the layout.
For the sampling capacitor of Group 1:
The capacitor is then displayed in the layout (left side) as C1:
The “T1” terminal of the pad must be then connected to the G1_IO4 pin of the controller:
Do the same for the sampling capacitor of Group 2 (C2). C2 is connected between T18 and T19 and T17 will be connected to the G2_IO4 pin.
Last, you must connect the Vss pin to the T10 of the shielding:
T10 and Vss are now connected to each other:
When everything is set up, the system configuration will look like this:
8. Set up and run Counts Analysis
First you must create a new Counts Analysis:
Then you select the System Configuration you set up in the previous step:
Let’s ignore noise for now:
With these options the Counts Analysis for all the finger positions takes less than 25 mins.
Now let’s see the results…
Counts show exactly what is measured by the controller.
With the aid of SENSE all this process is made virtually, without having to build and test any prototype at all.
When the finger touches on a button the Counts become lower; this is how the finger touch is detected.
So, the difference in Counts with and without a finger touch, called “Delta Counts”, is what actually matters:
The big changes in Counts of each button, as highlighted in the above table, correspond to the cases when the finger (pointer) touches on this button.
This could be visualized like this:
In general, values of Delta Counts between 100-200 are regarded as accepted values that ensure touch functionality.
This means that values lower than 100 cannot be detected by the controller, whereas values higher than 200 result in too high touch sensitivity, so the sensor is prone to false touches.
Besides Counts, here you can also get the acquisition time of each button for every finger position:
For the acquisition time it is important to be kept lower than a maximum value according to the specifications; this value is typically about 5-15ms.
Now that you have successfully run your first project in SENSE, you can further explore its capabilities, like trying to use another controller from STM32 family or change the settings of the current one.
Or you may also import your own dxf/Gerber file of the layout and build the stack up accordingly, so as to get answers for your specific project.
...keeping in mind that we 'll be happy to support you!