Files
A1SwapModPacker/docs/swap_gcode_analysis.md
T
yw1573 c5849af14e feat(gui,cli): 界面全面中文化并优化打包选项为紧凑网格布局
- gui.py: 全部用户可见文本直接写中文,选项区从 QFormLayout 改为 QGridLayout 两列布局,缩小窗口默认高度至720px,收紧控件间距
- cli.py: argparse 帮助文本和输出消息全部中文化
- docs: 新增 A1 SwapMod 换板 G-code 内容分析文档,按三类策略(基础/双轮抖板/安全换板)对比5个模板差异
- swap_gcode: 新增 LX_0.01.01 基础弹板模板
2026-07-27 11:22:40 +08:00

139 lines
5.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# A1 SwapMod 换板 G-code 分析
**版本**: v0.5.0 | **日期**: 2026-07-27
## 文件清单
共 5 个模板,按内容复杂度分为三类:
| 类型 | 包含文件 | 主要特征 |
|------|----------|----------|
| 类型 A — 基础弹射 | `LX_0.01.01.gcode` | G380 S3/S2 交替下压,单轮弹射,无 M400/M17 |
| 类型 B — 双轮抖板 | `LX_0.07.22.gcode` | G380 S3/S2 交替下压,双轮 Shake,无 M400/M17 |
| 类型 C — 安全换板 | `LX_1.02.26.gcode`<br>`LX_1.02.26_slow.gcode`<br>`LX_1.02.26_slow_safeZ.gcode` | G1 Z- + G380 S2 下压,M400/M17 保护,双轮 Shake |
## 类型 A — 基础弹板(LX_0.01.01
**行数**: 35 行 | **复杂度**: 最低
```
Z 轴下压(G380 S3/S2 交替)→ Y 归零 → 推到 Y266
→ Z 轴轻压(G380 S2 Z20)→ 关闭软限位(M211 X0 Y0 Z0
→ Y266→Y0 高速前推 → Z 轴回压 → 单次弹射 Y-2 F5000
→ 归位 Y150
```
**特点**
- `M211 X0 Y0 Z0` 关闭软限位,允许超行程运动(其他版本均无此行)
- 仅单轮弹射,无 Shake 抖板机制
- 使用相对坐标 `G91` 大量操作
-`M400`/`M17` 保护
- 换板结束后 Z 轴停留在低位
## 类型 B — 双轮抖板(LX_0.07.22
**行数**: 100 行 | **复杂度**: 中等
```
G28 Y → Y262 → Z 轴下压(G380 S3/S2 ×4轮)
→ G4 P2000 → Y15→Y150→Y40 → G380 S2 Y264
→ Z 轴上升(G1 Z-55)→ Y120 → G28 Y → Y-1
→ 抖板第1轮(6段: 1→1.5→2→2.5→3→3.5mm 往复)
→ Y235→Y110→Y200 → G380 S2 Y264 → G4 P1000
→ Y40 → Y-2 F5000
→ 抖板第2轮(6段: 1→1.5→2→2.5→3→3.5mm 往复)
→ Y120 归位
```
**特点**
- 首次引入双轮抖板,且抖板偏移量最大(最大 3.5mm)
- G380 S3/S2 交替多轮下压确保板贴合
-`M400`/`M17`
## 类型 C — 安全换板(LX_1.02.26 / slow / slow_safeZ
**行数**: 115~128 行 | **复杂度**: 最高
### C1 — 标准版(LX_1.02.26
```
G28 Y → Y262 F2000 → M400 → M17 Z0.4
→ Z 轴下压(G1 Z- + G380 S2 纯力控,4轮)
→ G4 P2000 → Y15→Y150→Y40 → G380 S2 Y264
→ Z 轴上升(G1 Z-70)→ Y200 → Y25 → Y-1 F20000 → G28 Y
→ 抖板第1轮(5段: 1→1.5→2→2.5→2.5mm 往复)
→ Y235→Y110→Y200 → G380 S2 Y264 → G4 P1000
→ Y25 → Y-2 F20000
→ 抖板第2轮(5段: 1→1.5→2→2.5→2.5mm 往复)
→ Y262→Y120 归位
```
### C2 — 慢速版(LX_1.02.26_slow
与 C1 完全相同,仅 **一处差异**
- 第2轮弹射 `Y-2 F20000``Y-2 F1000`
### C3 — 慢速安全版(LX_1.02.26_slow_safeZ
与 C2 完全相同,尾部追加 **Z 轴安全回位**
```gcode
G4 P3000 ; 驻留 3 秒
M400
G90
G1 Z30 F600 ; Z 轴升至 30mm
M400
```
> 由 QQ 群用户 **风信子号** 提供
**特点**
- 引入 `M400`(同步等待)+ `M17 Z0.4`(降低 Z 电机电流),防止碰撞损伤
- Z 轴下压从 G380 S3/S2 交替改为 G1 Z- + G380 S2 纯力控
- 抖板偏移收窄到 2.5mm(原 3.5mm
- Y262 归位提速 F1200→F2000
## 三类对比总表
| 特性 | 类型 A | 类型 B | 类型 C1 | 类型 C2 | 类型 C3 |
|------|--------|--------|---------|---------|---------|
| **M400/M17** | ❌ | ❌ | ✅ | ✅ | ✅ |
| **M211 关限位** | ✅ | ❌ | ❌ | ❌ | ❌ |
| **Z 下压方式** | G380 S3/S2 | G380 S3/S2 | G1 Z-+G380 S2 | G1 Z-+G380 S2 | G1 Z-+G380 S2 |
| **抖板轮数** | 0 | 2 | 2 | 2 | 2 |
| **抖板最大偏移** | — | 3.5mm | 2.5mm | 2.5mm | 2.5mm |
| **Z 轴上升量** | — | -55mm | -70mm | -70mm | -70mm |
| **第2轮弹射速度** | F5000 | F5000 | F20000 | F1000 | F1000 |
| **Safe Z 回位** | ❌ | ❌ | ❌ | ❌ | ✅ Z30 |
| **总行数** | 35 | 100 | 115 | 115 | 128 |
## 换板原理
A1 SwapMod 利用 **Y 轴运动 + 热床摩擦力** 来弹射和更换打印板:
- **弹射** — Y 轴推到后端 → Z 轴下压使板贴合热床 → Y 轴骤推到前端 → 惯性 + 力传感器校准 → Z 轴上升留出空间 → Y 轴高速反弹把旧板弹下
- **抖板** — 在板脱落位置做微小 Y 轴往复,通过振动确保板完全脱离
- **推板** — `G380 S2 Y264` 力控推到最前端,为下一块板留出插入空间
## 关键 G-code 指令
| 指令 | 含义 |
|------|------|
| `G28 Y` | Y 轴归零(寻找限位开关) |
| `G380 S2 <目标>` | **A1 专有** — 力传感器目标位移动。以预设力矩正向推进 |
| `G380 S3 <目标>` | **A1 专有** — 力传感器碰撞退出。同向移动直到力反馈下降 |
| `M400` | 等待所有运动队列清空 |
| `M17 Z0.4` | Z 轴电机电流降至 0.4A,降低运动阻力 |
| `M211 X0 Y0 Z0` | 关闭软限位,允许超行程运动 |
| `G4 Pxxx` | 驻留 xxx 毫秒 |
| `G91` / `G90` | 相对坐标 / 绝对坐标切换 |
## 建议
推荐保留两个模板作为不同使用场景:
| 场景 | 推荐模板 | 原因 |
|------|----------|------|
| **日常推荐** | C3 — 慢速安全版 | 弹射温和、Z 轴安全回位,最不容易出问题 |
| **追求速度** | C1 — 标准版 | 弹射速度快、节拍最短 |
| **实验/备选** | A — 基础弹板 | 极简实现,适合调试 |