Interface Motor DC Menggunakan PIC 16F877A





1. Tujuan [Kembali]

Mempelajari bagaimana cara merangkai suatu rangkaian yang menggunakan mikrokontroler dan dihubungkan dengan Motor DC dengan programnya.


2. Alat [Kembali]

2.1 Mikrokontroler PIC16F877A.


2.2 Motor DC


2.3 Switch


2.4 Driver Motor DC L293D


3. Teori [Kembali]


3.1. Pengertian Mikrokontroler PIC 16F877A

PIC yang merupakan produk dari Microchip Technology, merupakan kepanjangan dari Peripheral Interface Controller memiliki arsitektur Harvard dan merupakan jenis RISC (Reduced Instruction Set Computing). Salah satu jenis mikrokontroler ini adalah PIC16F877A.

3.1.1 Fitur-Fitur PIC16F877A.

a. Memiliki Instruksi sebanyak 35 buah.
b. Masing-masing instruksi dieksekusi dalam satu siklus mesin kecuali untuk instruksi percabangan yaitu dua siklus.
c. Kecepatan operasi masukan clock dari DC hingga 20MHz.
d. Kapasitas memori program berukuran 8k x 14 words.
e. Kapasitas RAM 268 byte.
f. Kapasitas memory EEPROM berukuran 256 byte.

3.1.2 Pin Out PIC16F877A.


-Memiliki 5 PORT I/O (PORTA 6 pin, PORTB 8 pin, PORTC 8 pin, PORTD 8 pin, PORTE 3 pin).
-Memiliki 3 buat timer
-Memiliki 2 buah keluaran PWM.
-Komunikasi serial singkron menggunakan SPI dan I2C.
-Komunikasi USART.

3.1.3 Pemograman PIC16F877A.

Pemograman PIC ini diprogram menggunakan bahasa C dan dapat menggunakan kompiler MikroC for PIC yang dapat didownload di situs resminya.


3.1.4 Rangkaian Dasar Sistem Mikrokontroler PIC16F877A.




Di gambar dapat dilihat bahwa rangkaian dasar dari sistim mikrokontroler biasanya menggunakan rangkaian crystal sebagai clock atau oscilator eksternal sebagai jantung untuk memberikan kecepatan eksekusi dari mikrokontroler tersebut. Pada gambar juga terdapat rangkaian reset yang digunakan untuk memulai dari awal kembali program yang kita jalankan pada mikrokontroler ini.

3.2. Pengertian Motor DC

Motor DC adalah motor listrik yang memerlukan suplai tegangan arus searah pada kumparan medan untuk diubah menjadi energi gerak mekanik. Kumparan medan pada motor dc disebut stator (bagian yang tidak berputar) dan kumparan jangkar disebut rotor (bagian yang berputar). Motor arus searah, sebagaimana namanya, menggunakan arus langsung yang tidak langsung/direct-unidirectional.


3.3. Pengertian Driver Motor L293D

IC L293D adalah IC yang didesain khusus sebagai driver motor DC dan dapat dikendalikan dengan rangkaian TTL maupun mikrokontroler. Motor DC yang dikontrol dengan driver IC L293D dapat dihubungkan ke ground maupun ke sumber tegangan positif karena di dalam driver L293D sistem driver yang digunakan adalah totem pool. Dalam 1 unit chip IC L293D terdiri dari 4 buah driver motor DC yang berdiri sendiri sendiri dengan kemampuan mengalirkan arus 1 Ampere tiap drivernya. Sehingga dapat digunakan untuk membuat driver H-bridge untuk 2 buah motor DC. Konstruksi pin driver motor DC IC l293D adalah sebagai berikut.



Fungsi Pin Driver Motor DC IC L293D
1. Pin EN (Enable, EN1.2, EN3.4) berfungsi untuk mengijinkan driver menerima perintah untuk menggerakan motor DC.
2. Pin In (Input, 1A, 2A, 3A, 4A) adalah pin input sinyal kendali motor DC
3. Pin Out (Output, 1Y, 2Y, 3Y, 4Y) adalah jalur output masing-masing driver yang dihubungkan ke motor DC
3. Pin VCC (VCC1, VCC2) adalah jalur input tegangan sumber driver motor DC, dimana VCC1 adalah jalur input sumber tegangan rangkaian kontrol dirver dan VCC2 adalah jalur input sumber tegangan untuk motor DC yang dikendalikan.
4. Pin GND (Ground) adalah jalu yang harus dihubungkan ke ground, pin GND ini ada 4 buah yang berdekatan dan dapat dihubungkan ke sebuah pendingin kecil.

4. Rangkaian [Kembali]



Rangkaian diatas merupakan rangkaian sederhana dari pengunaan PIC untuk menghidupkan Mengatur Arah Putaran dari Motor DC. Pada rangkaian terdapat dua buah switch yang mana sitch pertama digunakan untuk mengatur arah gerak motor DC pertama, sedangkan switch kedua digunakan untuk mengatur arah gerak dari motor DC kedua. Motor DC akan bergerak searah jarum jam apabila wsitchnya diaktifkan sedangkan akan bergerak berlawanan arah jarum jam apabila switch dalam kondisi mati.

5. Program [Kembali]

void main() {
TRISD=0x03;            // menyatakan 2 PORTD Sebagai Input
TRISB=0x00;            // menyatakan PORTB sebagai output
PORTD=0x00;            // nilai awal PORTD low
PORTB=0x00;            // nilai awal PORTB low

while (1)
{
 if (PORTD.f0==1) { PORTB.f0=1; PORTB.f1=0;}      // Jika PORTD.RD0 berlogika 1, maka Motor DC pertama bergerak searah jarum jam
 else if (PORTD.f1==0) { PORTB.f0=0; PORTB.f1=1;}      // Jika PORTD.RD0 berlogika 0, maka Motor DC pertama bergerak berlawanan arah jarum jam

 else if (PORTD.f0==1) { PORTB.f0=0; PORTB.f1=1;}      // Jika PORTD.RD1 berlogika 1, maka Motor DC kedua bergerak searah jarum jam

 else if (PORTD.f1==0) { PORTB.f6=0; PORTB.f7=1;}      // Jika PORTD.RD1 berlogika 0, maka Motor DC kedua bergerak berlawanan arah jarum jam

}

}


6. Flowchart [Kembali]



7. Video Simulasi [Kembali]






           


          






Share
Tweet
Pin
Share