Interfacing Serial Port Dengan at Mega 8535

Anda mungkin juga menyukai

Anda di halaman 1dari 4

Interfacing Serial Port dengan ATMEGA8535 (Menggerakkan Motor

Stepper)

    Motor stepper merupakan motor DC yang tidak memiliki komutator. Pada umumnya
motor stepper hanya mempunyai kumparan pada statornya sedangkan pada bagian
rotornya merupakan  magnet permanen. Motor stepper banyak digunakan untuk aplikasi-
aplikasi yang biasanya cukup menggunakan torsi yang kecil, seperti untuk penggerak
piringan disket atau piringan CD. Ada juga yang digunakan pada printer kebanyakan.
    Pada tutorial ini saya menggunkan motor stepper yang saya dapat dari sebuah printer
(Merk tidak saya sebutkan,red).bentuknya bisa anda lihat pada gambar.1.

Gambar.1 Motor Stepper

    Pada percobaan yang saya lakukan,saya mengubah sedikit posisi jumper yang ada
dimana jumper kedua dan ketiga saya tukar posisinya. Saya menggunakan jumper
bertanda biru sabagai indikator.
    Keempat jumper yang ada tersebut akan kita hubungkan langsung dengan Port pada
mikrokontroler yang kita gunakan. Saya sendiri menggunakan mikrokontroler AVR dari
kelas ATMEGA tipe ATMEGA8535 tentunya. Dan jumper stepper saya hubungkan pada
PORTA0-3. Lihat gambar.2.
Gambar.2 Rangkaian Pengendali Stepper Motor
    Untuk program yang akan kita downloadkan,seperti biasa saya menggunkan bahasa
pemrograman c menggunakan software CodeVisionAVR. Baca juga Programan Bahasa
C menggunakan CodeVisionAVR.

Listing Program Pengendali Stepper Motor:


Step.C
//Percobaan Motor Stepper
//Terhubung pada PortA.0-3
#include
// Standard Input/Output functions
#include
#include

// Declare your global variables here

void main(void)
{
// Declare your local variables here
 unsigned char data;
// Input/Output Ports initialization
PORTA=0x00;
DDRA=0xFF;

PORTB=0x00;
DDRB=0x00;

PORTC=0x00;
DDRC=0x00;

PORTD=0x00;
DDRD=0x00;

//code wizard yang lain tetap

// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: 9600
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x47;

// Analog Comparator initialization


// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

while (1)
      {
      // Place your code here
      data=UDR;
        if(data==97)    //setara 61H atau anda tekan huruf a dikeyboard
      {
        //stepper   cw
        PORTA=0x01;
        delay_ms(500);
        PORTA=0x08;
        delay_ms(500);
        PORTA=0x02;
        delay_ms(500);
        PORTA=0x04;
        delay_ms(500);
      }
    
        else if(data==98)     //setara 62H atau anda tekan huruf b dikeyboard
      {
        //stepper ccw      
        PORTA=0x01;
        delay_ms(500);
        PORTA=0x04;
        delay_ms(500);
        PORTA=0x02;
        delay_ms(500);
        PORTA=0x08;
        delay_ms(500);                  
       }
       else{
       PORTA=0x00;
       }
       
      };
}
   

    Kompilasi program tersebut dan downloadkan kemikrokontroler ATMEGA8535 anda.


Jangan lupa sistem rangkaian Interfacing serila port sudah anda buat.(seperti gambar.2).
Lihat yang terjadi pada motor stepper anda.
    Jika anda ingin mempercepat perputaran motor stepper,maka kurangi nilai
delay_ms(500); mejadi 50 atau sesuai yang anda inginkan.
    Artikel ini telah saya uji cobakan dengan hasil yang memuaskan. Silakan klik disini
untuk download file stepper.zip.

Anda mungkin juga menyukai