Contact me: hankecnc@gmail.com

X 步进仅在一个方向 #656

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

关闭
schwittlick 打开了这个问题 2019 年 5 月 5 日 · 10 条评论
关闭

X 步进仅在一个方向#656

schwittlick 打开了这个问题 2019 年 5 月 5 日 · 10 条评论

注释

X 步进仅在一个方向 #656

大家好,我的 X 步进器只朝一个方向移动,我遇到了一个麻烦。

我正在使用 GRBL-Plotter 前端来控制它。当我使用 Jog 功能时,我可以在两个方向上移动步进器。只有在执行 gcode 时,它​​才会向正方向移动。

我的 grbl 配置:

Grbl 1.1g ['$' for help]
[MSG:'$H'|'$X' to unlock]
$0=10
$1=255
$2=0
$3=4
$4=0
$5=0
$6=0
$10=0
$11=0.010
$12=0.002
$13=0
$20=0
$21=0
$22=1
$23=0
$24=25.000
$25=500.000
$26=250
$27=1.000
$30=1000
$31=0
$32=0
$100=500.000
$101=500.000
$102=250.000
$110=500.000
$111=500.000
$112=500.000
$120=10.000
$121=10.000
$122=500.000
$130=200.000
$131=200.000
$132=200.000

这是一些有问题的简单矩形 gcode:

G54 (Setup - GCode-Header)
M3 S20000 (Start spindle - Option Z-Axis)
G00 Z2.000 ( -1 ) 
G00 X-30.000 Y-30.000 ( -1 ) 
G01 Z-1.000 F400 ( 1 ) 
G01 X-30.000 Y-10.000 F500 ( 1 ) 
G01 X-10.000 Y-10.000 ( 1 ) 
G01 X-10.000 Y-30.000 ( 1 ) 
G01 X-30.000 Y-30.000 ( 1 ) 
G00 Z2.000 ( -1 ) 
G00 Z2.000 ( -1 ) 
M05 (Finish - Spindle off)
M30 (Setup - GCode-Footer)
M30 (Program end)

在 G01 X-30.000 Y-30.000 ( 1 ) 线上,它应该回到原始位置,但在机器上正向移动。gui 反馈正确的动作。

当它在慢跑模式下以同样的方式失败时,我不会感到惊讶,尽管我可以在慢跑时向各个方向移动所有步进器。

有人有线索吗?

谢谢!

X 步进仅在一个方向 #656

假设您处于绝对模式 (G90),点动通常以增量方式发生 (G91),一些控制器在点动后不会切换回 G90。尝试在程序前加上 G90

X 步进仅在一个方向 #656
作者
施维特利克 评论了 2019 年 5 月 5 日  

感谢您的提示,但事实并非如此。由于 Y 轴在上面的 gcode 下工作正常,在两个方向上移动。即使没有前缀 G90。

X 步进仅在一个方向 #656

您使用的是什么驱动程序?许多驱动器要求在改变方向引脚状态和启动步进脉冲之间有一个延迟。这可以在 config.h 中设置。寻找步进脉冲延迟。

此外,尽管看起来很奇怪,请尝试反转 X ($2=1) 的步骤端口掩码。它似乎没有任何区别,但我有挑剔的司机需要它。

X 步进仅在一个方向 #656

我正在使用 ST-M5045 步进驱动器。

我尝试了 STEP_PULSE_DELAY (10, 50, 100) 的不同设置,但没有任何改变。这就是你在说什么,对吗?

更改为 $2=1 没有任何效果,尽管我对这些神奇的原因非常开放。

又查了下,实在是看不懂。我试过另一个 arduino uno,同样的情况。慢跑适用于各个方向。Gcode绝对定位不..

X 步进仅在一个方向 #656

同样的问题。
我正在使用 2 A4988 驱动程序、CNC shield v3、Arduino uno r3 smd
Y 步进器工作正常
但 X 步进器仅朝一个方向移动

发生在 v0.9 和 v1.1
我不知道。尝试了另一个 cnc shield 和另一个 a4988
但仍然发生

X 步进仅在一个方向 #656

我买了新的arduino。并且效果很好
浪费 1 周时间尝试修复错误
只需更换 Arduino即可

X 步进仅在一个方向 #656

@KhanhTrinh2094,但事实并非如此。

我终于发现了,它是什么,它是gcode。

删除 gcode 标头和 M 命令后,它工作正常:

G00 Z2.000 ( -1 ) 
G00 X-30.000 Y-30.000 ( -1 ) 
G01 Z-1.000 F400 ( 1 ) 
G01 X-30.000 Y-10.000 F500 ( 1 ) 
G01 X-10.000 Y-10.000 ( 1 ) 
G01 X-10.000 Y-30.000 ( 1 ) 
G01 X-30.000 Y-30.000 ( 1 ) 
G00 Z2.000 ( -1 ) 
X 步进仅在一个方向 #656

在你的 G 代码标题上……我通常会放入一个涵盖所有模态状态的标题,以确保它们按照我的程序的需要进行设置。例如,我通常的标题是:

G17 G20 G40 G49 G54 G80 G90 G94

这确保一切都在程序一开始就设置好了。请注意该行中有一个 G90,以便设置绝对编程。即使它没有解决问题,这也是一种很好的做法。

我有点不清楚。在您的开篇帖子中,您说:

在 G01 X-30.000 Y-30.000 ( 1 ) 线上,它应该回到原始位置,但在机器上正向移动。gui 反馈正确的动作。

你的意思是当机器移动时,GUI 反馈总是与机器的移动相匹配,或者你的意思是当机器移动错误的方向时,gui 反馈显示它应该去的地方?

X 步进仅在一个方向 #656

@109JB,

感谢有关标题的良好做法的提示,我完全同意并检查这些。

是的,我的意思是 GUI 反馈与机器的运动不匹配。GUI 中的运动符合预期,机器的运动是错误的。

X 步进仅在一个方向 #656

我在使用 Arduino mega 和螺丝端子分线模块时遇到了类似的问题。X 轴将在两个方向上,而 Y 和 Z 仅在 + 方向上工作。问题在于连接到步进控制器的地线。他们在 arduino 上的接地并未全部连接,一旦我添加了额外的接地线,问题就解决了。

喜欢 (0)