Nano.M.H

Mikrokontroller

Motor Stepper

PERCOBAAN 3
MOTOR STEPPER ( μController )

Tujuan
1. Mahasiswa mampu membuat dan memahami pemrograman motor stepper pada
μController, baik secara arah putaran motor maupun derajat putaran pada motor
stepper.
2. Mahasiswa mampu membuat aplikasi sederhana dengan pengendalian pada motor
stepper .
3. Mahasiswa mamahami rangkaian interface mikrokontroller dengan motor stepper
4. Mahasiswa memahami rangkaian driver motor stepper L293D
5. Mahasiswa memahami bahasa assembly untuk mengatur arah putaran motor
stepper dengan menggunakan Keypad.
DASAR TEORI
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 diberikan 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 kompas1. Synchronous serial adalah komunikasi dimana hanya ada satu pihak
pengirim atau penerima) yang menghasilkan clock dan mengirimkan clock tersebut
bersama-sama dengan data. Contoh pengunaan synchronous serial terdapat pada
transmisi data keyboard.
Gamabar IV.1 : Dengan Menggunakan Driver L293D
Modul Embdded System
Created By Aspkrw )
III-2
Berikut ini data yang diberikan pada motor Stepper agar Motor Stepper dapat berputar
Table IV.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
Table IV.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
Untuk mencari Derajat Putaran pada motor stepper digunakan rumus sebagai berikut :
Xdesimal = Derajat yang diinginkan
7,2
(ubah nilai X kedalam heksa)

Bagian 1
Modul 3.1 Mencari data Full Step dan Half Step
1. Modul training kit uController, beserta kabel interkoneksi ( kabel ribbon )
2. Modul Driver Motor stepper
3. Motor Stepper
4. Power Supply Low Cost Minsis
Cari Data Hexadesimal untuk Full Step :
A B C D Data Hexadesimal
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
Cari Data Hexadesimal untuk Half Step :
A B C D Data Hexadesimal
1 0 0 0
1 1 0 0
0 1 0 0
0 1 1 0
0 0 1 0
0 0 1 1
0 0 0 1
1 0 0 1
1 0 0 0
Al a t – a l a t
Pr o s ed ur Pe r c o b a a n
Modul Embdded System
Created By Aspkrw )
III-6
3.1.2. Arah Pergerakan Motor Stepper Full Step
a. Ketik syntax diatas pada program Reads51, save pada My Documents/Embedded
System/Percobaan 4/Motor_Stepper1.asm, kemudian compile.
b. Bila tidak terdapat pesan kesalahan buka program Atmel ISP, dan lakukan flashing
terhadap file tersebut ke dalam uController.
c. Klik Run target pada program Atmel ISP, amati putaran pada motor stepper
Modul Embdded System
Created By Aspkrw )
III-7
Output :
Arah Pergerakan =.………….
Derajat Pergerakan =…………..

3.1.3. Arah Pergerakan Motor Stepper Half Step
#include <sfr51.inc>
acall delay1
mov p1,#ffh
mov p2,#ffh
mov p3,#ffh
start:
mov r3,#19h
;
Loop_A:
Mov p0,#07h
Acall delay1
Mov p0,#03h
Acall delay1
Mov p0,#0bh
Acall delay1
Mov p0,#09h
Acall Delay1
Mov p0,#0dh
Acall delay1
Mov p0,#0ch
Acall delay1
Mov p0,#0eh
Acall delay1
Mov p0,#06h
Acall Delay1
Djnz r3,Loop_A
Sjmp Start
;
Delay1 :
Mov r7,#15
Ulang1:mov r6,#10
Ulang2:mov r5,#10
djnz r5,$
djnz r6,Ulang2
djnz r7,Ulang1
ret
;
end
Modul Embdded System
Created By Aspkrw )
III-9
a. Ketik syntax diatas pada program Reads51, save pada My Documents/Embedded
System/Percobaan 4/Motor_Stepper2.asm, kemudian compile.
b. Bila tidak terdapat pesan kesalahan buka program Atmel ISP, dan lakukan flashing
terhadap file tersebut ke dalam uController.
c. Klik Run target pada program Atmel ISP, amati putaran pada motor stepper
Output :
Arah Pergerakan =.………….
Derajat Pergerakan =…………..

Bagian 2
Modul 3.2. Motor Stepper Keypad Kontrol
1 Modul training kit uController, beserta kabel interkoneksi ( kabel ribbon )
2. Modul Driver Motor stepper
3. Motor Stepper
4. Power Supply Low Cost Minsis
5. Keypad
Keterangan Inisialisasi Keypad :
C1 C2 C3 B1 B2 B3 B4 Comm
P3.7 P3.6 P3.5 P3.4 P3.3 P3.2 P3.1 P3.0
Untuk penggunan untuk inisialisai keypad tergantung pada data sheet keypad tersebut
Keypad yang digunakan ini adlah keypad 3×4 dimana terdiri dari tombol 0 sampai
dengan 9 dan ‘ * ‘ dan ‘ # ‘.
Adpun pengaktifanya adalah dengan memberikan logika low pada pin yang terdeteksi
ketika tombol keypad ditekan.
Tabel 3.1 : Data Keypad yang dapat dibaa pada Mikrokontroler
Keterangan Tombol Keterangan Data Hexa
1 Baris 1 Col 1 6E
2 Baris 1 Col 2 A6
3 Baris 1 Col 3 CE
4 Baris 2 Col 1 76
5 Baris 2 Col 2 B6
6 Baris 2 Col 3 D6
7 Baris 3 Col 1 7A
8 Baris 3 Col 2 BA
9 Baris 3 Col 3 DA
Bintang “ * “ Baris 4 Col 1 7C
0 Baris 4 Col 2 BC
Pagar “ # “ Baris 4 Col 3 DC
Al a t – a l a t
Modul Embdded System
Created By Aspkrw )
III-12
#include <sfr51.inc>
Org 00h
acall Long_Delay
;Com Bit P3.7
;Col1 Bit P3.0
;Col2 Bit P3.1
;col3 Bit p3.2
;Row4 Bit P3.3
;Row3 Bit P3.4
;Row2 Bit P3.5
;Row1 Bit P3.6
;
mov p0,#0ffh
mov p1,#0ffh
mov p2,#ffh
mov p3,#0ffh
sjmp start
;
start:
mov p2,#0ffh
mov a,#00h
clr p3.0
;—–Keypad Colom 1 baris 1
Check_Keypad1:
mov r2,p3
cjne r2,#6Eh,Check_Keypad2
sq1: cjne r2,#6Eh,sq1
acall STEPPER_1
acall delay1
sjmp Check_Keypad1
;—–Keypad Colom 2 baris 1
Check_Keypad2:
mov r2,p3
cjne r2,#A6h,Check_Keypad1
sq2: cjne r2,#A6h,sq2
acall STEPPER_2
acall delay1
sjmp Check_Keypad1
Modul Embdded System
Created By Aspkrw )
III-13
STEPPER_1:
mov r3,#32h
Loop_A :
mov p1,#7h
acall delay1
mov p1,#Bh
acall delay1
mov p1,#dh
acall delay1
mov p1,#eh
acall delay1
djnz r3,Loop_A
sjmp Check_Keypad1
STEPPER_2:
mov r3,#32h
Loop_A :
mov p1,#0eh
acall delay1
mov p1,#0dh
acall delay1
mov p1,#0bh
acall delay1
mov p1,#07h
acall delay1
djnz r3,Loop_A
sjmp Check_Keypad1
Modul Embdded System
Created By Aspkrw )
III-14
a. Ketik syntax diatas pada program Reads51, save pada My Documents/Embedded
System/Percobaan 4/Motor_Stepper_Keypad1.asm, kemudian compile.
b. Bila tidak terdapat pesan kesalahan buka program Atmel ISP, dan lakukan flashing
terhadap file tersebut ke dalam uController.
c. Klik Run target pada program Atmel ISP,
Long_Delay:mov r7,#1
stay1 :djnz r6,stay1
djnz r5,stay1
djnz r7,stay1
ret
delay1:
mov R7,#15
Ulang1: mov r6,#10
Ulang2: mov r5,#20
djnz r5,$
djnz r6,Ulang2
djnz r7,Ulang1
ret
delay:mov r0,#3
stay:djnz r1,stay
djnz r4,stay
djnz r0,stay
ret
end

2 Comments »

  1. artikel yang bermanfaat.,.,thanks ya bisa bantu saya untuk ngerjain tugas akhir.,.,.,.,salam kenal.,,.!!!

    Comment by Thathit | March 8, 2010 | Reply

    • Slam knal jga thatit!

      Comment by nanomh86 | May 8, 2010 | Reply


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.