开源改变世界

一个想法:反冲补偿 #563

推推 grbl 3年前 (2023-02-01) 215次浏览
关闭
Fosforitofercho 打开了这个问题 2017 年 4 月 17 日 · 34条评论
关闭

一个想法:反冲补偿#563

Fosforitofercho 打开了这个问题 2017 年 4 月 17 日 · 34条评论

注释

一个想法:反冲补偿 #563

我不知道编程有多难,但可以像自动调整一样,补偿 g 代码以抵消反冲。

一个想法:反冲补偿 #563
所有者

这可能是一个有趣的想法。

一个想法:反冲补偿 #563
贡献者

我也会对此感兴趣。
适用于所有代码(修改它)或在运行时应用的东西?

一个想法:反冲补偿 #563 vlachoudis 添加了 增强 标签 2017 年 5 月 11 日
一个想法:反冲补偿 #563
贡献者

Hola, primero felicitaciones y gracias por lo magnífico que es y las mejoras tanto en bcnc como grbl。Sería bueno poder agregar una solución al backlash。Es muy elemental mi conocimiento de programación, y no pude saber dónde es que el programa envía la orden al Arduino para modificarlo。
Si se puede agregar una corrección de holgura ante cada cambio de dirección del eje, y la actualización de la posición en pantalla es el movimiento enviado restada la corrección enviada, sería una solución. Estoy terminando de implementar un económico ATC (automático tool changer) (las rut​​inas de movimiento sí las pude organizar) para mi spindle con tuerca ER11, partiendo de la brillante idea de Frank Herrmann con su XATC y me resultaría útil para mi CNC que tiene 联合国间隙 de aproximadamente 0,3mm。萨鲁多斯。

一个想法:反冲补偿 #563
贡献者

O en realidad siempre, en cada orden, envía la posicion del eje más la compensación de holgura, pero el valor de esta es cero excepto cuando hay cambio de dirección。

一个想法:反冲补偿 #563
拉洛维 评论了 2017 年 6 月 7 日 通过电子邮件
一个想法:反冲补偿 #563
X3ms蛇 评论了 2018 年 1 月 23 日  

http://forums.reprap.org/read.php?154,178612
https://github.com/Lenbok/NoLash

也许这个 C# 或 Java 代码可以在 BCNC 上实现?

一个想法:反冲补偿 #563
所有者

@X3msnake 感谢您的链接

一个想法:反冲补偿 #563

@vlachoudis
如果您设法实施,请回发我也对此感兴趣。致以最诚挚的问候,感谢您所做的出色工作

一个想法:反冲补偿 #563

嗨,我的朋友们,如果你看商业软件,因为 mach3 有一个反冲校正器,那么实现一个反冲校正器会很有趣,对于精确的工作来说,这会很有趣。
我制作 PCB,精度非常重要

一个想法:反冲补偿 #563

大家好 ;)
也对反冲校正投赞成票……对于使用像 Proxxon MF 70 这样的小型/廉价工厂的人来说,这将是一个非常棒的功能。

一个想法:反冲补偿 #563
贡献者

这是我想实现的事情之一:Backladh 补偿和轴正交校正

一个想法:反冲补偿 #563
香蕉卢克 评论了 2019 年 3 月 11 日  

我查看了哪些 CNC 控制器/程序可以进行反向间隙补偿的软件。只有 Mach3/4 和 LinuxCNC。但这意味着向计算机添加并行端口并且:
1.) 对于 LinuxCNC:额外的引导分区 – 没有简单的 CAM 处理器。
2.) 对于 Mach3/4:在软件上花费很多钱。

我真的很感激你的工作。

一个想法:反冲补偿 #563
合作者

我认为这些东西应该主要直接在运动控制器中处理。
我并不完全反对为此使用 bCNC 插件,但对我来说,这只是无法在运动控制器中完成的情况的解决方法。

只是为了记录。GRBL 已经在解决这个问题,甚至还有补丁:

grbl/grbl#389

一个想法:反冲补偿 #563
贡献者

没看过,最好的解决方法是直接在grbl中。我要看补丁

一个想法:反冲补偿 #563

它在那里:https
://github.com/mkaluza/grbl-Mega/commits/edge 我同意它应该直接在 grbl 中,所以我这样做了。然而,它不太可能被合并到上游。

一个想法:反冲补偿 #563

很高兴看到有东西!只是为了 Arduino Uno 它不见了。我这里有一个备用的 RAMPS 和 2560,接下来几天会试试……

一个想法:反冲补偿 #563
贡献者

评论说这对你有用。
我认为最好的选择是修复它
bcnc 发送修改后的代码的第二个最佳选择
第三个选择是通过插件。
这是我能写的选项,它是三个选项中最差的。也许是第二种选择。

一个想法:反冲补偿 #563

@mkaluza
感谢您的软件。刚刚将它编译到 Arduino Mega。它似乎工作。关于文档的简短说明:我首先使用了 github 页面上进一步列出的 hex 文件,这是来自 gnea。因此它不会有反冲补偿。我现在将您的叉子中的 GRBL Mega 库包含在 Arduino IDE 中,删除了旧的 GRBL 软件(用于 UNO)并通过 Arduino IDE 上传。
只是你可能想在你的 github 页面上提到的一个小节点,这样人们在使用那个分支时就不会感到困惑;)

问候
卢卡斯

一个想法:反冲补偿 #563
姆卡卢扎 评论了 2019 年 3 月 22 日  

@BananaLuke感谢您提供的信息——我从没想过有人会使用它——这就是为什么没有十六进制文件的原因。你是第一个(据我所知) ?️:) 我正要问你是否需要一个 :P

我也有 Uno 代码,但无法测试它,因为我的机器在斜坡上。无论如何,快乐的铣削。在某个时候,如果有足够多的人在使用它,也许它可以合并到上游。

欢迎提出建议(虽然我现在没有太多空闲时间)

一个想法:反冲补偿 #563
香蕉卢克 评论了 2019 年 3 月 28 日  

@mkaluza再一次问好。我不得不解决一些硬件问题(嗯,我是这么认为的……)但是斜坡和 Arduino 都很好……用 grbl cyclone Works 测试了它。我还尝试从“主要”分支 (gnea) 上传 grbl_mega……
这个也不起作用。
你能告诉我你是如何为 RAMPS 1.4 配置引出线的吗?gnea 分支和您的分支是否与 Ramps 1.4 兼容?可以给我一个 uno 的十六进制文件吗?

编辑:发现错误。config.h 中的设置未取消注释是正确的。它应该是这样的:

//#define DEFAULTS_GENERIC
//#define CPU_MAP_2560_INITIAL

// To use with RAMPS 1.4 Board, comment out the above defines and uncomment the next two defines
#define DEFAULTS_RAMPS_BOARD
#define CPU_MAP_2560_RAMPS_BOARD

一个想法:反冲补偿 #563

一张动图胜过千言万语!

考瓦邦加!

10 点赞@mkaluza至今。让我们看看它在铣削操作中的表现如何!

一个想法:反冲补偿 #563

哟!很好 ;) 让我知道它在铣削过程中的表现 :) 尺寸是否正确?

至于不工作——gnea/GRBL-Mega/edge 是完全兼容的——在 config.h 中为 RAMPS 正确定义它应该可以工作。至于 Uno – 我没有。现在我只是移植我的代码,并在我设置好某些东西后的某个时候对其进行测试(这可能需要一段时间,因为我有很多事情要做,而且我的机器现在正在 Mega/RAMPS 上运行)

一个想法:反冲补偿 #563

@BananaLuke我刚刚上传了我的测试代码(这次是十六进制文件)以及我目前正在使用的所有实验性功能。它具有相当高的步进速率 (~40kHz+),因此它允许使用高微步值来实现更平滑/更安静的步进操作。我目前使用的是 1/16,这给我大约 1100-1200mm/s 的最大速度——虽然不多,但我的机器无论如何也不会跑得更快。还有最新的功能——加速平滑——理论上应该允许更高的加速度值而不会丢失步数(但我不能在我的机器上真正测试它,因为它仍然需要大量的机械工作)

一个想法:反冲补偿 #563
合作者

此外,最新功能 – 加速平滑 – 理论上应该允许更高的加速度值而不会丢失步骤

您使用的是 S 曲线加速吗?https://www.youtube.com/watch?v=qYJpl7SNoww

一个想法:反冲补偿 #563
姆卡卢扎 评论了 2019 年 3 月 28 日  

你好@Harvie
不,现在斜坡仍然是梯形,但在它具有分段恒定速度之前(由于步进控制算法在 grbl 中的工作方式) – 现在它在段之间插入速度。它不是线性的,但总比没有好(而且计算成本低)。

但感谢您的提醒 – 昨晚我读了一篇关于那些东西的有趣文章 :) 还不确定如何放入 grbl,因为该算法似乎有点复杂而且我还不知道为什么。当我明白为什么它会这样工作时,我将能够更轻松地修改它。

如果你愿意,你可以跳进去 :) 工作台上还有刀具半径补偿 :) 和 5 轴 :)
— 编辑 —
和旋转/线性编码器反馈回路 :)

一个想法:反冲补偿 #563
合作者
哈维 评论了 2019 年 3 月 28 日  

如果你愿意,你可以跳进去:) 工作台上还有刀具半径补偿:) 和 5 轴:)

出色地。我只对我们设法将其上游到原始 atmega328p GRBL 感兴趣。
因为我没有升级到 arduino mega 的计划。如果我升级我的运动控制器,它肯定会成为当今随处可见的酷炫 32b MCU 之一(例如 STM32 或 ESP32)…

一个想法:反冲补偿 #563

值得怀疑… grbl 维护者不太愿意这样做。此外,Uno 的 flash/ram 已经很低了,所以除非有一些代码大小的减少,否则更多的东西无论如何都装不下。

有人提到将 grbl 移植到 Arduino Due,但现在仅此而已。我在某处看到了一些 STM32 的端口。也许在某个时候我会自己调查一下。

你有什么特别的控制器吗?特别是开源固件?

一个想法:反冲补偿 #563
合作者

值得怀疑… grbl 维护者不太愿意这样做。

即使默认情况下禁用它?

我在某处看到了一些 STM32 的端口。
你有什么特别的控制器吗?

GRBL 作者正在研究 HAL,这将使 GRBL 能够轻松移植到其他平台。他们这样做是因为他们想要支持 32b 平台。所以我想如果我们等半年左右,STM32 可能会有 GRBL…

一个想法:反冲补偿 #563

值得怀疑… grbl 维护者不太愿意这样做。

即使默认情况下禁用它?

争论是,如果有人强烈反对,那么他应该修理他的机器,如果他想用软件修复它,那么要么让控制软件来做,要么让一些 gcode 处理器来做……(他在某处写道他正在使用 gt2 皮带,所以他实际上可能并不关心反冲,但所有的螺丝驱动器都有反冲,你真的无能为力)。恕我直言,这个论点是无效的,因为反弹是“机器的事情”,因此它应该由机器控制器处理,而不是某些软件,但是嘿 – 这是他的项目,这完全取决于他。

我在某处看到了一些 STM32 的端口。
你有什么特别的控制器吗?

GRBL 作者正在研究 HAL,这将使 GRBL 能够轻松移植到其他平台。他们这样做是因为他们想要支持 32b 平台。所以我想如果我们等半年左右,STM32 可能会有 GRBL…

实际上已经有 GRBL 到 STM32 的端口:https
://github.com/dungjk/grbl-stm32 我正在等待我的 STM32 棒到货,我将开始测试它。半年是很多时间…看看 GRBL 添加 HAL 层应该不是什么大问题…几个晚上,是的,但不会更多…但我没有在任何他的回购协议,所以我真的不能说太多。

一个想法:反冲补偿 #563
合作者

但我没有在他的任何回购协议中看到这一点,所以我真的不能说太多。

代码尚未发布,因为还有一些清理工作要做。然而有讨论:gnea/grbl#374

一个想法:反冲补偿 #563

谢谢@Harvie. 但你知道 – 提交,或者它没有发生:)

一个想法:反冲补偿 #563 哈维 提到了这个问题 2019 年 9 月 8 日
关闭
一个想法:反冲补偿 #563
合作者

顺便说一句,你有没有看到我在 bCNC 中包含的新的拖刀插件?有时我想知道这是否是反冲补偿的良好起点。也许带间隙的机器的工作原理类似于拖刀……至少实际切削点滞后于刀具路径的概念可能是相同的。

但是在反冲补偿方面几乎没有什么不同:

0.) 您需要在 3D g 代码上应用间隙补偿,而 dragknife 插件目前仅适用于 2D 刀具路径。
1.) X 和 Y 的滞后会有所不同(您至少可以通过将 X 和 Y 设置为相同来补偿两者中较小的一个)
2.) Z 也可能会有反弹?(好吧……也许重力可以纠正反冲)
3.)不会有枢轴点(很容易在插件中禁用)

一个想法:反冲补偿 #563
贡献者

@Harvie,我没有看过你的补码拖刀的代码
我明白用补码产生反冲校正一定很简单,在每个方向变化中添加一条线与该轴上的补偿; 也可以校正机器的正交性。
但是,理想是
正确的 grbl。
第二个选项:发送 gcode 时修改发送而不是补充

一个想法:反冲补偿 #563
合作者

要获得间隙补偿,请考虑使用 grblHAL 而不是 GRBL。它可能不会在 atmega 上运行,但升级很便宜(不到 10 美元)。grblHAL 可以在反冲补偿支持下编译(以及对原始 GRBL 的其他改进)。它现在由 bCNC 正式支持。

https://github.com/terjeio/grblHAL/