How to maximize capsense performance for proximity of water

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

cross mob
DoLo_351801
Level 3
Level 3
10 replies posted 10 questions asked 10 sign-ins

I'm using PSOC1 CY8C20247s on my own board design with a loop for the sensor and cross-hatched shield.

Using PSOC Designer 5.4SP1.

I'm using a few boards to test. The first board works pretty well, I detect water from about 20mm away. The problem is I cannot reproduce the performance.

I have stripped down the SW to only the sensor. The parameters are:

SmartSense_EMCPlus version 1.30, Auto-reset disabled(must have), debounce 30(doesn't seem to matter), immunity level high (doesn't seem to matter), sensitivity high(doesn't seem to matter).

The sensor loop is about 2.5mm wide in a 25mm x 41mm rectangle loop.

Using bridge control panel software version 1.18.0.3144 by cypress to monitor using i2c to serial HW.

The results are poor for a proximity detector but it works great as a capacitive button. It will not detect anything unless I touch the board with it.

Turning on the power while the sensor is away from anything, I get difference counts randomly around 70 or 100. Raw counts are around 45000.

I am using bypass caps for the psoc, a 560 Ohm resistor between psoc and sensor and 2nF ceramic cap for the capsense cap.

I tried disabling the shield, no difference.

Should I use CSD or CDSPlus instead of Smartsense?

This is the code I'm using. Maybe I'm missing something.

SmartSense_EMCplus_Start();

SmartSense_EMCplus_InitializeBaselines();

while(1)

{

        SmartSense_EMCplus_ScanAllSensors(); // Scan all sensors in array (buttons and sliders)

        SmartSense_EMCplus_UpdateAllBaselines(); // Update all baseline levels;

       //then I send the rawcount, baseline, diff count and status to the monitor. that part works fine

}

What am I doing wrong?

Thanks

0 Likes
1 Solution

Hello,

I understood now that the issue is with firmware.

3) You can use CSDPLUS, as it provides high SNR (But, pls ensure that Cp of proximity sensor > 10 pF)

You can refer to http://www.cypress.com/file/45726/download

(In particular, refer to Section 2.2.4 Selecting the user module, and Section 4.2: Tuning the CSD/CSDPLUS User Module which elaborates on the tuning process)

5) Yes, you can also refer to Section 3.6.2 of http://www.cypress.com/file/41076/download (Proximity sensor design)

I hope this helps. Please let us know in case of any updates.

Thanks,
Shanmathi

View solution in original post

3 Replies
ShanmathiN_06
Employee
Employee
100 replies posted 50 replies posted 25 replies posted

Hello,

Could you please check on the following and let us know your updates?

1) You seem to have two boards. One board is able to detect water at 20 mm, whereas the second board is unable to detect.

Are there any processing variations or difference in firmware/hardware/tuning parameters between the two boards?

2) Did you try testing in other boards and check if you are able to detect water?

3) You could disable SmartSense and tune the sensors manually, such that you get appreciable difference counts.

4) Please elaborate more on your application.

5) To reduce noise, you could place a ground loop around the proximity sensor loop.

Thanks,
Shanmathi

0 Likes

1) You seem to have two boards. One board is able to detect water at 20 mm,

whereas the second board is unable to detect.

Are there any processing variations or difference in

firmware/hardware/tuning parameters between the two boards?

I am testing several boards, all the same except for the software/firmware.

The board that can detect water is the same as the one that does not. The

problem is I cannot reproduce the SW that can detect the water.

2) Did you try testing in other boards and check if you are able to detect

water?

I have tested multiple boards all the same except SW. I cannot reproduce

the board that can detect water.

3) You could disable SmartSense and tune the sensors manually, such that

you get appreciable difference counts.

Are you suggesting changing the user module to something other

than smartsense? What would you suggest? CSDPlus? CSD? CSA? Which one would

be best for proximity detection?

4) Please elaborate more on your application.

For testing purposes, I have stripped down the SW to just smartsense and

EZI2C for monitoring. I am trying to detect the presence of water either in

a pipe, box i.e. in front of the sensor. The sensor is protected by

watertight plastic. Sensor is on the board and setting flat on top of 0.1"

plastic box bottom.

5) To reduce noise, you could place a ground loop around the proximity

sensor loop.

I will try doing this with a wire loop attached to gnd. is that what you

meant?.

Thank-you for your help.

0 Likes

Hello,

I understood now that the issue is with firmware.

3) You can use CSDPLUS, as it provides high SNR (But, pls ensure that Cp of proximity sensor > 10 pF)

You can refer to http://www.cypress.com/file/45726/download

(In particular, refer to Section 2.2.4 Selecting the user module, and Section 4.2: Tuning the CSD/CSDPLUS User Module which elaborates on the tuning process)

5) Yes, you can also refer to Section 3.6.2 of http://www.cypress.com/file/41076/download (Proximity sensor design)

I hope this helps. Please let us know in case of any updates.

Thanks,
Shanmathi