GreatLight CNC 加工工厂 logo
CNC 加工
快速原型打样
材料
行业
新闻
关于 GL

获取即时报价

Arduino CNC 控制

如何用 Arduino Uno 控制 CNC 机床

Uno 只能作为 G-code 解释器,驱动一台小型三轴雕刻机、刻字机或 PCB 铣床,仅此而已。本指南涵盖接线、关键的 GRBL 设置,以及何时应当停手、改用真正的控制器。

仅限三轴GRBL 固件步进/方向信号不适用于钢
如何在 Uno 板上用 Arduino 控制 CNC 机床
快速回答

要点速览

Uno 是解释器,不是驱动器它把 G-code 转成步进和方向脉冲。真正驱动电机的是步进驱动器和电源。
GRBL 是唯一靠谱的固件选择用优化过的 C 语言为 ATmega328P 编写。三轴,步进频率上限 30 kHz。
按三轴 1/8 细分估算约合每秒 15,000 步的脉冲流量。加第四轴就会下降。
铝可以,钢不行木材、亚克力、FR-4、蜡和轻切削铝可以。工业级刚性达不到。
首次切削前先设好最大速率和加速度加减速参数过激导致的丢步,比任何接线错误毁掉的零件都多。
范围

Arduino Uno 能做什么、不能做什么

Uno 运行在 16 MHz,有 32 KB 闪存和 2 KB RAM。GRBL 正好装得下,还能留出小型规划缓冲区,这就是它成为业余 CNC 默认固件的原因。芯片在三轴上输出步进和方向脉冲,但不向电机输送电流。

规划搭建时,这个分工很关键。Uno 决定刀具去哪;DRV8825 或 TB6600 这类步进驱动器决定线圈如何通电。电源给驱动器供电,不给 Uno 供电。把这两个角色搞混,就会烧板。

Uno 方案适合木材和亚克力的桌面雕刻机、激光雕刻机架、PCB 铣床或小型三轴测试台。这些机床每刀切深小、切削力低。薄弱环节通常是机架,而不是控制器。

它不适合要在钢或铝上以生产节拍保持 ±0.005 mm 的机床。那类工作需闭环伺服控制、热补偿和刚性铸件。给 Uno 换个更好的步进驱动器,达不到这个水平。

  • 1
    适合桌面雕刻机、刻字机、PCB 铣床、教学台
  • 2
    不适合钢、紧公差铝、四/五轴、批量生产
五金件

将 Uno 接到步进驱动器

每个轴需要 Uno 输出两路信号:步进脉冲和方向电平。GRBL 把它们映射到 ATmega328P 的固定引脚。X 轴步进用 D2、方向用 D5,Y 轴用 D3 和 D6,Z 轴用 D4 和 D7。使能信号共用 D8。

这些信号线尽量走短。30 kHz 的步进脉冲周期约 33 µs,长距离无屏蔽线会拾取主轴或步进电机线缆的噪声。信号线与电机线分开走,绝不捆在一起。

接电机前先设好驱动器电流。每相额定 1.5 A 的 NEMA 17 应把驱动器设到约 1.2 A,约为额定值的 80%。设太高电机会发烫;设太低会在切削中失步。

逻辑侧由 Uno 的 USB 或独立 5 V 电源供电。驱动器由主电源供电,多数桌面搭建用 24 V 或 36 V。两侧只共地。

  • 1
    步进/方向引脚X:D2/D5,Y:D3/D6,Z:D4/D7,使能 D8
  • 2
    电流设置额定相电流的 80%,用万用表测量
  • 3
    走线信号线短,并与电机线缆分开
  • 4
    接地仅共地;不要把驱动器 V+ 接到 5 V 电源轨
固件

烧录 GRBL 并设置运动参数

GRBL 通过 Arduino IDE 以 sketch 形式上传。烧录后,Uno 不再运行你的代码,而是运行 G-code。以 115200 波特率打开串口终端,发送 $$ 读取设置列表。每改一个值,都用带美元符号的命令写回。

决定机床能否切得干净的两个设置是最大速率($110–$112)和加速度($120–$122)。先从保守值开始。皮带驱动的桌面雕刻机,X、Y 轴 800 mm/min、Z 轴 300 mm/min 是安全的初猜值。加速度约 50 mm/s² 可避免大部分丢步。

每毫米步数($100–$102)必须与机械结构匹配。20 齿 GT2 带轮转一圈走 40 mm。200 步电机在 1/8 细分下每转 1,600 步,即每毫米 40 步。这个值错了,零件上每个尺寸都会按同一比例出错。

多数现代驱动器的步进脉冲时间($0)设为 10 µs。老式驱动器可能需要 5 µs 或更多。如果电机嗡嗡响却不转,先调大这个值。

  • 1
    $100–$102每毫米步数;按带轮节距和细分设置核对
  • 2
    $110–$112各轴最大速率;先低后高,每次提高 10%
  • 3
    $120–$122加速度;桌面机 50 mm/s² 是合理起点
  • 4
    $0步进脉冲时间;多数现代驱动器 10 µs 可用
运动

点动、回零与首次空走

在刀具接触材料之前,先通过串口控制台手动点动各轴。发送 G91 进入相对模式,再发 G0 X10 F500。该轴应移动 10 mm 后停止。用卡尺测量。如果走了 12 mm,说明每毫米步数差了 20%。

接下来是回零。每个轴上的开关让 GRBL 找到机床零点。将它们以常闭方式接到 D9、D10、D11 的限位引脚上。发送 $H,观察脱离距离($27)。如果回零循环撞上开关后跳过,说明脱离距离太短或开关在抖动。

先空跑第一刀。加载 G 代码,设好工件偏置,把 Z 抬高 20 mm。观察运动。加速度突变、换向时丢步、能听到的堵转,都会在这里暴露出来,而不是等到废掉一个零件。

只有空跑运动平稳后,才接触材料。先走浅刀,木材 0.3 mm 切深,铝 0.1 mm,再逐步加大。如果机床失位,先降加速度,再降进给。

  • 1
    验证行程点动 10 mm,用卡尺测量后再信任装夹
  • 2
    回零D9–D11 接常闭开关;检查脱离距离
  • 3
    空跑Z 抬高 20 mm,确认运动平稳后再切削
构建顺序

分步操作:从裸 Uno 到第一个零件

  • 1
    把 Uno 和驱动器装到板上让 Uno 远离驱动器,避免热量传到稳压器。用洞洞板或扩展板,不要用散乱的跳线;切削中一根松动的步进线就会毁掉零件。
  • 2
    接步进、方向和使能X:D2/D5,Y:D3/D6,Z:D4/D7,使能 D8。信号线保持在 300 mm 以内,并远离电机电缆走线。
  • 3
    设置驱动器电流和细分电流设为电机额定相电流的 80%。默认选 1/8 细分;它在平滑度和 30 kHz 脉冲上限之间取得平衡。
  • 4
    烧录 GRBL 并以 115200 波特率连接上传 sketch,打开串口监视器,发送 $$ 确认板子有响应。如果没有回复,检查波特率和 COM 口。
  • 5
    输入每毫米步数和限位根据带轮节距和细分计算每毫米步数。设置 $100–$102,然后把 $130–$132 设为各轴实际行程,使机床不会撞到自己的机架。
  • 6
    调整最大速率和加速度从 800 mm/min 和 50 mm/s² 开始。让每个轴全速点动。以 10% 步进提高速率直到丢步,然后回退 20%。
  • 7
    回零并设工件零点发送 $H,确认三个轴都脱离开关,然后用 G10 或发送软件的置零按钮设置工件偏置。
  • 8
    先空跑,再切材料Z 抬高 20 mm 跑完整程序。运动平稳后,木材切深 0.3 mm 或铝 0.1 mm,再据此调整。
决策表

Arduino Uno 与专用 CNC 控制器对比

用它来判断哪条路线适合你要做的零件。

因素Arduino Uno + GRBL专用 CNC 控制器
轴数3 轴,无联动第 4 轴3 至 5 轴,联动
步进速率约 30 kHz 上限100 kHz 及以上
反馈开环,无位置检测带编码器反馈的闭环
典型材料木材、亚克力、FR-4、轻铝钢、钛、紧公差铝
公差受机架限制,通常 ±0.1 mm刚性机床上 ±0.005 mm
最佳用途原型、教学、爱好者制作量产零件和重复订单
入门成本低,零件都是现货较高,但产出可预期
失效情况丢步会直接变成废品故障会在产生废品前停止循环

了解 Uno 的极限

Arduino Uno 是学习运动控制的好方式,却是保持公差的不佳方式。当零件必须配合时,用机床加工。

常见问题

常见问题

Arduino Uno 能跑 4 轴 CNC 吗?

标准 GRBL 不行。ATmega328P 没有足够的引脚预算和处理余量,在三个运动轴之外再可靠地驱动第 4 轴。

如果需要旋转加工,改用运行 Grbl 衍生版的 32 位板,或使用专用控制器。硬把第 4 轴塞进 Uno,通常表现为其他三个轴随机丢步。

为什么我的步进电机嗡嗡响却不转?

最常见原因是步进脉冲对驱动器来说太短,或方向引脚悬空。把 $0 提高到 10 µs,并检查方向线是否插好。

第二个原因:驱动器电流设得太低。测量驱动器上的参考电压,设为电机额定相电流的 80%。电机能保持位置却不转,通常是电流不足,不是固件问题。

基于 Uno 的雕刻机能多快切铝?

很慢,而且只能浅切。用 3 mm 单刃立铣刀、8,000–12,000 rpm,每刀切深预计 0.1–0.3 mm,进给约 300–500 mm/min。

限制在机架和主轴,不在 Uno。切削负载下会变形的机床,控制器再好也会振刀。如果零件公差紧于 ±0.1 mm,这不是合适的工艺。

需要限位开关吗?

严格来说,让机床动起来并不需要,但应该装。没有回零,机床就没有可重复的零点,每次装夹都从轴碰巧停的位置开始。

以常闭方式接线,这样断线会被读成触发的开关,而不是无声故障。这一个选择能避免爱好者制作中的大多数撞机损坏。

应该用什么电源?

桌面雕刻机上的 NEMA 17 电机,24 V 是安全默认值。如果驱动器支持,36 V 电源在高速时提供更大扭矩。

电流按电机总电流的约 70% 选型,而不是全部相加。电机很少所有轴同时拉满额定电流,电源选大了只会增加发热和成本。

什么时候该停止自制,改订加工零件?

当零件必须保持公差、装入现有组件,或重复生产超过少量几件时。Uno 雕刻机是学习运动控制的好方式,却是赶交付期限的不佳方式。

对于功能原型和小批量,从坯料加工一步就能得到公差和材料性能。发送 CAD 文件,我们会在报价前做可制造性审查。

发送 CAD 文件,12 小时内获得报价

上传 STEP 或 STL 文件,我们将在 12 小时内返回报价和免费 DFM 分析。无最小起订量,从 1 个原型到 10,000+ 件。

12 小时报价100% 检测±0.005 mm无 MOQ

关注

更多来自 GreatLight

我们发布来自工厂车间的装夹记录、刀具试验和检测数据。

FacebookTikTokYouTubeLinkedInInstagramThreadsPinterest

深受全球工程师和制造商信赖

Tesla Ford Motor Company 比亚迪汽车 电装 麦格纳国际 波音 空客 美敦力 库卡 发那科