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