
راهنمای عملی و مرحلهبهمرحله برای راهاندازی CNC با GRBL روی Arduino (Uno / Nano) — خلاصهٔ اجرایی
راهاندازی CNC با GRBL
جدول پینها (Arduino Nano + GRBL)
| عملکرد | ترمینال TB6600 | Arduino Nano (پین) |
|---|---|---|
| X STEP (PUL+) | PUL+ (X driver) | D2 |
| X STEP (PUL-) | PUL- (X driver) | GND |
| X DIR (DIR+) | DIR+ (X driver) | D5 |
| X DIR (DIR-) | DIR- (X driver) | GND |
| Y STEP (PUL+) | PUL+ (Y driver) | D3 |
| Y STEP (PUL-) | PUL- (Y driver) | GND |
| Y DIR (DIR+) | DIR+ (Y driver) | D6 |
| Y DIR (DIR-) | DIR- (Y driver) | GND |
| Z STEP (PUL+) | PUL+ (Z driver) | D4 |
| Z STEP (PUL-) | PUL- (Z driver) | GND |
| Z DIR (DIR+) | DIR+ (Z driver) | D7 |
| Z DIR (DIR-) | DIR- (Z driver) | GND |
| ENABLE+ (shared) | ENA+ (همه) | D8 |
| ENABLE- | ENA- (همه) | GND |
| Limit X | سوییچ X | D9 |
| Limit Y | سوییچ Y | D10 |
| Limit Z | سوییچ Z | D11 |
| GND مشترک | — | همهٔ TB6600 و Arduino |
تنظیم فیزیکی درایورها
- DIP microstep روی هر TB6600 را روی 1/16 بگذار.
- جریان هر درایور مطابق موتور تنظیم شود (~1–2A).
- Vmot → 24V، GND → مشترک با Arduino.
- موتور → A+/A-/B+/B-.
اتصالات سیگنال
- PUL+ X → D2, PUL- X → GND
- DIR+ X → D5, DIR- X → GND
- PUL+ Y → D3, PUL- Y → GND
- DIR+ Y → D6, DIR- Y → GND
- PUL+ Z → D4, PUL- Z → GND
- DIR+ Z → D7, DIR- Z → GND
- ENA+ → D8, ENA- → GND
- Limit X/Y/Z بین پینهای D9/D10/D11 و GND
- همهٔ GNDها مشترک
محاسبه Steps/mm (1/16 microstep)
- موتور: 200 steps/rev
- microstep = 16 → 3200 steps/rev
تسمه محور X و Y:
- پولی 15 دندانه × گام 5mm = 75mm/rev
→ 3200 / 75 = 42.666667 steps/mm
لیداسکرو محور Z (lead = 8mm):
→ 3200 / 8 = 400 steps/mm
تنظیمات GRBL (در UGS بزن)
$0=10
$1=25
$2=0
$3=0
$4=0
$5=0
$10=1
$20=0
$21=1
$22=1
$23=0
$24=200.0
$25=1000.0
$26=250
$27=3.0
$100=42.666667
$101=42.666667
$102=400
$110=2000
$111=2000
$112=500
$120=300
$121=300
$122=50
اندازهگیری travel و Soft limits
$130=<X_max_mm>
$131=<Y_max_mm>
$132=<Z_max_mm>
$20=1
مراحل اجرا
- USB → آردوینو Nano → UGS (115200) → Connect
- اگر Alarm →
$X $$برای بررسی مقادیر- Jog X/Y/Z (10 mm) برای تست حرکت
- اگر جهت اشتباه → عوضکردن دو سیم یک کویل یا تغییر
$3 - تست دقت با
G0 X100→ اصلاح$100/$101در صورت نیاز $Hبرای homing (در صورت نصب limit)- تعیین نقطه صفر کار:
G10 L2 P1 X0 Y0 Z0
چکلیست
- GND مشترک بین منبع، آردوینو و TB6600
- microstep روی 1/16
- جریان TB6600 تنظیم
- Steps/mm ست شد ($100/$101/$102)
- اتصال UGS و تست حرکت موفق
آمادهٔ استفاده در CNC با میکرواستپ 1/16 ✅
اتصال به UGS و مراحل اولیه تنظیم
(UGS = Universal Gcode Sender)
1 — نصب و اتصال
-
UGS (Java-based) را باز کن (یا از UGSPlatform جدید استفاده کن).
-
از منوی بالایی پورت سریال (COM) مربوط به آردوینو نانو را انتخاب کن.
-
Baud rate: برای GRBL معمولاً 115200 است (بعضی نسخهها 57600)، اگر متصل نشد 115200 را امتحان کن.
-
کلیک کن روی Connect. در صورت موفقیت UGS باید وضعیت
AlarmیاIdleیاReadyرا نشان دهد.
2 — تست وضعیت و قفل/باز کردن
-
پس از اتصال،
$$را بفرست تا تنظیمات را ببینی. -
اگر GRBL در حالت
Alarmاست (مثلاً بعد از homing نکردن) دستور\$X(unlock) را بفرست تا باز شود (نکته:$Xفقط unlock میکند، اما اگر از homing استفاده میکنی بهتر است$Hبرای homing اجرا شود).
3 — Homing (اگر limit/homing داری)
-
اگر
$22=1(homing enabled) و سوییچها را وصل کردهای، در UGS دکمهHomeیا ارسال دستور$Hرا انجام بده. -
مشاهده کن که محورها به سمت سوییچها میروند، سوییچ را میزنند، عقب میآیند و دوباره میآیند (seek) — این فرایند حرکت و تنظیم نقطهٔ home را انجام میدهد.
4 — تنظیم steps/mm و آزمون حرکت دقیق
-
تنظیم مقادیر محاسبهشده:
-
ارسال در UGS:
$100=85.333333 -
$101=85.333333 -
$102=800
-
-
بعد از ست کردن، تست 100 mm: با دستور
G0 X100یا از Jog UGS محور را فرمان بده تا 100 mm برود (قبلش محور را به جایی که اندازهگیری راحت است ببر). با خطکش دقیق یا کولیس، حرکت واقعی را اندازه بگیر. اگر مثلاً 100 mm ارسال کردی و محور 99.5 mm رفت، نسبت خطا را محاسبه کن و مقدار steps/mm را اصلاح کن:-
جدید = (requested_mm / measured_mm) × old_steps_per_mm
-
مثال: اگر 100 درخواست دادی و 99.5 اندازه گرفتی، ضریب = 100/99.5 = 1.005025 → new_steps = 85.333 × 1.005025 = 85.76
-
-
وقتی اصلاح کردی، مقدار جدید را دوباره در
$100یا$101قرار بده و دوباره تست کن تا دقیق شود.
5 — تنظیم کاربری (Work coordinates)
-
وقتی home شد، برای تعیین نقطهٔ صفرِ کار از
G10 L2 P1 X0 Y0 Z0یا با UGS صفر کن (Set Work Zero) استفاده کن. معمولاً این کار بعد از home انجام میشود یا میتونی با Jog و Set Zero با ماوس/دکمهٔ UGS نقطهٔ صفر را مشخص کنی.
6 — فعالسازی Soft limits (اختیاری پس از تعیین travel)
-
اندازهٔ کل travel (مسیر قابل حرکت) را اندازه بگیر و در
$130/$131/$132قرار بده. سپس اگر مطمئنی که مقادیر درستاند$20=1بزن تا soft limits فعال شوند. این از حرکت خارج از محدوده جلوگیری میکند.




