开源改变世界!!

X轴回原点后运动反转 #916

推推 grbl 2年前 (2023-01-23) 152次浏览

关闭
peejster 打开了这个问题 2016 年 2 月 28 日 · 2 条评论
关闭

X轴回原点后运动反转#916

peejster 打开了这个问题 2016 年 2 月 28 日 · 2 条评论

注释

X轴回原点后运动反转 #916

归位按预期工作。我只归位 X 和 Y 轴。我将 Y 置于最高点,将 X 置于最低点。归位后,如果我向负方向的 Y 轴发出移动命令,它会按预期工作。但是,如果我向 X 轴发出正向移动命令,则会收到软限位警报,但如果我向负方向向 X 轴发出移动命令,它就会移动。

为了只返回 X 和 Y,在 config.h 中,我注释掉了 Z 的默认归位周期,并将 X 和 Y 的归位周期设为零归位周期:
//#define HOMING_CYCLE_0 (1<<Z_AXIS)

定义 HOMING_CYCLE_0 ((1<<X_AXIS)|(1<<Y_AXIS))

// #define HOMING_CYCLE_2

为了将 Y 置于最高点但将 X 置于最低点,我将归位方向反转掩码设置为 1:
$20=1(软限制,布尔值)
$21=0(硬限制,布尔值)
$22=1(归位周期,布尔值)
$23=1(归位方向反转掩码:00000001)

我没有反转任何其他东西:
$2=0(步骤端口反转掩码:00000000)
$3=0(dir 端口反转掩码:00000000)
$4=0(步骤启用反转,bool)
$5=0(限制引脚反转,布尔)

我想让机器回到左上角(x=0 和 y=400mm)。我知道我的方向是正确的——我关闭了归位,用手将头部移动到中间 X 和中间 Y 位置,然后:

  1. 输入 G0 X2,结果是沿 X 轴从左到右移动 – 正如预期的那样。
  2. 输入 G0 X-2,结果是沿 X 轴从右向左移动 – 正如预期的那样。
  3. 输入 G0 Y2,结果是沿 Y 轴从下到上移动 – 正如预期的那样。
  4. 输入 G0 Y-2,结果是沿 Y 轴从上到下移动 – 正如预期的那样。

现在,激活归位后,我输入了“$H”。X 轴从右向左移动,按预期触发了限位开关(向左移动到触发开关,移开开关,然后慢慢向左移动再次触发开关,然后才离开),然后停下来。Y 轴也一样(从底部移动到顶部)并停止。然后,我手动输入“G0 Y-2”,Y轴向下移动。然后,我手动输入“G0 X2”,但X轴没有移动,并触发了软限位报警。相反,如果我发出“G0 X-2”,X 轴就会从左向右移动。

我无法弄清楚归位后 X 轴的运动我做错了什么。

我在 Arduino Uno 上运行 v0.9j 并使用 Sparkfun 简易驱动程序。

X轴回原点后运动反转 #916
成员

@peejster: Grbl 在所有负空间中设置机器坐标。因此,原点位于机器的右后角。这是标准的机床坐标系设置。请使用工作坐标系将工作原点偏移到您喜欢的位置,或者您可以让 Grbl 使用 config.h 选项将原点设置在归位点。

X轴回原点后运动反转 #916
作者

哦。我假设(错误地)原点将成为您放置机器的位置。(如果我保留归位的所有默认值(不反转 X),我想情况就是这样。)感谢您让我知道默认情况下,原点是右后角。

喜欢 (0)