Percobaan 7 INTERFACE MIKROKONTROLER DAN MOTOR STEPPER I. Tujuan 1. Mengetahui cara menggerakkan motor stepper, serta cara kerjanya. 2. Dapat membuat program untuk mengontrol motor stepper 3. Mengenal, memahami konfigurasi, dapat mengoperasikan, dan membuat program bagi modul stepper motor. II. Ruang Lingkup A. Teori Singkat Stepper motor merupakan motor elektronik yang digerakkan berdasarkan stepstep tertentu yang dipicu dengan adanya medan magnet dalam kumparan motor tersebut. Bagian dalam motor stepper terbagi atas dua bagian, bagian yang pertama ialah bagian magnet permanen (rotor) yang terletak pada inti dari motor tersebut, sedangkan bagian kedua merupakan variable magnet yang berada di sekeliling magnet permanen (stator) yang berfungsi menggerakan magnet permanen sehingga motor dapat berputar. Keistimewaan dari motor ini adalah mempunyai derajat putar yang pasti untuk setiap stepnya.
Gambar 7.1 Rangkaian dalam Motor Stepper Motor stepper terbagi atas beberapa jenis antara lainnya ialah : 1. Variable Reluctance motor 2. Unipolar Motor 3. Bipolar Motor 4. Bifilar Motors Multiphase Motor 5. Multi Phase Motor Untuk mendukung kerja dari stepper motor maka pada percobaan kali ini kita menggunakan modul EX 05. Modul EX 05 dihubungkan langsung dengan U-board melalui data bus.Supaya motor stepper dapat bekerja, modul EX 05 juga Pedoman Praktikum Aplikasi Mikroprosesor & Interfacing Percobaan 7
UPT Perangkat Keras Halaman : 1 dari 10
perlu catu daya 12 V DC.Untuk output, modul EX 05 menyediakan 5 buah pin yang disambungkan dengan motor stepper.
P1
P2
+V
P3
P4
Gambar 7.7 Stepper motor dengan 5 input (dengan 4 kontrol dan 1 Vcc ) Ada beberapa cara untuk menggerakan motor stepper antara lainnya : 1. Half Step 2. Full Step Full Step Full Step adalah cara menggerakan motor stepper dengan mengaktifkan salah satu coil pada motor stepper, untuk lebih jelasnya dapat dilihat pada gambar dibawah ini. Step
Coil 4
Coil 3
Coil 2
Coil 1
a.1
on
off
off
off
a.2
off
on
off
off
a.3
off
off
on
off
Pedoman Praktikum Aplikasi Mikroprosesor & Interfacing Percobaan 7
UPT Perangkat Keras Halaman : 2 dari 10
Step
Coil 4
Coil 3
Coil 2
Coil 1
a.4
off
off
off
on
Gambar 7.8 Full Step
Half Step Half Step adalah cara menggerakan motor stepper sedemikian rupa sehingga pergerakkan motor lebih halus, untuk lebih jelasnya dapat dilihat pada gambar dibawah ini. Step
Coil 4
Coil 3
Coil 2
Coil 1
a.1
on
off
off
off
b.1
on
on
off
off
a.2
off
on
off
off
b.2
off
on
on
off
Pedoman Praktikum Aplikasi Mikroprosesor & Interfacing Percobaan 7
UPT Perangkat Keras Halaman : 3 dari 10
Step
Coil 4
Coil 3
Coil 2
Coil 1
a.3
off
off
on
off
b.3
off
off
on
on
a.4
off
off
off
on
b.4
on
off
off
on
Gambar 7.10 Half Step B. Daftar Alat 1. EX-03 Switch Input Board 2. EX-06a Stepper Motor Driver 3. Modul Aplikasi & Interfacing
kode: kode: kode:
III . Referensi • Anonim, Architectural Overview of The MCS-51 Family of Microcontrollers, Intel Inc. • Anonim, bgc-8052 Microengineer Operation Manual • Hall, Douglas V. (1991), Microprocessors And Interfacing : Programming and Hardware. McGraw-Hill Inc. • http://mechatronics.mech.nwu.edu/mechatronics/design_ref/actuators/stepper_dr ive2.html • http://www.electronics-ee.com/Electronics/Circuits/Electrical_motor.htm • http://www.cs.uiowa.edu/~jones/step/ Pedoman Praktikum Aplikasi Mikroprosesor & Interfacing Percobaan 7
UPT Perangkat Keras Halaman : 4 dari 10
IV . Urutan Instruksi Kerja A . Prosedur 1. Driver Motor Stepper • Hubungkan Modul 8051 dengan Modul Buffer, Modul Driver Motor Stepper. Hubungkan dengan menggunakan data bus antara Modul 8051, Modul Buffer, dan Modul Driver Motor Stepper (seperti gambar 1.3 di bawah ini)
Gambar 1.3 Koneksi antara modul output dengan parallel board • •
Buka program “Notepad.exe” kemudian compile program dengan menggunakan “asm51.exe”, kemudian load file hex kedalam 8051. Masukkan perintah sebagai berikut
Menggerakkan Stepper dengan menggunakan Bahasa Assembler 51 ORG 00H AJMP Start ORG
40H Start:
MOV SP,#60H MOV R0,#04H
ULANG:
MOV P1,#01H MOV R0,#04H
LEFT:
ACALL DELAY MOV A,P1 RL A MOV P1,A DJNZ R0,LEFT
Pedoman Praktikum Aplikasi Mikroprosesor & Interfacing Percobaan 7
UPT Perangkat Keras Halaman : 5 dari 10
AJMP ULANG DELAY: DELAY1:
MOV R7,#040H MOV R6,#0FFH DJNZ R6,$ DJNZ R7,DELAY1
RET END Menggerakkan Stepper dengan menggunakan bahasa C 51 #include
void delay(unsigned char n){ unsigned char i,j; for(i=n;i>0;i--) for(j=255;j>0;j--); } void main(){ unsigned char a,i; while(1){ a=0x01; for(i=0;i<4;i++){ P1 = a; delay(100); a = a << 1; } } } • Compile-lah dan write dengan WINISP.EXE ke dalam IC • Perhatikanlah apa yang terjadi. Tugas Praktikum 1: Buatlah suatu program sederhana untuk menggerakan motor ke kiri dan ke kanan secara bergantian selama selang waktu tertentu. 2. Driver Motor stepper dan Modul Input • Hubungkan Modul 8051 dengan Modul Buffer, Modul Driver Motor Stepper, dan Modul Input. Hubungkan dengan menggunakan data bus antara Modul 8051, Modul Buffer, Modul Driver Motor Stepper, dan Modul Input (seperti gambar 1.3 di bawah ini)
Pedoman Praktikum Aplikasi Mikroprosesor & Interfacing Percobaan 7
UPT Perangkat Keras Halaman : 6 dari 10
Gambar 1.4 Koneksi antara modul input dengan parallel board • •
Buka program “Notepad.exe” kemudian compile program dengan menggunakan “asm51.exe”, kemudian load file hex kedalam 8051. Masukkan perintah sebagai berikut
Menerima Input melalui status bus dengan Bahasa Assembler 51 FLAG BIT 20H.0 ORG 00H AJMP Start ORG 03H SETB FLAG RETI ORG 13H CLR FLAG RETI ORG
40H Start:
CEK: ULANG:
MOV SP,#60H SETB EX0 SETB IT0 SETB EA MOV R0,#04H JB FLAG,ULANG AJMP ULANG1 MOV P1,#08H MOV R0,#04H
Pedoman Praktikum Aplikasi Mikroprosesor & Interfacing Percobaan 7
UPT Perangkat Keras Halaman : 7 dari 10
LEFT:
ACALL DELAY MOV A,P1 RL A MOV P1,A DJNZ R0,LEFT AJMP CEK
ULANG1:
MOV P1,#01H MOV R0,#04H ACALL DELAY MOV A,P1 RR A MOV P1,A DJNZ R0,RIGHT AJMP CEK
RIGHT:
DELAY: DELAY1:
MOV R7,#040H MOV R6,#0FFH DJNZ R6,$ DJNZ R7,DELAY1
RET END Menerima Input melalui status bus dengan Bahasa C 51 #include bit flag; void delay(unsigned char n) { unsigned char i,j; for(i=n;i>0;i--) for(j=255;j>0;j--); } void interrupt0() interrupt 0 { flag = 1; } void interrupt1() interrupt 2 { flag = 0; } void main() { unsigned char a,i; EX0 = 1; IT0 = 1; EX1 = 1; Pedoman Praktikum Aplikasi Mikroprosesor & Interfacing Percobaan 7
UPT Perangkat Keras Halaman : 8 dari 10
IT1 = 1; EA = 1; while(1){ if(flag) a = 0x01; else a = 0x08; for(i=0;i<4;i++){ P1 = a; delay(150); if (flag) a = a << 1; else a = a >> 1; } } } • •
Compile-lah dan write dengan WINISP.EXE ke dalam IC Perhatikanlah apa yang terjadi.
Program diatas merupakan program untuk menggerakan motor stepper ke kiri dan kekanan. Yang dipicu oleh interrupt (int0 dan int1) dari 8051. Tugas Praktikum 3: Buatlah sebuah Program untuk mempercepat pergerakan motor stepper hingga kecepatan maksimum. B.
Tugas Laporan 1. Jenis motor stepper 2. Penggunaan motor stepper pada praktikum 3. Fungsi Optocoupler pada rangkaian praktikum 4. Flowchart 5. Kesimpulan Latihan : Buat program Buat program menggerakkan stepper motor dengan ke kiri dan ke kanan dengan menggunakan Half Step
C.
Tugas Pendahuluan 1. Sebutkan macam-macam motor selain motor stepper, dan berikan sedikit penjelasan. 2. Tuliskan yang anda ketahui tentang motor stepper! 3. Sebutkan macam dan tipe motor stepper yang ada, dan bagaimana cara pengendaliannya ?
Pedoman Praktikum Aplikasi Mikroprosesor & Interfacing Percobaan 7
UPT Perangkat Keras Halaman : 9 dari 10
Pedoman Praktikum Aplikasi Mikroprosesor & Interfacing Percobaan 7
UPT Perangkat Keras Halaman : 10 dari 10