Anda di halaman 1dari 31

MATERI KULIAH MICROCONTROLLER

ANALOG TO DIGITAL CONVERTER ( ADC )


TUJUAN: 1. Mahasiswa memahami rangkaian interface mikrokontroller dengan ADC 0804 2. Mahasiswa memahami setting tegangan referensi Vref ADC0804 3. Mahasiswa memahami perhitungan tegangan resolusi ADC0804 4. Mahasiswa dapat memahami program assembly untuk menampilkan data ADC ke 7 Segmen 5. Mahasiswa dapat memahami program assembly untuk menampilkan data ADC ke LCD Karakter 2 x 16

1. TEORI DASAR ADC

TEORI DASAR DAN PEMROGRAMAN ADC

Page 1

ADC Analog-to-Digital Converter adalah sebuah peralatan yang paling sering digunakan untuk melakukan pencuplikan data (data acquisition). Komputer Digital selalu menggunakan nilai-nilai biner (discrete), tapi dalam dunia nyata semua adalah analog (continuous). Suhu, tekanan (gas atau cair), kelembaban, dan kebisingan adalah beberapa contoh dari nilai-nilai fisika yang akrab dengan kita. Nilai fisika tersebut harus dikonversi menjadi nilai listrik dengan alat yang digolongkan sebagai tranduser. Tranduser kadang-kadang juga disebut sebagai sensor. Masing-masing sensor misalnya Suhu, Velocity, Tekanan, Cahaya, dan yang lainnya, memiliki output besaran listrik. Dan kita butuh sebuah konverter analog-ke-digital untuk mengartikan besaran besaran listrik tersebut menjadi besaran-besaran angka digital yang dimengerti komputer. Di dunia mikrokontroller chip yang sudah terkenal adalah ADC0804.

TEORI DASAR DAN PEMROGRAMAN ADC

Page 2

Chip ADC0804 Chip ADC0804 adalah konverter analog-ke-digital, turunan langsung dari keluarga seri ADC800 buatan National Semiconductor. Sekarang chip sejenis sudah dibuat oleh beberapa pabrik dan merek berbeda. Dia bekerja pada tegangan 5 Volts dan memiliki resolusi 8-bit. Selain resolusi, waktu konversi (convertion time) menjadi parameter yang sangat penting pula. Convertion Time ini menunjukkan berapa lama waktu yang dibutuhkan oleh ADC untuk melakukan 1 kali konversi. Pada ADC0804 Convertion Time ditentukan oleh nilai clock yang ad pada pin-pin CLK R dan CLK IN, dan paling cepat adalah 110uS. Pin-pin dalam ADC0804 adalah sebagai berikut ini.. CS Chip Select adalah input dengan aktif rendah yang digunakan untuk mengaktifkan chip ADC0804. Agar kita dapat megakses chip ini, tentu saja pin ini harus dibuat rendah terlebih dahulu. RD (read) Pin ini adalah input dan aktif rendah. Setelah ADC melaksanankan tugas pengkonversi-an, ADC akan menyimpan hasilnya pada register internalnya. pin RD
TEORI DASAR DAN PEMROGRAMAN ADC Page 3

inilah yang digunakan untuk mengeluarkan data pada register internal tersebut, keluar dari ADC0804 melalui pin D0-D7. Saat CS=0, dan adanya pulsa tinggi-kerendah pada RD maka hasil konversi 8-bit akan diteruskan pada pin D0-D7. Pin RD ini juga disebut sebagai "Output Enable". WR (Write, lebih cocokdisebut Start Convr.) Ini adalah input aktif rendah yang digunakan untuk menginformasikan ADC0804 untuk segera memulai konversi. Jika CS = 0 dan ada pulsa tinggi-ke-rendah pada WR, maka ADC akan memulai proses konversi nilai alnalog dari pin Vin menjadi nilai digital 8-bit. Lama waktu konversi tergantung besaran kompoenen yang kita pasanag pada CLK IN dan CLK R seperti yang sudha dijelaska sebellumya.Begitu konversi selesai maka pin INTR akan langsung oleh ADC dibuat rendah. CLK IN dan LCK R CLK IN adalah pin input yang dihubungkan pada sumber clock eksternal, jika kita mengunakan sumber clock eksternal untuk pewaktuan/timming. Namun, ADC0804 juga memiliki pembangkit clock sendiri di dalamnya. Untuk menggunakan pembangkit clock tersebut kita hanya membutuhkan sebuah capasitor dan sebuah resistor yang dihubugkan pada pin CLK IN dan CLK R tersebut. Cara menghubungkan ke 2 komponen dan ke 2 pin tersebut digambarkan pada gambar 12-5. Dalam kasus ini frekuensi clock ditentukan dari perhitungan sbb: f= 1/(1.1 R C) Dimana R biasanya adalah resistor 10 k Ohms, dan C biasanya 150 PF. Sehingga akan didapat f = 606 kHz. Dan dalam kasus ini kita akan mendapatkan convertion time = 110uS.

TEORI DASAR DAN PEMROGRAMAN ADC

Page 4

Gambar 12-5 Menguji ADC0804 pada mode Free Running INTR (Interupt, lebih cocok disebut :"koversi selesai") Ini adalah output pin dengan aktif rendah. Normalnya pin ini adalah tinggi,dan dia akan segera rendah hanya saat setelah selesainya proses konversi. Pin ini biasanya digunakan untuk memberitahukan CPU bahwa konversi telah selesai dan CPU bisa mengambil datanya pada pin-pin data. Vin(+) dan Vin(-) Ini adalah 2 buah input deferensial di mana sejatinya Vin = Vin(+) Vin(-). Jika Vin(-) dihubungkan pada bumi (ground) maka berarti nilai pada Vin(+) adalah sama dengan Vin, yakni nilai yang akan dikonversi. Vcc

TEORI DASAR DAN PEMROGRAMAN ADC

Page 5

Ini adalah pin untuk catu daya 5 volts. Selain itu, jika pin 9 atau pin Vref/2 dibiarkan tidak terhubung maka tinggi tegangan Vcc inilah yang akan dijadikan Vref-nya. Hal ini akan dijelaskan kemudian. Vref/2 Pin 9 ini adalah input tegangan yang digunakan sebagai tegangan referensi. Jika pin dibiarkan tidak terhubung, maka jangkauan tegangan input analog adalah mulai dari 0 5 Volts. Pin ini sangat penting jika kita ingin mengubah ADC dipekerjakan dalam jangkauan selain 0-5V tersebut. Misalnya agar ADC0804 dapat bekerja dalam jangkauan 0 4 Volts, maka kita harus menggunakan pin 9 ini dan menghubungkannya pada tegangan 2 Volts. Tabel 1.5 menunjukkan jangkauan Vin dengan Vref/2 berbeda. Table 12.5: Hubungan Vref/2 dan jangkauan Vin Vref/2 (V) tdk terhubung )* 2.0 1.5 1.28 1.0 0.5 Vin (V) 05 04 03 0 2.56 02 01 Ukuran Step (mV) 5/256 = 19.53 4/256 = 15.62 3/256 = 11.71 2.56/256 = 10 2/256 = 1.81 1/256 = 3.90

Catatan Vcc= 5 Volts * Saat tidak terhubung (terbuka), Vref/2 terukur 2.56 secara internal, diukur terhadap Vcc=5 Volts. Ukuran Step (resolusi) adalah perubahan terkecil yang dapat dibaca oleh ADC. D0 D7 ke 8-pin ini adalah output data digital. Mereka memiliki 3 status. Pin ini akan merepresentasikan nilai hasil konversi terakhir yang dilakukan ADC, hanya saat pin RD = 0. Dout = Vin/Step Size Dimana Dout adalah data output digital dalam desimal, dan Vin = adalah input analog dalam tegangan, dan Step Size (resolusi) adalah nilai perubahan terkecil, dimana (2 x Vref/2)/256 untuk ADC 8-bit.

TEORI DASAR DAN PEMROGRAMAN ADC

Page 6

Analog Ground dan Digital Ground Ini adalah 2 pin input yang menghubungkan ground dari 2 bagian dalam chip ADC0804, yakni bagian analog dan bagian digital. Digital Ground adalah pasangan dari pin Vcc. Alasan kenapa terdapat 2 buah ground adalah agar masing-masing rangkaian dapat benar-benar sedapat mungkin terpisah satu sama lain. Sehingga pensaklaran digital yang terjadi terutama pada pin D0-D7 tidak mempengaruhi Vin, sehingga ditakutkan hasil yang diperoleh menjadi tidak sesuai dengan yang diharapkan. Semakin terpisah maka kualitas konversi akan menjadi semakin baik. Dalam prakteknya kita dapat menghubugkan ke 2 pin Gnd pada ground yang sama, walaupun harus sedikit mengorbankan kualitas konversi. Dalam hal masih belajar, bolehlah hal ini diabaikan. Untuk peralatan profesional, maka ground ini menjadi masalah yang sangat penting yang harus kita perhatikan. Dari diskusi ini kita dapat menarik kesimpulan bahwa langkah-langkah berikut inilah yang harus dilakukan untuk melakukan konversi pada chip ADC0804. 1. Buatlah CS = 0 dan kirim pulsa rendah-ke-tinggi pada pin WR untuk segera melakukan konversi. 2. Selalu memonitor pin INTR. Jika INTR rendah, maka konversi selesai, dan kita dapat segera ke langkah berikutnya. Namun jika INTR masih tinggi, maka kita harus menunggu sampai dia rendah. 3. Setelah INTR rendah, maka pastikan CS=0 dan kirim pulsa tinggi-ke-rendah pada pin RD. Sehingga kita dapat segera membaca hasil konversi pada D0-D7. Sedang Timming Diagram adalah seperti pada Gambar12-6.

TEORI DASAR DAN PEMROGRAMAN ADC

Page 7

Gambar 12-6 Pewaktuan Read dan Write pada ADC0804

TEORI ADC LANJUTAN

Gambar 5.1 Rangkaian ADC0804 DASAR TEORI Konverter A/D tersedia secara komersial sebagai rangkaian terpadu dengan resolusi 8 bit sampai dengan 16 bit. Pada percobaan ini akan memperkenalkan ADC0801, yaitu sebagai sebuah konverter A/D 8 bit yang mudah diinterfacekandengan sistem mikrokontroller. A/D ini
TEORI DASAR DAN PEMROGRAMAN ADC Page 8

menggunakan metode approksimasi berturut-turut untuk mengkonversikan masukan analog (05V) menjadi data digital 8 bit yang ekivalen. ADC0801 mempunyai pembangkit clock internal dan memerlukan catu daya +5V dan mempunyai waktu konversi optimum sekitar 100us. Diagram konfigurasi pin ADC0804 ditunjukkan pada gambar 5.2. Pin 11 sampai 18 ( keluaran digital ) adalah keluaran tiga keadaan, yang dapat dihubungkan langsung dengan bus data bilamana diperlukan. Apabila CS ( pin 1 ) atau RD (pin2) dalam keadaan high (1), pin 11 sampai 18 akan mengambang ( high impedanze ), apabila CS dan RD rendah keduanya, keluaran digital akan muncul pada saluran keluaran.Sinyal mulai konversi pada WR (pin 3). Untuk memulai suatu konversi, CS harus rendah. Bilamana WR menjadi rendah, konverter akam mengalami reset, dan ketika WR kembali kepada keadaan high, konversi segera dimulai. Konversi detak konverter harus terletak dalam daereh frekuensi 100 sampai 800kHz. CLK IN ( pin 4) dapat diturunkan dari detak mikrokontroller, sebagai kemungkinan lain, kita dapat mempergunakan pembangkit clock internal dengan memasang rangkaian RC antara CLN IN ( pin 4) dan CLK R ( pin 19).Pin 5 adalah saluran yang digunakan untuk INTR, sinyal selesai konversi. INTR akan menjadi tinggi pada saat memulai konversi, dan akan aktiv rendah bila konversi telah selesai. Tepi turun sinyal INTR dapat dipergunakan untuk menginterupsi sistem mikrokontroller, supaya mikrokontroller melakukan pencabangan ke subrutine pelayanan yang memproses keluaran konverter.Pin 6 dan 7 adalah masukan diferensial bagi sinyal analog. A/D ini mempunyai dua ground, A GND (pin 8) dan D GND ( pin10). Kedua pin ini harus dihubungkan dengan ground. Pin 20 harus dihubungkan dengan catu daya +5V A/D ini mempunyai dua buah ground, A GND ( pin 8 ) dan D GND ( pin 10). Keduanya harus dihubungkan dengan catu daya, sebesar +5V.Pada A/D 0804 merupakan tegangan referensi yang digunakan untuk offset suatu keluaran digital maksimum. Dengan persamaan sebagai berikut:

Misalnya anda menginginkan masuk analog maksimum sebesar 4 V, maka: Vref=0.5 x 4 = 2 volt Resolusi ini mempunyai arti sebagai berikut:
TEORI DASAR DAN PEMROGRAMAN ADC Page 9

Vin (volt) 0,000 0,0156 0,0313 4

Data Digital (biner) 0000 0000 0000 0001 0000 0010 1111 1111

Data Digital (desimal)

255

A/D ini dapat dirangkai untuk menghasilkan konversi secara kontinu. Untuk melaksanakannya, kita harus menghubungkan CS, dan RD ke ground dan menyambungkan WR dengan INTR seperti pada gambar dibawah ini. Maka dengan ini keluaran digital yang kontinu akan muncul, karena sinyal INTR menggerakkan masukan WR. Pada akhir konversi INTR berubah menjadi low, sehingga keadaan ini akan mereset konverter dan mulai konversi. Tabel 5.1 Koneksi Interface ADC ke Mikrokontroller ADC /INTR /WR /RD D0 s/d D7 Port Mikrokontroller P3.2 P3.6 P3.7 P2.0 s/d P2.7

Tabel 5.2. Instruksi logika pada pin kontrol A/D 0804 INPUT /WR 1 0 1 1 1 /RD 1 1 1 1 0 /INTR 1 1 1 0 1 OUTPUT DO S/D D7 Hi-Z Hi-Z Hi-Z Data Out KEGIATAN Hi-Z ( High Impedansi ) Reset Konversi Selesai Data Ready

TEORI DASAR DAN PEMROGRAMAN ADC

Page 10

2.PEMROGRAMAN ADC

Simbol skematik untuk konverter analog-ke-digital tipikal ditunjukkan di bawah ini. Di sebelah kanan adalah sebuah ilustrasi bagaimana ADC dapat dihubungkan dengan 8051.

TEORI DASAR DAN PEMROGRAMAN ADC

Page 11

PEMROGRAMAN HUBUNGAN PIN IC ADC RD P3.7, WR P3.6 P3.7 0 P3.6 0 P3.5 1 P3.4 1 P3.3 1 P3.2 1 P3.1 1 P3.0 1 DATA 3F

DATA P2.0-P2.7

PROGRAM 1 Membaca data input analog dan simpan di Register R3 ORG 0H LOOP: MOV P3,#3FH MOV R3,P2 SJMP LOOP HASIL PEMBACAAN DATA INPUT ANALOG DATA IPUT ANALOG ( VOLT)) 0.9 1.25 1.6 2.5 3.11 3.49
TEORI DASAR DAN PEMROGRAMAN ADC

DATA OUTPUT DIGITAL 2E 40 52 69 9F B2


Page 12

4.10 4.54 5.0

CD E8 FF

MEMBACA DATA INPUT ANALOG OUTPUT MEMORI ORG 0H LOOP: MOV P3,#3FH MOV 45H,P2 SJMP LOOP

MEMBACA DATA INPUT ANALOG OUTPUT LED ( PORT 1 ) ORG 0H LOOP: MOV P3,#3FH MOV P1,P2 SJMP LOOP LATIHAN PEMROGRAMAN MEMBACA DATA INPUT ANALOG DENGAN OUTPUT LED SHIFT LEFT Jika data input analog 3.49 volt , maka output LED ( Shift Left ) Jika data input analog 1.25 Volt, maka output LED ( Shift Right ) MEMBACA DATA INPUT ANALOG DENGAN OUTPUT DISPLAY 7 SEGMENT Jika data input analog 3.49 volt , maka output DISPLAY 3 Jika data input analog 1.25 Volt, maka output DISPLAY 1 JAWABAN PROGRAM-1 MODIFIKASI PROGRAM BERIKUT ORG 0H MOV R4,#20H LOOP: MOV P3,#3FH MOV A,P2 CJNE A,#0B2H,SKANAN CJNE A,#40H,SKIRI SJMP LOOP SKIRI: mov A,#01H LOOP1: MOV P1,A
TEORI DASAR DAN PEMROGRAMAN ADC Page 13

CALL DELAY RL A DJNZ R4, LOOP1 sjmp END SKANAN: mov A,#01H LOOP2: MOV P1,A CALL DELAY RR A DJNZ R4, LOOP2 sjmp END DELAY: MOV R7,#10H TUNDA: MOV R6,#10H DJNZ R6,$ DJNZ R7,TUNDA RET END: END

TEORI DASAR DAN PEMROGRAMAN ADC

Page 14

Fungsi dari pin ADC adalah sebagai berikut:


CS-bar chip pilih INTR-bar adalah baris interrupt - pergi rendah bila konversi selesai. RD-bar memungkinkan saluran data. WR-bar dibersihkan dan kemudian mengatur untuk memulai konversi.

Dalam contoh di atas antarmuka ADC ke 8051, garis CS-bar terhubung ke tanah secara permanen mengaktifkan chip. Garis INTR-bar pergi RENDAH sekali konversi selesai, oleh karena itu terhubung ke salah satu pin interrupt eksternal pada 8051. Dengan cara ini, pada 8051 akan terputus ketika konversi selesai dan data siap untuk membaca. Baris data adalah tri-state (maka simbol segitiga terbalik) yang berarti chip ini dapat memori dipetakan dan data garis dapat dihubungkan langsung ke data bus. Pada contoh di atas baris data yang terhubung ke port 1, tapi karena mereka adalah tri-negara pelabuhan juga dapat digunakan untuk sesuatu yang lain. Hanya ketika konversi selesai adalah P2.0 dibersihkan yang memungkinkan jalur data dan konversi analog muncul pada port 1. Garis WR-bar digunakan untuk memulai konversi. Kliring ini me-reset garis mendaftar berturut-pendekatan internal dan 8-bit pergeseran mendaftar.
TEORI DASAR DAN PEMROGRAMAN ADC Page 15

Ketika garis diatur konversi dimulai. Oleh karena itu, mengambil membaca dari ADC adalah proses dua langkah: 1. Yang jelas dan kemudian menetapkan WR-bar untuk memulai konversi. 2. Beberapa waktu kemudian (biasanya 100 kita), garis INTR-bar akan pergi RENDAH untuk menunjukkan konversi selesai. Hal ini akan menyebabkan interupsi eksternal 0 dan terserah ke ISR 0 eksternal untuk membaca data dengan membersihkan P2.0 dan membaca data dari port 1. Menggunakan interrupt mikrokontroler memungkinkan untuk melakukan beberapa pekerjaan selama 100 kita yang diperlukan untuk mengubah masukan analog menjadi digital.

MATERI PRAKTEK LABORATORIUM MICROCONTROLLER ADC ( Analog to Digital Converter )


TUJUAN Mahasiswa memahami rangkaian interface mikrokontroller dengan ADC 0809 Mahasiswa memahami perhitungan input tegangan ADC Mahasiswa memahami pemrograman assembly ADC

Format Analog I/O ( ADC dan DAC ) ADC


P2.0 s/d P2.7 P3.7 data ADC ADC Read
Page 16

TEORI DASAR DAN PEMROGRAMAN ADC

P3.6

ADC Write

DAC
P1.0 P1.7 P0.7 data DAC DAC write

Pemograman Dasar 1.1 Input Analog output Register org 0h loop: mov p3,#3fh mov R4,p2 sjmp loop 1.2 Input Analog output Memori org 0h loop: mov p3,#3fh mov 45h,p2 sjmp loop

1.3 Membaca input Analog , output Analog

TEORI DASAR DAN PEMROGRAMAN ADC

Page 17

org 0h loop: mov p3,#3fh mov a,p2 mov p0,#7fh mov p1,a sjmp loop

1.4 Input Analog output LED org 0h mov r3,#8fh loop: mov p3,#3fh mov a,p2 subb a,r3 jz loop2 mov p0,#7fh mov p1,a sjmp loop TEORI DASAR DAN PEMROGRAMAN ADC Page 18

loop2: mov p1,#33h jmp loop

TUgas/ Latihan Mengghasilkan output yang sesesuai dengan perubahan data input Analog Kemudian ditampilkan di output LED, Display, DAC ( analog output ) output LED o o o UP counter Down Counter UP-Down Counter

Jawaban Tugas-1 Jika tegangan input analog = 2.80 Volt, maka Output Up-Counter Aktif

org 0h mov r3,#8fh loop: mov p3,#3fh mov a,p2 subb a,r3 jz loop2 TEORI DASAR DAN PEMROGRAMAN ADC Page 19

mov p0,#7fh mov p1,a sjmp loop loop2: mov r4,#00h loop3: mov a,r4 mov p1,a call delay inc a mov r4,a sjmp loop3 jmp loop

delay: mov r7,#55h loop4: mov r6,#20h djnz r6,$ djnz r7,loop4 TEORI DASAR DAN PEMROGRAMAN ADC Page 20

ret

3.RANGKAIAN DAC

4.PEMROGRAMAN DAC

TEORI DASAR DAN PEMROGRAMAN ADC

Page 21

TEORI ADC LANJUTAN


Menguji ADC0804

TEORI DASAR DAN PEMROGRAMAN ADC

Page 22

Kita bisa menguji ADC0804 menggunakan rangkaian seperti pada Gambar 12-5. Desain rangkain ini, disebut sebagai "Pengujian Model Free Running" dan ini yang direkomendasikan oleh pabrik pembuat chip. Gambar 12-5 memperlihatkan adanya sebuah potensiometer yang digunakan untuk memberikan tegangan analog variable 0 s/d 5 Volts, yang langsung dihubungkan pada pin Vin. Output biner dapat dilihat dari nyala LED. Harap diperhatikan pula dalam mode free running ini input CS selalu diground. Dan input WR terhubung pada output INTR. Namun menurut data sheet yang dikeluarkan oleh "National Semiconductor", bahwa WR dan INTR, keduanya sebaiknya harus dibuat rendah sesaat begitu chip dinyalakan, untuk menjamin operasi yang sempurna.

Gambar 12-7 Hubungan ADC0804 dengan sumber clock mandiri

Contoh 12-1 Buatlah hubungan ADC0804 dengan 8051 seperti pada gambar 12-7. Dan kemudian tulis program untuk memonitor pin INTR dan baca nilai dari input analog ke Akumulator. Kemudian panggil rutin konversi Hex-to-ASCII, dan rutin Display untuk menampilkan nilai tersebut. Buat hal tersebut berulang.

TEORI DASAR DAN PEMROGRAMAN ADC

Page 23

jawaban:

;P2.6 = WR (Start convertion need to L to H pulse) ;P2.7 when low, end-of-convertion ;P2.5 = RD (a H-to-L will read the data from ADC Chip) ;P1.0 P1.7 = D0 D7 of ADC0804 ; MOV P1,#0FFh ULANG: CLR P2.6 ;buat P1 sebagai input ;WR = 0 ;WR = 1 >> L-H = Mulai Konversi ;sampai selesai konversi

SETB P2.6 TUNGGU:

JB P2.7,TUNGGU ;RD = 0

CLR P2.5 MOV A,P1

;Baca data ;-panggil rutin ;-panggil rutin

ACALL HEXTOASCII ACALL DATA_DISPLAY SETB P2.5 SJMP ULANG

;RD = 1 untuk berikutnya

Catatan : rutin Konversi Hex To ASCII lihat Bab 7

TEORI DASAR DAN PEMROGRAMAN ADC

Page 24

Gambar 12-8 Hubungan ADC0804 dengan sumber clock XTAL2 milik 8051 Perhatikan gambar 12-8, clock untuk ADC0804 datang dari kristal milik mikrokontroller. Mengingat frekuensi tersebut masih terlalu tinggi, maka kita menggunakan flip-flop typeD (74LS74) untuk membagi frekuensi tersebut 4 kali. Seperti yang nampak pada gambar kita menggunakan 2 buah flip-flop. Untuk prosesor yang menggunakan kristal lebih tinggi lagi, maka terpaksa kita juga akan menambah flip-flopnya, sehingga frekuensi clock yang diberikan masih dapat diterima oleh ADC0804. Menghubungkan sensor suhu pada 8051 Tranduser mengkonversi data fisika seperti suhu, intensitas cahaya, aliran, dan kecepatan, menjadi sebuah sinyal listrik. Tergantung dari tranduser yang kita pakai, output keluaran yang dihasilkan bisa berupa Tegangan (Volt), Arus (Current), Resistansi (Resistance), atau kapasitas (Capacitance). Misalnya suhu diubah menjadi sinyal listrik menggunakan tranduser yang disebut dengan thermistor. Thermistor merespon perubahan suhu dengan berubahnya resistansi diri thermistor tersebut, walaupun sebenarnya respon tersebut tidak linier, seperti yang ditampilkan pada Tabel 12-6.

TEORI DASAR DAN PEMROGRAMAN ADC

Page 25

Tabel 12-6. Resistansi Thermistor dibanding Suhu Temperature(C) Tf (KOhms) 0 29.490 25 10.000 50 3.893 75 1.700 100 0.817 Tabel 12-7. Petunjuk Pilihan Sensor Suhu Seri LM34 Part Range Acuuracy Output Scale LM34A -50 F to +300 F +2.0 F 10 mV/F LM34 -50 F to +300 F +3.0 F 10 mV/F LM34CA -40 F to +230 F +2.0 F 10 mV/F LM34C -40 F to +230 F +3.0 F 10 mV/F LM34D -32 F to +212 F +4.0 F 10 mV/F Tabel 12-8. Petunjuk Pilihan Sensor Suhu Seri LM35 Part Range Acuuracy Output Scale LM35A -55 C to +150 C +1.0 C 10 mV/C LM35 -55 C to +150 C +1.5 C 10 mV/C LM35CA -40 C to +110 C +1.0 C 10 mV/C LM35C -40 C to +110 C +1.5 C 10 mV/C LM35D 0 C to +100 C +2.0 C 10 mV/C Akan menjadi sangat sulit membuat sebuah program komputer/mikrokontroller untuk mendapat petunjuk suhu yang tepat dari sebuah tranduser yang tidak linier. Dengan alasan ini National Semiconductor telah meluncur seri sensor terbaik mereka yang terkenal sejak lama sampai sekarang, yakni LM34 dan LM35. Merupakan sebuah tranduser (sensor) yang sangat linier, yang bisa kita gunakan dengan sangat mudahnya. Sensor suhu LM34 dan LM35 Sensor-sensor dari seri LM34 adalah sebuah sensor suhu yang sangat presisi dalam kemasan IC TO-92. Yang mana keluarannya adalah tegangan linier yang proporsional terhadap derajat suhu Fahrenheit. LM34 tidak membutuhkan kalibrasi eksternal, karena sudah memiliki peralatan kalibrasi otomatis di dalamnya. Keluaran 10mV adalah setara dengan setiap derajat Fahrenheit. Tabel 12-7 adalah daftar pilihan untuk LM34. Sensor-sensor dari seri LM35 adalah mirip dengan LM34, hanya saja dia memiliki tegangan keluaran yang proporsional terhadap derajat suhu Celcius (Centigrade). Seperti juga dengan LM34, sensor ini juga tidak membutuhkan kalibrasi eksternal.
TEORI DASAR DAN PEMROGRAMAN ADC Page 26

Setiap keluaran 10mV dari sensor ini, setara dengan setiap derajat Celcius. Tabel 12-8 menjelaskan pilihan untuk LM35. (Untuk lebih jauh tentang sensor-sensor ini kunjungi www.national.com). Pengkondisian Sinyal dan menghubungkan LM35 dengan 8051 Pengkondisian sinyal digunakan secara luas dalam pekerjaan pencuplikan data (data acquisition). Sebuah tranduser yang paling umum menghasilkan output dalam bentuk tegangan, arus, muatan, kapasitas, dan resistansi. Namun, kita butuh untuk mengkoversi sinyal-sinyal tersebut ke dalam bentuk Voltage (tegangan), yang ujungnya nanti akan kita kirim pada konverter A-D. Konversi (modifikasi) ini biasa disebut dengan Pengkondisian sinyal. Pengkondisian sinyal dapat berupa konversi arus-ke-tegangan, atau penguatan sinyal. Misalnya, thermistor berubah resistansinya akibat suhu. Perubahan resistansi tersebut harus diterjemahkan ke dalam tegangan karena nanti kita menggunakan ADC. Lihat pada kasus menghubungkan LM35 pada ADC0804. Mengingat ADC0804 memiliki resolusi 8-bit dengan maksimum 256(2exp8) langkah dan LM35 (atau LM34) menghasilkan 10mV setiap derajat dari perubahan suhu. Kita bisa mengkondisikan Vin dari ADC0804 untuk menghasilkan Vout 2560mV (2.56V) jangkauan keluaran maksimumnya. Sehingga pada akhirnya ADC0804 akan menghasilkan keluaran 1 bilangan biner setara dengan 1 derajat suhu. Agar ADC0804 bisa dibuat untuk memiliki skala 0 2560 mV saja, kita harus membuat tegangan Vref/2 menjadi setengah tegangan maksimum yang diinginkan, yakni 1.28V. Lihat Tabel 12-9, dan nilai Vref/2 diberikan Tabel 12-5.

Gambar 12-9. Pengambilan data dari Dunia Analog

TEORI DASAR DAN PEMROGRAMAN ADC

Page 27

Tabel 12-9. Temperature Vs Vout of ADC0804 Temp (C) Vin(mV) DOutput(D7-D0) 0 0 0000 0000 1 10 0000 0001 2 20 0000 0010 3 30 0000 0011 10 100 0000 1010 20 300 0001 1110

Gambar 12-10 Hubungan ADC0804 dan Sensor Suhu Gambar 12-10 menunjukkan hubungan sensor suhu pada ADC0804. Perhatikan penggunaan dioda zener 3,9V untuk menstabilkan tegangan keluaran yang ada pada pot 10K, tetap 1,28 Volts. Penggunaan dioda zener tersebut untuk menghilangkan setiap fluktuasi yang disebabkan sumber catu daya yang kurang baik. Chip ADC0808/9 dengan 8 kanal masukan Chip yang sangat berguna lainnya adalah ADC0808 atau ADC0809 dari National Semiconductor. Lihat gambar 12-11. Dimana ADC0804 hanya memiliki 1 input analog, sementara chip ini memiliki 8 input. Dengan chip ADC0808/9 ini membuat kita bisa memonitor keluaran dari 8 tranduser berbeda, semuanya hanya dari 1 chip saja. Perhatikan bahwa ADC0804 juga memiliki 8-bit output data persis seperti ADC0804. 8 kanal input analog tersebut di-multiplex dan dipilih berdasarkan Tabel 12-10 dengan menggunakan 3 pin pengalamatan A, B dan C.

TEORI DASAR DAN PEMROGRAMAN ADC

Page 28

Gambar 12-11. ADC0808/0809

Tabel 12-10. Pemilih Kanal input ADC0808 Kanal Analog yang dipilih C B IN0 0 0 0 IN1 0 0 1 IN2 0 1 0 IN3 0 1 1 IN4 1 0 0 IN5 1 0 1 IN6 1 1 0 IN7 1 1 1

Pada ADC0808/9, Vref(+) dan Vref(-) diatur sebagai tegangan refrensi. Jika Vref(-) = Gnd dan Vref(+) = 5 V, maka ukuran step adalah 5V / 256 = 19.53 mV per step. Sehingga untuk mendapatkan ukuran step menjadi 10mV, maka kita harus mengubah tegangan Vref(-) = Gnd dan Vref(+) = 2.56V. Dari gambar 12-11, lihat pin ALE. Kita menggunaan alamat A, B, dan C untuk memilih IN0 IN7, dan perlu mengaktifkan ALE untuk mengunci alamat. SC berarti Start Convertion. EOC berarti End Of Convertion, dan OE berarti Output Enable. Selanjutnya, kita harus membuat kode untuk itu semua. Langkah-langkah pemrograman ADC0808/9

TEORI DASAR DAN PEMROGRAMAN ADC

Page 29

Berikut ini adalah langkah-langkah untuk mendapatkan data dari input analog ADC0808/9 menuju mikro kontroller. 1. Pilih kanal analog dengan mengatur bit alamat A, B, dan C sepeti pada Tabel 12-10. 2. Aktifkan pin ALE (Address Latch Enable). Dia membutuhkan pulsa rendah-ke-tinggi untuk segera dapat mengunci alamat yang sudah diberikan. 3. Aktifkan pin SC (Start Convertion) dengan memberikan pulsa tingg-ke-rendah agar ADC segera melakukan konversi. 4. Periksa pin EOC (End Of Convertion) untuk melihat apakah konversi sudah selesai atau belum. Begitu pin tersebut menjadi rendah menandakan konversi telah selesai. 5. Aktifkan pin OE (Output nable) untuk membaca data keluar dari ADC. Berikan pulsa tinggi-ke-rendah pada pin OE tersebut. Perhatikan bahwa ADC0808/9 tidak memiliki pembangkit clock sendiri. Clock harus diberikan kepadanya pada pin CLK yang sumbernya dari peralatan lain (Misalnya Mikro Kontroller). Sehingga kecepatan konversi tergantung dari frekuensi clok yang terhubung kepadanya, dan tidak pula bisa melebihi 100mS. Ringkasan Pada BAB ini ditunjukkan bagaimana menghubungkan peralatan Dunia Nyata seperti LCD, Chip ADC, dan sensor-sensor, pada 8051. Pertama, kita dijelaskan tentang mode operasi LCD, dan kemudian dijelaskan bagaimana memprogam LCD dengan mengirimkan Command atau Data lewat koneksi hubungan dengan 8051 tersebut. Kemudian kita menggali chip ADC dan sensor suhu. Mengambil data dari Dunia Nyata menuju ke peralatan Digital yang disebut dengan Signal Conditioning. Dan itu adalah hal yang paling mendasar dari "system akuisisi data".

TEORI DASAR DAN PEMROGRAMAN ADC

Page 30

TEORI DASAR DAN PEMROGRAMAN ADC

Page 31

Anda mungkin juga menyukai