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

PSoC™ 4 Forum Discussions

gibe_285051
Level 1
Level 1
5 replies posted First like received First reply posted

Hello Cypres community,

I have an issue with the Psoc 4 - CY8C4045AZI-S413

I'm developing a Passenger Control Unit for seats, for environmental qualification tests, when I put the PCU in a climatic chamber and start from -40 Celsius degree to 25 Celcius degree, the Capsense module no longer works anymore.

I can't enable the sensor auto reset because the user can hold the button more than 30 secs.

Software specifications :

screenshot_capsense.JPGscreenshot_capsense_1.JPG

Thank in advance for your help !

0 Likes
1 Solution
Hari
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi gibe_285051

The increase in temperature is causing the baseline to shift and this is a common observation. To tackle the problem, you can use the CapSense_CSDCalibrateWidget() API to set the calibration percent.

This API takes two parameters:

     1. widgetId

    Specifies the ID number of the CSD widget to calibrate its raw count. A macro for the widget ID can be found in the CapSense Configuration header file defined as CapSense_<WidgetName>_WDGT_ID.

   

    2. target

    Specifies the calibration target in percentages of the maximum raw count.

By default, a calibration percent of 85% is chosen so that the flat spots do not affect the operation. But since in this case there is a wide operating temperature range, you can set the calibration percent to 60% and check the performance.

Note that it is recommended to set the sense clock source to PRS8 or 12 so that the effect of flat spots is minimized.

Please check the performance with the calibration percent set to 60%. If you still see the raw counts saturating, then you can go lower. Note that this requires testing with your hardware to make sure that there are no flat spots during operation.

PS: Flat spots are zones in the raw counts vs capacitance curve where an increase in capacitance does not cause an increase in raw counts. So, if the device is operated in this region, a finger touch will not increase the signal and might not be detected.

Best regards,
Hari

View solution in original post

0 Likes
8 Replies
Hari
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi gibe_285051

Please let us know the exact behavior that you are observing. Are the CapSense sensors false-triggering? Or are the not sensitive anymore?

What is the behavior once the sensors are taken out of the climatic chamber - Do they return to normal operation?

How rapid is the temperature change from -40 to 25 degree Celsius? Note that CapSense is sensitive to temperature changes and the raw counts will be affected by the temperature. If the temperature change is gradual, the baseline tracking algorithm will make sure that the baseline is continuously updated.

Best regards,

Hari

0 Likes

Hi AH_96,

Thank for your help,

Are the CapSense sensors false-triggering? Or are the not sensitive anymore?

All sensors are not sensitive anymore.

What is the behavior once the sensors are taken out of the climatic chamber - Do they return to normal operation?

If I restart the unit, the capacitive keys work again, otherwise it remains insensitive.

How rapid is the temperature change from -40 to 25 degree Celsius?

stabilization at -40C then 30 min to ramp up to 25C.

0 Likes
Hari
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi gibe_285051

This issue is due to the temperature variation of CapSense. Is there any mechanism for temperature detection? if so, you can use this to restart CapSense by calling the CapSense_Stop and CapSense_Start APIs.

If that is not possible, can you share the log of the raw count and baseline over the temperature range? This would help us identify any firmware fix for this.

Best regards,

Hari

0 Likes

I don't have any mechanism for temperature detection so I'll try to log the raw count and baseline , I come back to you with the log

Thank for your help.

0 Likes

here the log

0 Likes
Hari
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi gibe_285051

I see the raw counts and baseline reaching a low value - 0 at T = 15.40.

Is there any external reset event that is causing this? Because I see that the raw counts are getting recalibrated after this point.

You can see this in the data shared for BED_Sns0. The

You must not use smartSense for applications such as these. You can see that the resolution is changed from 12 bits to 11 after this "reset" event. You can see the parameters set by smartSense and then set these in manual tuning.

Best regards,

Hari

0 Likes

Hi Hari,

I tried the manual tuning , I had a better working of the unit when the resolution is to 14 bits. However for increasing the SNR I set the resolution to 12 bits so the maximum value should be 4095 , at -56C the baseline was around 3611 and at 25C the baseline was around to 4088 (you can check the log for bed), so all capacitive sensors of the unit were insensitive.

I tried to decrease the low baseline reset but the result is the same, are you an idea to force the reset of the baseline.

Thank you

0 Likes
Hari
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi gibe_285051

The increase in temperature is causing the baseline to shift and this is a common observation. To tackle the problem, you can use the CapSense_CSDCalibrateWidget() API to set the calibration percent.

This API takes two parameters:

     1. widgetId

    Specifies the ID number of the CSD widget to calibrate its raw count. A macro for the widget ID can be found in the CapSense Configuration header file defined as CapSense_<WidgetName>_WDGT_ID.

   

    2. target

    Specifies the calibration target in percentages of the maximum raw count.

By default, a calibration percent of 85% is chosen so that the flat spots do not affect the operation. But since in this case there is a wide operating temperature range, you can set the calibration percent to 60% and check the performance.

Note that it is recommended to set the sense clock source to PRS8 or 12 so that the effect of flat spots is minimized.

Please check the performance with the calibration percent set to 60%. If you still see the raw counts saturating, then you can go lower. Note that this requires testing with your hardware to make sure that there are no flat spots during operation.

PS: Flat spots are zones in the raw counts vs capacitance curve where an increase in capacitance does not cause an increase in raw counts. So, if the device is operated in this region, a finger touch will not increase the signal and might not be detected.

Best regards,
Hari

0 Likes