开源改变世界

Z 轴的独立进给率? #85

推推 grbl 2年前 (2023-01-21) 155次浏览

关闭
ericmaglio 打开了这个问题 2012 年 4 月 1 日 · 7条评论
关闭

Z 轴的独立进给率?#85

ericmaglio 打开了这个问题 2012 年 4 月 1 日 · 7条评论

注释

Z 轴的独立进给率? #85

你好,

我和一个朋友使用本指南构建了一个 3 轴 CNC 铣床:http: //www.instructables.com/id/How-to-Make-a-Three-Axis-CNC-Machine-Cheaply-and-/. 我们能够使用 grbl 和 Arduino Uno 从 G 代码成功驱动机器,但遇到了步进驱动问题。Z 轴是轴驱动的,因此电机必须比皮带驱动的 X 轴和 Y 轴旋转得更快才能在相同的时间内移动相同的距离。因此,以适合 X 轴和 Y 轴的进给率运行机器会导致 Z 轴电机停转。我们发现如果 Z 轴电机不停止,我们不能使用高于 400 毫米/分钟的进给率,但我们希望以更高的进给率运行 X 和 Y 轴电机。有没有办法以不同于 Z 轴的进给率运行 X 轴和 Y 轴?如果不是,我们如何在不停止的情况下更快地运行 Z 轴步进器?我们的设置如下:

$0 = 4.921 步/mm(皮带驱动)
$1 = 4.921 步/mm(皮带驱动)
$2 = 157.48 步/mm(轴驱动)
$3 = 60 毫秒延迟
$4 = 600 毫米/分钟进给速率(此值从未使用过,因为它被 G 代码覆盖了)
$5 = 200 mm/min 寻道速率
$6 = 0.75 mm 弧段长度
$7 = 0
$8 = 40 mm/s^2 加速度
$9 = 300

我们使用 BigEasyDrivers 驱动步进电机,无需微步。

谢谢,
Rocketman1092

Z 轴的独立进给率? #85
成员

不幸的是,这不是进给率的问题,进给率可能已经由“F”g 字定义。这是步进电机/z 轴驱动系统尺寸不正确和 Grbl 的单一加速参数的问题。加速度被定义为任何方向上的最大加速度,但在大多数机器上并非如此,除非所有三个轴都具有几乎相同的属性。最终,Grbl 将能够为每个轴定义独立的加速度,但将用于下一个边缘推动。当它可能在夏天出现时,这应该可以帮助您解决问题。

最好的办法是尝试让您的电机在机器的进给率范围内以最高扭矩运行。你可以做一些事情,比如只对 z 轴使用整步或半步,运行你的驱动器允许的最高电机电压和一些缓冲(在更高的速度下给你更高的扭矩),或者调整皮带的降压比以更符合您的 z 轴扭矩曲线。

另一个注意事项,$4 被 Grbl 使用。如果在初始化时未明确定义,则为默认 G1 进给率。

Z 轴的独立进给率? #85
成员

您可以做的另一件事是用配重或弹簧卸载 z 轴。从你的机器的外观来看,z轴电机在z+移动时必须抬起z轴crossslide和dremel。我见过人们使用简单的配重和滑轮取得了巨大的成功,尽管这不是最漂亮的东西。您也可以尝试恒力弹簧。

Z 轴的独立进给率? #85

香肠,

感谢您的帮助,我会做一些实验来尝试提高扭矩。与此同时,我在 Grbl 的手册中发现了一些有趣的东西——$4 和 $5 的描述是:

“此设置在 Grbl 开机并初始化后设置默认搜索 (G0) 和进给率 (G1,G2,G3)。”

这是否意味着 G1、G2 和 G3 是每个轴的独立进给率?有什么方法可以单独而不是一起调整这些,以便我可以比 Z 轴更快地运行 X 轴和 Y 轴?

Z 轴的独立进给率? #85
成员

不是,G1、G2、G3是不同的运动模式。直线和 CW/CCW 圆弧运动。所有进给和寻道速率均定义为 3D 点到点速度,与轴无关。这就是 g 代码的定义方式。如果您想更快地运行 XY 轴,则必须明确地将运动分为具有快速进给率的仅 XY 运动和具有较慢进给率的 Z 运动。

Z 轴的独立进给率? #85

我只是尝试了一个非常简单的“修复”,如果 Z 只能移动 X、Y 的 1/10:在 gcode.c 中将所有 Z 移动乘以 10,在设置中将 Z 的步数/mm 除以 10 在 protocol_status_report() 中做同样的事情并且它只会在内部变量中可见

Z 的进给率将关闭,它可能会对更复杂的移动产生副作用,但我确信它可以形式化
为每个轴的“齿轮比”之类的东西

Z 轴的独立进给率? #85
成员

我不会推荐这个“修复”。它最终会使事情变得过于复杂。相反,我只想修复 Z 步进器扭矩余量或在您的 g 代码程序中明确分开 XY 和 Z 移动。

Z 轴的独立进给率? #85
成员

我同意 chamnit 关于问题的基本原因是所有轴的通用加速度设置。也就是说,在 g 代码文件的过程中使用一系列进给率并不少见。您知道可以通过在同一行上指定 F 字来指定每个程序段的进给率吗?这通常在例如“切入”时使用,即将铣刀沉入材料中,这通常需要比普通侧向铣削低得多的速度。

喜欢 (0)