PENGATUR 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 16x2 sebagai user interface, berikut skema rangkaian tersebut :








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

      }
}


RANGKAIAN PENDETEKSI GAS MENGGUNAKAN PROTEUS

|


Nama : Muslihuddin Azizi

Kelas : 1CC

NIM :

Mata Kuliah : Praktek Gambar Teknik


Untuk membuat rangkaian, komponen yang dibutuhkan adalah yang ada di list gambar:








Baiklah, berikut langkah kerjanya:

1. Buka Program Proteus 8 yang sudah diinstal, lalu akan muncul tampilan seperti ini




2. Setelah itu klik File - New Project ,lalu akan muncul kotak dialog seperti dibawah ini dan atur seperti gambar, untuk bagian Name dan Path isi sesuai keinginan.














3. Setelah selesai, kemudian Next terus sampai muncul halaman kerja seperti ini




4. Untuk memasukkan komponen yang diinginkan, klik menu Library - Pick parts from libraries




5. Kemudian ketikan nama komponen di kolom Keywoard, setelah didapat komponen yang diinginkan, kemudian klik OK
Lakukan berulang-ulang untuk mendapatkan komponen-komponen yg dibutuhkan.

6. Berikut gambar dari komponen yg dibutuhkan:

- ADC0808







- AT89C51




- LM016L




- RES





- POT-HG




- CRYSTAL




- CAP




- BUTTON




- CAP-ELEC





7. Setelah komponen sudah selesai ditambahkan, kemudian susun rangkaian menjadi seperti gambar dibawah ini:






8. Untuk memasukkan komponen dengan cara seperti gambar dibawah:





9. Lalu untuk memasukkan komponen power dan groud klik place →terminal →power, untuk ground nya bisa langsung diambil di menu P Terminal lalu pilih ground, seperti gambar yang dibawah ini.





10. Setelah rangkaian selesai, untuk membuat rangkaian bekerja, kita harus memasukkan kode program ke dalam microcontroller AT89C51 dengan cara klik 2x pada komponen sampai muncul pop-up dan pilih icon yang diberi tanda merah seperti digambar:






11. Cari Kode program yang sudah anda sediakan (file berekstensi .hex), kemudian klik OK.
UNTUK KODE PROGRAM PENDETEKSI GAS BISA ANDA DOWNLOAD DI AKHIR POSTINGAN.

12. Setelah selesai menambahkan kode program, langkah selanjutnya anda cek apakah rangkaian tersebut berjalan dengan cara klik Run Simulation diPojok Kiri Bawah dari layar Proteus.

13. Selanjutnya coba klik komponen Button. jika rangkaian benar, maka tampilan LCD akan menunjukkan Gas Terdeteksi seperti dibawah ini:
x

Demikian Tutorial membuat rangkaian pendeteksi Gas pada proteus, jika ada kesalahan saya mohon maaf.


Link Download:

"RANGKAIAN SCHEMATIC PENDETEKSI GAS"



"KODE PROGRAM AT89C51"