Anda di halaman 1dari 22

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

To Computer

DU-ISP V3

P O R t 1

5V

P O R t 0

IC ULN 2003 12 v

AT89s52

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, acall delay mov stepper, acall delay mov stepper, acall delay mov stepper, acall delay sjmp main ; delay: Mov isi_r6: isi_r7: r5,#10 Mov Mov djnz djnz djnz Ret r6,#200 r7,#250 r7,$ r6,isi_r7 r5,isi_r6 ; 1s ; 0.1s ; 0.5ms #01H #02H #04H #08H

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, acall delay mov stepper, acall delay mov stepper, acall delay mov stepper, acall delay sjmp main ; delay: Mov isi_r6: isi_r7: r5,#10 Mov Mov djnz djnz djnz Ret r6,#200 r7,#250 r7,$ r6,isi_r7 r5,isi_r6 ; 1s ; 0.1s ; 0.5ms #08H #04H #02H #01H

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 1 0 0 0 0 0 B 0 1 0 0 0 0 C 0 0 1 0 0 1 D 0 0 0 1 1 0 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 1 1 0 0 0 0 0 1 1 B 0 1 1 1 0 0 0 0 0 C 0 0 0 1 1 1 0 0 0 D 0 0 0 0 0 1 1 1 0 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