开源改变世界

Grbl护盾第4轴 #1001

推推 grbl 3年前 (2023-01-23) 498次浏览

关闭
Dareblix 打开了这个问题 2016 年 5 月 26 日 · 33条评论
关闭

Grbl护盾第4轴#1001

Dareblix 打开了这个问题 2016 年 5 月 26 日 · 33条评论

注释

Grbl护盾第4轴 #1001

大家好,我正在建造我的 CNC 机器,我实际上使用的是 grbl shield 和 arduino UNO,我想知道,第 4 轴是如何工作的?如果我把它更好?我需要安装什么?请任何人给我解释一下这个第四轴。谢谢阅读!

Grbl护盾第4轴 #1001
109JB 评论了 2016 年 5 月 27 日  

如果它是 protoneer 板,您可以将第 4 轴用作 xy 或 z 的从属轴。电路板的布局使得第 4 轴可以独立,但 grbl 尚不支持此功能。

http://blog.protoneer.co.nz/arduino-cnc-shield-v3-00-assembly-guide/#4THAXIS

Grbl护盾第4轴 #1001
作者

这有什么用?为什么需要从动轴?无论如何要有一个真正的第四轴我需要什么?一个mach3硬件?

Grbl护盾第4轴 #1001

我不知道你为什么需要一个从动轴,但板子和 grbl 并不是专门为你设计的。它对于那些为单个轴使用 2 个步进器的人很有用。许多龙门式 CNC 使用步进电机来驱动龙门架的每一端以使其保持直线。对于那些人来说,从动轴非常有用。

对于其他人,一旦 grbl 支持,就可以提供独立的第 4 轴。GRBL 的代码可以修改以支持第 4 轴,并且它是开源的。您可以修改代码以支持它,然后第 4 轴可以独立。其他人为此目的修改了代码,您可以搜索问题帖子以找到它们以及有关他们如何做到这一点的信息。

如果这不是您的选择,那么您将不得不使用 LinuxCNC、Mach3 或其他目前支持第 4 轴的东西,或者等到第 4 轴支持添加到 GRBL。

Grbl护盾第4轴 #1001

您会将 A 轴从动到 Y,这样只有 X 和 Z 在铣床本身上移动(因为车床是静止的)。您必须自己解决其余的问题。

Grbl护盾第4轴 #1001

如果你的机器有1个电机左右移动X轴,1个电机上下移动Z轴,1个电机前后移动Y轴,你不需要第4轴,所以忽略它。

如果您的机器有 2 个电机来前后移动 Y 轴,您需要将其中一个电机连接到通常称为 A 轴的第 4 轴。然后,您需要将 A 轴“从动”到 Y 轴,以便它们的移动完全相同。完成后,当 GRBL 告诉控制器将 Y 移动 0.217 英寸时,Y 和 A 都将移动 0.217 英寸。

约翰

Grbl护盾第4轴 #1001
成员

Grbl 目前只支持 3 轴机器。通过共享 Y 轴信号,“第四”轴通常只是龙门机器上 Y 的从轴。也就是说,我计划在 Grbl-Mega 及更高版本中正式支持额外的旋转 A/B/C 轴。

Grbl护盾第4轴 #1001
作者

谢谢大家的解释 :) 现在我明白了

Grbl护盾第4轴 #1001

@chamnit 我真的很感激你有很多事情要做,你最终会绕过第四轴,我读了很多线程。
但是不久前,您在我的一个已关闭问题#878中说过,第四轴可能会出现在 v1.0 的功能列表中。
查看您之前已经尝试过实现 A 轴的一些代码。
您能否与我分享如何让第四轴运行,这样我至少可以自己尝试一下?
就像我说的那样,我读了很多线程,在我看来很多人都要求第四轴的功能。
感谢您的辛勤工作。

Grbl护盾第4轴 #1001
成员

@jackjameshoward:有一个较旧的 Grbl 分支支持第 4 轴,但我最近决定第 4 轴在 Grbl 的 328p 版本中不可用。这是内存和闪存限制。Mega2560 版本的 Grbl 将从这个 repo 中取出并放置在这里。这将在不久的将来包含第 4 个轴。那是我可以做到的时候。除非你擅长编码,否则你必须等到它发布。

Grbl护盾第4轴 #1001

谢谢@chamnit,我以为是这样。
所以你正在为 GRBL 的未来开发基于 ARM 的 Mega 路线

Grbl护盾第4轴 #1001
成员

@jackjameshoward: Grbl-A​​RM 是一个完全独立的项目,是未来。Grbl-Mega 只是一个官方支持的 repo,它将解决一些用户请求,如第 4 轴。它将充当通往 Grbl-A​​RM 的桥梁。

Grbl护盾第4轴 #1001
USBCNC 评论了 2016 年 6 月 7 日  

上周末,我能够以便宜的 2 美元 STM32F103C8T6 板运行 GRBL 0.9j。仅测试了 XYZ 运动。还没有限位开关和 PWM,但结果令人兴奋。我的试验台是便宜的 3020 台式 CNC,带有 Mach 型并行端口。

  1. 本机 USB 虚拟串行。无需外部 USB 串口。
  2. 使用1KB的flash来模拟EEPROM。
  3. 使用的闪存少于 45KB(包括 EEPROM 模拟)。未来的功能仍有很大空间(总共 64KB 闪存)。
  4. CPU 以 72MHz 32 位 ARM 运行,我认为这会产生更高的控制脉冲。有 20KB 内存可用。
  5. 超便宜,2元包邮。

我认为硬件是未来 GRBL 的非常好的候选者。一旦有人为我测试其他功能,我就会上传代码。

Grbl护盾第4轴 #1001
作者

@chamnitgrbl 的手臂有点像 SCARA 机器人?我的意思是铣削机器人手臂?现在可以还是还不能?如果您有这方面的任何信息来源,能否与我们分享?

Grbl护盾第4轴 #1001
成员

@Dareblix: ARM 意思是几乎每部手机中都有的 ARM 微控制器。不是机械臂。

Grbl护盾第4轴 #1001
作者

我觉得自己像个白痴…

Grbl护盾第4轴 #1001

只是想知道是否有人有关于为 Mega2560 开发这款 4 轴前叉的消息

Grbl护盾第4轴 #1001

Zeek-ja,我一直在修补第 4 轴,只是为了 y 轴上的奴隶。看起来需要进行一些重大的重构才能实现这一目标。我的替代方案是在 mega 和我计划的用于外部步进驱动器的 grove 屏蔽之间夹一个原屏蔽,并以某种方式反转信号。看起来会更容易,尽管不优雅。

Grbl护盾第4轴 #1001

我在https://github.com/electrokean/grbl/tree/6-AXIS上有一个用于 Mega 的 6 轴旧端口 我在https://github.com/EliteEng/
查看另一个端口后基于我的更改grbl/tree/6-AXIS
如果你想将它们应用到 grbl 1.1,这些变化并不难做 – 只需做一个三向差异?

此外,在https://github.com/gnea/grbl-Mega上有一个新版本的 grbl mega,这将是理想的起点……

请注意,附加轴的代码会略微限制您的最大脉冲率,因此它可能不适合需要高步进脉冲率的应用

如果您只想要一个作为另一个轴的从轴/镜像的第 4 轴,则不需要更改代码 – 参见#1171

Grbl护盾第4轴 #1001

我正在处理 DM542 驱动程序。最大信号电流消耗为 16 mA。虽然从 ATMEGA 的一个引脚驱动两个在 40mA 最大输出范围内,但我不想接近限制。因此,带有 step 引脚到 2 个 npn 晶体管基极和 dir 引脚到另一个晶体管基极的原型板,一个 pnp 发射器连接到另一个驱动器似乎是不涉及数小时移植代码的解决方案,只是为了让从轴工作

Grbl护盾第4轴 #1001

@markwbrown是的。我进行了快速搜索,发现 DM542 在其输入端有光隔离器和 270 欧姆串联电阻,因此它们可以在 5V 时消耗 12mA 或更多电流。因此,如果您将它们并联,缓冲是一个非常好的主意。
您可以按照您的描述使用一些晶体管,或者可能更容易连接一个基本的缓冲逻辑芯片,例如 74HC125。在 74HC125 上,您将两个缓冲器输入引脚连接到步进信号,两个连接到方向信号,输出引脚连接到单独的驱动器。您可以将所有缓冲器启用引脚连接在一起,并将它们连接到 GND,或者可能连接到低电平有效启用信号(如果可用)。
您实际上可能会在每个 DM542 输入端串联添加另一个电阻器以限制电流(例如 150 或 180 欧姆),尽管这可能会使光隔离器脱离最佳工作条件,这可能只会在最坏的情况下显示问题可能的时间…

Grbl护盾第4轴 #1001

我也有 DM542 驱动器,在 Y 轴上我有 2 个电机,我已将 2 个驱动器并联设置,我没有缓冲,到目前为止一切都很好,从来没有增加任何问题,我应该添加 74HC125 方法还是你认为我没问题我的设置?

Grbl护盾第4轴 #1001

@vMeph它很可能会正常工作,具体取决于推动的力度和持续时间。但有些人似乎有问题,所以最好避免这种情况。

ATmega 的每个输出引脚的额定电流为 20mA,最大合计为 100mA。在单个输出引脚上的电流为 20mA 时,5V 信号可以下降到接近 4V(或 0V 输出上升到 1V)。这些都在(2016 年 11 月)数据表 [1] 的第 366 页上指定,超出该电流不在规格范围内(即不提供保证)。第 365 页上指定的绝对最大值为 40mA,但接近这一点可能会导致问题,通常是由于电压水平超出规范,并导致 IC 过早失效。

因此,如果您愿意连接一些东西来充当缓冲器,我会推荐它。我刚刚查看了 74HC125 的数据表,实际上它可能并不理想。它的额定每个引脚最大电流为 35mA,总电流为 70mA,但实际上仅规定在 4.5V 时每个引脚最高为 6mA(即不能保证超出此范围)。

因此,如果您知道您的驱动器具有光隔离输入,那么晶体管缓冲器将是更好的选择。使用此图右侧所示的东西 [来自 2],其中 R3 和 LED4 位于驱动器内。

Grbl护盾第4轴 #1001

请注意,晶体管正在切换 GND 侧,因此您需要将正侧输入连接到 5V。我会使用 BC547 或 2N3904 NPN 晶体管,基极电阻 (R4) 在 1k 到 4k7 范围内。这些晶体管可以处理 100mA 左右的电流,因此您缓冲的每个引脚只需要一个。因此,对于单轴,只需两个晶体管和两个电阻器,总成本可能为 2 美元。简单的!

[1] http://www.atmel.com/Images/Atmel-42735-8-bit-AVR-Microcontroller-ATmega328-328P_Datasheet.pdf
[2] https://i.stack.imgur.com/8qzh7.png

Grbl护盾第4轴 #1001

非常翔实。100 包 2N3904 在亚马逊上的售价约为 5 美元。对于像我这样不想将导线从驱动器换到电机的人来说,我要找的是在从机上添加一个 PNP 来指示方向吗?还是有另一种方法来反转信号?

Grbl护盾第4轴 #1001

实际上,您可以只使用另一个 NPN 阶段进行反转,因为这就是它正在做的事情。
它只需要一对 2N3904 和 3 个电阻,所有 1k 应该没问题。
我草拟了一个快速示意图……虚线框中的位是驱动程序内部的。 我确定您有理由不想交换一些电机引线!
Grbl护盾第4轴 #1001

Grbl护盾第4轴 #1001

Electrokean,太棒了。感谢您的帮助。

Grbl护盾第4轴 #1001

因此,据我所知,要在安全方面发挥作用,请使用像 bc547 这样的晶体管,其基极为 4k 欧姆到 dir 引脚,并在收集器上连接到 arduino 的 5 v 到驱动器的 dir,步进引脚也是如此。
与所有 4 个驱动器并联的启用引脚怎么样,需要注意吗?

Grbl护盾第4轴 #1001

@vMeph抱歉,我不太了解你——但 BC547 与 2N3904 非常相似,基极电阻并不重要(我更喜欢较低的值来快速快速地打开它)。
关于启用信号,在大多数情况下是的。例如,DM542 在启用输入端也有光耦合器,因此设置与 STEP 信号相同。你可能更容易摆脱这个,因为它不像 STEP & DIR 那样快速变化,但它可能会消耗大量电流,这对 ATmega 不利。
请注意,两个晶体管接线仅用于在特殊情况下反转 DIR 信号,如建议的那样@markwbrown

Grbl护盾第4轴 #1001

@electrokean感谢您的回复,我问的是您发布的第一个原理图,而不是@markwbrown 的特例,
谢谢

Grbl护盾第4轴 #1001
危机 评论了 2017 年 2 月 8 日 通过电子邮件
Grbl护盾第4轴 #1001

@cri-s是的,将光隔离器输入串联是可行的,但在不知道完整的应用细节的情况下一般来说这是一个糟糕的建议。

让我们做一些数学…

首先是一些假设:
输出信号是 5V 逻辑,即标准 Arduino(虽然在更高的电流下会下降,在 20mA 时接近 4V)
光隔离器 IR LED 的正向电压为 1.0V(更典型的是 1.2V 到 1.4V,并且会随着设备和 LED 电流)
步进驱动器中的限流电阻为 270 欧姆(我已经在此处讨论的某些驱动器的图表中看到了这一点 – 即 DM542 – 大多数人不想修改驱动器)
良好的旧欧姆定律是有效的: ) 所以我 = V / R

现在,只有一个驱动器,我们有 5V 小于 1V LED 压降,通过 270R,通过光电中的 IR LED 提供 4 / 270 = 14.8mA。这是一个很好的强驱动电流,应该适用于大多数光隔离器的相当快的脉冲。例如,LTV-817 光电在 15mA 左右以最高 CTR(电流传输比)运行。

现在,有了两个串联的带光隔离输入的驱动器,我们有 5V 减去 2V,通过 540R,提供 5.6mA。这可能没问题,但这在很大程度上取决于所使用的光隔离器及其 CTR,以及我们不太了解的其余驱动电路。

使用三个驱动器,3V 到 810R 提供 2.5mA,使用四个驱动器 2V 到 1080R 提供 0.9mA。

最后两个显然与驱动器制造商推荐的以大约 15mA 运行的用法有很大不同,因此我们很可能会遇到可靠性问题,尤其是对于更快的信号。

在不知道它驱动的确切光隔离器和电路的情况下,做出这样可行的一般建议是不好的。对于 12V 信号,DM542 设计显然有一些余量,他们建议串联添加另一个 1k 电阻,这将使光电器件中的 IR LED 仅以 8.5mA 运行。

将多个驱动器输入串联在某些情况下可能会起作用,例如 4 个不会快速改变状态的电机使能信号,因此上升和下降时间并不重要。但在其他情况下,它可能微不足道,足以为一个人而不是另一个人工作,甚至可以在凉爽的日子工作而不是在炎热的日子工作。事实上我上面的假设实际上是最好的情况,在现实生活中事情总是更复杂,使得上面的计算更糟。STEP 信号比 DIR 或 EN 信号要求更高(脉冲速度更快),当在两个从属驱动器之间共享时,我们真的不想错过步进脉冲。

我认为在处理机器时走工程捷径是一个非常糟糕的主意,如果操作不当可能会不可靠,开始破坏工具或零件,甚至伤害某人。

Grbl护盾第4轴 #1001

哭泣:

在 3.3V 上它也能工作,但你必须使用 gnd 作为有源信号并将 3.3V 直接连接到驱动器 + 输入。

为什么这么说,有什么根据呢?
我刚买了一对这样的 DM 驱动板,但无法从中得到任何动静。

我尝试了阴线和阳线(官方中文文档!),但电机没有丝毫动作。在观察 PUL+ 和 PUL- 端子时,我可以在示波器上看到预期的波形。

用手进行间歇性接触确实会偶尔使电机产生碰撞。

Grbl护盾第4轴 #1001

luisiana2,此线程用于讨论第 4 轴。您的问题不是关于添加第四轴。
(问一个不相关的问题被称为“线程劫持”,被认为是“真的不好”)
请启动您自己的线程,详细描述您的设置、您想要实现的目标以及您尝试过的任何更改。正确记录。
如果您说您更改了文件,请将更改包括在内以供我们查看。

喜欢 (0)