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.

[参考译文] MSP430AFE252:通过电容式温度漂移测试中心查询近似传感器设计

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/863909/msp430afe252-inquiry-about-approximity-sensor-design-via-captivate-center-for-temperature-drift-test

器件型号:MSP430AFE252
主题中讨论的其他器件:MSP430FR2512

您好!

我使用该器件通过 CapTIvate 中心(studio)在我自己的板上进行近似度传感器设计、我需要测试20 C 至50 C 的原始计数数据、并将 LTA 滤波器设置为7 (最高阶跃)以补偿温度漂移、 在 PC 和电路板之间成功通信后、我只需进行一次校准、然后我发现在加热和冷却过程中、增量值(用于近似度判断)会显著降低、很难区分最高温度(如50C)下近似度的实际触发因素。 我没有想到增量值对温度变化如此敏感。我想知道我是否需要通过不时按下工作室上的校准按钮来解决此问题、或者是否有任何其他方法可以使传感器不那么敏感 温度?谢谢!

B.R

Yuke

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

    您好、Yuke、

    在 CapTIvate 设计中心(GUI)中、是否启用了"运行时重校准"。  您将在传感器的"调优"选项卡上找到该选项。

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

    您好、Yuke、

    我还想指出、如果您要快速升高温度、则需要 LTA β= 0或1、而不是7。  β= 7可能会导致 LTA 滞后于温度引起的计数变化。

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

    感谢 Dennis 的回答。 我还想知道我是否选择实时校准、如果它在接近行为发生时进行校准会怎样。 我正在思考是否可以在我的案例中使用实时校准。 我想知道真正的设计,如果 有必要添加温度传感器来帮助更改 LTA 滤波器参数以适应快速温度或慢速温度,因为该值似乎需要根据您提到的不同温度或湿度上升速度进行调整。 谢谢!

    B. R

    Yuke

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

    您好、Dennis、还有 一个问题、当我使用设计中心时、我更新了一个参数、例如选择实时校准、我重新连接到 MCU 板、但有时我发现 GUI 残桩没有绘图、有时它工作正常、我通过正确读回我设置的参数进行检查 、当发生卡死时、这意味着通信正常、 我的 MCU 硬件设置也是正确的。创建的代码已成功编程 到 MCU 中。 我想知道导致 GUI 出现残桩的原因是什么、我应该怎么做来避免这种情况。 谢谢!

    B. R

    Yuke

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

    Dennis、您好、我想确认在设计中心 GUI 中、绘制出的计数值是来自传感器的原始数据、无需任何数据处理。 对吧? 由于 此计数数据的变化范围也会随着温度点的不同而发生很大变化、我的意思是线性度不佳。 因此、即使是具有小型锁存器的 LTA 滤波器也无法在我的末尾提供帮助 您能提供一些建议吗? 谢谢!

    B. R

    Yuke

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

    您好、yuke、

    问得好。

    下面简要概述了运行时校准的工作原理。 在初始校准之后、通常在上电时、LTA (长期平均值)和计数测量值相等。  我们假设此时没有触摸或接近。  随着温度的变化、LTA 会缓慢跟踪计数测量值的变化。   现在、随着温度的变化、传感器的灵敏度也会发生变化。  如果 LTA 与其上次校准相比变化+/- 12%、系统将重新校准。 这就是 CapTIvate 如何在整个温度范围内保持相对恒定的灵敏度、以及启用运行时校准至关重要的原因。

    现在、当存在接近或触摸时、LTA 将被暂时禁用。  通常、触摸或接近事件只持续一到两秒。  当没有接近事件或触摸时、LTA 继续跟踪计数测量变化。

    那么、有人问您、您的接近或触摸事件有多长时间?

    关于 GUI、当您在连接到目标时"更新"参数时、您只会更改存储在 RAM 中的参数。  对 MCU 进行下电上电会释放这些值。  您需要更新固件项目并使用新参数对 MCU 进行重新编程。

    遵循 《CapTIvate 技术指南 》中的指南、了解如何实现这一目标。

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

    尊敬的 Dennis:

    感谢您提供的信息。在我的结尾、我们使用接近传感器来检查是否有人在 环境中可供测试、人员将留在那里并可能改变距离、从而导致计数变化。因此、如果温度变化迅速、人员靠近并呆在那里、 重新校准将出现问题。

    B.R

    Yuke   

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

    您好、yuke、

    你是对的。 但是、我们可以为您提供一个示例代码、用于演示我们所谓的"长触控"。  它将为您的应用程序执行的操作是、当接近检测到人时、长触摸将允许 LTA 继续跟踪、即使该人保持靠近状态并导致接近事件也是如此。  这将解决温度变化和重新校准的问题。 让我将该示例拉在一起、然后我将发布它。

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

    尊敬的 Dennis:

    非常感谢您的帮助。 迫不及待地想看到您的示例、这可能会大有帮助:)顺便说一句、我想确认图上的'E00计数值'是仅来自传感器电极的原始数据、软件在数据采样后不会进行任何后续数据处理? 此计数与转移费用编号之间有何关系? 这是线性关系吗? 我只想确保在不同温度点下、相同的接近距离导致不同计数下降的问题(请参阅随附的图片)与您的软件无关、仅是由硬件和环境引起的。  谢谢!

    B.R

    Yuke

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

    您好、yuke、

    关于前一个有关"长接触"解决方案的问题:

    随附的是一个"长接触"算法的工作示例。
    该示例使用自电容传感器、因此所需的方向为下降(由于触摸期间电容的增加、转换计数减少)。
    如果是互电容传感器、则所需的方向将向上。

    演示的工作原理如下:

    1.长触超时设置= 5秒(您为应用选择适当的超时)
    2.在无触摸事件期间、LTA 跟踪被启用。
    3.如果触控事件持续时间小于5秒,则在触控过程中禁用 LTA,并且传感器报告触控。
    4.释放后,LTA 跟踪再次启用。

    到目前为止、这是正常的 CapTIvate 触控感应行为。  现在、让我们看看长触控是如何工作的。

    1.如果触控事件持续时间(最长)为5秒、则 LTA 跟踪被禁用、传感器报告触控。
    2、如果触摸持续时间超过5秒超时、长期算法将"重新播种" LTA 和转换计数(实质上设置相等)、所需方向从向下变为向上、并启用 LTA 跟踪。
    3、重要提示:传感器的状态将不再以触摸方式报告、但是长期算法的触摸状态确实如此(您希望在长期触摸时使用此状态、而不是传感器)。
    4.接下来,如果出现持续时间小于5秒的发行,则长期状态会将其显示为发行,并且在此短时间内禁用 LTA。
    但是、如果在5秒超时之前再次发生触控、则长期状态会切换回触控状态、并重新启用 LTA。
    6、最后、如果一个持续时间大于5秒的释放发生、长期算法 将"重新播种" LTA 和转换计数、目标方向从向上向下变化、LTA 跟踪被启用、而长期触摸状态被设定为释放。
    7.系统现在正以正常的 CapTIvate 触控感应模式运行、直到发生下一个长触控事件。

    e2e.ti.com/.../CapTIvate_5F00_LongTouch_5F00_Demo.zip

    我想确认、图上的"E00计数值"是仅来自传感器电极的原始数据、软件在进行数据采样后不进行任何后续数据处理? [Dennis ]您可以使用原始测量值或已过滤测量值。  我不确定您记录的是哪一个、但它们将非常接近。

    此计数与转移费用编号之间的关系是什么?[Dennis ]计数是转移费用的数量。

    这是一种线性关系吗?[Dennis ]是一样的。  如果您尚未找到 CapTIvate 技术指南、 则会在"技术"一章中对此进行介绍

    我只想确保在不同温度点下、相同的接近距离导致不同计数下降的问题(请参阅随附的图片)与您的软件无关、仅是由硬件和环境引起的。  

    请记住、在较低温度下、如果未正确设置阈值、可能会导致错误触发的器件噪声升高。  强烈建议您使用 CapTIvate 设计中心中的 SNR 测量工具来测量 SNR 和设计裕度、从而评估每个传感器的可靠性。 有关该过程的详细信息、请参阅应用报告 《电容式触控应用中的灵敏度、SNR 和设计裕度》。

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

    尊敬的 Dennis:

    非常感谢您的演示和源代码共享、这对我非常有帮助!

    B.R

    Yuke

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

    尊敬的 Dennis:

    我想进一步确保基于  按钮组传感器(的长触控算法、以及您提供的示例)也适用于接近传感器? 我是说传感器状态不会报告接近等状态、而长期算法状态将报告长期接近?

    B.R

    Yuke

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

    尊敬的 Dennis:

    我想进一步确保基于  按钮组传感器(的长触控算法、以及您提供的示例)也适用于接近传感器? 我是说传感器状态不会报告接近等状态、而长期算法状态将报告长期接近?

    BTW、我的器件名称为 MSP430FR2512、我假设接近电路的工作原理相同、如果算法有任何差异、我是否可以向我发送一个基于该器件的长期交易示例(如果有)? 非常感谢!

    B.R

    Yuke

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

    您好、Yuke、

    是的、对于长期接近、它的行为应与触摸时的行为相同。  无论传感器处于接近检测还是触摸状态、ui16Timeout 计数器(在 CAPT_Type.h 中定义)都会递增。

    该算法对于所有具有 CapTIvate 的 MSP430FR2xxx MCU 都是相同的。

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

    尊敬的 Dennis:

    非常感谢您的确认。然后我有另一个问题、我无法使用我的配置测量 SNR、并得到最大计数错误。 我不知道为什么会发生这种情况、根据图示、误差阈值的值将导致这种情况、但我的计数绝对不会超过8191。  不管怎样、我尝试将转换计数减少到1000、将转换增益降低到100、我相应地调整到更低的阈值 、但仍然存在最大计数错误。您能否提供一些提示、说明为什么即使在最大8191的情况下也会发生最大计数错误? 提前感谢您的帮助!

    B.R

    Yuke

      

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

    您好、Yuke、

    我建议从 conversion _gain = 100 (不要更改此值)开始、conversion _count = 1000、看看您是否仍然看到最大误差。

    如果您需要将 convation_count 增大到1000以上、则一定要遵循应用报告 《电容式触控应用中的灵敏度、SNR 和设计裕度》。

    您可能会发现、您将永远无法获得所需的灵敏度。  然后、我将第二次查看您的电极设计。  它可能太小或周围接地的寄生电容太大、因此您永远无法实现所需的性能。

    您的接近传感器使用什么?

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

    尊敬的 Dennis:

    我已经尝试了转换增益=100、转换计数=1000、即使使用此参数设置、最大计数错误仍然会发生、并且在数据绘制期间 Studio 经常会吸入几秒钟(尤其是在发生近似值/触摸时)、然后再次工作。 我想知道为什么会发生这一切、我确定我的计数值没有达到最大值8191。

    此外、根据等式:

    (转换增益/计数-转换增益/LTA)*100%=Δ 电容

    我为我的硬件测量的基极电容约为21pf、在25°C 时、触摸/非触摸占用之间的差值电容约为我的硬件环境中基极电容的4%。我们的限制是使用来自传感器电极的长电缆来降低基极电容。 根据您的应用手册、似乎可以使用4%的 Δ 电容进行测试、但从我们看来、使用此类 Δ 信号时、性能似乎不稳定。

    B.R

    Yuke

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

    您好、Yuke、

    最大计数误差阈值指定了传感器内任何元件允许的最大转换结果。 在硬件中检测到错误阈值交叉。 如果在转换过程中、一个或多个元件在转换结果超过错误阈值之前没有完成其转换、那么外设将终止转换、并且错误条件将在软件中的传感器级上被标记。 该机制可防止在校准错误或硬件问题时转换永远持续。 硬件问题可能包括但不限于断开的电极或短路电极。

    您是否仅在接近范围内或触摸传感器时才会看到此错误?

    如果您打开 CapTIvate 设计中心并创建一个全新的项目并生成源代码、请勿更改任何默认参数设置、对目标进行编程、您是否看到这种相同的行为?