注释
你能提供一个可重复的、详细的、最小的例子来说明如何从通电到问题的产生吗? 谢谢 |
当然, 我刚刚下载了 repo 的全新克隆并完成了这些更改
注意 在我之前提到的这个定制板上的硬件设置ESP32,第二个串行端口连接到 RS485 缓冲器。缓冲区连接到 RS485 到 USB 串行转换器,仅此而已。这意味着我们不会看到主轴的响应。但我认为这不会成为问题——我可能错了? 自从上一条消息以来,我对硬件正在工作并且按预期工作更有信心。TX 和 RX 工作正常,虽然软件没有看到响应 – 这可能是一个错误或我没有在软件中发现的其他问题。 ESP32 GRBL 控制器 -> RS-485 缓冲器 -> 布线 -> RS-485 转 USB 串行适配器。 测试
按预期工作。
按预期工作。
按预期工作。
在终端中没有观察到主轴速度的写入命令
奇怪的行为 – 不是我所期待的 – 我确实多次重复这些步骤但没有给出正确的答案。
这突出显示来自串行终端的主轴命令实际上并未在 modbus 上发送更新的速度命令。
方向命令似乎已正确发送 – 但速度命令不会在第一个速度命令之后跟随。
结论 我也玩过 HUANYANG 主轴,结果显示出相同的效果,所以也许还有其他东西在起作用? 这可能是软件没有看到主轴响应的属性吗?ESP32 是否必须看到响应? 我希望这有助于传达问题,如果没有 – 请告诉我。 我已经精通代码,但这超出了我的技能范围!我不介意弄脏我的手,但我不知道要开始了! 再次感谢巴特。 |
PS 抱歉发了这么长的帖子! |
当我有时间时,我会阅读它。如果您按如下方式重写它,我也许可以更快地完成它。 gcode 发送 — 预期行为 — 实际行为(简短) 注:我只有一个环阳纺锤。 |
我明天会测试 Huanyang 主轴类型 – 我相信这会出现同样的问题 |
按照之前的设置测试环阳主轴类型:
值取决于 Gcode 的 S### 部分 – 我们对值不感兴趣,只是发送了这一行
按预期工作 – 这是第一次发送带有速度参数的主轴命令。这已被注意到在第一次运行时工作正常,但不适用于带有主轴速度参数的后续命令。
值取决于 Gcode 的 S### 部分 – 我们对该值不感兴趣,只是发送了这一行 这确定了 GRBL 启动后仅发送单个主轴速度命令的问题。我预计主轴速度将更新为新的主轴速度设定点 4000RPM。
预期的:
得到了:
错误 – 再次没有通过 Modbus 发送主轴设定值,我可能会感到困惑,但我希望在带有 S 参数的主轴命令更新 VFD 时发送主轴速度命令? 除非我遗漏了什么,否则这表明两种主轴类型之间存在共同问题。 |
我想你和他有同样的问题:#689 |
您可以分享启用时发出 它看起来像 查看代码,我发现速度命令不会被发送的最明显原因是(有界)RPM 是否与最近设置的(有界)RPM 相同——换句话说,即使您命令 2 个不同的通过 g 代码的速度,如果这些速度都在 grbl 设置中配置的定义的最小/最大 RPM 的范围之外,那么边界检查将强制它们为相同的值,并且预计第二个速度命令不会完全发送。在进一步挖掘之前排除这种可能性会很有帮助。 如果这不是这里发生的事情,我认为如果您可以包括来自失败测试用例之一的实际完整 RX/TX 数据(即不删除特定速度值或 CRC 值)以及其余部分,这可能会有所帮助VFD_DEBUG_MODE 消息,因此可以更轻松地根据预期协议检查数据,以防提供有关可能发生的情况的任何其他线索。我无法在我的 (Huanyang) 机器上重现这一点,即使我偶尔会在不同时间断开 RS485 收发器上的 RO 引脚,因此您提供的任何其他线索或数据都会有所帮助。 |
我终于有机会测试这个了。这很痛苦,因为我需要把它搬到我的办公室,而且我没有合适的电压。 VFD RS485 类是一个基本实现,但我认为它从性能的角度执行您的测试。 这是我的设置… 引导消息 相关的 Grbl 设置是… 这是一系列命令 M3 ; 进入 M3 没有速度 M5 ; 进入 M5 模式 M4 ; 进入 M4 模式 no speed M3S2000 ; M3 主轴旋转方向正确 我们欢迎任何改进和拉取请求,但设置和测试需要几天时间。一些开发人员没有能力进行测试。仅仅为了测试而保留这些设备是非常昂贵的。 |
好吧……我觉得自己很笨。金子弹是 我想我已经深入研究了这个新硬件的调试,错过了一些简单的东西,因为我是 GRBL 的新手等等(我是从 Marlin 那里看到的,所以一些配置方法是不同的 – 我还在学习) 解决方案:
边注 –@bdring我可以看到 RX 消息没有显示在您的终端上?我在我的终端机上也没有看到任何响应 再次感谢您的帮助和这个伟大的项目——我迫不及待地想用它做更多的事情。 |
您使用的是什么版本的固件?
版本 1.3a
问题是否可重复?
是的,它是可重复的。让 VFD 保持运行并执行 ESP32 重置将允许在 Set_Speed_Command 函数不会执行之前对主轴速度进行一次更新,并且不会再次发送更新速度数据包。
什么情况下会出现bug?
该问题存在于仅启用 H2A 主轴的“Test_Drive”机器文件中。
几点:
这是使用自定义硬件,据我所知,一切似乎都运行良好。RS485 命令被正确发送,VFD 正在响应它们并以正确的值回复。这使我相信 RS485 发射端没有问题。
定义“VFD_DEBUG_MODE”显示正在发送什么消息,这些消息与总线嗅探器看到的数据相匹配。VFD 正确响应。但是,当在串行终端中查看接收数据包时,RX 数据包显示未收到任何数据……很奇怪,是的,我对我的引脚进行了双重、跳闸、四重检查,以确保它们连接到正确的引脚,它们是:
请记住,这是定制硬件,因此一些引脚与 6 件装的不同。
它变得更加奇怪,因为我过去在串行终端中看到过数据并且没有进行任何硬件更改 – 因此,出于这个原因,我不想排除 RX 端后收发器端的任何问题。
发送 M3、M4 命令以 CC 和 CCW 方向的最小主轴速度启动主轴(我认为这是我的 VFD 的一个特性)——这里没有问题。
发送“M3 S####”和 M4“S####”(#### 是一些 RPM 值)启动主轴,但不会从 VFD 驱动器的最小 RPM 改变速度。
发送 M5 停止主轴。
如您所见,我的问题在于速度命令。
当我禁用“VFD_DEBUG_MODE”并通过终端发送主轴命令时,每次命令后我都会收到“OK”的响应,并且只有几次我会收到“VFD 没有响应”的消息。我认为只要主轴驱动器执行命令,我就不关心响应(无论如何,让 VFD 达到特定速度对我来说都是一个很大的飞跃!)。我必须承认,我对调试模式失去了一些信心,我们确定它按预期工作吗?
几个问题:
一种。如果该软件不对数据做任何事情,那么我就不会担心弄清楚为什么它没有接收到数据(我花了三天时间试图弄清楚这个问题并且没有想法)
一种。这个数据包应该与每个“M3 S####”和 M4“S####”命令一起发送吗?(目前没有)。
b. 我可以强制再次发送吗?
任何帮助深表感谢!
亲切的问候皮特