Pengendalian Motor Stepper Melalui PPI 8255
MOTOR STEPER
![]() |
MOTOR STEPER |
Stepper motor, baik yang memiliki magnet permanen dan hybrid memiliki 5 atau 6 kabel sebagaimana yang ditunjukkan kedua stepping motor tersebut mempunyai center tap pada dua winding-nya. Pada ketika dipakai center tap dari kedua winding tersebut dihubungkan dengan power negatif, dan kedua kabel winding dihubungkan ke power nyata untuk membalik arah.
Untuk memperoleh sudut stepping yang lebih akurat, rotor harus memiliki kutub-kutub yang lebih banyak dan harus lah proporsional.
Contoh manipulasi bitnya ialah sebagai berikut
1 0 0 0 Step 1
0 1 0 0 Step 2
0 0 1 0 Step 3
0 0 0 1 Step 4 kembalike Step 1
Untuk memutar kearah yang berlawanan perlu manipulasi bit sebagai berikut:
0 0 0 1 Step 1
0 0 1 0 Step 2
0 1 0 0 Step 3
1 0 0 0 Step 4 kembalike Step 1
2. Full step dengan meggeser 2 bit yang saling berdekatan sebanyak 1 pergeseran baik kearah kanan maupun kiri tergantung putaran motornya.
Contoh manipulasi bitnya ialah sebagai berikut:
1 1 0 0 Step 1
0 1 1 0 Step 2
0 0 1 1 Step 3
1 0 0 1 Step 4 kembalike Step 1
Untuk memutar kearah yang berlawanan perlu manipulasi bit sebagai berikut:
0 0 1 1 Step 1
0 1 1 0 Step 2
1 1 0 0 Step 3
1 0 0 1 Step 4 kembalike Step 1
Pada rangkaian mikrokontroler ini stepper motor dihubungkan dengan PPI 8255 yaitu PortA.0 s.d. PortA.3.Untuk menghubungkan PPI 8255 dengan motor steper perlu interface lain sebagai buffer yaitu IC ULN2003.
Gambar Kerja
![]() |
Pengendalian Motor Stepper Melalui PPI 8255 |
Program Mikrokontroler
Program 1:
PORTA EQU 80H
COMMAND EQU 83H
ORG 0H
MOV A, #10000000B
MOV DPTR,#COMMAND ; inisialisasi ppi 8255
Mulai:MOVX @DPTR,A
MOV DPTR,#PORTA
ULANG:MOV A, #1000B
MOVX @DPTR,A
call delay
MOV A, #0100B
MOVX @DPTR,A
call delay
MOV A, #0010B
MOVX @DPTR,A
call delay
MOV A, #0001B
MOVX @DPTR,A
call delay
SJMP ULANG
delay: Mov R1,#20
DELAY1: mov R2,#255
DELAY2: MOV R3,#255
DJNZ R3,$
DJNZ R2,DELAY2
DJNZ R1,DELAY1
RET
END
Program 2:
PORTA EQU 80H
COMMAND EQU 83H
ORG 0H
MOV A, #10000000B
MOV DPTR,#COMMAND ; inisialisasi ppi 8255
Mulai:MOVX @DPTR,A
MOV DPTR,#PORTA
ULANG:MOV A, #0001B
MOVX @DPTR,A
call delay
MOV A, #0010B
MOVX @DPTR,A
call delay
MOV A, #0100B
MOVX @DPTR,A
call delay
MOV A, #1000B
MOVX @DPTR,A
call delay
SJMP ULANG
delay: Mov R1,#20
DELAY1: mov R2,#255
DELAY2: MOV R3,#255
DJNZ R3,$
DJNZ R2,DELAY2
DJNZ R1,DELAY1
RET
END
Program 3:
PORTA EQU 80H
COMMAND EQU 83H
ORG 0H
MOV A, #10000000B
MOV DPTR,#COMMAND ; inisialisasi ppi 8255
Mulai:MOVX @DPTR,A
MOV DPTR,#PORTA
ULANG:MOV A, #1100B
MOVX @DPTR,A
call delay
MOV A, #0110B
MOVX @DPTR,A
call delay
MOV A, #0011B
MOVX @DPTR,A
call delay
MOV A, #1001B
MOVX @DPTR,A
call delay
SJMP ULANG
delay: Mov R1,#20
DELAY1: mov R2,#255
DELAY2: MOV R3,#255
DJNZ R3,$
DJNZ R2,DELAY2
DJNZ R1,DELAY1
RET
END
Program 4:
PORTA EQU 80H
COMMAND EQU 83H
ORG 0H
MOV A, #10000000B
MOV DPTR,#COMMAND ; inisialisasi ppi 8255
Mulai:MOVX @DPTR,A
MOV DPTR,#PORTA
ULANG:MOV A, #0011B
MOVX @DPTR,A
call delay
MOV A, #0110B
MOVX @DPTR,A
call delay
MOV A, #1100B
MOVX @DPTR,A
call delay
MOV A, #1001B
MOVX @DPTR,A
call delay
SJMP ULANG
delay: Mov R1,#20
DELAY1: mov R2,#255
DELAY2: MOV R3,#255
DJNZ R3,$
DJNZ R2,DELAY2
DJNZ R1,DELAY1
RET
END

