Rabu, 28 Oktober 2015

PENGATURAN KECEPATAN MOTOR DC DENGAN ATMEGA16 DAN L293D



Teknik Komputer


Pengaturan Kecepatan Motor DC dengan ATMEGA16 dan L293D

NAMA :Selvina Nurjanah
KELAS :1CF
NIM :061530701275
MATA KULIAH : PRAKTEK GAMBAR TEKNIK
  Assalamualaikum Wr.Wb
Adapun langkah-langkah yang harus kitaa lakukan untuk membuat skema pengaturan kecepatan motor DC dengan ATMEGA16 dan L293D.
  • Selanjutnya klik aplikasi Proteus 8, dan akan muncul gambar seperti dibawah ini.
  • Lalu klik File – New Project

  • Pilih ikon ISIS yang berwarna biru pada menu toolbar, akan muncul seperti ini yaitu lembar kerja Schematic Capture.
  •  Klik Device pada menu di Proteus 8, dan masukkan komponen komponen yang akan dibuat pada skema pengaturan kecepatan Motor DC dengan ATMEGA16 dan L293D.
  •  Pada posting kali ini dilakukan uji coba pengaturan kecepatan putaran motor DC, menggunakan mikrokontroler ATMEGA16 sebagai prosesor, dan driver menggunakan ICL293D yang dapat di inputkan tegangan maksimum 32V, LCD karakter 16×2 sebagai user interface, berikut skema rangkaian tersebut:
  • masukan nama rangkaian tersebut pada keyword seperti dibawah ini.
  • Inilah gambar-gambar komponen yang dibutuhkan untuk membuat skema pengaturan kecepatan motor DC.
  • Setelah itu sambungkan rangkaian tersebut dengan ikon dibawah ini.
  • ada yang perlu di perhatikan :
  • Motor DC yang di kontrol berjumlah 2 buah, dengan pengaturan dengan 4buah push button, yang berfungsi menaikan dan menurunkan kecepatan.
  •   Driver motor menggunakan IC L293D yang sudah biasa digunakan, dengan fungsi sebagai berikut :
    – IN1 & IN2 = arah putaran motor 1 misal (IN1=High & IN2=Low) maka motor forward dan sebaliknya
    – IN3 & IN4 = arah putaran motor 2 misal (IN3=High & IN4=Low) maka motor forward dan sebaliknya
    – EN1 = Pengatur kecepatan motor 1 dengan metode PWM (Pulse Width Modulation)
    – EN1 = Pengatur kecepatan motor 2 dengan metode PWM (Pulse Width Modulation)
    • Dengan memanfaatkan fitur Fast PWM yang terdapat dalam mikrokontroler ATMEGA16, pemrograman diawali dengan mengaktifasi Fast PWM mode OCR1A untuk motor 1, dan OCR1B untuk motor 2, kemudian nilai OCR1A dan OCR1B ditampilkan melalui LCD sebagai parameter. Berikut merupakan program lengkapnya yang saya tulis dengan bahasa C pada CodeVision AVR :
      #include
      // Alphanumeric LCD Module functions
      #include
      #include
      //Deklarasi variabel
      int SA,SB;
      char MA[8];
      char MB[8];
      void main(void)
      {
      PORTA=0xFF;
      DDRA=0x00;
      PORTD=0x00;
      DDRD=0xFF;
      // Timer/Counter 1 initialization
      // Clock source: System Clock
      // Clock value: 12000.000 kHz
      // Mode: Fast PWM top=0x00FF
      // OC1A output: Non-Inv.
      // OC1B output: Non-Inv.
      // Noise Canceler: Off
      // Input Capture on Falling Edge
      // Timer1 Overflow Interrupt: Off
      // Input Capture Interrupt: Off
      // Compare A Match Interrupt: Off
      // Compare B Match Interrupt: Off
      TCCR1A=0xA1;
      TCCR1B=0x09;
      TCNT1H=0x00;
      TCNT1L=0x00;
      ICR1H=0x00;
      ICR1L=0x00;
      OCR1AH=0x00;
      OCR1AL=0x00;
      OCR1BH=0x00;
      OCR1BL=0x00;
      / Alphanumeric LCD initialization
      // Connections specified in the
      // Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
      // RS – PORTC Bit 0
      // RD – PORTC Bit 1
      // EN – PORTC Bit 2
      // D4 – PORTC Bit 4
      // D5 – PORTC Bit 5
      // D6 – PORTC Bit 6
      // D7 – PORTC Bit 7
      // Characters/line: 8
      lcd_init(8);
      while (1)
            {
            lcd_gotoxy(0,0);lcd_putsf(“M1=”);lcd_gotoxy(0,1);lcd_putsf(“M2=”);
            PORTD.0=1;   //Motor 1 Forward
            PORTD.1=0;
            PORTD.3=1;   //Motor 2 Reverse
            PORTD.4=0;
            if(PINA.0==0){SA++;}  //Jika pushbutton A0 ditekan naikan kecepatan motor 1
            if(PINA.1==0){SA–;}   //Jika pushbutton A1 ditekan turunkan kecepatan motor 1
            if(PINA.2==0){SB++;}   //Jika pushbutton A2 ditekan naikan kecepatan motor 2
            if(PINA.3==0){SB–;}    //Jika pushbutton A3 ditekan turunkan kecepatan motor 2
            lcd_gotoxy(5,0);itoa(SA,MA);lcd_puts(MA); //Tampilkan nilai kecepatan Motor 1
            lcd_gotoxy(5,1);itoa(SB,MB);lcd_puts(MB);  //Tampilkan nilai kecepatan Motor 2
            OCR1A=SA;
            OCR1B=SB;
            // Place your code here.
      Setelah itu  klik icon RRES yang terletak disebelah icon ISIS.
      kita akan masuk kedalam lembar kerja PCB layout
      • Klik ikon yang terlihat pada gambar dibawah ini,disana terdapat nama-nama komponen yang sudah kita buat sebelumnya pada lembar Schematic Capture.
      • Disini kita tinggal memasukkan/memindahakan komponen yang ada pada lembar kerja PCB.
      • Masukkanlah komponen-komponen tersebut. (ada komponen yang tidak bisa ditampilkan pada layar PCB). Aturlah Komponen-komponen tersebut.
        Setelah tersusun rapi sesuai yang diinginkan, klik menu Tool – Auto Route
        Setelah itu pilih Begin Routing
      dan rangkaian tersebut terllihat serperti ini (catatan jangan sampai ada wire yang bewarna merah).
      Setelah itu kitabisa melihat bentuk rangkaian tersebut dalam bentuk 3D visualizer,dengan cara kilk icon 3D visualizer yang terletak disebelah icon RRES.
      maka kita bisa melihat bentuknya sepeti gambar dibawah ini.
      Usahakan pada rangkaian tersebut tidak ada error message.

Tidak ada komentar:

Posting Komentar