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.

[参考译文] tidd25a 有关 LC 传感器的问题

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/697204/tidud25a-problem-regarding-lc-sensor

主题中讨论的其他器件:CC1310CSD23285F5CSD23280F3TIDA-01228

我正在 tidud25a.pdf 上工作

在第12页中、图表显示了输出和触发点的波形

但是,我尝试制造相同的电路

波形与它~完全不同

对于软件,我在 cc1310 launchpad 中运行随附的.scp 文件

这是我的封装点的附件

示波器1是 LC 的输出

而示波器2是触发点

如果有任何帮助或建议、请感谢~

谢谢~

Jeff

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

    尊敬的 Jeff:

    我看不到您的.scp 文件、因此请重新上传。

    观察示波器图、似乎触发器正在启动振荡、但振荡器的衰减过快。

    此外、共享以下内容:

    -您的原理图以及您使用的 FET ( 间距为0.5mm 的 CSD23285F5)或间距为0.36mm 的 csd23280F3

    间距。

    -您的 BOM (填充了哪些值)

    -您将哪个电感器和电容器用于 LC 振荡电路

    假设原理图和 PCB 正确、我认为您可以尝试以下方法(相互独立):

    1. 修改电容 C5和 C6的值(例如、将其从100nF 增加到220nF、甚至增加到470nF)
    2. 增加 SCP 文件内的触发脉冲宽度(例如、从250ns 增加到500ns、甚至1us)
    3. 如果您使用不同的电感器、则还需要调整 C3和 C4 (构成 LC 振荡电路)的值。

    此致、

    米伦

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

    好的、谢谢~

    我得到的误差是我漏掉了旁路电容器 C5 ...

    我是否可以问、因为我没有 L3的确切值(235uH)

    我可以将其替换为470uH、如何更改代码?

    谢谢

    Jeff

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

    您好、Milen、

    我对 TIDA-01228参考设计的工作还有一些疑问

    这是参考设计的原理图

    到目前为止、我认为我可以获得与 P12中的波形类似的波形。

    这是我得到的一个

    A)

    现在、我在 TIDA-01228.zip (TIDA01228_F285.scp)内运行 scp

    我看到执行代码中的第24行

    tdcGetValue (tdcValueH、tdcValueL);//获取 TDC 计数器值

    没有任何变化

    tdcValueL1和 tdcValueL2 UIS 始终为2... 为什么呢?

    B)

    有时我得到 tdcValueL1的值、就像这样

    tdcValueL1在35xx-4xxx 至2之间振荡,这意味着什么?

    c)我看到了

    //设置 errorLUT,指示发生了错误转换

    N = 3;//此表不在此代码中使用

    State.errorLUT[n]= 1;

    N = 9;

    State.errorLUT[n]= 1;

    N = 6;

    State.errorLUT[n]= 1;

    N = 12;

    State.errorLUT[n]= 1;

    一旦我运行,这个标志总是被设置,为什么呢?

    D)

    硬件

    -您的原理图以及您使用的 FET (  间距为0.5mm 的 CSD23285F5)或 间距为0.36mm 的 csd23280F3

    间距。

    -您的 BOM (填充了哪些值)

    -您将哪个电感器和电容器用于 LC 振荡电路

    假设原理图和 PCB 正确、我认为您可以尝试以下方法(相互独立):

    回答上述问题后、我使用的 FET 是 QS6M3、而不是 TI 一个(由于提前期、下周我将获得 TI 一个)

    电感器和电容器--电感器 I use 为470uH,电容 I use 为100pF。

    谢谢

    Jeff

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

    Jeff、

    是的、在上一个问题上:您可以使用更大或不同的电感器(可能已经使用过)、振荡图看起来非常好。

    现在进入新项目:

    a 和 B) tdcValue 计算内部96MHz 计数器的节拍、直到达到或未达到振荡数量(在 SCP 代码中设置)。 如果在超时到期前达到振荡数量(例如30usec)、则得到的值为35xx 或4xxx。

    如果未达到期间内的数字(您可以在 SCP 代码中调整)、则将得到值2 (表示从未达到)。

    这就是为什么在用户指南中、我们要调整振荡数量和超时周期、以便在电感器附近没有金属时(未抑制振荡)有3xxx-4xxx 的数量、而在振荡被抑制时有2个。

    另请注意、该周期可能会因您的电源电压而异、因此也请检查该周期。

    b)您确实希望在2的值和大量96 MHz 节拍(3xxx 或4xxx 范围)之间进行更改。

    c)我没有对错误查找表进行太多实验、但想法是、当您旋转时、通常会在之前或之后从一个状态更改为下一个状态(取决于光盘旋转方向)。

    如果您前后跳两个状态、则意味着您错过了某个状态、因此会产生错误。

    由于您的代码在电感器1和电感器2上没有显示干净的脉冲序列、因此您会遇到错误、这些错误会显示在 LUT 中。

    最终目标是在电感器1和电感器2上具有周期脉冲(高-低)序列、当圆盘转动时、该序列会延迟90度。

    这通常也称为正交编码器信号。 这就是我在 TIDA-01228中实现的目标以及 SCP 代码可以处理的目标。

    d)好的

    总之、您具有良好且可重现的振荡、从而获得了一个重要的里程碑。

    现在、您可以将代码更改为对于两个电感器、tdcValue 始终保持在3xxx-4xxx 左右(在近距离内没有金属)-通过延长等待周期或减少在此超时周期内预期的完全振荡数量来实现。

    下一步:您可以将金属盘(或只是一个小螺丝刀)放在靠近电感器的位置、然后运行示波器和 Sensor Studio 工具、以查看 tdcValue 变为2的方式/时间以及由于金属接近而如何抑制振荡。

    这将让您感受到您需要等待多少个周期、直到金属闭合物和金属分离物之间发生可靠的变化、并且您可以根据硬件调整代码。

    希望这能为您提供更多帮助!

    此致、

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

    您好,Milen,

    感谢您的回复。

    今天我取得了一些进展、但与您在这里所说的略有不同:

    a 和 B) tdcValue 计算内部96MHz 计数器的节拍、直到达到或未达到振荡数量(在 SCP 代码中设置)。 如果在超时到期前达到振荡数量(例如30usec)、则得到的值为35xx 或4xxx。

    在 scp 行11中、

    tdcSetTriggers (TDC_STOPTRIG_COMPA_HIGH、TDC_STOPTRIG_COMPA_HIGH、22);对于修订版2、采用23285F5和38uSec 超时4176/4100

    1.0)首先、22意味着什么? 低于内部基准1.27V 时、振荡是否满22? 高于内部基准1.27V 时、振荡是否满22?  

    1.1)我有一个计数、出现18-2x 振荡、但一旦我设置22、它永远无法达到、因此 tdcvalue 显示为2、

    1.2)调整等待经历时间内的值(示例 scp 中为38us)在帮助更改结果方面似乎没有太大不同

    1.3)我还想知道如何调节 CAN 或我需要调整哪个参数、以便它可以接受圆盘和电感器之间的各种距离或最大距离

    1.4)如果我的光盘旋转得很快(我猜可能是100rpm 或更高)、则 scp 不起作用(而第三代 TI ESI 水表参考可以)、这有任何限制?

    1.5)在整个设置中、没有校准、在某些情况下、L/C 或内部基准电压会发生变化、设计如何对此进行补偿?

    谢谢

    Jeff

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

    Jeff、

    如果您使用 Sensor Controller Studio 中的帮助函数和电子函数的文档(请参阅右下角的"可用过程"窗口并双击)会更好、其中介绍了所有函数、触发器等-这将回答您的许多问题。

    以下是我的输入:

    1.0) 22表示、在 SCP 中设置的超时(例如38us)到期之前、您将有完整的22个振荡、这些振荡的值将超过内部基准1.27V。

    1.1)是的、正确。 那么、请使用18开始。

    1.2)如果达到18个振荡、则可以获取测量的值、例如3000个节拍、并乘以1/96MHz、以获得这18个振荡的确切持续时间。 根据此计算、您实际上可以减小或缩短超时值(您可能会在该值处留出1-2us 的额外时间)。 这将帮助您更快地进行采样。

    1.3)最大 距离取决于圆盘及其金属涂层、振荡频率以及圆盘上电感器的机械调整。 您无法调节 SW 参数;您必须使用其他电容器和 电感器进行测试、以查看这是否会延长距离。 您还应具有固定的机械设置(圆盘区域上的电感器)、以获得可重现的结果。 根据 XY 方向的圆盘位置调整<1mm、我测量了可实现距离的显著变化。

    1.4)是的、TIDA-01228不能替代 ESI 解决方案、ESI 解决方案经过优化可实现高性能和超低功耗。 TIDA-01228是执行旋转检测的另一种方法、一个限制是处于调试模式的 Sensor Studio -它仅在调试模式下每秒运行11-12次任务! 为了实现更快速的旋转、您必须将 SCP 代码集成到 CCS Studio 文件中(请参阅提供的 TID FW)、然后使用它进行测试!

    我测试了高达128或160Hz 的频率(现在不记得确切的最大值 编号)的示例、该示例使用 CCS 项目(而不是 Sensor Controller Studio)。 C 代码中有注释、显示了针对光盘不同采样率的这些变化。 电流消耗测量也使用了该功能、请参阅用户指南。

    1.5)在进行稳定的硬件和固件设置后、必须使用 CC1310的不同外部 VCC 电压进行测试、以验证该电压是否与 SCP 文件中的参数(超时、振荡次数等)兼容。

    请仔细阅读 TIDA-01228用户指南!

    此致、

    米伦

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

    您好、Milen、

    电子函数的文档(请参阅右下角的"可用程序"窗口并双击)、其中介绍了所有函数、触发器等-这将解答您的许多问题。

    很抱歉、我找不到以上内容、

    Jeff

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

     Jeff、

    附件是执行代码窗口中 tdcSetCntSource()函数调用的快照。

    双击右下角将打开文档、如下所示:

    此致、

    米伦

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

    您好、Milen、

    是否可以从它实施3LC 传感器?

    谢谢

    Jeff

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、
    您可以有3个 LC 传感器、TID 实际上显示了3个具有 LC 振荡电路的 FET。
    挑战在于、对于 I 使用的小型旋转盘和所用电感器的尺寸、您只能在盘上方有2个电感器。
    因此、我在 SW 中仅使用了2;但在其他应用(或冗余)中、添加对第3个电感器的支持没有问题。

    此致、
    米伦