MOTOR STEPPER
Motor stepper memiliki bagian-bagian utama berupa stator magnet permanen,
dan lilitan kawat pada rotor. Hal yang membedakan motor stepper dari motor induksi
biasa adalah motor stepper memiliki beberapa lilitan pada rotor, yang jumlahnya
ditunjukkan oleh jumlah bit motor stepper tersebut dan juga menunjukkan besar
derajat pada setiap langkah putaran. Pada motor stepper empat bit terdapat empat
lilitan yang menentukan gerakan rotor.
Jika suatu lilitan induktor dengan arah tertentu dialiri arus listrik searah, akan
timbul medan magnet berkutub utara-selatan pada ujung-ujung inti besinya. Medan
magnet pada keempat lilitan stator motor stepper S A, SB, SC, dan SD, dapat diaktifkan
masing-masing. Pengaktifan medan magnet pada satu lilitan stator akan menarik
ujung rotor R untuk mensejajarkan dirinya dengan stator penarik. Dimisalkan gambar
di atas menunjukkan kondisi awal suatu motor stepper, dimana salah satu ujung
rotor R sedang sejajar dengan lilitan stator S A.
Jika dalam keadaan tersebut aktivitas pemberian arus dipindahkan ke lilitan
SB, maka ujung rotor R yang terdekat dengan S B akan segera mensejajarkan diri
dengan SB. Berarti, rotor akan berputar searah jarum jam sejauh 18 o. Sebaliknya,
jika dari kondisi awal lilitan pada stator S D yang diaktifkan, maka rotor akan berputar
berlawanan dengan arah jarum jam sejauh 18 o, hingga ujung rotor yang terdekat
menjadi sejajar dengan SD. Jadi, untuk memutar rotor sejauh 360 o searah jarum jam,
diperlukan 20 langkah aktivasi (360o = 20 x 18o), yaitu SB, SC, SD, SA, SB, ... dst.
jika lilitan stator diaktifkan satu persatu secara bergiliran, maka stator akan
berputar sejauh 18o/langkah. Namun, besarnya sudut putar ini bisa diperkecil lagi
dengan menambahkan kombinasi berupa aktivasi dua lilitan stator. Sebagai contoh,
dari kondisi awal pada gambar di atas, jika lilitan stator S A dan SB diaktifkan, maka
rotor akan bergerak searah jarum jam sebesar 9 o (half step). Jika keadaan terakhir
dilanjutkan lagi dengan mengaktifkan lilitan stator S B, maka putaran akan berlanjut
sejauh 9o lagi.
Putaran sebesar 9o berikutnya, dapat dilakukan dengan mengaktifkan lilitan
stator SB dan SC, dan demikian seterusnya. Cara ini dapat dilakukan untuk
memperhalus sudut putar motor stepper. Disamping cara tersebut, penghalusan
putaran dapat juga dilakukan dengan menggunakan roda gigi atau roda bertali, yang
dapat memperkecil derajat putar dalam setiap langkahnya.
Kerja motor stepper menggunakan prinsip magnet , yaitu kutub yang sama akan
saling tolak menolak dan kutub yang berbeda akan saling tarik menarik. Perbedaan
dengan jenis motor yang lain (motor linear) adalah perputaran dilakukan tidak linear
melainkan step demi step dengan memberika pulsa tertentu. Gambar I.7contoh
diagram motor stepper yang terdiri atas 6 kutub rotor dan 4 kutub stator.
Hanya satu pasang kumparan saja yang diberi catu daya sehingga satu menjadi
kutub utara (U) dan yang lainnya menjadi kutub selatan (S). Misalnya pasangan
kumparan vetikal dialiri arus listrik sehingga kutup atas menjadi kutub utara
sedangkan kutub bawah menjadi kutub selatan sehingga posisi rotor seperti pada
Gambar I.7 a. Agar motor stepper bergerak searah jarum jam kumparan horisontal
dialiri arus sehingga kutub kanan menjadi kutub selatan dan kutb kiri menjadi kutb
utara. Pemilihan kutub ini didasarkan pada kutub rotor yang paling dekat dengan
kutub stator horisontal yaitu utara pada sisi kanan dan selatan pada sisi kiri (Gambar
I.7 b). Step selanjutnya adalah dengan mengaliri kumparan vertikal sehingga kutub
atas menjadi kutub selatan dan yang lainnya menjadi kutub utara (Gambar I.7 c).
Terakhir adalah mengaliri klumparan horisontal sehingga kutub kanan stator menjadi
kutub utara dan yang lainnya kutub selatan Gambar I.7 d). Nampak bahwa empat
step ini baru menggerakkan motor stepper sejauh 90 derajat, oleh karena itu untuk
menggerakkan motor stepper sejauh 360 derajat atau satu putaran maka empat step
di atas perlu diulang sebanyak tiga kali.
C. Rangkaian drivernya
ULN2004
J IS P
5k
R9
R ST
p in b . 7
p in b . 6
p in b . 5
R S _LC D
E_LC D
5V
5V
1
C 1 22pF
C 3 100nF 1
SW 2
X1
C 2 22pF
A
A
A
A
R S_LC D
E_LC D
A
A
A
A
D
D
D
D
C
C
C
C
4
5
6
7
D
D
D
D
C
C
C
C
4
5
6
7
D 3
1 N 4 0H 0 E2 A D E R 1 6
VC C
5V
1
2
3
4
5
6
7
1A
2A
3A
4A
5A
6A
7A
1B
2B
3B
4B
5B
6B
7B
COM
ATM EG A16
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
P B 0 (X C K /T 0 )
P A 0 (A D C 0 )
P B 1 (T 1 )
P A 1 (A D C 1 )
P B 2 (I N T 2 /A IN 0 ) P A 2 (A D C 2 )
P B 3 (O C 0 / A I N 1 ) P A 3 (A D C 3 )
P B 4 (S S )
P A 4 (A D C 4 )
P B 5 (M O S I)
P A 5 (A D C 5 )
P B 6 [M IS O )
P A 6 (A D C 6 )
P B 7 [S C K )
P A 7 (A D C 7 )
R ESET
AREF
VCC
AGN D
GND
AVC C
XTA L2
P C 7 (T O S C 2 )
XTA L1
P C 6 (T O S C 1 )
P D 0 (R X D )
PC 5
P D 1 (T X D )
PC 4
P D 2 (IN T 0 )
PC 3
P D 3 (IN T 1 )
PC 2
P D 4 (O C 1 B )
P C 1 (S D A )
P D 5 (O C 1 A )
P C 0 (S C L )
P D 6 (IC P )
P D 7 (O C 2 )
16
15
14
13
12
11
10
MG1
1
2
3
RST
U 1
p in b . 5
p in b . 6
p in b . 7
R 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
5V
1
1
M O TO R S TE P P E R
12V
GN D
2
2
1
2
3
4
5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
VC C
U LN 2003
//------------------------------------------------------//DEKLARASI HEADER
//------------------------------------------------------#include <stdio.h>
#include <mega16.h>
#include <delay.h>
//-----------------------------------------------------//DEKLARASI VARIABEL
//-----------------------------------------------------char a,b;
//-----------------------------------------------------//RUTIN UTAMA
//-----------------------------------------------------void main()
{
DDRC=0xFF;
DDRB=0x00;
while(1)
{
if(PINB.0==1)
{
KIRI();
}
if(PINB.1==1)
{
KANAN();
}
}
}
{
a=0b10001000;
for(b=0;b<=3;b++)
{
PORTC=a;
a = a>>1;
delay_ms(200);
}
}