主题中讨论的其他器件: HALCOGEN
工具/软件:
我们在产品中使用的是 RM48L952DPGET。 我们有一个增量编码器(每个左右车轮 2 个 Ch)连接到 Micro 的 HET 引脚。 实际上、原始差分输入连接到 MAX33076、然后 MAX33076 将差分输入转换为正交信号、然后直接馈送到 RM48L952 的 HET 引脚。 具体而言、它们直接连接到引脚 38 (NHET1[06])、引脚 40(NHET1[19](对于左编码器输入)和引脚 41 (NHET1[15]和引脚 54 (NHET1[11])。
HET 引脚的功能是对编码器信号的边沿进行计数、然后我们从存储该值的寄存器读取该信号、以查看编码器节拍。
问题:我们最近收到了一批新的生产板,其中从大约 10 分钟运行机器人后,我们看到的寄存器主要存储从右编码器锁存器的编码器节拍随机值或锁存至最大 25 位值。 当我们向前转动滚轮时、计数从最大值增加到 0、然后再增加到 1、然后不会改变。 当我们反向旋转右车轮时、右侧编码器节拍会减少、但一旦车轮停止旋转、它就会再次锁存到随机值。 在大多数情况下、左轮编码器刻度记录良好。
当我们重置电源(重新启动机械手)时、它会再次正常运行 10 分钟、然后再次观察到相同的行为。 在前 10 分钟,左右编码器刻度都被正确记录。
我们过去使用的电路板版本和固件版本相同、没有任何问题。 这个问题在某种程度上与我们收到的新一批板有关。 在有故障的主板上、我更换了微控制器、然后问题不再出现、我们能够运行机械手。 我们已验证从编码器到微引脚输入的编码器信号是否正确。 更换 Micro 后、在某些情况下、更换上一批中的主板可解决此问题、因此、将手指直接指向 Micro。
我们使用默认的 HET 代码来初始化 HET 模块并进行脉冲计数。 我们只读取随后存储在上述寄存器中的数据。 由于 MAX33076 的输出直接馈送到上述微引脚、在我们的默认设置中、HET 引脚既不会被拉低也不会被拉高、因此我们还尝试了将 HET 引脚拉至内部拉低和拉高、结果与 10 分钟内发生故障的地方相同。
Micro 在这里可能有什么问题? 这是 Micro 内部的硬件故障、还是我们可以进行任何 HET 引脚配置更改来解决此问题? 正如我之前提到的、过去 1 年、我们在现场使用了相同的硬件和固件、没有任何问题、现在我们在新批次的生产板上看到了这一点。 期待在这里获得一些帮助/见解、