Anda di halaman 1dari 18

PRINSIP KERJA DAN PENGATURAN KECEPATAN PADA

MOTOR STEPPER MENGGUNAKAN MODUL ARDUINO

Disusun oleh :

Kevin Lisbeth

612014008

UNIVERSITAS KRISTEN SATYA WACANA

FAKULTAS TEKNIK ELEKTRONIKA DAN KOMPUTER

SALATIGA

2017
BAB I

PENDAHULUAN

1. Latar Belakang
Pada saat ini, teknologi telah berkembang dengan pesat. Motor stepper adalah
perangkat elektro mekanis yang bekerja dengan mengubah pulsa elektronis menjadi
gerakan mekanis diskrit.
Motor stepper bergerak berdasarkan urutan pulsa yang diberikan kepada motor.
Karena itu, untuk menggerakkan motor stepper diperlukan pengendali motor stepper
yang membangkitkan pulsa-pulsa periodik. Penggunaan motor stepper memiliki
beberapa keunggulan dibandingkan dengan penggunaan motor DC biasa.

2. Rumusan Masalah
i. Apa itu Motor Stepper?
ii. Apa saja macam-macam Motor Stepper?
iii. Bagaimana cara kerja Motor Stepper?
iv. Apa fungsi dari Motor Stepper?

3. Tujuan Penulisan Makalah


i. Untuk mengetahui dan memahami prinsip kerja Motor Stepper.
ii. Untuk mengetahui macam-macam dan kegunaan Motor Stepper.
iii. Untuk mengetahui penerapan Motor Stepper.
BAB II

PEMBAHASAN

1. Pengertian Motor Stepper


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. Keunggulannya antara lain adalah :
 Sudut rotasi motor proporsional dengan pulsa masukan sehingga lebih mudah
diatur.
 Motor dapat langsung memberikan torsi penuh pada saat mulai bergerak
 Posisi dan pergerakan repetisinya dapat ditentukan secara presisi
 Memiliki respon yang sangat baik terhadap mulai, stop dan berbalik
(perputaran)
 Sangat realibel karena tidak adanya sikat yang bersentuhan dengan rotor seperti
pada motor DC
 Dapat menghasilkan perputaran yang lambat sehingga beban dapat dikopel
langsung ke porosnya
 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.

3. Karakteristik Motor Stepper


a. Tegangan
Tiap motor stepper mempunyai tegangan rata-rata yang tertulis pada tiap
unitnya atau tercantum pada datasheet masing-masing motor stepper. Tegangan
rata-rata ini harus diperhatikan dengan seksama karena bila melebihi dari
tegangan rata-rata ini akan menimbulkan panas yang menyebabkan kinerja
putarannya tidak maksimal atau bahkan motor stepper akan rusak dengan
sendirinya
b. Resistansi
Resistansi per lilitan adalah karakteristik yang lain dari motor stepper.
Resistansi ini akan menentukan arus yang mengalir, selain itu juga akan
mempengaruhi torsi dan kecepatan maksimum dan motor stepper.
c. Derajat per step
Besarnya derajat putaran per step adalah parameter terpenting dalam
pemilihan motor stepper karena akan menentukan ukuran langkah gerakan yang
paling kecil (resolusi). Tiap-tiap motor stepper mempunyai spesifikasi masing-
masing, antara lain 0.72° per step, 1.8° per step, 3.6° per step, 7.5° per step, 15°
per step, dan bahkan ada yang 90° per step. Dalam pengoperasiannya kita dapat
menggunakan 2 prinsip yaitu full step atau half step. Dengan full step berarti
motor stepper berputar sesuai dengan spesifikasi derajat per stepnya, sedangkan
half step berarti motor stepper berputar setengah derajat per step dari spesifikasi
motor stepper tersebut.

4. Jenis-jenis Motor Stepper


Berdasarkan struktur rotor dan stator pada motor stepper, maka motor stepper
dapat dikategorikan dalam 3 jenis sebagai berikut :
a. Motor Stepper Variable Reluctance (VR)
Motor stepper jenis ini telah lama ada dan merupakan jenis motor yang
secara struktural paling mudah untuk dipahami. Motor ini terdiri atas sebuah
rotor besi lunak dengan beberapa gerigi dan sebuah lilitan stator. Ketika lilitan
stator diberi energi dengan arus DC, kutub-kutubnya menjadi termagnetasi.
Perputaran terjadi ketika gigi-gigi rotor tertarik oleh kutub-kutub stator. Berikut
ini adalah penampang melintang dari motor stepper tipe variable reluctance
(VR):

Motor stepper tipe variable reluctance (VR)

b. Motor Stepper Permanent Magnet (PM)


Motor stepper jenis ini memiliki rotor yang berbentuk seperti kaleng
bundar (tin can) yang terdiri atas lapisan magnet permanen yang diselang-seling
dengan kutub yang berlawanan. Dengan adanya magnet permanen, maka i
ntensitas fluks magnet dalam motor ini akan meningkat sehingga dapat
menghasilkan torsi yang lebih besar. Motor jenis ini biasanya memiliki resolusi
langkah (step) yang rendah yaitu antara 7,50 hingga 150 per langkah atau 48
hingga 24 langkah setiap putarannya.

Motor stepper

Berikut ini adalah ilustrasi sederhana dari motor stepper tipe permanent magnet
:

Motor stepper tipe permanent magnet (PM)

c. Motor Stepper Hybrid (HB)


Motor stepper tipe hibrid memiliki struktur yang merupakan kombinasi
dari kedua tipe motor stepper sebelumnya. Motor stepper tipe hibrid memiliki
gigi-gigi seperti pada motor tipe VR dan juga memiliki magnet permanen yang
tersusun secara aksial pada batang porosnya seperti motor tipe PM. Motor tipe
ini paling banyak digunkan dalam berbagai aplikasi karena kinerja lebih baik.
Motor tipe hibrid dapat menghasilkan resolusi langkah yang tinggi yaitu antara
3,60 hingga 0,90 per langkah atau 100-400 langkah setiap putarannya. Berikut
ini adalah penampang melintang dari motor stepper tipe hibrid :

Motor stepper tipe hibrid

Berdasarkan metode perancangan rangkain pengendalinya, motor stepper dapat


dibagi menjadi 2 jenis yaitu motor stepper unipolar dan motor stepper bipolar.

 Motor Stepper Unipolar


Rangkaian pengendali motor stepper unipolar lebih
mudah dirancang karena hanya memerlukan satu switch /
transistor setiap lilitannya. Untuk menjalankan dan
menghentikan motor ini cukup dengan menerapkan pulsa digital
yang hanya terdiri atas tegangan positif dan nol (ground) pada
salah satu terminal lilitan (wound) motor sementara terminal
lainnya dicatu dengan tegangan positif konstan (VM) pada
bagian tengah (center tap) dari lilitan seperti pada gambar
berikut.
Motor stepper dengan lilitan unipolar

 Motor Stepper Bipolar


Untuk motor stepper dengan lilitan bipolar, diperlukan
sinyal pulsa yang berubah-ubah dari positif ke negatif dan
sebaliknya. Jadi pada setiap terminal lilitan (A & B) harus
dihubungkan dengan sinyal yang mengayun dari positif ke
negatif dan sebaliknya. Karena itu dibutuhkan rangkaian
pengendali yang agak lebih kompleks daripada rangkaian
pengendali untuk motor unipolar. Motor stepper bipolar
memiliki keunggulan dibandingkan dengan motor stepper
unipolar dalam hal torsi yang lebih besar untuk ukuran yang
sama.

Motor stepper dengan lilitan unipolar


5. Driver Motor Stepper (28BY-J48)
DC Stepper Motor 28BYJ48/5VDC adalah stepper motor dengan torsi yang
memadai (300 gr.cm) untuk berbagai beban ringan. Kami menjual stepper motor ini
dalam paket bersama dengan modul pengendali / stepper motor driver/controller
module ULN2003 Board. Baik stepper motor maupun driver board dipasok dengan
tegangan 5 Volt DC sehingga apabila digunakan bersama dengan mikrokotroler
berbasis 5 Volt atau development board seperti Arduino Uno sangatlah praktis
mengingat hanya diperlukan satu catu daya / power supply.
Motor ini merupakan stepper motor 4 fasa 5 kabel dengan rasio variasi
kecepatan 1:64 (stride angle 5,625°, dengan reduksi 1:64 berarti sudut putar per langkah
/ angular step angle = 0,0878° — 4096 langkah untuk satu rotasi penuh).
Hambatan beban (load resistance) motor ini adalah 50Ω±7% (pada suhu 25℃).
Spesifikasi Stepper Motor 28BY-J48 :
 Frequency 100Hz
 Idle In-traction Frequency > 600Hz
 Idle Out-traction Frequency > 1000Hz
 In-traction Torque >34.3mN.m(120Hz)
 Self-positioning Torque >34.3mN.m
 Friction torque 600-1200 gf.cm
 Pull in torque 300 gf.cm
 Insulated resistance >10MΩ(500V)
 Insulated electricity power 600VAC/1mA/1s
 Insulation grade A
 Rise in Temperature <40K(120Hz)
 Noise <35dB(120Hz,No load,10cm)

28BY-J48 ULN2003
6. Pengaturan Kecepatan Pada Motor Stepper
Ada hal yang perlu diketahui sebelum mengguakan Motor Stepper 28BYJ-48
ini, yaitu jumlah step dalam satu putaran, perhitungannya sebagai berikut:
 Motor ini memiliki rasio gear sebesar 64, dan putaran per stepnya
sebesar 5.625° jadi motor ini memiiki step sebanyak 4096.
 steps = Jumlah step per satu Putaran * Rasio Gear.
steps= (360°/5.625°)*64"Rasio Gear" = 64 * 64 =4096 . Nilai ini akan
dimasukan ke dalam Sket (Program) Arduino.
#include <Stepper.h>

// mengubah ini agar sesuai dengan jumlah langkah per revolusi untuk
motor Anda
const int stepsPerRevolution = 64 * 32;

// menginisialisasi perpustakaan stepper pada pin 8 sampai 11:


Stepper myStepper(stepsPerRevolution, 9, 10, 11, 12);

void setup() {
// mengatur kecepatan rpm:
myStepper.setSpeed(1);
}

void loop() {
// langkah satu revolusi dalam satu arah:
myStepper.step(stepsPerRevolution);
delay(500);

// langkah satu revolusi ke arah lain:


myStepper.step(-stepsPerRevolution);
delay(500);
}
Contoh rangkaian dan pengaturan motor stepper :

Rangkaian kontrol motor stepper 28BYJ-48

Pada dasarnya, Arduino IDE sudah menyediakan library khusus untuk


mengoperasikan motor stepper, selain itu juga terdapat library yang dapat diunduh dari
internet. Namun pada blog ini, akan dibuat 2 sketch yaitu menggunakan library dan
membuat sketch tanpa library.

Sketch dengan memanfaatkan library motor stepper adalah sebagai berikut :

#include <AccelStepper.h>
#include <LiquidCrystal.h>
#define HALFSTEP 8

// Motor pin definitions


#define motorPin1 47 // IN1 on the ULN2003 driver 1
#define motorPin2 49 // IN2 on the ULN2003 driver 1
#define motorPin3 51 // IN3 on the ULN2003 driver 1
#define motorPin4 53 // IN4 on the ULN2003 driver 1

// inisial awal penggunaan pin yang terhubung dengan driver ULN2003


AccelStepper stepper1(HALFSTEP, motorPin1, motorPin3, motorPin2, motorPin4);

//inisial awal penggunaan pin untuk LCD Display


LiquidCrystal lcd(2, 4, 9, 10, 11, 12);
void setup()
{
pinMode(3,OUTPUT);
digitalWrite(3,LOW);
lcd.begin(16, 2);
lcd.setCursor(0, 0);
lcd.print(“Pakai Library”);
lcd.setCursor(0, 1);
lcd.print(“Type 28BYJ-48”);

stepper1.setMaxSpeed(1000.0);//mengatur nilai kecepatan maksimum dari putaran


motor stepper
stepper1.setAcceleration(100.0);//Acceleration setting
stepper1.setSpeed(500); //Setting kecepatan yang diinginkan

void loop()
{
stepper1.runSpeed();
}

Meskipun didalam sketch ada syntax untuk setting kecepatan maksimum adalah 1000.
Actual yang bisa digunakan dibawah itu, karena motor ini tidak bisa digunakan untuk
kecepatan tinggi. Pada mode half speed (8 step sequences), maksum speed yang saya
dapatkan adalah 8Rpm sedangkan pada mode full speed (4 step sequences), menjadi
16Rpm. Untuk itu perlu dipahami terlebih dulu kombinasi pulsa/signal yang perlu
diberikan ke masing-masing kumparan dalam motor stepper sebagai berikut:
Tabel signal yang diperlukan motor stepper untuk beroperasi half step mode

Tabel tersebut akan kita letakkan didalam variabel Array sehingga bisa dengan mudah
kita akses dan kirimkan ke output Pin dari Arduino Board melalu driver.

#include <LiquidCrystal.h> //Include LCDs Lib


/*
Pin 1 to Arduino GND
Pin 2 to Arduino 5V
Pin 3 to Vee Brightness control
Pin 4 to Arduino pin 2
Pin 5 to Arduino pin 3 –> Pin RW = Active Write Low
Pin 6 to Arduino pin 4
Pin 11 to Arduino pin 9
Pin 12 to Arduino pin 10
Pin 13 to Arduino pin 11
Pin 14 to Arduino pin 12
*/

int stepper_data[8][4] = {
{0,0,0,1},
{0,0,1,1},
{0,0,1,0},
{0,1,1,0},
{0,1,0,0},
{1,1,0,0},
{1,0,0,0},
{1,0,0,1},
};

LiquidCrystal lcd(2, 4, 9, 10, 11, 12);


int P0 = 47; int P1 = 49; int P2 = 51; int P3 = 53;
int deg = 0; int jumlah_putaran = 8;

int speednya = 1500;//smaller = faster = fast delay

void setup()//setup section


{
pinMode(3,OUTPUT);
digitalWrite(3,LOW);
lcd.begin(16, 2); //LCD begins. LCD yang kita gunakan 16×2
lcd.setCursor(0, 0); // Baris ke-0 dan kolom ke-0
lcd.print(“Type 28BYJ-48”);
lcd.setCursor(0, 1); // Baris ke-1 dan kolom ke-0
lcd.print(“Jumlah_Putaran”);
pinMode(P0, OUTPUT);
pinMode(P1, OUTPUT);
pinMode(P2, OUTPUT);
pinMode(P3, OUTPUT);
}

void loop()
{
int temp_putaran;

for (temp_putaran=1;temp_putaran<=jumlah_putaran;temp_putaran++)
{
deg=0;
while(deg<510)
{
maju();
deg++;
}
lcd.setCursor(15,1);
lcd.print(temp_putaran);
}
delay(2000);
for (temp_putaran=1;temp_putaran<=jumlah_putaran;temp_putaran++)
{
deg=0;
while(deg<510)
{
mundur();
deg++;
}
lcd.setCursor(15,1);
lcd.print(temp_putaran);
}
delay(2000);
}

void maju()
{
for (int i=0; i <= 7; i++)
{
digitalWrite(P0, stepper_data[i][0]);
digitalWrite(P1, stepper_data[i][1]);
digitalWrite(P2, stepper_data[i][2]);
digitalWrite(P3, stepper_data[i][3]);
delayMicroseconds(speednya);
}
}

void mundur()
{
for (int i = 7; i >= 0; i–)
{
digitalWrite(P0, stepper_data[i][0]);
digitalWrite(P1, stepper_data[i][1] );
digitalWrite(P2, stepper_data[i][2] );
digitalWrite(P3, stepper_data[i][3] );
delayMicroseconds(speednya);
}
}

Dari hasil percobaan, perubahan variable “speednya” yang menentukan kecepatan


putar dari mtor stepper didapat data kecepatan sebagai berikut :

Set variable “speednya” ke nilai 25 = 8rpm


Set variable “speednya” ke nilai 50=8.5rpm
Set variable “speednya” ke nilai 75=8.75rpm
Set variable “speednya” ke nilai 100=8.75rpm
Set variable “speednya” ke nilai 200=8.25rpm
Set variable “speednya” ke nilai 500=7rpm
Set variable “speednya” ke nilai1000=5.75rpm
BAB III

PENUTUP

1. Kesimpulan
Motor stepper bergerak setiap satu langkah dengan besar sudut 1,8º jadi untuk
berputar satu putaran penuh membutuhkan 200 step. Dengan motor stepper kita dapat
memutar motor sesuai dengan yang diinginkan. Kecepatan motor stepper juga dapat
diubah sesuai dengan kebutuhan. Dengan mengubah waktu perpindahan dari suatu
input ke input lain pada motor stepper.
Ada dua mode dalam menggerakkan motor stepper yaiyu mode full step dan
mode half step. Pada mode full step perputaran motor lebih kasar dibandingkan dengan
mode half step. Ini dikarenakan pada mode half step untuk menggerakkan satu step
dibutuhkan dua kondisi sehingga perputaran ledih halus, sedangkan pada mode full
step torsinya lebih besar dibandingkan dengan mode half step.
Untuk mengatur arah putaran dari motor stepper dc dilakukan dengan cara
mengatur pemberian pulsa logik sistem TTL compatible pada ke empat
(4) input driver lilitan motor stepper dc tersebut menggunakan kontrol digital. Arah
gerakan kekanan (cw: clockwise) diperlukan pulsa kontrol logik dari mikrokontroller
8535 secara berurutan dari bit ke 4,3,2,1 dengan berturut-turut dari step ke 1,2,3 sampai
step ke 4 seperti matriks data adalah: 1000; 0100; 0010; dan 0001. Sedangkan Arah
gerakan kekiri (ccw: counter clockwise)diperlukan pulsa kontrol logik dari
mikrokontroller 8535 secara berurutan dari bit ke 4,3,2,1 dengan berturut-turut dari step
ke 1,2,3 sampai step ke 4 seperti matriks data: 0001; 0010; 0100; dan 1000.

2. Kritik dan Saran


Pada dasarnya penulisan makalah ini jauh dari sempurna, banyak kekurangan
baik yang disengaja ataupun tidak. Maka dibutuhkan saran untuk meminimalisir
kesalahan tentunya bagi penulis. Perkembangan teknologi mikrokontroler yang sangat
pesat mengharuskan kita memilih mikrokontroler yang tepat guna menunjang
fleksibilas kita dalam menyikapi perkembangan ini. Penggunaan Motor Stepper dapat
digunakan siapa saja dan dapat dikembangkan.
DAFTAR PUSTAKA

1. http://www.ngarep.net/tutorial-arduino-mengakses-motor-stepper/
2. http://blog.vcc2gnd.com/2014/01/stepper-motor-28byj48-5v-uln2003-board_23.html
3. http://aruselektronika.blogspot.co.id/2017/03/kontrol-motor-stepper-
menggunakan.html
4. http://riyansblog.blogspot.co.id/2016/02/arduino-mengontrol-stepper-dengan_28.html

Anda mungkin juga menyukai