使用 Arduino UNO 构建紧凑型 CNC 绘图机
项目概述
利用 3 个废弃 DVD/CD-ROM 驱动器拆解的步进电机,配合 Arduino UNO + 3 路 EasyDriver(或 Big Easy Driver)驱动器,搭建一台低成本、桌面级的微型 CNC 绘图机(绘图面积约 40×40mm)。固件采用开源 GRBL,上位机使用 Universal Gcode Sender (UGS) 或 Inkscape 生成 G-code。
所需材料
- 3 × 废旧 DVD/CD-ROM 驱动器(拆取步进电机及滑轨)
- 1 × ATX 电脑电源(供 12V)
- 3 × EasyDriver / Big Easy Driver 步进驱动板
- 1 × Arduino UNO
- 木板/铝型材搭建框架
- 焊接工具、跳线、螺丝、胶水等
步骤 1:拆解光驱取电机
拆解 3 个光驱,保留带滑轨的步进电机组件(含丝杆、导轨、滑块),分别作为 X、Y、Z 三轴。注意保护柔性排线与光学拾取头(可废弃)。
步骤 2:机械结构组装
- 底座:木板固定 Y 轴电机组件
- 立柱:铝型材或木块竖立,跨接 X 轴滑轨
- Z 轴:安装在 X 轴滑块上,垂直上下移动(笔升降)
- 所有轴必须严格垂直,使用角尺校正,必要时用热熔胶或螺丝加固
步骤 3:焊接与接线
- 步进电机 4 根线焊接延长线(注意相序,建议用万用表测量线圈阻抗确认 A+/A-、B+/B-)
- 驱动板接线:VMOT 接 12V,GND 共地,STEP/DIR 分别接 Arduino D2-D7(X: D2/D5, Y: D3/D6, Z: D4/D7)
- Arduino 通过 USB 供电,驱动板逻辑电压取 5V
步骤 4:软件配置
- 安装 Arduino IDE,导入 GRBL 库(GitHub)
- 在 IDE 中 草图 → 包含库 → 添加 .ZIP 库 导入 GRBL
- 打开
grblUpload例程上传至 Arduino UNO - 安装 Universal Gcode Sender (UGS) 或 Inkscape + G-code 插件
- UGS 连接串口,发送
$$查看参数,按机械行程修改$130(X max),$131(Y max),$132(Z max) 等;电机反向可在 UGS Tools → Options → Axis 勾选反转
步骤 5:生成 G-code 与测试
推荐使用 Inkscape 导入 SVG/DXF/JPG,通过 扩展 → G-code Tools → Path to G-code 生成。早期使用 DeskEngrave 生成的 G-code 兼容性较差,Inkscape 输出更标准。
进阶建议
- 增加限位开关实现自动回零
- 升级为 Arduino CNC Shield + DRV8825/TMC2208 静音驱动
- 使用 3D 打印件替代木板提升精度
- 加装激光模块实现雕刻功能(需护目镜与防护罩)
资源链接
- GRBL 固件:github.com/grbl/grbl
- Inkscape:inkscape.org
- UGS:github.com/winder/Universal-G-Code-Sender
制造工艺
- Arduino 数字骰子:LCD 显示随机点数的电子骰子
- 多位置温度传感器系统,助力智能家居集成
- DIY Arduino USB 游戏手柄 — 自制高性能游戏手柄
- MotionSense:基于 Arduino 与 ESP8266 的智能入侵检测系统
- 3D 打印机防火卫士:智能传感器安全系统
- Pixel Chaser:Arduino Nano 单键 NeoPixel 追逐小游戏
- 基于 Arduino、Yaler 与 IFTTT 构建 Web 化 IoT 仪表盘
- Arduino 简易排斥式磁悬浮:电路与 DIY 指南
- 高性能 Arduino 气象气球数据记录器
- 用 Arduino Pro Mini 与 DS1302 RTC 打造精准七段数码管时钟
- Arduino 8×8 LED 矩阵翻页时钟 - DIY 实时时钟项目
- CoroFence 热成像检测器:Panasonic GridEye + PIR + IoT 集成