Contact me: hankecnc@gmail.com

使用 20MHz UNO 加速 Grbl? #210

推推 grbl 3年前 (2023-01-21) 267次浏览

关闭
109JB 开了这个issue 2017 年 6 月 8 日 · 18条评论
关闭

使用 20MHz UNO 加速 Grbl?#210

109JB 开了这个issue 2017 年 6 月 8 日 · 18条评论

注释

使用 20MHz UNO 加速 Grbl? #210

对于另一个项目,我只需要订购一个 20 MHz 的晶体振荡器,最后订购了 10 个,因为考虑到运费,1 和 10 之间的价格差约为 90 美分。因此,我正在考虑更换我拥有的众多 Arduino UNO 中的一个或多个中的 crysyal,并了解如何让 Grbl 运行得更快一些。我想知道是否有人尝试过这个,如果是的话,他们是否有任何建议或要避免的事情?这是我的计划:

http://masteringarduino.blogspot.com/2013/11/fasterArduino.html

因为这不是真正的 Grbl 问题,所以我会立即关闭它,这样它就不会出现在未解决的问题讨论中。

使用 20MHz UNO 加速 Grbl? #210
贡献者

我从来没有这样做过,但我现在可以告诉你,Grbl 的 SAMD21 版本全面运行速度提高了 2-3 倍。

使用 20MHz UNO 加速 Grbl? #210
作者

@chamnit– 你逗!!!我迫不及待地想看看您对 ARM 版本有什么看法。关于这一点,我知道您的目标是 SAMD21,但是有没有特别的板子?你用什么板子做测试?我正在考虑尽快购买 SAMD21。

至于 UNO 中的晶体变化,我有一台机器可能会留在 UNO 平台上,而不管新 ARM 版本的发布如何。我不一定需要更高的步进率,但我的目标是更快地处理包含大量短移动的 3D CAM 文件。

使用 20MHz UNO 加速 Grbl? #210

@109JB我没有使用 grbl 完成此操作,但我确实在我自己的定制 PCB 上完成了它,其中包括一个带有 20MHz 晶体的 ATmega328(加上一个运行 Linux 的 ARM 芯片)。ATmega 通过 Linux python 应用程序发送的数据驱动 WS2812 LED,这一切都得益于速度和“更好”的计时。
最主要的是创建 boards.txt 条目和自定义引导加载程序,这在您的链接文章中有所介绍。我的 bootloader 和 boards.txt 在这里https://github.com/moorescloud/holidayduino
如果你遇到任何困难,我可能会帮忙。

使用 20MHz UNO 加速 Grbl? #210
作者

@electrokean– 谢谢。这看起来很简单。我想知道为什么当 ATmega 328 数据表表明 20MHz 没有问题时 Arduino 的人决定使用 16MHz 的晶体?

使用 20MHz UNO 加速 Grbl? #210

我在 Arduino Uno @ 24MHz 上运行 gbrl 1.1 没有任何问题。
请记住,您必须刷新引导加载程序以支持 20MHz(主要原因是上传草图的波特率正确。
当引导加载程序正确闪烁时,如果您添加了具有正确保险丝的电路板,则可以为该电路板编译 gbrl时钟速度。

使用 20MHz UNO 加速 Grbl? #210
作者

@JBSchueler– 谢谢。我知道需要更改引导加载程序,因为它位于我第一篇文章的链接中。

我真正好奇的是,您是否必须更改 Grbl 代码中的任何内容?我快速浏览了一圈,看起来代码是为了解决 CPU 时钟差异而编写的,我一眼就没有看到任何需要更改的地方。

使用 20MHz UNO 加速 Grbl? #210

正确,grbl 的代码没有任何改变。

使用 20MHz UNO 加速 Grbl? #210
贡献者
香奈儿 评论了 2017 年 6 月 8 日  

@109JB:几乎任何 SAMD21 板都应该可以工作,因为大多数引脚都能够完成几乎所有需要的事情。我已经让它在 AdaFruit Feather 上运行,即使引脚数减少,但足以运行 3 轴机器。SparkFun SAMD21 开发板的所有引脚都暴露在外,可以很好地支持 4 轴。如果您将 SPI 引脚用于其他用途,则更多。然而,他们在上面烧了一个 sh!*ty boot loader 并且需要很长时间才能刷新它。您可以通过与程序员一起烧录最新的来修复它。Arduino Zero 也不错,它有自己的 USB 串口转换器和调试器芯片。

有两件事会有所帮助。USB 串口转换器绝对有助于提高 Grbl 的运行效率。我已经用 FTDI 或 CH2104 进行了测试,两者都运行良好。这对于非常高性能的应用程序(即激光雕刻)很有用。对于大多数当前的 Grbl 用例,它并不重要。支持外部 EEPROM i2c 芯片(约 2 美元),有助于避免使用模拟 EEPROM(也支持)的闪存磨损。

如果事情按照我的计划进行,新的 HAL 应该可以轻松支持不同的电路板和引脚布局,但稍后会详细介绍。

使用 20MHz UNO 加速 Grbl? #210
作者

好吧,我得到了 20MHz 的晶体,完成了我的另一个项目,并在我的一个 UNO 中将 16MHz 的陶瓷谐振器换成了 20MHz 的晶体。现在有些东西能用,有些东西不能用……atmega328 似乎工作正常,但它与 16U2 USB 转串口芯片之间存在某种通信问题。我只能让它在 57600 波特率下工作,即使那样它也不是 100% 可靠的。我没有大量的测试设备,所以我求助于编写接口程序并从那里推断出发生了什么。在其他几种波特率下,某些字符似乎很难通过,尤其是 \n eol 字符。所以无论如何,我可以使用以前的人的一些建议。这是我试过的。

  1. 尝试自己修改引导加载程序 make 文件和 boards.txt。
  2. 尝试过的模组@electrokean他在上面发布的
  3. 尝试了其他一些其他的 bootloader/boards.txt mod。

以上所有结果基本相同。

至于硬件,我焊接在晶体中,但没有任何 20pF 的电容,所以将它们排除在外。我在没有他们的情况下读到了一些成功的地方,但我已经订购了一些来尝试。我住在乡下,所以没有附近的地方可以买到它们。你认为这可能是正在发生的事情吗?

此外,我使用了其他人的保险丝设置,还使用了保险丝计算器,从默认的 uno 保险丝设置开始,然后只进行更改以获得全摆幅晶体振荡器。我可以尝试其他设置吗?

正如我所说,atmega328 似乎工作正常。我写了一些草图并使用外部程序员上传它们,它们做了它们应该做的。

任何帮助表示赞赏

使用 20MHz UNO 加速 Grbl? #210

有趣的。是的,我认为这一定是缺少负载电容器,因为没有它们,您的晶体可能会偏离频率运行。我有一个使用 20MHz 晶体使用 115200 波特的草图,我从未看到任何通信问题(但回想起来它主要使用 SPI 进行数据传输)。

使用 20MHz UNO 加速 Grbl? #210
X3ms蛇 评论了 2017 年 6 月 19 日 通过电子邮件
使用 20MHz UNO 加速 Grbl? #210

或者从另一个设备“借”一些(咧嘴笑)

使用 20MHz UNO 加速 Grbl? #210
作者

无论如何,这是一个副项目,所以虽然我可以从其他垃圾设备中解放一些上限,但我只会等待我订购的那些进入。无论如何我还有太多其他项目正在进行。

使用 20MHz UNO 加速 Grbl? #210
X3ms蛇 评论了 2017 年 7 月 2 日 通过电子邮件
使用 20MHz UNO 加速 Grbl? #210

有没有人用这种新的串行速度测试过像激光雕刻这样的重型工作?

使用 20MHz UNO 加速 Grbl? #210
作者

@mkeyno

这与串行速度完全无关。串行速度由一个单独的 USB 到串行转换器芯片控制,它有自己的晶体。此修改是针对控制 328P 微处理器的晶体。

作为旁注,我不久前拿到了我的帽子,但其他的东西让我把它们戴上了。

使用 20MHz UNO 加速 Grbl? #210
X3ms蛇 评论了 2017 年 7 月 10 日 通过电子邮件
喜欢 (0)