You are on page 1of 8

Pengendalian Motor 

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

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 :

Step = 360 derajat / Step Angle

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

Kendali Arah Putaran

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)

Arah Putaran Searah Jarum Jam

#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)

// Place your code here

while (i<=3)

i++;

PORTA=x;

delay_ms(500);

x=x>>1;

if (i>=4)

i=0;

x=0×88;

};
}

Arah Putaran Berlawanan Arah Jarum Jam

#include <mega8535.h>

#include <delay.h>

// Declare your global variables here

int i;

unsigned char x;

void main(void)

i=0;

x=0×11;

while (1)

// Place your code here

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>

// Declare your global variables here

int i;

unsigned char x;

void main(void)

i=0;

x=0×88;

while (1)

// Place your code here

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.

Secara program, ini bisa dilakukan dengan mengubah kondisi bit.

#include <mega8535.h>

#include <delay.h>

// Declare your global variables here

int i;

unsigned char x;

void main(void)

.
.

i=0;

x=0x4C;

while (1)

// Place your code here

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>

// Declare your global variables here

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)

// Place your code here

if (i<=step)

shift();

i++;

else

PORTA=0×00;

};

You might also like