Grbl_Esp32 CNC 控制器固件
Grbl_Esp32
ESP32
⭐⭐☆☆☆ (2/5)
🧩 软硬件结合
已发布
项目简介
A port of Grbl CNC Firmware for ESP32
Grbl_Esp32 是一个基于 ESP32 微控制器的开源 CNC(计算机数控)固件项目,最初由经典 Grbl 固件移植而来。借助 ESP32 强大的双核处理器、WiFi 和蓝牙功能,该项目突破了传统 8 位 AVR 控制器的性能瓶颈,实现了更复杂、更灵活的数控系统。
标签
项目特点
**高性能多轴控制**:支持最多 6 个协调轴(XYZABC),每个轴可驱动 1 或 2 个电机,总电机数可达 12 个。
**灵活的电机配置**:电机驱动可动态分配给轴,无需更改硬件即可从 4 电机 XYZA 配置转换为 XYYZ(双 Y 轴)配置。
**丰富的电机驱动支持**:支持 Trinamic SPI 控制步进电机(StealthChop、CoolStep、StallGuard 模式),以及无传感器归零、单极步进电机和 RC 舵机。
**全面的外围设备支持**:限位/归零开关、用户输入按钮、冷却液控制、Z 探针、安全门检测等。
**多种主轴控制**:PWM、RS485 Modbus、DAC(0-10V)、继电器、RC 无刷电机(BESC),并支持自定义主轴。
**强大的连接性**:USB/串口、蓝牙串口、WiFi(AP 或 STA 模式)、内置 Web 服务器(全功能 CNC 控制界面)、Telnet G 代码发送、推送通知、OTA 固件升级。
**高度可定制**:引脚映射、自定义机器配置、自定义初始化(运动学、归零、换刀、按钮宏、作业结束序列)、RTOS 实时操作系统支持。
**快速启动**:约 2 秒启动,无需正式关机,直接断电即可。
**向后兼容**:完全兼容原始 Grbl,可使用所有 G 代码发送器。
技术规格
| 目标平台 | |
|---|---|
| 最大轴数 | |
| 最大电机数 | |
| 最大步进速率 | |
| 电机驱动类型 | |
| 主轴控制 | |
| 连接方式 | |
| 用户界面 | |
| 存储 | |
| 固件升级 | |
| 启动时间 | |
| 开发环境 |
项目资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| ESP32 开发板(如 ESP32 Dev Module) | 1 | — | 核心控制器 |
| 步进电机驱动器(如 Trinamic TMC2209) | 按需 | — | 支持 SPI 控制 |
| 步进电机 | 按需 | — | 每个轴 1-2 个 |
| 24V 或 12V 电源 | 1 | — | 为电机和主板供电 |
| 机械限位/归零开关 | 按需 | — | 可选,用于归零和限位 |
| 主轴电机(如 PWM 主轴) | 1 | — | 可选,支持多种类型 |
| 冷却液泵 | 按需 | — | 可选,用于 Mist/Flood 冷却 |
| Z 探针 | 1 | — | 可选,用于自动对刀 |
| 安全门开关 | 1 | — | 可选,用于安全门检测 |
| 用户输入按钮(保持、恢复、重置) | 3 | — | 可选 |
| 杜邦线、端子线等 | 按需 | — | 用于连接各组件 |
| 3D 打印或金属外壳 | 1 | — | 可选,用于保护电路 |
所需工具
| 工具 | 用途 | 是否必需 |
|---|---|---|
| 3D打印机 | 打印外壳和结构件 | ▢ 推荐 |
| 焊台 | 焊接电子元件和连接线 | ✅ 是 |
| 万用表 | 测试电路连接和电压 | ✅ 是 |
| 螺丝刀 | 固定螺丝和接线端子 | ✅ 是 |
| 剥线钳 | 剥线 | ✅ 是 |
| 电脑 | 编译固件和发送 G 代码 | ✅ 是 |
| USB 数据线 | 连接 ESP32 和电脑 | ✅ 是 |
能力画像
记忆与知识检索
逻辑推演
表达与交流
感知与观察
数理与计算
动手与操作
狂热与坚持
创造与创新
项目图库
所需技能
🔧 **动手能力**:需要能够搭建 CNC 机械结构,连接电机、驱动器、传感器等硬件,并进行调试。
💻 **编程能力**:需要熟悉 Arduino IDE 环境,能够编译和上传固件,理解 G 代码和基本配置。
⚡ **电子电路**:需要了解步进电机驱动、电源电路、信号连接等基本电子知识,能够使用万用表排查故障。
适用场景
**DIY CNC 雕刻机**:构建自己的桌面 CNC 雕刻机,用于雕刻木材、塑料、PCB 等材料。
**3D 打印机控制**:作为 3D 打印机的运动控制固件(需适配)。
**激光雕刻机**:控制激光雕刻机,支持激光 PWM 功率/速度补偿。
**小型铣床**:控制小型铣床进行金属或塑料加工。
**教育实验**:用于学习 CNC 控制原理、嵌入式系统开发和运动控制算法。
**工业自动化**:作为低成本、高性能的运动控制核心,用于自动化设备。