1. Tujuan [KEMBALI]
Mempelajari bagaimana cara menggunakan mikrokontroler PIC
sebagai koverter Digital menjadi Analog data (DAC0808) dengan programnya.
2. Alat [KEMBALI]
2.1 Mikrokontroller PIC16F877A
2.2 Sensor Suhu LM35
2.3 DAC 0808
2.4 OP-AMP
2.5 Motor DC
3. Teori [KEMBALI]
3.1. Pengertian Mikrokontroller PIC16F877A
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 PinOut 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 Sensor Suhu LM35
Untuk penjelasan mengenai sensor suhu LM35 dapat dilihat
dalam teori tentang Interface Sensor suhu LM35 menggunakan PIC
3.3 Pengertian ADC pada PIC 16F877A
Untuk Mengkonversi data analog yang diinputkan oleh sensor
digunakan rangkaian ADC PIC. Rangkaian ADC ini sudah dipelajari dan dapat
dilihat di Interface ADC menggunakan PIC
3.4 Pengertian DAC dan IC DAC0808
Dac adalah suatu rangkaian elektronika yang digunakan untuk
merubah data digital menjadi data analog. Kebalikan dari dac adalah adc.
Biasanya Dac sering digunakan pada perangkat digital pada bagian output.
IC DAC0808 adalah IC digital to analog dengan input 8 bit,
seperti namanya digital to analog fungsi utamanya yaitu untuk mengubah dari
data berupa digital menjadi tegangan analog, DAC prinsip kerjanya berkebalikan
dengan ADC, jika DAC diberikan nilai 0 maka tegangan output adalah 0 volt,
kemudian jika diberikan nilai 255 maka tegangan output adalah 5 volt, jika
diantara 0 dengan 255 dapat dihitung menggunakan rumus.
Vout = Tegangan Output Nilai DAC = Nilai yang ingin
dikonversi ke tegangan Vref = tegangan referensi, biasanya 12 volt 255 = full
range 8 bit DAC0808
Berikut adalah modul IC DAC 0808
A1-A8, input digital 8 bit, data inputan yang akan
dikonversikan ke besaran tegangan analog. VREF(-), VREF(+) input tegangan
referensi yang digunakan untuk mengatur levelouput tegangan analog.
Compensation, pin compensation dihubungkan dengan menggunakan capasitor ke VEE
atau ground untuk mempertahankan batas fase yang bersesuaian.
Pengubahan besaran analog ke digital ditentukan oleh besar
tegangan input maksimum yang diukur dalam Volt, mVolt atau uVolt, sedang nilai
konversi digitalnya juga bebas ditentukan hal ini tergantung berapa bita yang
digunakan untuk mengkonversinya. Begitu pula untuk pengubah digital ke analog
juga sama dan hasil konversi tergantung pula pada besar tegangan referensinya.
Bila kita gunakan tegangan tertinggi untuk konversi 15 volt
maka setiap kenaikan nilai konversi adalah 1 volt jadi bila nilai digital 0100
hasil konversinya adalah 4x1volt = 4 volt. Seandainya nilai tertinggi dibuat
4,5 volt maka setiap kenaikan adalah 0,3 volt sehingga bila nilai digital 0100
hasil konversinya adalah 4×0,3volt = 1,2 volt.
Dari penjelasan diatas dapat ditentukan jumlah harga
tegangan atau aplitudo sebagai hasil konversi adalah tergantung pada jumlah bit
digital yang dikonversikan, dan besar kecilnya harga analog hasil konversi juga
ditentukan oleh besar kecilnya tegangan referensi.
Makin banyak jumlah bit yang digunakan untuk konversi maka
akan semakin banyak jumlah harga amplitudo yang di dapat, dan dengan semakin
banyaknya jumlah tersebut akan menyebabkan tingkat kehalusan konversi semakin
tinggi. Sebagai contoh untuk konversi tegangan analog 10 volt dengan
menggunakan jumlah bit 10, maka akan didapatkan jumlah harga amplitudo 1024
dengan demikian akan diperoleh perbedaan setiap tingkat konversi adalah 10volt
dibagi (1024-1) yaitu sama dengan 9,77 milivolt dan bila digunakan 8 bit maka
perbedaan setiap tingkat konversi adalah 39,21 milivolt.
3.5 Pengertian OP-AMP
Operasional amplifier (Op-Amp) adalah suatu penguat
berpenguatan tinggi yang terintegrasi dalam sebuah chip IC yang memiliki dua
input inverting dan non-inverting dengan sebuah terminal output, dimana
rangkaian umpan balik dapat ditambahkan untuk mengendalikan karakteristik
tanggapan keseluruhan pada operasional amplifier (Op-Amp). Pada dasarnya
operasional amplifier (Op-Amp) merupakan suatu penguat diferensial yang
memiliki 2 input dan 1 output.
Pada Interface ini Op-AMP digunakan sebagai penguat sinyal
keluaran dari DAC0808 sehingga sinyal ini yang akan nanti di berikan ke motor
DC
3.6 Pengertian Motor DC
Untuk teori dari Motor DC dapat dilihat pada pembahasan
mengenai Interface Motor DC menggunakan PIC
4. Rangkaian [KEMBALI]
Rangkaian Di atas merupakan sebuah rangkaian yang digunakan
untuk mengatur kecepatan Motor DC. Prinsipnya, sinyal input berupa data analog
akan diberikan oleh seubuah sensor suhu, ketika sensor ini mendeteksi suhu.
Ketika suhu terdeteksi, maka sinyal ini akan diberikan kepada mikrokontroler
PIC dengan mengubah sinyal ini menjadi bentuk digital. setelah itu, sinyal
digital ini diubah menjadi 8 bit digital kemudian di konversikan lagi menjadi
sinyal analog menggunakan DAC0808 yang kemudian sinyal ini akan diteruskan
untuk mengggerakkan motor DC. Jika suhu yang terdeteksi tingi, maka motor DC
akan bergerak maksimum, jika suhu nya sedang (suhu ruangan) maka pergerakan/
perputaran dari motor DC sedang, dan jika suhu rendah, maka motor DC akan
berputar lambat. Perputaran motor ini dikontrol dengan menggunakan program dari
PIC sesuai dengan sinyal yang diterima dari sensor.
5. Program [KEMBALI]
int t;
void main() {
ADCON0.ADCS0=0; // ADCS0, ADCS1 dan ADCS2
Bersama-sama menentukan kecepatan clock
ADCON0.ADCS1=1;
// Jika 0 1 1, maka
kecepatannya Fosc/64
ADCON1.ADCS2=1;
ADCON0.CHS0=0; // CHS0, CHS1 dan CHS2
bersama sama menentukan pin input yang digunakan
ADCON0.CHS1=0; // jika 0 0 0 , maka pin
digunakan adalah pin RA0/AN0
ADCON0.CHS2=0;
ADCON0.ADON=1; // Mengaktifkan konverter A/D
ADCON1.ADFM=1; // Menyatakan 10 bit yang
digunakan terdiri dari 8 bit ADRESL dan 2 bit ADRESH
ADCON1.PCFG0=0; // PCFG0, PCFG1, PCFG2 dan
PCFG3 bersama sama menentukan
ADCON1.PCFG1=0; // Apakah pin input digunakan
sebagai input analog atau input digital
ADCON1.PCFG2=0; // Jika 0 0 0 0, maka pin
digunakan sebagai input analog
ADCON0.PCFG3=0;
TRISC=0x00; // Menyatakan PORTC
sebagai output
PORTC=0x00; // Nilai awal PORTC low
do
{
ADCON0.Go_Done=1;
t=ADRESL+(ADRESH*256); //
Mendapatkan nilai input analog
t=t*0.4887 ; // Menyesuaikan nilai
tegangan dengan nilai serajat suhu
if(t>=28){ // Jika suhu menunjukkan
nilai lebih 28 derjat, maka
PORTC=0xff; // Motor DC berputar dengan
kecepatan penuh
}
else
if(t<28 amp="" t="">=24) {
// Jika suhu menunjukkan nilai
antara 24 dan 28 derjat, maka 28>
PORTC=0x7f; // Motor DC berputar dengan
kecepatan sedang
}
else // Jika suhu kurang
dari 24 derjat, maka
{ PORTC=0x3f; // Motor DC berputar dengan
kecepatan rendah
}
} while(1);
}
6. Flowchart [KEMBALI]
7. Video Simulasi [KEMBALI]
8. Files Download Link [KEMBALI]
Video Simulasi download
File Simulasi Proteus download
Coding Program download