This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP430FR2633: Captouch detection stops working after few touches

Part Number: MSP430FR2633
Other Parts Discussed in Thread: CAPTIVATE-PHONE,

Hello,

            I am using MSP430FR2633 TSSOP package controller for 16 elements keypad sensor for touchpad. I am using mutual capacitance technology for this purpose. I have followed the hardware  layout design of CAPTIVATE-PHONE.  Though I am able to detect the finger touch on keypad, I observed that on frequent touching of keypad elements, suddenly touch detection is stopped. However after waiting for few seconds, it starts the detection. There is acrylic overlay of 2 mm over the captouch.

To add the information, my keypad is powered by SMPS(AC to DC) which is further powered by UPS. SO, we have observed that whenever we removes UPS supply , keypad captouch works fine, it only creates issue when UPS comes in the picture. We have already enabled Noise immunity feature in the firmware. Though we had not included capacitor of 68 pF at RX line for EMI filter initially, we put it on RX line after some adjustment on PCB. Please help us to resolve this issue.

Thanks and Regards,

Omkar

  • Hello,

    It definitely sounds like the UPS is adding noise to the system and corrupting the sensor data. When you say the issue doesn't happen when UPS is removed, do you mean that the AC-to-DC is plugged into a wall outlet with AC mains?

    we put it on RX line after some adjustment on PCB

    So, adding the 68 pF capacitor didn't address the issue, correct? Regardless, that's a good step. I would recommend reading through the RF Susceptibility (Conducted and Radiated) section of the CapTIvate Technology Guide. There are several methods discussed to improve immunity to conducted and radiated RF interference.

  • Hello James,

              Thank you for reply.     

    When you say the issue doesn't happen when UPS is removed, do you mean that the AC-to-DC is plugged into a wall outlet with AC mains?

        - yes, it was connected to AC mains.

     Meanwhile we are trying to do experiment with external EMC filter to UPS output to check whether the issue is minimized. It was also observed that the issue of not detecting   touch was severe when UPS has battery drained out. We will try to replicate the condition and meanwhile will try to accomodate captivate technology guide section suggested by you.

    Thanks and regards,

    Omkar  

  • Thanks for the update. That sounds like a good plan. Please keep us posted of your progress.

  • Hello James,

              So we tried to replicate the condition of UPS battery being drained out, but it didn't occur. For debugging purpose , we kept blinking LED using timer interrupt and we observed that whenever touch detection stops, the application code also stops somewhere as LED blinking stops. Why does code stops? 

    Also, we tried some debugging and observed that 'bSensorNoiseState' flag sets as expected. How to tackle the issue of code hanging due to touch issue in noisy condition?  

    We tried to follow the noise immunity guide as suggested by you, in that we tried setting some lower value (1000) for error threshold, then condition of noisy touch occurs even in the lab environment.  can you suggest some guidelines about setting these parameters to enhance the noise immunity ?

    Thanks and regards,

    Omkar

  • Hello,

    I suspect the code is halting if the system attempts to cause a conversion to continue beyond the error threshold. What is your conversion count? For mutual capacitance, a good rule-of-thumb is to take the conversion count + 2-3x the maximum expected touch strength. For example, if a button has conversion count setting of 400, and a maximum expected delta due to touch of 100, than setting an error threshold of 600-700 would be appropriate.

    Have you gone through the Tuning Check List yet?

    So we tried to replicate the condition of UPS battery being drained out, but it didn't occur. For debugging purpose , we kept blinking LED using timer interrupt and we observed that whenever touch detection stops, the application code also stops somewhere as LED blinking stops. Why does code stops? 

    I'm not sure I understand everything here. Is there a change that if the UPS battery discharges, would the voltage supply to the MSP430 drop enough to turn off the device?

  • Hello James,

               Apologies for delayed response as I was out of office due to holidays. Yes , I have gone through tuning list and tried applying the error threshold as suggested in it. So, in 16 keys keypad, my max conversion count is 500 and delta is around 200, so according to the formula, my error threshold should be max around 1200. I applied this value in the configuration but problem occurs even in lab conditions, that is touch detection stops for good 5-6 seconds. When I keep the error threshold 1500 , it works fine. I am attaching the data file of conversion count and delta for various keys. Please have a look and suggest how to use error threshold values. 

             Also, voltage supply does not drop whenever UPS battery is discharging so MSP430 does not turn OFF and we have observed later that condition occurs irrespective of UPS battery charge/discharge status.

               I have another query, out of different parameters given in the tuning list, which parameters should be given priority so that I can achieve trade off between noise immunity as well as good user experience ? I observed that when I keep oversampling parameter as 4x, understandably touch detection becomes hard as I guess no. of samples taken are increased.

    Thanks and Regards,

    Omkar 

    Captouch (1).xlsx

  • hello James,

            Any update on this?

    Thanks & Regards,

    Omkar

**Attention** This is a public forum