I. Tujuan :
1. Mengetahui cara kerja motor stepper
2. Mengetahui rangkaian pengendali motor stepper
3. Memahami cara memprogram motor stepper
II. Teori :
Motor stepper adalah jenis motor DC yang berputar dengan gerakan diskrit. Motor
ini mempunyai sejumlah kumparan stator yang dikelompokkan menjadi fasa. Dengan
memberikan tegangan pada tiap fasanya secara bergantian, motor bergerak satu step tiap
waktunya. Berdasarkan spesifikasinya, tiap step putaran motor stepper bisa 1.8 derajat,
3.6 derajat, 7.5 derajat, 15 derajat hingga 90 derajat.
Dengan mengatur putarannya, motor stepper dapat menghasilkan posisi dan
kecepatan putar yang akurat. Oleh karena motor stepper sering digunakan pada berbagai
mesin seperti printer 3D, CNC, Plotter, Diskdrive, dan robot.
Dilihat dari jenis kumparannya, motor stepper dapat dibagi dua jenis, yaitu bipolar
dan unipolar seperti ditunjukkan dalam gambar 1. Motor stepper dengan jenis bipolar
mempunyai dua kumparan dan biasanya mempunyai 4 terminal. Sementara, motor
stepper unipolar mempunyai dua kumparan dengan center tapped pada tiap kumparannya
dan mempunyai 5 terminal karena seluruh centre tapped dijadikan satu koneksi.
Gambar 2 Urutan perintah untuk metode full step dan half step motor unipolar
(Sumber: sideplayer.com)
3. Tuliskan program berikut pada editor IDE. Program asli terdapat dalam website
arduino.cc
const int pinFasa1 = 13; // nomor pin untuk fasa1
const int pinFasa2 = 12; // nomor pin untuk fasa2
const int pinFasa3 = 11; // nomor pin untuk fasa3
const int pinFasa4 = 10; // nomor pin untuk fasa4
const int lama = 100;
int putar = 1;
void setup() {
// Inisialisasi pinFasa1 sebagai output
pinMode(pinFasa1, OUTPUT);
// Inisialisasi pinFasa2 sebagai output
pinMode(pinFasa2, OUTPUT);
// Inisialisasi pinFasa3 sebagai output
pinMode(pinFasa3, OUTPUT);
// Inisialisasi pinFasa4 sebagai output
pinMode(pinFasa4, OUTPUT);
}
void loop() {
if (putar != 0) {
digitalWrite(pinFasa1, HIGH);
digitalWrite(pinFasa2, LOW);
digitalWrite(pinFasa3, LOW);
digitalWrite(pinFasa4, LOW);
delay (lama);
digitalWrite(pinFasa1, LOW);
digitalWrite(pinFasa2, HIGH);
digitalWrite(pinFasa3, LOW);
digitalWrite(pinFasa4, LOW);
delay (lama);
digitalWrite(pinFasa1, LOW);
digitalWrite(pinFasa2, LOW);
digitalWrite(pinFasa3, HIGH);
digitalWrite(pinFasa4, LOW);
delay (lama);
digitalWrite(pinFasa1, LOW);
digitalWrite(pinFasa2, LOW);
digitalWrite(pinFasa3, LOW);
digitalWrite(pinFasa4, HIGH);
delay (lama);
50
7. Buat program serupa dengan arah putar kebalikan dari sebelumnya. Beri komentar
di tiap baris perintahnya.
Dibalik dari (13-10) ke (10-13)