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.

[参考译文] TIDM-1021:耐液体电容式触控键盘–处理负极触控

Guru**** 2540720 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1567378/tidm-1021-liquid-tolerant-capacitive-touch-keypad-dealing-with-negative-touch

器件型号:TIDM-1021


工具/软件:

我正在使用 MSP430 CapTIvate 互电容法设计电容式触控键盘。

布局:7 个按钮、具有通用 TX(密集阴影)、RX 焊盘尺寸~11mm(圆形)、RX-TX 间隙 0.5mm。
和微控制器位于单独的板上。 通过 R(470 欧姆)-C (68pF) 网络将检测连接到引脚。 这两个电路板都连接了一个连接器。

应用:浴缸手柄上的键盘、始终存在水膜。

该 TI 参考设计使用:
bSensorNegativeTouch 标志和 bSensorHalt 在水中冻结 LTA。
MAP_Capt_testForNegativeTouchRecalibration() 已注释、以防止错误重新校准。

在我的测试中观察到的行为:
检测到负极接触后、电流计数会显著降至 LTA 以下。 手指触摸不能超过阈值、因此在重新校准之前会错过真正的触摸。
在干湿两种情况下都可以观察到这种情况。

问题:
在互电容模式下、允许手指检测而不会卡在 LTA 以下的最佳固件策略是什么?
是否应移除或修改 bSensorHalt、以便恢复基线?
是否建议使用负向触摸屏蔽或使用替代方法?
是否有建议的 PCB/布局更改(RX–TX 间隙,阴影图案等)可改善互盖系统中的手指与水分离?

附加配置文件以供参考。

e2e.ti.com/.../5340.CAPT_5F00_UserConfig.c

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、 Mithilesh Chaubey 

    让我将此主题转至 CapTouch 专家、以提供意见。

    此致、

    Helic

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我想您需要更改代码以停止 LTA。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我提到了 TIDM-101_SoftwarePackage 并在代码中使用了这些软件。 我是否需要更改应用程序、如果需要、请提供支持。 下面是随附的应用程序代码。

    Void Keypad_Callback (TSENSOR* pSensor)

    Uint8_t dominantButton;

    //如果液体出现“负触“事件、则停止长期平均 (LTA)
    //已呈现。 这将防止在“负极触控“事件后进行误触控检测。
    if(pSensor->bSensorNegativeTouch == true)

    pSensor->bSensorHalt = true;
    }
    暴露

    pSensor->bSensorHalt = false;

    }

    //主要按钮锁定算法
    //此算法将根据最大增量确定主按钮
    //检测到触摸后。 系统会将这个显性按钮锁定为
    //触摸按钮、直到未检测到触摸。
    if (pSensor->bSensorPrevTouch == false)

    if (pSensor->bSensorTouch == true)

    dominantButton =((tButtonSensorParams*)(pSensorParams))->ui16DominantElement;
    Touched_Button = dominantButton + 1;
    }
    暴露

    Touched_Button = 0;
    }

    }

    }

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    负极触控检测和停止 LTA 对于我的应用来说是可以的、但当检测到负极触控时、电流值会降至低于负极触控阈值、无法恢复该值。 为什么删除负触控后此行为会恢复电流值。 我的理解是否正确?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我看到您更改了此回调函数。 如果你想添加你自己的代码,我建议在 Update_LED() 中添加它。 请勿触摸 Keypad_Callback 中的其他部分代码 。