Professional Documents
Culture Documents
Stepper
Dasar Motor Stepper
Motor stepper adalah sebuah peralatan elektromekanik yang mengubah pulsa elektrik menjadi
pergerakan mekanik. Shaft atau kumparan motor stepper berputar per step ketika pulsa elektrik
dimasukkan ke kumparan tersebut dengan urutan yang benar. Urutan pemberian pulsa ke motor
stepper akan menyebabkan arah putaran yang berbeda. Sedangkan besarnya frekuensi dari pulsa
akan mempengaruhi kecepatan putaran motor stepper.
Motor stepper unipolar baik tipe 5 atau 6 kabel biasanya dihubungkan seperti pada gambar
diatas, dengan sebuah center tap pada tiap kumparan. Pada penggunaannya, center tap
dihubungkan ke supply positif, dan dua ujung kumparan lainnya dihubungkan ke ground.
Bagian rotor motor pada gambar diatas dibuat dari magnet permanent dengan 6 kutub, 3 kutub
utara dan 3 kutub selatan.
Step Angle / SA
Motor stepper bergerak per step. Setiap bergerak satu step, motor stepper akan berputar beberapa
derajat sesuai dengan step anglenya. Step angle tergantung dari jumlah kutub magnet motor
stepper. Jumlah putaran yang diperlukan agar motor stepper bergerak 1 putaran penuh (360
derajat) adalah :
Misalnya, sebuah motor stepper memiliki SA=1,8 derajat maka untuk untuk berputar satu
putaran penuh memerlukan jumlah step sebanyak : 360 / 1,8 = 200 step
Arah putaran motor stepper ditentukan oleh arah urutan aktifasi kumparannya. Secara program,
ini bisa dilakukan dengan mengubah arah pergeseran bit.
Jika arah pergesarannya ke kiri, maka motor stepper akan berputar kearah kiri pula (CCW)
Jika arah pergeserannya ke kanan, maka motor stepper akan berputar ke arah kanan (CW)
#include <mega8535.h>
#include <delay.h>
// Declare your global variables here
int i;
unsigned char x;
void main(void)
i=0;
x=0×88;
while (1)
while (i<=3)
i++;
PORTA=x;
delay_ms(500);
x=x>>1;
if (i>=4)
i=0;
x=0×88;
};
}
#include <mega8535.h>
#include <delay.h>
int i;
unsigned char x;
void main(void)
i=0;
x=0×11;
while (1)
while (i<=3)
i++;
PORTA=x;
delay_ms(500);
x=x<<1;
if (i>=4)
{
i=0;
x=0×11;
};
Kendali Kecepatan
Kecepatan motor stepper ditentukan oleh kecepatan aktifasi kumparannya. Secara program, ini
bisa dilakukan dengan mengubah delay waktu pergeseran tiap bitnya. Semakin cepat delay
waktunya, kecepatan motor stepper juga akan bertambah.
#include <mega8535.h>
#include <delay.h>
int i;
unsigned char x;
void main(void)
i=0;
x=0×88;
while (1)
while (i<=3)
{
i++;
PORTA=x;
delay_ms(50);
x=x>>1;
if (i>=4)
i=0;
x=0×88;
};
Kendali Torsi
Torsi motor stepper ditentukan oleh banyaknya jumlah kumparan yang aktif pada saat yang
sama. Torsi akan bertambah besar jika 2 kumparan aktif pada saat yang sama.
#include <mega8535.h>
#include <delay.h>
int i;
unsigned char x;
void main(void)
.
.
i=0;
x=0x4C;
while (1)
while (i<=3)
i++;
PORTA=x;
delay_ms(500);
x=x>>1;
if (i>=4)
i=0;
x=0x4C;
};
Kendali Posisi
Derajat putaran motor stepper ditentukan oleh banyaknya jumlah pergeseran aktifasi
kumparannya. Secara program, ini bisa dilakukan dengan mengubah jumlah pergeseran bit.
Pada motor stepper dengan SA=1,80 , agar motor stepper bergerak 1800 maka diperlukan
pergeseran step sebanyak : 180/1,8 =100 step
#include <mega8535.h>
#include <delay.h>
int i,step;
unsigned char x;
void shift()
if (x==0×11)
PORTA=x;
delay_ms(500);
x=0×88;
else
PORTA=x;
delay_ms(500);
x=x>>1;
void main(void)
step=100;
x=0×88;
i=0;
while (1)
if (i<=step)
shift();
i++;
else
PORTA=0×00;
};