Percobaan 4 ADC & DAC Based I2C I. Tujuan 1. Untuk mengenal Modul Serial port dengan I 2 C 2. Mempelajari Konfigurasi Input dan ADC dan DAC serial port dengan I 2 C II. Ruang Lingkup A. Teori Singkat Pada Percobaan ini, akan meliputi ADC (Analog To Digital Converter) & DAC (Digital To Analog Converter) yang sangat berguna dalam pengabungan alat analog dan digital. DAC digunakan untuk mengubah data dimulai dari byte yang ada lalu dikirimkan ke sebuah IC PCF8591 yang disimpan pada DAC data register dan dikonvert / diubah tegangan analog yang cocok dengan mengunakan Chip yang ada pada DAC converter. ADC digunakan untuk mengubah tegangan input menjadi byte. Hasil pengubahan dari tegangan input di simpan di dalam ADC data register dan menantikan pengiriman. Aproksimasi Suksesif dari ADC Unit dasar dari sebuah Approksimasi suksesif ADC yaitu : 1. Comparator membandingkan nilai dari input analog dengan hasil perhitungan. 2. Succesive Approximation Register (SAR) SAR memulai dari 1 dalam MSB dan 0 untuk semua bit yang ada. Dengan setiap input clock SAR mereset bit yang baru jika pembanding bernilai HIGH dan bergerak ke bit kebawah selanjutnya dengan mensettingnya 3. DAC mengubah pola bit dari SAR ke nilai analog untuk pembanding 4. Latch menyimpan pola bit ketika nilai LSB selesai 5. Control Logic - Menghitung n pulsa clockpada SAR lalu mengirimkan DONE pada Latch Counter ADCs Sebuah rangkaian sederhana yang mengunakan sebuah clock, sebuah counter, sebuah DAC dan sebuah comparator Percobaan 4 Halaman : 1 dari 6
Integrating ADCs Sebuah rangkaian yang mengubah sebuah tegangan menjadi arus, dan dalam mengunakan arus untuk mencharge sebuah capasitor memperoleh sebuah waktu proposional untuk input tegangan. Ukuran dalam waktu mengunakan sebuah digital counter yang dioperasikan pada sebuah frekuensi yang mempunyai clock yang tetap Single Slope Integration Sebuah pulsa akan clock sebuah D-FF yang menyebabkan D-FF menjadi HIGH dan meyebabkan counter bertambah. Dual Slope Integration Sebuah Solusi untuk persyaratan yang ketat dalam sebuah single slope integrator adalah untuk mengunakan capasitor untuk referensi dan signal yang terintegrasi, maka effect dari kapasitor menolak 2 ukuran yang di panggil Charge-balancing B. Daftar Alat 1. EX-08 I 2 C Based-ADC/DAC Board kode : 2. Serial Interface Board kode : III. Referensi Manual Book Serial Interfacing INex CITS NX-2000 Microsoft Visual Basic 6 Step by Step IV. Urutan Instruksi Kerja A. Prosedur 1. ADC Hubungkan Serial Board dengan PC. Hubungkan dengan menggunakan I2C bus antara Serial Board dengan I 2 C Based ADC/DAC Board (Modul EX-08). Keseluruhan koneksi modul dapat dilihat pada gambar berikut ini (Gambar 4.1) Percobaan 4 Halaman : 2 dari 6
Gambar 4.1 Koneksi antara modul I2C Based ADC/DAC dengan Serial board Jalankan Microsoft Visual Basic. Untuk dapat mengontrol I 2 C masukkan modul I 2 Cser.bas. Lihat panel project lalu click add module I 2 Cser.bas. Masukkan perintah sebagai berikut Program ADC dengan I 2 C Dim tempvar As Integer Private Sub Form_Load() MSComm1.PortOpen = True Private Sub Timer1_Timer() Call Send8BIT(&H90) Call Send8BIT(&H45) Percobaan 4 Halaman : 3 dari 6
Call Send8BIT(&H91) txtch1hex.text = Hex(tempVar) txtch1volt.text = (tempvar * 5) / 255 Call MAck txtch2hex.text = Hex(tempVar) txtch2volt.text = (tempvar * 5) / 255 Call MAck txtch3hex.text = Hex(tempVar) txtch3volt.text = (tempvar * 5) / 255 Call MAck txtch4hex.text = Hex(tempVar) txtch4volt.text = (tempvar * 5) / 255 Bentuk tampilannya dapat dilihat pada gambar 4.2 di bawah ini : Gambar 4.2 Bentuk Tampilan ADCDengan I2C Percobaan 4 Halaman : 4 dari 6
Program tersebut akan menerima input analog melalui channel CH-1 sampai CH-4, kemudian akan dilakukan proses ADC melalui IC- PCF8591 dan menampilkan data digitalnya dalam format hexa dan volt. 2. DAC Dengan menggunakan modul dan koneksi yang sama pada percobaan ADC di atas, Jalankan Microsoft Visual Basic. Untuk dapat mengontrol I 2 C masukkan modul I 2 Cser.bas. Lihat panel project lalu click add module I 2 Cser.bas. Masukkan perintah sebagai berikut Program DAC dengan I 2 C Private Sub Form_Load() MSComm1.PortOpen = True Private Sub txthexa_change() Call Send8BIT(&H90) Call Send8BIT(&H44) Call Send8BIT(Val("&H" & txthexa.text)) Private Sub txtvolt_change() If Val(txtVolt.Text) > 5 Then txtvolt.text = 5 End If Call Send8BIT(&H90) Call Send8BIT(&H44) Call Send8BIT(Val(txtVolt.Text) * 51) Bentuk tampilannya dapat dilihat pada gambar 4.3 di bawah ini : Percobaan 4 Halaman : 5 dari 6
Gambar 4.3 Bentuk Tampilan DAC Dengan I2C Program tersebut akan menerima input digital melalui text box hexa atau text box volt, kemudian akan dilakukan proses DAC melalui IC- PCF8591 dan mengeluarkan data analognya. Tugas Praktikum 1: Buatlah program untuk mengeluarkan tegangan output analog dengan menggunakan 8 buah Check Box (pemberian tegangan secara binary) Tugas Praktikum 2: Buatlah program untuk mengeluarkan tegangan output analog dari perubahan tegangan input ADC. B. Tugas Laporan 1. Perbedaan ADC dan DAC 2. Perbedaan aproksimasi suksesif dan counter 3. Manfaat menggunakan ADC/DAC I 2 C 4. Flowchart dan penjelasan program 5. Kesimpulan C. Tugas Pendahuluan 1. Bagaimana cara kerja ADC dan DAC secara umum! 2. Jelaskan jenis-jenis ADC dan DAC yang anda ketahui! 3. Apa yang dimaksud dengan resolusi ADC & DAC? Percobaan 4 Halaman : 6 dari 6