开源改变世界

旋转轴长时间移动后崩溃 #367

推推 grbl 2年前 (2023-01-30) 172次浏览
关闭
dawidma81 打开了这个问题 2020 年 3 月 28 日 · 7条评论
关闭

旋转轴长时间移动后崩溃#367

dawidma81 打开了这个问题 2020 年 3 月 28 日 · 7条评论

注释

旋转轴长时间移动后崩溃 #367

您好,
我不确定这是一个真正的错误还是 GRBL 的一些意外使用。

我有一台铣床(线性 X 和 Z 轴,旋转 A 轴,无 Y 轴)。A轴没有硬性限制,它可以旋转可以旋转超过360度。

该机器配置为 4 轴机器(X、Y、Z、A),只有 Y 未连接。禁用硬限制和软限制以获得 A 的无限轴行程。

为了使木原木变圆,我使用了一个简单的 GCODE 脚本,该脚本在给 X 轴进给的同时连续旋转 A 轴。在日志的开头和结尾,Z 轴在保持 A 运行的同时降低:

F1200
G0 X0 Z0 A0
G1 A200 Z-7 (lower z axis while rotating material)
G1 X330 A14760 (long spiral move forward; 41 full rotations)
G1 Z-14 A15120 (lowering z again with complete rotation)
G1 X0 A0 (long spiral move backwards --> here it fails)
G0 Z0

该脚本运行良好,直到它到达倒数第二行。那里机器崩溃:

  • X 轴向 0 移动,但速度太快。
  • A轴似乎向后移动
  • Z 轴试图以某种方式移动,但速度比物理上可以跟随的速度快

这个问题似乎是可重复的。

这是由于 A 长行程造成的溢出吗?如果是,什么最大行程被认为是安全的?
有没有更好的方法来实现旋转轴?

仅运行正向螺旋(X 和 A 递增)即使在运行之间将 A 工作坐标重置为 0 多次运行也不会导致任何问题,即使这会导致 A 轴机器坐标的进一步增加。

使用版本:d159dc2 (24.03.2020)

谢谢你的支持!

旋转轴长时间移动后崩溃 #367 dawidma81 添加了 漏洞 有些东西不工作标签 2020 年 3 月 28 日
旋转轴长时间移动后崩溃 #367
所有者

该位置以带符号的 32 位数字的形式逐步存储。它不太可能溢出。

你能发布你的机器文件和默认设置吗?

旋转轴长时间移动后崩溃 #367

谢谢你快速的回复。
以下是设置:

$$
$0=3
$1=208
$2=0
$3=4
$4=0
$5=0
$6=0
$10=1
$11=0.010
$12=0.002
$13=0
$20=0
$21=0
$22=1
$23=3
$24=200.000
$25=500.000
$26=250
$27=5.000
$30=1000.000
$31=0.000
$32=0
$100=480.000
$101=100.000
$102=480.000
$103=142.222
$110=3000.000
$111=1000.000
$112=1000.000
$113=4000.000
$120=80.000
$121=200.000
$122=80.000
$123=200.000
$130=300.000
$131=300.000
$132=300.000
$133=300.000

车床.h.txt

旋转轴长时间移动后崩溃 #367

我从机器上断开电子设备并再次运行相同的 GCODE,同时观察 Web 界面的输出,值似乎都很好。我也没有在 ESP32 的串行端口上看到任何奇怪的消息。
GRBL输出:

...
<Run|MPos:337.648,0.000,-132.400,28424.357|FS:1200,0|Pn:XZ>
<Run|MPos:339.008,0.000,-132.400,28484.312|FS:1200,0|Pn:XZ>
<Run|MPos:340.367,0.000,-132.400,28544.318|FS:1200,0|Pn:XZ>
<Run|MPos:341.725,0.000,-132.400,28604.238|FS:1200,0|Pn:XZ>
<Run|MPos:343.085,0.000,-132.400,28664.236|FS:1200,0|Pn:XZ>
<Run|MPos:344.446,0.000,-132.400,28724.234|FS:1200,0|Pn:XZ>
<Run|MPos:345.806,0.000,-132.400,28784.252|FS:1200,0|Pn:XZ>
<Run|MPos:347.165,0.000,-132.400,28844.193|FS:1200,0|Pn:XZ|Ov:100,100,100>
<Run|MPos:348.525,0.000,-132.400,28904.256|FS:1200,0|Pn:XZ>
<Run|MPos:349.883,0.000,-132.400,28964.133|FS:1200,0|Pn:XZ>                  ==> end of forward spiral
<Run|MPos:351.154,0.000,-132.483,29024.539|FS:1200,0|Pn:XZ>                  ==> downward feed
<Run|MPos:351.154,0.000,-133.650,29084.494|FS:1200,0|Pn:XZ|WCO:21.154,0.000,-125.400,14260.241>
<Run|MPos:351.154,0.000,-134.817,29144.576|FS:1200,0|Pn:XZ>
<Run|MPos:351.154,0.000,-135.983,29204.477|FS:1200,0|Pn:XZ>
<Run|MPos:351.154,0.000,-137.150,29264.475|FS:1200,0|Pn:XZ>
<Run|MPos:351.154,0.000,-138.315,29324.436|FS:1200,0|Pn:XZ>
<Run|MPos:351.104,0.000,-139.400,29377.943|FS:1200,0|Pn:XZ>                   ==> backward spiral
<Run|MPos:349.796,0.000,-139.400,29318.023|FS:1200,0|Pn:XZ>
<Run|MPos:348.485,0.000,-139.400,29257.984|FS:1200,0|Pn:XZ>
<Run|MPos:347.175,0.000,-139.400,29197.943|FS:1200,0|Pn:XZ>
<Run|MPos:345.856,0.000,-139.400,29137.461|FS:1200,0|Pn:XZ>
<Run|MPos:344.544,0.000,-139.400,29077.316|FS:1200,0|Pn:XZ>
<Run|MPos:343.233,0.000,-139.400,29017.318|FS:1200,0|Pn:XZ>
<Run|MPos:341.923,0.000,-139.400,28957.293|FS:1200,0|Pn:XZ>
<Run|MPos:340.612,0.000,-139.400,28897.266|FS:1200,0|Pn:XZ>
<Run|MPos:339.300,0.000,-139.400,28837.072|FS:1200,0|Pn:XZ>
<Run|MPos:337.992,0.000,-139.400,28777.131|FS:1200,0|Pn:XZ>

重新连接电子设备后,我试运行了机器。在那里它在同一点再次坠毁(向后螺旋的开始)。
我制作了一段简短的视频,展示了螺旋上升的结束、下行和崩溃:
https ://drive.google.com/file/d/1OrfLY5QPACYSnLTPtPbGddDO2J6nypRV/view?usp=sharing

你有什么想法?

旋转轴长时间移动后崩溃 #367
所有者

“崩溃”是指 ESP32 重置吗?你能捕获串口上的错误报告吗?

旋转轴长时间移动后崩溃 #367

ESP32 不会重置,同时查看网络控制台的输出,一切似乎都很好,但轴启动不正确。
您在视频中从 9 秒开始听到的声音主要来自正在抖动的 Z 轴(启动速度快于电机可以跟随的速度),即使根本没有 Z 运动命令。此外,X 轴向后移动的速度比应有的要快。

旋转轴长时间移动后崩溃 #367

该问题也可以通过 A 轴和 X 轴的小幅同时移动来重现:

ESP Reset
Home
F1000
G1 X10 A10   --> ok
G1 X0        --> ok
G1 A0        --> ok

ESP Reset
Home
F1000
G1 X10 A10   --> ok
G1 X0 A0     --> Z axis tries to move uncontrolled/rattles

所以移动的长度似乎并不重要。
相互独立地点动所有轴确实可以毫无问题地工作。

问题可能是由我的固定选择引起的吗?

旋转轴长时间移动后崩溃 #367

嗨,巴特,
我用示波器做了一些测量,发现问题不是由 GRBL 或 ESP32 引起的。
由于我使用 HY-DIV268N-5A 步进电机驱动器,因此我需要 5V 电平用于 EN、STEP 和 DIR。为了将 ESP 的 3.3V 电平转换为 5V 逻辑,我使用了 TXB0108(或中国克隆)电平转换器。
根据 X 和 A 的运动,Z 轴的驱动器似乎接收其他通道的脉冲。这导致了奇怪的行为。
我用 8 通道达林顿阵列 (ULN2803A) 替换了电平转换器,现在它就像一个魅力。
很抱歉用这个问题打扰你。继续你的工作。你在这个项目上做得很棒!