BAB
III
ANALISA
DAN CARA KERJA RANGKAIAN
3.4 Driver
motor dan Motor stepper
Rangkaian
pada gambar 16 adalah rangkaian output. Dari output port P0.0 sampai dengan
P0.3 IC, instruksi dari program assembler memberikan perintah pada driver motor
agar dapat menggerakkan motor stepper. Bila sensor terhalang maka motor stepper
akan bergerak dan membuat prototype pintu bergeser terbuka dan menutup.
3.6 Analisa
Perangkat Lunak
Pemograman agar motor stepper bergerak diatur pada IC ini. Cara kerja dari
programnya sebagai berikut :
yang pertama dilakukan adalah
mendeklarasikan variabel putaran, d, p, p0, p1, dan p2.
putaran data 10h
d data 11h
p data 12h
p0 data 80h
p1 data 90h
p2 data 0a0h
pada saat photo dioda terhalang maka p2.0= 0, lalu kita memberikan kondisi pada port p2.0 apakah
ada inputan atau tidak. Lalu masukan prosedur untuk menggerakkan motor stepper
untuk menggeser pintu dan pintpun terbuka.
Mulai:
mov p2,#0ffh
jb p2.0, $
mov
d,#2 ;untuk membuka pintu
phase1:
mov
p,#150
phase2:
acall
cw ;motor searah cw
djnz
p,phase2
djnz
d, phase1
setelah pintu membuka terdapat sebuah delay yang memberikan jeda waktu agar
pintu terus membuka.
acall delay2 ;panggil delay buka pintu
lalu program menginstruksi agar motor stepper bergerak berlawanan sehingga
menggeser pintu untuk menutup.
mov d,#2 ;untuk menutup pintu
phase3:
mov
p,#150
phase4:
acall
ccw ;motor searah ccw
djnz
p,phase4
djnz
d, phase3
ajmp
mulai ;kembali
ke prosedur mulai
Prosedur untuk menggerakkan arah motorstepper searah jarum jam sehingga
dapat membuka pintu.
; arah motor cw
cw:
mov
p0, #0
setb
p0.0
acall
delay
clr
p0.0
setb
p0.1
acall
delay
clr
p0.1
setb
p0.2
acall
delay
clr
p0.2
setb
p0.3
acall
delay
ret
prosedur untuk meggerakkan motor stepper berlawanan arah jarum jam (CCW)
sehingga pintu dapat menutup.
;arah motor ccw
ccw:
mov
p0, #0
setb
p0.3
acall
delay
clr
p0.3
setb
p0.2
acall
delay
clr
p0.2
setb
p0.1
acall
delay
clr
p0.1
setb
p0.0
acall
delay
ret
prosedur untuk memberikan waktu delay saat pergantian phase di motor
stepper.
;delay phase motor berputar
Delay:
mov r7,#90
tunda1:
mov
r6,#50
tunda2:
mov r5,#50
djnz r5,$
djnz r6,tunda2
djnz r7,tunda1
ret
Prosedur untuk memberikan jeda waktu pada saat motor stepper membuka pintu
dan menutup pintu
;delay timing waktu membuka
delay2:
mov
r7,#6
tunda4:
mov r6,#255
tunda5:
mov r5,#255
tunda6:
mov
r4,#255
djnz r4,$
djnz r5,tunda6
djnz r6,tunda5
djnz
r7,tunda4
ret
End