3 Replies Latest reply on Nov 27, 2018 12:56 AM by ShanmathiN_06

    How to maximize capsense performance for proximity of water

    DoLo_351801

      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

        • 1. Re: How to maximize capsense performance for proximity of water
          ShanmathiN_06

          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

          • 2. Re: How to maximize capsense performance for proximity of water
            DoLo_351801

            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.

            • 3. Re: How to maximize capsense performance for proximity of water
              ShanmathiN_06

              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

              1 of 1 people found this helpful