开源改变世界

割炬高度控制 #310

推推 grbl 3年前 (2023-02-05) 290次浏览
关闭
Guusggg 打开了这个问题 2022 年 2 月 21 日 · 13条评论
关闭

割炬高度控制#310

Guusggg 打开了这个问题 2022 年 2 月 21 日 · 13条评论

评论

割炬高度控制 #310
古斯格 评论了 2022 年 2 月 21 日  

你好,

最近我发现了这个非常棒的项目。我目前正在设计一台等离子 CNC,它一直在使用 MACH3。它工作正常,但有很多问题我想解决,因为我没有 MACH3 的源代码,所以我对机器的烦恼永远不会改变。当我发现有运行 CNC 软件的 32 位板时,我感到非常兴奋,得知该项目正试图与 GRBL 100% 兼容时更是如此。

作为开源项目的忠实粉丝,我愿意为该项目提供帮助。我认为总体上我会做得很好,但我只是想知道我们是否可以讨论一些实施细节?

我在本地 git repo 中查看了源代码,它看起来非常易读和易懂。为了实现 THC 功能,我有以下想法:

  • 我发现这个固件中发生了一种“实时”循环,这太棒了,因为我认为这是运行 THC 功能的最佳方式。我正在考虑在protocol_exec_rt_system(). 或者会有更好的地方protocol_execute_overrides()吗?
  • 为了检测等离子切割机的电压,我想使用一个模拟读取的引脚来确定切割机的电压。我不完全确定,但是对于具有 38 个引脚的微控制器,必须有一个引脚是空闲的并且可以从模拟读取?选择管脚有一定的逻辑吗?我可以在某个地方看到固件已经在使用哪些引脚吗?
  • 我有一台等离子切割机,分压器为 50,电压范围为 0v – 6v。这意味着我必须将另一个时间除以 2 才能达到 3v,这样 ESP32 就可以读取它而不会出现魔法烟雾。
  • 我想将当前读取的电压从微控制器传送到接口。我假设我需要为此使用串行连接,但是实现它的最佳方法是什么?我应该在 GRBL 协议上创建自定义命令吗?它不需要每秒 1000 次,但可能是每秒 10 或 20 次。

我已经阅读了https://github.com/regeg/ArdunioTHC上的 ArduinoTHC 项目,但我不明白为什么我不能将这两个项目组合在一起。我在编程方面有很多经验,但我是电子领域的初学者。

请告诉我我的假设是否错误,我感谢所有其他(询问或未询问的)建议!

编辑:我正在使用这个板:https ://www.makerfr.com/en/cnc/grbl-32bits-board-v2/

割炬高度控制 #310
所有者

THC 长期以来一直在愿望清单上。这是一个大项目,我们忙于基本的东西,支持和实施 WebUI 的第 3 版。一开始我们不太可能在这方面提供太多帮助。

我建议研究最流行的低成本 THC 模块,看看它们使用什么输出。我们希望支持这一点。ESP32 ADC 不是很好。如果您想要一个完全开源的 THC,您可以制作一个模块来完成其中的一些工作,并将其自身呈现为 ESP32 的商业模块。

我认为一种可能有效的有趣方式类似于进给率覆盖系统。该循环的运行速度可能足以完成这项工作,并且与规划器、缓冲区和其他内部系统紧密集成。您仍然希望 Z 执行正常操作,例如归位和探测。

我建议加入 Discord 服务器并启动一个线程。请加入并私信我。

割炬高度控制 #310

为了进一步说明 Bart 所说的 ESP32 ADC 不是很好的话:

  1. 它在末端有相当多的非线性。那是可以校准出来的。
  2. 它有很多噪音,可以通过过采样和过滤来平均掉。
  3. 有时它往往会给出一些非常不正确的样本值,就好像基于非常复杂的片上系统中的其他活动,硅中某处存在电压偏移。这些坏值很难用正常的线性降噪数学来处理。

互联网上有很多关于这个的帖子,人们对此抱怨不已,而且还没有人想出一个很好的解决方案来解决 3 – 在一个荒谬的长间隔内进行平均。

基于 ESP32 ADC 有效不可用的事实,添加一个外部 ADC 是有意义的。考虑到你可以花不到一美元买到一个带有良好 ADC 的小型微处理器,吸引我的系统解决方案是制作一个实时考虑等离子体的外部模块,并将 Z 高度修改命令发送回 ESP32通过 I2C 或串行。

割炬高度控制 #310

我们也对 THC 感兴趣,我们正在使用经过修改的 6 件装控制器和一个额外的 espp32 来运行该控制器
https://openbuilds.com/builds/standalone-torch-height-controller-for-cnc-plasma-cutting.9571/
我们是使用 2 输入多路复用器将 Z 轴控制从 6 组移交给 THC。
仍在解决错误。

割炬高度控制 #310 米奇布拉德利 补充道 增强 新功能或要求标签 2022 年 2 月 26 日
割炬高度控制 #310

来自开发和实施了一些火炬高度控制器的人的一些反馈。

实施 THC 时,您必须非常小心,不仅要注意电压,还要注意电流。许多等离子系统不配备 CNC 输出/控制板。许多人通过使用 50:1 分压器接入原始电压来解决这个问题,因为这是一个相当容易实现的概念。人们常常无法理解的是,等离子系统和 THC/CNC 控制器之间需要完全电流隔离,否则电流最终会通过 ADC 输入引脚接地。实现这种级别的隔离绝非易事,需要在设计此类设备时考虑许多权衡。在这种情况下未能实施电流隔离将导致许多烧毁冒烟的开发模块、烧毁的电线、火灾并可能对操作员造成伤害。请考虑到这一点。

另一方面,我在等离子系统上使用的 cnc 控制器不包括 THC。由于我上面描述的原因和其他原因,THC 通常作为外部模块实现,例如将模块定位在等离子切割机本地以减少线路噪声等。我认为您最终会创建一个单独的硬件来处理隔离/噪声无论如何都存在问题,那么您也可以在外部实施 THC。

顺便说一句,你们在这个项目上所做的工作给我留下了深刻的印象。感谢所有这一切。如果您对 THC 的实施(硬件/软件)有任何疑问,请随时与我联系。

割炬高度控制 #310

+1 用于外部 THC 控制。

割炬高度控制 #310
作者

嗨,大家好,

目前我有一个 ESP32 原型与 Arduino NANO 通信作为一种测试,使用 TwoWire 协议。我希望以后能够用专用的模数转换器替换 Arduino NANO,我认为 ADC 能够使用 TwoWire 来支持它。循环运行在它自己的 GRBL 实时功能的一部分,目前,通过修改pulse_func以在打开标志时覆盖 Z_AXIS,将覆盖 Z_AXIS 移动,即使 GRBL 没有告诉它。

到目前为止,我还没有在真正的等离子平台上测试过它,我目前正在修改我们的一个平台以便能够在其上进行开发。我运行的测试是将 Arduino NANO 连接到一个电位器来模拟电压的上升和下降,它工作正常,尽管我希望能够在几周内带来真实世界的结果。

感谢大家的有益评论,很抱歉现在没有直接回复他们。目前我对这个问题了解不多,所以我保留了这个帖子,但我还不能深入回应。

割炬高度控制 #310
imechura 评论了 2022 年 3 月 26 日 通过电子邮件
割炬高度控制 #310
所有者

关闭。这是我们的长期 dec 列表。