PSOC 6 Capsense Baseline Shift for CSD (Self-Capacitance) Proximity

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
jacintal
Level 1
Level 1
10 sign-ins 5 questions asked 5 sign-ins
Hi,
 
We are measuring the self-capacitance of elastic carbon composites to try to achieve proximity sensing. In our case, we don't need the sensor to capture light touches (significant bumps in self-capacitance) but rather small changes while an object is approaching it.
 
The baseline resetting does happen when the sensor is unapproached. While in the process of approaching the sensor with a piece of conductive material, CSD measurement does have an upward trend but seems insensitive (when >2cm distance from the sensor; sensor size is about 1x1cm). The resetting in CSX does happen as well but is less frequent. 

It would be great if anyone could provide us with some suggestions for setting the parameters for CSD especially (noise threshold etc.) to A. improve the proximity sensing range & B. get rid of the baseline resetting issue. If it's possible, could you also provide suggestions on the two points above for CSX?

Thank you so very much and have a nice day!

0 Likes
1 Solution
ncbs
Moderator
Moderator
Moderator
500 replies posted 50 likes received 250 sign-ins

Hi @jacintal.,

To improve the sensitivity range:
The sensor has dimensions of 1cm x 1cm. The proximity distance which can be reliably sensed is equal to the diameter/diagonal of the sensor. Hence you are able to sense distances only within 2cm of the button. To increase the proximity sensing distance, you have to increase the dimensions of the proximity sensor. You may implement a loop-based proximity sensor with a larger diameter. You may refer to section 6.1 in Proximity Sensing with CapSense® for more details.

To stop baseline resetting issue:
Pass "!CY_CAPSENSE_PROCESS_BASELINE" to the mode parameter of the API. This processes the widget except for updating the baseline:
Cy_CapSense_ProcessWidgetExt(uint32_t widgetId, !CY_CAPSENSE_PROCESS_BASELINE, cy_stc_capsense_context_t * context )

You can find the details of the API in the middleware documentation here: https://infineon.github.io/capsense/capsense_api_reference_manual/html/group__group__capsense__low__...

Regards,
Nikhil

 

View solution in original post

1 Reply
ncbs
Moderator
Moderator
Moderator
500 replies posted 50 likes received 250 sign-ins

Hi @jacintal.,

To improve the sensitivity range:
The sensor has dimensions of 1cm x 1cm. The proximity distance which can be reliably sensed is equal to the diameter/diagonal of the sensor. Hence you are able to sense distances only within 2cm of the button. To increase the proximity sensing distance, you have to increase the dimensions of the proximity sensor. You may implement a loop-based proximity sensor with a larger diameter. You may refer to section 6.1 in Proximity Sensing with CapSense® for more details.

To stop baseline resetting issue:
Pass "!CY_CAPSENSE_PROCESS_BASELINE" to the mode parameter of the API. This processes the widget except for updating the baseline:
Cy_CapSense_ProcessWidgetExt(uint32_t widgetId, !CY_CAPSENSE_PROCESS_BASELINE, cy_stc_capsense_context_t * context )

You can find the details of the API in the middleware documentation here: https://infineon.github.io/capsense/capsense_api_reference_manual/html/group__group__capsense__low__...

Regards,
Nikhil