Hot Posts

6/recent/ticker-posts

Motor Stepper

Motor stepper adalah perangkat elektromekanis yang bekerja dengan mengubah pulsa elektronis menjadi gerakan mekanis diskrit. Motor stepper bergerak berdasarkan urutan pulsa yang diberikan kepada motor. Karena itu, untuk menggerakkan motor stepper diperlukan pengendali (driver) motor stepper yang membangkitkan pulsa-pulsa periodik. Karena putaranya per step mengakibatkan jenis motor ini  memiliki akurasi yang tinggi (tergantung pada spesifikasinya). Setiap motor stepper mampu berputar untuk setiap stepnya dalam satuan sudut (0.75, 0.9, 1.8), makin keil sudut per step-nya maka gerakan per step-nya motor stepper tersebut makin presisi.





Keunggulan-keunggulan motor stepper:
  • Sudut rotasi motor proporsional dengan pulsa masukan sehingga lebih mudah diatur.
  • Motor dapat langsung memberikan torsi penuh pada saat mulai bergerak
  • Posisi dan pergerakan repetisinya dapat ditentukan secara presisi
  • Memiliki respon yang sangat baik terhadap mulai, stop dan berbalik (perputaran)
  • Sangat realibel karena tidak adanya sikat yang bersentuhan dengan rotor seperti pada motor DC
  • Dapat menghasilkan perputaran yang lambat sehingga beban dapat dikopel langsung ke porosnya
  •  Frekuensi perputaran dapat ditentukan secara bebas dan mudah pada range yang luas.



Motor stepper sering digunakan untuk aplikasi-aplikasi yang cukup menggunakan torsi kecil, seperti untuk penggerak piringan disket atau piringan CD. Dalam hal kecepatan, motor stepper cukup cepat jika dibandingkan dengan motor DC. Ini dikarenakan motor stepper merupakan motor DC yang tidak memiliki komutator. Pada umumnya motor stepper hanya mempunyai kumparan pada statornya sedangkan pada bagian rotornya merupakan magnet permanent. Dengan model motor seperti ini maka motor stepper dapat diatur posisinya pada posisi tertentu dan/atau berputar ke arah yang diinginkan, searah jarum jam atau sebaliknya.

Kecepatan motor stepper pada dasarnya ditentukan oleh kecepatan pemberian data pada komutatornya. Semakin cepat data yang diberikan maka motor stepper akan semakin cepat pula berputarnya. Pada kebanyakan motor stepper kecepatannya dapat diatur dalam daerah frekuensi audio dan akan menghasilkan putaran yang cukup cepat. Untuk mengatur gerakan motor per step-nya dapat dilakukan dengan 2 cara berdasarkan simpangan sudut gerakannya yaitu full step dan half step.

Berikut rangkaian (driver) untuk mengendalikan mototr stepper unipolar dan bipolar:



Untuk motor stepper jenis unipolar cukup menggunakan transistor yang berfungsi sebagai saklar untuk menghubungkan masing-masing ujung kumparan, untuk menggerakan motor dilakukan dengan cara memberi input pulsa pada kaki basis dari transistor tersebut. Untuk memudahkan transistor bisa diganti menggunakan IC ULN2003 darlington array, dengan konfigurasi sebagai berikut:


Sedangkan untuk jenis bipolar rangkaian driver dibuat dengan 8 buah transistor (seperti terlihat pada gambar). Driver yang banyak dipasaran diantaranya adalah IC L293D dan juga L297D, dari kedua jenis driver diatas saya lebih memilih menggunakan L293D karena lebih praktis. Jika menggunakan L297 masih harus menambahkan transistor pada output IC L297. Berikut rangkaian pengendali motor stepper menggunakan mikrokontroler AVR mega8535 dengan driver L293D dan tampilan LCD 2x16 karakter. LED pada masing-masing output L293D digunakan untuk mepihat pulsa untuk mempermudah pengamatan.


Berikut listing program mikrokontroler yang dibuat menggunakan CodeVisionAVR:
---------------------------------------------------------------------------------------------
#include

#define  stepper  PORTC

// Alphanumeric LCD Module functions
#asm
   .equ __lcd_port=0x1b ;PORT A
#endasm
#include

// Declare your global variables here
void delay(void);

void main(void)
{
// Input/Output Ports initialization
PORTA = 0x00;
DDRA  = 0x00;
PORTB = 0x00;
DDRB  = 0x00;
PORTC = 0xFF;
DDRC  = 0xFF;
PORTD = 0x00;
DDRD  = 0x00;

lcd_init(16);
lcd_gotoxy(0,0);lcd_putsf("Bipolar  Stepper");
lcd_gotoxy(0,1);lcd_putsf(" -Rizki  Mulya- ");

while (1)
      {
      // Place your code here
      stepper=0x08;
      delay();
      stepper=0x02;
      delay();
      stepper=0x04;
      delay();
      stepper=0x01;
      delay();
      }
}

void delay()
{
    unsigned char i,j,k;
    for(i=0;i<7 comment-7--="" i="">
    for(j=0;j<255 comment-255--="" j="">
    for(k=0;k<255 comment-255--="" k="">
}

Semoga bermanfaat...  :)

Post a Comment

2 Comments

  1. Untuk mengatur kecepatan putar motor secara linear bisa ndak ditambahkan potensiometer biar gampang kaya ngegas motor gitu..

    ReplyDelete
    Replies
    1. Bisa Mr.Ozz, nanti menggunakan ADC untuk mengolah data (analog) dari potensio.

      Delete

Silahkan Tinggalkan Komentar Anda