PIC 16F877A
Interface Motor DC
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 adalah mikrokontroler dari Microchip Technology, dimana Peripheral Interface Controller memiliki arsitektur Harvard dan merupakan jenis RISC (Reduced Instruction Set Computing).
3.1.1 Fitur-Fitur PIC16F877A.
1. Memiliki Instruksi sebanyak 35 buah.
2. Masing-masing instruksi dieksekusi dalam satu siklus mesin kecuali untuk instruksi percabangan yaitu dua siklus.
3. Kecepatan operasi masukan clock dari DC hingga 20MHz.
4. Kapasitas memori program berukuran 8k x 14 words.
5. Kapasitas RAM 268 byte.
6. Kapasitas memory EEPROM berukuran 256 byte.
2. Masing-masing instruksi dieksekusi dalam satu siklus mesin kecuali untuk instruksi percabangan yaitu dua siklus.
3. Kecepatan operasi masukan clock dari DC hingga 20MHz.
4. Kapasitas memori program berukuran 8k x 14 words.
5. Kapasitas RAM 268 byte.
6. 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.
3.1.4 Rangkaian Dasar Sistem Mikrokontroler PIC16F877A.
rangkaian crystal sebagai clock atau oscilator eksternal sebagai jantung untuk memberikan kecepatan eksekusi dari mikrokontroler tersebut.
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.
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]
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
}
}
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)
{
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
}
}
Tidak ada komentar:
Posting Komentar