Arduino 激光雕刻机:GRBL 固件 + Universal Gcode Sender 全流程实战
项目定位
利用 **Arduino UNO + CNC Shield V3 + 2×A4988 驱动 + 5.5W/10W 蓝光激光模组** 自制一台桌面级激光雕刻切割机。固件烧录 **GRBL 1.1h**,上位机使用 **Universal Gcode Sender (UGS)** 或 **LightBurn**,支持 G-code 流式发送、实时进度显示、激光功率 PWM 控制、急停/暂停/恢复、坐标系设定等专业功能。总成本 < ¥1500,精度可达 0.1mm,适合木板、亚克力、皮革、纸张、竹片等非金属材料雕刻切割。
硬件清单 (BOM)
| 分类 | 器件 | 数量 | 规格/备注 |
| 主控与驱动 | Arduino UNO R3 (CH340/ATmega16U2) | 1 | GRBL 官方支持, 16MHz |
| CNC Shield V3.0 / V4.0 | 1 | 集成 A4988/DRV8825 插座、限位开关接口、主轴 PWM、冷却风扇 |
| 步进驱动 | A4988 (绿色/黑色) | 2 | 微步 1/16, 电流限制 Vref 调节 (建议 0.8–1.0A) |
| 运动机构 | NEMA 17 步进电机 (42mm, 40N·cm) | 2 | X/Y 轴各 1, 1.8°/步, 4 线 |
| GT2 同步带 + 同步轮 (20 齿) | 1 套 | 2GT, 宽 6mm, 周长精度 ±0.1mm/m |
| 线性导轨/滑块 (MGN12H) 或 V 槽轮 + 2020 型材 | 1 套 | MGN12H 刚性更好, V 槽成本低 |
| 激光模组 | 5.5W / 10W 445nm 蓝光激光器 | 1 | TTL/PWM 调光, 聚焦可调, 含护目镜 |
| 激光驱动板 (常集成在模组) | 1 | 输入 12V, TTL 接 CNC Shield SpnEn/Dir 引脚 |
| 激光防护罩 + 吸烟管 | 1 | 必配! 防止激光漫反射伤眼、排烟除味 |
| 限位开关 | 机械/光电限位开关 | 4 | X/Y 正负向各 1, 常开 (NO) 接 CNC Shield Limit 引脚 |
| 电源 | 12V/20A 开关电源 (Mean Well LRS-200-12) | 1 | 步进电机+激光峰值电流 ≤15A, 留 30% 余量 |
| 结构 | 2020 铝型材框架 (300×300mm 有效行程) | 1 套 | 角码、T 型螺母、M5 螺丝、3D 打印件 |
| 安全 | 急停按钮 (自锁、红色、NC 常闭) | 1 | 串联在 12V 总电源回路, 一按断电 |
机械组装要点
- 框架搭建:2020 型材按图纸切割组装,对角线误差 <1mm,确保直角度
- 直线运动:MGN12H 导轨螺丝扭矩 1.2 N·m,滑块预压调整无间隙滑动;V 槽轮偏心螺母调整紧贴型材
- 传动张紧:同步带张紧度以手指按压 2mm 变形为宜,过紧加重电机负载,过松失步
- 激光安装:Z 轴固定架 (可 3D 打印) 锁在 Y 轴滑块,激光模组可上下微调焦距 (聚焦点在材料表面)
- 走线管理:拖链保护电机/激光/限位线,预留维修空间
电路接线规范
| 信号 | CNC Shield 引脚 | Arduino 引脚 (GRBL 默认) | 备注 |
| X Step | D2 | D2 | |
| X Dir | D5 | D5 | |
| Y Step | D3 | D3 | |
| Y Dir | D6 | D6 | |
| X Limit + | D9 | D9 | 上拉至 5V, 常开接地触发 |
| X Limit - | D10 | D10 | |
| Y Limit + | D11 | D11 | |
| Y Limit - | D12 | D12 | |
| Spindle PWM | D11 (共用) / 独立引脚 | D11 | 激光 TTL 调光, $32=1 激光模式 |
| Coolant Enable | D13 | D13 | 可接风扇继电器 |
| Abort/Hold/Resume | A0/A1/A2 | A0/A1/A2 | 物理按钮 (可选) |
**关键**:A4988 Vref 调节 → 测量 GND 与电位器中点电压,Vref = I_target × 8 × Rsense (Rsense=0.1Ω) → 目标 0.8A 时 Vref≈0.64V。
GRBL 固件烧录与配置
- Arduino IDE →
工具 → 板卡: Arduino UNO → 烧录引导程序 (可选)
- 下载 GRBL 1.1h 源码,解压
grbl 文件夹放入 libraries
- 打开
示例 → grbl → grblUpload,上传固件
- 打开串口监视器 115200 波特率,显示
Grbl 1.1h ['$' for help]
- 发送
$$ 查看当前参数,按下表关键参数修改 (发送 $N=value 格式):
核心参数表 (300×300mm 行程, GT2 20齿, 1/16 微步)
| 参数 | 值 | 含义 |
| $0 | 10 | Step pulse time (µs) |
| $1 | 25 | Step idle delay (ms) |
| $10 | 1 | Status report: MPos |
| $11 | 0.010 | Junction deviation (mm) |
| $12 | 0.002 | Arc tolerance (mm) |
| $13 | 0 | Inches mode (0=mm) |
| $20 | 1 | Soft limits enable |
| $21 | 1 | Hard limits enable |
| $22 | 1 | Homing cycle enable |
| $23 | 3 | Homing dir invert (X+ Y+) |
| $24 | 500.0 | Homing feed (mm/min) |
| $25 | 3000.0 | Homing seek (mm/min) |
| $26 | 250 | Homing debounce (ms) |
| $27 | 1.0 | Homing pull-off (mm) |
| $30 | 1000 | Max spindle speed (RPM/PWM) |
| $31 | 0 | Min spindle speed |
| $32 | 1 | Laser mode enable (动态功率) |
| $100 | 80.0 | X steps/mm (200步/转 ×16微步 / (20齿×2mm) = 80) |
| $101 | 80.0 | Y steps/mm |
| $110 | 5000.0 | X max rate (mm/min) |
| $111 | 5000.0 | Y max rate |
| $120 | 200.0 | X acceleration (mm/s²) |
| $121 | 200.0 | Y acceleration |
| $130 | 300.0 | X max travel (mm) |
| $131 | 300.0 | Y max travel |
上位机软件操作 (Universal Gcode Sender / LightBurn)
- 连接 Arduino (COMx, 115200),UGS 点击 Open
- Machine → Firmware → GRBL,导入参数备份文件 (.json)
- 归零:点击
$H 触发回零,机械原点建立
- 设定工件原点:移动激光至材料左下角,发送
G10 L20 P1 X0 Y0 (G54 坐标系)
- 聚焦:低功率 (5%) 连续出光,调节激光高度至光斑最小最亮
- 导入 G-code:LightBurn 绘制/导入矢量图 → 设置层参数 (速度/功率/遍数) → 导出 .nc
- 预览与运行:UGS 可视化预览轨迹,确认无碰撞后 Send
- 实时控制:进度条、暂停/恢复、急停、覆盖速度/功率倍率
材料参数速查表 (参考值,需实测微调)
| 材料 | 厚度 | 雕刻速度 (mm/min) | 雕刻功率 (%) | 切割速度 | 切割功率 | 遍数 |
| 桦木板 | 3mm | 3000 | 30 | 800 | 80 | 3 |
| 亚克力 (透明) | 3mm | 4000 | 20 | 600 | 60 | 2 |
| 皮革 | 2mm | 5000 | 15 | 1000 | 40 | 1 |
| 纸张/卡纸 | 0.2mm | 8000 | 10 | 3000 | 30 | 1 |
| 竹筷/竹板 | 5mm | 2500 | 40 | 500 | 90 | 4 |
安全规范 (必读)
⚠️ 激光安全四铁律
- 全程佩戴 OD4+ 445nm 专用护目镜,普通墨镜/焊接镜无效!
- 封闭式防护罩 + 排烟系统,防止漫反射伤眼、吸入有害烟雾 (甲醛、苯系物)
- 物理联锁:防护罩打开 → 急停电路断开 → 激光断电
- 无人值守严禁:切割易燃材料 (木材/亚克力) 必须全程监护,旁边备灭火器
常见故障诊断
| 现象 | 可能原因 | 排查步骤 |
| 电机嗡嗡不转/抖动 | 接线错相、Vref 过低、驱动器坏、微步跳线缺失 | 查接线 → 调 Vref → 换驱动 → 检查 MS1/MS2/MS3 跳线 |
| 尺寸偏大/偏小 | $100/$101 steps/mm 错误 | 打印 100mm 校准块,实测比例修正 steps/mm |
| 圆形变椭圆/有棱角 | 皮带松动、机械间隙、加速度过大、$11 弧容差大 | 张紧皮带 → 降低 $120/$121 → 减小 $12 |
| 激光不出光/功率弱 | TTL 线接反、$32≠1、PWM 频率不匹配、激光模组故障 | 查 $30/$31/$32 → 示波器测 PWM → 直供 12V 测试模组 |
| UGS 显示 "Alarm: Hard limit" | 限位触发、限位常开/常闭设置反、干扰误触发 | 查 $21/$23、加去抖电容 0.1µF、屏蔽线 |
进阶升级路线
- ESP32 + GRBL-ESP32:WiFi/WebUI/蓝牙/OTA/双核,摆脱 USB 线
- Closed-loop 步进 (闭环驱动器):编码器反馈,彻底消除失步
- Z 轴自动对焦:伺服/步进 + 接触式/测距传感器,材料厚度自适应
- 相机定位 (LightBurn Camera):拍照自动对齐工件,批量定位
- 气辅系统:压缩空气吹切割缝,提升切割质量、降低着火风险
- 水冷激光 (20W+):功率更大、寿命更长、可切割薄金属
项目资源
- GRBL 官方 Wiki:配置参数详解
- UGS 官网:下载与文档
- LightBurn 试用:最强激光 CAM 软件
- 参考机械设计:Thingiverse 搜索 "Laser Engraver 2020"、OpenBuilds OX/C-Beam