Anda di halaman 1dari 3

Kendali Motor Stepper dengan Modul DST-52 dan STP-06

Aplikasi kali ini membahas pengaturan pergerakan motor stepper. Ada tiga
parameter pergerakan yang bisa diatur, yaitu: arah, jumlah step dan kecepatan.
5-24VDC

D6 D5
5400 5400
D1 J?
M1 -12V
1
Stepper
5400 CON1

Q1 4700uF/50V
D400 C1
D2 J?
R1 12V
2K2 Q2 Q3 1
D313 D400 5400 CON1
J?
R3 CT
2K2 Q4 1
D313 D3 CON1

5400

D4

Q5
D400 5400
Q7
R2 D400
2K2 Q6
D313 R4
2K2 Q8
D313

2
3
4
5 1

R-PACK 10K 4P
10
11
15
14
2
3
7
6

74LS175
Q1
Q1
Q2
Q2
Q3
Q3
Q4
Q4

VCC
CLK
CLR
D1

D2

D3

D4

47K
4

12

13

9
1

P1.0
P1.1
P1.2
P1.3
+
P3.2 10uF/16V

Gambar 1
Rangkaian Pengendali Stepper

Gambar 1 menunjukkan rangkaian pengendali stepper yang dirancang dengan


menggunakan susunan transistor dengan arus kolektor maksimum 5A sehingga modul ini
mampu mengendalikan motor stepper dengan arus 5A pula.
Blok diagram pengendali motor stepper bisa dilihat pada gambar 1. Untuk
menggerakkan motor stepper satu step kekanan, maka P1 diberi data secara berurutan:
xxxx0111, xxxx1011, xxxx1101 dan xxxx1110. Sedangkan untuk menggerakkan motor
stepper satu step kekiri, maka P1 harus diberi data dengan urutan terbalik (xxxx1110,
xxxx1101, xxxx1011 dan xxxx0111). Yang perlu diperhatikan adalah antara pemberian
satu data dengan data berikutnya perlu diberi delay yang disesuaikan dengan karakteristik
respon motor stepper yang bersangkutan. Pada aplikasi ini dipakai motor stepper dengan
karakteristik delay antar perintah sekitar 1mS, dan pergerakan motor adalah 1.8° per step.
DST-52 STP-06 Motor Stepper

Gambar 2
Blok Diagram Sistem

Jadi untuk menggerakkan motor satu step diperlukan waktu sekitar 4 x 1mS =
4mS. Perhitungan kecepatan motor bisa dilakukan sebagai berikut:

1 step setara dengan putaran 1.8°, membutuhkan waktu 4mS.


1 putaran (360° = 2Π rad) setara dengan 200 step, sehingga dibutuhkan waktu 200 x 4mS
= 0.8 s untuk sekali putar.

Dengan demikian kecepatan putar maksimalnya adalah: 360°/0,8S = 450°/S atau 7,85
rad/S.
Untuk mengecilkan putaran, perlu diberi delay. Besarnya delay yang digunakan
bisa diturunkan sbb:

v = 360 / (0.8 + 200 x Delay)

Delay = {(360/v) – 0.8} / 200 S


= 1000 x {(360/v) – 0.8} / 200 mS
= (1800/v) – 4 mS (1)

dimana v adalah kecepatan yang diinginkan dalam °/S.

Satu misal kita menginginkan kecepatan 90°/S maka delay yang diperlukan adalah :

Delay = 1800/90 - 4
= 16 mS

Potongan program berikut adalah rutin untuk mengatur pergerakan motor stepper.

Potongan program 1 : Rutin PutarMotor


void PutarMotor(unsigned char arah,unsigned char step,unsigned int
Kecepatan){
unsigned char i,j,x;
x = KonversiKecepatan(Kecepatan);
switch (arah){
case '*':
for (i=0;i<step;i++){
for (j=0;j<4;j++){
P1 = Tabel_Data[i];
Delay_1mS();
}
Delay(x);
}
break;
case '#':
for (i=0;i<step;i++){
for (j=4;j>0;j--){
P1 = Tabel_Data[i];
Delay_1mS();
}
Delay(x);
}
break;
}
}

Potongan program 2 : Rutin Pengkonversian kecepatan menjadi delay


unsigned int KonversiKecepatan(unsigned int Kecepatan){
return (1800/Kecepatan - 4);
}

Pada rutin PutarMotor, parameter yang diinputkan adalah arah, step dan kecepatan. Disini
arah diwakili oleh sebuah karakter, dimana karakter ‘*’ mewakili arah kanan dan karakter
‘#’ mewakili arah kiri. Tentu saja karakter yang digunakan nantinya tergantung pada
pemakai.
Pertama yang dilakukan dalam program diatas adalah mengkonversikan nilai
kecepatan menjadi lama delay dengan menggunakan persamaan 1. Setelah itu dilihat arah
pergerakan. Kemudian, sebanyak step yang diminta lakukan:
- - Ambil satu persatu tabel data yang harus dioutputkan ke port 1. Data ini
dideklarasikan dalam array konstanta Tabel_Data:

unsigned char code Tabel_Data[] = {0x07,0x0b,0x0d,0x0e};

- - Antara pengoutputan satu data dengan data berikutnya diberi delay 1mS
- - Setiap selesai satu step beri delay yang sesuai untuk kecepatan yang diminta

Perbedaan arah kanan dan kiri terjadi pada pengaksesan Tabel_Data. Pada pergerakan
kanan, pengaksesan Tabel_Data dimulai dari Tabel_Data[0] dan seterusnya sampai
Tabel_Data[3]. Sedangkan pada pergerakan kanan, pengaksesan Tabel_Data dimulai dari
Tabel_Data[3] menurun sampai Tabel_Data[0].

Aplikasi dan program lengkap dari artikel ini dapat didownload di www.delta-
electronic.com bagian application note.

Anda mungkin juga menyukai

  • Analisa Alur SPMB
    Analisa Alur SPMB
    Dokumen1 halaman
    Analisa Alur SPMB
    Febrianto Love Programmer Web
    Belum ada peringkat
  • Surat Lamaran
    Surat Lamaran
    Dokumen1 halaman
    Surat Lamaran
    Febrianto Love Programmer Web
    Belum ada peringkat
  • Lamaran Kerja
    Lamaran Kerja
    Dokumen2 halaman
    Lamaran Kerja
    Febrianto Love Programmer Web
    Belum ada peringkat
  • Ian Motor
    Ian Motor
    Dokumen8 halaman
    Ian Motor
    Febrianto Love Programmer Web
    Belum ada peringkat
  • Wireless Comunication
    Wireless Comunication
    Dokumen91 halaman
    Wireless Comunication
    Febrianto Love Programmer Web
    Belum ada peringkat
  • Wireless Comunication
    Wireless Comunication
    Dokumen91 halaman
    Wireless Comunication
    Febrianto Love Programmer Web
    Belum ada peringkat