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.

MSP430FR2676: Normally-ON touch sensor

Part Number: MSP430FR2676

Hello,

My customer asked me if the MSP430FR2676 is good for Normally-ON touch sensor.
The uC is expected to wake-up when the finger is OFF.
Could you please advise ?

Their sensor works as mutual-mode.

It would be not easy to sipmly say yes or no, therefore could you please advise to the following points ?


Q.
Do you think that the LTA traces the count value of the Finger-ON state ?

Q.
Do you think the "Negative touch" threshold is good for the case or not ?
(I would ask this because I thought Prox and Touch threshold is not good.)

Q.
Could you please tell me if you hit any other concerns ?

  • Hello Hideaki,

    Ordinarily the LTA tracks the conversion count when there is no finger touching the sensor.  When a finger touches the sensor, the LTA is halted until the finger is removed.  It is possible when Captivate performs a calibration, either at power on or when LTA drifts out of tolerance, a finger could be touching the sensor.  The additional capacitance added by the presence of the finger is "cancelled out" so the sensor does not detect the finger and the LTA continues tracking as normal.  When the finger is removed, this is detected as a "negative" touch and Captivate will perform a re-calibration.

    Your customer said " the MSP430FR2676 is good for Normally-ON touch sensor.

    I am not sure I understand what your customer is attempting to do.  Does the customer want to reverse the logic so when a finger or object is in contact with the sensor there is no detect, and when the finger or object is removed Captivate indicates a detect?  Can you provide some more details about the sensor and how it works in the customer's application.

    I believe the customer could change the "direction of interest bit" in the sensor's data structure.  Since they are using mutual sensor, the current direction is up.  I'll have to test this to confirm there aren't any un-foreseen issues doing it this way.

    The other possibility is to use a "long touch" algorithm.  I attached a zip file with example for FR2633 and FR2676 and documentation. The captivate design center projects are also included if they want to see the output in the GUI.

    The examples uses a self cap sensor so the direction of interest is DOWN (conversion count decreases due to increase of capacitance during a touch).
    If it were a mutual cap sensor the direction of interest would be UP.

    So the demo works like this:

    1. Long touch timeout set = 5sec (you choose appropriate timeout for your application)
    2. During no touch event, LTA tracking enabled.
    3. If a touch event lasting <5 sec, LTA is disabled during touch and sensor reports a touch.
    4. After release, LTA tracking enabled again.

    So far this is the normal Captivate touch sensing behavior.  Now lets look at how the long touch works.

    1. If a touch event lasting (up to) 5 sec, LTA tracking is disabled and sensor reports a touch.
    2. Now if touch continues longer than the 5 sec timeout, the long term algorithm will "re-seed" the LTA and conversion count (essentially set the equal), the direction of interest changes from DOWN to UP and LTA tracking is enabled.
    3. Important: The sensor's status will no longer report this as touch, however, the long term algorithm's touch status does (you want to use this status while in long term touch, not the sensor).
    4. Next, if a release occurs that lasts < 5 sec, the long term status shows this as a release and the LTA is disabled during this short period of time.
    5. But, if a touch re-occurs before the 5 sec timeout, the long term status switches back to a touch and the LTA is re-enabled.
    6. Finally, if a release occurs that lasts > 5 sec, the long term algorithm  will "re-seed" the LTA and conversion count, the direction of interest changes from UP to DOWN, LTA tracking is enabled and long term touch status set to released.
    7. System is now operating back in normal Captivate touch sensing mode until the next long touch event.

    CaptivateLongTouchExamples_v2.zip


  • Dennis,

    I'm sorry for any confusion. Yesterday I tried to ask you without telling customer's sensor.

    Let me explain about the sensor:
    - It is a mechanical switch.
    - In a switch, there are three electrodes.
    - Two electrode, TX and RX, on the PCB.
    - The third electrode is a small metal plate on the moving component.
    The plate is electrically floating. Not grounded.
    - When the switch is pressed. the metal plate come closer to the TX and RX electrodes.

    Therefore the capacitance between the TX and RX increases.

    Q1.
    Thank you very much for the material capacitive_long_touch.pdf.

    Q1-1.
    Please let me confirm the point of the material.
    Does it mean that both the capacity increase and decrease can be detected by the
    combination of the two parameters, "Touch status" and "Long touch status" ?

    Q1-2.
    Could you please explain the "Long touch status" ?
    I could not find the words in the EVSW channel table screen or the technology guide site..


    Q2.
    Thank you very much for the sample settings for the CapTIvate design center.
    I'm looking into FR2676_ButtonLongTouchExample.
    In the property of the numericKeypadSensor,
    Halt LTA On Sensor Prox Or Touch is Enabled.
    Does it re-seed the LTA ?
    (I'm sorry, I can't try this on the actual EVM now.)

  • Hi Hideaki,

    Ok, that is good description, so I understand now.

    Q1-1.
    Please let me confirm the point of the material.
    Does it mean that both the capacity increase and decrease can be detected by the
    combination of the two parameters, "Touch status" and "Long touch status" ?

    Yes.

    ================================================================

    Q1-2.
    Could you please explain the "Long touch status" ?
    I could not find the words in the EVSW channel table screen or the technology guide site..

    Yes, you won't find any information about long touch in the Captivate technology guide because the long touch because it was created after the last revision of the tech guide.  In the future we will include it.

    ================================================================

    Q2.
    Thank you very much for the sample settings for the CapTIvate design center.
    I'm looking into FR2676_ButtonLongTouchExample.
    In the property of the numericKeypadSensor,
    Halt LTA On Sensor Prox Or Touch is Enabled.
    Does it re-seed the LTA ?
    (I'm sorry, I can't try this on the actual EVM now.)

    I updated the code examples and fixed mistake in the ppt.  Please download again for latest copy.

    Regarding the sensor parameter Halt LTA on Sensor Prox or Touch, no it doesn't "reseed" LTA, it halts the LTA.  See below the 3 options for controlling how the LTA can be halted.

         .bSensorHalt = false -> Halts LTA immediately if conversion count and LTA are not the same. (not used very often).
        .bPTSensorHalt = true -> Halts LTA if any sensor element conversion count passes through the element's prox or touch threshold. (Any element can halt sensor LTA)
        .bPTElementHalt = true -> Halts LTA only for that element if conversion count passes through that element's prox or touch threshold.

    ================================================================

    I want to mention also that when a Captivate system powers up, it performs an initial calibration, and in this case, assumes the metal plate is not near the sensor. What happensif the floating plate is near the electrodes when this initial calibration occurs?  The additional capacitance gets removed, so there is no way to detect the position of the switch using the long touch algorithm at startup. Do you know if this is possiblity with customer use case?  If so then I need to share information about how you can use the Captivate internal reference capacitor to help determine the initial state of the switch.  I will wait for your response.

  • Dennis,
    Very kind. I would reply to the end of your post.
    Unfortunately, any switch operations are possible for their application.

    Dennis>>>>
    I want to mention also that when a Captivate system powers up, it performs an initial calibration, and in this case, assumes the metal plate is not near the sensor. What happens if the floating plate is near the electrodes when this initial calibration occurs? The additional capacitance gets removed, so there is no way to detect the position of the switch using the long touch algorithm at startup. Do you know if this is possiblity with customer use case? If so then I need to share information about how you can use the Captivate internal reference capacitor to help determine the initial state of the switch. I will wait for your response.
    <<<<

  • Hi Hideaki,

    Attached is example showing how to use internal reference cap to determine the initial state of a button.

    Main.c does all the work.  The other project files are typical Captivate project files.

    CAPT_detect_initial_sensor_state.zip

  • Dennis, 

    Thank you for your .ZIP. I found the sample EVSW project and a PDF material.

    Let me talk to my customer.

    Also I'm reading an explanation of "Reference Capacitors":

    http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/CapTIvate_Design_Center/latest/exports/docs/users_guide/html/CapTIvate_Technology_Guide_html/markdown/ch_technology.html#reference-capacitors

**Attention** This is a public forum