2 Variasi Sinyal Masukan Motor Stepper

Motor stepper bisa berputar dengan besar sudut yang bisa kita atur. Besarnya sudut tergantung berapa banyak langkah yang kita beri sinyal masukan pada motor stepper tersebut. Banyaknya langkah yang diberikanpada motor stepper juga tergantung variasi sinyal masukkan yang digunakan.
Ada 2 variasi masukan yang dapat digunakan untuk memutarkan motor stepper.
3 Bentuk Motor Stepper

Sinyal masukan dari mikrokontroler atau arduino sangat kecil jika dihubungkan langsung ke motor stepper, untuk itu perlu pasang rangkaian driver untuk memperkuat sinyal atau memperbesar tegangan yang masuk ke motor stepper tetapi memiliki bentuk sinyal yang sama dengan keluaran mikrokontroler dan arduino.
Driver Motor Stepper

Pemberian sinyal masukan ke motor stepper bisa 2 variasi tergantung banyak langkah yang diinginkan dalam 1 putaran penuh motor stepper, jika ingin 8 langkah perputaran maka pemberian sinyal masukan seperti dalam tabel Halt-Step Swiching Sequence, tapi jika ingin 4 langkah perputaran maka pemberian sinyal masukan seperti dalam tabel Full-Step Switching Sequence.




Rangkaian Motor Stepper dengan Arduino

Rangkaian Motor Stepper dengan Mikrokontroler Atmega16

Program Kendali Motor Stepper variasi Half-Step Switching Sequence :

#include <mega16.h>
#include <delay.h>

#define OUT1 PORTD.0
#define OUT2 PORTD.1
#define OUT3 PORTD.2
#define OUT4 PORTD.3

// Declare your global variables here

void main(void)
{
// Declare your local variables here

DDRD = 0xFF;
PORTD = 0x0F;

while (1)
{
// Place your code here 
OUT1 = 1;
OUT2 = 0;
OUT3 = 0;
OUT4 = 0;
delay_ms(100); 

OUT1 = 1;
OUT2 = 1;
OUT3 = 0;
OUT4 = 0;
delay_ms(100) ;

OUT1 = 0;
OUT2 = 1;
OUT3 = 0;
OUT4 = 0;
delay_ms(100) ;

OUT1 = 0;
OUT2 = 1;
OUT3 = 1;
OUT4 = 0;
delay_ms(100) ;

OUT1 = 0;
OUT2 = 0;
OUT3 = 1;
OUT4 = 0;
delay_ms(100) ;

OUT1 = 0;
OUT2 = 0;
OUT3 = 1;
OUT4 = 1;
delay_ms(100) ;

OUT1 = 0;
OUT2 = 0;
OUT3 = 0;
OUT4 = 1;
delay_ms(100) ;

OUT1 = 1;
OUT2 = 0;
OUT3 = 0;
OUT4 = 1;
delay_ms(100) ;

}
}

 

Program Kendali Motor Stepper ariasi Half-Step Switching Sequence :

#include <mega16.h>
#include <delay.h>

#define OUT1 PORTD.0
#define OUT2 PORTD.1
#define OUT3 PORTD.2
#define OUT4 PORTD.3

// Declare your global variables here

void main(void)
{
// Declare your local variables here

DDRD = 0xFF;
PORTD = 0x0F;

while (1)
{
// Place your code here 
OUT1 = 1;
OUT2 = 1;
OUT3 = 0;
OUT4 = 0;
delay_ms(100); 

OUT1 = 0;
OUT2 = 1;
OUT3 = 1;
OUT4 = 0;
delay_ms(100) ;

OUT1 = 0;
OUT2 = 0;
OUT3 = 1;
OUT4 = 1;
delay_ms(100) ;

OUT1 = 1;
OUT2 = 0;
OUT3 = 0;
OUT4 = 1;
delay_ms(100) ;

}
}




Comments