Cara Tuning Motor Stepper CNC: Current, Microstepping, dan Acceleration
Kenapa Tuning Motor Stepper Penting pada Mesin CNC?
Motor stepper adalah salah satu komponen paling penting pada mesin CNC. Motor inilah yang mengubah perintah dari controller menjadi gerakan mekanis pada sumbu X, Y, dan Z.
Masalahnya, motor stepper tidak otomatis bekerja optimal hanya karena sudah terpasang dan bisa bergerak.
Jika setting driver, arus, microstepping, acceleration, atau kecepatan maksimal tidak sesuai, mesin mungkin tetap terlihat bekerja normal pada gerakan ringan, tetapi mulai bermasalah ketika:
-
melakukan rapid move,
-
cutting dengan beban tinggi,
-
mengubah arah dengan cepat,
-
menjalankan job panjang,
-
atau bergerak pada kecepatan tertentu.
Gejalanya bisa berupa:
-
missed step atau kehilangan langkah,
-
posisi hasil cutting bergeser,
-
motor bergetar,
-
suara motor kasar,
-
motor terlalu panas,
-
driver overheat,
-
torque terasa lemah,
-
axis tiba-tiba berhenti,
-
atau mesin tidak mampu mencapai kecepatan yang sebenarnya masih memungkinkan secara mekanis.
Karena itu, tuning motor stepper sebaiknya dilakukan sebagai bagian dari commissioning mesin CNC, bukan hanya ketika masalah sudah muncul.
Secara umum ada empat parameter yang sangat berpengaruh:
Current → Microstepping → Maximum Speed → Acceleration
Keempatnya saling berkaitan.
1. Setting Arus Motor Stepper
Kenapa Arus Penting?
Torque motor stepper sangat dipengaruhi oleh arus kumparan.
Secara sederhana:
arus lebih besar → medan magnet lebih kuat → torque lebih besar
Tetapi arus yang lebih besar juga menghasilkan panas lebih besar.
Jika terlalu tinggi:
-
motor cepat panas,
-
driver ikut panas,
-
efisiensi turun,
-
umur komponen dapat berkurang,
-
thermal protection driver bisa aktif.
Sebaliknya jika arus terlalu rendah:
-
torque motor berkurang,
-
axis mudah kehilangan langkah,
-
motor sulit melakukan acceleration tinggi,
-
dan CNC dapat kehilangan posisi ketika cutting.
Jadi tujuan tuning arus bukan mencari arus sebesar mungkin.
Tujuannya adalah mencari:
arus minimum yang masih memberikan torque cukup untuk kondisi kerja terberat mesin.
Rated Current Motor Tidak Selalu Sama dengan Setting Driver
Ini bagian yang sering membingungkan pemula.
Misalnya motor memiliki label:
NEMA23 — 2.8 A
Angka tersebut biasanya menunjukkan rated phase current motor.
Tetapi driver stepper bisa menampilkan setting dalam bentuk:
-
RMS current,
-
peak current,
-
atau nilai yang ditentukan pabrikan dengan metode tertentu.
Karena itu jangan langsung menganggap:
motor 2.8 A = driver harus disetel tepat 2.8 A
Selalu periksa tabel driver.
Beberapa driver eksternal menampilkan nilai Peak Current, sementara driver lain menampilkan RMS Current.
Hubungannya kira-kira:
Ipeak ≈ 1.414 × Irms
Contoh:
Jika driver menyatakan:
2.0 A RMS
maka peak current-nya kira-kira:
2.0 × 1.414 ≈ 2.83 A peak
Inilah sebabnya membaca datasheet driver sangat penting.
Berapa Arus yang Sebaiknya Digunakan?
Sebagai titik awal, setting sekitar 70–80% dari kemampuan motor sering menjadi pendekatan yang aman.
Misalnya motor:
Rated current = 3.0 A
kamu bisa mulai dari sekitar:
2.1–2.4 A
kemudian lakukan pengujian.
Tetapi angka ini bukan aturan mutlak.
Mesin yang mempunyai beban ringan mungkin cukup menggunakan arus lebih rendah.
Sedangkan mesin dengan:
-
gantry berat,
-
ballscrew besar,
-
spindle berat,
-
acceleration tinggi,
-
atau cutting agresif,
mungkin membutuhkan arus lebih tinggi.
Karena itu tuning harus dilakukan berdasarkan kondisi mesin sebenarnya.
Cara Setting Arus pada Driver Eksternal
Driver eksternal seperti:
-
DM542,
-
DM556,
-
DM860,
-
TB6600,
-
CL57,
-
dan driver sejenis,
umumnya menggunakan DIP switch.
Pada body driver biasanya terdapat tabel seperti:
SW1 SW2 SW3 → Current
Misalnya:
OFF ON ON = 2.84 A
atau nilai lain tergantung model driver.
Gunakan nilai terdekat dengan target arus motor.
Jangan menggunakan tabel dari driver lain walaupun bentuk casing terlihat sama.
Khusus driver generik seperti TB6600, label dan konfigurasi internal bisa berbeda antara satu produk dan produk lainnya.
Karena itu selalu cek manual atau spesifikasi unit yang digunakan.
Setting Arus pada DRV8825 dan Driver Modul
Pada driver seperti DRV8825 atau modul stepstick lainnya, current limit biasanya diatur menggunakan trimpot Vref.
Prinsipnya:
Vref → menentukan current limit driver
Rumus persisnya tergantung:
-
IC driver,
-
nilai Rsense,
-
desain modul,
-
dan konfigurasi board.
Jadi jangan menggunakan satu rumus untuk semua driver.
Rumus seperti:
I = Vref ÷ (8 × Rsense)
bisa berlaku pada konfigurasi tertentu, tetapi tidak boleh dianggap universal.
Kesalahan membaca Rsense bisa membuat arus jauh lebih tinggi dari yang diperkirakan.
Karena itu langkah paling aman:
-
Identifikasi tipe driver.
-
Cari nilai sense resistor pada board.
-
Baca datasheet atau dokumentasi modul.
-
Ukur Vref menggunakan multimeter.
-
Atur secara perlahan.
Gunakan obeng non-konduktif jika tersedia.
Hindari menyentuh pin driver dengan ujung probe karena short kecil saja dapat merusak modul.
TMC2209 dan Driver Modern
Driver seperti TMC2209 mempunyai fitur lebih canggih dibanding DRV8825.
Pada konfigurasi tertentu, current dapat dikontrol melalui komunikasi UART.
Dengan firmware seperti grblHAL, firmware dapat mengatur parameter driver secara langsung tanpa harus mengandalkan trimpot.
Keuntungannya antara lain:
-
setting lebih repeatable,
-
mudah diubah melalui software,
-
dapat menggunakan current berbeda antara idle dan moving,
-
dan konfigurasi lebih mudah direproduksi.
Namun fitur ini hanya tersedia jika hardware controller memang menghubungkan pin UART dan firmware mendukung driver tersebut.
Cara Mengecek Apakah Arus Sudah Tepat
Setelah setting awal selesai, jangan langsung menganggap tuning sudah selesai.
Jalankan mesin.
Lakukan:
-
jogging,
-
rapid,
-
perubahan arah,
-
dan test cutting.
Kemudian periksa temperatur motor serta driver.
Sebagai gambaran praktis:
40–50°C
Normal dan nyaman.
50–65°C
Masih sangat umum pada motor stepper.
65–80°C
Mulai cukup panas, tetapi belum tentu berbahaya tergantung rating motor.
Di atas sekitar 80°C
Perlu diperiksa apakah current terlalu tinggi atau sistem pendinginan buruk.
Namun jangan hanya mengandalkan tangan.
Metode “masih bisa dipegang” sangat subjektif.
Lebih baik gunakan:
-
infrared thermometer,
-
thermal camera,
-
atau sensor temperatur.
Banyak motor stepper sebenarnya dirancang untuk beroperasi cukup panas, tetapi temperatur tinggi tetap harus dipantau terutama jika housing motor berada dekat plastik, HDPE, kabel, atau komponen sensitif.
2. Microstepping
Apa Itu Microstepping?
Motor stepper umum mempunyai step angle:
1.8° per full step
Artinya satu putaran membutuhkan:
360 ÷ 1.8 = 200 full steps
Microstepping membagi satu full step menjadi langkah-langkah yang lebih kecil.
Contoh:
Full step
200 step/rev
1/2 microstep
400 step/rev
1/4
800 step/rev
1/8
1600 step/rev
1/16
3200 step/rev
1/32
6400 step/rev
Semakin tinggi microstepping, gerakan motor biasanya semakin halus.
Microstepping Tidak Sama dengan Akurasi
Ini salah satu kesalahpahaman paling umum.
Misalnya pada 1/16 microstep secara teoritis satu microstep sangat kecil.
Tetapi itu bukan berarti akurasi mekanis CNC otomatis menjadi 16 kali lebih baik.
Microstep terutama membantu:
-
memperhalus gerakan,
-
mengurangi suara,
-
mengurangi resonansi tertentu,
-
dan membuat transisi motor lebih smooth.
Posisi intermediate microstep tidak memiliki torque holding sebesar full step.
Jadi jangan menyamakan:
resolution = accuracy
Akurasi mesin tetap dipengaruhi oleh:
-
backlash,
-
rigiditas frame,
-
ballscrew/leadscrew pitch error,
-
belt stretch,
-
bearing,
-
spindle runout,
-
tool deflection,
-
dan calibration steps/mm.
Apakah Microstepping Tinggi Mengurangi Torque?
Jawabannya perlu sedikit diluruskan.
Microstepping tinggi tidak berarti motor kehilangan seluruh torque secara drastis.
Torque total motor tetap bergantung pada arus dan desain motor.
Tetapi incremental torque antara dua posisi microstep menjadi lebih kecil.
Artinya kemampuan motor untuk secara kuat mempertahankan setiap posisi microstep kecil tidak sama dengan full-step position.
Karena itu menggunakan:
1/128 atau 1/256 microstep
tidak otomatis membuat CNC lebih presisi daripada 1/16.
Pada CNC router, biasanya tidak ada keuntungan mekanis besar setelah microstepping terlalu tinggi.
1/8 atau 1/16 untuk CNC?
Untuk sebagian besar CNC router, dua setting yang sangat umum adalah:
1/8
atau
1/16
Keduanya memberikan gerakan yang cukup smooth tanpa menghasilkan kebutuhan step pulse yang terlalu tinggi.
Untuk controller STM32 dan grblHAL, 1/16 sering menjadi pilihan yang sangat nyaman.
Namun pemilihan terbaik tetap bergantung pada transmisi.
Contoh mesin belt:
Motor:
200 step/rev
Microstep:
1/16
Pulley:
20T
Belt GT2:
2 mm pitch
Jarak per putaran pulley:
20 × 2 = 40 mm
Maka:
200 × 16 ÷ 40
=
80 steps/mm
Nilai ini sangat masuk akal untuk CNC belt drive.
Contoh pada Ballscrew SFU1605
Motor 200 step/rev.
Microstep 1/16.
Ballscrew 1605 mempunyai lead:
5 mm/rev
Maka:
200 × 16 ÷ 5
=
640 steps/mm
Jika mesin bergerak pada:
3000 mm/min
berarti:
3000 ÷ 60 = 50 mm/s
Pulse yang dibutuhkan:
50 × 640
=
32.000 step pulse/detik
atau sekitar:
32 kHz
Controller STM32 biasanya dapat menangani angka seperti ini dengan baik.
Tetapi jika microstepping dinaikkan menjadi 1/64:
640 × 4 = 2560 steps/mm
Pada 3000 mm/min:
50 × 2560
=
128 kHz
Sekarang controller harus menghasilkan jauh lebih banyak pulse hanya untuk mendapatkan gerakan mekanis yang pada praktiknya belum tentu lebih akurat.
Inilah alasan microstepping terlalu tinggi sering tidak memberikan manfaat berarti.
Microstepping dan Resonansi
Stepper mempunyai karakteristik resonansi.
Pada kecepatan tertentu motor bisa:
-
mendengung,
-
bergetar,
-
kehilangan torque,
-
atau bahkan stall.
Microstepping membantu mengurangi beberapa efek resonansi karena arus pada coil berubah lebih halus.
Tetapi microstepping bukan solusi untuk semua masalah resonansi.
Faktor lain juga berpengaruh:
-
jenis driver,
-
tegangan supply,
-
massa axis,
-
coupling,
-
ballscrew,
-
belt tension,
-
acceleration,
-
dan mechanical resonance.
Driver digital seperti DM542 umumnya menghasilkan gerakan yang lebih halus dibanding driver stepper generik sederhana.
3. Max Rate: Seberapa Cepat Axis Bisa Bergerak?
Pada GRBL/grblHAL parameter:
$110 = X max rate
$111 = Y max rate
$112 = Z max rate
biasanya dalam:
mm/min
Max rate menentukan batas kecepatan axis.
Jangan langsung memasukkan angka tinggi hanya karena mesin mampu bergerak cepat tanpa beban.
Torque motor stepper turun ketika RPM meningkat.
Artinya motor yang sangat kuat pada kecepatan rendah bisa tiba-tiba kehilangan torque pada kecepatan tinggi.
Cara Tuning Max Rate
Mulailah dari kecepatan konservatif.
Misalnya:
2000 mm/min
Jog axis sepanjang perjalanan yang cukup panjang.
Kemudian naikkan:
2500
3000
3500
dan seterusnya.
Cari titik ketika motor mulai menunjukkan:
-
suara berubah,
-
stall,
-
kehilangan langkah,
-
atau gerakan tidak konsisten.
Misalnya axis mulai gagal pada:
5000 mm/min
Jangan menjalankannya tepat di bawah 5000.
Berikan safety margin.
Misalnya gunakan:
4000 mm/min
atau sekitar 20% di bawah batas kegagalan.
CNC sebaiknya tidak dijalankan pada absolute limit sistem.
Voltage Supply Sangat Berpengaruh pada High-Speed Torque
Selain current, tegangan supply driver juga sangat memengaruhi performa stepper pada kecepatan tinggi.
Ini sering terlewat.
Current menentukan seberapa besar medan magnet maksimum coil.
Tetapi coil motor mempunyai induktansi.
Pada RPM tinggi, driver hanya mempunyai waktu sangat singkat untuk menaikkan arus pada coil.
Tegangan supply yang lebih tinggi membantu current naik lebih cepat.
Karena itu driver stepper yang mendukung:
36 V atau 48 V
sering mampu mempertahankan torque pada RPM tinggi lebih baik dibanding sistem 12 V atau 24 V.
Tentunya tegangan tidak boleh melebihi rating driver.
Jangan menyamakan:
tegangan motor
dengan
tegangan power supply driver
Stepper modern bekerja menggunakan chopper driver yang mengontrol arus coil.
4. Acceleration
Parameter GRBL/grblHAL:
$120 = X acceleration
$121 = Y acceleration
$122 = Z acceleration
biasanya dalam:
mm/s²
Acceleration menentukan seberapa cepat axis berpindah dari kondisi diam menuju kecepatan tertentu.
Contoh:
Acceleration = 100 mm/s²
berarti setiap detik kecepatannya bertambah sebesar:
100 mm/s
secara konseptual.
Kenapa Acceleration Sering Menyebabkan Missed Step?
Motor stepper mempunyai torque terbesar pada RPM rendah.
Tetapi motor juga harus mengakselerasi:
-
rotor motor,
-
pulley atau ballscrew,
-
gantry,
-
spindle,
-
linear carriage,
-
dan seluruh massa axis.
Jika acceleration terlalu tinggi, torque yang dibutuhkan untuk mempercepat massa melebihi torque motor yang tersedia.
Hasilnya motor kehilangan sinkronisasi.
Biasanya terdengar sebagai:
“krek”, “duk”, atau suara motor seperti slip.
Setelah itu posisi mesin sudah meleset walaupun controller masih menganggap semuanya normal.
Cara Tuning Acceleration
Mulailah dari angka konservatif.
Misalnya CNC router hobi:
50–100 mm/s²
Kemudian naikkan secara bertahap:
100
150
200
250
300
dan seterusnya.
Lakukan jogging bolak-balik dengan perubahan arah cepat.
Perhatikan apakah motor:
-
kehilangan langkah,
-
menghasilkan benturan,
-
menimbulkan getaran berlebihan,
-
atau terdengar sangat kasar.
Ketika menemukan batas, turunkan lagi dan berikan safety margin.
Pada mesin belt yang ringan, acceleration bisa cukup tinggi.
Pada gantry berat dengan ballscrew, angka optimal dapat jauh lebih rendah.
Max Speed dan Acceleration Harus Dituning Bersama
Dua mesin bisa mempunyai max rate sama tetapi karakter yang sangat berbeda.
Contoh:
Mesin A:
Max rate = 5000 mm/min
Acceleration = 100 mm/s²
Mesin B:
Max rate = 5000 mm/min
Acceleration = 500 mm/s²
Walaupun top speed sama, Mesin B mencapai kecepatan tersebut jauh lebih cepat.
Akibatnya beban instantaneous pada motor jauh lebih besar.
Untuk CNC router, acceleration sering lebih kritis daripada top speed.
Mesin bisa berjalan lancar pada 5000 mm/min ketika sudah bergerak stabil tetapi kehilangan langkah ketika mencoba mencapai kecepatan tersebut terlalu cepat.
Jangan Tuning Hanya dengan Jogging Tanpa Cutting
Mesin yang berhasil rapid tanpa beban belum tentu stabil ketika memotong material.
Saat cutting, motor juga harus melawan:
cutting force.
Terutama ketika:
-
DOC besar,
-
endmill besar,
-
feed tinggi,
-
material keras,
-
atau tool mulai tumpul.
Karena itu tuning final harus diuji menggunakan kondisi yang mendekati pekerjaan sebenarnya.
Misalnya mesin biasanya memotong plywood dengan:
Feed 2000 mm/min
DOC 3 mm
lakukan pengujian pada kondisi tersebut.
Jika target utama aluminium, lakukan uji cutting aluminium.
Bedakan Missed Step dengan Backlash
Hasil cutting bergeser tidak selalu berarti motor kehilangan langkah.
Beberapa kemungkinan lain:
Missed step
Posisi berubah setelah motor stall.
Backlash
Gerakan balik arah memiliki free play.
Belt longgar
Pulley atau belt menghasilkan positioning error.
Pulley slip
Set screw pulley tidak mengunci shaft dengan baik.
Coupling slip
Ballscrew tidak mengikuti shaft motor secara sempurna.
Frame flex
Tool terdorong oleh cutting force.
Karena itu jangan langsung menaikkan current setiap kali hasil cutting meleset.
Cari penyebab mekanis terlebih dahulu.
Cara Mengetahui Motor Kehilangan Langkah
Salah satu test sederhana:
-
Homing mesin.
-
Tandai atau catat posisi.
-
Jalankan jogging agresif berulang kali.
-
Kembali ke posisi awal.
-
Bandingkan posisi fisik.
-
Homing kembali dan lihat apakah posisi berubah.
Jika axis tidak kembali ke posisi yang seharusnya, ada kemungkinan stepper kehilangan langkah.
Test juga dapat dilakukan menggunakan dial indicator untuk mendapatkan hasil lebih presisi.
Motor Panas Belum Tentu Karena Arus Terlalu Besar
Stepper memang dapat menghasilkan panas bahkan ketika tidak bergerak.
Ini karena driver tetap mengalirkan current untuk menghasilkan holding torque.
Pada driver yang mempunyai fitur idle current reduction, current dapat diturunkan ketika motor berhenti.
Contohnya:
Run current = 2.5 A
Idle current = 1.2 A
Keuntungannya:
-
motor lebih dingin,
-
driver lebih dingin,
-
konsumsi daya berkurang.
Tetapi idle current jangan terlalu rendah jika axis harus mempertahankan beban, terutama pada Z axis.
Jika Z menggunakan ballscrew yang mudah backdrive dan spindle berat, idle torque harus tetap cukup agar Z tidak turun.
Axis X, Y, dan Z Tidak Harus Menggunakan Setting Sama
Ini juga penting.
Misalnya:
X = carriage ringan.
Y = gantry 20 kg.
Z = spindle bergerak vertikal.
Maka kebutuhan masing-masing axis berbeda.
Contoh:
X current = 2.2 A
Y current = 2.8 A
Z current = 2.5 A
Begitu juga dengan acceleration.
Contoh:
$120 = 250
$121 = 150
$122 = 100
Tidak ada keharusan semua axis mempunyai setting yang sama.
Tuning berdasarkan karakter mekanis masing-masing axis.
Urutan Tuning yang Saya Sarankan
Supaya tidak membingungkan, lakukan tuning secara berurutan.
Step 1 — Pastikan Mekanik Sehat
Sebelum mengubah firmware:
-
rail harus bergerak ringan,
-
ballscrew tidak macet,
-
belt tension benar,
-
pulley terkunci,
-
coupling tidak slip.
Jangan mencoba menyelesaikan masalah mekanis dengan menambah current motor.
Step 2 — Tentukan Microstepping
Untuk CNC router, mulai dari:
1/8 atau 1/16
Kemudian hitung ulang steps/mm.
Step 3 — Calibration Steps/mm
Pastikan jarak pergerakan axis sudah benar.
Misalnya perintah:
X100
harus menghasilkan gerakan mendekati:
100 mm
Kalibrasi sebelum menguji speed.
Step 4 — Setting Current
Mulai sekitar:
70–80% rated motor
kemudian test torque dan temperatur.
Step 5 — Tune Max Rate
Naikkan kecepatan sedikit demi sedikit sampai menemukan batas mekanis/elektris.
Kemudian turunkan sekitar:
15–25%
sebagai safety margin.
Step 6 — Tune Acceleration
Naikkan acceleration sampai gerakan mulai agresif atau menunjukkan tanda kehilangan langkah.
Kemudian turunkan ke nilai yang stabil.
Step 7 — Test Job Panjang
Jangan hanya melakukan test 30 detik.
Jalankan mesin selama:
30 menit hingga beberapa jam
karena temperatur motor dan driver membutuhkan waktu untuk mencapai kondisi stabil.
Contoh Setting Awal CNC Router Hobby
Sebagai contoh saja, bukan nilai universal:
Motor:
NEMA23
Driver:
DM542
Supply:
24–36 V
Microstep:
1/16
Untuk belt drive:
Steps/mm ≈ 80
Max rate:
3000–5000 mm/min
Acceleration:
150–300 mm/s²
Untuk leadscrew/ballscrew:
Max rate:
2000–3500 mm/min
Acceleration:
80–200 mm/s²
Angka sebenarnya sangat tergantung:
-
motor,
-
driver,
-
supply voltage,
-
berat gantry,
-
pitch transmission,
-
dan rigiditas mekanis.
Jangan Mengejar Angka Terbesar
Kesalahan umum ketika tuning CNC adalah mengejar angka tinggi.
Misalnya:
“Mesin saya bisa rapid 8000 mm/min.”
Angka tersebut terlihat menarik, tetapi sebenarnya yang paling penting adalah:
Apakah mesin stabil?
Apakah tidak lost step setelah job 4 jam?
Apakah acceleration konsisten?
Apakah motor dan driver tidak overheating?
Apakah mesin tetap kembali ke posisi yang sama setelah ratusan kali perubahan arah?
Mesin produksi tidak membutuhkan setting tercepat.
Mesin produksi membutuhkan setting:
repeatable dan reliable.
CNC yang stabil di:
3500 mm/min
jauh lebih berguna daripada CNC yang kadang berhasil:
6000 mm/min
tetapi kehilangan langkah satu kali setiap beberapa jam.
Kesimpulan
Tuning motor stepper merupakan proses mencari keseimbangan antara:
Torque
Speed
Acceleration
Temperature
Smoothness
dan
Reliability
Current menentukan kekuatan motor.
Microstepping menentukan karakter dan kehalusan gerakan.
Max rate menentukan kecepatan tertinggi.
Acceleration menentukan seberapa agresif mesin mencapai kecepatan tersebut.
Keempatnya tidak boleh dituning secara terpisah.
Urutan yang aman adalah:
Mekanik sehat → Microstep → Steps/mm → Current → Max Rate → Acceleration → Long Test
Dan prinsip paling penting adalah:
Jangan mencari setting paling tinggi. Cari setting tertinggi yang masih benar-benar stabil, kemudian beri safety margin.
Dengan tuning yang tepat, motor stepper akan bekerja lebih dingin, lebih halus, mempunyai torque yang cukup, dan yang paling penting: mesin CNC dapat menyelesaikan job panjang tanpa kehilangan posisi.





