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.

MSP430FR2632: CapTIvate false touches

Part Number: MSP430FR2632

I have a device that has 4 mutual capacitance sliders each with 3 elements per slider. In most circumstances, it works great. However, I've noticed that when I take this device to other locations, it starts misbehaving. Sometimes the sliders will randomly detect touches even though there's nothing near the sliders. Other times, it looks like the sliders detect a single mysterious touch, as if a user was holding his/her finger on the slider, but not moving the finger across the slider. In both cases, these touch events are never triggered by any user touches. Also, this issue seems to be highly correlated with the location. Some locations see this problem frequently. Other locations never see the issue.

Has anyone seen a problem like this? What are some recommended solutions or debug methods for fixing it?

Thanks!

-Thomas

  • Hi Thomas,

    For better understanding of your system, I have a few question for you:
    Is there a overlay assemblied above the touch sensor PCB?
    Is there a ground pour under the touch sensor?
    What is the conversion count setting in the firmware?

    Ling
  • Hi Ling,

    Here are my responses:

    Is there a overlay assemblied above the touch sensor PCB? Yes. There's conductive foam glued to the top of the sliders and then there are plastic grooves that sit on top of the sliders.
    Is there a ground pour under the touch sensor? There's a ground hatch pattern underneath the touch sensor.
    What is the conversion count setting in the firmware? The conversion count is set 500 and the conversion gain is set to 200. I've pasted the settings and tunings that we use below.

    .ui16ConversionCount = 500,
    .ui16ConversionGain = 200,
    .ui8FreqDiv = 2,
    .ui8ChargeLength = 0,
    .ui8TransferLength = 0,
    .bModEnable = false,
    .ui8BiasControl = 3,
    .bCsDischarge = true,
    .bLpmControl = false,
    .ui8InputSyncControl = 0,
    .bTimerSyncControl = false,
    .bIdleState = true,
    // Tuning Parameters
    .ui16ProxThreshold = 10,
    .ui16NegativeTouchThreshold = 20,
    .ui16ErrorThreshold = 8191,
    .ui16TimeoutThreshold = 65535, // Sensor timeout disabled
    .ProxDbThreshold.DbIn = 1,
    .ProxDbThreshold.DbOut = 0,
    .TouchDbThreshold.DbIn = 1,
    .TouchDbThreshold.DbOut = 0,
    .bCountFilterEnable = false,
    .ui8CntBeta = 1,
    .bSensorHalt = false,
    .bPTSensorHalt = true,
    .bPTElementHalt = true,
    .ui8LTABeta = 7,
    .bReCalibrateEnable = true,

     

    Thanks!

    -Thomas

  • Hi Thomas,

    I will contact you by email.

    Ling
  • Ok thank you Ling! I'm looking forward to your response.
  • Hi Tomas,

    I am gonna close this post. I will follow up your case offline.

    Ling

**Attention** This is a public forum