cancel
Showing results for 
Search instead for 
Did you mean: 

PSoC 4 MCU

rahulpatel
New Contributor

Hi,

 

I am using Capsens module V4.0.

I am using Widget Buttons for my application In this, I found that sometimes it detects the false senses means it sens when I do not even touch the button..

In my application I use Enable all 13 buttons using CapSense_SetParam(CapSense_WDGT_ENABLE0_PARAM_ID, 8191); and after complete the process I disable only 12 buttons CapSense_SetParam(CapSense_WDGT_ENABLE0_PARAM_ID, 4096);  because I use the 13th button for touch detection only this performs at every operation.

Why this false detection is happening? is it because of the calling CapSense_SetParam(CapSense_WDGT_ENABLE0_PARAM_ID, 8191) ? 

0 Likes
1 Solution
Hari
Moderator
Moderator

Hi @rahulpatel

 

Sure, I can help you with manual tuning. Please note that the easiest way to get started with manual tuning is to use smartsense for the hardware parameters (such as resolution, sense clock frequency, etc) and then copy the same to manual tuning parameters. 

 

But the actual procedure is to 

 

1. Determine the parasitic capacitance (Cp) of the sensor using BIST (CapSense configurator > Advanced tab > General Tab > Enable self test library) and use CapSense_GetSensorCapacitance API that returns the Cp in femtoFarads. 

2. Then, set sense clock frequency such that Fsw < 1/(10*R*Cp), where R is 500(internal) + 560(external) = 1k.

 

3. It is recommended to leave IDAC autocalibration and compensation IDAC on. Set any initial resolution and then launch tuner. Go to SNR tab. Make sure that the SNR is at least 5:1. If lower, you can increase the resolution till you obtain 5:1 SNR. 

 

4. Then, set the firmware parameters based on the signal that you see in SNR window.

Hari_0-1620366245487.png

 

Do let me know if there are any queries. 

Best regards, 
Hari

View solution in original post

0 Likes
15 Replies
Hari
Moderator
Moderator

Hi @rahulpatel 

 

The issue is most likely caused due to incorrect finger threshold and noise threshold set in the component. Can you please run CapSense Tuner if your design supports a UART or I2C interface and see the signal and noise level?

 

Note that we recommend an SNR of at least 5:1 and setting the finger threshold to 80% of signal, noise threshold to 40% of the signal and hysteresis to 10% of the signal. 

 

The Tuner graphs will also show if there is any sudden impulse spikes in the sensor lines - which can be eliminated with the help of firmware filters. 

 

Best regards, 
Hari

0 Likes
rahulpatel
New Contributor

Hi Hari,

Here I am using Smart Sense (full Auto-Tune) tunning mode. all other buttons are working fine but I am facing this issue one only one button that after I press it its still sense the widget even i am removing my finger over there

0 Likes
Hari
Moderator
Moderator

Hi @rahulpatel 

 

Note that when you disable a sensor using CapSense_SetParam(CapSense_WDGT_ENABLE0_PARAM_ID, ...), that particular sensor is not scanned again. So, if you disabled the sensor while it was active, the sensor will continue to remain active. 

Please make sure that you are disabling the sensors only when all sensors are inactive. 

 

Best regards, 
Hari

0 Likes
rahulpatel
New Contributor

Hi,

what I am doing is I Never Disable the 13th sensor In my application I disable only 12 Buttons/Sensors only. In that I Never disable that 13th button/sensors...still it sens the false data.

0 Likes
Hari
Moderator
Moderator

Hi @rahulpatel 

 

Can you please attach your project or a minimal version where the issue is reproducible so that we can check the issue at our end?

 

Thanks, 
Hari

0 Likes
rahulpatel
New Contributor

Hi Hari,

Can you help me with how to do a manual tunning?

0 Likes
Hari
Moderator
Moderator

Hi @rahulpatel

 

Sure, I can help you with manual tuning. Please note that the easiest way to get started with manual tuning is to use smartsense for the hardware parameters (such as resolution, sense clock frequency, etc) and then copy the same to manual tuning parameters. 

 

But the actual procedure is to 

 

1. Determine the parasitic capacitance (Cp) of the sensor using BIST (CapSense configurator > Advanced tab > General Tab > Enable self test library) and use CapSense_GetSensorCapacitance API that returns the Cp in femtoFarads. 

2. Then, set sense clock frequency such that Fsw < 1/(10*R*Cp), where R is 500(internal) + 560(external) = 1k.

 

3. It is recommended to leave IDAC autocalibration and compensation IDAC on. Set any initial resolution and then launch tuner. Go to SNR tab. Make sure that the SNR is at least 5:1. If lower, you can increase the resolution till you obtain 5:1 SNR. 

 

4. Then, set the firmware parameters based on the signal that you see in SNR window.

Hari_0-1620366245487.png

 

Do let me know if there are any queries. 

Best regards, 
Hari

View solution in original post

0 Likes
rahulpatel
New Contributor

Hi Hari,

How can I open the Tuner GUI ?

0 Likes
Hari
Moderator
Moderator

Hi @rahulpatel 

 

Please take a look at any of the CapSense code examples for the device you are using. You require I2C interface (or UART, but I2C is preferred) for communication with the PC. You can also refer this CE in the web - https://www.cypress.com/file/334136/download

 

Best regards, 
Hari

0 Likes
rahulpatel
New Contributor

Hi,
I use example CE210290 for tuning capsens is this correct right
Here I Observed that capsens is stuck after reached some threshold below are the relevant videos I attached please check and let me know.

2021-05-07-11-58-59.gif

photo_2021-05-07_12-27-11.jpg

2021-05-07-12-04-35.gif

0 Likes
rahulpatel
New Contributor

Hi,

There is one more observation When I press the button hard it never returns an idle state for a few minutes, the notice level of the sensor is a rise in this condition.

I attached the image for your reference 

image_2021-05-10_15-00-03.png

 Let me know why this happens, and what is the solution to overcome this situation

0 Likes
Hari
Moderator
Moderator

Hi @rahulpatel 

 

When the user is hard-pressing the sensor, is the board deforming? If so, this is expected and the right solution would be to add to the mechanical strength of the design. 

 

If long presses are not used, then you can enable sensor auto reset feature that ensures that the baseline catches up to the sensor always, eliminating such conditions. 

 

Best regards,

Hari

0 Likes
rahulpatel
New Contributor

Hi Hari,

There is no deformation.
Pressing hard results in more coupling between sensor and finger, resetting psoc makes the sensor recovers from this condition.

Regarding sensor auto reset feature How we can do it can you help me with this.

0 Likes
rahulpatel
New Contributor

Hi Hari,

Is there any update on this? Its a high priority so Please update ASAP

0 Likes
Hari
Moderator
Moderator

Hi @rahulpatel 

 

Pressing hard does result in more coupling, however, it is the fact that it doesn't recover to original baseline that leads me to believe there might be deformation. Can you please check if the PCB is bending?

Resetting resolves the issue because the baselines are recalculated (you can see a similar effect if you simply call CapSense_Start as well), but the deformation might still be present. 

 

If however there are no deformations, can you please try enabling the "Sensor auto reset feature"? You can do so by going to CapSense configurator > General Tab > Enable sensor auto reset.

Hari_0-1620825460045.png

 

 

Best regards, 
Hari

0 Likes