Percobaan 4 ADC & DAC Based I2C I.
Tujuan 1. Untuk mengenal Modul Serial port dengan I2C 2. Mempelajari Konfigurasi Input dan ADC dan DAC serial port dengan I2C
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
Pedoman Praktikum Aplikasi Mikroprosesor & Interfacing Percobaan 4
UPT Perangkat Keras 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 I2C Based-ADC/DAC Board 2. Serial Interface Board
III.
IV.
Referensi • Manual Book Serial Interfacing INex CITS NX-2000 • Microsoft Visual Basic 6 Step by Step
Urutan Instruksi Kerja A. Prosedur 1. ADC • Hubungkan Serial Board dengan PC. • Hubungkan dengan menggunakan I2C bus antara Serial Board dengan I2C Based ADC/DAC Board (Modul EX-08). • Keseluruhan koneksi modul dapat dilihat pada gambar berikut ini (Gambar 4.1)
Pedoman Praktikum Aplikasi Mikroprosesor & Interfacing Percobaan 4
kode : kode :
UPT Perangkat Keras Halaman : 2 dari 6
Gambar 4.1 Koneksi antara modul I2C Based ADC/DAC dengan Serial board • • •
Jalankan Microsoft Visual Basic. Untuk dapat mengontrol I2C masukkan modul I2Cser.bas. Lihat panel project lalu click add module I2Cser.bas. Masukkan perintah sebagai berikut
Program ADC dengan I2C Dim tempVar As Integer Private Sub Form_Load() MSComm1.PortOpen = True End Sub Private Sub Timer1_Timer() Call I2CStart Call Send8BIT(&H90) Call Ack Call Send8BIT(&H45) Pedoman Praktikum Aplikasi Mikroprosesor & Interfacing Percobaan 4
UPT Perangkat Keras Halaman : 3 dari 6
Call Ack Call I2CStop Call I2CStart Call Send8BIT(&H91) Call Ack tempVar = Read8Bit txtCH1Hex.Text = Hex(tempVar) txtCH1Volt.Text = (tempVar * 5) / 255 Call MAck tempVar = Read8Bit txtCH2Hex.Text = Hex(tempVar) txtCH2Volt.Text = (tempVar * 5) / 255 Call MAck tempVar = Read8Bit txtCH3Hex.Text = Hex(tempVar) txtCH3Volt.Text = (tempVar * 5) / 255 Call MAck tempVar = Read8Bit txtCH4Hex.Text = Hex(tempVar) txtCH4Volt.Text = (tempVar * 5) / 255 Call Ack Call I2CStop End Sub Bentuk tampilannya dapat dilihat pada gambar 4.2 di bawah ini :
Gambar 4.2 Bentuk Tampilan ADCDengan I2C Pedoman Praktikum Aplikasi Mikroprosesor & Interfacing Percobaan 4
UPT Perangkat Keras Halaman : 4 dari 6
Program tersebut akan menerima input analog melalui channel CH-1 sampai CH-4, kemudian akan dilakukan proses ADC melalui ICPCF8591 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 I2C masukkan modul I2Cser.bas. Lihat panel project lalu click add module I2Cser.bas. • Masukkan perintah sebagai berikut Program DAC dengan I2C Private Sub Form_Load() MSComm1.PortOpen = True End Sub Private Sub txtHexa_Change() Call I2CStart Call Send8BIT(&H90) Call Ack Call Send8BIT(&H44) Call Ack Call Send8BIT(Val("&H" & txtHexa.Text)) Call Ack Call I2CStop End Sub Private Sub txtVolt_Change() If Val(txtVolt.Text) > 5 Then txtVolt.Text = 5 End If Call I2CStart Call Send8BIT(&H90) Call Ack Call Send8BIT(&H44) Call Ack Call Send8BIT(Val(txtVolt.Text) * 51) Call Ack Call I2CStop End Sub Bentuk tampilannya dapat dilihat pada gambar 4.3 di bawah ini :
Pedoman Praktikum Aplikasi Mikroprosesor & Interfacing Percobaan 4
UPT Perangkat Keras 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 ICPCF8591 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 I2C 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?
Pedoman Praktikum Aplikasi Mikroprosesor & Interfacing Percobaan 4
UPT Perangkat Keras Halaman : 6 dari 6