开源改变世界

更多轴? #117

推推 grbl 3年前 (2022-10-30) 470次浏览 0个评论
关闭
drofarts 打开了这个问题 on 11 Sep 2012 · 30 条评论
关闭

更多轴?#117

drofarts 打开了这个问题 on 11 Sep 2012 · 30 条评论

注释

更多轴? #117

我知道 grbl 是为 3 轴非旋转轴 CNC 机床设计的,但是添加第 4 和/或第 5 轴有多难?我也很欣赏它是为在低端 Arduino 上运行而设计的,但实际上人们是否仍在使用 AVR328 来运行 CNC 铣床?644 有足够的引脚和更多的计算能力,可以支持更多的轴。我有一个 rerap RAMPS 板,它有 5 轴和 6 个挡块。该板的一个更简单的变体,具有主轴控制而不是加热床/热端控制,非常适合运行由 NEMA17 或 23 个电机驱动的 4 或 5 轴泡沫塑料/轻木木材切割机。此类机器的刀具路径可以在 Gmax http://www.turbosquid.com/gmax等开源软件中使用 CNC Toolkit http://www.cnc-toolkit.com/生成
想象一下能够用这样的设置切割一个光滑的船体!

基于 grbl 的 Marlin 固件增加了第 4 个轴,并且能够将工具更换到第 5 个。还需要轴独立的每毫米步数和加速度,这在 Marlin 中已经存在。此外,还可以支持其他形式的机器人技术,例如机器人手臂——这是我别有用心的动机。见http://forums.reprap.org/read.php?146,153660

不幸的是,我不是程序员,所以我真的不知道该怎么做。除非其他人已经这样做了?

更多轴? #117
成员

四门 评论 on 11 Sep 2012

我已经制作了一个控制 Scara 手臂的 Grbl 分支,但它并不是真正可以有意义地集成到 Grbl 中的东西——它必须是一个单独的项目。Grbl 将始终专注于笛卡尔设置。就目前而言,将第四个轴添加到 Grbl 非常简单,因为这是一个笛卡尔轴,无论这意味着什么——我怀疑这个轴会是 Marlin 中的塑料饲料?在混合中添加旋转将需要对 grbl 中的前瞻规划器进行复杂的返工,我认为目前在任何人的路线图中都没有。

如果我要更新 Grbl 以使用更现代的处理器,我个人会选择基于 ARM 的设置。我仍在等待一些板像 Arduino 一样无处不在,以做出这样的努力是值得的。

更多轴? #117
作者

漂流 评论 on 12 Sep 2012

嗨,西门,感谢您的快速回复。目前,我在使用 Marlin 时通过校准它以在每个轴上移动度数而不是 mm 来捏造 gcode;即我按度定位每个手臂部分。这实际上使得计算实际位置的数学并不算太糟糕,但专业人士可能不会这样做!我拥有的手臂的优点是手臂的任何部分都不依赖于另一个手臂,所以如果我改变下臂的角度,上臂与地面保持相同的角度。我认为这与 SCARA 布局有很大不同,不确定你的另一个叉子是否会帮助我。

鉴于更多令人兴奋的硬件即将出现,我理解您在 grbl 上投入更多工作的沉默。然而,我确实认为 Arduino 仍有很多生命力——它易于编程、可用性和可扩展性将使其在未来相当长的一段时间内继续运行。我没有想过正确的旋转轴会如何影响规划器,但我现在可以看到它会很棘手。但是您始终可以将其定义为仅移动 360 度且不再移动的轴,或者 360 之后的下一个增量为 1。但我不是程序员,我敢肯定它比这更复杂!

我可能会坚持使用马林,看看我是否可以让第 4 和第 5 轴独立工作。也许我最终不得不切换到 LinuxCNC,这感觉像是倒退了一步,但至少内置了手臂控制。

更多轴? #117
成员

四门 评论 2012 年 9 月 12 日

我并不是说我对保持 Grbl 的原样不感兴趣,我只是说我没有看到将它升级到具有相同处理能力的不同 atmega 的意义,因为你会很快用完处理能力试图保持所有这些额外的引脚动作。然而,我确实理解为什么 RepRap 套装会这样做,因为他们在加热器和喂食器以及你有什么方面有更多的事情要做。对于铣削,香草 Arduino 上的 Grbl 仍然只是我个人的门票。

更多轴? #117

我完全同意西门。旋转 ABC 轴会使数学开始变得复杂,并且需要更多的计算能力。比简单的 328p atmegas 更强大一点。内存也有问题。Grbl 被拉伸到最大,为 3 轴提供最小但一致的功能。所以这主要是一个复合问题,你添加的越多,你需要的内存和计算能力就越多。

就个人而言,我认为第四轴是可行的,如果对 Arduino 非常小心的话。我认为数学与我们在规划器中已有的并没有太大的不同,但我认为可能需要做出一些妥协才能使其稳健地工作,因为需要更多的周期来计算额外的轴。(我们还必须将加速度更改为与轴无关,这在我的路线图中。)我希望在不久的将来的某个时候看到这种情况发生,也许作为一个不同的发展分支。

另一个注意事项:TinyG/grblshield 的 Alden Hart 一直在研究基于 atmega mega 芯片的 6 轴控制器。不知道他现在的项目在哪里,但从我上次看到的情况来看,它运作良好。不过,他只支持他自己的 TinyG 特定硬件。

更多轴? #117
成员

四门 评论 2012 年 9 月 12 日

@chamnit考虑如何使用旋转轴管理有效的进给率让我很头疼。有效进给率不会是笛卡尔运动和旋转运动的结果,必须考虑到工具与在给定时间点移动的每个旋转轴的距离。我同意单个旋转轴在 atmega 架构的约束下是可以管理的,但是三个?我得看看是什么@aldenhart取决于。如果他能够做到这一点,听起来真的很不可思议,但话说回来,他还是相当聪明的!

更多轴? #117

是的,有点头疼。您必须在每个时间点独立考虑每个轴的加速度和速度,但我认为可能有一个简单的解决方案来处理它们。我认为诀窍是您必须将每个运动限制为最大化的轴的加速度。我还没有在纸上解决它,但它应该是可行的,而不会杀死 Arduino。

对于有效的进给率,这些应该由 CAM 软件或后处理器来处理。这是使 6 轴机器如此困难的众多问题之一。大多数时候,机械师必须自己编写专门针对机器的后处理器。我们有一个 5 轴在工作,它是如此的暴躁,以至于机械师不得不对他们的代码进行三次检查,以确保在开始切割时没有任何损坏。尤其是当工具点动和工件移动并旋转到新位置时。

更多轴? #117

@simen:我一直在考虑更多关于有效进给率的问题,我一直在与机械师 Mike 讨论这个问题。这是我们机械师的一些澄清。

所以,主要问题是当你同时进行旋转和平移,它们会使用两个不同的单位,英寸和度数。要解决这个问题,您必须使用反时限 (G93)。这通过使用一个进给参数而不是两个进给参数来强制旋转和平移同步移动。如果您使用两个单独的馈送参数进行旋转和平移,每个小错误都会影响同步,其中一个会先于另一个到达其目的地。

在这一点上,我不确定这对 Grbl 究竟意味着什么,但我想我们必须更新反时限代码才能正确转换轴进给率。这可能是可行的……无论如何,需要考虑的事情。

更多轴? #117

常识免责声明:如果以 CNC 加工为生的人不同意我的文字,他们可能是对的。如果我的文字不同意(Peter Smid 的 CNC 编程手册),那本书肯定是对的

关于这个问题,我有以下几点要说:

  1. 业界推荐的做法是不要在指定旋转运动的同时指定线性运动,特别是因为人类很难做到正确控制器供应商也很难保证控制器会做到正确。对于配备分度头、旋转台或两者组合的机器,移动通常在输入中被分隔为 (X, Y, Z) 和 (A, B, C) 块。
    1之二。话虽如此,有些机器可以进行编排的 4 轴和 5 轴运动,包括线性轴和旋转轴,同时遵守给定的进给率(从刀尖的角度来看!)。它们往往以至少 6 位数的价格出售(以美元计),并且通常不是由人类编程,而是由专业 CAM 软件的输出进行编程。
  2. 行业推荐的做法是在进行线性旋转组合移动时使用反时限进给率,这也是因为人类更容易做到这一点。任何支持以这种方式组合移动的机器(实际上将在生产中积极使用)都支持(每分钟长度单位和反时限)进给速率规范,而不会损失任何精度。的,这涉及控制器中的大量数学运算和机芯中最先进的机电一体化工程,但这就是它们价格昂贵的原因。在任何行业中,做到正确通常都很难(因此也很昂贵)。
  3. 至于旋转轴,它们以360度缠绕(361与1在同一位置)。不同的机器使用不同的机械装置,因此它们中的一些实际上会在被命令时连续旋转,而另一些会定期展开以保持在它们的机械范围内。后一种情况涉及来自人类方面的额外计划,这是特定于机器的,并且在像 grbl 这样的通用固件的情况下无法解决。

关于旋转轴问题的简短结论:

  • 如果我们谈论的是分度/分度头或旋转工作台(即您偶尔想要移动的设备,只是为了将零件设置到新的 [固定] 位置,然后在其上继续加工,然后将其添加到grbl 是微不足道的
  • 如果我们谈论的是旋转、倾斜甚至章动的加工头(主轴),我们想要连续控制并执行精心设计的动作,那么它会变得很丑,ATmega328P 根本无法应对我们的速度需要进行数学运算以跟上请求的进给速率。

希望能帮助到你。

更多轴? #117

@csdexter: 同意你所说的大部分,如果不是全部的话。

  1. 在与我工作场所的机械师交谈时,他表示 95% 的时间都使用“点对点”旋转和平移(或独立)运动,即使机械师可以使用 6 轴机床。主要原因:很难协调动作,即使有 MasterCam ($$$$$) 的帮助。他们只在绝对需要或展示和讲述时使用协调动作。
  2. 同意,但我觉得编程不会像你说的那么难。(我可能最终会吃掉我的话。)在大多数情况下,困难的事情是由 CAM 或后处理器来处理的,而不是 CNC 控制器。只要你有位置和反时限,控制器,即Grbl,只需要解析命令并同步动作,就像它只在3轴上移动一样。诀窍是调整加速度规划器,以适应每个轴的不同加速度限制。(@jgeisler以前做过这方面的工作,看起来很简单。)
    我已经阅读了很多与高速 CNC 控制相关的期刊文章,以及我们正在尝试做和正在讨论的内容,大约在 20 年前就已经在 CPU 上完成了。可能与 Arduino 328(或 Mega)相当。高速加工是昂贵的。这些算法试图最大限度地提高速度并确保整个切削过程中的进给率。我们只做一个简单的加速/减速斜坡。我将不得不研究完全实现这一点意味着什么,但我认为这是可能的(最终)。
  3. 在这种常见的情况下,机械师通常会根据机器和控制器的限制进行调整并在其中工作。如果我们选择一种通用的操作方式,它对大多数人来说应该可以正常工作。

因此,如果这完全可能,我认为研究仅使用第 4 轴的同步旋转和平移是值得的。相关的更改应该是平台无关的,我们可以稍后使用更强大的硬件添加此功能,即如果我们发现小 Arduino 无法处理它。从那里开始,使用 ARM CPU,我们应该相当简单地添加额外的两个 BC 轴以实现完整的 6 轴运动。

我同意 Radu 的观点,对于 CNC 加工,6 轴受到可以对其进行编程的免费/廉价软件的可用性的限制,但 Grbl 不仅仅是加工。我们已经看到了许多其他巧妙而有趣的应用,用于艺术装置和其他事物的简单移动,所以我认为,如果我们能做到,那就去做吧。

更多轴? #117

你好

我在这里的第一篇文章,希望不是最后一篇,因为我正在尝试让我的 cnc
机器启动并使用 grbl 运行。目前正在
使用 QT 和 OpenGL 编写一个用 python 编写的 GUI,用于 gcode 的 3D 渲染。工作有点
慢,同时进行的项目太多。

关于更多轴所需的硬件:
Arduino WiFi 防护罩http://arduino.cc/en/Main/ArduinoWiFiShield可能是一个选项,
但不确定它是否可以让您访问
所需的所有引脚(我希望该板将更加灵活)。
至少可以研究一下。
Arduino Due(ARM 设备)也是一个不错的选择。我听说
它会在不久的将来上市。

否则,我已经基于 UC3 设备创建了自己的板,该
板应该与 Arduino 完全兼容,除了 IO 电压。
至少应该能够提供额外的处理能力和
内存。http://uvolts.blogspot.no/p/uc3duino.html
我的粗糙设计存在一些问题(仅在第一次修订时),但
对于任何想要创建
与当前兼容的电路板的人来说,这可能是一个起点我猜是 grbl 的盾牌。

问候
托尔埃里克

更多轴? #117

我会权衡一下 TinyG 是如何做到的。代码都可以在 github (Synthetos/tinyg) 上查看、使用和重用。

所有 6 个轴都是协调的,并且它们是速率限制的。这是通过将所有运动转换为固件内部的时间单位来完成的——不管它们在 Gcode 中是如何指定的。Kramer RS274v3 NIST 规范中有一个密集的部分,说明在进行涉及两个域中的运动的非反时限模式协调运动时,线性轴和旋转轴应该如何关联。我读了很多很多次,希望我做对了。

在内部,所有运动计划都是作为一个标量值完成的,该值通过一个 6 轴单位向量转换为运动。第一个操作是在给定轴的物理限制的情况下将移动速率限制为移动所需的最短时间。请注意,轴都具有最大速度、加加速度和转弯加速度的独立参数(TinyG 使用加加速度来控制加速度 – 因此加速度不是常数)

是的,它现在只为 Atmel Xmega 芯片编译。有人愿意和我一起开发 ARM 端口吗?

更多轴? #117
作者

漂流 评论 2012 年 9 月 13 日

哇,引发了讨论!感谢所有的头脑风暴。aldenhart,TinyG 看起来真的很有趣,而且绝对看起来是接管复杂机器控制的有力竞争者。假设您可以获得足够的 I/O,您绝对应该将其移植到 ARM。我希望我能帮忙,但我真的是一名平面设计师——我可以给它上色,也许吧!

对于我目前的具体问题(机械臂)来说,这可能有点矫枉过正,而且我只有一个 Arduino Mega 2560,而不是更强大的 Xmega,所以我什至无法尝试。我想我可以扩展 Marlin 以适应额外的轴。从 XYZ 到旋转坐标的转换必须由主机完成(可能最终在控制器上),但这应该不会太糟糕;如果我想翻译一系列 XYZ gcode 命令(例如,如果我用我想使用 arm 复制的 XYZ reprap 切割一些用于 3D 挤压的东西),我应该能够编写一个 python 脚本来给我相同的 gcode在我的 4 个旋转轴上——我想!类似于极谱绘图机器人的工作方式,这对我来说实际上是一个很好的起点。进给率可能是个问题,但与旋转+平移系统不同。对不起,我也只是从我想解决的问题来考虑这些,而不是针对所有的 CNC 系统——请原谅我的短视!

更多轴? #117

2012 年 9 月 12 日上午 6 点 31 分,奥尔登·哈特写道:

是的,它现在只为 Atmel Xmega 芯片编译。有人愿意
和我一起开发 ARM 端口吗?

我想帮忙!

我确实参加了 Teensy 3.0 的 Kickstarter(
还剩 10 个小时,或者您可以在下个月订购)……它不是开源的
,但价格便宜(22 美元),而且创建者 Paul Stoffregen 也是
Arduino 的定期贡献者。我从来没有对 ARM 做过任何事情(我确实
有 Android 手机、桌子和 Raspberry Pi,但这只是 Java 或
Linux 编程)。我认为 Paul 确保为
Teensy 3.0 提供了一个非常好的开源工具链(据我所知,这将
适用于 Arduino 和 GCC),这就是我得到一个的原因。

您认为使用过的飞思卡尔的“Kinetis”K 系列 PK20DX128VLH5 /
MK20DX128VLH5 芯片是否适合 ARM Grbl 端口?

还是等待 Arduino Due 会更好?
还是您想到的任何其他 ARM ?

我不隶属于这家公司,如果他
出售这些板,我不会获得金钱,这里有更多关于 Teensy 3.0 的信息

http://www.kickstarter.com/projects/paulstoffregen/teensy-30-32-bit-arm-cortex-m4-usable-in-arduino-a

技术规格:

32 位 ARM Cortex-M4 48 MHz CPU(M4 = DSP 扩展)
128K 闪存、16K RAM、2K EEPROM
14* 高分辨率模拟输入(13 位可用,16 位硬件)
34* 数字 I/O 引脚(10 个与模拟)
10 个 PWM 输出
8 个用于间隔/延迟的定时器,独立于 PWM
带有专用 DMA 存储器传输的 USB
3 个 UART(串行端口)
SPI、I2C、I2S、IR 调制器
I2S(用于高质量音频接口)
实时时钟(带有用户添加了 32.768 晶体和电池)
4 个通用 DMA 通道(与 USB 分开)
触摸传感器输入

所有引脚都具有中断能力。

  • 在 Teensy 3.0的外部可以访问 14 个纯数字和 10 个模拟/数字引脚,在面包板上使用时可用。 内部和底部焊盘可访问另外10
    个仅数字引脚和 4 个仅模拟引脚
更多轴? #117

几周前,我从 kickstarter 上订购了一些 Teensy 3,只是为了试一试。嵌入式系统面临的挑战之一是找到一种价格合理的 ARM(约 5 美元,+/-),可用(不会永久缺货),具有足够好的免费或便宜的开发链(支持模拟或-电路跟踪/调试),并且具有不繁琐的库许可并支持开源项目(因此 TI 已经退出 – 或者当我们与他们交谈时)。哦,我想要很多 IO 引脚来处理很多事情。

我也同意 Simen 关于等待“Arm Arduino”的观点。具有讽刺意味的是,Pi 和 Beaglebone 对于这些用途来说太强大了(复杂的,恕我直言),因为您尝试从非实时操作系统运行实时系统的所有复杂性,并且引脚排列是谋杀。

我们一直在研究所有这些因素,并且最喜欢 NXP1758 系列是迄今为止最好的。第 1 步是准备好工具链,并可能在上面安装 FreeRTOS。

更多轴? #117

我还支持 Teensy 3 项目,主要是因为我对使用它作为新 RepRap 控制器的基础很感兴趣。将 grbl 移植到它似乎是这样做的一个很好的第一步,所以我也有兴趣帮助 ARM 移植。

如果一切都按我的计划进行,我将在几周内拥有几块用于容纳青少年和 pololu 步进驱动器的板的备用副本。如果有帮助,我很乐意将其中的一些发送出去…

更多轴? #117

我也在将 grbl 移植到 ARM,更准确地说是移植到 Cortex-M3 和 Cortex-M4F(基本上相同的代码使用不同的 -march 选项编译了两次)。
使用的板(用于开发和原型设计)是 STM32VL-Discovery 和 STM32F-Discovery,两者的价格都大大低于 Arduino Uno。与工具链相关的成本和问题都没有,因为 GCC 已经针对 ARM 有一段时间了——它可以正常工作。调试没有成本也没有问题,因为我们在 Github 上有 texane 的 STLink,它可以很好地完成这项工作。与库相关的成本和问题都没有,因为我们有 libopencm3 用于所有 CPU 细节——而 libc 可以处理其余的。
也许我是盲人,但我真的看不出人们谈论 ARM 的所有痛苦来自哪里 :-)
当然,有更好和更差的选择,但多样性如此之高,你真的不必关心人们每人要 10 美元或希望您在他们向您展示芯片之前签署 NDA。

事情还在不断变化中,最终的产品设计可能最终会在“One Man Orchestra”解决方案中使用 ARM 以及类似于 Olimex 的 STM32-H152 的电路板,或者它可能会沿着我目前正在开发的路线走其中包括使用 ATtinys 处理所有硬件低级任务,使用一个 ATmega328P(在 Pro Mini 上)进行管理、G 代码解析和数学运算。

更多轴? #117

移植到 ARM 并不是特别困难,但更多的是
为任何风险很小的人创建入门级 CNC 固件,并且
可行。几乎任何进入微控制器的人都有一个
Arduino 并将 Grbl 上传到它实际上是没有风险的,因为
如果用户发现 CNC 不适合他们,他们可以将板用于许多其他事情。
据我所知,固件非常坚固,除了一些待定的
小功能。

如果我们开始为多个平台进行开发,那么
固件的质量可能会有所降低,这将需要更多的时间和
精力来确保每次更新后一切正常。此外,如果它开始
需要专门的/不成熟的硬件,那么它就会开始放弃
使用/试用 Grbl 且成本风险很小的想法。如果我们这样做,我们将拥有
有限的高级用户群。

Simen 所说的我支持,直到有一个
通用的标准 ARM 板,没有太多理由去开发一个,至少
Grbl 的精神是什么。

我个人认为Grbl还有很多工作要做。我们可以使用一些
周期来使 Grbl 作为 CNC
控制器的功能更加全面,尤其是人们一直
在为它制作的一些很棒的 GUI。我认为在 Arduino 的限制范围内工作是值得的
,它迫使我们创建非常紧凑、模块化和
高效的代码,人们可以轻松地将其用作其他
应用程序的基础。

2012 年 9 月 16 日下午 3:37,Radu – Eosif Mihailescu <notices@github.com
>写道:

我也在将 grbl 移植到 ARM,更准确地说是移植到Cortex-M3 和 Cortex-M4F(基本上相同的代码使用 不同的 -march 选项
编译了两次)。 使用的板(用于开发和原型设计)是 STM32VL-Discovery 和 STM32F-Discovery,两者的价格都大大低于 Arduino Uno。 与工具链相关的成本和问题都没有,因为 GCC 已经针对 ARM 有一段时间了——它可以正常工作。调试没有 成本也没有问题,因为我们 在 Github 上有 texane 的 STLink,它可以很好地完成这项工作。与图书馆相关的任何费用和 问题都没有,因为我们有所有的 libopencm3

CPU-specifics – libc 可以处理其余的。
也许我是盲人,但我真的不明白人们
谈论 ARM 的所有痛苦来自哪里 :-)
当然,有更好和更差的选择,但多样性如此之
高,你真的没有关心人们每人要 10 美元或
希望您在向您展示芯片之前签署 NDA。

事情还在不断变化,最终的产品设计可能最终会在“One Man Orchestra”解决方案中使用
ARM 以及类似于
Olimex 的 STM32-H152 的电路板,或者它可能会沿着我目前正在开发的路线
走其中涉及使用 ATtinys 处理所有硬件低级任务,使用
一个 ATmega328P(在 Pro Mini 上)进行管理、G 代码解析和数学运算。


直接回复此邮件或在 GitHub 上查看
https://github.com/ /issues/117 #issuecomment-8599935。

更多轴? #117

我一直在关注这个,我想插话。为什么不只是一个第四轴,在现有硬件上简单和基本的东西?它不必是完美的,人们会找到新的方法来解决问题。你可以建立一个只有 4 轴的 trasmision ……

更多轴? #117

也许:

#define MM_PER_INCH 25.4
#define X_STEPS_PER_INCH 6400
#define Y_STEPS_PER_INCH 20000
#define Z_STEPS_PER_INCH 42850
#define E_STEPS_PER_INCH 50.0

#define FAST_XY_FEEDRATE_INCH 50.0
#define FAST_Z_FEEDRATE_INCH 100.0
#define FAST_E_FEEDRATE_INCH 25.0

#define CURVE_SECTION_MM 0.5

// 限制

#define SENSORS_INVERTING 0

// 喷嘴加热器的电阻电流

#define HEATER_CURRENT 100

// 引脚 Mega2560

#define SERIAL_RX_PIN 0
#define SERIAL_TX_PIN 1

#define X_ENABLE_PIN 2
#define Y_ENABLE_PIN 3
#define Z_ENABLE_PIN 4
#define E_ENABLE_PIN 5
#define X_STEP_PIN 6
#define X_DIR_PIN 7
#define X_MIN_PIN 8
#define X_MAX_PIN 9
#define Y_STEP_PIN 10
#define Y_STEP_PIN 11
#define Y_MIN_PIN_12 #define
Y_MAX
HEARTBEAT_PIN 14
#define Z_STEP_PIN 15
#define Z_DIR_PIN 16
#define Z_MIN_PIN 17
#define Z_MAX_PIN 18
#define MOTOR_ON_PIN 19 // HIGH = ON,LOW = OFF
#define MOTOR_DIRECTION_PIN 20 // HIGH = 顺时针,LOW = 逆时针
#define PANIC_STOP_PIN 21
#define PANIC_OVER_PIN 22
#define LCD_SERIAL_PIN 23

添加/包括来自“Sprinter”的 THERMISTORTABLES,也许还有一些我可能错过/忘记的热端的其他东西。它应该工作。

http://whatisacnc.com

更多轴? #117

非常有趣的主题!

我即将构建一个带有两个 X/Y 门户的 CNC 门户切割机,一个左侧,一个右侧,例如:http ://www.cnc-multitool.com/cnc/foam-cutting-machine/4-axis /cut1000s.html
大多数生成切割数据的软件都会生成 4 轴 GCode,其中一侧为 X/Y,另一侧为 Z/A。此外,切割线的加热被切换。

我有一个带有 4 个 polulu 驱动程序的 grbl Shield,还有一个 rerap 板。

但问题是使用哪个固件。前段时间我看到一个带有第四轴的 grbl 叉子,但我现在找不到它。另一方面,大多数 3D 打印机固件允许 4 轴,但我不知道是否可以将它们配置为通过 X/Y/Z/A 独立驱动它们

这里有什么想法吗?

Thanks
       Johannes
更多轴? #117

关于本次演讲的主题(具有巨大潜力),有两个想法:

  1. 使用 Marlin 内置于 T0 的 4 轴协调运动(G 特定 X、Y、Z、E – 其中 E 等于 XrotaA 或 YrotaB 或 ZrotaC – 在铣床、车床或路由器案例中)并且仅偶尔使用 T1 来更换挤出机(G 特定- X,Y,Z,E – 其中 E 等于 YrotaB 或 ZrotaC 或 XrotaA – 在铣床、车床或路由器的情况下)这可以完成,因为只涉及 G 代码,如下所示:
    N0001 T0 ;选择第一个挤出机
    N0002 G1 X0 Y0 Z0 E1 F1000 ;在 X 轴后旋转 1 度
    N0003 T1 ;选择第二台挤出机
    N0004 G1 X0 Y0 Z0 E1 F1000 ;在 Y 轴后旋转 1 度
    这是非坐标运动的示例。
  2. 使用涉及重写 Marlin 固件的真正协调运动,如下所示:
    N0001 G1 X0 Y0 Z0 A0 B0 C0 F1000 S1000 ;取 0 位置
    N0002 G1 X1 Y1 Z1 A1 B1 C1 F1000 S1000 ;在 6 轴上与 1 个单元进行协调运动

实现 2 将是一个有价值的目标。有人会免费做这项工作吗?我想知道…… Marlin 或 Grbl 是 Arduino 的出色固件,我都喜欢。我认为2可能会实现。

更多轴? #117

所以我已经准备好开始投入大量时间来添加第 4 轴,并且我想在比 Uno 更强大的板上进行,以避免影响内存、IO 或速度。我玩过Matthew Sorensen 的 Teensy3.1 端口,它看起来很有希望。在https://github.com/EliteEng/grbl似乎也有一个 Mega 端口。我的问题是选择哪个板?社区对哪个港口更感兴趣?是否有可能会在这里合并 – grbl 是否会正式支持多个板,我能做些什么来帮助实现这一目标?

更多轴? #117
贡献者

shapeoko 评论 2014 年 4 月 10 日

这只是我对这种情况的两分钱:

我喜欢并且一直喜欢这个项目的简单性。那个 grbl 专注于一个平台,一个任务是为 328p 制作一个完全有能力(可以解释)的解析器/控制器。我认为这种关注确实让我们考虑了什么是“必须拥有”,什么可以留到以后,或者完全不考虑。

所以对我来说,当有人问 grbl 是否会支持另一个董事会时,我总是认为:“它不能”。

根据定义,grbl 是一个不折不扣的解析器/控制器,它将在直接的 arduino上运行。如果要删除语句中的“直接 arduino”部分,那么它将不再是 grbl。这将是其他东西,基于 grbl。

我并不是说代码库不应该用于在另一个平台上创建另一个解析器/控制器,但如果这样做了,它需要一个不同的名称和不同的使命陈述。

-爱德华

更多轴? #117

青少年端口 +1。它非常兼容 Arduino,可以
使用 Arduino IDE 进行编程。两者都为您提供了额外的引脚和
内存,但 Teensy 也为您提供了 96mhz 的速度大幅提升,
而 Mega 与 Uno 的速度相同。

2014 年 4 月 9 日下午 3:52,阿谢利写道:

所以我已经准备好开始投入大量时间来添加第 4 轴,
并且我想在比 Uno 更强大的板上进行,以避免
影响内存、IO 或速度。我玩过 Matthew
Sorensen 的 Teensy3.1 端口
https://github.com/matthewSorensen/k20-grbl-port,它看起来
很有希望。
在https://github.com/EliteEng/grbl似乎也有一个 Mega 端口。我的问题是
选择哪个板?社区对哪个港口更感兴趣?是否
有可能会在这里合并 – grbl 是否会正式支持
多个板,我能做些什么来帮助实现这一目标?


直接回复此邮件或在 GitHub
#117(评论)上查看。


这封电子邮件没有病毒和恶意软件,因为 avast!防病毒保护处于活动状态。
http://www.avast.com

更多轴? #117

@ashelly: 同意@shapeoko. Grbl 一直是更大事物的种子。通过保持小而受限制,我们可以更轻松地专注于内部工作。然而,我们已经接近 Uno 无法带我们走得更远的地步了。阻力最小的路径就是使用 Arduino Mega2560,开发部门已经非正式地开始支持它。它与所有当前的盾牌兼容,应该与在 Unos 上使用 Grbl 的人即插即用。

同样,我们可以使用 Arduino Due 来保持向后兼容性,但工具链仍在慢慢跟上。这将需要更多的努力来转换所有内容。我认为最好花时间,至少对我而言,完成 Mega 上的功能列表,然后将所有内容移植到基于 ARM 的控制器作为不同的项目(称为 Gnea)。

更多轴? #117

我最近在最新开发分支的 ARM 端口上取得了相当大的进展。
https://github.com/microCNC/GRBL_ARM/tree/Dev

我用过 CMSIS,所以移植到其他 ARM 控制器应该不是什么大问题(尽管不同的供应商对外围设备有不同的想法)

更多轴? #117

您可以将另一个轴写入 GRBL,交替考虑 MODBUS 和 EMC。

我还读到 Mega 不是您想要的 GRBL,我可能是错的,但 328 或 UNO 芯片是可以使用的,有人提到他们关心速度,请注意 Uno 的波特率为每秒 9600 个周期,您不需要比应用程序处理得更快(通过 USB“通用串行总线”驱动步进电机)。

MODBUS 也可以与 Mach3 和其他机器软件一起使用,或者您可以使用 Visual-Studio 编写自己的机器软件。

更多关于“总线”的信息可以在这里找到:http: //tronixstuff.com/2011/05/13/tutorial-arduino-and-the-spi-bus/

干杯,希望它有所帮助,

Rob
adminelectric-canada.com
日期:2014 年 4 月 9 日星期三 13:52:50 -0700
发件人:notifications@github.com
收件人:grbl@noreply.github.com
抄送:crob.09@live.ca
主题:回复: [grbl] 更多轴?(#117

所以我已经准备好开始投入大量时间来添加第 4 轴,并且我想在比 Uno 更强大的板上进行,以避免影响内存、IO 或速度。我玩过 Matthew Sorensen 的 Teensy3.1 端口,它看起来很有希望。在https://github.com/EliteEng/grbl似乎也有一个 Mega 端口。我的问题是选择哪个板?社区对哪个港口更感兴趣?是否有可能会在这里合并 – grbl 是否会正式支持多个板,我能做些什么来帮助实现这一目标?


直接回复此邮件或在 GitHub 上查看。

更多轴? #117

@EliteEng: 这是关于你在 ARM 上的进展的好消息。我个人没有时间研究它,但我很高兴你是。当 Grbl 上的事情完成并且新的 Gnea 项目启动时,我们将不得不合作。

@crob09: 只是为了清除一些错误信息。Grbl 和 Arduinos 不仅限于 9600 波特。它们可以以高达 250000 的任何波特率运行(如果我没记错的话)。Grbl v0.9d 以 115200 波特运行,没有任何问题。此外,AVR 328p 是 Arduino Uno 使用的,Grbl 应该能够在 Arduino Mega2560 上支持 AVR Mega2560 而没有太大问题,因为它们基本上是完全相同的芯片,只有更多的内存、中断和闪存空间. 对 Mega2560 的扩展应该很容易,并且具有进一步扩展 Grbl 的内存和空间。(CPU 速度有点令人担忧,但目前对 Uno 和 v0.9d 的测试表明,在最近的所有代码改进中,我们仍然有很多开销。)

更多轴? #117

感谢您的反馈。我理解股票 Arduino 的吸引力。我将开始看看我可以在 2560 上使用 0.9d 做什么。

更多轴? #117

@ashelly
您可以观看旧版本的 grbl-0.81:https ://github.com/LETARTARE/Mega2560-grbl-0.81适用于 Mega2560。

喜欢 (0)

您必须 登录 才能发表评论!