GRBL-Advanced 开源项目教程
1、项目介绍
GRBL-Advanced 是一个高性能、低成本的 CNC 铣削替代方案。该项目基于 Grbl v1.1 (2017) 固件,由 Sungeun "Sonny" Jeon, Ph.D. (USA) 编写。GRBL-Advanced 运行在 STM32F411RE 或 STM32F446RE Nucleo 开发板上,支持标准兼容的 G 代码,并经过多个 CAM 工具的测试,确保无问题运行。项目支持弧形、圆形和螺旋运动,以及其他主要的 G 代码命令。此外,GRBL-Advanced 还包括完整的加速度管理,支持多达 16 个运动的前瞻规划,以实现平滑的加速度和无冲击的拐角处理。
2、项目快速启动
2.1 环境准备
2.1.1 Windows 环境
- 下载并安装 EmBitz。
- 使用 EmBitz 打开
.ebp
项目文件。 - 选择
Release
目标。 - 编译项目。
- 将生成的 HEX 文件烧录到 STM32 开发板。
2.1.2 Linux 环境
- 下载 GNU ARM Embedded Toolchain 并解压到
/opt
目录。 - 在
makefile
中更新工具链路径。 - 运行以下命令:
sudo apt install build-essential stlink-tools
git clone https://github.com/Schildkroet/GRBL-Advanced.git
cd GRBL-Advanced
make clean
make target=F446
make target=F411
make flash
2.2 代码示例
以下是一个简单的 G 代码示例,用于在 GRBL-Advanced 上进行基本的 CNC 铣削操作:
G21 ; 设置单位为毫米
G90 ; 设置绝对坐标模式
G0 X0 Y0 Z0 ; 移动到原点
G1 Z-1 F100 ; 以 100 mm/min 的速度向下移动 1 mm
G1 X10 Y10 F500 ; 以 500 mm/min 的速度移动到 X=10, Y=10
G1 Z0 F100 ; 抬起刀具
G0 X0 Y0 ; 快速返回到原点
M2 ; 结束程序
3、应用案例和最佳实践
3.1 应用案例
GRBL-Advanced 广泛应用于各种 CNC 铣削场景,如木工雕刻、金属加工、3D 打印等。其高性能和低成本使其成为小型工作室和 DIY 爱好者的理想选择。
3.2 最佳实践
- 加速度设置:根据具体应用调整加速度参数,以确保加工质量和设备寿命。
- 刀具管理:使用工具表功能管理不同刀具的参数,提高加工效率。
- 网络控制:通过 ETHERNET 模块实现远程控制,方便实时监控和调整。
4、典型生态项目
4.1 Candle 2
Candle 2 是一个开源的 CNC 控制软件,支持 GRBL-Advanced 的 ETHERNET 控制功能。通过 Candle 2,用户可以实现更复杂的 CNC 操作和实时监控。
4.2 CNCjs
CNCjs 是一个基于 Web 的 CNC 控制软件,支持 GRBL-Advanced 的 USB 和 ETHERNET 控制。CNCjs 提供了丰富的图形界面和功能,适用于各种 CNC 应用场景。
通过以上模块的介绍,您可以快速上手 GRBL-Advanced 项目,并了解其在实际应用中的最佳实践和相关生态项目。