X-STACK DIY GUIDE — MOTIONLAB 2026

DIY STACK
GUIDE

X-STACK là bộ điều khiển vạn năng — không đi kèm thanh trượt. Hướng dẫn này bao gồm tất cả những gì bạn cần biết để chọn, đấu dây và cài đặt motor bước và thanh trượt tuyến tính cho giàn chụp focus stacking của riêng mình.

Controller
X-STACK V12
Driver
TMC2209
Motor Type
NEMA 17 / 14
Lead Screw
T8 / M5
Min Step
0.02µm
// WHAT YOU NEED

System Overview

Một bộ DIY X-STACK hoàn chỉnh gồm bốn thành phần chính. X-STACK xử lý phần điều khiển — bạn cung cấp phần cơ khí.

🎛️
X-STACK Controller
Bộ não. Xử lý timing di chuyển, trigger camera qua BLE, Web UI, OTA và bảo vệ StallGuard. Bạn đã có cái này.
⚙️
Stepper Motor
NEMA 17 (phổ biến nhất) hoặc NEMA 14. Phải phù hợp với dải điện áp và dòng điện của TMC2209. Nên dùng 200 bước (1.8°).
📏
Linear Rail / Lead Screw
Vít me T8 (bước 2mm, 1 đầu) cho độ phân giải ~10nm ở 256 microstep. Guide rail MGN12 đảm bảo không rung lắc.
🔌
Power Supply
12V DC, tối thiểu 2A. PSU bench chất lượng hoặc adapter 12V/3A là lý tưởng. KHÔNG dùng nguồn USB đơn thuần cho motor.
// BILL OF MATERIALS

What to Buy

Linh kiện khuyến nghị cho một bộ DIY tiêu chuẩn. Số lượng cho một trục.

Component Spec / Model Notes Priority
Stepper Motor
Động cơ bước
NEMA 17 · 42×40mm · 1.5–2A · 12V
e.g. 17HS4401, 17HE15-1504S
1.8°/step (200 steps/rev). Avoid motors rated >2.5A — TMC2209 RMS max is 2A. REQUIRED
Lead Screw
Vít me truyền động
T8 · Pitch 2mm · 1 start · 100–300mm Pitch 2mm = 2mm/rev. Finer = slower but more precise. T8x2 is the sweet spot for macro work. REQUIRED
Linear Guide Rail
Băng trượt tuyến tính
MGN12H · 150–250mm length MGN9 works but MGN12 is stiffer. Avoid dovetail rails — too much friction and backlash. REQUIRED
Flexible Coupling
Khớp nối mềm
5mm → 8mm spider/jaw coupling Absorbs misalignment between motor shaft and lead screw. Rigid couplings cause binding. REQUIRED
Power Supply
Nguồn điện
12V DC · min 2A (3A preferred) Laptop-style barrel jack 5.5/2.1mm center positive. Linear regulated PSU reduces noise vs switching. REQUIRED
Motor Cable
Cáp motor
4-pin JST-XH 2.54mm or bare wires Keep cable ≤50cm to avoid EMI. Twisted pair or shielded preferred for long runs. REQUIRED
Mounting Plate / Frame
Khung / đế lắp ráp
3D printed or aluminum profile 3D print STL files available in the project repo. 2020 aluminum extrusion also works well. OPTIONAL
Limit Switch
Công tắc giới hạn
Micro switch · NO type For homing. Not required for normal stacking operation but recommended for long rails. OPTIONAL
// COMPATIBILITY NOTES

What to Watch Out For

Kiểm tra thông số quan trọng trước khi cấp điện lần đầu.

⚠ Motor Current
Đừng vượt 2A RMS
TMC2209 tối đa 2A RMS. Đặt IRUN trong Web UI không quá 80% rated current của motor. Ví dụ: motor 1.5A → set IRUN = 850–1000 (mA). Quá dòng → driver nóng, mất bước, hoặc hỏng chip.
⚠ Motor Voltage
12V là lý tưởng
TMC2209 chạy tốt ở 12V–24V. Dùng 24V cho motor lớn để tăng torque ở tốc độ cao, nhưng kiểm tra tản nhiệt. Ở 12V, motor NEMA 17 thông thường đủ mạnh cho macro rail.
ℹ Step Angle
Dùng 1.8° (200 step/rev)
Motor 0.9° (400 step/rev) cho độ phân giải cao hơn nhưng chậm hơn và ít phổ biến hơn. X-STACK firmware được tối ưu cho motor 1.8° kết hợp 256 microstep → 51,200 step/rev.
ℹ Lead Screw Pitch
Nhớ nhập đúng pitch vào Web UI
Độ phân giải thực tế phụ thuộc vào pitch của vít me. T8x2 (2mm/rev) ÷ 51,200 step/rev = ~0.039µm/step. T8x8 (8mm/rev) → ~0.156µm/step. Nhập đúng giá trị pitch trong phần cài đặt hệ thống.
✓ Backlash
Luôn bật Backlash Compensation
Tất cả vít me đều có backlash (độ rơ). Bật tính năng Backlash Comp trong Web UI và đo giá trị bằng cách chạy thử. Thường 50–200µm. Dùng anti-backlash nut T8 để giảm cơ học.
✓ Motor Wiring
Kiểm tra thứ tự cuộn dây
Motor bước 2-phase có 2 cuộn dây (A, B). Đấu sai thứ tự → motor không quay hoặc rung lắc. Đo điện trở: 2 đầu cùng cuộn = ~1–5Ω. Khác cuộn = hở mạch (∞). Thứ tự chuẩn: A+ A- B+ B-.
// WIRING DIAGRAM

Connections

Sơ đồ đấu dây tham khảo cho X-STACK V12. Luôn tắt nguồn trước khi thay đổi kết nối.

Motor Connector (4-pin)

PIN 1 — A+Motor coil A, wire 1
e.g. Black
PIN 2 — A-Motor coil A, wire 2
e.g. Green
PIN 3 — B+Motor coil B, wire 1
e.g. Red
PIN 4 — B-Motor coil B, wire 2
e.g. Blue
💡 Nếu motor quay ngược chiều mong muốn: đổi chỗ A+A- hoặc đảo chiều trong firmware (Motor Direction parameter).

Power & Misc

POWER IN12V DC · Barrel Jack 5.5/2.1mm
Center +, Sleeve GND
LIMIT SWMicro switch · NO contact
GND + LIMIT pin
USB-CProgramming / Serial Monitor only
NOT for motor power
TFT / SPIOnboard — pre-wired
Do not modify
⚠ Không cấp nguồn motor qua USB. Cổng USB chỉ dùng để lập trình và đọc Serial. Nguồn motor phải qua jack DC 12V riêng.
// CONFIGURATION

Cài đặt bộ điều khiển

Sau khi đấu dây, thực hiện các bước sau trong Web UI (kết nối WiFi AP của X-STACK, mở 192.168.4.1).

01
Kết nối WiFi AP
Bật X-STACK. Tìm WiFi SSID XSTACK_V12 (mật khẩu mặc định: motionlab). Kết nối bằng điện thoại hoặc laptop. Mở trình duyệt → 192.168.4.1.
02
Nhập thông số Motor (IRUN / IHOLD)
Vào Settings → Motor Current. Đặt IRUN = 70–80% rated current của motor (ví dụ motor 1.5A → IRUN = 1050mA). Đặt IHOLD = 30–50% IRUN để giảm nhiệt khi đứng yên.
03
Chọn Microstep Resolution
Mặc định: 256 microstep — khuyến nghị cho macro photography. Giảm xuống 16 hoặc 32 nếu cần tốc độ cao hơn (ví dụ: video timelapse). Tăng microstep = êm hơn nhưng chậm hơn.
04
Nhập Lead Screw Pitch
Vào Settings → Mechanical. Nhập pitch vít me (mm/rev). T8x2 = 2.0, T8x8 = 8.0. Giá trị này dùng để tính toán bước di chuyển µm chính xác.
05
Đo và nhập Backlash Compensation
Di chuyển rail về một hướng 1mm. Đổi chiều và đo khoảng rơ (quan sát plate không di chuyển ngay). Nhập giá trị µm vào Backlash. Thường 50–300µm tùy vít me và nut. Test lại nhiều lần.
06
Chọn Lens Profile & Step Size
Dùng trang Calculator để tính step size phù hợp với lens và sensor. Lưu vào Lens Profile A–F. Mỗi profile lưu step size, IRUN/IHOLD, và tên lens.
07
Kết nối Sony BLE
Vào Settings → BLE Camera. Nhấn Scan. Chọn camera Sony từ danh sách. Sau khi pair, test trigger bằng nút Test Shot. Camera phải được bật chế độ Bluetooth Remote.
08
Chạy Test Stack đầu tiên
Đặt số frame = 20, step size = 10µm, delay = 500ms. Nhấn START. Quan sát motor di chuyển mượt và camera trigger đều đặn. Kiểm tra ảnh — nếu có banding, tăng delay. Nếu motor run rẩy, giảm IRUN.
// TESTED COMBINATIONS

Combo thực tế

Các cấu hình này đã được team MotionLab và cộng đồng kiểm thử. Dùng làm điểm khởi đầu tham khảo.

COMBO A · BUDGET BUILD
T8 Rail + 17HS4401
Motor: NEMA 17 · 17HS4401 · 1.5A
Lead screw: T8x2 · 200mm
Guide: MGN12H · 200mm
IRUN: 1050mA · IHOLD: 400mA
Microstep: 256 · Backlash: 80µm
Resolution: ~0.039µm/step
VERIFIED · Good for 1x–20x objectives
COMBO B · PRECISION BUILD
M5 Screw + Pancake Motor
Motor: NEMA 17 Pancake · LDO-42STH25 · 1.0A
Lead screw: M5 × 0.8mm pitch · 150mm
Guide: MGN9H · 150mm
IRUN: 700mA · IHOLD: 200mA
Microstep: 256 · Backlash: 40µm
Resolution: ~0.016µm/step
VERIFIED · Excellent for 20x–50x objectives
COMBO C · HIGH SPEED
T8x8 Rail + NEMA 17 High Torque
Motor: NEMA 17 · 17HE15-1504S · 1.5A
Lead screw: T8x8 · 4 starts · 300mm
Guide: MGN12H · 300mm
IRUN: 1200mA · IHOLD: 500mA
Microstep: 16 · Backlash: 200µm
Resolution: ~0.156µm/step
VERIFIED · Best for 1x–5x wide macro, fast stacks
// FAQ & WARNINGS

Câu hỏi thường gặp

Kiểm tra thứ tự cuộn dây A+/A-/B+/B-. Đo điện trở bằng đồng hồ VOM: 2 dây cùng cuộn phải thông (1–5Ω). Nếu ok, giảm IRUN xuống 50% và test lại. Kiểm tra nguồn 12V đủ dòng (dùng multimeter đo voltage drop khi motor chạy).

Tăng Settle Delay (thời gian chờ sau khi motor dừng trước khi chụp). Bắt đầu với 300–500ms. Kiểm tra khớp nối motor-vít me có bị rung không. Giảm IRUN để giảm rung khi motor dừng. Kiểm tra nut vít me có bị lỏng không.

Nếu kêu to ở tốc độ thấp: StealthChop chưa được kích hoạt — kiểm tra firmware version. Nếu nóng: IRUN quá cao hoặc IHOLD chưa được giảm. IHOLD nên ≤ 30% IRUN. TMC2209 có thermal protection tự động shutdown ở 150°C — đây là bình thường nhưng không nên xảy ra thường xuyên.

Đảm bảo X-STACK đang chạy (đèn LED sáng, TFT hiển thị). AP mode chỉ bật khi không có WiFi STA được cấu hình, hoặc khi hold nút BOOT lúc khởi động. Thử reset về factory default bằng cách giữ nút MODE 5 giây khi bật nguồn.

Bật Bluetooth Remote trên camera (Menu → Bluetooth → Remote Control → On). Unpair các thiết bị cũ trên camera trước. Khoảng cách BLE tối ưu ≤ 5m. Nếu vẫn không kết nối: flash lại firmware X-STACK và thử pair lại từ đầu.

Không khuyến nghị. TMC2209 tối đa 2A RMS — hầu hết NEMA 23 cần 3–4A. Dùng NEMA 23 có thể gây quá dòng, driver nóng và mất bước. Nếu cần torque lớn hơn, nâng cấp lên nguồn 24V và dùng NEMA 17 high-torque (≤2A) thay vì NEMA 23.

⚠ Critical Warnings / Cảnh báo quan trọng