modul 3 percobaan motor stepper


Motor Stepper


Prosedur Percobaan:
1. Pastikan semua supply dalam keadaan off
2. Hubungkan jumper seperti rangkaian dibawah
3. Buatlah listing program yang telah ada pada modul
4. periksakan rangkaian kepada asisten yang mengawas
5. Hidupkan semua supply
6. Upload program dari laptop ke modul
7. Tekan tombol Reset
8. Amati percobaan, jika tidak sesuai perbaiki rangkaian atau program
9. Jika sesuai, maka selesai dan demokan pada asisten yang mengawas
10.Jelaskan prinsip kerja + program dan hubungan keduanya kepada asisten
11.Demokan ke pembimbing praktikum
12.Matikan supply

1. Hardware   [Kembali]






Prinsip Kerja :

            Rangkaian terdiri dari LCD, driver motor L293D, keypad, dan 2 switch dengan menggunakan mikrokontroller Atmega 128. Dimana LCD terhubung pada PORT A, switch terhubung pada PORT B dengan switch 1 pada pin 0 ddan switch 2 pada pin 6. Dan juga driver motor terhubung pada PORT D dan keypad terhubung pada PORT E. untuk menjalankan simulasi klik tombol PLAY. untuk memulai operasi maka ditekan tombol RESET terlebih daulu. setelah itu, apabila tombol 1 pada keypad ditekan, maka motor stepper akan berputar. dan apabila switch 1 diaktifkan, maka motor stepper akan berputar juga.


3. Flowchart   [Kembali]


4. Listing Program  [Kembali]

#include <mega128.h>                       // Library atmega 128
#include <delay.h>                             // Libaray delay
#include <alcd.h>                               // Library LCD
int pin[]={1,2,4,8};                             // Deklarasi pin digunakan
int i;                                                     // Deklarasi nilai I;

void putar()                                         // Fungsi putar
{
    for( i=4;i>0;i--)                                // Perulangan
         {     
         lcd_gotoxy(1,1);                        // Posisi tulisan pada LCD
         lcd_putsf("Putar");                     // Mencetak tulisan pada LCD
         delay_ms(50);                            // Delay selama 50 ms
         lcd_clear();                                 // Membersihkan /reset LCD
         PORTD= pin[i];                         // Menjalankan motor sesuai biner
         }
}
void keypad()
{
PORTE=0b1111011;                          // PORTE sebagai keypad
delay_ms(1);                                       // Delay selama 1 ms
if (PINE.4 == 0)                                 // Jika PINE.4 ditekan dengan aktif low
  {           
    lcd_gotoxy(1,0);                             // Posisi kata yang tampil pada LCD
    lcd_putsf("Anda Tekan 1");            // Menulis kata pada LCD
    putar();                                            // Memanggil fungsi putar
  }
}

void main(void)                                  // Fungsi utama dalam program
{         
    PORTD=0x00;                                // PORTD dengan kondisi awal aktif low
    DDRD=0xff;                                  // PORTD ditetapkan sebagai ouput
    PORTF=0x00;                                // PORTF dengan kondisi awal aktif low
    DDRF=0x00;                                  // PORTF ditetapkan sebagai input
    PORTE=0xff;                                 // PORTE dengan kondisi awal aktif high
    DDRE=0x0f;                                  // PORTE ditetapkan sebagai input dan output
    lcd_init(16);                                    // Inisialisasi tipe LCD yang digunakan
   
    while(1)                                           // Looping dalam program
    {  
       keypad();                                      // Fungsi keypad     
       if (PINB.0 == 1)                          // Jika PINF.0 aktif high saat ditekan
        {                 
         putar();                                       // Memanggil fungsi putar
        }        
    }

}

a. Multisim / Proteus

Tidak ada komentar:

Posting Komentar