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.

[参考译文] TM4C1294KCPDT:针对 QEI0 (片外)的模拟滤波

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/594755/tm4c1294kcpdt-analog-filtering-for-qei0-off-chip

器件型号:TM4C1294KCPDT

是否有德州仪器(TI)关于正交编码器硬件的建议去抖电路的应用手册?

我将一个基本正交编码器"用户界面旋钮"连接到 QEI0外设。 编码器上的公共引脚接地。 我已经为这些 GPIO 引脚启用了弱上拉功能、这似乎起作用了。

遗憾的是、QEI0无法很好地跟踪旋转。 它主要起作用、但有足够的错误读取、因此很难在没有一些跟踪错误的情况下进行非常远的传输。 我假设这意味着我需要修改我的电路以包括去抖模拟滤波。 我尝试使用 QEI0的数字滤波功能(使用 E2E 论坛上其他地方的代码手动启用该功能、因为没有 API)、但数字滤波实际上使跟踪效果更差。

每个相位上的简单模拟 RC 滤波器网络是否合适? 我正在设计第二个原型 PCB、现在是添加组件的时候了。

当我询问时、对 QEI0使用弱上拉功能是否存在任何问题? 如果没有上拉电阻器、该功能根本不起作用、因此似乎我启用了它们、尽管使用"实际"上拉电阻器可能会改善较差的性能。

我知道特定的电阻和电容可能取决于我拥有的特定硬件编码器的规格、因此我基本上想确认建议电路的基本拓扑、并计算或以其他方式找出合适的值。

还有一个问题:馈送到 QEI0外设的时钟速率是否是潜在的问题? 我应该减慢速度还是加快速度? 假设我的特定硬件具有特定的最大抖动持续时间、这是否会对性能产生影响?

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

    问候语-我们已通过 QEIO 功能(供应商早期的 LX4F)、并且(也)发现 MCU 上拉电阻(实质上)导致了您注意到的问题。 (例如、在我们的案例中、快速控制旋转或极好的控制旋转导致 QEI 跌撞。)

    怀疑10kΩ Ω 上拉电阻( 针对每个 QEI 输入信号)的附近会大大改善您的结果。   (一个靠近每个输入引脚的小值陶瓷电容器-也有助于)  、而且-我建议您在严苛的条件下测试/验证-利用控制"旋转"来承受应力。

    此类编码器有许多"等级"-成本较低的编码器(可预测)需要比豪华编码器更多的"注意/处理"。   (高价的接受了"更快、更好"的控制旋转-但仍通过使用"真实/适当"上拉电阻器来增强控制。)

    我们还应注意、从编码器到 QEI 引脚的信号路径应避免噪声源、并应尽量减小。 (有时屏蔽对可能有所帮助)   

    您、"了解所有这些内容"-但此帖子可能会下游(由其他人)查看、而我所描述的方法"解决了"您(以及我们、过去)注意到的问题...   (内部电阻器的优势通常证明很轻微)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、Brian
    是否确定编码器信号中存在抖动问题? 您是否在示波器上看到了您的信号? 如今、重要的工业编码器已经提供了某种去抖解决方案...
    一些建议:
    -用示波器查看您的信号,搜索可疑的东西
    -通过在输入引脚上应用人工已知速率信号来测试 QEI 功能,查看是否获得预期结果
    -也许可以手动在这些线路上添加一个外部上拉电阻、保持 MCU WPU 未配置、看看这是否会影响您的结果...
    我可以看到、您对编码器信号的电介质的看法"太多"、这是有道理的-但您使用哪种编码器? 同样、很少见的情况是、良好的编码器无法始终向 QEI 输入提供像样的信号...
    此致
    布鲁诺
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    另一种方法是添加 A 时钟 B/B 时钟 A 输入滤波器。 这样可以消除边沿噪声和抖动、但代价是在更改方向时丢失脉冲。 唯一的速率限制是逻辑 IC 的速度。 边沿噪声通常是最常见的。

    作为一项副作用、它在编码器和微控制器之间提供了一个献祭 IC。 不得轻视解雇的福利。 也可以进行电平转换。

    哦、是的、QEI 处理信号的速度将受到限制、数据表中将会提到这一点。

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

    [引用 user="Bruno Saraiva">您确定编码器信号中存在抖动问题吗? 您是否在示波器上看到了您的信号? 如今、重要的工业编码器都已经提供了某种去抖解决方案...[/QUERP]

    Bruno、您好、听起来您在谈论有源编码器解决方案。 我使用的是纯机械无源旋转编码器、因此我看不到它如何内置去抖。

    该部件为 BI Technologies / TT Electronics EN11-VSM0AF20、额定最大3Ω Ω 触点电阻、60RPM 时最大滑动噪声为2ms、15RPM 时最大触点反弹为5ms、总转速最大为100RPM。

    各方面都有好的建议。 我将尝试使用外部上拉电阻器重新设计现有原型板、并使用"前后"的"Scope"检查我的假设。

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

    [引用 USER="Robert Adsett]另一种可能是添加 A 时钟 B/B 时钟 A 输入滤波器。 这样可以消除边沿噪声和抖动、但代价是在更改方向时丢失脉冲。 唯一的速率限制是逻辑 IC 的速度。 边沿噪声通常是最常见的。[/quot]

    很好的建议、Robert。 我很惊讶 QEI 外设的硬件中没有这个 A 时钟 B/B 时钟 A 模式。 该技术是否已获得某人的专利? QEI 外设能够指定两个输入是相位 A 和相位 B 还是时钟和方向。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我在90年代初首次在英特尔数据表中使用了这项技术、甚至没有任何迹象表明这项技术是最新的或新颖的。 这似乎是一种刚刚被遗忘的技术。

    哦、其他滤波器不能滤除转换边沿上编码器的边沿噪声、这一点很好。 这是具有大量低频的非常宽的带宽、任何基于时间的滤波器都无法处理这种情况。

    我怀疑、商业 IC 未使用它的原因是它确实不依赖方向变化。 不过、这不一定是一个重要的缺点。

    Robert
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您也可以考虑使用数字隔离器。 外部干扰的小保护。

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

    您好 Brian、

    是的-我来自工业领域、从未接触过价值1.00美元的编码器! 我们使用的编码器的成本比这个高一点...

    我认为外部上拉电阻不会帮助您... 反弹实际上是由某种未定义的边界机械接触引起的、这种机械接触的强度当然足以保持这些尖峰甚至与上拉电阻器进行对抗。 此外、5ms 是一个永恒的、因为在反弹中是相关的... 您几乎需要一个软件解决方案... 如果您将其用于用户输入、更改可能足够慢、以至于您实际上只需将其视为 GPIO、并使用"最小脉冲持续时间事件消除"。

    在信号器件本身、您可能会放弃一些模拟滤波。 我曾看到过串联的小值电容器、但对于这些长峰值、可能需要一个"巨大"的 R/C 对-这将导致脉冲延迟、但可能会达到目的。

    我们经常讨论编码器。 目前、我们最常用的解决方案是内部开发的基于磁芯片的编码器、对我们来说、这是一种出色的解决方案、尤其是因为我们可以将电子产品与"外部"分离、并为 PCB 提供全封闭的外壳。 但 IC 本身的成本会比您的消费类产品部分高一些。 我们还在过去购买了激光打印光盘并使用光学电子器件来检测旋转情况、我们还处理了"自己的编码器"、单位成本很有趣、但机械设计不适合我们的需求、就在那时。

    尽情享受吧! 如果在这个问题上还有更多的帮助空间、请大声说出!

    布鲁诺

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

    [引用 user="Bruno Saraiva"]我不认为外部上拉电阻器会帮助您

    我会的!   (请注意、我们过去通过使用(适当的)外部上拉电阻器解决了"仅此类问题"(并在此处报告了此类问题)。)

    您是否注意到、此海报报告"成功"的频率为"低于全速和距离-控制旋转"?    这一点至关重要-不是吗?    

    (任何)控制旋转可能会产生一些信号干扰、但外部上拉电阻的"成本和尺寸"优势很诱人、并提供良好的"一阶"解决方案。

    此类消费类器件很可能会证明"单元到单元"和"生产差异"-因此必须添加一些"安全/保护频带"规定。    所有这一切都始于使用适当的外部上拉电阻器。

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

    [引用 USER="CB1_MOBILE "]

    Bruno Saraiva
    我认为外部上拉电阻器不会对您有所帮助

    我会的!

    [/报价]

    我同意 CB1的意见。 而且、上拉电阻不仅可能太弱、无法安全有效、还会危险地诱使一个器件将编码器直接连接到微控制器。 电阻器成本低、分立式逻辑也是如此。 甚至数字隔离器也不是特别昂贵(而且它们避免了光电元件的一些设计难题)。

    要安全地连接任何外部接线、无论是在工业环境还是消费类环境中、都需要为输入添加保护功能。

    这并不是说这种上拉电阻本身就足够了、正如您说的、Bruno 也可能存在机械抖动以及我提到的具有极低频率分量的边沿抖动。

    Robert

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

    "我认为外部上拉电阻不会帮助您"是指"我认为上拉电阻不会解决您的问题"。

    我相信他们会有所帮助,正如我先前所建议的那样。 但5毫秒的反弹、而不是接地上的上拉可以治愈。

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

    [引述 USER="Bruno Saraiva"] 5毫秒的反弹,而不是地球上的上拉电阻可以治愈。[/引述]

    然而- 5 nS 的反弹-(每一个)地球上的上拉将治愈!

    这两种情况--显然--都登记为"异径管和异径管"。 (影响导致"荒谬"的结论。)

    简单的事实是、我们的海报尚未进行测量/探测-和/或提供结果。    证明自己的观点(或试图)-通过如此偏倚的条件-并不是令人信服的...

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

    [引用用户="Bruno Saraiva"]但5毫秒的反弹,而不是地球上的上拉电阻可以治愈。[/引用]

    这取决于导致感知"反弹"的原因。 机械编码器呈现的高阻抗线路用作天线、可轻松拾取50/60Hz 的线路噪声。 通过上拉电阻器提供的一些 mA 电流会很好地抑制这种情况。

    Robert

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

    确实-谢谢、Robert 和海报报告"困难"-主要是在快速和/或持续控制旋转期间-表明"内部 MCU 电阻器"(经常如此)在帮助编码器的信号 "电平转换"方面证明"无效"。    (同时接收不需要的信号、舍入信号边缘并证明容易受到信号反射的影响)

    虽然"不能保证"适当的"上拉电阻器将(完全)解决用户的问题-它们是一项出色的"首要工作"。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请注意、我认为直接连接到微控制器是一个糟糕的想法。

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

    [引用 user="Robert Adsett"]请注意,我认为直接连接到微控制器是一个糟糕的想法。

    感谢您的观看、Robert。 在远程连接高电流电机时、我确信更多的隔离效果会更好。

    在我的应用中、旋转编码器直接焊接到与 TM4C1294K 器件相同的 PCB 上。 机械支架直接焊接到数字接地层上。 我看不出在所有器件都位于同一电路板上时、使用间接 GPIO 连接有多大意义。 当然、由于用户与旋钮的交互而产生的静态放电可能是一个问题、但还有一个按钮、一个连接到 ADC 的 POT、一个以太网端口和一个 USB 主机端口、所有这些都可能向处理器施加静态电压。 以太网和 USB 插孔上的屏蔽层由滤波器网络隔离、但其他输入基本上直接连接、使用金属前面板、有望防止某些静电放电。 专注于隔离编码器似乎不成比例、但我可能缺少一些东西。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我曾提到隔离是一种可能性、但这不是我在这里所说的。 您的以太网端口是隔离的、您的 USB 具有输入滤波器。

    如果您的开关和 POT 是用户界面的一部分、它们也不应直接连接到微控制器。 电阻器、电容器和二极管的成本很低。 即使是施密特触发反向器和低带宽运算放大器也不贵。

    对于直接用户输入、我提到过的数字滤波器可能工作良好、即使只是将其用于保护、也是有用的。

    Robert
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我在 e2e.ti.com/.../1225528之前展示的开关输入电路

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

    Robert Adsett72 说:
    对于直接用户输入,我提到的数字滤波器可能工作良好,并且可以保护...[/quot]

    同意-提供的"保险"很容易证明(小)规模/成本是合理的。

    请注意、该供应商提供"多通道"此类滤波器-"外部世界"和 MCU 之间的任何此类缓冲都值得考虑。   此外、这些滤波器最有可能在(预期)编码器信号变化范围内成功-这类器件很可能会成功...