Komunikaso I/O

9.4. Komunikaso I/O

Mikroprosesor sebuah robot harus dapat menerima informasi dari berbagai sensor atau perangkat input lainnya (sensor cahaya, suara, gerak, informasi dari keyboard PC, dll), dan dapat mengirim perintah ke banyak operator atau mengirimkan perintah ke sensor (untuk meng-off-kan atau meng-on-kan sensor). Mengelola semua informasi tsb dalam satu waktu sangatlah sulit. Pertama, masalah kecepatan prosesor, dapat digunakan teknik multipleks, yaitu mensaklar (melayani) banyak pekerjaan dengan sa- ngat cepat, sehingga pekerjaa-pekerjaan tsb akan tampak dikerjakan sekaligus. Kedua , rangkaian I/O (dengan instruksi) mengam- bil/mengirim data melalui sebuah data bus, seperti ditunjukan pada Gambar 9.4.

9.4.1. Informasi ke dan dari Mikroprosesor

Bus Alamat

Decoder Alamat

Mikro- prosesor

Enable Lines

On/ Off

Port output

Port input

Sensor-sensor

Motor-motor

Gambar 9.4: Diagram Blok I/O Robot

10.4.2. ADC (Analog to Digital Conversion)

Mikroprosesor hanya dapat me-

ngolah data dalam format digital. Sedangkan besaran alam yang

ditangkap oleh sensor berupa a- nalog. Oleh karena itu, besaran- besaran analog tsb harus diubah menjadi besaran digital agar da- pat diproses oleh mikroprosesor. Proses digitalisasi ini dilakukan oleh sebuah perangkat yang

disebut Konverter Analog-ke-

Digital (ADC) . Adapun tahapan digitalisasi meliputi: Sampling,

kuantisasi, dan pengkodean ke besaran digital (coding). Fachkunde Elektrotechnik, 2006 Gambar 9.5: Proses Konversi

Analog - ke - Digital.

Sampling

Proses pertama konversi analog ke digital adalah sampling, yaitu membagi sinyal analog menjadi beberapa bagian dengan interval waktu yang sama, seperti ditunjukkan pada Gambar 9.11 bagian atas. Banyaknya sinyal tersampling ditentukan oleh frekuensi sampling.

Tabel 9.1: Konversi A/D

Kuantisasi

Setelah sinyal analog terbagi Nilai

Biner menjadi beberapa bagian (sesuai Kuantisasi

Sampling

1 1 001 dengan frekuensi sampling), ma-

2 3 011 ka setiap bagian lalu dikuantisasi,

3 5 101 yaitu diberi nilai sesuai dengan

4 4 100 nilai analognya, seperti ditun-

5 2 010 jukkan oleh Gambar 9.11 bagian

6 1 001 kedua (tengah). Pada contoh tsb

7 2 010 nilai hasil kuantisasi ditunjukkan

8 4 100 pada Tabel 9.1.

Kode Biner

Tahap akhir konversi A/D adalah membuat kode biner berdasarkan nilai kuantisasi yang diperoleh dari tahap sebelumnya.

9.4.3. DAC (Digital to Analog Conversion)

Lengan robot dan bagian lainnya dapat bergerak karena mendapat instruksi dari mikroprosesor sesuai dengan program yang telah ditulis oleh seorang pemrogram. Instruksi-instruksi di dalam mikroprosesor

tentunya berupa data-data digital, sedangkan penggerak robot bi- asanya bekerja secara analog. Oleh karena itu, data digital dari mikroprosesor (berupa perintah untuk menggerakkan suatu bagian robot) ke penggerak perlu diubah dalam format analog. Perangkat pengubah Digital ke Analog ini disebut DAC (Digital to Analog Converter). Banyak DAC yang telah tersedia dalam bentuk IC.

Secara logika, setiap nilai biner dapat MSB diubah menjadi nilai analog, sehingga

akan didapat nilai pengukuran output

IC Output

Analaog analog tak hingga besarnya. Pada kenya- DAC

taannya hal ini tidaklah mungkin, karena

dalam rangkaian elektronik, tegangan output dibatasi oleh tegangan catu daya

LSB

DC yang digunakan pada rangkaian.

Gambar 9.6: DAC

dalam bentuk IC

Nilai maksimum output analog DAC = Tegangan Catu Daya DC yang digunakan pada DAC.

Nilai Analog

Nilai Maks

Nilai Step =

2 0010 0001 Resolusi (%) = (1/2 N ) x 100%

Nilai Digital

Vo(maks) = Output Analog maksimum

Gambar 9.7: Bentuk Gelombang

N -1) x Nilai Step = (2

Tangga

Tegangan.

Refrensi

R1 R2 R3 R4

Rf

Input MSB Digital

LSB -

Vo Analog

Op-Am p Gambar 9.8: Rangkaian +

Konverter Digital ke Analog,

Schuler-McNamee, 1993

Contoh:

Sebuah DAC 4 bit mempunyai tegangan referensi -5 V. R1=2Rf (ini sebagai MSB); R2=4Rf; R3=8Rf; R4=16Rf (ini sebagai LSB). DAC ini akan mempunyai output dengan rentang tegangan antara 0-5V,

4 karena mempunyai tegangan referensi 5 V. Nilai tiap step = 5/2 = 0.3125 V. Pada Op-amp terdapat penguatan yang besarnya -Rf/R.

Karena nilai LSB dari DAC ini adalah 1/16, maka nilai step dihitung 4 dengan -1/16 (-5V) = 0.3125 V. Output maksimum DAC adalah (2 -1) x nilai step = 15 x 0.3125 V = 4.6875 V. Gambar 9.8

menunjukkan saklar input semua dalam keadaan terbuka, ini berarti input DAC = 0000, dan dalam kondisi ini output DAC = 0V. Untuk menentukan nilai output antara 0 – 5 V, maka konversikan nilai biner input ke desimal, lalu kalikan dengan nilai step. Misalnya: input biner 0110 = 6 desimal. Output DAC adalag 6 x 0.3125 V = 1.875 V.

Nilai Analog

15. V REF

4. V REF 0100

Nilai

0 Digital

Gambar 9.9: Contoh Konversi Nilai Digital – Analog

melalui Gelombang Tangga