«

»

Apr 23

Pengendalian Motor Stepper

Motor Stepper merupakan motor DC yang dapat diatur posisinya dengan akurat pada posisi tertentu dan dapat berputar ke arah yang diinginkan dengan memberi sinyal-sinyal pulsa dengan pola tertentu. Biasanya motor stepper digunakan untuk aplikasi-aplikasi yang membutuhkan torsi kecil dengan akurasi yang tinggi, seperti pada penggerak head pada floppy disk drive atau CD-ROM.

Motor Stepper merupakan motor DC yang yang tidak memiliki komutator. Secara tipikal hanya memiliki kumparan pada statornya, sedangkan pada bagian rotornya merupakan magnet permanen. Stator terdiri dari beberapa kutub, makin banyak kutub makin sulit konstruksinya. Setiap kutub memilki lilitan yang menghasilkan medan magnet yang akan menggerakkan rotor. Pemberian arus yang berurutan pada kutub–kutubnya menyebabkan medan magnet berputar yang akan menarik rotor ikut berputar.

Dengan memberi kombinasi 1000, 0100, 0010 dan 0001, secara berulang, maka poros akan berputar (pergerakan full step / 4 siklus). Untuk berputar dengan arah sebaliknya, tinggal membalik kombinasi tersebut menjadi 0001, 0010, 0100 dan 1000; demikian seterusnya.

Untuk pergerakan half step / 8 siklus, maka kombinasi yang harus diberikan adalah 1000, 1100, 0100, 0110, 0010, 0011, 0001, 1001, dan seterusnya.

Jadi, untuk arah putar poros motor stepper, yang perlu diperhatikan adalah urutan kombinasinya. Sementara kecepatan putarnya ditentukan oleh seberapa cepat pengendali menyampaikan kombinasi-kombinasi tersebut kepada motor. Pergerakan full step lebih cepat karena hanya memerlukan 4 langkah untuk mencapai satu siklus, sementara half step memerlukan 8 langkah. Namun, pergerakan half step lebih halus. Silahkan dipilih mode pergerakan mana yang paling pas 😉

Di dalam pemrograman, beri sedikit jeda antar langkah, untuk memberikan kesempatan kepada motor untuk bergerak menuju posisi berikutnya.

Pastikan kabel motor yang terhubung dengan driver, urutannya benar. Sebagai contoh, untuk motor stepper TEAC 14769070-80 memiliki urutan : biru – putih – kuning – merah.

Berikut adalah contoh program pengendalian motor stepper dengan bahasa PBASIC, menggunakan BASIC Stamp:

'{$STAMP BS2}       'STAMP Directive

'Definisi pin I/O
RST           CON   1      'Untuk melepaskan stepper dari "lock"
S1            CON   6      'Bipolar ('1') atau Unipolar ('0')
S2            CON   4      'CW ('1') atau CCW ('0')
S3            CON   2      'Full step ('1') atau ('0')
S4            CON   0      'Untuk menjalankan stepper sebanyak jumlah clock

'Variabel
Cnt           VAR   Byte   'Varabel Counter

Init:               'DT-BASIC   SPC Stepper Motor
INPUT RST         'P1       = RST
HIGH  S1          'P6       = S1  (Bi/_Uni_)
HIGH  S2          'P4       = S2  (CW/_CCW_)
HIGH  S3          'P2       = S3  (Full/_Half_)
HIGH  S4          'P0       = S4  (Clock)

Start:
FOR Cnt=1 TO 48   'Putar searah jarum jam 48x (Full Step,CW), satu putaran
 LOW   S4        'Sinyal clock pada P0
 HIGH  S4
 PAUSE 30        'Delay 30ms
NEXT

LOW  S2           'CCW
FOR Cnt=1 TO 48   'Putar berlawanan arah jarum jam 48x (Full Step,CCW), satu putaran
 LOW   S4
 HIGH  S4
 PAUSE 30
NEXT

LOW   S3          'Half Step
HIGH  S2          'CW
FOR Cnt=1 TO 96   'Putar searah jarum jam 96x (Half Step,CW), satu putaran
LOW   S4
HIGH  S4
PAUSE 30
NEXT

LOW  S2           'CCW
FOR Cnt=1 TO 96   'Putar berlawanan arah jarum jam 96x (Half Step,CCW), satu putaran
 LOW   S4
 HIGH  S4
 PAUSE 30
NEXT

HIGH  RST         'Lepas Lock pada SPC Stepper Motor
PAUSE 1           ' dengan pulsa RESET
LOW   RST
INPUT RST
END