跳转到内容

Arduino GRBL 双轴绘图机提示词范例

接手一台 Arduino Uno R3 双轴绘图机。使用 GRBL 1.1、CNC Shield 和 A4988
驱动 X/Y 两个 NEMA17 步进电机,主轴使能信号经 MOSFET 控制低压抬笔
电磁铁。目标是可靠回零,并连续绘制尺寸准确的方形和圆形测试图。
1. 机械与电气基线
控制板:Arduino Uno R3,ATmega328P
固件:上游 GRBL 1.1,使用项目固定提交或发行版
驱动:CNC Shield V3、A4988、X/Y 两轴 NEMA17
限位:X/Y 原点常闭开关,启用输入去抖和硬限位
抬笔:12V 低压电磁铁,经 MOSFET 和续流二极管驱动,M3/M5 控制
急停:切断电机和电磁铁电源,不依赖软件命令
皮带节距、同步轮齿数、微步和有效行程以实际机械参数为准。
不得从网上样例直接复制 steps/mm 后宣称标定完成。
2. 要跑通的动作
先确认驱动方向、限位极性、A4988 电流和急停有效,再以低速单轴点动。
计算初始 steps/mm,配置回零方向、回零速度、回退距离、软限位、最大速度
和加速度。所有 GRBL `$` 参数导出到版本化配置,不只保留在控制板 EEPROM。
执行回零后,从工作原点绘制 100mm x 100mm 方形和直径 80mm 圆形。
抬笔、落笔只在运动停止后的受控位置切换;流式发送 G-code 时维护 GRBL
接收缓冲区,不得不等待 `ok` 就持续灌入命令。
测量 X/Y 实际尺寸并修正 steps/mm,检查正反向重复定位和拐角过冲。
Feed Hold 后必须平稳停机,Cycle Start 能继续剩余轨迹;硬限位触发后进入
Alarm,禁止自动清除并继续运动。
3. 工程边界
- 未确认机械行程、急停和限位前不得执行自动运动;
- 不得通过提高驱动电流掩盖丢步,电流必须按电机与散热条件设定;
- 不得关闭硬限位或软限位来绕过 Alarm;
- 不得修改上游 GRBL 核心以修复接线、机械松动或发送端流控问题;
- 不得在电机带电时插拔电机线或调整驱动模块;
- 不得控制市电主轴,本项目只允许隔离的低压抬笔负载。
4. 验收
连续执行 50 次“回零 -> 方形 -> 圆形 -> 回零”。100mm 方形的 X/Y 误差
均不超过 ±0.5mm,回零重复误差不超过 ±0.2mm,不出现 Alarm、缓冲区溢出
和可见丢步。另测试一次急停、硬限位、Feed Hold 和串口中断恢复。
交付 GRBL 版本、完整 `$` 配置、steps/mm 计算与标定记录、测试 G-code、
尺寸统计、失败日志和仍需人工处理的机械间隙与刚度问题。