You are on page 1of 21

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.

Motor Stepper adalah salah satu alat mesin listrik yang mengubah sinyalsinyal 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
Modul Praktikum Mikroprosessor | Laboratorium Sistem Kendali Jurusan Teknik Elektro
UNRAM 2011

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.
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)
Modul Praktikum Mikroprosessor | Laboratorium Sistem Kendali Jurusan Teknik Elektro
UNRAM 2011

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

D. PROSEDUR PERCOBAAN
KONFIGURASI SISTEM

Modul Praktikum Mikroprosessor | Laboratorium Sistem Kendali Jurusan Teknik Elektro


UNRAM 2011

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.

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,
acall delay
mov stepper,
acall delay
mov stepper,
acall delay
mov stepper,
acall delay
sjmp main

#01H
#02H
#04H
#08H

;
delay:
Mov

r5,#10

; 1s

isi_r6:

Mov

r6,#200

; 0.1s

isi_r7:

Mov
djnz
djnz
djnz
Ret

r7,#250
r7,$
r6,isi_r7
r5,isi_r6

; 0.5ms

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
6. Hidupkan Modul Basic Mikrocontroller AT89s52 Trainer
7. Buka program AVR studio 4, sebagai software downloader program ke
mikrokontroller
Modul Praktikum Mikroprosessor | Laboratorium Sistem Kendali Jurusan Teknik Elektro
UNRAM 2011

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.

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 :
Modul Praktikum Mikroprosessor | Laboratorium Sistem Kendali Jurusan Teknik Elektro
UNRAM 2011

org 0H
stepper equ P1
main:
mov stepper,
acall delay
mov stepper,
acall delay
mov stepper,
acall delay
mov stepper,
acall delay
sjmp main

#08H
#04H
#02H
#01H

;
delay:
Mov

r5,#10

; 1s

isi_r6:

Mov

r6,#200

; 0.1s

isi_r7:

Mov
djnz
djnz
djnz
Ret

r7,#250
r7,$
r6,isi_r7
r5,isi_r6

; 0.5ms

End

3. Amati pergerakan motor stepper


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
Modul Praktikum Mikroprosessor | Laboratorium Sistem Kendali Jurusan Teknik Elektro
UNRAM 2011

End

djnz
Ret

r5,isi_r6

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
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.
acall delay

Perintah di atas berfungsi untuk memanggil subroutine delay


mov stepper, #04H

Modul Praktikum Mikroprosessor | Laboratorium Sistem Kendali Jurusan Teknik Elektro


UNRAM 2011

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.
isi_r6:

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

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

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.

Modul Praktikum Mikroprosessor | Laboratorium Sistem Kendali Jurusan Teknik Elektro


UNRAM 2011

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.
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


Modul Praktikum Mikroprosessor | Laboratorium Sistem Kendali Jurusan Teknik Elektro
UNRAM 2011

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;

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:

Modul Praktikum Mikroprosessor | Laboratorium Sistem Kendali Jurusan Teknik Elektro


UNRAM 2011

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

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

Modul Praktikum Mikroprosessor | Laboratorium Sistem Kendali Jurusan Teknik Elektro


UNRAM 2011

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

b.

perputaran dan kecepatan putarannya dapat diatur.


Untuk menjalankan motor stepper dapat dilakukan dengan cara membuat
bahasa rakitan dengan menggunakan kode hexadecimal pada mikroprosessor

c.

AT89s52.
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
berurutan, maka jarum akan memerlukan sebanyak 100 langkah untuk melakukan
Modul Praktikum Mikroprosessor | Laboratorium Sistem Kendali Jurusan Teknik Elektro
UNRAM 2011

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

KOMENTAR

Take a step clock wise

another step clock wise

another step clock wise

another step clock wise

No step take

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

KOMENTAR

Take a step clock wise

Half a step clock wise

The complete full step clock wise

another half step clock wise

The complete full step clock wise

Another half step clock wise

The complete full step clock wise

another half step clock wise

Start position

Modul Praktikum Mikroprosessor | Laboratorium Sistem Kendali Jurusan Teknik Elektro


UNRAM 2011

You might also like