推荐开源项目:Grbl —— 高性能CNC运动控制解决方案
2026-01-23 05:29:32作者:翟萌耘Ralph
项目介绍

Grbl 是一款无妥协的高性能、低成本替代方案,用于基于并行端口的CNC铣床运动控制。它可以在搭载Atmega 328的普通Arduino(Duemillanove/Uno)上运行。
Grbl v1.1版本已经发布,详情请访问这里。请注意,当前站点将逐步淘汰并迁移到新站点。
项目技术分析
Grbl 控制器采用高度优化的C语言编写,充分利用了AVR芯片的每一个智能特性,以实现精确的定时和异步操作。它能够维持高达30kHz的稳定、无抖动的控制脉冲。
该控制器接受符合标准的g代码,并已通过多种CAM工具输出的测试,无任何问题。完全支持圆弧、圆和螺旋运动,以及其他所有主要的g代码命令。虽然不支持宏函数、变量和大多数固定循环,但我们认为GUI可以更好地将它们转换为直接的g代码。
Grbl 还包括完整的加速度管理及前瞻功能,这意味着控制器将提前查看多达18个运动,并规划其速度,以实现平滑加速和无抖动的转角。
项目及技术应用场景
Grbl 适用于以下场景:
- CNC铣床控制:作为低成本、高性能的替代方案,适用于各种规模的CNC铣床。
- 教育和研究:由于其开源特性和易于理解的代码,非常适合教育和研究用途。
- DIY项目:对于DIY爱好者来说,Grbl是一个理想的工具,可以帮助他们实现复杂的CNC控制。
- 工业应用:尽管定位为低成本解决方案,但其高性能和稳定性也使其适用于某些工业应用。
项目特点
- 高性能:高达30kHz的稳定控制脉冲,确保精确的运动控制。
- 低成本:基于Arduino平台,成本低廉,易于获取。
- 标准兼容:支持标准的g代码,兼容多种CAM工具输出。
- 前瞻加速管理:提前规划运动速度,实现平滑加速和无抖动转角。
- 开源免费:遵循GPLv3许可证,完全免费且开源。
- 社区支持:拥有活跃的社区和详细的Wiki页面,提供丰富的信息和帮助。
更新亮点
- v0.9j版本:新增EEPROM恢复功能,更多输入引脚配置选项,修复多项bug。
- v0.9i版本:更新归位循环,系统优化,新增G代码,支持CoreXY和Safety Door,完全可配置的限位和控制引脚。
- v0.9h版本:默认串行波特率提升至115200,支持可变主轴速度,超级平滑步进算法,稳定性增强,支持Arduino IDE编译,G代码解析器全面改进。
支持的G代码列表
Grbl v0.9主分支支持的G代码包括:
- 非模态命令:G4, G10L2, G10L20, G28, G30, G28.1, G30.1, G53, G92, G92.1
- 运动模式:G0, G1, G2, G3, G38.2, G38.3, G38.4, G38.5, G80
- 进给速率模式:G93, G94
- 单位模式:G20, G21
- 距离模式:G90, G91
- 圆弧IJK距离模式:G91.1
- 平面选择模式:G17, G18, G19
- 刀具长度偏移模式:G43.1, G49
- 刀具补偿模式:G40
- 坐标系模式:G54, G55, G56, G57, G58, G59
- 控制模式:G61
- 程序流程:M0, M1, M2, M30*
- 冷却液控制:M7*, M8, M9
- 主轴控制:M3, M4, M5
- 有效非命令字:F, I, J, K, L, N, P, R, S, T, X, Y, Z
官方支持者

Grbl 项目由众多官方支持者赞助和支持,确保其持续发展和改进。
结语
Grbl 是一款功能强大、性能卓越且完全开源的CNC运动控制解决方案,适用于各种应用场景。无论你是DIY爱好者、教育工作者还是工业用户,Grbl都能为你提供高效、可靠的CNC控制体验。立即访问Grbl GitHub页面了解更多信息,并开始你的CNC项目吧!
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0446
源启盛夏_AtomGit暑期开发者成长计划「源启盛夏」暑期校园开发者成长计划旨在激活校园开源力量,通过积分激励、认证扶持、资源倾斜等形式,引导高校组织和开发者完成「入驻 — 建项目 — 做贡献 — 获认证 — 得资源」的完整闭环。无论你是想带领社团入驻平台的组织者,还是希望用代码贡献证明自己的开发者,都能在这里找到属于你的成长路径。Markdown00
jiuwenswarmJiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0766
Hy3Hy3 是由腾讯混元团队研发的快慢思考融合的混合专家模型,总参数量 295B,激活参数 21B,MTP 层参数 3.8B。4 月底发布 Hy3 Preview 后,我们在 50 多个业务中获得了广泛的反馈,修复了各种体验问题,进一步提升了后训练的质量和规模。今天,我们发布 Hy3。它展现出显著强于同尺寸并比肩旗舰(参数规模往往是 Hy3 的 2~5 倍)开源模型的智能水平,显著提升了在各类产品和生产力任务中的实用价值。Python00
AscendNPU-IRAscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优C++0310
DragonOSDragonOS is an operating system developed from scratch using Rust, with Linux compatibility. It is designed for **Serverless** scenarios. 使用Rust从0自研内核,具有Linux兼容性的操作系统,面向云计算Serverless场景而设计。Rust00
项目优选
收起
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
494
515
deepin linux kernel
C
32
16
Ascend Extension for PyTorch
Python
799
1.14 K
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
780
1.57 K
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
965
2.27 K
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
C
844
6.18 K
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.21 K
1.24 K
AtomGit CLI (ag cli),AtomGit 命令行工具,参考 GitHub CLI (gh) 开发。
目前 atomgit-cli 项目已在 AtomCode 的 Coding Plan 项目列表中
Go
40
24
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
644
279
暂无描述
Markdown
827
5.48 K