Contact me: hankecnc@gmail.com

卡顿、重置、随机问题较多 #483

推推 grbl 3年前 (2023-01-22) 417次浏览

关闭
画眉 打开了这个问题 2014 年 9 月 6 日 · 23条评论
关闭

卡顿、重置、随机问题较多#483

画眉 打开了这个问题 2014 年 9 月 6 日 · 23条评论

注释

卡顿、重置、随机问题较多 #483

你好,

自从我升级我的 cnc(机械上,滚珠丝杠而不是皮带)以来,我对以下问题列表完全没有想法。它在升级之前运行良好,现在我无法通过单个 gcode 文件,除非我删除所有 Z 运动。主要反复出现的问题是,当使用 grbl 控制器(也是任何版本,我已经尝试过所有版本)将文件流式传输到 grbl(任何版本)时,它将通过大约 10 到 20 行然后停止。通常这发生在 Z 轴移动时,但不是所有 gcode 文件。它将完全冻结,或者重置并尝试在文件中的新点继续。

故障排除我已经尝试过:
– 不同版本的 grbl(所有 0.8、0.7 和一些 0.9)
– 不同版本的 grbl 控制器
– 通过简单的 python 脚本流式传输代码,混合结果,如果它只是 arduino,通常可以工作,无屏蔽- 不同
的 CAM 后处理器,Solidworks 与 HSMXpress 做 CAM
– 隔离 EMI,不同的 USB 线,屏蔽 USB 线等。我也把我的设置带回家,因为我工作的建筑物确实有很多噪音,结果相同
-不同的控制板,我使用的是自定义 grbl 屏蔽,我现在已经重建了两次。
– 软复位上拉电阻 (10K) -更好的
步进电源,无噪音- 不同的
Arduinos – 不同的
计算机

我想还有更多,但在这一点上一切都是愤怒的模糊;)最令人气愤的是,在我进行这些升级之前,我让它工作得很好,现在它超级脾气暴躁。非常感谢任何和所有输入。

卡顿、重置、随机问题较多 #483
成员

@thrushd: 得知您遇到问题,我们深感抱歉。从你所说的你已经尝试过的内容中,有几件事让我印象深刻。

  • 当 Z 轴移动时,您似乎遇到了问题。通常,这是 CNC 铣床上最大的电流和功率消耗,因为它必须克服重力移动主轴和 Z 轴托架。
  • 当您没有任何连接到 Arduino 时,您似乎没有问题。
  • 您最近用滚珠丝杠更换了皮带传动装置。滚珠丝杠很棒,但它们几乎太棒了。它们的保持摩擦力往往很小,因此您的电机必须不断使用动力才能将它们固定到位。另外,与皮带传动相比,它们往往具有更大的移动质量。

这一切让我认为这是一个电源和电气问题。您可能会在 Z 轴上消耗比以前更多的能量,即使在静止时也是如此,但在移动时甚至更多。我会先尝试一些事情来检查 Z 轴电机驱动器是否存在重力问题。尝试将其拆下并平放,同时尝试运行程序。如果运行正常,这可能是驱动程序/电源问题,例如,如果您没有产生足够的电源,或者额外的电源或不良接地泄漏到 Arduino 逻辑线路中,导致其崩溃。

另一件事是确保您的接地足够。Arduino 逻辑线可能对设备之间的接地波动敏感。我不是电气工程师,但我听说星形接地通常会有所帮助。

卡顿、重置、随机问题较多 #483
作者

感谢您的快速回复,我在故障排除列表中忘记提及的一件事是我在运行程序时断开了 Z 轴,但同样的问题仍然存在。我还将 z 连接到具有相同结果的固定步进器。同样在我对控制盾的一次重建中(由我读到的所有关于接地问题的问题提示),我确保清楚地路由所有内容并将干扰降到最低。我没有尝试过明星接地,但现在我要尝试的事情清单上。

现在我正在尝试一个超级简单的 gcode 文件,它只是将 z 向下移动并绘制一个框,然后再向上移动。Z 问题正在发生,但仅限于特定的进给率或深度。我觉得这很奇怪,因为我可以在任何距离以 300 毫米/分钟的速度慢跑 Z,但是当我告诉它以 100 毫米/分钟的速度移动超过 4 毫米时,它会在移动到一半时冻结并重置。目前,如果进给速度为 50 毫米/分钟,则效果很好。我正在继续调整,希望能找到它崩溃的地方。我想我会尽快尝试星形接地以消除这种情况。再次感谢。

卡顿、重置、随机问题较多 #483
成员

@thrushd: 行。如果您还没有,我会尝试对您的电气连接进行消除。我注意到的一件事是您有一个按钮连接到您的软复位引脚。如果可能的话,我会首先在板上删除它,连同任何其他输入引脚:限制、进给保持、恢复。当您从皮带传动切换到滚珠丝杠时,情况显然发生了变化。您是否对系统进行了其他更改?

卡顿、重置、随机问题较多 #483
作者

不,我没有任何连接到这些引脚的任何东西,只是复位时的 10K 上拉。测试时我唯一连接到板上的是步进器和电源。

卡顿、重置、随机问题较多 #483

为确保这不是接地问题,请尝试使用电池供电的笔记本电脑或为步进驱动器使用基于变压器的电源,这将平衡 PC、arduino 和驱动器之间的电位水平。

卡顿、重置、随机问题较多 #483
成员

@thrushd: 为什么复位时有10K的上拉?

你能列出从机器最后一次工作到第一次出现问题时你对机器所做的所有更改吗?

卡顿、重置、随机问题较多 #483
作者

我在某处读到,在复位时添加一个上拉电阻将确保它不会意外变低并在操作期间触发软复位。

发生变化的事情:

-用于 x 和 y 的滚珠丝杠 -新的
Y 托架和新的 Z 安装-新的
控制板-新的
步进电源 –
不同版本的 grbl 在不同的 arduino 上,我正在运行 0.8 版本之一

我所做的机械更改都没有显着影响步进器上的负载,事实上,现在用手移动 x 和 y 比用皮带移动更容易。z 的负载与以前相同。即将测试星形接地,我将对控制板上的其他所有内容进行三次检查。

卡顿、重置、随机问题较多 #483
成员

@thrushd:好的,工作设置发生了变化,而不仅仅是滚珠丝杠。我怀疑它是新控制板或电源上的东西。我还会在它运行时检查电源电压和安培输出,以确保它为您的系统提供足够的电力或查看是否有任何奇怪的波动。另外,如果您使用旧的控制板和电源,会发生什么情况?它有效吗?

卡顿、重置、随机问题较多 #483
作者

好的,只是运行相同的小测试程序来监控电流,最大消耗为 1.32 A。我认为我的驱动器没有过热,但我可以很容易地添加一个更大的散热器。不幸的是,旧的控制板和旧的电源都无法使用。我正在使用的新电源是 24V 5A DIN 电源,它坚如磐石,我认为这不是问题所在。电流也没有奇怪的波动。下面是我正在测试的代码:

N10 G90
N15 G17
N20 X0 Y0
N25 Z-10 F50(这是我正在改变的 Z 值和进给率)
N30 X50 Y0 F500
N35 X50 Y50 F500
N40 X0 Y50 F500
N45 X0 Y0 F500
N50 Z0 F50(连同这个进给率)

它似乎只是在某些时候有问题,我只是运行它并且表现良好。但后来我将 Z 值更改为 5 并重置。然后我把它改回 10,它仍然冻结并重置。很奇怪。

卡顿、重置、随机问题较多 #483
成员

@thrushd: 确实奇怪。我仍然认为这是电气的,但你能提供你的 Grbl$$设置的打印输出吗?

(没有 G1 语句?根据您的 g 代码,F 应该没有任何影响,因为它默认为 G0)。

卡顿、重置、随机问题较多 #483

@thrushd
我多次运行这个测试文件,它工作得很好,但所有轴都以搜索速率 (G0) 移动,因为如果你至少有一次没有指定 G1,“F500”将不会生效。

卡顿、重置、随机问题较多 #483
作者

@chamnit:这里是 $$ 设置:

Grbl 0.8c [‘$’求助]
$0=1280.000 (x, step/mm)
$1=1280.000 (y, step/mm)
$2=5040.000 (z, step/mm)
$3=3 (step pulse, usec)
$4 =800.000(默认进给,mm/min)
$5=500.000(默认寻道,mm/min)
$6=28(步进端口反转掩码,int:00011100)
$7=25(步进空闲延迟,毫秒)
$8=10.000(加速度, mm/sec^2)
$9=0.050 (结偏差, mm)
$10=0.100 (arc, mm/segment)
$11=25 (n-arc correction, int)
$12=3 (n-decimals, int)
$13=0 (报告英寸,布尔值)
$14=1(自动启动,布尔值)
$15=0(反转步进启用,布尔值)
$16=0(硬限制,布尔值)
$17=0(归位周期,布尔值)
$18=162(归位方向反转掩码,int:10100010)
$19=25.000(归位进给,mm/min)
$20=250.000(归位搜索,mm/min)
$21=100(归位去抖动,毫秒)
$22=1.000(归位拉动-关闭,mm)
好的

@sacidu93: 好点,我添加了一个 G1,它返回了一个错误…

卡顿、重置、随机问题较多 #483
作者

它似乎没有以查找速率移动(从 500 更改为 800)。同样,当它确实起作用时,即使没有 G1,Z 也明显以指定的进给速率移动。

卡顿、重置、随机问题较多 #483

Z轴这个分辨率很可疑!如果你以 500mm/min 的寻道速度运行,grbl 将无法生成 42KHZ 步进频率(大约 30khz 是极限),
尝试将 Z 轴分辨率降低到大约 320step/mm 例如:“$2=320 “

卡顿、重置、随机问题较多 #483
作者

@sacidu93:我相信你是对的,它在 320 step/mm 下运行良好。那么您能解释一下为什么以高达 400 毫米/分钟的进给率在 z 轴上进行微动运行良好吗?我也遇到了很多不一致之处。它会工作一次,我将更改 z 位置或进给率,然后它不起作用,所以我重置所有内容并尝试刚刚工作的旧值,但它们仍然不起作用。也许 1/32 微步对于 Z 来说太多了?谢谢顺便说一句。

卡顿、重置、随机问题较多 #483

当以 400mm/min 的速度慢跑时,GRBL 会产生 5040*400/60= 33.6khz,这对 GRBL 有好处。
如果你使用 5mm 间距的滚珠丝杠,你不需要非常高的分辨率,我建议你使用 1/8 微步:
$0=320
$1=320
$2=320

使用中国板时需要 $3=10 !

$4=1500
$5=1500

这将允许 0.003 毫米的分辨率!

卡顿、重置、随机问题较多 #483
成员

@thrushd:一般来说,您希望将微步设置得尽可能低(朝向整步)。当您将微步从 1/32 减少到 1/16 时,这会为您的步进电机提供更多的每步保持扭矩,因为它不必经常推动电流通过绕组。换句话说,您的步进器性能会提高。作为@sacidu93据说,320 在 1/8 或您的机器需要的任何物理分辨率下都可以。大多数机器实际上无法加工低于 0.003 毫米的任何东西。

30kHz 是推荐的上限。旧版本的 Grbl,v0.8 和之前的版本,在这个限制上有问题,可能更像是 15kHz。对于高脉冲频率,请改用 v0.9g。

卡顿、重置、随机问题较多 #483
作者

@sacidu93:Z 为 1/4-20 螺纹杆,x 和 y 为 5mm 螺距。我正在使用 DRV8825 步进驱动器,数据表上写着 2us 宽度,但 grbl 不会让我低于 3。我将 Z 更改为 1/16 微步进,它似乎运行良好,稍后我将用其他文件对其进行测试。我认为这可能是主要问题,所以下降到 1/8 似乎很合乎逻辑,我会调整并看看会发生什么。谢谢!

卡顿、重置、随机问题较多 #483

作为@chamnit说,用GRBL V0.9G 很稳定,功能也比较好!

卡顿、重置、随机问题较多 #483
作者

@sacidu93: 这似乎已经做到了(祈祷!)。我使用的是 0.9,但不幸的是 grbl 控制器还不支持它,所以有一些奇怪的问题,比如慢跑不起作用。我回到 0.8 只是因为我知道它在我的旧设置中有效。关于如何使用 0.9 在 grbl 控制器上进行慢跑有什么建议吗?(除了手动命令?)再次感谢!

卡顿、重置、随机问题较多 #483
成员

@thrushd: 很高兴听到它的工作。:)

我会要求 grbl 控制器维护者更新他们的软件以支持 v0.9,因为它现在是 master 并且在几周前发布了一般版本。我认为 UGS 也是如此。他们还没有正式发布与 v0.9 完全兼容的版本,但您可以找到来自用户等的预发布版本。

卡顿、重置、随机问题较多 #483
作者

非常感谢,刚刚尝试了我的一个更大的文件,一切似乎都很好。我花了整整一周的时间来解决这个问题,你们是最棒的!

卡顿、重置、随机问题较多 #483

我的 DIY CNC 立铣刀使用 GRBL v1.1 Arduino AtMega2560。立铣刀是重型 Grizzly G1006,带有现成的步进电机、驱动器和定制的 Arduino CNC 屏蔽。我在切割一小时的 3D 浮雕时遇到了问题。GRBL 似乎会随机冻结,并且不再接受来自我笔记本电脑上运行的通用 G 代码发送程序的任何命令。为了调试问题,我添加了 3 个 LED 并破解了 GRBL 固件以切换它们。红色 LED 在步进电机中断例程 (ISR) 中每 1000 步切换一次。黄色 LED 在每次线运动切割(mc_line 子程序)时切换。只要 GRBL 检查串口上的一个字节(protocol_main_loop 子例程),绿色 LED 就会切换。运行另一个一小时的工作,运动再次像往常一样冻结。绿色 LED 仍在切换并检查串行端口,这向我表明 GRBL 固件未冻结,但通信硬件已锁定。拔下笔记本电脑端的USB线,再插上,3个LED都进入了开机过程,这告诉我Arduino微处理器重启了,然后所有的定位信息都丢失了。这向我证明这是USB电缆上的电磁干扰问题。我使用一个带内脏的台式电脑机箱来装 Arduino、电源和步进电机驱动器。线路干净。USB 电缆附近没有电机电缆或电源电缆。为了继续测试,我将屏蔽的 2 英尺 USB 电缆更换为两端带有铁氧体磁珠的 2 英尺 USB 电缆。铁氧体磁珠是电感扼流圈,可滤除电机和电子斩波电路产生的高频射频。这成功了。我已经运行了几个一小时的 CNC 作业,没有任何运动冻结。EMI引起的随机问题很难解决,但我认为这个解决了我。互联网上有许多帖子描述了这个 GRBL 冻结问题。尽管 GRBL 正在为此承担责任,但这不是问题所在。Arduino 可以通过在 USB 差分信号上添加一些过滤来获益,但这会增加成本。所以过滤必须在前端布线上完成。希望这可以帮助任何遇到这个问题的人。EMI引起的随机问题很难解决,但我认为这个解决了我。互联网上有许多帖子描述了这个 GRBL 冻结问题。尽管 GRBL 正在为此承担责任,但这不是问题所在。Arduino 可以通过在 USB 差分信号上添加一些过滤来获益,但这会增加成本。所以过滤必须在前端布线上完成。希望这可以帮助任何遇到这个问题的人。EMI引起的随机问题很难解决,但我认为这个解决了我。互联网上有许多帖子描述了这个 GRBL 冻结问题。尽管 GRBL 正在为此承担责任,但这不是问题所在。Arduino 可以通过在 USB 差分信号上添加一些过滤来获益,但这会增加成本。所以过滤必须在前端布线上完成。希望这可以帮助任何遇到这个问题的人。所以过滤必须在前端布线上完成。希望这可以帮助任何遇到这个问题的人。所以过滤必须在前端布线上完成。希望这可以帮助任何遇到这个问题的人。

喜欢 (0)