要点速览
先选机架,再买电机
Arduino CNC 铣床的刚性取决于承载主轴的龙门。2020 或 2040 型材的 V-slot 铝型材是常见起点,因为无需焊接即可螺栓连接,400 mm 跨度内方正度约 0.2 mm。钢板龙门更刚,但需要台钻和找正端面的方法。
算出实际需要的行程。300 × 200 × 80 mm 的工作范围可覆盖大多数原型支架、小面板和壳体板。X 行程每多 100 mm 都会增加龙门质量,原本轻松驱动 300 mm 轴的步进电机在 500 mm 时会开始丢步,除非升级机架规格。
Z 轴是大多数首次搭建丢失精度的地方。短 Z 立柱、80–120 mm 行程,主轴在刀柄允许范围内尽量靠近龙门安装,能大幅减少颤振。长 Z 板像杠杆,会在深腔上表现为锥形壁。
为垫板和压板留出空间。Z 向减去 20 mm 工装板,再减去 10 mm 刀具伸出。忘记这一点的制作者,100 mm 轴只剩 40 mm 可用 Z,连 6 mm 立铣刀都夹不住。
- 1导轨跨度超过 200 mm 时,MGN12 或 MGN15 直线导轨优于无支撑光轴。
- 2滚珠丝杠1605 轧制滚珠丝杠,C7 级,对台面机足够。
- 3垫板18 mm MDF,两面铣平,装配后表面再加工。
电机、驱动器与实际所需扭矩
1.9–3.0 N·m 的 NEMA 23 步进电机驱动大多数业余铣床。0.4 N·m 的 NEMA 17 能带动轻型 3018 式机架,但把 6 mm 立铣刀压进铝时会堵转。按运动质量匹配扭矩,而不是按支架能装下的最大电机。
驱动器电流设为电机额定值的 70–80%。3.0 A 电机在 DM542 或 TB6600 上跑 2.1–2.4 A。更高电流换来一点扭矩和大量热量,电机变软,长任务中步距会漂移。
细分是取舍。1/8 细分在 1605 滚珠丝杠上运动平滑,200 步电机即每转 1600 步。1/16 细分分辨率翻倍,但可用扭矩减半,并提高 Arduino 必须产生的步进频率。对切削金属的 Arduino CNC 铣床,1/8 是更稳妥的默认值。
X、Y 用同步带传动更便宜更快,但切削负载下同步带会拉伸。若用 GT2 或 GT3 同步带,行程保持在 600 mm 以内,用张力计调到约 50–60 Hz,并预期前 10 小时后重新张紧。
- 1电源NEMA 17 搭建用 24 V 10 A,NEMA 23 用 36–48 V。
- 2联轴器刚性或 Oldham 联轴器,Z 轴绝不用弹性弹簧型。
- 3接线屏蔽电机电缆,屏蔽层仅在驱动器端接地。
Arduino、GRBL 与限位开关接线
Uno 加 CNC 扩展板跑 GRBL 1.1 是标准入门方案。扩展板将 X、Y、Z 的步进和方向映射到 D2–D7,使能接 D8,三个限位输入接 D9、D10、D11。步进电机线远离限位开关线,否则你会花一个周末排查幽灵触发。
限位开关应为常闭,每轴串联,若板子没有上拉则通过 10 kΩ 上拉电阻接 5 V。GRBL 默认常开,必须反转引脚掩码,设 $5=1,否则机器拒绝回零。
急停不是可选项。将自锁蘑菇开关串在使能线上,故障时切断驱动器,而不是依赖软件。软件停止只在板子还活着时有效。
若主轴是碳刷修边机,在每个限位输入上并 100 nF 电容。碳刷噪声耦合进开关电缆,会在切削中表现为随机硬限位。
- 1主轴控制通过继电器或 0–10 V 模块做 PWM,绝不要直接从 Arduino 引脚输出。
- 2切削液台面机加工铝,吹气足够。
Arduino CNC 铣床做不到的事
铝型材加轧制滚珠丝杠的台面机,状态好时约 ±0.05 mm,计入热漂移和刀具磨损后为 ±0.1 mm。这对支架、工装夹具、原型板和壳体板没问题。对轴承内孔、密封面或任何标 ±0.005 mm 的零件不行。
步进频率是第二道墙。16 MHz 的 8 位 Arduino 跑 GRBL 约 30 kHz,在 320 步/mm 下快速移动上限接近 5,600 mm/min。切削足够,但限制了大零件上特征间的移动速度。
主轴还没到功率极限,颤振就先出现了。在 V 型槽龙门上用 6061 切 2 mm 切深,即使电机还有扭矩余量,也会啸叫并留下较差的侧壁表面。减小切深、缩短刀具伸出,或接受较慢的加工。
当零件需要 ±0.005 mm、Ra 0.8–1.6 μm 和可追溯的检测报告时,这类活应放到量产型立式加工中心上。钜亮五金(GreatLight)运行 127 台高精度 CNC 设备,包括 16 台同步五轴加工中心,公差 ±0.005 mm,出货前 100% 检测。承载装配的零件走这条路。
- 1台面机保留用于原型、治具、面板、工装板、单件支架。
- 2外发加工轴承配合、密封面、螺纹孔、批量生产。
- 3混合流程自己切几何形状,关键特征再外发加工到公差。
分步操作:从零件到首次切削
按此顺序执行。跳过找方步骤是新机组切削出现锥度的最常见原因。
- 11. 在平面上找方机架底座和龙门先松装,夹到花岗岩平板或已知平整的台面上,测量对角线。调整到两条对角线相差不超过 0.1 mm,然后按交叉顺序拧紧。
- 22. 安装导轨并检查直线度沿每根导轨打表。300 mm 内偏差控制在 0.03 mm 以下。低点处用 0.05 mm 黄铜片垫高,不要靠过度拧紧螺栓。
- 33. 安装滚珠丝杠和联轴器丝杠端部轴向窜动调到 0.02 mm 以内。手动全程旋转每根丝杠;有发紧点说明轴承座不对中,不是丝杠有问题。
- 44. 接驱动器、Arduino 和限位驱动器电流设为电机额定值的 70–80%,细分设为 1/8。信号线离电机电源线至少 50 mm,必须交叉时按 90° 走线。
- 55. 烧录 GRBL 并设置行程把 $130、$131、$132 设为实际行程(mm),$100–$102 设为算出的 steps/mm。1605 丝杠、1/8 细分、200 步电机,即 1600 / 5 = 320 steps/mm。
- 66. 回零并调加速度从 $120–$122 = 100 mm/s² 开始,每次加 50 mm/s² 直到丢步,然后回退 30%。多数台面机稳定在 200 到 500 mm/s² 之间。
- 77. 铣平垫板用 6 mm 平底立铣刀铣 MDF,8,000 rpm、600 mm/min、0.3 mm 切深。这样工作台与主轴平行,而不是与地面平行。
- 88. 先用 POM 切测试件,再切 6061POM 用 12,000 rpm、800 mm/min、1 mm 切深。然后 6061 用 10,000 rpm、400 mm/min、0.5 mm 切深,吹气冷却。改任何参数前先测量零件。
常见材料的起始参数
台面机配 1.5 kW 或 800 W 主轴,6 mm 两刃硬质合金立铣刀,1/8 细分。
| 材料 | 主轴转速 | 进给 | 切深 |
|---|---|---|---|
| POM(Delrin) | 12,000 rpm | 800 mm/min | 1.0 mm |
| ABS / 亚克力 | 14,000 rpm | 900 mm/min | 0.8 mm |
| 6061 铝 | 10,000 rpm | 400 mm/min | 0.5 mm |
| 7075 铝 | 8,000 rpm | 300 mm/min | 0.3 mm |
| 黄铜 C36000 | 9,000 rpm | 250 mm/min | 0.3 mm |
| 1018 钢 | 不建议 | — | — |
制作者接下来常问的问题
Arduino Uno 能跑铣床而不丢步吗?
可以,只要步进频率保持在约 25 kHz 以下并使用 1/8 细分。丢步通常来自驱动器电流设得太低、加速度设得太高,或信号线与电机电源线并行。
需要更快的快移或第四轴时,换用 32 位板,以更高时钟运行 GRBL 或类似固件。
steps/mm 怎么算?
电机每转步数乘以细分设置,再除以丝杠导程。200 步电机、1/8 细分、5 mm 导程丝杠,即 1600 / 5 = 320 steps/mm。
皮带传动用带轮节圆直径:steps/mm =(步数 × 细分)/(π × 节圆直径)。
为什么机器在深腔上切出锥度?
几乎总是 Z 轴刚性不足或主轴与工作台不垂直。用手侧推主轴,同时用百分表检查 Z 板是否移动。
铣平垫板后对主轴打表校正,刀具伸出在工艺允许范围内尽量短。
24 V 够用,还是需要 48 V?
24 V 对短行程的 NEMA 17 结构够用。NEMA 23 电机在 24 V 下超过 500 mm/min 后扭矩下降快,升级后通常选 36–48 V 电源。
换电源前确认驱动器和主板支持更高电压。
先切什么来验证机器?
在 POM 上切 50 × 50 mm 方形型腔,深 1 mm,然后测 X 和 Y 两个方向。两个尺寸相差超过 0.05 mm,先修机械再动进给。
POM 件测方合格后,再用 6061 重复同一零件。
什么时候该停止自造、改为外发?
图纸公差严于 ±0.05 mm、有表面粗糙度要求,或材料台面机切不动,如 17-4PH 不锈钢或钛合金。
此时废件的成本高于按规格外发加工的成本。
