注释
没有加速时间只用一个速度切不是更容易吗? 在 2016 年 10 月 20 日上午 10:20,“jsb1” notifications@github.com写道:
|
@jsb1: 这很容易添加到 Grbl。我的笔记里有,但它被埋在几十页的待办事项中。然而,我能看到的主要问题是如何将速度标量设置为功率。这可能不是线性的。 首先要尝试的是假设每行进的激光输出功率恒定。因此,主轴速度除以当前速度 (S/F) 在整个单线运动中必须相同。任何时候进给率较低,主轴速度也必须按比例下降。 编辑:参考速度将是块 ( 如果这确实效果更好,那么我们可以在这里讨论将它正式添加到主仓库中。如果不是,则需要进行更多测试以确定它的非线性程度、非线性程度以及用户需要拨入多少配置选项。这可能会变得混乱,如果是这种情况,这可能是我埋葬的原因很久以前添加的注释。 |
@chamnit:我认为主轴和速度覆盖是全局因素,不受影响。建议的功能只是计划块内的更正。我试图在当前移动中保持每毫米的功率恒定。 |
@jahnj0584: 抱歉,在某些情况下机器无法全速运行。有一些物理定律需要遵守。可以通过在切换激光之前加速来切割直线。但是小弧呢? |
@jahnj0584: 考虑一下,是的,这是可能的。
对完整的矩形执行此操作 4 次。很多无用的时间和动作! |
@jsb1:规划器中的平方速度是故意的。它们将浮点运算的数量减少了很多。您可能知道,浮点数在 8 位 AVR 上非常昂贵。在 v1.1 中,那些特定的操作不再存在,因此速度方块恢复为速度。 Grbl 中已经有一个称为 SPINDLE_PWM_MIN_VALUE 的最小因子,它与您的 对于超控,我的意思是进给和主轴速度超控应该如何处理功率/毫米?这意味着它们中只有一个应该能够改变功率/毫米,而另一个只能改变切割速度。您可能希望进给覆盖仅改变切削速度,保持功率/毫米相同,而主轴速度覆盖将直接缩放功率/毫米。此外,您还必须考虑如何处理运动的最大/最小值和主轴速度。如果您正在刻录光栅图像,会发生什么情况?缩放功率/mm 会截断激光功率的上限或下限,导致图像丢失暗部或亮部细节。其他类型的激光器怎么样?他们的行为方式相同吗?您如何最好地处理所有这些情况?这些是我之前研究这个问题时想到的问题。 实际上,一个好的激光切割机以非常高的加速度运行,就像 3d 打印机一样。所以你不必处理这些类型的问题。我觉得如果 Grbl 引入恒定功率/mm 选项,那么所有这些事情都需要解决。也许,他们可以,但我仍然有很多问题。 |
在 Smoothieware 的 Laser.cpp 中找到它: |
@jsb1: 你之前写的公式和那个 |
@chamnit: 抱歉,在发送最后一条评论之前我没有看到您的回答。 关于覆盖:我认为在这里实现太多自动操作是危险的。 最大/最小限制:每毫米的能量(不是功率 – 对不起,我的错)应该从 gcode 计算(应用覆盖后)并始终在单个命令中保持不变。与 3d 打印机上每移动毫米的挤出长度相同。 我对固件速度限制没有太多经验。通常我不会让我的机器碰到它们。你永远不知道当他们被击中时会发生什么…… 公式:我认为它们不一样:我的最小值乘以传入的 S 值。Smoothie 的下限与 gcode 无关。也许更好 – 并节省了一次乘法。 |
@jsb1: 有了覆盖,我整天都在想这个问题。也和我们的机械师谈过了。我认为实现它的最佳方法是将主轴速度覆盖定义为激光功率/mm 调整,而进给率覆盖是仅保持激光功率/mm 的进给调整。这为您提供了两种独立的方式来改变您的激光切割方式而不会造成太多混淆。 但是,我认为看看一些专业激光切割机如何处理覆盖是个好主意。我不完全确定他们通常是否有任何覆盖。 对于最大/最小限制,我在很大程度上同意,但这可能是一个滑坡。Grbl 始终可以尝试保持编程的激光功率/mm。如果无法实现进给,Grbl 将尝试按比例降低激光功率。然而,这在某些情况下可能会导致一些奇怪的操作。 在 CNC 车床上,有一种叫做恒定表面速度的东西。根据切削半径,车床主轴将自动调整其 RPM 以保持刀具的表面速度。通常,当您在车床轴附近切削时,当 RPM 达到最大值时,您会发现车床仅保持相同的最大 RPM 和相同的进给速率来完成切削。它不会自动减慢刀具的进给速度以进行补偿。解决这个问题通常是机械师的工作。 也就是说,让 Grbl 在内部自动进行功率/毫米调整可能会降低它的用处,并且更难知道它的行为方式。我不完全确定当你达到进给或速度限制时不做任何不同的事情是否更好。周末我得再考虑一下。 至于公式,好吧。有点不同。FWIW,Grbl 还设置了独立于 g 代码的下限。我认为您要求的是某种改变线性模型或主轴输出的更多可配置性的方法。你不是第一个问这个问题的人,但它在我的待办事项清单上。我认为这是与恒定激光/毫米和覆盖不同的问题。我宁愿把它放在一边,因为它独立于其他。 |
@chamnit: 对于公式,我同意,工具线性化应该是另一个讨论。 CNC车床则不同:切削速度对工件最终形状的影响较小。它要么有效,要么工具坏了。但是当速度下降时,激光雕刻机切割得更深。 不同的观点:安全 |
@jsb1: 是的。安全是一个巨大的问题。它一直都是,但 Grbl 无法解释每台机器上的每一个场景,即使机器不适合这项任务,比如使用加速非常慢的 CNC 并使其适应激光切割。无论如何,这不是一个好主意。 就像我之前说的,提供恒定的激光功率/mm 一直在我要添加到 Grbl 的清单上。它没有进入 v1.1 beta 版本,但现在应该很清楚我们正在尝试确定所需内容的基本参数。如果有意义,那么我会安装它。当我说,如果它有意义,我的意思是有一个清晰、简单的实现来管理它的行为。我的直觉是,考虑到所有类型的罕见情况和非线性,这很容易失控。 |
@chamnit: 我提到安全是因为它指向同一个方向:-)。 好的,谢谢讨论!我将对我的激光器进行我想要的最小更改:按(当前速度)/(应用覆盖后的标称速度)缩放功率。完成测试后,我将提供拉取请求。好的?
一件事让我有点不安。 |
@jsb1:激光功率(瓦特 = 伏特*安培)通常用于描述切割能力,并且与主轴 PWM 输出成比例。如果你真的想对这个高度有争议的问题过于技术化,那么,是的,能量/距离是正确的测量单位,但我认为更恰当的术语是瓦特/速率。无论哪种方式,我们都在努力解决同样的问题。 |
@chamnit: 请包涵。我知道我们在谈论同一件事。那是我在自然科学方面的训练——很久以前:单位永远要精确! 您可能会问我为什么坚持使用该功能。好吧 – 我认为没有它激光模式就不那么值得了。完成后我会发送图片。但首先我必须焊接一点。那个中国硬件上的激光并不是真正可控的。目前,我可以设置功率的 pwm 范围非常小。而且它似乎取决于温度(哪个温度?环境?激光模块?开关晶体管?))。我认为用软件来补偿几乎是不可能的…… |
@jsb1: 没必要一直提醒和坚持。就像我之前说的,我完全理解原因。但请记住,如果激光器安装在能够以高加速度移动的正确制造的机器上,这就远没有那么重要,因为大多数专业 CNC 激光器都是为此而制造的。我在这个项目上的工作不仅仅是为了帮助人们修复和调整他们设计和构建不佳的硬件。如果我有时间,我会的,但这不是我的首要任务。 也就是说,我确实有时间研究如何实施它。显然我已经准备好了一切,可以轻松做到这一点。该等式也很简单,假设存在线性关系: 弹出了两个问题:
|
@jsb1: 行。我推了 Grbl 的新动态激光功率功能。您需要取消注释 config.h 文件底部的 #define 以启用它。它称为 LASER_CONSTANT_POWER_PER_RATE。 它是实验性的,这意味着它的行为方式尚未完全确定或定义。因此,根据用户反馈,情况可能会发生变化。需要注意的一件事。当机器不运动时,激光将保持关闭状态,即使您使用 M3S1000 之类的东西启用了激光。它只会打开,如果它在运动中。我可能会更改此设置以在启用时打开最小 PWM 输出以帮助指示其打开。 进给速率覆盖 (FRO) 不会改变激光功率/速率。激光功率将随 FRO 缩放以保持一致。如果 Grbl 开始口吃,这很有用。你可以放慢工作速度,激光应该保持相同的燃烧速度。(由于激光输出的非线性,可能会有一些轻微的变化)。 主轴速度覆盖 (SSO) 直接改变激光功率/速率。因此,如果机器减速,它会增加或减少激光功率并考虑功率变化。 通过像这样设置 FRO 和 SSO 行为,您应该能够实时动态地调整您的工作,即使激光功率是非线性的。 |
@chamnit: 非常感谢你!目前很忙。我会尽快测试! |
@chamnit: 真的很抱歉,我还不能给你任何反馈。但似乎其他人已经测试过 – 非常好。 最诚挚的问候, 约尔格 |
亲爱的朋友,我那里有完全相同的问题! |
我想要的是在加速/减速时降低激光功率。我认为这将解决深度烧伤边缘和其他小图形的问题。
它可以在 st_prep_buffer() 中轻松完成。
公式为:新 PWM = 计算出的 PWM * [来自加速代码的 current_speed] / 参考速度。(简单版本,应该有一个可配置的最小值)
“参考速度”的最佳值是多少?
我想 plan_compute_profile_nominal_speed() 的输出是可以的,但我不确定。