注释
@JaakkoFagerlund: 很棒的帖子。我一直有意支持电火花线切割机。然而,Grbl 需要从小而简单的传统 3 轴 CNC 开始,以保持开发的紧凑性。今年,我计划开放对许多其他类型机器和新功能集的开发和支持。首先,车床支架一直是我的宠物项目。无论如何,我认为为诸如 EDM 运动控制之类的东西安装闭环控制方案并非超出范围,但是,对我来说,不幸的是,它远远落后于要做的事情。 |
你好!谢谢你的话语和时间,很高兴听到你喜欢 现在,如果我理解正确的话,你就是将 grbl 项目置于他的羽翼之下并且其他人提供帮助的人,对吗?如前所述,我不太了解此类项目的开发过程,但我相信您不是唯一进行编码的人。如果是这样,我也想听听其他编码员关于这个想法的想法,以便有可能拥有 grbl EDM。 迄今为止的出色工作,很高兴听到将来某个时候可能会有一个“特别”版本的机会 不管怎样,如果有人有兴趣在某个时候开发这种版本,我会洗耳恭听并准备帮助测试、评估和提供有关 EDM 的有用信息。由于我自己的 EDM 项目和工作,我有几年时间收集有关 EDM 系统的信息,因此我能够提供该项目的大量细节。 |
我对你们的 EDM 电源的细节很感兴趣。 |
@JaakkoFagerlund:是的,我是 Grbl 项目的首席开发人员,但在大多数情况下,我是过去 4 年持续 5 年的唯一开发人员。唯一的其他主要贡献者是原作者 Simen Skogsrud,他在 2011 年之前一直致力于此项目。您可以在“图表”选项卡中查看所有次要贡献者和 Grbl 的各种分支。也就是说,那里有许多有趣的 Grbl 分支,但这是这些引用的主要存储库,因为该项目的目的是开发 CNC 运动控制核心,而不是支持特定机器类型的特定功能。 |
@matthewSorensen你可以从我的一个 YouTube 视频中找到一个很好的解释,但简而言之,RC 发生器只是一个 100 欧姆的电阻器,用于限制电源的最大功率,0.47 uF 电容器与间隙并联。带 PWM 脉冲控制的较新版本有 8 个并联电阻,可通过继电器选择以获得最大电流,PWM 脉冲控制一个 MOSFET,该 MOSFET 以 50 kHz 和可调占空比(50% 是一个很好的起点)打开/关闭电源摆弄)。 @chamnit,哇,两个人的工作量真大!我检查了图形选项卡,稍后必须返回到该选项卡,但似乎那里有一些叉子。我让你了解了核心内容,所以基本上我可以尝试制作一个新的 grbl 分支以包含某种反馈循环并在此处引用它,以便它显示为“姐妹”项目? 现在,我刚刚从这里和那里阅读了 grbl 的源代码,看看它做了什么,它非常简单,即使编程比我高出一两个级别,但一切如何联系在一起的大局是还是有点缺。有点想知道我是否可以在步进算法中插入一段“在这里等待直到电压正常”的代码,或者它是否会把它完全搞砸。 |
它与THC(等离子切割机)基本相同。 |
@JaakkoFagerlund: 相当。但是,它保持了一定水平的代码质量,而这在开源项目中通常是缺失的(它们通常会变成一堆拼凑而成的代码)。正如您所说,代码看起来非常简单,但看似简单。最难做的事情就是把事情弄复杂,让它看起来很简单。如果没有严格的监督,很难作为一个系统来做。 为了帮助保持较低的工作量,我会不时审查已修补新功能的分支或有趣的拉取请求,以了解该功能的要求。然后,我将研究以可持续且易于理解的正确方式集成到 Grbl 系统中。 至于 EDM 版本,看看安装闭环控制需要什么也没什么坏处。其他人和我自己可以将这项工作作为进一步推进该想法的基础。这就是研究的运作方式。失败与成功同样重要。它通常会带来深刻的见解,并使理解水平更接近目标。 |
@cri-s: 基本上是的,跟随一个电压信号。我进行了一些搜索,但对现有解决方案一无所知。因此,电压良好信号必须以某种方式集成到运动中。与 THC 完全不同的唯一问题是如果电压太低时间太长,机器可以/应该退出切割的功能。基本上反向运行 G 代码文件,直到短路消失。 我不太明白设置分步器的目的或想法是什么?为什么不能只放慢步子,而不是分步快步子呢? @chamnit: 如此真实,没有意大利面条或 MacGyver 补丁上的补丁。我一直在越来越多地查看代码,它开始变得有意义,特别是自从我发现某人在 Google 上发表的博客文章,解释了 grbl v0.8 的内部工作原理。因此,G 代码解释器和通信、环形缓冲区、运动规划器,然后在后台为步进电机计时。我认为这个核心功能与以前的版本相比没有太大变化? 正确的,总是让我想起爱迪生……“我没有失败 2000 次,我只是想出了 2000 种它不起作用的方法”:)我想我会开始为 grbl 制作一个硬件包装器(基本上第二个 Arduino)并尝试让机器以这种方式工作。如果可行,那么只需弄清楚如何在可能的情况下将其直接实现到 grbl 中即可。可能是 UNO 没有为这个应用程序削减它,而是必须将 grbl 移植到 MEGA。应该很容易,只需根据需要更改端口、位数和引脚即可满足所有引脚要求。 |
@JaakkoFagerlund: 整体功能没有太大区别。在 v0.9 中,在规划器和步骤执行之间引入了一个中间步骤缓冲区。大多数改进都是基于稳定性和性能的。仅供参考,Grbl 确实“非正式地”支持 Mega2560。引脚有点不同,但它可以工作。 |
如果你有一个 grbl 盾牌并且想使用 Mega,请看这篇文章#390 |
@chamnit:关于我能以多快的速度向进给保持和循环启动输入引脚发送脉冲,你有任何信息吗?目前,我有一个 Arduino Pro Mini 配置为观察火花隙电压,如果它高于设定点,它将循环启动拉低 5 微秒,然后再次返回高电平。如果间隙电压低于设定点,它会对进给保持输入执行相同的操作。 通过发送类似 G1X50F50 的东西进行初始测试,然后用另一个电位器模拟间隙信号似乎很有希望,grbl 立即停止(好吧,以 1000 mm/s² 减速),然后在模拟信号再次足够高时恢复。然而,目前在设定点上没有滞后,所以每隔一段时间,grbl 似乎会以某种方式挂起,只是坐在那里,没有任何反应。我想它不喜欢这两个输入引脚的开关速率太高? 我真的真的不得不说谢谢你编写了 grbl,它在做它应该做的事情时真是太棒了 但最不希望听到这两个输入引脚以及我必须发送多长时间的脉冲以及我可以在不让 grbl 发疯的情况下切换它们的速度:) |
好消息,这东西现在工作得很好 现在我可以愉快地睡觉了,并将开始围绕 grbl 控制器开发这种“解决方法”,希望我也能弄清楚为什么 grbl 有时会挂起?它只是停止,说“QUEUE”但没有响应任何东西,甚至没有软重置。@chamnit如果您对这种挂起可能发生的位置有任何想法,任何提示都将不胜感激,因为您最熟悉代码流和结构。我只能描述的是,某些点 grbl 什么也没做,只在 UGS 屏幕上显示“QUEUE”,我必须从 grbl Arduino 板重置开关进行硬重置。这种情况很可能是由于将那些进给保持和循环引脚不断地拉低(不规则地),连续脉冲之间只有大约 100 微秒的延迟(由我人为制造)。 也许我应该在我的代码中包含一些状态信息,这样当它已经处于进给保持模式时它不会拉动进给保持模式,并且与循环开始时相同。 |
我想我知道你的悬挂来自哪里:它在某个引脚或其他引脚上的 ESD。我猜你在 EDM 设置中有很多。 |
@JaakkoFagerlund:有可能是您通过非常用力地推动进给保持而发现了错误。重构状态机,一般来说,是一个高优先级,因为它在这一点上有点拼凑。我会确保在处理它时寻找错误。 稍后,当我找到时间时,进给率覆盖将安装到 Grbl 中。也许这会是一个更好的控制工具,您可以在其中即时调整速度,而不是不断地强制保持和恢复。 |
@jgeisler0303:“你好,邻居们,请举起手来,因为今晚 Discharge-A-Lot 先生在房子里!!!” @chamnit: 也许,时间会证明这是一个错误还是我只是把它推得太远了。基本上我只是在设置中具有非常高的加速度 (500-1000 mm/s²) 和相当适中的进给率(最大 200 mm/min),而在切割时我给出的进给率可能低于 30-50 mm/min。当我测试 grbl 时,我设置了慢加速并让它移动了很长的距离,然后手动将进给保持和循环启动引脚切换到地面,以观察它是否在循环再次开始之前保持静止状态。高兴地发现,在进给保持(减速)期间循环启动会像以前一样重新启动步进顺序,这意味着它会加速到设定速度。 我将不得不在我的第二个 Arduino 上尝试进给保持和循环启动锁定,这样它就不会连续发送它们,而是在需要时发送一次,所以 grbl 可能会更高兴一些。我还将尝试看看当我更改程序中的微秒延迟时会发生什么,因为我把它放在那里只是因为 grbl 有时间在获取下一个命令之前将事情处理到“稳定”状态。这是命令的初始进给速率、发电机功率设置、所需间隙和加速度值之间的平衡行为。发出进给保持的时间越长,火花隙短路的可能性就越大。 顺便说一句@chamnit提出一个问题:在 grbl 代码中有一行显示“最小进给速率”,默认为 1 毫米/分钟,如果这个值较小,则会出现一些问题的警告。这会带来哪些问题,因为在许多情况下(厚工件、低功率设置、冲洗不良等)EDM 往往比 EDM 慢?还有多少太低了,我可以把每分钟 0.1 毫米或 0.05 毫米作为速度吗?提醒一下,如果它与我的问题相关,EDM 不需要快速的急流或快速的进给率,因为静水力开始在可实现的运动速度中发挥巨大作用。 进给率覆盖会很棒,最好当然是模拟电压输入,但我不知道这是否会给其余代码带来任何问题。我只知道转换需要一些时间,但我记得它发生在后台并在完成时设置一些标志或中断或其他东西? 如果这最终会出现在 grbl(或 grblEDM)中,我建议从第 156 页开始查看http://content.heidenhain.de/doku/oma_controls/CD2/tnc/406_416/gb/thb416.pdf页面,尤其是进给速率图与(间隙)电压的关系。基本上,机器以设定的自由运行进给速率运行,直到电压达到上限阈值,然后切换到可设置的较慢进给速率,然后更接近设定电压点,甚至更小的进给速率或接近零。这些机器通常有一个伺服速度控制电位器或一个数据表设置,它给出了这些进给速率值乘以的百分比,因此用户可以走得更慢但保持设定点值。 我希望我能在编码方面有所帮助,但恐怕我的才能介于 C++/Arduino 和指针之间的某个地方是路边的那些箭头,指示该走哪条路;)我非常希望会有一个 grbl比如 2/3/4 轴(线)EDM 的控制,带有模拟电压输入和某种 P(ID) 环回控制,更不用说除 EDM 之外其他任何地方都不需要的功能——从切一段距离以防短路。 至少 EDm 版本会很容易,因为它不需要提前进行太多规划,因为它太慢了,所有定位快速移动都可以直线进行,停止,然后继续下一个方向。我不确定这是否对编码有很大帮助,但至少它会释放 AVR 芯片上的内存,因为不需要规划器块,只需要当前和下一条路径所需的步骤段(我相信)。 |
@JaakkoFagerlund,请参阅#432以了解最小进给率背后的原因。本质上,如果移动速度太慢,浮点舍入会将其修整为零,系统就会挂起。特别 |
@ashelly和@JaakkoFagerlund:据我所知,问题不是 当时和当前配置默认值,我计算出0.1毫米/分钟是绝对下限(设置为 1.0 毫米/分钟,有余量)和 Grbl 将用于可预见的 CNC 机器的实际下限。使用 EDM,这显然会改变。 我可以将其添加到要调查的事项列表中,但它应该可以通过一些编码来检查和解释异常情况来修复。现在,您可以尝试将 ACCELERATION_TICKS_PER_SECOND 设置降低到 50-60 之类的值,这将按 |
这个项目是开源的吗? |
您必须联系 Heidenhain 获取该文件,他们删除了手册。 |
海德汉是谁?有联系方式吗? |
JaakkoFagerlund 请在 gnu gpl 下上传 adreno Mega 代码。 |
JaakkoFagerlund I love your mindset, I had the exact same idea as probing the feed hold and cycle start to control the programming. Luckily I stumbled upon your post at the exact moment I thought of this. Have you played around with v1.1 yet? There are feedrate overrides now, however I just looked at this and haven’t figured out a way to control this. It looks like you would need to have some sort of feedback to your gcode sender in order for it to send the appropriate commands to grbl. Unfortunately it doesn’t look like a simple analog signal input. I really wish I had a wire EDM to test with you. |
介绍
我是一名专业的芬兰工具和模具制造商,几乎每天都在工作中使用电火花加工机 (EDM)。在空闲时间,我将机械加工作为一种爱好,并使用工作中的机器为自己制造东西。在过去的几年里,我完全从头开始构建了一个工作线 EDM 系统,它目前作为独立系统与 Arduino MEGA 2560 R3 板一起运行。我使用的 grbl 的唯一部分是来自某个早期 grbl 版本的 G 代码解释器,并进行了我自己的运动控制。
要查看电火花线切割系统及其使用、机械和电子设备的视频和说明,请访问我的 YouTube 频道http://www.youtube.com/TheWireEDM,因为这些视频将回答我通常遇到的大部分问题。
典型的电火花加工特征
由于切割过程是非接触式的,因此运动部件几乎没有阻力。因此,唯一的摩擦来自驱动部件本身。典型的火花隙尺寸,即工件和电极之间的距离,取决于许多变量,约为 0.02 至 0.1 毫米。
电火花加工机
最简单的电火花成型机是单轴机器,其中只有 Z 轴在 CNC 控制下移动。更复杂的机器具有基本的 XYZ 配置,下一步是通常带有 C 轴的 4 轴机器,以便可以旋转电极。
沉降片的通常特征是液压或静水压冲洗,其中电极定期上下“泵送”以更好地冲洗间隙。这种回缩量和间隔时间通常是可选择的,并且运动通常以快速移动完成。尽管具有足够大的电极表面积,但流体下的力可能会变得如此之大,以至于无法快速移动。
电火花钻
一种特殊情况是电火花钻孔机,其作用类似于单轴电火花成型机。Z 轴带有一个不断旋转 (0-300 rpm) 的管状电极,用于在工件上钻小孔 (0.1-6 mm)。通常的用例是用于电火花线切割的起始孔。
电火花线切割机
最简单的电火花线切割机是一台 2 轴机器,XY 由 CNC 控制,Z 轴(上线导轨)根据工件厚度手动定位。下一步是具有 XYUV 的 4 轴版本,从而可以完成锥形特征。
切割时机器进给率在 0-20 毫米/分钟(电火花成型加工)和 0-50 毫米/分钟(电火花线切割)范围内,因此速度/加速度不会突然变化。只有 G0 命令需要适当的加速度,因为它们被用来从一个地方快速移动到另一个地方,并假设在这样的移动过程中没有进行切割。
火花发生器
典型沉降片的开放间隙电压在 100-200 VDC 范围内,线 EDM 为 100 VDC。典型的火花隙电压在 30-70 VDC 之间,具体取决于电极尺寸、首选间隙尺寸、精加工/粗加工等。对于电火花成型加工,典型的平均电流为 0 到几十安培,而在线材电火花加工平均电流为 0-6 A(脉冲电流可超过 1000 A)。
火花发生器是 RC 型自激系统或 PWM 脉冲控制电源。RC 类型是最容易构建和使用的,但是改变 R 和 C 值以获得不同的加工参数需要大量的开关(数字或机械),当然还有零件。使用脉冲型发生器系统,可以通过改变输出的频率和占空比以及使用一组固定值电阻器(简单)或可调有源电流限制(复杂)控制最大输出电流来轻松更改参数.
介电液
这些机器有某种介电流体,它通过过滤器与泵一起循环。它用于冲洗被侵蚀的颗粒并保持一切凉爽。在电火花加工中,这通常是一种非常轻的特殊油。
但在电火花线切割中,最常用的电介质是水。这带来了一个问题,因为随着时间的推移,被侵蚀的颗粒会使水导电。这就是为什么在电火花线切割中有一个水处理系统,其中使用另一个泵将过滤后的水泵送通过去离子树脂以去除导电性。这种电导率由 EC 仪表监测,控制器试图将此读数保持在 10-50 uS/cm 之间。
放电加工行为
简而言之,EDM 系统会不断观察火花隙电压,如果它高于设定点值,它会将电极推向工件。当电压低于所需的设定点电压时,它会进入进给保持状态,直到电压再次上升到足够高为止。如果电压太低(即短路),机器将从切割中退出,直到电压回升到所需的限制或如果达到最大缩回距离(完全错误的事情)就会出错。
因此,EDM 是一种过程控制的加工情况,您不能仅以恒定速度进给它并感到高兴。它要么会导致短路情况,要么会比实际情况慢得多。由于 EDM 起步较慢,这并不好,尤其是这种断断续续的火花会因不稳定的燃烧而导致切割条件不佳。因此,运动至少需要来自间隙电压的 P(ID) 回路。
在我自己的原始机器中,这样做是为了在步进电机一步之前机器检查间隙电压。如果不够高,它会等到足够高才迈出这一步。这使得我的电火花线切割机以 30 毫米/分钟的切割速度接近工件,当火花开始时,它基本上减慢到完美速度,即腐蚀过程规定的速度。
现有解决方案
几乎没有。我见过爱好人群完成的 5 或 6 线 EDM,无数的电火花成型机,而不是一个钻孔 EDM。所有这些都使用了不同程度的软件解决方案和不同的硬件。电火花线切割系统基本上没有任何好的运动控制器,除了我做的那个,除非你算上专有系统,这些系统不是开源的,也不是为电火花加工设计的。
此刻的意向
在阅读当前 (v0.9) 版本的 grbl 支持进给保持和循环启动输入后,我倾向于使用 grbl 控制器设置和测试我的电火花线切割机。在机器和 grbl 控制器之间我唯一需要的是一个小电路来观察火花隙电压并根据该值控制 grbl 输入引脚。
问题和可能的解决方案
建议
由于 EDM 的行为和控制方式与传统加工完全不同,因此我建议开发一个与实际 grbl 分开的“grblEDM”分支。不同之处在于 grblEDM 将是一个过程控制的控制器,可以反转方向。不需要大多数运动控制规划器,因为侵蚀运动非常慢,可以即时计算。只有快速移动才会是 G0 快速定位机器,因为该条件假设没有发生切割。
我准备帮助开发这个系统,因为我在机械、电子、CNC 工作方面有技能,并且可以编写足够多的代码,但不能达到 grbl 完成的水平,这不包括修改 grbl,因为我不太了解对其内部运作有充分的了解。我也不知道 github 存储库如何工作或应该如何使用它们,因为大多数东西的名称对我来说都不熟悉(语言不是问题,但对多编码器项目和存储库的了解有限).
我也有这样做的动机,因为我家里已经有一个电火花线切割机可以玩,如果需要的话,我也可以用沉降片和电火花钻孔机进行测试(非常简单,可以添加到电火花线切割机框架中进行测试). 我还可以访问 MasterCAM 3D 许可证,以便在必要时为各种零件生成测试工具路径。
我非常有兴趣从 grbl 开发团队那里听到关于这整件事的反馈,并愿意参与讨论这件事的可能性。可以通过此处或通过我的电子邮件地址以最快的速度与我联系,这应该在我的个人资料中可见。
我希望看到可能的 grblEDM 是在 GPL 下,以保持开源社区和活动不受限制地蓬勃发展
长话短说
这不是您要找的项目
结局
感谢您抽出宝贵时间,并希望收到开发团队和其他人对此主题的反馈。也欢迎提出想法,尽管它们是获得反馈后的下一步。
Jaakko Fagerlund 工
模具制造商