GRBL 1.1h固件XY型写字机器人的归航设置

  • 内容
  • ....
  • 相关

GRBL简介

Grbl
Grbl

Grbl是一个免费开源的高性能机器控制程序,主要用于机器的运动控制,它可以运行在廉价的Arduino控制板上,如Arduino uno。现在,很多开源的3D打印机都有使用到Grbl,除此之外,它已被运用到包括激光切割机,钻孔机,绘图机器人等项目中。由于Grbl具有性能稳定,实现简单,还有硬件要求低等特性,使得Grbl越来越被广泛使用。

在2009年, Grbl的早期版本由Simen Svale Skogsrud (http://bengler.no/grbl)编写出来,并将其公开发布。自2011年以来,Grbl项目在Sungeun“Sonny”Jeon博士的领导下, 该项目在开源社区中持续进行维护优化。

Grbl用于两轴机器时的注意事项

在组装Arduino 两轴写字机器人的过程中,配置homing功能,如果设置有硬件限位($21=1),则Grbl源码不能直接使用,否则会出现一些不可预知的问题,需要对源码进行简单的修改。

在Grbl1.1h源码中,Grbl homing功能实现的原理是,首先对Z轴进行归0,直到触发Z轴限位后,才对X轴和Y轴进行归0操作。但我们常见的激光雕刻机和两轴写字机器人都只有X轴和Y轴,因此如果不修改源码,则机器在执行$H命令时,Z轴始终不会触发限位,导致持续机器处于挂起状态。

Config.h文件修改

config.h中默认的3轴归航机制定义为:

#define HOMING_CYCLE_0 (1<<Z_AXIS)   // REQUIRED: First move Z to clear workspace.
#define HOMING_CYCLE_1 ((1<<X_AXIS)|(1<<Y_AXIS))  // OPTIONAL: Then move X,Y at the same time.

我们需要在config.h中找到并注释掉( 代码前添加 // 号 )上面的行,然后找到并取消注释(去掉代码前的 // 号)下面两种两轴配置代码之一,使之生效:

// NOTE: The following are two examples to setup homing for 2-axis machines.
// #define HOMING_CYCLE_0 ((1<<X_AXIS)|(1<<Y_AXIS))  // NOT COMPATIBLE WITH COREXY: Homes both X-Y in one cycle. 

// #define HOMING_CYCLE_0 (1<<X_AXIS)  // COREXY COMPATIBLE: First home X
// #define HOMING_CYCLE_1 (1<<Y_AXIS)  // COREXY COMPATIBLE: Then home Y

这两种模式分别为:第一种,X轴和Y轴同时归航。第二种,主要用于corexy系统,因为corexy不支持X轴和Y轴同时归航。根据需要选择,如果都取消注释,则第一种应该会优先执行。

行程开关注意

行程开关NO常开接法
行程开关NO常开接法

如果您的系统本身使用常开限位的行程开关,则可以不考虑这个问题,因为未使用的Z轴在默认情况下本来就是打开的。

 行程开关N常闭接法
行程开关N常闭接法

如果您的系统使用的是常闭限位开关,我们还需要将Arduino CNC Shield板上的 Z 限制接口用跳线接地,否则GRBL将总是会报告一个限位开关故障。