注释
@timryder: 运行master Grbl v0.9g,但是把M20/21换成M8/9有这个问题吗?另外,您将步骤空闲延迟设置为多少?我会推荐 255 用于您的案例类型。 |
我只是快速将工具重新连接到冷却液销并进行测试。步长延迟为 0。 您认为 255 与 0 的区别是什么? |
@timryder:从 0 开始,255 将保持步进器启用,但没有延迟。如果您将事物设置为 0,它可能不会改变任何东西。尽管我确实想知道如果您将空闲延迟设置为 100 左右,它的运行方式是否会发生变化。如果某处存在一些基于时间的问题。 无论如何,我不能完全告诉你 2-3 秒的延迟是从哪里来的。也许是 FTDI 芯片?格子?很难说。我可以告诉你,Grbl 代码中没有任何东西会故意造成这么长时间的延迟。最接近的是在警报事件后 500 毫秒的硬编码强制延迟,以确保消息在重置所有内容之前清除串行 TX 缓冲区。 在这种类型的事件之后,程序是否恢复正常?Grbl 在此暂停期间是否响应,这意味着它会返回“?” 冻结时的状态报告? |
@chamnit我相信它没有反应, |
从 m 20 / 21 更改为 M 8 / 9 似乎提高了性能并降低了频率。但是,我确实让该事件连续发生了 3 次。 对于步进空闲延迟,我仍在运行 0。更改此值似乎没有任何区别。 事件发生时,Grbl 似乎没有响应。UI 仍在等待“确定”以继续流式传输 gcode。有什么想法吗? |
@timryder: 从 M20/21 到 M8/9 的简单更改会产生不同,这似乎很奇怪。为了弄清楚这一点,我想我必须自己测试一下。你能提供一段重现这个问题的g代码吗? 另外,您使用的是什么用户界面?如果你使用另一个有什么不同吗? |
在这种情况下,将第二个 FTDI 连接到您的 PC 可能是值得的。将其连接到运行 Grbl 的 Uno 上的 Rx/Tx 标头。然后使用诸如 putty 之类的程序连接到该 FTDI,该程序仅发送您键入的内容,仅显示它接收到的内容。 |
M22 我一遍又一遍地运行相同的g代码,它绘制字符,但错误的频率不会出现一段时间。我花了几十个周期才真正产生异常。 我使用我自己的自定义 UI,它基本上模仿了 UGS,它只在收到“OK”响应时发送下一行。 |
@timryder:嗯,我远程连接到安装了 Arduino 的家用电脑。我用我们的 stream.py 脚本测试了你的 g 代码几十次(包括字符计数和调用响应方法),没有明显问题。我看不到发生了什么,但在 g 代码流中看不到任何暂停。我可以继续尝试,但这指向特定于设置的东西,无论是在您的 Grbl 设置中还是在您的自定义板/接线/GUI 中。 您也可以将您的 Grbl 设置发送给我们吗?M22 命令的作用是什么? 另外,我最近为 GUI 开发人员编写了一个界面 Wiki。如果您还没有,请快速阅读。它将带您快速了解为 Grbl 编写 GUI 的推荐方法。 |
是的 grbl 设置在这里…. #define DEFAULT_X_STEPS_PER_MM 640.0 对不起,我忘了把那个从 g 代码中拉出来。 [[[[[[[[[[[[[[[[[[[[[来自 settings.c]]]]]]]]]]]]]]]]]]]]] |
我正在用 Atmel Studio 编译它。 今天下午我也将尝试给予@gerritv也想测试一下。 |
@timryder: 有关于你的 M 代码暂停问题的消息吗? |
道歉。不得不离开一周。我完全切换到 M8/9,它仍然发生。前几天一个周期看了3次。我将在周中回到它。请不要关闭。 |
@timryder:出于好奇 – 当您调用自定义代码时,您是否验证过您的 grbl 控制器由于某种原因(驱动 MOSFET 时的瞬态等)没有完全重置,并且您看到的 2-3 秒延迟不是结果“重启”(引导加载程序等待或看门狗超时)延迟……?此外,您的自定义 GUI 本身并不是延迟的来源(使用不同的 GUI 进行测试等)…?只是一个想法… |
@timryder: 任何新闻?现在想,因为我们还没有听到任何消息,这已经解决了。 |
蒂姆瑞德 评论 2014 年 9 月 9 日
好的,所以我正在做一个项目,我创建了自己的定制板,该板使用 FT232RL USB 到 UART 芯片和 ATMEGA328P 模仿 Arduino Duemelinova,就像 Uno Rev 3 一样。板似乎工作正常。
我在 grbl 中添加了一个自定义 M 代码,它 100% 模仿冷却液溢出和冷却液禁用命令的工作方式。我已经在 Main 中注释掉了初始化探针引脚的行,我用它来驱动 MOSFET 的输出。回顾一下,端口 C 的第 5 位对我来说是一个输出引脚。我添加的 Mcode 是 M20(启用)M21(禁用)我也经常使用 G4 命令来确保我的自定义工具到达零件(通常像 20 毫秒)。
所以请记住,代码与冷却液代码完全相同。我注意到的是,有时在我调用 M20 或 M21 gcode 后系统会随机冻结。它没有真正的韵律或理由,但不久之后(2-3 秒)它将继续并恢复并吐出 OK 并允许我继续发送 GCode。我在一个周期内发生过5次以上。如果我在没有这些代码的情况下运行系统,我永远不会看到问题,它似乎只在我使用 em 时发生。
这是一个问题的原因是因为当工具到达不应该停留在一个位置的零件时,这会给零件造成问题并将其报废。
我意识到这是一个奇怪的“问题”,我认为这并不是一个真正的问题,而是在寻找任何故障排除帮助。
我正在使用 0.9g 分支。