开源改变世界

Z轴故障 #119

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

Z轴故障#119

gorbie35 打开了这个问题 on 19 Sep 2012 · 23 条评论

注释

Z轴故障 #119

我正在转换一台机器并启动并运行,x 和 y 轴完美移动,但 z 轴有时没有响应。如果我给它一个命令它会很好地响应但是在代码中它似乎会跳过一个命令?z 命令仍然有暂停,但没有任何反应,然后程序按计划进行。谁能给我一些关于寻找什么的建议?

我正在运行带有 2.8Nm 步进电机的 50v 7.2 amp 电源。我的步进控制器具有衰减设置和微步设置以及参考电压。

Z轴故障 #119
成员

尚尼特 评论 on 19 Sep 2012

尽量确保您的 g 代码块不会太长。意思是,摆脱机器精度和重复语句之外的额外字符。如果这没有改变任何东西,请发送您的代码示例以及您在做什么,以便我们更好地了解问题所在。

Z轴故障 #119
作者

gorbie35 评论 on 19 Sep 2012

谢谢,我刚刚阅读了关于我正在使用的 G 代码发送器的问题,这似乎是说其他人有这个问题。你能推荐一个稳定的g代码发送器来感受Grbl吗?我正在使用 Grbl 0.7d

Z轴故障 #119

调试建议:

  1. Grbl 使用与串行接口的行业标准(即 RTS/CTS 和/或 XON/XOFF)不同的流控制方法,这意味着必须采取适当的预防措施以避免其接收缓冲区溢出并导致字符丢失。与源捆绑的script/stream.py脚本与所述流控制方案完全兼容,并且可以确保正确流式传输 G-Code 程序而不会出现任何错误。
  2. 由于只有一个轴引起问题,我会专注于它并仔细检查所有连接和驱动程序级设置(我是否使用相同的微步设置?相同的电流设置?其他驱动程序是否以任何方式干扰这个?是 Z轴机械性能与其他轴相似?如果没有,我是否相应地修改了 Grbl 的参数?)
Z轴故障 #119

谢谢 dexter,但我以前没有使用过 python。我下载了它并尝试运行,但无法做到这一点。你能指点我一个教程吗?

Z轴故障 #119

不幸的是,我无法读懂您的想法,所以除非您告诉我您遇到了哪个错误(以及您正在尝试使用哪个操作系统和 Python 版本),否则我无法帮助您。

Z轴故障 #119

@gorbie35: 如果你想排除 GCodeSender 是问题的根源,你可以试试 stream.py 脚本。您将需要安装 Python 和 pySerial,您可以通过 Google 找到它们。您还可以使用许多其他流式 GUI,但我无法为您指出其中一个,因为我已经有一段时间没有使用它们了。

我认为您的问题听起来像我们以前在这里看到的问题。它与 Grbl 如何解析 g 代码行有关。如果行(又名块)太长,超过大约 56 个没有空格的字符,Grbl 将截断该行的其余字符。’Z’ 语句通常在最后,并且是那些丢失的语句。Simen 和我已经讨论过为此创建一个修复程序,但它需要一些时间来完成,因为它需要我们完全重构解析程序。

因此,就像我之前所说的,尝试从您的命令中删除任何超出机器精度的额外数字,例如 X5.000000 到 X5.000,并删除重复的轴命令,这意味着值不会逐行变化。然后重新测试,看看这是否会改变任何东西。请向我们发送 g 代码示例。

另外,也请尝试使用 Grbl 0.8a。它可能还有其他修复程序也可以解决您的问题。

Z轴故障 #119

好的,抱歉,我对 python 缺乏了解,但我已经下载了 python2.7.3 和 pyserial2.6。我熟悉matlab代码,那么我现在如何在python中运行这段代码?

我也将尝试使用 gcodesender,因为我还没有使用它,然后回复你。

Z轴故障 #119

所以我有 gcodesender 工作而且它好多了,z 轴没有问题,但是程序在长代码期间随机阶段失去了与 arduino 的连接。是什么原因造成的?看起来确实不是物理连接问题。所以我不知道它是否可以是Windows 7?或者如果它可能是Grbl?Grbl 0.8a 比 0.7d 更稳定吗?0.8a 的默认引脚是什么?

Z轴故障 #119

大多数人一直在使用 0.8a 没有太大问题。引脚排列完全相同。并且没有任何其他已知问题会导致您的问题,所以我认为我们可以排除 Grbl 是源头。通常情况下,这通常是与实际 g 代码有关的用户错误(请向我们发送您发送的内容的样本)、流媒体程序或硬件问题,如电磁干扰或接地不良。

请解释您为使其“工作”所做的工作以及长代码的含义。我们越了解您的问题,就越能提供帮助。

Z轴故障 #119

我运行的 g 代码每次运行到不同的长度,这让我相信它不是 g 代码,但我将在下面包含其中的一些。整个代码长 9500 行,运行 4 个半小时。我用 PyCAM 生成了代码,然后我自己在 excel 中对其进行了一些修改,并将其保存为 csv 格式。然后我通过 gcodesender 将它发送到 Arduino uno。有时它运行 7000 行,有时它运行 1000 行。我以管理员身份运行 gcodesender,但它仍然没有运行完成。我想调查一下你所说的接地不良?和电磁干扰?什么会导致这些问题以及避免这些问题的良好做法是什么

这是一个代码示例,我认为它的 grbl 格式非常好,但请告诉我你的想法

G0 Z41.000
X-7.000 Y-7.0000
G1 Z38.200
Z38.133
X57.000
Y-1.181
X-7.000
Y4.636
X57.000
Y10.454
X-7.000
Y16.272
X17.740
G0 Z41.000
X32。 260
G1 Z38.133
X57.000
Y22.090
X35.973
G0 Z41.000
X14.034
G1 Z38.133
X-7.000
Y27.909
X14.026
G0 Z41.000
X35.965
G1 Z38.133
X57.000
Y33。 727
X32.259
G0 Z41.000
X17.739
G1 Z38.133
X-7.000
Y39.545
X57.000
Y45.363
X-7.000
Y51.181

然后我把它删掉了,并在程序中包含了更多的代码

X30.228 Z30.000
X30.227 Z30.000
X30.215 Z30.006 X29.843
Z30.254 X29.470 Z30.472
X29.098
Z30.667
X28.725 Z30.845
X28.352 Z30.992
X27。 607 Z31.238
X27.235 Z31.337
X26.862 Z31.424
X26.117 Z31.538 X25.372
Z31.600 X24.627
Z31.597 X23.882
Z31.542
X23.137 Z31.420
X22.392 Z31 .239
X22.019 Z31.129
X21.647 Z30.992
X21.274 Z30.839 X20.902 Z30.665
X20.529 Z30.470
X20.436
Z30.423
X20.413 Z30.410
X20.401 Z30.404

这就是所有代码看起来没有比这更复杂的了。

Z轴故障 #119

关于“接地不良” – 如果主轴有电噪声,它可能会导致 USB 故障。这些症状与您所经历的相似——在看似随机的点出现间歇性中断,由于显而易见的原因,更长的工作风险更大。

尝试隔离主轴交流电和计算机/电机电源之间的电路。最好的办法是找到 2 个独立的电路(不同的断路器)并分别为主轴供电。如果您要从继电器(M 命令)切换主轴,请使用像 Fotek(在亚马逊上查看)这样的隔离继电器。

我们(合成器)正在研究各种形式的电气隔离来解决这个问题——比如电容器和压敏电阻,但仍在试验中。

Z轴故障 #119

如果我可以解决“主轴噪音”问题:

  • 为电子设备使用优质电源,绝大多数“噪音”问题就会消失。额定用于信息技术设备的开关模式电源比古代基于变压器的设计要好得多。在壁疣系列中,开关型总是比变压器型更小更轻,因此在购买时相对容易发现它们
  • 噪音问题看起来很像赛车在路上的颠簸:要么使悬架更硬,要么在颠簸较少的道路上行驶,颠簸越大,问题就越大。因此,要么为您的数字电源增加更多的电力储备(提示:电容器),要么就像上面的 aldenhart 所说的那样,将主轴插入另一个插座,最好是另一个电路(如果它是主电源主轴)。如果它是低压主轴,千万不要关闭与步进器或电子设备相同的电源。

最后,我们能否提供您用于将 G 代码发送到 grbl 的实际软件的链接?谷歌的“gcodesender”给出了多个结果……

Z轴故障 #119

还有一件事要补充。有一个用户遇到奇怪的间歇性问题的案例。事实证明,他的步进驱动器的冷却风扇离电路板和电线太近,以至于磁场会产生错误的步进脉冲。并不是说这可能是你的问题,但只是检查并尝试统治奥尔登和拉杜也提到的一些事情。

另一个问题,你的 4 小时运行时间相当长,比我通常对典型用户的期望要长,而且肯定比我单次操作的时间要长。我会说我最长的时间不超过一个小时。那么,大约需要多长时间才能看到错误?是否一致?

Z轴故障 #119

我会对整个文件非常感兴趣。这对于长时间运行的操作来说是一个很好的测试。您可以通过什么方式发布或提供它?

Z轴故障 #119

大家好,首先感谢您的反馈!非常感激。我的脊柱是三相的,因此与控制装置完全不同。

但我已努力确保信号电缆与其他电子设备清晰,我计划明天进行更多测试。根据上面的描述,我相信我有一个很好的电源。我使用的实际软件的链接如下: https ://github.com/OttoHermansson/GcodeSender/downloads

然后回答 chamnit:错误似乎不一致,有时会在一个小时后发生,有时会在 3 个半小时后发生。然而,由于程序的长期性质,我只进行了 4 次测试运行,所以我需要进行更多测试以获得最终结果。

我有一个问题,我不知道它是否放错了位置,但我认为错误可能是由于 Windows 7 关闭了 USB 端口或检查了端口?这可能吗?

PS我可以完整地发布代码,但我不知道最好的方法是什么?它的9000行?

Z轴故障 #119

如果您有一个保管箱,您可以发布文件,然后获取它的公共 URL。Dropbox 是免费的(用于少量使用),而且非常易于使用。感谢您查看这个。我会通过尝试在我的设置上运行它来回报(空气切割,而不是实际切割)

Z轴故障 #119

好的,GCodeSender通过一次只发送一行来进行流控制(并等待另一端回复 CRLF,然后再发送更多)。它是粗略和简陋的,但它适用于 grbl 如何管理串行通信,至少只要一行 GCode 适合 grbl 的串行接收缓冲区(当前设置为 256,而 GCode 要求一行中最多 256 个字符)。

如果存在任何此类复选框,您可以通过转到设备管理器、找到您的 Arduino 端口、转到属性并取消选择“允许 Windows 关闭此设备以节省电源”来消除对 Windows 的怀疑。

Z轴故障 #119

好的,所以我发现问题是紧急停止和限位开关在某些时候造成了干扰。不知道如何,但是在断开连接的情况下,机器运行良好。

我正忙着重写上面的代码以节省一些时间。但我想知道人们在使用 8 美元的 Grbl 价值还是加速价值?我将其设置为 10 毫米/秒,但我不确定这如何影响电机的扭矩?越高越好还是越低越好?

Z轴故障 #119

(最大)加速度是一个机器参数:取决于电机能够提供的最大扭矩(反过来,它是驱动器可以提供的最大电流的函数)和运动部件的总组合重量(直接影响它们的惯性),您将获得在当前配置中可实现的最大加速度。通常它在您正在使用的 CNC 系统的数据表中给出。

Z轴故障 #119

csdexter 是正确的。如果您的机器没有数据表,则应将加速度设置为接近步进电机在最坏情况下开始停止运动的点。(通常是 z 轴上下)。我宁愿保守一点,所以你不会有任何惊喜。

此外,不久前,我们讨论了如何处理机械开关中的去抖或噪声。可能最简单的方法是将一个小电容器与开关并联(低通滤波器)。这将消除任何由外部干扰引起的高频电子噪声。如果您有示波器,我建议监控您的限位开关和急停开关是否存在线路中的一些噪音。

Z轴故障 #119

对于机械开关,可以插入一个去抖动电路来缓解这个问题。10 年前,最好的版本是施密特触发器或由开关控制的 555,这样开关必须在整个 555 周期内“打开”,脉冲才能输出到 MCU。
如今,随着 MCU 价格下降,在 MCU 中编写去抖动代码可能更便宜,而不是安装额外的电子设备。

对于加速部分,如果手动测试,请确保您测试全挥杆(即完全停止然后倒退,而不仅仅是完全停止)。我在车间使用的方法是在机器上安装一个百分表,这样被测轴就靠在它上面产生一些指示;然后将指标归零;然后运行代码将轴从指示器移开,直到达到最大速度,然后制动到零,然后直接返回并最终到达起始位置。我逐渐增加加速度值,直到 TIR 开始上升,这是我开始失步的明显迹象。

根据您使用的特定驱动器和电机,您可能会在 TIR 上升之前看到电机发生共振,因此此时您停止增加加速度值。

Z轴故障 #119

对于大多数爱好者来说,基于 RC(低通滤波器)的去抖动器将完成这项工作,
至少对于限位开关而言。不需要太
花哨,只是不会意外触发的东西。

csdexter 说的加速测试应该可以,但这只是
告诉你绝对极限。我会将您的加速度值设置
为此值的 75% 左右。在实践中,这将考虑刀具切削压力和
夹具和工件的增加质量。没有什么比
在你工作了一整天后毁掉一个工件更糟糕的了。

2012 年 9 月 27 日凌晨 4 点 43 分,Radu – Eosif Mihailescu <
notifications@github.com > 写道:

对于机械开关,可以插入一个去抖动电路来
缓解这个问题。10 年前,最好的版本是
施密特触发器或由开关控制的 555,这样
开关必须在整个 555 周期内“打开”,脉冲才能
输出到 MCU。
如今,随着 MCU 价格下降,在 MCU 中编写去抖动代码可能更便宜,
而不是安装额外的电子设备。

对于加速部分,如果手动测试,请确保您测试
全挥杆(即完全停止然后倒退,而不仅仅是
完全停止)。我在车间使用的方法是
在机器上安装一个百分表,这样被测轴就靠在它上面产生
一些指示;然后将指标归零;然后运行代码将轴
从指示器移开,直到达到最大速度,然后制动到
零,然后直接返回并最终到达起始位置。我
逐渐增加加速度值,直到 TIR 开始上升,
这是我开始失步的明显迹象。

根据您使用的特定驱动器和电机,您可能会看到
电机在 TIR 上升之前发生共振,因此此时您停止
增加加速度值。


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

Z轴故障 #119

我的错,我忘了指定常识性的东西:预先加载您希望在主轴套环/法兰上/上拖曳的最大重量,并在统计上显着的时间运行测试(用简单的英语来说,会意味着至少 1 小时或您希望使用机器完成的最长(时间)工作的 1/3)。
找出最大加速度后(至少通过多次测量并对它们进行平均),您应该将其降额以达到您可以在生产中使用的实际值。

从上面 chamnit 给出的非常健康的 25% 开始,然后再添加 25%,具体取决于您的电机有多热。

Z轴故障 #119
喜欢 (0)

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