Contact me: hankecnc@gmail.com

grbl 非常奇怪的问题…除了 G1 之外的任何东西都失去了原位… #275

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

关闭
kjohn33407 打开了这个问题 2013 年 10 月 5 日 · 7条评论
关闭

grbl 非常奇怪的问题…除了 G1 之外的任何东西都失去了原位…#275

kjohn33407 打开了这个问题 2013 年 10 月 5 日 · 7条评论

注释

grbl 非常奇怪的问题...除了 G1 之外的任何东西都失去了原位... #275

希望你们能帮我解决这个问题,我一直在疯狂地试图解决这个错误。我在我的 arduino uno 上使用 grbl,控制我自己构建的 CNC。出于某种原因,如果我通过使用 G0、G2 或 G3 移动的 grbl 运行 gcode 脚本,我的起始位置会缓慢移动。我的 z 高度实际上逐渐上升,直到它不再与介质接触,当工作完成时,如果我尝试返回原来的位置,它通常在 X 轴和 Y 轴上都有几毫米的偏移。

当然,我的第一个假设是电机或控制器有问题,但奇怪的是,当我仅使用 G1 命令在机器上运行作业或压力测试时,它根本不会移动到位。我会让机器在 X0 Y0 处切入、缩回、移动到新位置、切入、移动等……我让它重复这些命令数百次,它根本不会偏离对齐。

我真的在这里挠头……任何见解都将不胜感激。

grbl 非常奇怪的问题...除了 G1 之外的任何东西都失去了原位... #275
成员

@kjohn33407: 你能为 G0、G2/3 命令提供一些示例 g 代码吗?以及您的机器设置?…以及您用来生成 g 代码的内容。这将在帮助您调试问题方面大有帮助。

一方面,G2/3 arc 命令对于 Arduino 的实时计算来说计算量很大。在性能方面,使用 G1 命令代替 G2/3 命令将为您在高端提供更好的性能。这可能是问题的根源,但我不能确定。如果是,您可能会遇到一些电弧引起的性能差距,从而导致一些步骤丢失。那么,您是否在 G1 和 G0 和 G2/3 代码中运行完全相同的工具路径?您的帖子中没有明确说明。

grbl 非常奇怪的问题...除了 G1 之外的任何东西都失去了原位... #275
作者

这是一些示例代码… 2 个 txt 文件,除了一个仅使用 G1 而另一个也使用 G0 外,我认为相同。一个工作正常..另一个没有。它应该是一条虚线,形成大约 1 英寸的六边形。

(抱歉第一次使用这个文件主机…确保点击“下载这个文件”而不是绿色的下载按钮,它是某种广告之类的)
http://www.filedropper.com/works
http:// http://www.filedropper.com/doesnotwork

这是工作文件最终结果的图片:http:
//img534.imageshack.us/img534/6010/du3e.jpg

和失败工作的图片:http:
//img443.imageshack.us/img443/2452/0nzc.jpg

我放错了立铣刀,所以它看起来有点难看,但你可以清楚地看到,在一项工作中,Z 高度保持得很好……在另一项工作中,它仅在第二条虚线后升高。它在离表面大约 4-5 毫米的地方结束了工作。这两项工作都应该将仪表板切割大约 0.5-1.0 毫米深。

我正在使用这个程序流式传输 gcode ( http://www.shapeoko.com/wiki/index.php/GcodeSender )

这是我的 grbl 设置的屏幕截图:http:
//img43.imageshack.us/img43/520/8ssx.jpg

cnc 路由器/铣床本身有三个 TB6560 控制 3A 425 oz-in 步进器转动 10 个 TPI 导螺杆。X/Y 上 1/16 微步,目前 Z 上只有 1/2 微步(我最初认为它是 16 或 8,但正在尝试不同的设置来诊断这个问题)。它们由功能强大的 24 伏稳压电源供电。

我周围有一个 raspi 和一个 arduino mega……你认为其中一个比 UNO 更合适吗?

编辑:哦,如果重要的话,我正在用 Mastercam 生成 gcode

grbl 非常奇怪的问题...除了 G1 之外的任何东西都失去了原位... #275
成员

@kjohn33407: 大多数情况下,您的设置和一切看起来都合理。Grbl 应该适用于您的 CNC 类型。有几件事可能会或可能不会有所作为。

首先,当您运行您的“非工作”程序时,G0 移动是否以较慢的速度进给?您的 G1“工作”程序以 300 毫米/分钟的速度移动它们,而您的 G0 程序根据您的设置以 90 毫米/分钟的速度移动它们。如果是这样,那么这里对我来说就没有意义了。我假设如果您的 G0“非工作”程序运行得更快,那将是问题所在。尝试使用与“非工作”G0 程序相同的联盟运行 G1“工作”程序。这应该会给你完全相同的结果,因为 G0 和 G1 在内部基本相同,前者只是以默认的搜索速率移动。

其次,您使用的是什么版本的 Grbl?v0.8c 大师版?或者是其他东西。您是否尝试过 v0.9a 开发版?它能够独立设置每个轴的最大允许速度以及加速度限制。这可能是您的 Z 轴具有比其他两个更低的加速度限制并导致它在某些情况下跳过步骤的人为因素。

我应该提到的另一件事是您的 x 和 y steps/mm 设置非常高。除非你有充分的理由不这样做,否则我会将它们设置为 1/8 甚至低至 1/2 微步。您的 CNC,甚至是专业的 CNC,实际上无法解决低于 0.01 毫米的任何问题。大约 100-200 步/毫米的速度将释放系统资源,因为它不必在执行其他所有操作时保持如此高的脉冲率。而且您的系统不会失去任何准确性。

最后,RPi 无济于事,因为代码与它们不兼容,而且 Arduino Mega 在 CPU 方面并不比 Uno 快。相同的时钟速度。总的来说,你应该能够成功地设置你的机器来使用 Grbl,正如许多人已经做的那样。我认为我们只需要调整一些东西来找出问题所在。如果这是我们这边的问题,我一定会尽我所能帮助尽快解决这个问题。

grbl 非常奇怪的问题...除了 G1 之外的任何东西都失去了原位... #275
作者

有趣…好吧,关于唯一明显的区别是“默认”速度与脚本订购的 Fxxx 速度,您一语中的。当我将所有速度设置为完全相同($4、$5 和 F 命令)时,问题就不会发生。Z 高度保持不变。如果我以 90 毫米/分钟或 200 毫米/分钟的速度运行,情况相同。但是,如果 $4 和 $5 与脚本中的 F 速度不同,高度就会漂移。

我实际上正在运行 grbl_v0_9a_edge_328p_16mhz_9600_build20121210.hex

我想我必须尝试运行 0.8 并查看它的行为是否相同。我必须稍后再做,考虑到这些设置,我现在很兴奋并正在削减东西;)。感谢您的帮助,先生!

grbl 非常奇怪的问题...除了 G1 之外的任何东西都失去了原位... #275

你好,
我相信我也用 Arduino UNO 解决了这个问题。我的

M3
G21 (All units in mm)
G00 Z5.0
G01 X50.0 Y5.0
G00 X-50.0 Y-5.0
G00 Z-5.0

使用前 2 个 G00 和 G01 使机器按预期工作。他们将 X、Y 和 Z 移动到正确的位置。然后 G00 变为双倍长度。主要是这样的问题

G00 Z-5.000000
G00 X47.533473 Y31.992587
(Subpath start)
G01 Z5.000000
G01 X47.533473 Y29.471063 Z5.000000
G02 X49.247049 Y28.871013 Z5.000000 I-0.657422 J-4.624186
G02 X50.120633 Y28.034125 Z5.000000 I-1.338245 J-2.271313
G01 X50.120633 Y30.125136 Z5.000000
G03 X49.271681 Y31.280771 Z5.000000 I-1.889710 J-0.498572
G03 X47.533473 Y31.992587 Z5.000000 I-2.906955 J-4.620389
(Subpath end)

当 Z 不达到 5 毫米时,它会达到 10 毫米,所以它变得太深了。我是不是做了一些非常愚蠢的事情,或者我错过了什么,或者只是我必须忍受的功能?

我的步进水平也很高,因为我必须使用 1/3 的齿轮。我的配置是:

$0=3400.000
$1=3400.000
$2=1704.545
$3=25
$4=50.000
$5=50.000
$6=28
$7=25
$8=0.050
$9=0.010
$10=0.100
$11=25
$12=3
$13=0
$14=1
$15=0
$16=0
$17=0
$18=0
$19=300.000
$20=400.000
$21=25
$22=1.000

这与版本 9a 配合得很好。我没有安静地了解如何调整 $0、$1 和 $2 并保持相同的长度。默认设置似乎做同样的事情。

grbl 非常奇怪的问题...除了 G1 之外的任何东西都失去了原位... #275
成员

@illuusio:使用您发布的 g 代码,您应该看到 Z 轴首先移动 Z=+5.0mm,然后 Z=-5.0mm,这将使它向下移动 10mm。默认情况下,G 代码以绝对坐标移动,而不是相对坐标,除非由 G91 指定。这很可能是您所看到的错误。如果没有,请告诉我。

对于您的设置,每毫米设置的步数。它取决于丝杠每转的毫米数和步进电机每转的步数。请参阅 wiki,了解如何计算它。您可能需要重置 Arduino 才能进行设置。

grbl 非常奇怪的问题...除了 G1 之外的任何东西都失去了原位... #275

Aaa.. 抱歉成为 n00b!但现在我明白了..我不是同一个人..

喜欢 (0)