1. 主页
  2. 文档
  3. ESP32_GRBL文档
  4. 设置

设置

入门

设置是影响 Grbl_Esp32 行为的选项。它们在电源关闭时保持其值,因此当您更改值时,新值在重新启动和电源循环后仍然存在。一个示例设置是“X/StepsPerMm”。命令是立即发生的动作,不会影响长期行为。一个示例命令是“启动归位循环”。您可以通过在 Grbl 串行控制台中键入$settings/list – 或者只是$s -来获取设置列表。您可以使用$commands/list$cmd获取命令列表。显示的列表取决于编译 Grbl_Esp32 时使用的构建选项。例如,构建中配置的轴数会影响某些轴设置的存在。

当您向 Grbl_Esp32 输入一行文本时,如果该行不是以 $ 或 [ 开头,则该行将由 GCode 解释器处理。否则,该行将被视为命令或设置。

笔记:

数字设置不依​​赖于您的机器定义。例如,如果您的机器没有主轴,您仍然可以看到并能够设置主轴设置。在您定义主轴之前,它们不会被使用。

没有值的命令和设置

$名称

如果名称是命令,则执行该命令。例如,$H运行归位循环。

如果名称是一个设置,则显示该设置的当前值。例如,$X/Microsteps 显示$X/Microsteps=16– 或者当前值恰好是什么。

设置搜索过滤

设置太多,发送$S来查找设置值的效率不是很高。有一些方法可以过滤输出来帮助解决这个问题。这里有一些提示。

  • 过滤时,请确保您不发送 $ 命令,如$H(归位)或$X(重置)。您可以通过发送$cmd查看所有 $ 命令。
  • 始终以$开头,以告诉 Grbl_ESP32 您正在搜索设置
  • 搜索是否不区分大小写。
  • 所有字符都充当过滤器。$X/将列出所有带有X/ 的设置。
  • 使用^字符强制字符位于开头。$^Y/将返回$Y/MaxTravel,但不会返回$Spindle/Delay/SpinUp
  • 使用$字符表示设置的结束。步骤步骤会返回$X/Microsteps但不会返回 $X/StepsPerMm
  • 使用*作为搜索字符之间的通配符。$X/*h将返回带有X/h的设置,例如$X/Home/Mpos$X/Current/Hold
  • 为避免搜索触发$X之类的 Grbl 命令,请在其后放置一个* 。$X*将返回带有X 的所有设置。

替代形式

为了向后兼容,您可以编写name ]name ] value而不是namename = value。在引入新设置机制之前,name ]仅用于 ESP3D_WebUI 设置,如[ESP105]现在任何设置或命令名称,无论是文本、数字还是 ESPnnn,都可以与$ namename ]一起使用。 $名字是首选;[名称]仅为兼容性提供。

Grbl 命令

如果“Grbl Name”栏中有条目,则该命令存在于“classic Grbl”中;否则该命令特定于 Grbl_Esp32。

长名 简称 名称 价值 行动
帮助 $ $ 显示简短的求助热线
GrblSettings/列表 $$ $$ 显示 GRBL 编号设置及其当前值的列表
扩展设置/列表 $+ 显示扩展编号设置及其当前值的列表。扩展设置包括经典 GRBL 中的设置以及在新设置框架之前由 Grbl_ESP32 引入的编号设置
设置/列表 $S 按文本名称及其当前值显示所有设置列表
GrblNames/列表 $L 显示编号设置和文本名称之间的对应关系
错误/列表 $E 数字 显示错误编号及其描述。如果提供了一个值,例如 $e=5,则仅显示该错误号的描述。
警报/列表 $A 数字 显示警报编号及其说明。如果提供了一个值,例如 $A=5,则仅显示该错误号的描述。
慢跑 $J $J 慢跑规格 执行点动操作。另见Grbl Jog 规范
G代码/偏移量 $# $# 显示 GCode 参数,例如工作偏移量
G代码/模式 $G $G 显示 GCode 解析器状态
G代码/检查 $C $C 切换 GCode 检查模式
报警/禁用 $X $X 禁用 GRBL 警报锁
设置/统计 $V 显示非易失性存储统计信息 – 已用条目、可用条目和总条目
$H $H 主页所有轴
主页/X $HX 回到 X 轴
主页/Y $HY 回到 Y 轴
主页/Z $赫兹 返回 Z 轴
主页/A $哈 回到A轴
主页/B $HB 回到 B 轴
主页/C $HC C轴归位
系统/睡眠 $SLP $SLP 进入睡眠模式
构建/信息 $我 显示构建信息
G代码/启动线 $N 显示所有 GCode 启动行
设置/擦除 $NVX 擦除非易失性存储,将所有设置恢复为编译固件时建立的默认值。如果启用身份验证,则需要管理员权限。
设置/恢复 $RST 子命令 恢复保存的信息 如果子命令是“$”或“settings”,将命名的设置重置为其默认值。如果子命令是“#”或“gcode”,则将保存的 GCode 偏移量重置为零。如果子命令是“@”或“wifi”,则将 WiFi/WebUI 相关设置重置为其默认值。如果子命令是“*”或“all”,则重置前面提到的所有内容。如果启用身份验证,则需要管理员权限。

扩展命令

扩展命令控制或显示系统的各个方面。Grbl 命令和扩展命令之间的区别在某种程度上是反映 Grbl 在 AVR 微处理器上运行的局限性的历史产物。将来可能会消除这种区别。许多扩展命令最初是随 WebUI 界面一起引入的,但它们并不完全是特定于 WebUI 的。例如,用于管理文件的命令在命令行中很有用。

写着“供程序使用”的命令主要供 WebUI 内部代码使用,因为它们的输入和输出格式针对与计算机代码而不是与人类的通信进行了优化。它们可以由人类直接发布,但也有更人性化的方式来做同样的事情。

“LocalFS”命令指的是在微处理器模块上而非外部 SD 卡上的存储器中实现的文件系统。该本地文件系统有时称为“SPIFFS”,指的是通常用于管理模块存储的特定格式。

有关Auth列的信息,请参阅身份验证部分

全名 旧名称 授权 价值 描述
网页界面/帮助 静电除尘器 显示 WebUI 帮助消息
网页界面/帮助 ESP0 显示 WebUI 帮助消息
网页界面/列表 ESP400 用户 列出所有 ESPxxx 命令。 供程序使用。
网页界面/设置 ESP401 行政 参数 根据值字符串 P=fullname T=type V=value 设置一个设置。 供程序使用。
网页界面/设置用户密码 ESP555 行政 密码 设置管理员密码。如果未给出该值,则恢复默认密码。
系统/统计 ESP420 用户 显示广泛的系统信息列表
系统/控制 ESP444 行政 重新开始 重新启动 Grbl 控制器。需要值 = RESTART
固件/信息 ESP800 显示固件信息
站台/设置 ESP103 行政 参数 在一条线上设置 WiFi 站点参数。该值是一个字符串,如 IP=ipaddress MSK=netmask GW=gateway 。您也可以使用单独的设置来设置这些。 供程序使用。
系统/IP ESP111 显示系统的IP地址
WiFi/ListAP ESP410 用户 列出可到达的 WiFi 接入点。
电台/状态 ESP115 行政 状态 暂时打开或关闭收音机。如果您想更改使用的无线电,请使用无线电/模式 (ESP110)。
标清/状态 ESP200 用户 显示 SD 卡插入状态。
标清/列表 ESP210 用户 列出 SD 卡上的文件。
标清/删除 ESP215 用户 小路 从 SD 卡中删除文件或目录。值是文件或目录路径名。
标清/运行 ESP220 用户 小路 从 SD 卡运行 GCode 程序。值是文件路径名。
通知/发送 ESP600 用户 信息 将值“message”作为通知发送。
通知/设置 ESP610 行政 参数 设置通知。该值是一个字符串,如 TYPE=NONE
本地文件系统/列表 用户 小路 列出本地文件系统中的文件。如果提供了值,则仅列出该子目录。
本地文件系统/运行 ESP700 用户 小路 从本地文件系统运行 GCode 程序。值是文件路径名。
本地文件系统/格式 ESP710 行政 格式 重新格式化本地文件系统。要求值 = FORMAT
本地文件系统/大小 ESP720 用户 显示本地文件系统中的已用空间和可用空间
本地文件系统/ListJSON 用户 小路 以 JSON 格式列出本地文件系统中的文件。如果提供了值,则仅列出该子目录。JSON 格式旨在让计算机程序可以轻松解释数据。 供程序使用。

Grbl 设置

下面的许多编号设置都出现在经典的 Grbl 中,它们的含义定义为Grbl Configuration。新的是主轴/设置 (33-36)、A、B 和 C 轴设置(1×3、1×4、1×5)以及驱动模块的附加设置(1×3、1×4、1×5 和 1×6)。通常可以从名称、类型和单位推断出新设置的含义。

设置的允许值取决于其类型。对于 Int 和 Float 设置,Min 和 Max 是最小值和最大值。对于字符串设置,最小值和最大值限制字符串的长度。

标志设置可以是 ON(或者 1)或 OFF(或者 0)。

AxisMask 设置可以表示为轴字母列表,或者为了向后兼容,表示为位的数字总和,其中 1 表示 X 轴,2 表示 Y,4 表示 Z,8 表示 A,16 表示 B,32是 C。例如,轴 X 和 Z 可以表示为字符串XZ或数字 5 (1 + 4)。字母形式更容易记忆和输入,而数字形式向后兼容经典的 Grbl。要清除轴掩码,您可以发送name =(等号后没有任何内容)或 $ name =0

枚举设置有一组指定的允许值,可以表示为小整数或名称。

全名 GRBL# 类型 单位 默认 最小值 最大限度 描述
步进/脉冲 0 诠释 用户 3个 3个 1000 设置步进电机脉冲时间
步进器/空闲时间 1个 诠释 毫秒 250 0 255 空闲时禁用步进器之前的时间
步进/步进反转 2个 轴遮罩 0 步进信号反转的轴
步进器/DirInvert 3个 轴遮罩 0 方向信号反转的轴
步进器/启用反转 4个 旗帜 离开 不要反转(关闭)或反转(打开)所有步进器启用信号
电机/禁用或 MD 轴遮罩 暂时禁用电机
限制/反转 5个 旗帜 限位开关激活高(关)或低(开)
探测/反转 6个 旗帜 离开 探头开关高电平有效(关)或低电平有效(开)
报告/状态 10 诠释 1个 0 2个 要包含在实时报告中的字段
错误/详细 旗帜 离开 错误的文本与数字
GCode/JunctionDeviation 11 漂浮 0.01 0 10 控制尖角周围的运动
G代码/ArcTolerance 12 漂浮 0.002 0 1个 控制电弧追踪的准确性
报告/英寸 13 旗帜 离开 以毫米(关闭)或英寸(打开)为单位报告
限制/软 20 旗帜 离开 禁用(关闭)或启用(打开)软限制
限制/困难 21 旗帜 离开 禁用(关闭)或启用(打开)硬限制
归位/启用 22 旗帜 离开 禁用(关闭)或启用(打开)归位功能
归位/方向反转 23 轴遮罩 3 (XY) 各种轴的归位方向
归位/进给 24 漂浮 毫米/分钟 200 0 10000 归巢速度较慢
归位/寻找 25 漂浮 毫米/分钟 2000 0 10000 更快的归巢速度
归位/去抖动 26 漂浮 毫秒 250 0 10000 归位开关去抖时间
归巢/牵引 27 漂浮 毫米 1个 0 1000 归位牵引距离
归位/平方 轴遮罩 0 在归位期间平方的轴
归位/MPos 漂浮 归位后所需的机器位置
归位/周期0 轴遮罩 轴归零顺序
归位/周期 1 轴遮罩 轴归零顺序
归位/周期 2 轴遮罩 轴归零顺序
归位/周期 3 轴遮罩 轴归零顺序
归位/周期 4 轴遮罩 轴归零顺序
归位/周期 5 轴遮罩 轴归零顺序
G代码/最大S 30 漂浮 依靠 1000 0 100000 GCode S 字的最大值
G代码/分钟 31 漂浮 依靠 0 0 100000 GCode S 字的最小值
G代码/激光模式 32 旗帜 离开 禁用(关闭)或启用(打开)激光模式
G代码/行1 N1 细绳 0 255 第一个 GCode 启动行
G代码/第0行 N0 细绳 0 255 第二个 GCode 启动行
主轴/PWM/频率 33 漂浮 周期/秒 5000 0 100000 主轴PWM频率
主轴/PWM/关闭 34 漂浮 百分 0 0 100 关闭主轴的值
主轴/PWM/分钟 35 漂浮 百分 0 0 100 运行主轴的最小值
主轴/PWM/最大 36 漂浮 百分 100 0 100 运行主轴最大值
主轴/延迟/旋转 漂浮 百分 0 0 30 [时间以秒为单位]
主轴/延迟/SpinDown 漂浮 百分 0 0 30 [时间是秒]
主轴/启用/反转 旗帜 离开 反转主轴使能输出
步进器/启用/延迟 诠释 微秒 0 0 1000
主轴/PWM/反转 旗帜 离开 反转主轴输出
主轴/启用/OffWithSpeed 旗帜 离开 启用将在 0 RPM 时关闭,无论 M3/M4/M5
报告/StallGuard 轴遮罩 0 用于报告失速状态的轴列表
主轴/类型 枚举 没有任何 主轴类型
X/每分钟步数 100 漂浮 步数/毫米 100 1个 100000 X 轴每毫米步数
X/最大速率 110 漂浮 毫米/分钟 1000 1个 100000 X轴最大速度
X/加速度 120 漂浮 毫米/秒^2 200 1个 100000 X轴加速度
X/最大行程 130 漂浮 毫米 300 1个 100000 X轴长度
X/当前/运行 140 漂浮 安培 0.25 0 20 X 轴的 Trinamic 驱动器运行电流
X/当前/保持 150 漂浮 安培 0.125 0.05 20 X 轴的 Trinamic 驱动器保持电流
X/微步 160 诠释 微步/步 16 0 256 X 轴的 Trinamic 驱动器微步进
X/失速守卫 170 诠释 寄存器值 16 -64 63 X 轴的 Trinamic 驱动 Stallguard 设置
Y/步数PerMm 101 漂浮 步数/毫米 100 1个 100000 Y 轴每毫米步数
Y/最大速率 111 漂浮 毫米/分钟 1000 1个 100000 Y轴最大速度
Y/加速度 121 漂浮 毫米/秒^2 200 1个 100000 Y轴加速度
Y/最大行程 131 漂浮 毫米 300 1个 100000 Y轴长度
是/当前/运行 141 漂浮 安培 0.25 0 20 Y 轴的 Trinamic 驱动器运行电流
Y/电流/保持 151 漂浮 安培 0.125 0.05 20 Y 轴的 Trinamic 驱动器保持电流
Y/微步 161 诠释 微步/步 16 0 256 Y 轴的 Trinamic 驱动器微步进
Y/StallGuard 171 诠释 寄存器值 16 -64 63 Y 轴的 Trinamic 驱动 Stallguard 设置
Z/步数PerMm 102 漂浮 步数/毫米 100 1个 100000 Z 轴每毫米步数
Z/最大速率 112 漂浮 毫米/分钟 1000 1个 100000 Z轴最大速度
Z/加速度 122 漂浮 毫米/秒^2 200 1个 100000 Z轴加速度
Z/最大行程 132 漂浮 毫米 300 1个 100000 Z轴长度
Z/当前/运行 142 漂浮 安培 0.25 0 20 Z 轴的 Trinamic 驱动器运行电流
Z/电流/保持 152 漂浮 安培 0.125 0.05 20 Z 轴的 Trinamic 驱动器保持电流
Z/微步 162 诠释 微步/步 16 0 256 Z 轴的 Trinamic 驱动器微步进
Z/失速守卫 172 诠释 寄存器值 16 -64 63 Z 轴的 Trinamic 驱动 Stallguard 设置
A/步数PerMm 103 漂浮 步数/毫米 100 1个 100000 A 轴每毫米步数
A/最大速率 113 漂浮 毫米/分钟 1000 1个 100000 A轴最大速度
A/加速度 123 漂浮 毫米/秒^2 200 1个 100000 A轴加速度
A/最大行程 133 漂浮 毫米 300 1个 100000 A轴长度
A/当前/运行 143 漂浮 安培 0.25 0 20 A 轴的 Trinamic 驱动器运行电流
A/电流/保持 153 漂浮 安培 0.125 0.05 20 A 轴的 Trinamic 驱动器保持电流
A/微步 163 诠释 微步/步 16 0 256 A 轴的 Trinamic 驱动器微步进
A/失速守卫 173 诠释 寄存器值 16 -64 63 A 轴的 Trinamic 驱动 Stallguard 设置
B/步数PerMm 104 漂浮 步数/毫米 100 1个 100000 B轴每毫米步数
B/最大速率 114 漂浮 毫米/分钟 1000 1个 100000 B轴最大速度
B/加速度 124 漂浮 毫米/秒^2 200 1个 100000 B轴加速度
B/最大行程 134 漂浮 毫米 300 1个 100000 B轴长度
B/当前/运行 144 漂浮 安培 0.25 0 20 B 轴的 Trinamic 驱动器运行电流
B/电流/保持 154 漂浮 安培 0.125 0.05 20 B 轴的 Trinamic 驱动器保持电流
B/微步 164 诠释 微步/步 16 0 256 B 轴的 Trinamic 驱动器微步进
B/StallGuard 174 诠释 寄存器值 16 -64 63 B 轴的 Trinamic 驱动 Stallguard 设置
C/步数PerMm 105 漂浮 步数/毫米 100 1个 100000 C轴每毫米步数
C/最大速率 115 漂浮 毫米/分钟 1000 1个 100000 C轴最大速度
C/加速度 125 漂浮 毫米/秒^2 200 1个 100000 C轴加速度
C/最大行程 135 漂浮 毫米 300 1个 100000 C轴长度
C/当前/运行 145 漂浮 安培 0.25 0 20 C 轴的 Trinamic 驱动器运行电流
C/电流/保持 155 漂浮 安培 0.125 0.05 20 C 轴的 Trinamic 驱动器保持电流
C/微步 165 诠释 微步/步 16 0 256 C 轴的 Trinamic 驱动器微步进
C/失速守卫 175 诠释 寄存器值 16 -64 63 C 轴的 Trinamic 驱动 Stallguard 设置

网页界面设置

WebUI 设置配置 Grbl_Esp32 连接到网络的方式 – 通过连接到外部 WiFi 路由器(STA – Station – 模式),作为其他机器可以连接的接入点(AP),或通过蓝牙(BT) . AP 模式主要用于初始设置,因此您可以与 Grbl_Esp32 对话以设置 Station 参数。AP 模式也可用于非常有限的网络情况,例如没有 WiFi 的车间,将一台计算机连接到 Grbl_ESP32。ESP32 的 AP 软件只能处理少数客户端连接,因此不适合用作通用无线路由器。

以下某些设置仅在编译固件时启用相应的配置选项时才可用。

下面显示的默认值可以通过修改源代码并重新编译来更改;显示的默认值是未修改源的默认值。

下面的一些设置组可以使用上表中的 WebUI 命令在一行中集中设置 – 或者您可以单独设置它们。

全名 旧名称 默认 价值观 描述
WebUI/用户密码 用户 细绳 用户密码
WebUI/管理员密码 行政 细绳 管理员密码
收音机/模式 ESP110 美联社 NONE 或 STA 或 AP 或 BT 收音机模式
系统/主机名 ESP112 grblesp 细绳 网络上其他机器看到的主机名
站/SSID ESP100 细绳 站点SSID
员工/密码 ESP101 细绳 站密码
Sta/IP模式 ESP102 DHCP DHCP 或静态 站点IP模式
站/IP 0.0.0.0 IP地址 站点静态IP
站/网关 0.0.0.0 IP地址 站点静态网关
站/网络掩码 0.0.0.0 IP掩码 站内静态网络任务
接入点/SSID ESP105 GRBL_ESP 细绳 接入点SSID
AP/密码 ESP106 12345678 细绳 密码
接入点/IP ESP107 192.168.0.1 IP地址 AP静态IP地址
接入点/频道 ESP108 1个 数字 AP频道号
HTTP/启用 ESP120 开或关 启用 HTTP
HTTP/端口 ESP121 80 数字 HTTP 端口号
远程登录/启用 ESP130 开或关 远程登录启用
远程登录/端口 ESP131 23 数字 远程登录端口
蓝牙/名称 ESP140 btgrblesp 蓝牙名称
通知/类型 没有任何 NONE 或 LINE 或 PUSHOVER 或 EMAIL 通知类型
通知/T1 细绳 通知令牌 1
通知/T2 细绳 通知令牌 2
通知/TS 细绳 通知设置

验证

如果启用身份验证,则某些设置至少在没有“用户级”密码的情况下无法显示,并且在没有“管理员级”密码的情况下无法设置。当通过 WebUI 管理命令和设置时,登录过程会设置密码,因此只需提供一次。如果身份验证打开并且您需要从串行监视器执行受保护的命令,请在命令行末尾包含“pwd=”——如有必要,用空格与值分隔。例如

$Sta/SSID=MySSID pwd=admin

要启用身份验证,您必须#define ENABLE_AUTHENTICATION 在 config.h 中取消注释并重新编译。

注意:Grbl 的身份验证不提供针对攻击者的强大防御。它应该被视为防止无意中的错误,而不是强大的安全性。

有关 Grbl 设置的更多详细信息

$Stepper/Pulse 或 $0 – 步进脉冲,微秒

步进驱动器的额定最小步进脉冲长度。检查数据表或尝试一些数字。您需要步进驱动器能够可靠识别的最短脉冲。如果脉冲太长,您可能会在以非常高的进给和脉冲速率运行系统时遇到麻烦,因为步进脉冲可能开始相互重叠。我们建议大约 10 微秒,这是默认值。

$Stepper/IdleTime 或 $1 – Step 空闲延迟,毫秒

每次你的步进器完成一个动作并停止时,Grbl 将延迟禁用步进器这个值。或者,您可以通过将此值设置为最大 255 毫秒来始终保持轴启用(供电以保持位置)。再次重申,您可以通过设置 始终启用所有轴$1=255

步进器空闲锁定时间是 Grbl 在禁用前保持步进器锁定的时间长度。根据系统的不同,您可以将其设置为零并禁用它。在其他情况下,您可能需要 25-50 毫秒来确保您的轴在禁用之前完全停止。这是为了帮助解决不喜欢长时间不做任何事情的机器电机。另外,请记住,一些步进驱动器不记得它们停在哪个微步上,因此当您重新启用时,您可能会因此看到一些“丢失”的步。在这种情况下,只需通过$1=255.

$Stepper/StepInvert 或 $2 – 步进端口反转,掩码

此设置反转步进脉冲信号。默认情况下,阶跃信号从正常低电平开始,并在发生阶跃脉冲事件时变高。在由 设置的步进脉冲时间后$0,引脚重置为低电平,直到下一个步进脉冲事件。反转时,步进脉冲行为从正常高电平切换到脉冲期间的低电平,然后再回到高电平。大多数用户不需要使用此设置,但这对于某些具有特殊要求的 CNC 步进驱动器可能很有用。例如,方向引脚和步进脉冲之间的人为延迟可以通过反转步进引脚来创建。

要以简单的方式设置它,只需列出要反转的轴。例如,$Stepper/StepInvert=ya将反转YA轴。

为了与经典 Grbl 兼容,您还可以使用数字“位掩码”形式。你真的不需要完全理解它是如何工作的。您只需输入要反转的轴的设置值。例如,如果你想反转 X 轴和 Z 轴,你可以发送$2=5到 Grbl,现在设置应该是$2=5 (step port invert mask:00000101).

在下表中,“CBAZYX”字段是#define LIMIT_MASK Bxxxxxx机器配置文件中行的二进制值。请注意,Invert 列中的“Y”条目与“CBAZYX”列中“1”位的位置完全对应。“十进制”字段是该二进制数的十进制等价物。

为简洁起见,该表仅显示 A、Z、Y 和 X 轴(每个轴使行数加倍,因此如果包括 C 轴和 B 轴,该表将有 64 行)。要反转 B 轴,只需将 1 放入 B- —- 位 – 或将十进制值加 16。要反转 C 轴,将 1 放入 B —– 位,或将十进制值加 32。

十进制 CBAZYX 反转A 反转 Z 反转 Y 反转 X
0 B000000
1个 B000001
2个 B000010
3个 B000011
4个 B000100
5个 B000101
6个 B000110
7 B000111
8个 B000000
9 B000001
10 B000010
11 B000011
12 B000100
13 B000101
14 B000110
15 B000111

$Stepper/DirInvert 或 $3 – 方向端口反转,掩码

此设置反转每个轴的方向信号。默认情况下,Grbl 假定轴在方向引脚信号低时沿正方向移动,在引脚信号高时沿负方向移动。通常,某些机器的轴不会以这种方式移动。此设置将为那些以相反方式移动的轴反转方向引脚信号。

与 Stepper/StepInvert 一样,您可以按字母列出轴,或使用上表中的数字位掩码形式。

例如,要仅反转 Y 轴方向,发送$Stepper/DirInvert=Y$3=2。要反转 Y 和 Z,请发送 $Stepper/DirInvert=YZ 或 $3=6。

$Stepper/EnableInvert 或 $4 – 步进启用反转,布尔值

默认情况下,步进器使能引脚为高电平表示禁用,低电平表示启用。$Stepper/EnableInvert=on如果您的设置需要相反的设置,只需通过发送或反转步进器启用引脚$4=1$Stepper/EnableInvert=off用或禁用$4=0。您可能需要一个电源循环来加载更改。

$Motor/Disable 或 $MD

这将暂时禁用轴上的电机。$MD 禁用所有。$MD=XZ 禁用 X 和 Z。电机在下一个移动命令时恢复。

$Limits/Invert 或 $5 – 限制引脚反转,布尔值

默认情况下,限制引脚通过 Arduino 的内部上拉电阻保持在正常高电平。当限制引脚为低电平时,Grbl 将其解释为已触发。$Limits/Invert=on对于相反的行为,只需通过发送或反转限制引脚$5=1$Limits/Invert=off用或禁用$5=0。您可能需要一个电源循环来加载更改。

注意:对于更高级的用法,可以在 config.h 中禁用限制引脚上的内部上拉电阻。

$Probe/Invert 或 $6 – 探针引脚反转,布尔值

默认情况下,Arduino 的内部上拉电阻将探针引脚保持在正常高电平。当探针引脚为低电平时,Grbl 将其解释为已触发。对于相反的行为,只需通过发送$Probe/Invert=on或反转探针引脚$6=1$Probe/Invert=off用或 禁用$6=0。您可能需要一个电源循环来加载更改。

$Report/Status 或 $10 – 状态报告、掩码

此设置决定了在出现“?”时向用户报告哪些 Grbl 实时数据。发送状态报告。此数据包括当前运行状态、实时位置、实时进给速率、引脚状态、当前覆盖值、缓冲区状态和当前执行的 g 代码行号(如果通过编译时选项启用)。

默认情况下,Grbl v1.1+ 中的新报告实现将包括标准状态报告中的几乎所有内容。许多数据是隐藏的,只有在发生变化时才会出现。这大大提高了旧报告样式的效率,并允许您获得更快的更新并仍然获得有关您机器的更多数据。界面文档概述了它是如何工作的,其中大部分仅适用于 GUI 开发人员或好奇的人。

为了保持简单和一致,Grbl v1.1 只有两个报告选项。这些主要是为了让用户和开发人员帮助设置。

  • 可以指定位置类型以显示机器位置 ( MPos:) 或工作位置 ( WPos:),但不再同时显示两者。当通过串行终端直接与 Grbl 交互时,启用工作位置在某些情况下很有用,但默认情况下应使用机器位置报告。
  • 可以启用 Grbl 的规划器和串行 RX 缓冲区的使用数据。这显示了各个缓冲区中可用的块数或字节数。这通常用于帮助确定 Grbl 在测试流接口时的性能。默认情况下应禁用此功能。

使用下表启用和禁用报告选项。只需添加您要启用的列出的值,然后通过向 Grbl 发送您的设置值来保存它。例如,带有机器位置且无缓冲区数据报告设置的默认报告为$10=1。如果需要工作位置和缓冲区数据,则设置为$10=2

报告类型 价值 描述
职位类型 0 启用WPos:禁用MPos:
职位类型 1个 启用MPos:。禁用WPos:
缓冲数据 2个 EnabledBuf:字段与 planner 和串行 RX 可用缓冲区一起出现。

$Errors/Verbose – 显示错误测试或错误编号

如果您想查看错误的文本描述而不是数字,请设置 $Errors/Verbose=On。这是 Grbl 0.9 类型的行为。Grbl 1.0 更改为数字以便为其他功能腾出空间。有些发件人不在乎,但有些发件人可能会遇到 Grbl 0.9 错误报告的问题。

$GCode/JunctionDeviation 或 $11 – 结偏差,mm

加速管理器使用连接偏差来确定它可以多快地移动通过 G 代码程序路径的线段连接点。例如,如果 G 代码路径有一个 10 度的急转弯,并且机器正在全速移动,则此设置有助于确定机器需要减速多少才能安全地通过拐角而不会丢失步骤。

我们如何计算它有点复杂,但总的来说,较高的值会提供更快的转角运动,同时增加丢失步数和定位的风险。较低的值会使加速管理器更加小心,并会导致转弯时小心且速度较慢。因此,如果您遇到机器试图过弯过快的问题,请减小此值以使其在进入弯道时减速。如果您希望您的机器更快地通过路口,请增加此值以加快速度。对于好奇的人,请点击此链接阅读有关 Grbl 的转弯算法的信息,该算法使用一种非常简单、高效且稳健的方法来考虑速度和连接角。

$ArcTolerance 或 $12 – 圆弧公差,mm

Grbl 通过将 G2/G3 圆、弧和螺旋细分为极细的线来渲染它们,这样弧形跟踪精度永远不会低于该值。您可能永远不需要调整此设置,因为0.002mm它远低于大多数 CNC 机器的精度。但如果您发现您的圆太粗糙或圆弧跟踪执行缓慢,请调整此设置。较低的值可提供较高的精度,但可能会因 Grbl 超载过多细线而导致性能问题。或者,较高的值会导致较低的精度,但可以加快电弧性能,因为 Grbl 需要处理的线数较少。

出于好奇,圆弧公差被定义为线段的最大垂直距离,其端点位于圆弧上,也就是弦。使用一些基本的几何形状,我们求解线段的长度以追踪满足此设置的弧。以这种方式建模圆弧非常好,因为圆弧线段会自动调整并随长度缩放以确保最佳圆弧跟踪性能,同时不会失去准确性。

$Report/Inches 或 $13 – 报告英寸,布尔值

Grbl 的实时位置报告为用户提供当前机器位置的反馈,以及坐标偏移和探测的参数。默认情况下,报告以毫米为单位,但发送$Report/Inches=on$13=1导致后续报告以英寸为单位。$Report/Inches=off$13=0将其设置回 mm。

$Limits/Soft 或 $20 – 软限制,布尔值

软限制是一项安全功能,可防止您的机器行驶太远,超出行程限制,从而导致碰撞或破坏昂贵的东西。它通过了解每个轴的最大行程限制以及 Grbl 在机器坐标中的位置来工作。每当将新的 G 代码运动发送到 Grbl 时,它都会检查您是否意外超出了机器空间。如果你这样做,Grbl 将在任何地方立即发出进给暂停,关闭主轴和冷却液,然后设置系统警报以指示问题。之后机器位置将被保留,因为它不是由于像硬限制那样立即强制停止。

注意:软限制需要启用归位和准确的轴最大行程设置,因为 Grbl 需要知道它在哪里。$Limits/Soft=on$20=1启用$Limits/Soft=off$20=0禁用。

$Limits/Hard 或 $21 – 硬限制,布尔值

硬限位与软限位基本相同,只是使用物理开关代替。基本上,您在每个轴的行程末端附近连接一些开关(机械的、磁性的或光学的),或者如果您的程序移动到不应该移动的太远而您觉得可能会出现问题的地方。当开关触发时,它会立即停止所有运动,关闭冷却液和主轴(如果连接),并进入警报模式,这会迫使您检查机器并重置一切。

要对 Grbl 使用硬限制,限制引脚通过内部上拉电阻保持高电平,因此您所要做的就是将常开开关与引脚和地连接起来,然后使用或启用硬限制($Limits/Hard=on禁用$21=1$Limits/Hard=off$21=0)。我们强烈建议采取电子干扰预防措施。如果你想限制一个轴的两端行程,只需将两个开关与引脚和地线并联,这样如果其中一个跳闸,就会触发硬限制。

请记住,硬限制事件被认为是关键事件,步进器会立即停止并且可能会丢失步数。Grbl 没有任何关于位置的反馈,所以它不能保证它知道它在哪里。因此,如果触发硬限制,Grbl 将进入无限循环警报模式,让您有机会检查您的机器并强制您重置 Grbl。请记住,这纯粹是一项安全功能。

$Homing/Enable $22 – 归位周期,布尔值

啊,归巢。对于那些刚刚开始使用 CNC 的人,每次在会话之间启动 Grbl 时,归位循环用于准确和精确地定位机器上已知且一致的位置。换句话说,您每次都知道自己在任何给定时间的确切位置。假设您开始加工某些东西或即将开始工作的下一步并且电源熄灭,您重新启动 Grbl 并且 Grbl 不知道它在哪里,因为步进器是开环控制。你剩下的任务是弄清楚你在哪里。如果你有归位,你总是有机器零参考点来定位,所以你所要做的就是运行归位循环并从你离开的地方继续。

要为 Grbl 设置归位循环,限位开关必须处于固定位置,不会被碰撞或移动,否则您的参考点将不一致。限位开关通常位于每个轴的 +x、+y、+z 中的最远点。将限位开关与限位引脚连接起来,添加推荐的 RC 滤波器以帮助降低电气噪声并启用归位。如果您好奇,可以将限位开关用于硬限位和归位。他们玩得很好。

在第一次尝试归位循环之前,请确保您已正确设置所有内容,否则归位可能会表现得很奇怪。首先,确保您的机器轴按照笛卡尔坐标(右手法则)在正确的方向上移动。如果不是,请使用$3方向反转设置修复它。其次,确保您的限位开关引脚未在 Grbl 的状态报告中显示为“已触发”。如果是,请检查您的接线和设置。最后,确保您的最大行程设置 ( $13x' or /MaxTravel`) 比较准确(在 20% 以内),因为 Grbl 使用这些值来确定它应该搜索归位开关的距离。

默认情况下,Grbl 的归位循环首先将 Z 轴正向移动以清除工作空间,然后同时沿正向移动 X 轴和 Y 轴。要设置归位周期的行为方式,页面下方有更多 Grbl 设置来描述它们的作用(以及编译时选项)。

另请注意 – 当启用归位时,Grbl 将锁定所有 G 代码命令,直到您执行归位循环。意味着没有轴运动,除非锁定被禁用($X)但稍后会更多。大多数(如果不是全部)CNC 控制器都会做类似的事情,因为它主要是一种安全功能,可以防止用户犯定位错误,这很容易做到,并且当错误毁坏零件时会让人难过。如果您觉得这很烦人或发现任何奇怪的错误,请告诉我们,我们会努力解决这个问题,让每个人都满意。:)

注意:查看 config.h 以获得更多高级用户的归位选项。您可以在启动时禁用归位锁定,配置在归位周期中哪些轴首先移动以及以什么顺序移动,等等。

$Homing/DirInvert 或 $23 – Homing dir invert, mask

默认情况下,Grbl 假设您的归位限位开关处于正方向,首先将 z 轴正向移动,然后将 xy 轴正向移动,然后尝试通过围绕开关缓慢来回移动来精确定位机器零位。如果您的机器在负方向上有一个限位开关,则归位方向掩码可以反转轴的方向。它的工作方式就像步进端口反转和方向端口反转掩码,您所要做的就是发送表中的值以指示要反转的轴并在相反的方向上搜索。

$Homing/Feed 或 $24 – 归位进给,mm/min

归位循环首先以较高的寻道率搜索限位开关,找到它们后,它以较慢的进给率移动到零位机器的精确位置。归位进给速度是较慢的进给速度。将此设置为提供可重复和精确机器零定位的任何速率值。

$Homing/Seek 或 $25 – 归位搜索,mm/min

归位搜索速率是归位循环搜索速率,或者它首先尝试找到限位开关的速率。在足够短的时间内调整到限位开关的任何速率,而不会在限位开关进入太快时撞到限位开关。

$Homing/Debounce 或 $26 – 归位去抖动,毫秒

每当开关触发时,它们中的一些可能会产生电气/机械噪声,这些噪声实际上会在几毫秒内将信号高低“反弹”,然后再稳定下来。要解决这个问题,您需要使用某种硬件对信号进行去抖动信号调理器或通过具有短延迟的软件来让信号完成弹跳。Grbl 执行短暂的延迟,仅在定位机器零位时才归位。将此延迟值设置为您的开关获得可重复归位所需的任何值。在大多数情况下,5-25 毫秒就可以了。

$Homing/Pulloff 或 $27 – 归位牵引,mm

为了更好地使用硬限位功能,归位可以共享相同的限位开关,归位循环将在完成后通过此拉动行程离开所有限位开关。换句话说,它有助于防止在归位周期后意外触发硬限制。确保此值足够大以清除限位开关。如果不是,Grbl 将因未能清除它而抛出警报错误。

$Homing/Squaring – 在归位期间平方的轴

请参见电机组合和轴平方。在某些情况下,具有两个电机的轴在归位时可以自动“成直角”,因此龙门与其正交轴垂直。此设置列出了应以这种方式平方的轴。

$GCode/MaxS 或 $30 – 最大主轴速度,RPM

这个设置名义上是以RPM为单位的,但是RPM对于像激光器这样的“主轴”是没有意义的,所以更一般的解释是“这是GCode S字的值”,对应“全速”或“全功率”。

这为最大 5V PWM 引脚输出设置了主轴速度。例如,如果你想在 5V 时设置 10000 RPM,编程$30=10000. 对于 5V 下的 255 RPM,发送$GCode/MaxS$30=255。如果一个程序试图设置一个比 MaxS 值更高的主轴 RPM,Grbl 将只输出最大 5V,因为它不能再快了。默认情况下,Grbl 以 255 个等距增量将最大-最小 RPM 与 5V-0.02V PWM 引脚输出线性相关。当 PWM 引脚读数为 0V 时,表示主轴已禁用。请注意,config.h 中还有其他配置选项可用于调整其操作方式。

$GCode/MinS 或 $31 – 最小主轴速度,RPM

这个设置名义上是以RPM为单位的,但是RPM对于像激光器这样的“主轴”是没有意义的,所以更一般的解释是“这是GCode S字的值”,对应“最低速度”或“最低功率”。

这为最小 0.02V PWM 引脚输出设置了主轴速度(0V 被禁用)。Grbl 接受较低的 RPM 值,但 PWM 输出不会低于 0.02V,除非 RPM 为零。如果为零,则主轴被禁用并且 PWM 输出为 0V。

$GCode/LaserMode 或 $32 – 激光模式,布尔值

当启用激光模式时,Grbl 将通过连续的G1、、G2G3运动命令连续移动(当使用S主轴速度(激光功率)编程时)。主轴 PWM 引脚(控制激光功率水平)将在每次运动中即时更新,不会停止。激光模式也会影响 M4 的解释 – 请在使用此模式之前阅读GRBL 激光文档和您的激光设备文档。

激光非常危险。它们会立即永久损坏您的视力并引起火灾。Grbl 不对固件可能导致的任何问题承担任何责任,如其 GPL 许可证所定义。

当禁用激光模式时,Grbl 将根据每个S主轴速度命令停止运动。这是铣床的默认操作,允许暂停让主轴改变速度。

$Spindle/Type – 主轴类型

Grbl_ESP32 支持多种不同类型的主轴。此设置的值包括:

  • NONE – 无主轴
  • RELAY – 可以打开或关闭但不能以其他方式控制的主轴
  • PWM – 可以通过脉冲宽度调制控制速度的主轴
  • 激光 – 一种激光,其功率水平可以通过脉宽调制来控制
  • DAC – 一种主轴,其速度可以通过数模转换器驱动的模拟电压进行控制
  • HUANYANG – 一种由RS485控制的VFD(Variable Frequency Drive)主轴
  • BESC – 由带电子速度控制器的无刷电机驱动的主轴

$Spindle/PWM/Frequency 或 $33 – 主轴 PWM 频率(扩展设置)

这是主轴/激光 PWM 的频率。必须重启 ESP32 才能生效。

$Spindle/PWM/Off 或 $34 – 主轴 PWM 关闭(扩展设置)

这是以百分比表示的 PWM 关闭值。这通常保留为默认值 0。它用于 ESC 类型的主轴,以保持脉冲处于关闭状态以保持 ESC 满意。

$Spindle/PWM/Min 或 $35 – Spindle PWM Min(扩展设置)

这是以百分比表示的 PWM 最小值。这通常保留为默认值 0。一些激光器和主轴在达到某个最小 PWM 之前不会启动。

$Spindle/PWM/Max 或 $36 – 主轴 PWM 最大值(扩展设置)

这是以百分比表示的 PWM 最大值。这通常保留默认值 100.0

$X/StepsPerMm 至 $C/StepsPerMm 或 $100 至 $105 – [X,Y,Z,A,B,C] steps/mm

Grbl 需要知道每一步将工具在给定机器上移动多远。要计算机器轴的步数/mm,您需要知道:

  • 步进电机每转一圈移动的毫米数。这取决于您的皮带传动齿轮或丝杠螺距。
  • 步进器每转的完整步数(通常为 200)
  • 控制器每步的微步数(通常为 1、2、4、8 或 16)。提示:使用高微步值(例如 16)会降低步进电机扭矩,因此请使用可提供所需轴分辨率和舒适运行特性的最低值。

然后可以这样计算步长/mm:steps_per_mm = (steps_per_revolution*microsteps)/mm_per_rev

为每个轴计算此值并将这些设置写入 Grbl。

$X/MaxRate 至 $C/MaxRate 或 $110 至 $115 – [X,Y,Z,A,B,C] 最大速率,mm/min

这设置了每个轴可以移动的最大速度。每当 Grbl 计划移动时,它都会检查移动是否导致这些单独轴中的任何一个超过其最大速率。如果是这样,它将减慢运动速度以确保没有轴超过其最大速率限制。这意味着每个轴都有自己独立的速度,这对于限制通常较慢的 Z 轴非常有用。

确定这些值的最简单方法是通过缓慢增加最大速率设置并移动它,一次测试一个轴。例如,要测试 X 轴,请向 Grbl 发送具有G0 X50足够行进距离的东西,以便轴加速到其最大速度。当您的步进器停滞时,您会知道您已达到最大速率阈值。它会产生一点噪音,但不会损坏您的电机。输入比该值低 10-20% 的设置,这样您就可以考虑工件/工具的磨损、摩擦和质量。然后,重复您的其他轴。

注意:此最大速率设置还设置 G0 寻道速率。

$X/加速度至 $C/加速度或 $120 至 $125 – [X,Y,Z,A,B,C] 加速度,mm/sec^2

这将以毫米/秒/秒为单位设置轴加速度参数。简单地说,较低的值会使 Grbl 的动作变得更慢,而较高的值会产生更紧的动作并更快地达到所需的进给率。与最大速率设置非常相似,每个轴都有自己的加速度值并且彼此独立。这意味着多轴运动只会加速到最低贡献轴的速度。

同样,与最大速率设置一样,确定此设置值的最简单方法是使用缓慢增加的值单独测试每个轴,直到电机停止。然后使用比此绝对最大值低 10-20% 的值来完成您的加速度设置。这应该考虑磨损、摩擦和质量惯性。我们强烈建议您在提交之前使用新设置对一些 G 代码程序进行空测试。有时,当所有轴一起移动时,机器上的负载是不同的。

$X/MaxTravel 至 $C/MaxTravel 或 $130 至 $135 – [X,Y,Z,A,B,C] 最大行程距离,mm

这将以毫米为单位设置每个轴从一端到另一端的最大行程距离。这仅在启用了软限制(和归位)时才有用,因为这仅供 Grbl 的软限制功能使用,以检查您是否已通过运动命令超出机器限制。这始终是一个正数。归位后使用此数字确定正限和负限。将该值设置为 0 将导致软限制功能忽略该轴。

重要说明:更改此数字可能会影响您的工件偏移量 (G54-G59)。每次更改行程时,请考虑使用 $rst=# 重置工作偏移量。如果您使用 $X 而不是 home 清除归位警报,软限制将没有准确的位置信息并且无法正常工作。

$X/Current/Run 或 $C/Current/Run $140 至 $145 – [X,Y,Z,A,B,C] Stepper Run Current(扩展设置)

这是 Trinamic SPI 或 UART 步进驱动器的运行电流(以安培为单位)。如果你有这样的驱动程序,Grbl 将使用这个值在启动时配置它们。

$X/Current/Hold 到 $C/Current/Hold 或 $150 到 $155 – [X,Y,Z,A,B,C] 步进器空闲电流(扩展设置)

这是 Trinamic SPI 或 UART 步进驱动器的保持电流(以安培为单位)。如果你有这样的驱动程序,Grbl 将使用这个值在启动时配置它们。

$X/微步至 $C/微步或 $160 至 $165 – [X,Y,Z,A,B,C] 微步(扩展设置)

这是 Trinamic SPI 步进驱动器的微步比。如果你有这样的驱动程序,Grbl 将使用这个值在启动时配置它们。

$X/StallGuard 至 $C/StallGuard 或 $170 至 $175 – [X,Y,Z,A,B,C] Stall Guard 值(扩展设置)

这是 Trinamic SPI 步进驱动器的 Stallguard 寄存器设置。如果你有这样的驱动程序,Grbl 将使用这个值在启动时配置它们。

新设置机制的动机

在经典的 Grbl 中,设置具有数字名称和值,例如 $3=6 表示“反转 Y 轴和 Z 轴的方向”。Grbl_Esp32 现在具有改进的设置机制,具有以下优点:

  • 设置具有有意义的文本名称,例如“Stepper/DirInvert”控制电机方向信号的反转。(这与经典 Grbl 中的 $3 设置相同)
  • 基本上不是数字的设置值可以用文本表示。例如,Stepper/DirInvert 的值可以表示为 6 – 表示 Y (2) 和 Z (4) 的位掩码 – 或者写入 YZ。
  • 保留经典的 Grbl 编号设置以与现有的 GCode 发送器兼容。您可以使用旧窗体或新窗体来显示和修改编号设置。
  • 设置的存储格式旨在跨固件更新保持稳定。以前,某些类型的固件更改可能会使设置存储失效,需要您重新建立机器配置。
  • 设置的命名方案是分层的,因此相关设置很容易辨别,因此为新发明的设置命名也相对容易。
  • [ESP400] 形式的 ESP3D_WebUI 设置已合并到新方案中。除了 ESPnnn 名称之外,这些设置现在还有文本名称。为了向后兼容,除了 $…= 格式之外,还提供了用于表达设置的 […] 格式。
  • 有一个用于显示和更改设置的扩展语法。新语法具有部分匹配,因此您可以使用单个命令查看相关的设置组。
  • Classic Grbl 有一些“命令”,例如 $H,它们具有与设置类似的语法,但它们不是存储持久值,而是执行一些即时操作。这些命令已集成到新方案中,并提供了其他命令。
  • 新方案的一个目标是允许系统的许多方面由设置控制——过去需要重新编译的方面。目标是提供一个单一的固件版本,只需更改设置即可为各种机器配置。为了支持该目标,管理设置和命令的代码使用面向对象的技术从头开始重写,以便更容易维护和添加新的设置和命令。
  • 新发明的设置将只有文本名称;他们不会被分配设置编号或 ESPnnn 名称。数字名称几乎没有助记价值,而随着时间的推移,管理数字名称空间变得非常困难。
这篇文章对您有用吗?

我们要如何帮助您?