Anda di halaman 1dari 23

 

PERCOBAAN II
MENJALANKAN MOTOR STEPPER 

A. TUJUAN
1. Mahasiswa memahami prinsip kerja motor stepper dan rangkaian driver 
motor stepper ULN2003.
2. Mahasiswa memahami program assembly pada mikrokontroller AT89s52
untuk mengatur arah putaran motor stepper.

B. ALAT DAN BAHAN


1. Basic Mikrocontroller AT89s52 Trainer 
2. Sumber tegangan DC 5V dan 12V
3. Kabel konektor 

C. DASAR TEORI

Aktuator adalah bagian yang berfungsi sebagai penggerak dari perintah


yang diberikan oleh input. Salah satu jenis dari aktuator listrik adalah
Motor Stepper. Dimana motor stepper dapat meningkatkan
kecenderungan terhadap kendali digital dari mesin-mesin dan berfungsi
menghasilkan suatu permintaan untuk peranti-peranti mekanis, serta
mampu mengirimkan gerakan-gerakan yang inkremental dengan ketelitian
yang dapat diprediksi.

Modul Praktikum Mikroprosessor | Laboratorium Sistem Kendali Jurusan Teknik Elektro


UNRAM 2011
 

Motor Stepper adalah salah satu alat mesin listrik yang mengubah sinyal-
sinyal listrik ke dalam gerakan-gerakan mekanis diskrit. Batang atau
spindle dari suatu motor stepper berputar disebabkan kenaikan-kenaikan
langkah diskrit ketika sinyal listrik berada di dalam urutan yang tepat

Urutan sinyal pulsa yang diterapkan secara langsung dihubungkan dengan


arah rotasi spindle motor. Kecepatan dari rotasi spindel motor 
dihubungkan dengan frekuensi dari sinyal masukan dan panjang rotasi
secara langsung berhubungan dengan nomor sinyal masukan.

a. Definisi Motor Stepper 


Torsi motor stepper tidak sebesar motor DC, namun motor ini
mempunyai tingkat presisi yang sangat tinggi dalam gerakannya.
Kecepatan gerak motor ini dinyatakan dalam step per second atau
 jumlah step gerakan dalam setiap detiknya. Motor stepper adalah
suatu mesin listrik yang mengubah sinyal listrik ke dalam gerakan
mekanik diskrit.

Motor stepper dibagi menjadi tiga jenis. Masing-masing pada


konstruksi nyata yaitu karakteristik unjuk kerja:
i. Variable-reluctance (VR)
ii. Permanent magnet (PM)
iii. PM-hybrid

Modul Praktikum Mikroprosessor | Laboratorium Sistem Kendali Jurusan Teknik Elektro


UNRAM 2011
 

Cara kerja motor stepper didasari dengan prinsip magnet dasar seperti kutub magnet.
Jika lilitan stator pada gambar 2:
a) Diberi energy maka lilitan stator A adalah kutub selatan, stator B adalah kutub
utara, dan rotor permanent magnet (PM) diposisikan seperti pada gambar,
maka torsi motor akan bertambah seiring pergerakan rotor ke 180o. Maka hal
tersebut akan menjadi tidak mungkin untuk menentukan arah dari putaran dan
dalam rotor tidak akan bergerak seperti yang telah dikatakan tadi jika gayanya
stabil.
 b) dua kutub stator tambahan C dan D dipasang dan diberi energi seperti terlihat
dalam gambar, kita bisa memprediksi arah dari putaran rotor.

Modul Praktikum Mikroprosessor | Laboratorium Sistem Kendali Jurusan Teknik Elektro


UNRAM 2011
 

c) arah putaran rotor akan konstan searah jarum jam dengan rotor sejajar 
dengannya antara ”rata-rata” pole selatan dan ”rata-rata” pole utara. Seperti
diperlihatkan dalam gambar 2.(c)

Contoh program menggerakkan motor stepper menggunakan bahasa


assembly
org 0h
start: call StepCW
sjmp start
;
StepCW:
mov P0,#11101111b ; Turn on driver 1
call delay ; call delay time
mov P0,#11011111b ; Turn on driver 2
call delay ; call delay time
mov P0,#10111111b ; Turn on driver 3
call delay ; call delay time
mov P0,#01111111b ; Turn on driver 4
call delay ; call delay time
ret
;
StepCCW:
mov P0,#01111111b ; Turn on driver 1
call delay ; call delay time
mov P0,#10111111b ; Turn on driver 2
call delay ; call delay time
mov P0,#11011111b ; Turn on driver 3
call delay ; call delay time
mov P0,#11101111b ; Turn on driver 4
call delay ; call delay time
ret
;
delay: mov R0,#255
delay1:mov R2,#255
djnz R2,$
djnz R0,delay1
ret
end
 

Modul Praktikum Mikroprosessor | Laboratorium Sistem Kendali Jurusan Teknik Elektro


UNRAM 2011
 

D. PROSEDUR PERCOBAAN
KONFIGURASI SISTEM
1. Menghubungkan port 0 (pin4-7) dengan motor stepper menggunakan
kabel konektor.
2. Menghubungkan modul Basic Mikrocontroller AT89s52 Trainer dengan
DU-ISP V3 downloader.
3. Menghubungkan supplay tegangan sebesar 5VDC dengan Modul Basic
Mikrocontroller AT89s52 Trainer..
4. Memberikan suplay tegangan sebesar 12VDC ke motor stepper dan IC
ULN 2003.

5V 5V
P P
O O
R R
DU-ISP V3 t t
To Computer  1 0 IC ULN 2
AT89s52 12 v

Power Supply
5V 12 V
-+ -+
●● ●●

Gambar 2.1 konfigurasi system

Modul Praktikum Mikroprosessor | Laboratorium Sistem Kendali Jurusan Teknik Elektro


UNRAM 2011
 

LANGKAH PERCOBAAN
Percobaan 2.1. arah putaran motor stepper searah jarum jam (CW)
Setelah melakukan konfigurasi system lakukan langkah berikut:
1. Buka program M-IDE Studio for MCS 51, sebagai editor dan compiler 
 program
2. Ketik program berikut ini :

org 0H

stepper equ P1

main:
mov stepper, #01H
acall delay
mov stepper, #02H
acall delay
mov stepper, #04H
acall delay
mov stepper, #08H
acall delay
sjmp main

delay:
Mov r5,#10 ; 1s

isi_r6: Mov r6,#200 ; 0.1s

isi_r7: Mov r7,#250 ; 0.5ms


djnz r7,$
djnz r6,isi_r7
djnz r5,isi_r6
Ret
 
End

3. Simpanlah program yang telah anda buat dan berikan nama dengan tipe
file *.asm
4. Pada program M-IDE tersebut pilih Build /F9 untuk melakukan
kompilasi program dari *.asm ke *.hex
5. Hidupkan DU-ISP V3 downloader 

Modul Praktikum Mikroprosessor | Laboratorium Sistem Kendali Jurusan Teknik Elektro


UNRAM 2011
 

6. Hidupkan Modul Basic Mikrocontroller AT89s52 Trainer 


7. Buka program AVR studio 4, sebagai software downloader program ke
mikrokontroller 
8. Pada program AVR studio 4 tersebut pilih AVR/connect to the selected
AVR Programer.
9. Pilih tab main seperti pada gambar, pilih device yang akan digunakan

10. Pilih tab program seperti pada gambar, pada frame flash cari file *.hex
 program yang akan di download kemudian pilih program untuk 
mendownload program ke Mikrokontroller.

Modul Praktikum Mikroprosessor | Laboratorium Sistem Kendali Jurusan Teknik Elektro


UNRAM 2011
 

11. Lepaskan koneksi DU-ISP V3 downloader yang menuju Modul Basic


Mikrocontroller AT89s52 Trainer.
12. Tekan tombol reset yang terdapat pada Modul Basic Mikrocontroller 
AT89s52 Trainer.
13. Amati pergerakan motor stepper 

Percobaan 2.1. arah putaran motor stepper berlawanan arah jarum jam
(CCW)
Setelah melakukan konfigurasi system lakukan langkah berikut:
1. Lakukan langkah seperti Percobaan 2.1
2. Untuk skrip programnya sebagai berikut :
org 0H

stepper equ P1

main:
mov stepper, #08H
acall delay
mov stepper, #04H
acall delay
mov stepper, #02H
acall delay
mov stepper, #01H
acall delay
sjmp main

delay:
Mov r5,#10 ; 1s

isi_r6: Mov r6,#200 ; 0.1s

isi_r7: Mov r7,#250 ; 0.5ms


djnz r7,$
djnz r6,isi_r7
djnz r5,isi_r6
Ret
 
End
3. Amati pergerakan motor stepper 

Modul Praktikum Mikroprosessor | Laboratorium Sistem Kendali Jurusan Teknik Elektro


UNRAM 2011
 

E. DATA HASIL PERCOBAAN

Script pertama
org 0H
stepper equ P1
main:
mov stepper, #01H
acall delay
mov stepper, #02H
acall delay
mov stepper, #04H
acall delay
mov stepper, #08H
acall delay
sjmp main;
delay:
Mov r5,#10;
isi_r6:
Mov r6,#200;
isi_r7:
Mov r7,#250
djnz r7,$
djnz r6,isi_r7
djnz r5,isi_r6
Ret
End
Data script diatas akan membuat motor stepper berputar searah jarum jam
(berputar ke kanan)

Script kedua
org 0H
stepper equ P1
main:
mov stepper, #08H
acall delay
mov stepper, #04H
acall delay
mov stepper, #02H
acall delay
mov stepper, #01H
acall delay
sjmp main;
delay:
Mov r5,#10;
isi_r6:
Mov r6,#200;
isi_r7:
Mov r7,#250
djnz r7,$
djnz r6,isi_r7
djnz r5,isi_r6

Modul Praktikum Mikroprosessor | Laboratorium Sistem Kendali Jurusan Teknik Elektro


UNRAM 2011
 

Ret
End
Data script diatas akan membuat motor stepper berputar berlawanan arah
dengan jarum jam (berputar ke kiri)

Modul Praktikum Mikroprosessor | Laboratorium Sistem Kendali Jurusan Teknik Elektro


UNRAM 2011
 

F. ANALISA DATA

Dari listing program di atas dapat dijelaskan secara terpisah sebagai berikut:
 Pada percobaan 2.1. arah putaran motor stepper searah jarum jam
(CW)

org 0H
Perintah di atas berfungsi untuk memberitahukan program untuk mulai
dari alamat 0000 (null).

stepper equ P1
Perintah di atas berfungsi untuk konfigurasi “stepper” yang akan
dianggap sebagai “P1”.

main:
Perintah di atas merupakan sebuah label yang berfungsi sebagai
 penunjuk. Label ini dapat mempermudah pemanggilan program secara
 berulang.

mov stepper, #01H


Perintah di atas merupakan proses inisialisasi atau pemberian nilai
stepper dengan nilai 01 hexadesimal.

acall delay
Perintah di atas berfungsi untuk memanggil subroutine delay

mov stepper, #02H


Perintah di atas merupakan proses inisialisasi atau pemberian nilai
stepper dengan nilai 02 hexadesimal.

Modul Praktikum Mikroprosessor | Laboratorium Sistem Kendali Jurusan Teknik Elektro


UNRAM 2011
 

acall delay
Perintah di atas berfungsi untuk memanggil subroutine delay

mov stepper, #04H


Perintah di atas merupakan proses inisialisasi atau pemberian nilai
stepper dengan nilai 04 hexadesimal.

acall delay
Perintah di atas berfungsi untuk memanggil subroutine delay

mov stepper, #08H


Perintah di atas merupakan proses inisialisasi atau pemberian nilai
stepper dengan nilai 08 hexadesimal.

acall delay
Perintah di atas berfungsi untuk memanggil subroutine delay

sjmp main;
Perintah di atas berfungsi untuk memanggil kembali subroutine main
agar motor stepper terus berputar. Dan tanda “;” merupakan tanda
akhir dari sebuah subroutine.

delay:
Perintah di atas merupakan sebuah label yang berfungsi sebagai
 penunjuk. Label ini dapat mempermudah pemanggilan program secara
 berulang.

Mov r5,#10;
Perintah di atas merupakan proses inisialisasi r5 (register) dengan nilai
10 desimal.

Modul Praktikum Mikroprosessor | Laboratorium Sistem Kendali Jurusan Teknik Elektro


UNRAM 2011
 

isi_r6:
Perintah di atas merupakan sebuah label yang berfungsi sebagai
 penunjuk. Label ini dapat mempermudah pemanggilan program secara
 berulang.

Mov r6,#200;
Perintah di atas merupakan proses inisialisasi r6 (register) dengan nilai
200 desimal.

isi_r7:
Perintah di atas merupakan sebuah label yang berfungsi sebagai
 penunjuk. Label ini dapat mempermudah pemanggilan program secara
 berulang.

Mov r7,#250;
Perintah di atas merupakan proses inisialisasi r7 (register) dengan nilai
250 desimal.

djnz r7,$
Perintah di atas merupakan proses decrement dari sebuah register r7
selama nilai dari r7 tidak sama dengan 0, maka akan lompat ke label $.

djnz r6,isi_r7
Perintah di atas merupakan proses decrement dari sebuah register r6
selama nilai dari r6 tidak sama dengan 0, maka akan lompat ke label
isi_r7.

djnz r5,isi_r6

Modul Praktikum Mikroprosessor | Laboratorium Sistem Kendali Jurusan Teknik Elektro


UNRAM 2011
 

Perintah di atas merupakan proses decrement dari sebuah register r5


selama nilai dari r5 tidak sama dengan 0, maka akan lompat ke label
isi_r6.

Ret
Perintah di atas berfungsi untuk keluar dari subroutine yang dipanggil,
contohnya menggunakan perintah acall perintah pemanggil subroutine
yang lain.

End
Perintah di atas berfungsi untuk mengakhiri seluruh proses yang
dilakukan sebelumnya.

 Pada percobaan 2.2. arah putaran motor stepper berlawanan arah jarum
 jam (CCW)

org 0H
Perintah di atas berfungsi untuk memberitahukan program untuk mulai
dari alamat 0000 (null).

stepper equ P1
Perintah di atas berfungsi untuk konfigurasi “stepper” yang akan
dianggap sebagai “P1”.

main:
Perintah di atas merupakan sebuah label yang berfungsi sebagai
 penunjuk. Label ini dapat mempermudah pemanggilan program secara
 berulang.

Modul Praktikum Mikroprosessor | Laboratorium Sistem Kendali Jurusan Teknik Elektro


UNRAM 2011
 

mov stepper, #08H


Perintah di atas merupakan proses inisialisasi atau pemberian nilai
stepper dengan nilai 08 hexadesimal.

acall delay
Perintah di atas berfungsi untuk memanggil subroutine delay

mov stepper, #04H


Perintah di atas merupakan proses inisialisasi atau pemberian nilai
stepper dengan nilai 04 hexadesimal.

acall delay
Perintah di atas berfungsi untuk memanggil subroutine delay

mov stepper, #02H


Perintah di atas merupakan proses inisialisasi atau pemberian nilai
stepper dengan nilai 02 hexadesimal.

acall delay
Perintah di atas berfungsi untuk memanggil subroutine delay

mov stepper, #01H


Perintah di atas merupakan proses inisialisasi atau pemberian nilai
stepper dengan nilai 01 hexadesimal.

acall delay
Perintah di atas berfungsi untuk memanggil subroutine delay

sjmp main;

Modul Praktikum Mikroprosessor | Laboratorium Sistem Kendali Jurusan Teknik Elektro


UNRAM 2011
 

Perintah di atas berfungsi untuk memanggil kembali subroutine main


agar motor stepper terus berputar. Dan tanda “;” merupakan tanda
akhir dari sebuah subroutine.

delay:
Perintah di atas merupakan sebuah label yang berfungsi sebagai
 penunjuk. Label ini dapat mempermudah pemanggilan program secara
 berulang.

Mov r5,#10;
Perintah di atas merupakan proses inisialisasi r5 (register) dengan nilai
10 desimal.

isi_r6:
Perintah di atas merupakan sebuah label yang berfungsi sebagai
 penunjuk. Label ini dapat mempermudah pemanggilan program secara
 berulang.

Mov r6,#200;
Perintah di atas merupakan proses inisialisasi r6 (register) dengan nilai
200 desimal.

isi_r7:
Perintah di atas merupakan sebuah label yang berfungsi sebagai
 penunjuk. Label ini dapat mempermudah pemanggilan program secara
 berulang.

Mov r7,#250;
Perintah di atas merupakan proses inisialisasi r7 (register) dengan nilai
250 desimal.

Modul Praktikum Mikroprosessor | Laboratorium Sistem Kendali Jurusan Teknik Elektro


UNRAM 2011
 

djnz r7,$
Perintah di atas merupakan proses decrement dari sebuah register r7
selama nilai dari r7 tidak sama dengan 0, maka akan lompat ke label $.

djnz r6,isi_r7
Perintah di atas merupakan proses decrement dari sebuah register r6
selama nilai dari r6 tidak sama dengan 0, maka akan lompat ke label
isi_r7.

djnz r5,isi_r6
Perintah di atas merupakan proses decrement dari sebuah register r5
selama nilai dari r5 tidak sama dengan 0, maka akan lompat ke label
isi_r6.

Ret
Perintah di atas berfungsi untuk keluar dari subroutine yang dipanggil,
contohnya menggunakan perintah acall perintah pemanggil subroutine
yang lain.

end
Perintah di atas berfungsi untuk mengakhiri seluruh proses yang
dilakukan sebelumnya.

Modul Praktikum Mikroprosessor | Laboratorium Sistem Kendali Jurusan Teknik Elektro


UNRAM 2011
 

G. KESIMPULAN

a. Motor stepper adalah motor yang berputar step demi step dengan arah
 perputaran dan kecepatan putarannya dapat diatur.
b. Untuk menjalankan motor stepper dapat dilakukan dengan cara membuat
 bahasa rakitan dengan menggunakan kode hexadecimal pada mikroprosessor 
AT89s52.
c. Arah putaran motor stepper dapat diubah dengan mengubah/membalik 
urutan hexa pada nilai 1, 2, 4, 8

Modul Praktikum Mikroprosessor | Laboratorium Sistem Kendali Jurusan Teknik Elektro


UNRAM 2011
 

DAFTAR PUSTAKA

Anonim 2011. Petunjuk Praktikum Mikroprosessor Laboratorium Sistem Kendali,


 Jurusan Teknik Elektro, Fakultas Teknik Universitas Mataram.

Ibrahim K.E. 1996. Teknik Digital. Andi Yogyakarta. Yogyakarta.

Modul Praktikum Mikroprosessor | Laboratorium Sistem Kendali Jurusan Teknik Elektro


UNRAM 2011
 

TUGAS PENDAHULUAN
1. Cari data sheet ULN 2003
2. Jelaskan secara jelas dan tepat dari prinsip kerja motor stepper dan jelaskan
 pula bagaimana teknis pergerakan dari motor stepper.

Pada Motor DC biasa, akan berputar dan berputar terus selama power supply ada.
Tidak ada rangkaian cerdas tertentu yang diperlukan untuk mengendalikan motor 
tersebut, kecuali hanya memperlambat putaran atau membalik putaran, dengan
menerapkan polaritas balik. Motor stepper adalah sangat berbeda. Jika anda
memberikan power pada motor ini, maka motor ini akan berada dalam keadaan diam,
agar motor dapat berputar, anda harus merubah sinyal yang masuk ke motor. Sebagai
ilustrasi, dapat dibayangkan sebuah kompas dengan elektromagnet disekitarnya.
Sebagaimana digambarkan pada gambar 2.2., apabila power yang diberikan pada
elektromagnet diganti, maka akan merubah posisi jarum dari kompas.

Gambar 4.2. Ilustrasi sebuah kompas dengan elektromagnet

Dengan empat buah elektromagnet maka gerakan akan melompat secara kasar.
Sekarang bayangkan susunan yang sama dengan 100 elektromagnet yang mengitari
kompas. Dengan mangatur energi yang mengalir pada setiap elektromagnet dalam

Modul Praktikum Mikroprosessor | Laboratorium Sistem Kendali Jurusan Teknik Elektro


UNRAM 2011
 

  berurutan, maka jarum akan memerlukan sebanyak 100 langkah untuk melakukan
satu kali putaran. Tetapi dengan pengaturan 100 elektromagnet secara individu, akan
memerlukan elektronika yang kompleks.

Gambar 4.3. Ilustrasi motor stepper dengan jarum kompas dengan elektromagnet

Pada ilustrasi tersebut, huruf-huruf yang melingkar mewakili elektromagnet. Semua


magnet dengan huruf yang sama berada dalam keadaan koneksi. Ketika anda
memberi arus pada rangkaian tersebut, maka semua elektromagnet dengan huruf yang
sama akan on pada saat itu, untuk menggerakkan kompas, maka elektromaget
 berikutnya harus dialiri arus, sehingga akan menimbulkan gerakan.

Table 2.7.1. Full Step Mode

A B C D KOMENTAR  
1 0 0 0 Take a step clock wise
0 1 0 0 another step clock wise
0 0 1 0 another step clock wise
0 0 0 1 another step clock wise
0 0 0 1 No step take
0 0 1 0 Take a step back  

Mode Half Steps


Dengan menghidupkan dua koil pada waktu yang bersamaan maka motor akan berada
dalam posisi diantaranya.

Modul Praktikum Mikroprosessor | Laboratorium Sistem Kendali Jurusan Teknik Elektro


UNRAM 2011
 

Figure 2.7.4. Half step mode

Table 2.7.2. Half Step Mode

A B C D KOMENTAR  
1 0 0 0 Take a step clock wise
1 1 0 0 Half a step clock wise
0 1 0 0 The complete full step clock wise
0 1 1 0 another half step clock wise
0 0 1 0 The complete full step clock wise
0 0 1 1 Another half step clock wise
0 0 0 1 The complete full step clock wise
1 0 0 1 another half step clock wise
1 0 0 0 Start position

Modul Praktikum Mikroprosessor | Laboratorium Sistem Kendali Jurusan Teknik Elektro


UNRAM 2011

Anda mungkin juga menyukai