开源改变世界

ESPduino、启动、CNC shield、Endstops #369

推推 grbl 2年前 (2023-01-30) 117次浏览
关闭
JeffHank1 打开了这个问题 2020 年 4 月 4 日 · 29条评论
关闭

ESPduino、启动、CNC shield、Endstops#369

JeffHank1 打开了这个问题 2020 年 4 月 4 日 · 29条评论

注释

ESPduino、启动、CNC shield、Endstops #369

Grbl_ESP32 Ver 1.1f 日期 20200319
我正在使用 ESPDuino、CNC Shield 和 ESP32_Grbl 成功使用 MPCNC、Grblgru 和 4 轴。USB 和 BT 都可以正常工作。
我将电线焊接到电路板上的 ESPDuino 引脚 15 和 32,然后将它们连接到 Shield A Step/Dir 引脚。

我不得不将 Z 限制引脚更改为 23(与主轴 Pwm = 19 相同)并将探针重新分配给引脚 18 而不是 39,希望避免上拉电阻,因为 39 是仅输入类型的引脚。

在没有 Arduino CNC 屏蔽的情况下,ESPduino 启动并注册 Grbl 以同时使用 USB 和 BT 连接。连接 Shield 后,它通常无法正常启动,并且可能表明端口正忙。如果我启动 ESP32,然后插入 CNC shield,它会正常运行(我知道,这是一件坏事)。

我读到可以通过移除 Endstops 附近的电阻器来修复重复的启动状态(问题#314)。但是,如果可能的话,我也想使用止动器,想知道这种硬件更改是否会使止动器用完?

再次感谢一个伟大的港口。

ESPduino、启动、CNC shield、Endstops #369

电阻器不会影响限位器。它具有与步进驱动器的启用引脚有关的功能。除非控制器另有说明,否则它基本上会永久启用它们。不幸的是,CNC 屏蔽是为 UNO 上的引脚布局设计的,ESPduino 上用于启用的引脚涉及启动序列,因此电阻器的作用会阻止 ESPduino 启动。删除后这没问题,您的 ESPduino 将自行处理步进器启用。

ESPduino、启动、CNC shield、Endstops #369
所有者

如果一切正常,你能更新机器文件并添加关于返工的注释吗?

ESPduino、启动、CNC shield、Endstops #369
作者

非常感谢您的及时回复。

just-jason – 我移除了有问题的电阻器,我的启动问题如承诺的那样消失了。USB 和蓝牙都在 Grblgru 中迅速启动,我的 MPCNC 移动平稳。

bdring – 我所做的更改非常有效。我将在下面描述更改并附上我修改后的 espduino.h 文件。我使用 255 的激光作为 Spindle_PWM 最大限制。我不知道 Pin 19 上的计时器是否可以支持更高的数字,我只是假设 8 位。

我正在使用特定种类的 ESP32 控制板,即 CANAduino。搜索:

CANADUINO WEMOS TTgo D1 R32 ESPDuino-32 WiFi Bluetooth BLE with ESP32 Dual-Core Processor
我在 Amazon.com 和 Amazon.ca 上都找到了它,但这个搜索词很快就能找到它。

我在上面描述了我为使我的激光、探针和 Z 限制工作所做的 Pin 更改。我使用上述引脚在 Espduino.h 机器文件中添加了第 4 轴“A”。焊接是一个简单的操作。否则我没有对 Barton 的 Pin 选择进行任何更改。我没有使用 Spindle,这样就可以为我的探针腾出 Spindle Dir 引脚。

ESPduino、启动、CNC shield、Endstops #369

我希望在这里附上 espduino.h 文件:
espduino.txt

将 .txt 更改为 .h 并粘贴到要使用的机器文件夹中。

我希望这就是您要找的 Bart。如果需要更多详细信息,请告诉我。

ESPduino、启动、CNC shield、Endstops #369
所有者

是的。您能否添加一张图片,突出显示您为此问题移除的确切电阻器?将您的名字添加到顶部的作者部分并提交拉取请求。帮助发展贡献者社区。

可用于 PWM 精度的位数取决于频率请参阅此 wiki 页面了解精度。

TLDR:如果您使用默认频率 5000,您最多可以增加 13 位精度。

ESPduino、启动、CNC shield、Endstops #369
作者

这是一张我正在使用的 Arduino CNC Shield 的图片 – 图片前后。拆焊或用尖头钢丝钳将其剪掉。这就是所有必须要做的 – 5 第二份工作。

ESPduino、启动、CNC shield、Endstops #369

就 Pull 请求等而言,我对 Github 中的工作原理知之甚少。更多的学习要做。叹息…转到 Hello World Github 页面。

听起来我可以轻松地将我的 Spindle_PWM 定义为 0 到 1000 的范围,然后用 $30=1000 并且固件会适当地缩放它。

我仍然无法说服 Endstops 发挥作用。传统上 Grbl 更喜欢 NO 开关,但我无法说服他们为 XYZ Max 工作。我在 $5=0 或 $5=1 时得到的 Grbl 反馈要么是警报状态,要么开关在受到挑战时不触发。ESP32 是否以不同方式处理开关,即更喜欢 NC?

ESPduino、启动、CNC shield、Endstops #369
作者

测试台上非常紧凑的布置:

ESPduino、启动、CNC shield、Endstops #369

ESPduino、启动、CNC shield、Endstops #369
所有者

Grbl_ESP32 的默认设置是 NO(触摸关闭)开关。撤消您对开关的 $$ 设置所做的任何更改,并使用 ? 检查状态。命令。请参阅此 wiki 帖子(测试部分)

ESPduino、启动、CNC shield、Endstops #369
作者

我有 Endstops 工作。看起来这个 Canaduino 更喜欢 NC 开关。(刚开始做这个板子的时候改成NO了,都是NC,太搞笑了)

这样就解决了 NO 开关通常存在的安全问题。我猜有人在设计这个 Canaduino 板时想得超前了。

我确实得到了一个只移动一点点然后认为它已经归位的轴,但这可能是因为我的接线 = UTP 只有所以我可能会受到一些干扰。我将研究具有几个电阻器和电容器并最终需要一些电压的止动器样式。我通常不会为终点站而烦恼,但对于我想到的第 4/5 轴项目,我需要在空间中进行精确定位,以便实现功能正常的归位序列。

ESPduino、启动、CNC shield、Endstops #369
所有者

所有开关是否正确报告打开和关闭状态?

ESPduino、启动、CNC shield、Endstops #369
作者

我已经连接了 XYZ Max 开关,NC,它们正确地回家(向上和远离)并且带有?报告:
<Idle|WPos:0.000,0.000,0.000,0.000|FS:0,0>
我正在归位到最大位置。今天下午我可能会拆掉其中一个 3 线 Endstop 开关,并尝试让它正常工作。我想我只需要用 3.3V 给它通电并将它连接到我现有的止动器上以减少 EM 干扰和错误读数(我希望哈哈)

我现在正在研究探测器。这似乎在我的软件中注册了一个 NO 开关,但尚未报告位置。换句话说,当我在 Grblgru 中启动探针功能时,Z 探针会缓慢向下寻找,点击接触并缩回。一切正常,但没有位置反馈给软件。

ESPduino、启动、CNC shield、Endstops #369

通常,Z 探测的工作方式如下。机器向工作方向移动,直到探针激活,然后后退指定量(忽略让您更精确的先快后慢循环)。此时,您所做的不是“报告”相对于先前归位位置的当前位置,而是将工作坐标系设置为,比方说,Z=0 加上已知的退避距离。重新建立新 WCS 的 GCode 命令通常是探测宏的最后一步。

如果您将 grbl 配置为报告机器坐标,则可以确定机器空间中相对于归零点的探测位置,但通常这只是间接有趣。预期的效果是建立一个新的 WCS 零。

基于您的位置报告在工作坐标 (WPos:) 中这一事实,我怀疑机器坐标和工作坐标之间的区别可能是混淆的根源。

ESPduino、启动、CNC shield、Endstops #369
作者

谢谢米奇。这对我来说都是个谜哈哈。我正在使用 Grblgru 来控制事物,它适用于常规 Grbl 和 Grbl-Mega-5X。它的探测功能是包的一部分,但他
已经对其进行了编程。我相信他正在使用 G38.2 功能。我通常会得到一组坐标,逐点报告并显示在表格上。

ESPduino、启动、CNC shield、Endstops #369

例如,单击按钮即可将它们转换为 STL

ESPduino、启动、CNC shield、Endstops #369

实际上这很酷。然后我可以将设计应用于真实碗的虚拟副本,在 Grblgru 中创建一个工作并将其实施到真实碗上。全部免费!我还没有看到另一个程序可以匹配这个。

我要看看我的 Endstop 电缆是否有几个 100uf 电容器。Christian Knull(Estlcam 的名人)建议它减少 EM 干扰。

ESPduino、启动、CNC shield、Endstops #369
所有者
培养 评论了 2020 年 4 月 6 日  

这是 Z 探针的典型 gcode 序列。还有其他方法,但我觉得这个是最准确的。

  • 发送… G38.2 Z-5.0 F50这告诉 Grbl 以 50mm/min 的速度探测 -5mm 的最大 Z 距离
  • Receive… [PRB: 0.000, 0.000, -15.621]这是典型的触板后的反应。这是接触时的机器空间位置。由于减速,当前位置可能稍微低一点。
  • 发送… G53 G0 Z-15.621这告诉 Grbl 移动到机器空间中的实际探针位置。这纠正了过冲。
  • 发送… G10 L20 P0 Z3.00这告诉 Grbl 将当前工作坐标系 (P0) 归零到触摸板的厚度 (3.00mm)。
ESPduino、启动、CNC shield、Endstops #369
作者

今天下午我会用 Arduino IDE 串行监视器试试

ESPduino、启动、CNC shield、Endstops #369
所有者

注意:WebUI 将这一切都内置并完全自动化。

ESPduino、启动、CNC shield、Endstops #369

好的,所以我看到断开连接的地方。有两种不同类型的探测。第一个用于设置铣削操作。您探测一个点并将其用作铣削设置的参考 Z。您只是在寻找通常持平的股票顶部。

第二个是您使用探针为顶部不平坦的现有零件制作地图的地方。那是完全不同的 UI 情况。我不确定 WebUI 处理这种用法的效果如何(如果有的话)。

ESPduino、启动、CNC shield、Endstops #369
所有者

探测表面的发送者通常会发布处理 gcode 以补偿配置文件。WebUI 不会那样做。

ESPduino、启动、CNC shield、Endstops #369

尝试通过串口向 Grbl_ESP32 发送命令“$10=1”。这将使 Grbl 以机器坐标发送位置报告。也许,在您这样做之后,GrblGru 会正常工作。

ESPduino、启动、CNC shield、Endstops #369
所有者

$# 将发送所有当前机器位置,包括最后一个 PRB。

[G54:0.000,0.000,0.000]
[G55:0.000,0.000,0.000]
[G56:0.000,0.000,0.000]
[G57:0.000,0.000,0.000]
[G58:0.000,0.000,0.000]
[G59:0.000,0.000,0.000]
[G28:0.000,0.000,0.000]
[G30:0.000,0.000,0.000]
[G92:0.000,0.000,0.000]
[TLO:0.000]
[PRB:0.000,0.000,0.000:0]
ESPduino、启动、CNC shield、Endstops #369
作者

这是 $10=0
<Run|WPos:-109.935,-144.315,-68.894,0.000|FS:100,0>
<Run|WPos:-109.935,-144.315,-69.012,0.000|FS:100,0>
<运行|WPos:-109.935,-144.315,-69.191,0.000|FS:100,0>
[PRB:-114.935,-149.315,-74.246,0.000:1]

这是 $10=1
<Run|MPos:-114.935,-149.315,-74.070,0.000|FS:100,0>
<Run|MPos:-114.935,-149.315,-74.155,0.000|FS:100,0>
<运行|MPos:-114.935,-149.315,-74.256,0.000|FS:0,0|Pn:P>
[PRB:-114.935,-149.315,-74.196,0.000:1]
正常

探测信息在那里,但 Grblgru 没有按照它想要的方式看到它:(
我可能不得不问问作者。他目前陷入了另一个问题,我问过为什么我的第 4/5 轴机器没有探测正确。可怜的家伙。我认为那个很复杂……

我没有任何小电容器,因此止动器的修复将不得不等待亚马逊先生。

ESPduino、启动、CNC shield、Endstops #369
作者

我还尝试用我的普通面包板 ESP32 运行您的 4 轴外部驱动器机器进行探测。探针是 Pin 32,但 G38.2 Z-5.0 F50 只是让 Z 轴向上缩回一点,没有别的。它报告了一个位置,但没有通过 NO 开关进行任何联系。我在那个电路中没有电阻。否则,ESP32 板非常适合运动等。

ESPduino、启动、CNC shield、Endstops #369
所有者

短缩回是已经按下开关的典型症状。它正试图后退以清除开关。

请将回复粘贴到 ? 按下和取消按下 Z 的命令。请两个回应

ESPduino、启动、CNC shield、Endstops #369
作者

抱歉打扰了巴特。不动的 Z 是用面包板 ESP32(运行 4x 外部驱动器引出线)进行的简短实验,而不是我们一直在讨论的 Canaduino。如果你愿意,我可以回到那个。只需更换 Stepper 插头即可。让我知道。

Canaduino:
我还在 espduino.h 中将探针引脚切换回 39 并重新编程 Canaduino 进行了简短的尝试,但确实没有成功。我想它仍然需要一个电阻器并连接到 3.3V

回到我刚才使用 Canaduino 的地方,将引脚 18 作为探针引脚。Z轴正常上下移动用Grblgru探头:
Canaduino

探头开关打开 <Idle|WPos:0.000,0.000,-13.316,0.000|FS:0,0|Pn:X>

探测开关关闭 <Idle|WPos:0.000,0.000,-20.556,0.000|FS:0,0|Pn:PX>

$# 返回:
[G54:0.000,0.000,0.000,0.000]
[G55:0.000,0.000,0.000,0.000]
[G56:0.000,0.000,0.000,0.000]
[G57:0.000,0.000,0.000,0.000]
[G58 :0.000,0.000,0.000,0.000]
[G59:0.000,0.000,0.000,0.000]
[G28:0.000,0.000,0.000,0.000]
[G30:0.000,0.000,0.000,0.000]
[G92:0.000,0.000,0.000 ,0.000]
[TLO:0.000]
[PRB:0.000,0.000,-18.231,0.000:1]

我确实给 Grblgru 发了一封电子邮件,但因为他在德国,现在是晚上……

经过广泛搜索后,我确实找到了我的小电容器。它们在一个小袋子里。稍后我会尝试这些,看看是否可以消除 Endstop 线路中的 EM 噪音。

ESPduino、启动、CNC shield、Endstops #369
作者

我用更好的 Dupont 型连接器重新连接了我的止动器,并在距离控制板约 8 英寸的范围内包括了一个 100nF 的电容器。X 和 Y 归位的错误触发被消除了!
(我在 Endstop 开关附近尝试了一个电容器只是因为它更容易但它不起作用……我认为值得一试)

归位现在工作正常。

由于 Z 和 Probe 正常移动,我没有理会它们

ESPduino、启动、CNC shield、Endstops #369
所有者

好像您使用的是 DIY 硬件和发件人有问题。我会退后一步,直到出现 Grbl_ESP32 问题。

ESPduino、启动、CNC shield、Endstops #369
作者

我同意。今天出现的问题更多的是我的问题,而不是 ESP32 Grbl 的问题。由于 Grblgru 不仅仅是一个发件人,我预计一些问题会出现在他的领域。我很高兴小电容器能很好地解决 Endstop EM 问题。我也很高兴转换到 CNC 屏蔽是多么轻松。常见问题的简单解决方案。

看来您的 Espduino 机器与 ESP32 的 Canaduino 变体配合得很好。我认为现在不那么具有实验性。

如果在我与 Grblgru 的讨论中出现任何固件问题,我会通知您。如果该程序的探测问题已解决,我也会通知您。我还将继续使用我的开发板 ESP32,因为我想将它与另一台 5 轴 DIY 机器一起使用。

再次感谢一个伟大的港口。非常感谢你和米奇在过去几天里提出的所有建议和教育。

再次感谢一个伟大的港口