开源改变世界

问题:根据我的设置,机器位置似乎不精确,并在工作完成时导致软限位错误 #498

推推 grbl 2年前 (2023-02-05) 258次浏览
关闭
3 个任务中的第 1 个
Avataar120 开启了这个问题 2022 年 6 月 19 日 · 17条评论
关闭
3 个任务中的第 1 个

评论

问题:根据我的设置,机器位置似乎不精确,并在工作完成时导致软限位错误 #498
贡献者
阿凡达120 评论了 2022 年 6 月 19 日  

控制板

Perso 4 块板

董事会供应商的帮助

  • 是的
  • 不适用

机器描述

带 MXL 皮带和滑轮的 K40。
步数/mm = 78,74 而不是 80,就像我使用 BT2时一样 在 X 和 Y 轴上拉断
为 5mm
mpos 在 X 和 Y 轴上为 4mm

配置文件

name: K40_AvaShield
board: Ava_Shield_7.3

kinematics:
  Cartesian:

stepping:
  engine: I2S_STREAM
  idle_ms: 255
  dir_delay_us: 1
  pulse_us: 4
  disable_delay_us: 0

axes:
  shared_stepper_disable_pin: NO_PIN

  x:
    steps_per_mm: 78.74
    max_rate_mm_per_min: 20000.000
    acceleration_mm_per_sec2: 2000.000
    max_travel_mm: 310.000
    soft_limits: true
    homing:
      cycle: 1
      positive_direction: false
      mpos_mm: 4.000
      feed_mm_per_min: 200.000
      seek_mm_per_min: 2500.000
      settle_ms: 250.000
      seek_scaler: 1.500
      feed_scaler: 5.000

    motor0:
      limit_neg_pin: gpio.39
      limit_pos_pin: NO_PIN
      limit_all_pin: NO_PIN
      hard_limits: true
      pulloff_mm: 5.000
      stepstick:
        ms3_pin: I2SO.3
        step_pin: I2SO.2
        direction_pin: I2SO.1
        disable_pin: I2SO.0


  y:
    steps_per_mm: 78.74
    max_rate_mm_per_min: 20000.000
    acceleration_mm_per_sec2: 2000.000
    max_travel_mm: 210.000
    soft_limits: true
    homing:
      cycle: 1
      positive_direction: false
      mpos_mm: 4.000
      feed_mm_per_min: 200.000
      seek_mm_per_min: 2500.000
      settle_ms: 250.000
      seek_scaler: 1.500
      feed_scaler: 5.000

    motor0:
      limit_neg_pin: gpio.34
      limit_pos_pin: NO_PIN
      limit_all_pin: NO_PIN
      hard_limits: true
      pulloff_mm: 5.000
      stepstick:
        ms3_pin: I2SO.7
        step_pin: I2SO.6
        direction_pin: I2SO.5:low
        disable_pin: I2SO.4

  z:
    steps_per_mm: 1000.000
    max_rate_mm_per_min: 100.000
    acceleration_mm_per_sec2: 500.000
    max_travel_mm: 20.000
    soft_limits: false
    homing:
      cycle: 2
      positive_direction: true
      mpos_mm: 9.500
      feed_mm_per_min: 200.000
      seek_mm_per_min: 2500.000
      settle_ms: 250.000
      seek_scaler: 1.500
      feed_scaler: 5.000

    motor0:
      limit_neg_pin: gpio.35:low
      limit_pos_pin: NO_PIN
      limit_all_pin: NO_PIN
      hard_limits: true
      pulloff_mm: 9.500
      stepstick:
        ms3_pin: I2SO.11
        step_pin: I2SO.10
        direction_pin: I2SO.9:low
        disable_pin: I2SO.8
    motor1:
      null_motor:

i2so:
  bck_pin: gpio.22
  data_pin: gpio.21
  ws_pin: gpio.17

spi:
  miso_pin: gpio.19
  mosi_pin: gpio.23
  sck_pin: gpio.18

sdcard:
  cs_pin: gpio.5

control:
  safety_door_pin: gpio.27:low:pu
  reset_pin: gpio.12:low:pu
  feed_hold_pin: gpio.14:low:pu
  cycle_start_pin: gpio.13:low:pu

coolant:
  mist_pin: gpio.4
  delay_ms: 50.000

probe:
  pin: gpio.36:low
  check_mode_start: false

macros:
  startup_line0: 
  startup_line1: 
  macro0: 
  macro1: 
  macro2: 
  macro3: 

start:
  must_home: true
  check_limits: true
  deactivate_parking: false

user_outputs:

laser:
  tool_num: 0
  speed_map: 0=0.0% 1000=100.0%
  output_pin: gpio.15
  enable_pin: gpio.16:low
  disable_with_s0: false
  s0_with_disable: false
  pwm_hz: 15000

arc_tolerance_mm: 0.002
junction_deviation_mm: 0.010
verbose_errors: false
report_inches: false
enable_parking_override_control: false
use_line_numbers: false

启动消息

No issue

用户界面软件

光烧

发生了什么?

归位后,我希望在发出时得到 X=5 & Y=5 ?命令
但我得到 X=3.988 & Y=3.988

当我的工作完成时,lightburn 调用 G0 X0 Y0 返回原位。
消息触发软限制:

[消息:信息:X 目标的软限制:3.988]
[消息:信息:Y 目标的软限制:3.988]

不知道它是否来自我奇怪的步骤/毫米和随之而来的计算。

其他信息

没有反应

问题:根据我的设置,机器位置似乎不精确,并在工作完成时导致软限位错误 #498
贡献者作者

注意:这是与 GRBL ESP32 相同的问题(但我没有使用软限制)

问题:根据我的设置,机器位置似乎不精确,并在工作完成时导致软限位错误 #498

它看起来像一个舍入错误。78.74 * 5 = 393.7。393 / 78.74 = 4.991

问题:根据我的设置,机器位置似乎不精确,并在工作完成时导致软限位错误 #498

X=3.998 从何而来?在 Discord 上你说 4.991

问题:根据我的设置,机器位置似乎不精确,并在工作完成时导致软限位错误 #498

软限制是由 positive_direction: false 和 mpos_mm: 5 的组合引起的。正方向 false 时,5 是下限,因此行程包络线是 5 .. 315 。0 超出该范围。

问题:根据我的设置,机器位置似乎不精确,并在工作完成时导致软限位错误 #498
贡献者作者

X=3.998 从何而来?在 Discord 上你说 4.991

这是真的,但我同时尝试将 mpos 修改为 4 而不是 5 -> 这就是为什么我在问题中给出了所有一致的数字

问题:根据我的设置,机器位置似乎不精确,并在工作完成时导致软限位错误 #498
贡献者作者

软限制是由 positive_direction: false 和 mpos_mm: 5 的组合引起的。正方向 false 时,5 是下限,因此行程包络线是 5 .. 315 。0 超出该范围。

G0 X0Y0 正试图移动到 3.988,3.988。如果是 X=4 & Y=4 软限制不会被触发不是吗?

问题:根据我的设置,机器位置似乎不精确,并在工作完成时导致软限位错误 #498
贡献者作者

我修改了信息消息以在控制台中提供更多信息。

发出 G0 X0Y0 时,我得到:

[消息:信息:X 目标的软限制:3.988 限制:4.000..314.000]
[消息:信息:Y 目标的软限制:3.988 限制:4.000..214.000]

问题:根据我的设置,机器位置似乎不精确,并在工作完成时导致软限位错误 #498

你一直说 4,但上面的配置文件说 5。

问题:根据我的设置,机器位置似乎不精确,并在工作完成时导致软限位错误 #498
贡献者作者

我的错误……我在两台电脑上工作……我更新了配置文件。这是4

问题:根据我的设置,机器位置似乎不精确,并在工作完成时导致软限位错误 #498

即使在我解决了舍入问题之后,仍然会有轻微的偏移,因为内部位置是以整数步长存储的。

假设 mpos_mm = 4 和 steps_per_mm = 78.74。因此 4 毫米是 314.96 步,但我们不能将 314.96 存储为整数,因此我们将其四舍五入为 315。然后,如果将其转换回毫米,您将得到 4.001 。

问题:根据我的设置,机器位置似乎不精确,并在工作完成时导致软限位错误 #498

处理这个问题最简单的方法就是不要工作到极限。将您的工作设置为零,在极限范围内几毫米。

问题:根据我的设置,机器位置似乎不精确,并在工作完成时导致软限位错误 #498
贡献者作者

我找到了一个适合我的脏补丁。
问题更多是为了通知您这个舍入问题

问题:根据我的设置,机器位置似乎不精确,并在工作完成时导致软限位错误 #498
贡献者作者
阿凡达120 评论了 2022 年 6 月 19 日  

感谢您的快速分析:)

问题:根据我的设置,机器位置似乎不精确,并在工作完成时导致软限位错误 #498

哦,顺便说一句,G0 X0 Y0 没有告诉我们它是否在限制范围内。限制在机器坐标中,而 G0 在工作坐标中,除非你说 G53 。

Avataar120 添加了对引用此问题的 Avataar120/FluidNC 的提交 2022 年 6 月 19 日

问题:根据我的设置,机器位置似乎不精确,并在工作完成时导致软限位错误 #498
贡献者作者

如您所见,我根本不是加工 GCODE 方面的专家 :)

我能说的是我的 GCODE 是这样的:
G00 G17 G40 G21 G54 G90

然后blabla

然后 G0 X0Y0

由于机器位置为 X=3.988 Y=3.998,归位后工作位置为 0 0,我假设 G0 X0 Y0 将回到工作位置 0 0,这意味着机器位置 3.988 3.988 触发警报

不管怎样,谢谢。我接受了你的修复 + 我的解决方法,它对我有用。

问题:根据我的设置,机器位置似乎不精确,并在工作完成时导致软限位错误 #498
合作者
米奇布拉德利 评论了 2022 年 6 月 19 日  

阅读工作坐标系。您应该明确设置工作偏移量而不是依赖默认值

问题:根据我的设置,机器位置似乎不精确,并在工作完成时导致软限位错误 #498
合作者
米奇布拉德利 评论了 2022 年 6 月 22 日  

我认为这个问题中提出的所有主题都已得到解决。如果没有,请提交新问题。