PERANCANGAN DRIVER ELEKTRONIK PENGERAK PENGGANTI
PADA MESIN CNC MENGGUNAKAN MICROSTEPING DENGAN
MICROCONTROLLER AVR ATTINY2313
Ricky Lesmana; Ferry Irawan; Jimmy Linggarjati
Computer Engineering Department, Faculty of Engineering, Binus University Jln. K.H. Syahdan No. 9, Palmerah, Jakarta Barat 11480
ABSTRACT
The arrangement of full step and half step methods have not fulfilled the industry needs anymore these days, which needs high level of precision and accuracy. Microstepping technique is one technique that answers the need. The technique has some advantages like: increasing resolution, reducing mechanical noise, softening mechanical actuation and reducing resonance problems. For application from motor stepper in micro stepping technique using Unipolar motor, and also using microstepping distribution of 1/3, 1/5, 1/6, 1/9, 1/10, to 1/18. The method used in this research is literature study and testing. The result is microstepping movement in motor stepper could reach 1/3, 1/6, 1/9, 1/18, 1/5 and 1/10 steps and implementation in CNC engine.
Keywords: motor stepper, microstepping, EMC2, Inkscape, CNC
ABSTRAK
Pengaturan metode full step dan half step sudah tidak dapat memenuhi kebutuhan industri sekarang ini yang membutuhkan tingkat presisi dan akurasi tinggi. Teknik microstepping merupakan salah satu teknik untuk menjawab kebutuhan tersebut. Teknik microstepping mempunyai banyak kelebihan seperti: meningkatkan resolusi, mengurangi kebisingan mekanik, melembutkan aktuasi mekanis dan mengurangi masalah resonansi. Untuk aplikasi dari motor stepper dengan teknik microstepping, menggunakan motor Unipolar, dan menggunakan pembagian microstepping 1/3, 1/5, 1/6, 1/9, 1/10, hingga 1/18. Adapun metode yang digunakan pada penelitian ini adalah studi literatur dan melakukan uji coba dalam perancangan hardware dan software, serta pengunaan program Inkscape dan EMC2. Hasil yang diperoleh dari penelitian ini adalah pergerakan microstepping pada motor steper dapat mencapai 1/3, 1/6, 1/9, 1/18, 1/5 dan 1/10 step dan pengimplementasian pada mesin CNC.
PENDAHULUAN
Sebuah motor stepper, sebagai namanya, bergerak satu langkah pada satu waktu, tidak seperti motor konvensional, yang berputar terus-menerus. Jika kita perintah sebuah motor stepper untuk memindahkan beberapa step tertentu, ia berputar secara bertahap sebanyak jumlah step dan berhenti. Karena sifat dasar ini sebuah motor stepper, secara luas digunakan sistem kontrol posisi open loop dengan biaya rendah. Kontrol open loop berarti tidak ada masukan informasi tentang posisi yang diperlukan. Ini menghilangkan kebutuhan untuk perangkat umpan balik yang mahal seperti optical encoders. Posisi motor diketahui hanya dengan melacak jumlah langkah input pulsa (Jones, 1990).
Teknik microstepping menggunakan tegangan yang bervariasi pada kutub rotor pada motor stepper. Dalam microstepping, arus dalam flux berubah dalam pecahan nilai arus. Oleh karena itu, arah resultan perubahan fluks pecahan dari 90 derajat. Biasanya, langkah penuh dibagi lagi menjadi langkah-langkah 4/8/16 (Jones, 1990). Untuk aplikasi dari motor stepper dengan teknik microstepping, menggunakan motor Unipolar, dan menggunakan pembagian microstepping 1/3, 1/5, 1/6, 1/9, 1/10, hingga 1/18.
METODE
Microstepping digunakan untuk 2 tujuan. Pertama, memungkinkan motor stepper untuk berhenti pada posisi full-step atau half-step. Kedua, menghilangkan sentakan-sentakan step yang terjadi pada kecepatan rendah dan kebisingan pada kecepatan menengah. Ketiga, mengurangi masalah pada resonansi. Microstepping memungkinkan langkah-langkah yang lebih kecil dengan menggunakan arus yang berbeda melalui dua gulungan motor seperti yang diperlihatkan pada Gambar 1.
Gambar 1. Kurfa 1/4 Steping
Berikut ini adalah perhitungan microstepping untuk memperoleh 1/3, 1/6, 1/9, 1/18, 1/5 dan 1/10, yang nantinya nilai yang didapat akan di masukan sebagai data untuk pemprograman pada ATtiny2313. Dengan persamaan berikut untuk memperoleh derajat elektris motor.
n
Step
Angle
=
*
360
Di mana:
Angle : Derajat sudut elektris motor
Dan persaman di bawah ini untuk nilai reverensi:
(
)
(
)
1 2 2 1 1 2 1 255 100 255 * 100 255 * cos * 100 sin * 100 Ref ComVal T Ref T Ref Angle T Angle T − = = = = = Di mana:T1 : Torsi Coil A (dalam %) T2 : Torsi Coil B (dalam %) Angle : Derajat sudut elektris motor Ref1 : Nilai referensi Coil A (0-255) Ref2 : Nilai referensi Coil A (0-255) ComVal : Nilai kompensasi
Nilai dari ComVal yang nantinya akan dimasukan kedalam program, sehingga mikrokontroler AVR dapat mengatur arus yang melalui setiap coil dalam motor stepper.
Gambar 2. Grafik dari Nilai ComVal untuk 1/18 step Torsi Normal
Untuk maksimum torque diperlukan persamaan Peak RMS untuk menjaga kestabilan pergerakan motor. Maka diperlukan persaman di bawah ini:
(
)
(
)
2
2
1
*
100
255
*
100
255
*
*
2
cos
*
100
*
2
sin
*
100
1 2 2 1 1 2 1Ref
PeakRMS
T
Ref
T
Ref
Angle
T
Angle
T
=
=
=
=
=
Di mana:
Peak RMS : Nilai Puncak RMS dari Nilai Referensi T1 : Torsi Coil A (dalam %)
T2 : Torsi Coil B (dalam %)
Angle : Derajat sudut elektris motor Ref1 : Nilai referensi Coil A (0-255) Ref2 : Nilai referensi Coil A (0-255)
Gambar 3. Grafik dari Nilai ComVal untuk 1/18 step Torsi Maximum
HASIL DAN PEMBAHASAN
Salah satu fitur dalam Inkscape adalah sebuah alat untuk melacak gambar bitmap menjadi elemen <path> untuk menggambar Scalable Vector Graphics (SVG). Saat ini Inkscape menggunakan mesin Potrace bitmap tracing (potrace.sourceforge.net) yang dibuat oleh Peter Selinger. Perlu diingat bahwa tujuan Tracer tidak untuk mereproduksi duplikat yang tepat dari gambar asli juga tidak dimaksudkan untuk menghasilkan produk akhir. Tidak ada Autotracer yang bisa melakukan itu. Apa yang dilakukan adalah memberikan satu set kurva yang dapat digunakan sebagai salah satu sarana untuk mengolah gambar. Potrace menginterpretasikan sebuah gambar bitmap hitam dan putih, dan menghasilkan satu set kurva. Untuk Potrace, saat ini kami memiliki tiga jenis filter untuk mengkonversi dari gambar bitmap menjadi sebuah gambar yang dapat diolah oleh Potrace (Bah, 2005). Tiga pilihan filter yang tersedia pada Inkscape yaitu seperti pada Gambar 4.
Pada pilihan Brightness Cutoff hanya menggunakan jumlah merah, hijau dan biru pada pixel (atau nuansa abu-abu) sebagai indikator apakah itu harus dianggap hitam atau putih. Cutoff dapat diatur dari 0,0 (hitam) samapi 1.0 (putih). Semakin tinggi pengaturan Cutoff, semakin sedikit jumlah pixel yang akan dianggap "putih", dan gambar akan menjadi lebih gelap.
Pada pilihan Optimal Edge Detection menggunakan algoritma deteksi tepi yang dibuat oleh J. Canny sebagai cara cepat menemukan isoclines kontras serupa. Ini akan menghasilkan bitmap yang akan terlihat kurang lebih seperti gambar asli daripada hasil Brightness Cutoff, tapi kemungkinan akan memberikan informasi kurva akan diabaikan. Pengaturan Threshold disini juga antara 0,0 - 1,0 yang menyesuaikan kecerahan, apabila piksel berdekatan dengan tepi kontras makaakan dimasukkan dalam output. Pengaturan ini dapat menyesuaikan kegelapan atau ketebalan dari tepi pada output.
Gambar 5. Brightness Cutoff Gambar 6. Edge Detected
Hasil dari filter Color Quantization akan menghasilkan gambar yang sangat berbeda dari dua lainnya, tetapi sangat berguna. Dari pada menunjukkan isoclines dari kecerahan atau kontras, ini akan menemukan sisi di mana warna berubah, bahkan pada kecerahan dan kontras yang sama. Pengaturan di sini, Jumlah Warna, memutuskan berapa banyak output warna akan ada jika bitmap warna. Ia kemudian memutuskan hitam / putih pada apakah warna memiliki indeks genap atau ganjil.
Gambar 7. Color Quantization Gambar 8. Gambar Hasil Percobaan Bentuk Sederhana
Tabel 1.
Waktu yang diperlukan
Steps Waktu Full Step 4:50 1/3 Step 4:48 1/6 Step 4:49 1/9 Step 4:49 1/18 Step 4:49 1/5 Step 4:49 1/10 Step 4:48
Dari data pada Tabel 1, bisa kita lihat tidak ada perbedaan pada waktu yang diperlukan mesin CNC untuk menyelesaikan Gambar 4.20 Hal ini dikarenakan pada program EMC2 mempunyai kemampuan untuk menyesuaikan microstepping dengan meningkatkan jumlah pulsa step pada driver motor stepper sehingga waktu yang ditempuh tidak terdapat perbedaan. Pengujian ini dilakukan berdasarkan jarak tempuh. Data yang didapat pada Tabel 2 berikut.
Tabel 2. Full Step Full Step Target 250 mm 150 mm 50 mm
Realisasi Error Realisasi Error Realisasi Error
246 mm 4 mm 148 mm 2 mm 50 mm 0 mm 246 mm 4 mm 148 mm 2 mm 50 mm 0 mm 247 mm 3 mm 150 mm 0 mm 50 mm 0 mm 247 mm 3 mm 148 mm 2 mm 50 mm 0 mm 248 mm 2 mm 148 mm 2 mm 50 mm 0 mm
Dari Tabel 2 dapat kita simpulkan bahwa pada target tempuh 250 mm terdapat miss rata-rata sekitar 3,4 mm sehingga terdapat error sekitar 1.36%, dan pada target tempuh 150 mm terdapat miss rata-rata sekitar 2 mm sehingga terdapat error sekitar 1,33 %, dan pada target tempuh 50 mm tidak terdapat error. Dari Tabel 3 dapat kita simpulkan bahwa pada target tempuh 250 mm terdapat miss rata-rata sekitar 4 mm sehingga terdapat error sekitar 1.6%, dan pada target tempuh 150 mm terdapat miss rata-rata sekitar 2 mm sehingga terdapat error sekitar 1,33%, dan pada target tempuh 50 mm tidak terdapat error.
Tabel 3. 1/3 Step 1/3 Step Target 250 mm 150 mm 50 mm
Realisasi Error Realisasi Error Realisasi Error
246 mm 4 mm 148 mm 2 mm 50 mm 0 mm 245 mm 5 mm 148 mm 2 mm 50 mm 0 mm 246 mm 4 mm 148 mm 2 mm 50 mm 0 mm 247 mm 3 mm 148 mm 2 mm 50 mm 0 mm 246 mm 4 mm 148 mm 2 mm 50 mm 0 mm Tabel 4. 1/6 Step 1/6 Step Target 250 mm 150 mm 50 mm
Realisasi Error Realisasi Error Realisasi Error
253 mm -3
246 mm 4 mm 147 mm 3 mm 48 mm 2 mm 246 mm 4 mm 147 mm 3 mm 48 mm 2 mm 246 mm 4 mm 147 mm 3 mm 48 mm 2 mm 246 mm 4 mm 147 mm 3 mm 49 mm 1 mm
Dari Tabel 4. dapat kita simpulkan bahwa pada target tempuh 250 mm terdapat miss rata-rata sekitar 3,8 mm sehingga terdapat error sekitar 1.52%, dan pada target tempuh 150 mm terdapat miss rata-rata sekitar 3 mm sehingga terdapat error sekitar 2%, dan pada target tempuh 50 mm terdapat miss rata-rata sekitar 1,6 mm sehingga terdapat error sekitar 3,2%,
Tabel 5. 1/9 Step 1/9 Step Target 250 mm 150 mm 50 mm
Realisasi Error Realisasi Error Realisasi Error
245 mm 5 mm 147 mm 3 mm 48 mm 2 mm 247 mm 3 mm 146 mm 4 mm 48 mm 2 mm 245 mm 5 mm 146 mm 4 mm 48 mm 2 mm 245 mm 5 mm 147 mm 3 mm 49 mm 1 mm 258 mm -8 mm 147 mm 3 mm 49 mm 1 mm
Dari Tabel 5 dapat kita simpulkan bahwa pada target tempuh 250 mm terdapat miss rata-rata sekitar 5,2 mm sehingga terdapat error sekitar 2,08%, dan pada target tempuh 150 mm terdapat miss rata-rata sekitar 3,4 mm sehingga terdapat error sekitar 2,27%, dan pada target tempuh 50 mm terdapat miss rata-rata sekitar 1,6 mm sehingga terdapat error sekitar 3,2%.
Tabel 6. 1/18 Step 1/18 Step Target 250 mm 150 mm 50 mm
Realisasi Error Realisasi Error Realisasi Error
246 mm 4 mm 148 mm 2 mm 49 mm 1 mm 246 mm 4 mm 148 mm 2 mm 50 mm 0 mm 250 mm 0 mm 148 mm 2 mm 49 mm 1 mm 246 mm 4 mm 148 mm 2 mm 49 mm 1 mm 246 mm 4 mm 148 mm 2 mm 49 mm 1 mm
Dari Tabel 6 dapat kita simpulkan bahwa pada target tempuh 250 mm terdapat miss rata-rata sekitar 3,2 mm sehingga terdapat error sekitar 1.28%, dan pada target tempuh 150 mm terdapat miss rata-rata sekitar 2 mm sehingga terdapat error sekitar 1,33%, dan pada target tempuh 50 mm terdapat miss rata-rata sekitar 0,8 mm sehingga terdapat error sekitar 1,6%,
Tabel 7. 1/5 Step 1/5 Step Target 250 mm 150 mm 50 mm
Realisasi Error Realisasi Error Realisasi Error
245 mm 5 mm 147 mm 3 mm 50 mm 0 mm 245 mm 5 mm 147 mm 3 mm 50 mm 0 mm 245 mm 5 mm 147 mm 3 mm 50 mm 0 mm 250 mm 0 mm 148 mm 2 mm 50 mm 0 mm 245 mm 5 mm 148 mm 2 mm 50 mm 0 mm
Dari Tabel 7 dapat kita simpulkan bahwa pada target tempuh 250 mm terdapat miss rata-rata sekitar 4 mm sehingga terdapat error sekitar 1,6%, dan pada target tempuh 150 mm terdapat miss rata-rata sekitar 2,6 mm sehingga terdapat error sekitar 1,73%, dan pada target tempuh 50 mm tidak terdapat error.
Tabel 8. 1/10 Step 1/10 Step Target 250 mm 150 mm 50 mm
Realisasi Error Realisasi Error Realisasi Error
245 mm 5 mm 147 mm 3 mm 49 mm 1 mm 245 mm 5 mm 147 mm 3 mm 49 mm 1 mm 248 mm 2 mm 147 mm 3 mm 49 mm 1 mm 246 mm 4 mm 147 mm 3 mm 50 mm 0 mm 246 mm 4 mm 147 mm 3 mm 49 mm 1 mm
Dari Tabel 8 dapat kita simpulkan bahwa pada target tempuh 250 mm terdapat miss rata-rata sekitar 4 mm sehingga terdapat error sekitar 1,6%, dan pada target tempuh 150 mm terdapat miss rata-rata sekitar 3 mm sehingga terdapat error sekitar 2%, dan pada target tempuh 50 mm terdapat miss rata-rata sekitar 0,8 mm sehingga terdapat error sekitar 1,6%. Dari data yang didapat, pada Tabel 3-8, dapat ditarik simpulan bahwa 1/18 step adalah langkah yang secara keseluruhan mempunyai akurasi tertinggi.
SIMPULAN
Dari penelitian ini dapat diambil beberapa kesimpulan, antara lain: Walau terdapat error 1-2%, microstepping dapat bekerja dengan baik. Terdapat signal elekromagnetis yang dapat meggangu signal step yang masuk pada modul motor stepper, sehingga terdapat error. Untuk pengenbangan lebih lanjut ada sistem ini, bisa mengganti motor unipolar dengan motor multi fase, yang mempunyai resolusi ketepatan yang lebih tinggi. Ditambahkan modul step counter, untuk dapat melihat jumlah sinyal step yang masuk ke dalam driver motor stepper. Ditambahkan modul
Differential Line dan kabel penghubung di pasang shield untuk menghalangi signal elekromagnetis yang dapat menggangu sinyal step yang masuk ke dalam modul driver motor stepper.
DAFTAR PUSTAKA
Bah, T. (2005). Inkscape: Guide to a vector drawing program. Diakses dari: http://tavmjong.free.fr/INKSCAPE/MANUAL/html/
Jones, D. W. (1990). Control of stepping motors. Diakses dari: http://www.cs.uiowa.edu/~jones/step/index.html