评论
有两个要求。 首先是 lw.comm-server 可以检测到二重奏固件。二重奏固件是否在连接时发送固件识别字符串,或者是否可以使用串行命令查询? 第二个是如何使用 gcode 设置激光功率的方式。支持激光的固件应该接受 S 值作为 G1-G4 命令的参数。这是雕刻的理想选择。像 marlin 这样的其他固件确实需要一个单独的激光功率 gcode 行(如 M4 S128),这需要一些时间,因此会大大减慢雕刻速度。Duet 固件接受哪种类型的 gcode? |
是的,它确实。下面的输出(来自 OctoPrint)。
|
接下来,似乎 Duet 在 G1 上使用 S 参数进行停止检查,在 G2/G3 上不存在,并且在 G4 中用于以秒为单位的等待时间。 S参数在其他固件上有什么作用?它只是设置强度(例如 S0-255 或 S0-1)还是更简单的开关? 如果例如“在 E 增加时激活激光”不够好,我可以考虑向固件添加对类似参数的支持(尽管它必须是与 S 不同的字母)。 |
似乎在 reprapfirmware 的 2.0.2 中支持 G1 上的 S 参数,所以这就是排序。我将看看 lw.comm-server 中需要什么。 |
@keyz182,感谢您发起这次对话!我是 Duet 创作者之一,@FabCreator让我进入这个话题。我不熟悉 Laserweb,但它显然是很多人用于激光切割/CNC 的工具,如果它支持 Duet,那将非常酷。为了更快和更可靠的操作,如果 Laserweb 支持“发送到 Duet”选项,那么整个文件可以存储并从 Duet 的板载 SD 卡读取。 @cprezzi如果拥有 Duet 可以帮助您更好地支持它,请随时给我发邮件 info@duet3d.com 。 |
LaserWeb 还不支持将文件发送到控制器的 sd 卡,因为我们一直想成为一个“实时”前端,而不是另一个 gcode 发送器。这对于数控铣削和长矢量激光切割尤为重要。在我看来,前端应该能够立即暂停/恢复/停止作业(无需等待队列中的命令)并实时更改进给和激光功率,就像我们可以对 Grbl 所做的那样。 当然,我愿意支持 Duet 作为更高级的控制器之一。有“只是”两个主要要求:
如果 gcode“方言”接近 grbl 或 smoothieware,它可能会很快实现。有一个 Duet 进行测试显然会加快这个过程;) |
因此,首先看第二部分,在 Duet 上运行的 RepRapFirmware (RRF) 的最新测试版在固件处于激光模式时实现了“S”电源开关。当人们测试 Beta 时,我们将看到情况如何。 为了降低高速光栅化的 gcode 数据速率,我们正在考虑的进一步改进是允许“S”开关成为一定长度的数组,例如 G1 X1 Y1 ;从 X1 Y1 这将绘制一条 1.6 毫米的线,具有 16 个均匀间隔的强度阶梯,有效地每毫米 10 个强度级别。这会将文件所需的数据速率降低 16 倍。选择 16 作为可管理的数字,但使用其他数字可能更好。 |
这听起来很有希望。我总是建议添加“像素线”命令以减少光栅雕刻的开销。 |
您是否还根据 x/y 加速度和减速度调整激光 pwm(如 M4 模式下的 Grbl)? |
我检查了一下,很明显,基于加速的功率降低尚未在此 Beta 中实现,但会在 Beta 进入实际版本之前实现。 |
@FabCreator谢谢你的提议。托尼已经告诉他会为我组织一个 v1.03 板:) |
@cprezzi即使文件直接运行,有没有办法发送实时命令?对于长文件,USB 不够可靠,因此创建一个发送到将是对 LW 的一个很好的补充。我认为这没有被进一步探索的主要原因是因为 smoothie 在这方面无法可靠地读写。(这是在 LW3 和 peter 一起回来的) 以下是我可以找到的有关该主题的主题,可能会有所帮助。 |
@FabCreator如果在 SD 作业执行期间接受“实时”命令,则取决于固件。我认为 RepRapFirmware 有一些实时命令(如暂停/恢复)可以在作业运行时使用。@T3P3: 是否正确(也通过 USB)? 我们还讨论了通过以太网 (LAN/WLAN) 连接 Duet,就像 DuetWebControl 与固件对话一样。 我认为仅添加“send2SD”功能是不够的。当文件名已经存在时会发生什么?我认为我们需要实现整个 SD 支持(dir、cd、存储文件、读取文件、删除文件)。 |
@cprezzi是的,一些命令没有被缓冲以允许更快的暂停/恢复。 如果您通过 HTTP 访问 Duet,那么执行文件处理的命令已经在 API 中。 |
期待看到这方面的进展。 |
我已经在lw.comm-server中实现了Duet的USB串口通信,并合并到master分支。SD 功能也已在服务器中实现,API 已扩展,仅前端部分仍然缺失。 |
@cprezzi前端需要什么?我可以看看并尝试实现所需的内容,但可能需要一些指导。 |
@keyz182前端需要一个选项来管理 SD 卡内容(列出文件夹、cd、上传或删除文件)。就像一个迷你文件浏览器。 |
好的,直接使用 USB 是否需要任何东西(即像其他板一样使用它)? |
不,USB 连接由编译到 exe 中的 NodeJS 服务器(lw.comm-server)处理。客户端(前端)必须在 websocket 连接上使用服务器 API(如https://github.com/LaserWeb/lw.comm-server/wiki/API-(for-client-communication)中所述。 您可以在https://github.com/LaserWeb/LaserWeb4/blob/dev-es6/src/components/com.js中找到当前的机器控制前端。最好是添加一个“管理 SD”按钮和带有文件资源管理器的弹出对话框,以便在 SD 卡中导航,能够创建/删除文件夹和上传/删除文件。 |
关于 gcode 的快速问题。我知道 Smoothie 和 Grbl 彼此之间存在细微差别。自从从 Smoothie 转向 Duet 之后,我发现很多东西在结构上都与从头开始有所不同。 固件类型之间是否存在任何 gcode 问题,或者这些问题是否包含在原始假设中?(我知道我已经看到关于设计决策和假设的多次讨论,Duet 是否有任何破坏交易的因素?)(除了可以在设置中添加到 gcode 的前/后 gcode 添加之外) 最重要的是,由于前端控制尚未被任何人实施,是否存在手动保存(smoothie)gcode 并通过 DWC 上传并从 SD 卡运行的问题? (还有自 6 月以来为 Windows 安装编译的更新的二进制文件,其中包括您的后端更改?) |
@Wingeddonkey我认为您最好在 RepRapFirmware 论坛上询问 gcode 详细信息中的差异。 据我了解,RepRapFirmware 中的 gcode 解释应该非常接近 Smoothieware,因此手动保存 gcode 并上传到 SD 卡执行应该可以。 最新的二进制文件始终发布在https://github.com/LaserWeb/LaserWeb4-Binaries/releases上。 |
需要做什么才能为 LaserWeb添加对Duet的支持?我愿意试一试,但不太确定从哪里开始。