JUDUL PRAKTIKUM
Kendali Motor Stepper
B. TUJUAN PRAKTIKUM
1. Mahasiswa mengetahui prinsip kerja dari motor stepper.
2. Mahasiswa mengetahui jenis dari motor stepper.
3. Mahasiswa dapat membuat program kendali posisi putaran dan
kecepatan motor stepper menggunakan Program arduino IDE.
C. TEORI DASAR
Motor stepper adalah perangkat elektromekanis yang
bekerja dengan mengubah pulsa elektronis menjadi gerakan
mekanis diskrit. Motor stepper bergerak berdasarkan urutan pulsa
yang diberikan kepada motor. Karena itu, untuk menggerakkannya
diperlukan pengendali motor stepper yang membangkitkan pulsa-
pulsa periodik. Penggunaan motor stepper memiliki beberapa
keunggulan dibandingkan dengan penggunaan motor DC biasa.
1) Keunggulan Motor Stepper
a. Sudut rotasi motor proporsional dengan pulsa masukan
sehingga lebih mudah diatur.
b. Motor dapat langsung memberikan torsi penuh pada saat
mulai bergerak
c. Posisi dan pergerakan repetisinya dapat ditentukan secara
presisi
d. Memiliki respon yang sangat baik terhadap mulai, stop dan
berbalik (perputaran)
e. Sangat realibel karena tidak adanya sikat yang
bersentuhan dengan rotor seperti pada motor DC
f. Dapat menghasilkan perputaran yang lambat sehingga
beban dapat dikopel langsung ke porosnya
g. Frekuensi perputaran dapat ditentukan secara bebas dan
mudah pada range yang luas.
2) Prinsip kerja motor stepper
Motor stepper merupakan perangkat pengendali yang
mengkonversikan bit-bit masukan menjadi posisi rotor. Bit-bit
tersebut berasal dari terminal-terminal input yang ada pada
motor stepper yang menjadi kutub-kutub magnet dalam motor.
Bila salah satu terminal diberi sumber tegangan, terminal
tersebut akan mengaktifkan kutub di dalam magnet sebagai
kutub utara dan kutub yang tidak diberi tegangan sebagai kutub
selatan. Dengan terdapatnya dua kutub di dalam motor ini, rotor
di dalam motor yang memiliki kutub magnet permanen akan
mengarah sesuai dengan kutub-kutub input. Kutub utara rotor
akan mengarah ke kutub selatan stator sedangkan kutub
selatan rotor akan mengarah ke kutub utara stator.
Prinsip kerja motor stepper mirip dengan motor DC, sama-
sama dicatu dengan tegangan DC untuk memperoleh medan
magnet. Bila motor DC memiliki magnet tetap pada stator,
motor stepper mempunyai magnet tetap pada rotor. Adapun
spesifikasi dari motor stepper adalah banyaknya fasa,
besarnya nilai derajat per step, besarnya volt tegangan catu
untuk setiap lilitan, dan besarnya arus yang dibutuhkan untuk
setiap lilitan.
Motor stepper tidak dapat bergerak sendiri secara kontinyu,
tetapi bergerak secara diskrit per-step sesuai dengan
spesifikasinya. Untuk bergerak dari satu step ke step
berikutnya diperlukan waktu dan menghasilkan torsi yang besar
pada kecepatan rendah. Salah satu karakteristik motor stepper
yang penting yaitu adanya torsi penahan, yang memungkinkan
motor stepper menahan posisinya yang berguna untuk aplikasi
motor stepper dalam yang memerlukan keadaan start dan stop.
4. Klik icon huruf P seperti pada gambar berikut ini untuk memilih
komponen yang akan digunakan.
Percobaan 1
1. Ambil komponen yang akan di gunakan yaitu, Arduino uno R3
dan Motor-Bistepper seperti pada tampilan berikut ini
Tantangan 1
1. Ambil komponen yang akan di gunakan yaitu, Arduino uno R3,
Button, Motor-Bistepper, resistor, Power dan Ground seperti
pada tampilan berikut ini
HASIL
Saklar 1
Saklar 2
Saklar 3
Tantangan 2
1. Ambil komponen yang akan digunakan yaitu, Arduino uno R3,
Compim, Motor-Bistepper seperti pada tampilan berikut ini.
12. Pada saat program matlab telah terbuka, ketikkan guide; pada
Command Window.
13. Pilih default dan klik OK seperti pada tampilan berikut ini
14. Pilih Pushbutton dan Static teks lalu klik pada lembar kerja
untuk menempatkan push button, letakan 2 button sesuai pada
gambar dan berikan judul pada static teks.
22. Lalu pilih Pair, selanjutnya klik Next seperti pada tampilan
berikut.
23. Pada bagian virtual serial port 1 pilih COM2 dan pada virtual
serial port 2 pilih COM8, selanjutnya klik Finish.
25. Buka program matlab, klik RUN pada program yang telah kita
buat.
26. Selanjutnya, klik play pada proteus
27. Maka hasilnya akan seperti pada gambar dibawah, jika pada
GUI MATLAB buton tekan KANAN, maka motor stepper akan
bergerak kekanan sebanyak 5 kali karna terjadinya perulangan.
28. Maka hasilnya akan seperti pada gambar dibawah, jika pada
GUI MATLAB buton tekan KIRI, maka motor stepper akan
bergerak kekiri sebanyak 5 kali karna terjadinya perulangan.
F. ANALISIS DATA
Pada praktikum kali ini yang berjudul Kendali Motor
Stepper dimana terdapat pembuatan simulator proteus untuk
arduino uno. Pembuatan rangkaian tersebut menggunakan aplikasi
proteus dan arduino. Terdapat beberapa komponen yang
digunakan sebagai alat penampil pada arduino uno.
Pada percobaan pertama menggunakan komponen arduino
uno R3 dan Motor-Bistepper. Rangkaian pertama yang dibuat pada
praktikum ini adalah rangkaian dengan satu motor DC
menggunakan kecepatan penuh dan menggunakan kecepatan
yang dapat diubah. dimana komponen yang digunakan untuk
membuat rangkaian ini antara lain: arduino uno dan motor-stepper,
dan label yang digunakan untuk menghubungkan antara pin
arduino dan pin pada motor stepper. Dimana komponen utama
yang sangat berpengaruh pada rangkaian ini adalah motor-stepper.
Ketika rangkaian ini dijalankan maka motor stepper akan bergerak
dari kanan ke kiri dengan mode full step. Pada rangkaian ini
digunakan 2 syntax yaitu mode full step maju dan mode full step
mundur.
Untuk menggerakan motor stepper agar dapat bergerak
mundur motor stepper dapat melakukan gerakkan mode full atau
putaran penuh dengan 4 step. Untuk syntax berikutnya adalah void
step1(){, digitalWrite(IN1,LOW); digitalWrite(IN2,HIGH);
digitalWrite(IN3,LOW); digitalWrite(IN4,HIGH);} digunakan
menginisialisasi pin in1 off, menginisialisasi pin in2 on,
menginisialisasi pin in3 off, menginisialisasi pin in4 on. void
step2(){, digitalWrite (IN1,HIGH); digitalWrite (IN2,LOW);
digitalWrite (IN3,LOW); digitalWrite (IN4,HIGH);} digunakan untuk
menginisialisasi pin in1 on, menginisialisasi pin in2 off,
menginisialisasi pin in3 off, menginisialisasi pin in4 on. void
step3(){, digitalWrite (IN1,HIGH); digitalWrite (IN2,LOW);
digitalWrite (IN3,HIGH); digitalWrite (IN4,LOW);} digunakan untuk
menginisialisasi pin in1 on, menginisialisasi pin in2 off,
menginisialisasi pin in3 on, menginisialisasi pin in4 off. void
step4(){, digitalWrite (IN1,LOW); digitalWrite (IN2,HIGH);
digitalWrite (IN3,HIGH); digitalWrite (IN4,LOW);} digunakan untuk
menginisialisasi pin in1 off, menginisialisasi pin in2 on,
menginisialisasi pin in3 on, menginisialisasi pin in4 off. Jika semua
rangkaian berjalan sesuai dengan yang dpraktikkan maka
rangkaian yang dibuat dikatakan berhasil.
Pada tantangan 1 menggunakan arduino uno R3 1, button,
resistor dan Motor Bistepper. Rangkaian kedua yang dibuat pada
praktikum ini adalah rangkaian dengan menggunakan 3 push
button komponen yang digunakan untuk membuat rangkaian ini
antara lain: arduino uno, 3 push button, motor-stepper, ground, dan
power. Dimana komponen utama yang sangat berpengaruh pada
rangkaian ini adalah motor-stepper dan 3 push button yang
digunakan untuk mengontrol motor-stepper. Adapun syntax yang
digunakan sama dengan sintaks pada rangkaian pertama, akan
tetap karena pada rangkaian ini menggunakan push button jadi ada
syntax yang harus di tambahkan. Adapun syntax tambahannya
adalah const int buttonPin1=6; int buttonState1=0; // keadaan awal
tombol 1, const int buttonPin2=7; int buttonState2=0; // keadaan
awal tombol 2, const int buttonPin3=8; int buttonState3=0; //
keadaan awal tombol 3 digunakan untuk mendeklarasikan push
button 1- push button 3. buttonState1=digitalRead(buttonPin1); if
(buttonState1 == LOW){maju();}
buttonState2=digitalRead(buttonPin2); if
(buttonState2==LOW){mundur();}buttonState3=digitalRead(button
Pin3);if(buttonState3 == LOW){ digitalWrite (IN1,LOW); digitalWrite
(IN2,LOW); digitalWrite (IN3,LOW); digitalWrite(IN4,LOW);
digunakan untuk membaca kondisi atau pernyataan pada masing-
masing push button. Jika rangkaian pertama berjalan dengan
motor-stepper pada rangkaian kedua dan push button yang
digunakan untuk mengontrol motor-stepper berjalan dengan baik
dan sesuai dengan semestinya maka rangkaian ini telah berhasil.
Pada tantangan 2 menggunakan komponen arduino uno R3
1, Motor Bistepper 1 dan COMPIM. Untuk melakukan kendali
terhadap rangkaian simulasi proteus, digunakan program MATLAB,
dimana MATLAB adalah sebuah program untuk analisis dan
komputasi numerik dan merupakan suatu bahasa pemrograman
matematika lanjutan yang dibentuk dengan dasar pemikiran
menggunkan sifat dan bentuk matriks. Pada awalnya, program ini
merupakan interface untuk koleksi rutin-rutin numerik dari proyek
LINPACK dan EISPACK, dan dikembangkan menggunkan bahasa
FORTRAN namun sekarang merupakan produk komersial dari
perusahaan Mathworks, Inc.yang dalam perkembangan
selanjutnya dikembangkan menggunakan bahasa C++ dan
assembler (utamanya untuk fungsi-fungsi dasar
MATLAB).MATLAB telah berkembang menjadi sebuah
environment pemrograman yang canggih yang berisi fungsi-fungsi
built-in untuk melakukan tugas pengolahan sinyal, aljabar linier, dan
kalkulasi matematis lainnya.
Di dalam praktikum ini antara software simulasi proteus dan
matlab dibuat saling berhubungan dengan kata lain dapat
melakukan komunikasi serial dimana kedua software tersebut
dapat berinteraksi satu sama lain dalam hal menjalankan rangkaian
yang dibuat di proteus menggunakan GUI di matlab, untuk itu
digunakan bantuan software Virtual Serial Ports Emulator untuk
menghubungkan kedua software tersebut. Pada Simulasi Proteus
digunakan Virtual Serial Ports COM2 dan pada MATLAB digunakan
Virtual Serial Ports COM8.
Adapun syntax program yang digunakan pada Arduino sama
dengan percobaan atau pertama, namun ada sedikit tambahan
syntax program lagi pada percobaan ketiga ini, adapun syntax
tambahannya percobaan ketiga ini adalah int IN1=2; int IN2=3; int
IN3=4; int IN4=5; int step = 100; int delaytime=400; String data;
digunakan untuk mendeklarasikan pin yang digunakan dalam
percobaan ini.
Void setup(){, pinMode (IN1,OUTPUT); pinMode
(IN2,OUTPUT); Serial.begin (9600); pinMode (IN3,OUTPUT);
pinMode (IN4,OUTPUT); } di gunakan untuk mebaca deklarasi pin
yang digunakan sebagai keluaran. void loop(){ if (Serial.available()
>0){ data = Serial.readString(); // print it out in many formats:
Serial.println("saya terima"); Serial.println("data"); if (data ==
"MAJU"){ for (int i=0; i<5; i++){ maju();}} if (data == "MUNDUR"){ for
(int i=0; i<5; i++){ mundur();}} digunakan untuk proses perulangan
agar simulasi dapat terus berjalan sesuai dengan program yang
sudah diketikkan pada Arduino dan jika proses tidak sesuai maka
akan terus melakukan perulangan hingga program berjalan sesuai
dengan fungsi yang sudah ditulis dengan pernyataan kondisi
seperti pada syntax program tersebut. if (data == "MATI"){
digitalWrite (IN1,LOW); digitalWrite (IN2,LOW);
digitalWrite(IN3,LOW); digitalWrite (IN4,LOW);}}} syntax ini
digunkan untuk menyatakan kodisi mati yang akan di baca oleh
push button ketiga yaitu IN1 dalam keaadaan off, IN2 dalam kondisi
off , IN3 dalam kondisi off dan IN4 juga berada dalam kondisi off.
G. KESIMPULAN
Setelah melakukan prkatikum yang berjudul Kendali Motor
Stepper, dapat disimpulkan bahwa mahasiswa telah mengetahui
prinsip kerja dari motor stepper, jenis dari motor stepper, serta
mahasiswa juga dapat membuat program kendali posisi putaran
dan kecepatan motor stepper menggunakan Program arduino IDE.
H. DAFTAR PUSTAKA
Hindi, Mushi .2014. Pengertian dan manfaat Motor Stepper.
http://elib.unikom.ac.id. Diakses 28 Desember 2016
Nugraha .2013. Pengertian Motor Stepper dan Jenis Motor
Stepper. Nugraha.blogspot.co.id. Diakses pada tanggal 28
Desember 2016.
Viko, Aryo .2011. Pengertian Motor Steppper. aryoviko.net.
Diakses pada tanggal 28 Desember 2016.