czxt3000 2024-08-18 22:17 采纳率: 59.8%
浏览 8
已结题

grlb复位怎么能够不回调?也不卡在home状态?

grlb复位,用$HX复位X轴,正常情况,先复位到触碰 限位开关,然后要回调一定距离(由$27设定),完成复位。
现在想让 滑轨停到最小位置,也就是复位后不回调,怎么处理。如果设 $27=0,那么程序回卡到Home状态。怎么解决?

  • 写回答

12条回答 默认 最新

  • 叫兽-郭老师 新星创作者: Java技术领域 2024-08-18 22:18
    关注

    🕗晚上好,题主!目前:🟢[在线]
    📢参考通义千问、由郭老师整理提供!
    📣今日诗号:浮生寄墟丘,不与红尘谋,身披烟波立云舟。一扇擎青穹,飘洒翳孤踪,梦变鲲鹏振长空。

    你遇到的问题很常见,GRBL 默认的 $HX 复位流程的确会在触碰限位开关后回调一段距离。你想要实现不回调且不卡在 Home 状态,可以通过以下两种方法解决:

    方法一:修改 GRBL 源码

    该方法需要你具备一定的编程基础,并且需要重新编译 GRBL 固件。

    1. 找到相关代码: 在 GRBL 源码中搜索 settings.homing_pulloff[n_axis],该变量存储了每个轴的回调距离,你可以在 config.h 文件中找到它的定义。
    2. 修改代码:settings.homing_pulloff[n_axis] 设为 0,这样在复位时就不会回调。
    3. 重新编译固件: 修改完源码后,需要重新编译 GRBL 固件并刷入你的控制器。

    方法二:利用 G28.1 和 G92 命令

    该方法不需要修改 GRBL 源码,但需要在每次上电后执行一次以下代码:

    $H           ; 执行 X 轴复位
    G91          ; 设置为相对坐标模式
    G0 X-0.1     ; 将 X 轴稍微向负方向移动一小段距离 (例如 0.1mm)
    G90          ; 设置为绝对坐标模式
    G28.1 X0    ; 设置当前位置为 X 轴的零点
    

    代码解释:

    1. $H:执行 X 轴复位,此时滑轨会移动到限位开关并回调预设距离。
    2. G91:将坐标模式切换为相对坐标模式,方便后续微调。
    3. G0 X-0.1:将 X 轴向负方向移动一小段距离,确保滑轨离开限位开关。
    4. G90:将坐标模式切换回绝对坐标模式。
    5. G28.1 X0:将当前位置设置为 X 轴的零点,这样就避免了卡在 Home 状态。

    注意事项:

    • 使用 G0 X-0.1 命令时,请根据实际情况调整移动的距离,确保滑轨不会撞到其他物体。
    • 该方法需要每次上电后都执行一次,否则 X 轴零点可能会不准确。

    希望以上方法能够帮助你解决问题!

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月19日
  • 创建了问题 8月18日