RSS
Write some words about you and your blog here

Minggu, 24 Mei 2009

tugas rakitan buat UTS

INTERFACING MIKROKOMPUTER PADA PERALATAN

INTERFACING MIKROPROSESOR PADA KEYBOARD
Ketika anda menekan sebuah key pada computer berarti anda telah mengaktifkan sebuah switch. Ada berbagai cara dalam pembuatan switch ini. Berikut adalah gambaran secara umum dari pembuatan dan pengoperasian tipe-tipe umum keyswitch yang sering digunakan.Antara lain....

Keyswitch Mekanik
Pada keyswitch mekanik ada 2 bagian yang terbuat dari logam yang akan terdorong secara bersamaan ketika key ditekan. Elemen switch terbuat dari campuran perunggu dan fosfor dengan lapisan emas pada area kontak.Keyswitch biasanya mengandung sebuah spring yang digunakan untuk mengembalikan key pada posisi yang tidak tertekan dan bagian terkecil dari busa membantu menjaga kelembaban ikatan. Keyswitch mekanik relative murah tetapi memiliki kelemahan yakni kontaknya mudah mengalami oksidasi atau kotor karena sudah terlalu lama membuat koneksinya menjadi terhambat.
Keyswitch Membran
Switch berjenis ini lebih special disbanding switch mekanik. Switch ini memiliki 3 lapisan plastic. Pada lapisan paling atas mempunyai konduktivitas dari tinta silver yang bekerja dibawah baris konduktor. Lapisan tengah mempunyai lubang dibawah posisi key. Lapisan paling bawah mempunyai konduktivitas dari tinta silver yang bekerja dibawah kolom konduktor. Ketika key ditekan, tinta bagian atas terdorong menuju lubang untuk menghubungkan garis tinta pada bagian bawah. Keunggulan switch ini dapat dibuat sangat tipis dan tertutup rapat dan seing digunakan pada cash register pada makanan cepat saji di restaurant, pealatan medis dan berbagai aplikasi lainnya.
Keyswitch kapasitif
Sebuah keyswitch kapasitif mempunyai 2 lempengan logam pada papan sirkuit dan lempengan lainnya pada bagian bawah busa. Ketika key ditekan, gerakan lempengan terdorong ke lempengan tertentu. Amplifier mendeteksi Perubahan kapasitansi antara lempengan dan menghasilkan sebuah signal logic yang mengindikasikan key ditekan. Keuntungan besar dari switch kapasitif adalah tidak membuat kontak mekanik menjadi teroksidasi atau kotor. Kerigian terkecil adalah sirkuit khusus dibutuhkan untuk mendeteksi perubahan kapasitansi.
Keyswitch Hall Effect
Tipe lain dari switch adalah Keyswitch Hall Effect dimana tidak mempunyai kontak mekanik, hal ini menjadi keuntungan dari pendfleksian(pembelokan) dari pergerakan isi dari area magnetic. Berikut adalah cara kerjanya : Arus melalui sebuah Kristal semi konduktor antara 2 permukaan yang berlawanan. Ketika key ditekan, Kristal ini bergerak menuju sebuah area magnetic secara terus menerus dimana tegak lurus dengan penunjuk dari aliran arus pada Kristal. Pergerakan Kristal menuju area magnetic menyebabkan tegangan kecil menjadi berkembang antara 2 atau lebih permukaan lain dari Kristal. Tegangan ini diperkuat dan digunakan untuk mengindikasikan bahwa key ditekan. Keyboard hall effect sangat mahal karena mekanisme switch yang lebih rumit tetapi lebih dapat diandalkan.


B. INTERFACING DAN KONEKSI SIRKUIT KEYBOARD
Pada keyboard, keyswitch dihubungkan dengan sebuah matrik baris dan kolom. Secara prinsip, data dari sebuah keyboard seperti permintaan melakukan 3 tugas utama yakni : mendeteksi penekanan key, Mengikat tekanan key dan Encode. Tiga tugas dikerjakan dengan hardware, software atau kombinasi keduanya.
C. INTERFACING KEYBOARD DENGAN SOFTWARE
Sirkuit koneksi dan algoritma
Gambar 9.20 menunjukan bagaimana keypad heksadesimal dikoneksikan pada pasangan dari mikrokomputer sehingga 3 tugas tadi dapat dikerjakan sebagai bagian dari program. Baris dari matriks dihubungkan pada 4 port output. Kolom dari matriks dihubungkan pada 4 port input. Ketika key ditekan,garis kolom diperoleh dengan menaikan resistor sebesar 5 v.Prinsip utama disini adalah penekanan key menghubungkan sebuah baris dan kolom. Jika output rendah pada baris berarti key ditekan, kemudian ditampilkan pada kolom yang terdiri dari key tersebut dan dapat dideteksi pada port input. Gambar 9.20b menunjukan prosedur mendeteksi, mendebounce dan menghasilkan kode heksa untuk penekanan key.
Konversi Kode
Ada 2 cara utama dalam pengkonversian ke dalam suatu program. ENCODE dari suatu program menggunakan sebuah perbandingan teknik, dimana hal tersebut sangat penting untuk dipelajari. Pada section selanjutnya pada interfacing keyboard dengan hardwareakan ditunjukkan pengkonversian kode yang utama secara teknik dimana dengan memanggil menggunakan instruksi ADD dan POINT.Apabila row menghasilkan keluaran low, salah satu kolom ditemukan, eksekusi menuju ke table ENCODE. Instruksi IN AL,DX membaca kode baris dan kolom dari port input. 8 kode bit di representasikan bahwa key ditekan, 8 bit kode ini di konversikan secara sederhana ke bilangan heksa untuk ditekan.
Prinsip teknik pengkonversian digunakan untuk membandingkan kode baris dan kolom yang di baca dari nilai pada table sampai nilai tersebut sama. Ketika nilai yang sama ditemukan, counter akan berisi kode heksa untuk key yang ditekan. Pada gambar 9.21 Register BX digunakan sebagai counter dan sebagai pointer dari kode pada table. Untuk memulainya, kita harus mengload hitungan dari 000FH pada BX dengan instruksi MOV BX,000FH. CMP AL, TABLE(BX) untuk membandingkan kode pada alamat offset (BX) pada table dengan kode baris dan kolom pada AL.BX berisi 000FH dan kode dalam table pada alamat offset yang menggambarkankode baris dan kolom untuk Key F. jika kita mendapatkan nilai yang sama pada perbandingan yang pertama maka dapat dikatakan bahwa key F ditekan, dan BL berisi kode heksa untuk key ini. Kode heksa dalam BL dikopi dari AL melalui pemanggilan program(escute). AH diload dengan 00H unuk menjelaskan pemanggilan program dengan penekanan key yang benar dan kembali membuat program.
Jika kita tidak memberikan perbandingan yang sama pada perbandingan yang sama, kita menurunkan BX ke point ke kode untuk key E pada table dan melakukan perbandingan lainnya. Jika hal tersebut terjadi secara bersamaan Key E adalah key yang ditekan dank ode heksa untuk key tersebut adalah 0EH adalah BL. Jika kita tidak memberikan perbandingan yang sama , siklus melalui loop sampai kita memberikan yang sama atau sampai kode baris dan kolom untuk penekanan key mempunyai perbandingan dengan seluruh nilai pada table. Sejauh ini nilai dalam BX adalah 0 setelah instruksi DEC, Jika tidak ada instruksi maka akan melompat/ menjalankan instruksi selanjutnya. INS TRY-NEXT akan menyebabkan eksekusi kembali ke instruksi perbandingan. Jika tidak ada nilai yang sama yang ditemukan pada table BX akan di decrement dari 0 samapi FFFFH. Semenjak bit dicopy dari MSB dari hasil setelah instruksi DEC , bit kemudian akan diset.Setelah eksekusi dilakukan menuju sebuah instruksi dimana memproses kode error dari)1H dalam AH. Kemudian pemanggilan program dilakukan kembali. Pemanggilan program akan dicek pada AH . Jika AL terisis maka akan direpresentasikan bahwa kode tersebut benar/logis.

Error trapping
Konsep dari pendeteksian kondisi eror seperti “no match found” yang disebut error trapping yang sangat penting yang merupakan bagian dari program nyata.Error trapping terjadi jika 2 key terletak pada baris yang sama ditekan pada waktu yang bersamaan.Error/tidak error dilalui kembali pada pemanggilan program pada register di dalam suatu lokasi memori atau stack
C. KEYBOARD INTERFACING WITH HARDWARE
Untuk sistem dimana CPU terlalu sibuk untuk melakukan tugas dalam software, sebuah alat eksternal digunakan untuk mengerjakan hal tersebut salah satunya adalah MOS yang dapat melakukan hal ini adalah General instrument AY-5-2376 yang dapat dikoneksikan ke baris dan kolom dari dari sebuah matrik switch keyboard. AY-5-2376 menghasilkan kode 8bit untuk penekanan key dan mengirimnya sebagi contoh sebuah port mikrokomputer pada 8 garis parallel. AY-5-2376 mempunyai fitur yang disebut two key rollover , ini berarti jika 2 key ditekan berdekatan secara bersamaan , maka setiap key dideteksi, debounced dan dikonversikan keASCII.kode ASCII untuk key yang pertama dan signal blitz untuk dikirim, kemudian kode ASCII untuk key yang kedua dan signal blitz untuk dikirim.

F. INTERFACING TAMPILAN ALPHANUMERIC
Beberapa peralatan pengontrol mikroprosesor dan mekanik membutukan tampilan dari alphabet dan numeric untuk memberikan petunjuk atau hasil pengolahan data untuk pengguna. Dalam sistem dimana sejumlah data yang dibutuhkan ditampilkan. CRT biasanya digunakan untuk menampilkan data. Di dalam system dimana hanya sebagian kecil data yang dibutuhkan ditampilkan, Beberapa teknologi digunakan untuk membuat penampilan digit yang asli yakni LED dan LCD. Penampilan LCD menggunakan power rendah sehingga sering digunakan pada mesin yang sederhana(portable) , peralatan yang menggunakan baterai. LCD tidak memancarkan cahaya, melainkan merubah bayangan dari cahaya yang ada. Sebuah alat yang digunakan pada kondisi lampu yang redup harus memasukan sumber cahaya untuk alat tersebut(LCD) atau menggunakan LED dimana memancarkan cahayanya sendiri.
Tampilan dan interface keyboard dengan 8279

Gambaran lintasan koneksi 8279 dan pengoperasian
Sheet 7 dan 8 SDK-86 menunjukkan lintasan koneksi untuk keypad dan tampilan pada multiplexed 7segment, antara lain :
1.tampilan lintasan pada sheet 8. tampilannya berupa common anoda dan tiap digit mempunyai switch transistor PNP antara anoda tersebut dan tegangan +5 V.
2.menggunakan logika low untuk menghidupkan salah 1 switch. Selama tampilan berupa common anoda, logika low masih dibutuhkan untuk menghidupkan segment tersebut.
Lalu bagaimana proses tampilan tersebut? Penggerak untuk digit-switch transistor berasal dari 7445 BCD to decimal decoder atau lebih dikenal dengan decoder one of ten low. Ketika kode 4bit BCD diterapkan pada input peralatan tersebut, output yang cocok dengan nomor yang ditampilkan tadi akan berlogika low.
Contoh : ketika output 8279 adalah 0100 atau tampilan BCD adalah angka 4 maka output label/pin pada 7445 yaitu O4 akan berlogika low. Pada 7445 ini hanya 1 output yang berlogika low pada saat itu juga sehingga hanya akan ada 1 LED yang menyala.
Ketika kita ingin menampilkan beberapa huruf/angka, sebelumnya kita menulis kode pada 7segment untuk huruf/angka yang akan ditampilkan pada RAM 16-byte dalam 8279. Kemudian 8279 mengalami suatu proses putaran/cycle secara otomatis untuk mengirim kode pada rangkaian ke dalam tampilan.
8279 juga dapat melakukan 3 tugas secara otomatis untuk antarmuka pada keyboard matrix. 3 tugas tersebut melibatkan penempatan logika low pada baris keyboard matrix. Jika beberapa key ditekan pada baris tersebut, logika low akan ditampilkan pada kolom yang berisi key tersebut. Sebaliknya jika logika low ditemukan pada kolom, lalu terjadi debounce time maka kolom tersebut akan dicek kembali.jika key yang ditekan benar maka kode yang akan menampilkan key tadi dibangun/diproses.

Inisialisasi dan komunikasi dengan 8279
Langkah pertama dari proses inisialisasi suatu peralatan permrograman adalah menentukan sistem dasar pengalamatan peralatan, pengalamatan internal dan sistem pengalamatan bagian internal. 8279 hanya mempunyai 2 pengalamatan internal yang dipilih dengan logika on pada input A0 (pin 21). Jika A0 berlogika low, ketika 8279 di enable untuk membaca data atau menulis data maka A0 menjadi berlogika high pada kontrol internal.
Langkah selanjutnya adalah melihat format untuk kontrol word yang dikirim ke peralatan untuk membuat operasi pada mode yang diinginkan. Sebuah pertanyaan yang mungkin terjadi ketika kita melihat semua kontrol word ini adalah ”Jika 8379 hanya mempunyai 1 alamat register kontrol, bagaimana kita mengirim semua kontrol word yang berbeda?”. Jawaban dari pertanyaan tersebut adalah semua kontrol word dikirim pada alamat register kontrol yang sama. Contohnya : FFEAH, 3 bit bagian atas dari tiap kontrol word berkaitan dengan 8279 yang kontrol wordnya akan dikirim.
Kontrol word pertama yang dikirim untuk inisialisasi 8279 adalah keyboard/mode tampilan set word. Bit label DD pada kontrol word di spesifikasikan terlebih dahulu. Jika kita mempunyai 8 atau lebih tampilan, buat inisialisasi untuk 8 digit. Bit DD pada word kontrol ini juga menetapkan karakter lain pada tampilan internal RAM 16 byte. Ada 2 mode tampilan, yaitu:
1.mode left entry, kode 7segment pada alamat pertama dari tampilan internal RAM akan dikirim digit paling kiri dari tampilan. Contoh : jika kita ingin menampilkan AbCd pada 4 digit paling kiri dari tampilan 8digit, kita meletakkan kode 7segment untuk karakter yang diinginkan pada 4 tampilan pertama dari tampilan RAM. Kode yang diletakkan di alamat tertinggi pada tampilan RAM akan ditampilkan mengikuti digit di sebelah kanan.





2.mode right entry, kode pertama yang dikirim pada tampilan RAM diletakkan di alamat paling bawah. Karakter tersebut akan ditampilan pada tampilan paling kanan. Jika karakter kedua ditulis pada tampilan RAM, maka karakter tersebut akan diletakkan pada lokasi kedua RAM. Tampilannya, karakter baru akan di ditampilkan pada digit
paling kanan dan karakter pertama akan digeser pada posisi kedua dari kanan. Cara seperti ini sama seperti tampilan pada fungsi kalkulator.






Selanjutnya adalah bit KKK. Pilihan pertama yang harus ditetapkan jika menggunakan 8279 dengan keyboard adalah encoded scan atau decoded scan. Pada mode encoded, 8279 diletakkan rangkaian binary count pada baris SL0-SL3 dan decoder external seperti 7445 digunakan untuk menghasilkan langkah low. Sedangkan mode decoded digunakan jika kita hanya memiliki 4digit untuk refresh. Pilihan kedua 2 adalah harus membuat word kontrol yang akan digunakan, two key lockout atau N-key rollover. Mode Two-key lockout, satu key harus dilepaskan sebelum keypress lain akan dideteksi dan diproses. Pada mode N-key rollover, jika 2 key ditekan pada saat yang bersamaan, kedua key yang ditekan akan dideteksi dan debounced, dan kodenya diletakkan di FIFO pada jenis kunci yang ditekan.
Kontrol word selanjutnya adalah program-clock word. 8279 membutuhkan clock internal dengan frekuensi sekitar 100 kHz. Kontrol word yang terakhir adalah clear word. Kita perlu mengirim word tentang 8279, kode apa yang dikirim ke segment untuk mematikannya saat 8279 berpindah dari 1 digit ke digit selanjutnya. Gambar di bawah menunjukkan instruksi rangkaian yang mengirim kontrol word yang dikembangkan pada 8279 di papan SDK-86.








Cara driver menampilkan SDK-86
Cara yang digunakan untuk menampilkan SDK-86 adalah inisialisasi 8279 oleh program monitor SDK-86 seperti instruksi di atas. Jika AL bernilai nol saat prosedur dipanggil maka isi dari CX akan ditampilkan pada LED data. Jika AL tidak nol maka isi CX akan ditampilkan pada LED alamat. Terdapat 2 point utama untuk prosedur ini,yang pertama adalah mengirim kontrol word untuk tampilan write RAM ke 8279, sehingga kita dapat menulis pada lokasi yang diinginkan pada tampilan RAM. Kedua adalah proses menutup, dimana kita melakukan shuffle dan menutup untuk mendapatkan tiap nibble ke dalam byte itu sendiri. Kemudian kita menggunakan tabel lookup dan instruksi XLAT untuk melakukan perubahan.

Interface pada 18-segment dan tampilan LED Dot-Matrix
Pada contoh sebelumnya, kita menggunakan 8279 untuk merefresh tampilan 7segment. Kode 7segment tiap digit disimpan di lokasi yang berurutan pada tampilan RAM. Untuk menampilkan kode ASCII pada tampilan LED 18segment, kita dapat menyimpan kode ASCII tersebut di tampilan RAM. External ROM digunakan untuk mengubah kode ASCII ke kode yang diminta oleh 18segment dan mengirimnya ke driver segment. Strobes tiap digit driver dihasilkan saat digunakan untuk tampilan 7segment
Proses refresh tampilan LED 5 by 7 dot matrix adalah a little more komplex, karena pengganti dari semua digit lighting sehingga harus merefresh 1 baris atau 1 kolom saat itu juga pada tiap digit. Untuk menampilkan huruf pada matrix ini, kita mengirim kode untuk kolom pertama ke baris driver dan mengirim kode ke kolom driver untuk menghidupkan kolom tersebut. Selanjutnya matikan kolom pertama, kirim kode ke kolom kedua dan cahaya pada kolom kedua. Mengulangi langkah tersebut sampai semua kolom di refresh dan berputar kembali lagi pada kolom pertama.
Operasi dan Interface Tampilan Liquid Crystal
Operasi LCD
Tampilan liquid crystal diciptakan dengan sandwiching lapisan tipis dari fluida liquid-crystal antara piringan 2 kaca. Umumnya terdapat 2 type LCD, yaitu dynamic scattering dan field effect. Tipe dynamic scattering memperebutkan molekul pada suatu medan atau dasar. Tipe field effect menggunakan polarisasi untuk menyerap cahaya di medan/dasar elektrik, menghasilkan karakter gelap pada background silver abu-abu.
Pada umumnya LCD meminta tegangan 2 atau 3 V antara backplane dan segment untuk menghidupkan segment. Hanya dengan menghubungkan backplane ke ground dan menjalankan segment dengan output dari TTL decoder seperti yang telah dilakukan pada tampilan static RAM.

MENGHUBUNGKAN MIKROKOMPUTER DENGAN NON MULTIPLEXED LCD DISPLAY
ICM 7211M dapat dihubungkan dengan nonmultiplexed seven segment LCD display 4 digit yang mudah dijumpai. Input dari 7211 dapat dihubungkan ke pin/port atau langsung pada bus-bus mikrokomputer. Contohnya, kita dapat mengkoneksikan input CS dengan Y2 yang merupakan output dari decoder 74 LS138. pengalamatan data 4 digit dimulai dari alamat FF10H. Line alamat A2 dihubungkan dengan digit select input (DS2) sementara line alamat A1 dihubungkan dengan input dari DS1. koneksi ini akan menghasilkan bilangan 4 digit yang dialamatkan mulai FF10H. Digit ke 3 akan dialamatkan pada FF12H, digit ke 2 dialamatkan pada FF14H sementara digit ke 1 dialamatkan pada alamat FF16H. Input data dihubungkan dengan 4 jalur yang memiliki logika low pada SDK-86 data bus.
Untuk menampilkan karakter dari digit-digit tersebut satu persatu, dibutuhkan 4-bit kode hexa. ICM7211 akan mengkonversi 4- bit kode hexa tersebut ke bentuk kode yang dapat dibaca oleh seven-segment. Tepi naik dari sinyal input CS menyebabkan kode seven segment di-latch sebagai keluaran dari digit yang dialamatkan tersebut.

MENGHUBUNGKAN MIKROKOMPUTER DENGAN TRIPLEXED LCD DISPLAY
Pada kebanyakan peralatan berbasis mikrokomputer, untuk menampilkan huruf sebaik menampilkan angka dapat digunakan segment 18 digit. Pada segment 18 digit ini, seluruh segment input dihubungkan dengan bus sementara multiplexing dilakukan dengan pendekatan yang disebut triplexing.
Pada metode triplexing tiap digit diumpamakan sebagai sebuah matriks yang terdiri dari 6 baris dan 3 kolom. Tiap digit terdiri dari 6-bit latch untuk menampung 6-bit baris kode dari segment kolom. Kode pada baris di kirim ke seluruh latch dan tiap kolom dari digit dinyalakan/diaktifkan. Pada saat kode baris dari kolom kedua dikirim keluar dari latch, kolom pertama dinonaktifkan dan kolom kedua diaktifkan. Pada saat baris kode dari kolom ketiga dikirim ke digit-digit, kolom ketiga diaktifkan. Pada waktu yang ditentukan satu dari tiga kolom pada tiap display diaktifkan. Inilah yang dimaksud dengan bentuk triplexing. Tidak peduli berapapun digit yang dikoneksikan, hanya tiga kolom yang perlu direfresh. Rata-rata switching triplexing lebih rendah daripada metode LED multiplexing. Intersil ICM7233 merupakan contoh peralatan yang terdiri dari rangkaian yang memerlukan 4 triplexing dan LCD 18 segment. Komponen ini ini dapat dikoneksikan secara langsung pada bus mikrokomputer. Sementara itu untuk menampilkan rangkaian karakter dibutuhkan output 6-bit kode ASCII untuk tiap karakter pada digit alamat yang sesuai pada komponen tersebut. Bagian demonstrasi komponen ini terdiri dari 2 ICM7233, 8 LCD display 18-segment dan PC board. Komponen-komponen tersebut sudah tersedia pada intersil ICM7233 bila kita ingin menambahkannya pada peralatan yang kita buat.

MENGHUBUNGKAN PORT MIKROKOMPUTER DENGAN PERALATAN BERDAYA LISTRIK TINGGI
Sebuah mikrokomputer hanya bisa mensupply daya kurang lebih 5 volt dan arus ground 1 atau 2 mA. Bila kita ingin mengontrol peralatan yang memiliki daya listrik besar seperti lampu, pemanas, solenoid ataupun motor dengan mikrokomputer maka di antara hubungan mikrokomputer dan peralatan tersebut harus dipasang rangkaian interface/penghubung. Beberapa alat serta teknik yang biasanya digunakan untuk menghubungkan mikrokomputer dengan peralatan berdaya listrik tinggi tersebut antara lain :


Penambahan rangkaian Buffer
Salah satu pendekatan yang sering digunakan untuk melakukan buffering pada keluaran yang dihasilkan peralatan berdaya listrik besar adalah dengan menggunakan TTL buffer seperti 7406 hex inverting atau 7407 hex non-inverting.
7406 dan 7407 memiliki keluaran open kolektor jadi kaki kolektor tersebut setiap keluaran 5 Volt harus dikoneksikan dengan resistor. Tiap rangkaian buffer pada 74LS06 dan 74LS07 memiliki arus ground hingga 40 mA. Kita dapat menghubungkan LED dan resistor penghambat arus pada rangkaian seri diantara output buffer dan 5 Volt. Tipe buffer tersebut mudah untuk diaplikasikan pada peralatan. Sementara bila kita hanya membutuhkan buffer untuk satu atau dua port pin maka kita harus menggunakan transistor diskrit.
Transistor Buffer
Transistor dapat dikoneksikan dengan mikroprosesor untuk menyalakan LED atau lampu DC kecil. Untuk memasang transistor tersebut, pertama-tama kita harus menentukan terlebih dahulu berapa arus yang akan dialirkan ke LED, lampu atau peralatan lain. Kemudian tentukan logika yang akan digunakan untuk mengaktifkan peralatan, apakah logika high atau logika low. Penentuan logika ini dilakukan pada port keluaran mikroprosesor.
Jika yang kita menginginkan logika tinggi untuk menyalakan LED maka kita dapat menggunakan transistor NPN karena transistor jenis ini mampu menyimpan arus yang dibutuhkan dan memiliki tegangan breakdown kolektor-emitor yang lebih besar daripada daya yang terpakai sehingga dapat memperkercil daya yang ditimbulkan arus yang mengalir pada peralatan tersebut. Secara garis besar, hal yang harus diperhatikan saat kita memilih transistor apa yang akan digunakan adalah penguatan arusnya. Kita dapat mengeceknya pada datasheet. Jika tidak memiliki datasheet, kenaikan arus dapat diukur dengan beta (perbandingan antara arus kolektor dengan arus basis).
Untuk meng-on atau off-kan peralatan AC bertegangan 110V,220V atau 440V
dengan menggunakan mikrokomputer, kita dapat menggunakan relay mekanik ataupun relay solid state. Dua jenis rangkaian pengontrol ini biasanya terpisah secara elektrik dari saklar. Hal ini harus dilakukan karena bila tegangan AC 110V mengalami hubungan singkat dengan Vcc dari mikrokomputer maka hal itu dapat membakar IC-IC yang ada pada mikrokomputer.
Relay mekanik atau yang biasanya juga disebut kontaktor dapat digunakan pada arus mulai dari beberapa miliampere hingga beberapa ribu miliampere. Kelemahan relay mekanik ini adalah kontak yang dapat mengaktifkan atau menonaktifkan peralatan sangat gampang mengalami oksidasi bila terlalu sering dibuka ataupun ditutup. Oksidasi pada kontak ini menyebabkan arus yang melewati kontak terhambat dan membuat kontak mengalami panas yang berlebihan dan kontak tersebut dapat meleleh. Kelemahan lain dari relay mekanik adalah hanya dapat difungsikan pada level rendah. Bila difungsikan pada level tinggi, relay mekanik akan menghasilkan hambatan listrik yang besar sehingga untuk tegangan level tinggi biasanya digunakan relay solid-state.

Relay Mekanik



Relay Solid State Skematik Relay Solid State
Komponen utama dari rangkaian input pada relay solid-state adalah LED dan resistor. Untuk menyalakan peralatan, kita tinggal mengaktifkan transistor buffer yang akan melewatkan arus yang dibutuhkan sekitar 11 mA melalui LED internal. Cahaya yang dihasilkan LED akan difokuskan ke fototransistor yang terhubung dengan rangkaian kontrol output. Sementara unit input dan unit output terhubung oleh cahaya LED, beberapa ribu volts tegangan diisolasi diantara rangkaian input dan output.
Jika kita mengirimkan sinyal untuk mematikan relay maka arus yang lewat pada periode berikutnya akan menjadi nol. Hal ini menyebabkan hilangnya hampir seluruh hambatan listrik yang disebut interferensi magnetik yang sering terjadi pada tegangan level tinggi.
Keuntungan menggunakan relay solid-state adalah dapat mengurangi hambatan magnetik yang timbul pada tegangan tinggi serta mudah dihubungkan dengan port mikrokomputer. Sementara itu kekurangan relay tipe ini adalah lebih mahal dibandingkan relay mekanik dan kadang terjadinya drop tegangan saat relay dinyalakan. Kelemahan lainnya adalah bila diterapkan pada motor ataupun tipe peralatan pemanas elektronik, relay tipe ini menyebabkan perubahan tegangan yang terlalu cepat sehingga dapat merusak motor maupun peralatan tersebut.
MENGHUBUNGKAN MIKROKOMPUTER DENGAN STEPPER MOTOR (MOTOR BERPUTAR)
Motor stepper merupakan suatu jenis motor yang dapat digunakan untuk memindahkan sebuah benda (beban) dengan jarak perpindahan yang kecil. Berbeda dengan motor biasa yang bergerak dengan putaran yang kontinyu dan mulus, motor stepper bergerak dengan putaran yang kaku. Motor stepper bergerak dari posisi satu ke posisi berikutnya seperti melangkah. Umumnya motor stepper yang sering digunakan memiliki jangkauan langkah putar antara 0.9 derajat hingga 30 derajat.
Motor stepper terdiri dari motor stepper 2 fase dan motor stepper 4 fase. Secara teori, motor stepper kecil dapat dikendalikan dengan mikro kontroller ataupun mikroprosesor. Kenyataannya arus dan tegangan yang dihasilkan mikroprosesor ataupun mikrokontroller masih terlalu kecil sekitar 2-5Volt sementara untuk menggerakkan motor stepper dibutuhkan kira-kira 5-24 Volt. Untuk mengatasinya, kita harus menambahkan rangkaian penggerak seperti rangkaian transistor yang disusun secara Darlington.
Fase-fase motor stepper adalah : sebuah motor stepper digerakkan dari posisi berikutnya dengan mengubah arus yang mengalir pada motor dan terhubung ke masing-masing fase. Pengubahan arus tersebut mempunyai pola atau kombinasi tertentu sesuai apakah motor stepper tersebut merupakan jenis 2 fase atau 4 fase. 4 fase lebih sering dipelajari karena lebih sederhana. Teknik motor stepper ini merupakan teknik yang digunakan untuk mengatasi kekurangan relay solid-state yang tidak menguntungkan bila dioperasikan pada motor. Contoh motor stepper adalah MO61-FD302 milik IMC Magnetics Corp atau Tormax 200 dengan tegangan 5 volt untuk 4 jalur port mikrokomputer.
Beberapa hal yang perlu kita perhatikan sebelum memasang motor stepper pada robot atau peralatan lain adalah pertama pastikan bahwa kita memasang dioda pada rangkaian. Dioda ini berfungsi untuk mencegah kerusakan transistor yang disebabkan oleh tekanan induksi. Langkah kedua adalah menentukan fungsi resistor R1 dan R2. Misalnya saja motor yang akan kita gunakan memiliki tegangan 5,5 V, hal ini berarti kita harus mendesain rangkaian yang dapat dioperasikan pada tegangan emitor transistor sebesar 6,5 V (5,5 V untuk motor dan 1 V untuk melewati transistor). Cara ini akan bekerja maksimal pada level tegangan rata-rata rendah sementara untuk level tegangan tinggi digunakan power supply yang besar serta resistor pembatas arus.
Pada jenis printer-printer kecil seperti printer paralel buatan IBM PC, sebuah mikroprosesor digunakan untuk mengontrol beberapa operasi printer seperti mengontrol head printer serta software yang digunakan untuk motor stepper. Pada beberapa penerapan dimana mikrokomputer utama tidak bisa digabungkan/dihubungkan dengan stepper pengontrol secara langsung maka dapat digunakan stepper pengontrol buatan Cybernetic Microsystems CY525.

Motor Stepper 4 fase

Interface motor stepper ke mikrokontroler dengan pengaturan putaran ke kanan dan ke kiri.

ENKODER MOTOR SHAFT OPTIK
Untuk mengontrol motor yang ada pada peralatan elektronik, sebuah mikrokomputer memerlukan informasi mengenai posisi, arah rotasi serta kecepatan rotasi dari jenis-jenis motor shaft yang ada pada peralatan tersebut. Informasi ini tentunya dalam bentuk digital. Rangkaian yang mampu menghasilkan informasi digital dari tiap motor untuk mikrokomputer disebut enkoder shaft. Ada dua tipe dasar dari enkoder shaft ini yaitu enkoder absolut dan enkoder incremental (pengurangan).
ENKODER ABSOLUT
Tipe ini menghasilkan kode digital yang unik/khas untuk masing-masing beda sudut poros. Enkoder ini memanfaatkan LED dan 4 fototransistor. LED dan fototransistor dimuati secara berlawanan. Keluaran dari 4 fototransistor menghasilkan kode biner yang dibutuhkan. Output dari fototransistor tersebut dapat distabilkan dengan buffer schimtth-trigger dan kemudian dikoneksikan ke port mikrokomputer. Tiap kode biner mewakili posisi anguler selama terjadi rotasi. Jika kita menggunakan disk 4-bit maka disk tersebut dapat dibagi ke dalam 16 bagian sehingga tiap posisi poros sudut dapat diperkirakan berada pada range di sekitar 22,5 derajat. Dalam menerjemahkan kode biner yang dihasilkan, lazimnya digunakan kode Gray untuk mengurangi kesalahan pembacaan. Selain itu, penggunaan kode Gray membuat tiap posisi rotasi dapat digambarkan secara spesifik dengan kode tersebut dan dapat langsung dibaca oleh mikrokomputer. Kelemahan dari enkoder absolut ini adalah lebih membutuhkan banyak detektor, banyak jalur serta agak sulit menyimpan track berisi posisi bila motor mengalami rotasi yang berlipat.
Enkoder ini tersusun dari plat baja yang dipotong dengan bentuk tertentu kemudian ditempelkan di cakram dengan penyekat dimana terpasang kuat dengan poros (shaft). Saat piringan berputar, beberapa kontaknya menyentuh plat baja dan kontak yang lain tidak. Plat baja tersebut terhubung dengan sumber arus listrik, dan masing-masing kontak terhubung ke sensor elektrik. Bentuk potongan baja tersebut dirancang sedemikian rupa sehingga memungkinkan masing-masing posisi poros membentuk kode biner yang unik dimana beberapa kontak terhubung ke sumber arus (Switch ON) dan yang lain tak terhubung (Switch OFF). Kode tersebut dapat dibaca oleh peralatan kontrol seperti mikroprosesor ataupun mikrokontroller untuk menterjemahkan sudut dari poros.
ENKODER INCREMENT
Enkoder ini menghasilkan pulsa dari tiap poros rotasi. Enkoder ini misalnya, dapat dipasangkan pada lengan robot seperti robot badak untuk menentukan posisi dan arah rotasi dari tiap motor pada lengan robot tersebut. Hampir sama seperti pada enkoder absolut, pada enkoder ini LED dan fototransistor dimuati berlawanan. Tiap fototransistor menghasilkan rentetan pulsa selama disk berputar. Pulsa-pulsa tersebut kemudian melewati Schimtt Triger untuk memperkecil sudut.
Untuk menentukan kecepatan rotasi, kita dapat menghitung besarnya pulsa yang timbul pada waktu diantara 2 interupsi. Dengan hitungan sederhana, nilai tersebut dapat diubah ke rpm. Untuk menentukan arah rotasi dapat digunakan hardware ataupun software. Bila menggunakan hardware maka kita membutuhkan flip-flop D. Sementara itu, untuk menentukan posisi motor, kita dapat memperhatikan berapa banyak hole yang ditimbulkan motor sejak bergerak dari posisi awal.
Enkoder increment digunakan ketika metode pengkodean absolut tidak bisa digunakan disebabkan karena ukuran dan bentuk piringan/cakram. Metode ini juga menggunakan piringan / cakram, hanya saja ukurannya lebih kecil dengan jumlah garis radial yang banyak, seperti jeruji roda. Sebuah saklar optik seperti fotodioda menghasilkan pulsa listrik. Kemudian rangkaian kontrol elektronika menghitung pulsa untuk menerjemahkan sudut putar poros.
Sistem ini, dalam bentuk paling sederhana, tidak dapat menghitung sudut absolut dari poros. Sistem ini hanya dapat mengukur perubahan sudut relatif menjadi data yang berubah-berubah seperti posisi poros pada saat power di-ON-kan. Ketidak pastian posisi ini tidak menjadi masalah untuk perangkat input komputer seperti mouse dan trackball. Ketika posisi absolut harus diketahui, maka bisa ditambahkan sensor kedua untuk mendeteksi ketika poros melewati posisi nol. Permasalahan kedua yang bisa muncul di sistem ini adalah tidak dapat menentukan arah putaran poros. Untuk mengatasinya, dengan menambahkan sensor optik menjadi 2 buah sensor yang dipasang pada sudut yang berbeda. Arah putaran dapat diketahui dari hasil pembacaan dua sensor tersebut. Tipe enkoder ini dikenal dengan Quadrature Encoder.

Tidak ada komentar:

Posting Komentar

INTERFACING MIKROKOMPUTER PADA PERALATAN

INTERFACING MIKROPROSESOR PADA KEYBOARD
Ketika anda menekan sebuah key pada computer berarti anda telah mengaktifkan sebuah switch. Ada berbagai cara dalam pembuatan switch ini. Berikut adalah gambaran secara umum dari pembuatan dan pengoperasian tipe-tipe umum keyswitch yang sering digunakan.Antara lain....

Keyswitch Mekanik
Pada keyswitch mekanik ada 2 bagian yang terbuat dari logam yang akan terdorong secara bersamaan ketika key ditekan. Elemen switch terbuat dari campuran perunggu dan fosfor dengan lapisan emas pada area kontak.Keyswitch biasanya mengandung sebuah spring yang digunakan untuk mengembalikan key pada posisi yang tidak tertekan dan bagian terkecil dari busa membantu menjaga kelembaban ikatan. Keyswitch mekanik relative murah tetapi memiliki kelemahan yakni kontaknya mudah mengalami oksidasi atau kotor karena sudah terlalu lama membuat koneksinya menjadi terhambat.
Keyswitch Membran
Switch berjenis ini lebih special disbanding switch mekanik. Switch ini memiliki 3 lapisan plastic. Pada lapisan paling atas mempunyai konduktivitas dari tinta silver yang bekerja dibawah baris konduktor. Lapisan tengah mempunyai lubang dibawah posisi key. Lapisan paling bawah mempunyai konduktivitas dari tinta silver yang bekerja dibawah kolom konduktor. Ketika key ditekan, tinta bagian atas terdorong menuju lubang untuk menghubungkan garis tinta pada bagian bawah. Keunggulan switch ini dapat dibuat sangat tipis dan tertutup rapat dan seing digunakan pada cash register pada makanan cepat saji di restaurant, pealatan medis dan berbagai aplikasi lainnya.
Keyswitch kapasitif
Sebuah keyswitch kapasitif mempunyai 2 lempengan logam pada papan sirkuit dan lempengan lainnya pada bagian bawah busa. Ketika key ditekan, gerakan lempengan terdorong ke lempengan tertentu. Amplifier mendeteksi Perubahan kapasitansi antara lempengan dan menghasilkan sebuah signal logic yang mengindikasikan key ditekan. Keuntungan besar dari switch kapasitif adalah tidak membuat kontak mekanik menjadi teroksidasi atau kotor. Kerigian terkecil adalah sirkuit khusus dibutuhkan untuk mendeteksi perubahan kapasitansi.
Keyswitch Hall Effect
Tipe lain dari switch adalah Keyswitch Hall Effect dimana tidak mempunyai kontak mekanik, hal ini menjadi keuntungan dari pendfleksian(pembelokan) dari pergerakan isi dari area magnetic. Berikut adalah cara kerjanya : Arus melalui sebuah Kristal semi konduktor antara 2 permukaan yang berlawanan. Ketika key ditekan, Kristal ini bergerak menuju sebuah area magnetic secara terus menerus dimana tegak lurus dengan penunjuk dari aliran arus pada Kristal. Pergerakan Kristal menuju area magnetic menyebabkan tegangan kecil menjadi berkembang antara 2 atau lebih permukaan lain dari Kristal. Tegangan ini diperkuat dan digunakan untuk mengindikasikan bahwa key ditekan. Keyboard hall effect sangat mahal karena mekanisme switch yang lebih rumit tetapi lebih dapat diandalkan.


B. INTERFACING DAN KONEKSI SIRKUIT KEYBOARD
Pada keyboard, keyswitch dihubungkan dengan sebuah matrik baris dan kolom. Secara prinsip, data dari sebuah keyboard seperti permintaan melakukan 3 tugas utama yakni : mendeteksi penekanan key, Mengikat tekanan key dan Encode. Tiga tugas dikerjakan dengan hardware, software atau kombinasi keduanya.
C. INTERFACING KEYBOARD DENGAN SOFTWARE
Sirkuit koneksi dan algoritma
Gambar 9.20 menunjukan bagaimana keypad heksadesimal dikoneksikan pada pasangan dari mikrokomputer sehingga 3 tugas tadi dapat dikerjakan sebagai bagian dari program. Baris dari matriks dihubungkan pada 4 port output. Kolom dari matriks dihubungkan pada 4 port input. Ketika key ditekan,garis kolom diperoleh dengan menaikan resistor sebesar 5 v.Prinsip utama disini adalah penekanan key menghubungkan sebuah baris dan kolom. Jika output rendah pada baris berarti key ditekan, kemudian ditampilkan pada kolom yang terdiri dari key tersebut dan dapat dideteksi pada port input. Gambar 9.20b menunjukan prosedur mendeteksi, mendebounce dan menghasilkan kode heksa untuk penekanan key.
Konversi Kode
Ada 2 cara utama dalam pengkonversian ke dalam suatu program. ENCODE dari suatu program menggunakan sebuah perbandingan teknik, dimana hal tersebut sangat penting untuk dipelajari. Pada section selanjutnya pada interfacing keyboard dengan hardwareakan ditunjukkan pengkonversian kode yang utama secara teknik dimana dengan memanggil menggunakan instruksi ADD dan POINT.Apabila row menghasilkan keluaran low, salah satu kolom ditemukan, eksekusi menuju ke table ENCODE. Instruksi IN AL,DX membaca kode baris dan kolom dari port input. 8 kode bit di representasikan bahwa key ditekan, 8 bit kode ini di konversikan secara sederhana ke bilangan heksa untuk ditekan.
Prinsip teknik pengkonversian digunakan untuk membandingkan kode baris dan kolom yang di baca dari nilai pada table sampai nilai tersebut sama. Ketika nilai yang sama ditemukan, counter akan berisi kode heksa untuk key yang ditekan. Pada gambar 9.21 Register BX digunakan sebagai counter dan sebagai pointer dari kode pada table. Untuk memulainya, kita harus mengload hitungan dari 000FH pada BX dengan instruksi MOV BX,000FH. CMP AL, TABLE(BX) untuk membandingkan kode pada alamat offset (BX) pada table dengan kode baris dan kolom pada AL.BX berisi 000FH dan kode dalam table pada alamat offset yang menggambarkankode baris dan kolom untuk Key F. jika kita mendapatkan nilai yang sama pada perbandingan yang pertama maka dapat dikatakan bahwa key F ditekan, dan BL berisi kode heksa untuk key ini. Kode heksa dalam BL dikopi dari AL melalui pemanggilan program(escute). AH diload dengan 00H unuk menjelaskan pemanggilan program dengan penekanan key yang benar dan kembali membuat program.
Jika kita tidak memberikan perbandingan yang sama pada perbandingan yang sama, kita menurunkan BX ke point ke kode untuk key E pada table dan melakukan perbandingan lainnya. Jika hal tersebut terjadi secara bersamaan Key E adalah key yang ditekan dank ode heksa untuk key tersebut adalah 0EH adalah BL. Jika kita tidak memberikan perbandingan yang sama , siklus melalui loop sampai kita memberikan yang sama atau sampai kode baris dan kolom untuk penekanan key mempunyai perbandingan dengan seluruh nilai pada table. Sejauh ini nilai dalam BX adalah 0 setelah instruksi DEC, Jika tidak ada instruksi maka akan melompat/ menjalankan instruksi selanjutnya. INS TRY-NEXT akan menyebabkan eksekusi kembali ke instruksi perbandingan. Jika tidak ada nilai yang sama yang ditemukan pada table BX akan di decrement dari 0 samapi FFFFH. Semenjak bit dicopy dari MSB dari hasil setelah instruksi DEC , bit kemudian akan diset.Setelah eksekusi dilakukan menuju sebuah instruksi dimana memproses kode error dari)1H dalam AH. Kemudian pemanggilan program dilakukan kembali. Pemanggilan program akan dicek pada AH . Jika AL terisis maka akan direpresentasikan bahwa kode tersebut benar/logis.

Error trapping
Konsep dari pendeteksian kondisi eror seperti “no match found” yang disebut error trapping yang sangat penting yang merupakan bagian dari program nyata.Error trapping terjadi jika 2 key terletak pada baris yang sama ditekan pada waktu yang bersamaan.Error/tidak error dilalui kembali pada pemanggilan program pada register di dalam suatu lokasi memori atau stack
C. KEYBOARD INTERFACING WITH HARDWARE
Untuk sistem dimana CPU terlalu sibuk untuk melakukan tugas dalam software, sebuah alat eksternal digunakan untuk mengerjakan hal tersebut salah satunya adalah MOS yang dapat melakukan hal ini adalah General instrument AY-5-2376 yang dapat dikoneksikan ke baris dan kolom dari dari sebuah matrik switch keyboard. AY-5-2376 menghasilkan kode 8bit untuk penekanan key dan mengirimnya sebagi contoh sebuah port mikrokomputer pada 8 garis parallel. AY-5-2376 mempunyai fitur yang disebut two key rollover , ini berarti jika 2 key ditekan berdekatan secara bersamaan , maka setiap key dideteksi, debounced dan dikonversikan keASCII.kode ASCII untuk key yang pertama dan signal blitz untuk dikirim, kemudian kode ASCII untuk key yang kedua dan signal blitz untuk dikirim.

F. INTERFACING TAMPILAN ALPHANUMERIC
Beberapa peralatan pengontrol mikroprosesor dan mekanik membutukan tampilan dari alphabet dan numeric untuk memberikan petunjuk atau hasil pengolahan data untuk pengguna. Dalam sistem dimana sejumlah data yang dibutuhkan ditampilkan. CRT biasanya digunakan untuk menampilkan data. Di dalam system dimana hanya sebagian kecil data yang dibutuhkan ditampilkan, Beberapa teknologi digunakan untuk membuat penampilan digit yang asli yakni LED dan LCD. Penampilan LCD menggunakan power rendah sehingga sering digunakan pada mesin yang sederhana(portable) , peralatan yang menggunakan baterai. LCD tidak memancarkan cahaya, melainkan merubah bayangan dari cahaya yang ada. Sebuah alat yang digunakan pada kondisi lampu yang redup harus memasukan sumber cahaya untuk alat tersebut(LCD) atau menggunakan LED dimana memancarkan cahayanya sendiri.
Tampilan dan interface keyboard dengan 8279

Gambaran lintasan koneksi 8279 dan pengoperasian
Sheet 7 dan 8 SDK-86 menunjukkan lintasan koneksi untuk keypad dan tampilan pada multiplexed 7segment, antara lain :
1.tampilan lintasan pada sheet 8. tampilannya berupa common anoda dan tiap digit mempunyai switch transistor PNP antara anoda tersebut dan tegangan +5 V.
2.menggunakan logika low untuk menghidupkan salah 1 switch. Selama tampilan berupa common anoda, logika low masih dibutuhkan untuk menghidupkan segment tersebut.
Lalu bagaimana proses tampilan tersebut? Penggerak untuk digit-switch transistor berasal dari 7445 BCD to decimal decoder atau lebih dikenal dengan decoder one of ten low. Ketika kode 4bit BCD diterapkan pada input peralatan tersebut, output yang cocok dengan nomor yang ditampilkan tadi akan berlogika low.
Contoh : ketika output 8279 adalah 0100 atau tampilan BCD adalah angka 4 maka output label/pin pada 7445 yaitu O4 akan berlogika low. Pada 7445 ini hanya 1 output yang berlogika low pada saat itu juga sehingga hanya akan ada 1 LED yang menyala.
Ketika kita ingin menampilkan beberapa huruf/angka, sebelumnya kita menulis kode pada 7segment untuk huruf/angka yang akan ditampilkan pada RAM 16-byte dalam 8279. Kemudian 8279 mengalami suatu proses putaran/cycle secara otomatis untuk mengirim kode pada rangkaian ke dalam tampilan.
8279 juga dapat melakukan 3 tugas secara otomatis untuk antarmuka pada keyboard matrix. 3 tugas tersebut melibatkan penempatan logika low pada baris keyboard matrix. Jika beberapa key ditekan pada baris tersebut, logika low akan ditampilkan pada kolom yang berisi key tersebut. Sebaliknya jika logika low ditemukan pada kolom, lalu terjadi debounce time maka kolom tersebut akan dicek kembali.jika key yang ditekan benar maka kode yang akan menampilkan key tadi dibangun/diproses.

Inisialisasi dan komunikasi dengan 8279
Langkah pertama dari proses inisialisasi suatu peralatan permrograman adalah menentukan sistem dasar pengalamatan peralatan, pengalamatan internal dan sistem pengalamatan bagian internal. 8279 hanya mempunyai 2 pengalamatan internal yang dipilih dengan logika on pada input A0 (pin 21). Jika A0 berlogika low, ketika 8279 di enable untuk membaca data atau menulis data maka A0 menjadi berlogika high pada kontrol internal.
Langkah selanjutnya adalah melihat format untuk kontrol word yang dikirim ke peralatan untuk membuat operasi pada mode yang diinginkan. Sebuah pertanyaan yang mungkin terjadi ketika kita melihat semua kontrol word ini adalah ”Jika 8379 hanya mempunyai 1 alamat register kontrol, bagaimana kita mengirim semua kontrol word yang berbeda?”. Jawaban dari pertanyaan tersebut adalah semua kontrol word dikirim pada alamat register kontrol yang sama. Contohnya : FFEAH, 3 bit bagian atas dari tiap kontrol word berkaitan dengan 8279 yang kontrol wordnya akan dikirim.
Kontrol word pertama yang dikirim untuk inisialisasi 8279 adalah keyboard/mode tampilan set word. Bit label DD pada kontrol word di spesifikasikan terlebih dahulu. Jika kita mempunyai 8 atau lebih tampilan, buat inisialisasi untuk 8 digit. Bit DD pada word kontrol ini juga menetapkan karakter lain pada tampilan internal RAM 16 byte. Ada 2 mode tampilan, yaitu:
1.mode left entry, kode 7segment pada alamat pertama dari tampilan internal RAM akan dikirim digit paling kiri dari tampilan. Contoh : jika kita ingin menampilkan AbCd pada 4 digit paling kiri dari tampilan 8digit, kita meletakkan kode 7segment untuk karakter yang diinginkan pada 4 tampilan pertama dari tampilan RAM. Kode yang diletakkan di alamat tertinggi pada tampilan RAM akan ditampilkan mengikuti digit di sebelah kanan.





2.mode right entry, kode pertama yang dikirim pada tampilan RAM diletakkan di alamat paling bawah. Karakter tersebut akan ditampilan pada tampilan paling kanan. Jika karakter kedua ditulis pada tampilan RAM, maka karakter tersebut akan diletakkan pada lokasi kedua RAM. Tampilannya, karakter baru akan di ditampilkan pada digit
paling kanan dan karakter pertama akan digeser pada posisi kedua dari kanan. Cara seperti ini sama seperti tampilan pada fungsi kalkulator.






Selanjutnya adalah bit KKK. Pilihan pertama yang harus ditetapkan jika menggunakan 8279 dengan keyboard adalah encoded scan atau decoded scan. Pada mode encoded, 8279 diletakkan rangkaian binary count pada baris SL0-SL3 dan decoder external seperti 7445 digunakan untuk menghasilkan langkah low. Sedangkan mode decoded digunakan jika kita hanya memiliki 4digit untuk refresh. Pilihan kedua 2 adalah harus membuat word kontrol yang akan digunakan, two key lockout atau N-key rollover. Mode Two-key lockout, satu key harus dilepaskan sebelum keypress lain akan dideteksi dan diproses. Pada mode N-key rollover, jika 2 key ditekan pada saat yang bersamaan, kedua key yang ditekan akan dideteksi dan debounced, dan kodenya diletakkan di FIFO pada jenis kunci yang ditekan.
Kontrol word selanjutnya adalah program-clock word. 8279 membutuhkan clock internal dengan frekuensi sekitar 100 kHz. Kontrol word yang terakhir adalah clear word. Kita perlu mengirim word tentang 8279, kode apa yang dikirim ke segment untuk mematikannya saat 8279 berpindah dari 1 digit ke digit selanjutnya. Gambar di bawah menunjukkan instruksi rangkaian yang mengirim kontrol word yang dikembangkan pada 8279 di papan SDK-86.








Cara driver menampilkan SDK-86
Cara yang digunakan untuk menampilkan SDK-86 adalah inisialisasi 8279 oleh program monitor SDK-86 seperti instruksi di atas. Jika AL bernilai nol saat prosedur dipanggil maka isi dari CX akan ditampilkan pada LED data. Jika AL tidak nol maka isi CX akan ditampilkan pada LED alamat. Terdapat 2 point utama untuk prosedur ini,yang pertama adalah mengirim kontrol word untuk tampilan write RAM ke 8279, sehingga kita dapat menulis pada lokasi yang diinginkan pada tampilan RAM. Kedua adalah proses menutup, dimana kita melakukan shuffle dan menutup untuk mendapatkan tiap nibble ke dalam byte itu sendiri. Kemudian kita menggunakan tabel lookup dan instruksi XLAT untuk melakukan perubahan.

Interface pada 18-segment dan tampilan LED Dot-Matrix
Pada contoh sebelumnya, kita menggunakan 8279 untuk merefresh tampilan 7segment. Kode 7segment tiap digit disimpan di lokasi yang berurutan pada tampilan RAM. Untuk menampilkan kode ASCII pada tampilan LED 18segment, kita dapat menyimpan kode ASCII tersebut di tampilan RAM. External ROM digunakan untuk mengubah kode ASCII ke kode yang diminta oleh 18segment dan mengirimnya ke driver segment. Strobes tiap digit driver dihasilkan saat digunakan untuk tampilan 7segment
Proses refresh tampilan LED 5 by 7 dot matrix adalah a little more komplex, karena pengganti dari semua digit lighting sehingga harus merefresh 1 baris atau 1 kolom saat itu juga pada tiap digit. Untuk menampilkan huruf pada matrix ini, kita mengirim kode untuk kolom pertama ke baris driver dan mengirim kode ke kolom driver untuk menghidupkan kolom tersebut. Selanjutnya matikan kolom pertama, kirim kode ke kolom kedua dan cahaya pada kolom kedua. Mengulangi langkah tersebut sampai semua kolom di refresh dan berputar kembali lagi pada kolom pertama.
Operasi dan Interface Tampilan Liquid Crystal
Operasi LCD
Tampilan liquid crystal diciptakan dengan sandwiching lapisan tipis dari fluida liquid-crystal antara piringan 2 kaca. Umumnya terdapat 2 type LCD, yaitu dynamic scattering dan field effect. Tipe dynamic scattering memperebutkan molekul pada suatu medan atau dasar. Tipe field effect menggunakan polarisasi untuk menyerap cahaya di medan/dasar elektrik, menghasilkan karakter gelap pada background silver abu-abu.
Pada umumnya LCD meminta tegangan 2 atau 3 V antara backplane dan segment untuk menghidupkan segment. Hanya dengan menghubungkan backplane ke ground dan menjalankan segment dengan output dari TTL decoder seperti yang telah dilakukan pada tampilan static RAM.

MENGHUBUNGKAN MIKROKOMPUTER DENGAN NON MULTIPLEXED LCD DISPLAY
ICM 7211M dapat dihubungkan dengan nonmultiplexed seven segment LCD display 4 digit yang mudah dijumpai. Input dari 7211 dapat dihubungkan ke pin/port atau langsung pada bus-bus mikrokomputer. Contohnya, kita dapat mengkoneksikan input CS dengan Y2 yang merupakan output dari decoder 74 LS138. pengalamatan data 4 digit dimulai dari alamat FF10H. Line alamat A2 dihubungkan dengan digit select input (DS2) sementara line alamat A1 dihubungkan dengan input dari DS1. koneksi ini akan menghasilkan bilangan 4 digit yang dialamatkan mulai FF10H. Digit ke 3 akan dialamatkan pada FF12H, digit ke 2 dialamatkan pada FF14H sementara digit ke 1 dialamatkan pada alamat FF16H. Input data dihubungkan dengan 4 jalur yang memiliki logika low pada SDK-86 data bus.
Untuk menampilkan karakter dari digit-digit tersebut satu persatu, dibutuhkan 4-bit kode hexa. ICM7211 akan mengkonversi 4- bit kode hexa tersebut ke bentuk kode yang dapat dibaca oleh seven-segment. Tepi naik dari sinyal input CS menyebabkan kode seven segment di-latch sebagai keluaran dari digit yang dialamatkan tersebut.

MENGHUBUNGKAN MIKROKOMPUTER DENGAN TRIPLEXED LCD DISPLAY
Pada kebanyakan peralatan berbasis mikrokomputer, untuk menampilkan huruf sebaik menampilkan angka dapat digunakan segment 18 digit. Pada segment 18 digit ini, seluruh segment input dihubungkan dengan bus sementara multiplexing dilakukan dengan pendekatan yang disebut triplexing.
Pada metode triplexing tiap digit diumpamakan sebagai sebuah matriks yang terdiri dari 6 baris dan 3 kolom. Tiap digit terdiri dari 6-bit latch untuk menampung 6-bit baris kode dari segment kolom. Kode pada baris di kirim ke seluruh latch dan tiap kolom dari digit dinyalakan/diaktifkan. Pada saat kode baris dari kolom kedua dikirim keluar dari latch, kolom pertama dinonaktifkan dan kolom kedua diaktifkan. Pada saat baris kode dari kolom ketiga dikirim ke digit-digit, kolom ketiga diaktifkan. Pada waktu yang ditentukan satu dari tiga kolom pada tiap display diaktifkan. Inilah yang dimaksud dengan bentuk triplexing. Tidak peduli berapapun digit yang dikoneksikan, hanya tiga kolom yang perlu direfresh. Rata-rata switching triplexing lebih rendah daripada metode LED multiplexing. Intersil ICM7233 merupakan contoh peralatan yang terdiri dari rangkaian yang memerlukan 4 triplexing dan LCD 18 segment. Komponen ini ini dapat dikoneksikan secara langsung pada bus mikrokomputer. Sementara itu untuk menampilkan rangkaian karakter dibutuhkan output 6-bit kode ASCII untuk tiap karakter pada digit alamat yang sesuai pada komponen tersebut. Bagian demonstrasi komponen ini terdiri dari 2 ICM7233, 8 LCD display 18-segment dan PC board. Komponen-komponen tersebut sudah tersedia pada intersil ICM7233 bila kita ingin menambahkannya pada peralatan yang kita buat.

MENGHUBUNGKAN PORT MIKROKOMPUTER DENGAN PERALATAN BERDAYA LISTRIK TINGGI
Sebuah mikrokomputer hanya bisa mensupply daya kurang lebih 5 volt dan arus ground 1 atau 2 mA. Bila kita ingin mengontrol peralatan yang memiliki daya listrik besar seperti lampu, pemanas, solenoid ataupun motor dengan mikrokomputer maka di antara hubungan mikrokomputer dan peralatan tersebut harus dipasang rangkaian interface/penghubung. Beberapa alat serta teknik yang biasanya digunakan untuk menghubungkan mikrokomputer dengan peralatan berdaya listrik tinggi tersebut antara lain :


Penambahan rangkaian Buffer
Salah satu pendekatan yang sering digunakan untuk melakukan buffering pada keluaran yang dihasilkan peralatan berdaya listrik besar adalah dengan menggunakan TTL buffer seperti 7406 hex inverting atau 7407 hex non-inverting.
7406 dan 7407 memiliki keluaran open kolektor jadi kaki kolektor tersebut setiap keluaran 5 Volt harus dikoneksikan dengan resistor. Tiap rangkaian buffer pada 74LS06 dan 74LS07 memiliki arus ground hingga 40 mA. Kita dapat menghubungkan LED dan resistor penghambat arus pada rangkaian seri diantara output buffer dan 5 Volt. Tipe buffer tersebut mudah untuk diaplikasikan pada peralatan. Sementara bila kita hanya membutuhkan buffer untuk satu atau dua port pin maka kita harus menggunakan transistor diskrit.
Transistor Buffer
Transistor dapat dikoneksikan dengan mikroprosesor untuk menyalakan LED atau lampu DC kecil. Untuk memasang transistor tersebut, pertama-tama kita harus menentukan terlebih dahulu berapa arus yang akan dialirkan ke LED, lampu atau peralatan lain. Kemudian tentukan logika yang akan digunakan untuk mengaktifkan peralatan, apakah logika high atau logika low. Penentuan logika ini dilakukan pada port keluaran mikroprosesor.
Jika yang kita menginginkan logika tinggi untuk menyalakan LED maka kita dapat menggunakan transistor NPN karena transistor jenis ini mampu menyimpan arus yang dibutuhkan dan memiliki tegangan breakdown kolektor-emitor yang lebih besar daripada daya yang terpakai sehingga dapat memperkercil daya yang ditimbulkan arus yang mengalir pada peralatan tersebut. Secara garis besar, hal yang harus diperhatikan saat kita memilih transistor apa yang akan digunakan adalah penguatan arusnya. Kita dapat mengeceknya pada datasheet. Jika tidak memiliki datasheet, kenaikan arus dapat diukur dengan beta (perbandingan antara arus kolektor dengan arus basis).
Untuk meng-on atau off-kan peralatan AC bertegangan 110V,220V atau 440V
dengan menggunakan mikrokomputer, kita dapat menggunakan relay mekanik ataupun relay solid state. Dua jenis rangkaian pengontrol ini biasanya terpisah secara elektrik dari saklar. Hal ini harus dilakukan karena bila tegangan AC 110V mengalami hubungan singkat dengan Vcc dari mikrokomputer maka hal itu dapat membakar IC-IC yang ada pada mikrokomputer.
Relay mekanik atau yang biasanya juga disebut kontaktor dapat digunakan pada arus mulai dari beberapa miliampere hingga beberapa ribu miliampere. Kelemahan relay mekanik ini adalah kontak yang dapat mengaktifkan atau menonaktifkan peralatan sangat gampang mengalami oksidasi bila terlalu sering dibuka ataupun ditutup. Oksidasi pada kontak ini menyebabkan arus yang melewati kontak terhambat dan membuat kontak mengalami panas yang berlebihan dan kontak tersebut dapat meleleh. Kelemahan lain dari relay mekanik adalah hanya dapat difungsikan pada level rendah. Bila difungsikan pada level tinggi, relay mekanik akan menghasilkan hambatan listrik yang besar sehingga untuk tegangan level tinggi biasanya digunakan relay solid-state.

Relay Mekanik



Relay Solid State Skematik Relay Solid State
Komponen utama dari rangkaian input pada relay solid-state adalah LED dan resistor. Untuk menyalakan peralatan, kita tinggal mengaktifkan transistor buffer yang akan melewatkan arus yang dibutuhkan sekitar 11 mA melalui LED internal. Cahaya yang dihasilkan LED akan difokuskan ke fototransistor yang terhubung dengan rangkaian kontrol output. Sementara unit input dan unit output terhubung oleh cahaya LED, beberapa ribu volts tegangan diisolasi diantara rangkaian input dan output.
Jika kita mengirimkan sinyal untuk mematikan relay maka arus yang lewat pada periode berikutnya akan menjadi nol. Hal ini menyebabkan hilangnya hampir seluruh hambatan listrik yang disebut interferensi magnetik yang sering terjadi pada tegangan level tinggi.
Keuntungan menggunakan relay solid-state adalah dapat mengurangi hambatan magnetik yang timbul pada tegangan tinggi serta mudah dihubungkan dengan port mikrokomputer. Sementara itu kekurangan relay tipe ini adalah lebih mahal dibandingkan relay mekanik dan kadang terjadinya drop tegangan saat relay dinyalakan. Kelemahan lainnya adalah bila diterapkan pada motor ataupun tipe peralatan pemanas elektronik, relay tipe ini menyebabkan perubahan tegangan yang terlalu cepat sehingga dapat merusak motor maupun peralatan tersebut.
MENGHUBUNGKAN MIKROKOMPUTER DENGAN STEPPER MOTOR (MOTOR BERPUTAR)
Motor stepper merupakan suatu jenis motor yang dapat digunakan untuk memindahkan sebuah benda (beban) dengan jarak perpindahan yang kecil. Berbeda dengan motor biasa yang bergerak dengan putaran yang kontinyu dan mulus, motor stepper bergerak dengan putaran yang kaku. Motor stepper bergerak dari posisi satu ke posisi berikutnya seperti melangkah. Umumnya motor stepper yang sering digunakan memiliki jangkauan langkah putar antara 0.9 derajat hingga 30 derajat.
Motor stepper terdiri dari motor stepper 2 fase dan motor stepper 4 fase. Secara teori, motor stepper kecil dapat dikendalikan dengan mikro kontroller ataupun mikroprosesor. Kenyataannya arus dan tegangan yang dihasilkan mikroprosesor ataupun mikrokontroller masih terlalu kecil sekitar 2-5Volt sementara untuk menggerakkan motor stepper dibutuhkan kira-kira 5-24 Volt. Untuk mengatasinya, kita harus menambahkan rangkaian penggerak seperti rangkaian transistor yang disusun secara Darlington.
Fase-fase motor stepper adalah : sebuah motor stepper digerakkan dari posisi berikutnya dengan mengubah arus yang mengalir pada motor dan terhubung ke masing-masing fase. Pengubahan arus tersebut mempunyai pola atau kombinasi tertentu sesuai apakah motor stepper tersebut merupakan jenis 2 fase atau 4 fase. 4 fase lebih sering dipelajari karena lebih sederhana. Teknik motor stepper ini merupakan teknik yang digunakan untuk mengatasi kekurangan relay solid-state yang tidak menguntungkan bila dioperasikan pada motor. Contoh motor stepper adalah MO61-FD302 milik IMC Magnetics Corp atau Tormax 200 dengan tegangan 5 volt untuk 4 jalur port mikrokomputer.
Beberapa hal yang perlu kita perhatikan sebelum memasang motor stepper pada robot atau peralatan lain adalah pertama pastikan bahwa kita memasang dioda pada rangkaian. Dioda ini berfungsi untuk mencegah kerusakan transistor yang disebabkan oleh tekanan induksi. Langkah kedua adalah menentukan fungsi resistor R1 dan R2. Misalnya saja motor yang akan kita gunakan memiliki tegangan 5,5 V, hal ini berarti kita harus mendesain rangkaian yang dapat dioperasikan pada tegangan emitor transistor sebesar 6,5 V (5,5 V untuk motor dan 1 V untuk melewati transistor). Cara ini akan bekerja maksimal pada level tegangan rata-rata rendah sementara untuk level tegangan tinggi digunakan power supply yang besar serta resistor pembatas arus.
Pada jenis printer-printer kecil seperti printer paralel buatan IBM PC, sebuah mikroprosesor digunakan untuk mengontrol beberapa operasi printer seperti mengontrol head printer serta software yang digunakan untuk motor stepper. Pada beberapa penerapan dimana mikrokomputer utama tidak bisa digabungkan/dihubungkan dengan stepper pengontrol secara langsung maka dapat digunakan stepper pengontrol buatan Cybernetic Microsystems CY525.

Motor Stepper 4 fase

Interface motor stepper ke mikrokontroler dengan pengaturan putaran ke kanan dan ke kiri.

ENKODER MOTOR SHAFT OPTIK
Untuk mengontrol motor yang ada pada peralatan elektronik, sebuah mikrokomputer memerlukan informasi mengenai posisi, arah rotasi serta kecepatan rotasi dari jenis-jenis motor shaft yang ada pada peralatan tersebut. Informasi ini tentunya dalam bentuk digital. Rangkaian yang mampu menghasilkan informasi digital dari tiap motor untuk mikrokomputer disebut enkoder shaft. Ada dua tipe dasar dari enkoder shaft ini yaitu enkoder absolut dan enkoder incremental (pengurangan).
ENKODER ABSOLUT
Tipe ini menghasilkan kode digital yang unik/khas untuk masing-masing beda sudut poros. Enkoder ini memanfaatkan LED dan 4 fototransistor. LED dan fototransistor dimuati secara berlawanan. Keluaran dari 4 fototransistor menghasilkan kode biner yang dibutuhkan. Output dari fototransistor tersebut dapat distabilkan dengan buffer schimtth-trigger dan kemudian dikoneksikan ke port mikrokomputer. Tiap kode biner mewakili posisi anguler selama terjadi rotasi. Jika kita menggunakan disk 4-bit maka disk tersebut dapat dibagi ke dalam 16 bagian sehingga tiap posisi poros sudut dapat diperkirakan berada pada range di sekitar 22,5 derajat. Dalam menerjemahkan kode biner yang dihasilkan, lazimnya digunakan kode Gray untuk mengurangi kesalahan pembacaan. Selain itu, penggunaan kode Gray membuat tiap posisi rotasi dapat digambarkan secara spesifik dengan kode tersebut dan dapat langsung dibaca oleh mikrokomputer. Kelemahan dari enkoder absolut ini adalah lebih membutuhkan banyak detektor, banyak jalur serta agak sulit menyimpan track berisi posisi bila motor mengalami rotasi yang berlipat.
Enkoder ini tersusun dari plat baja yang dipotong dengan bentuk tertentu kemudian ditempelkan di cakram dengan penyekat dimana terpasang kuat dengan poros (shaft). Saat piringan berputar, beberapa kontaknya menyentuh plat baja dan kontak yang lain tidak. Plat baja tersebut terhubung dengan sumber arus listrik, dan masing-masing kontak terhubung ke sensor elektrik. Bentuk potongan baja tersebut dirancang sedemikian rupa sehingga memungkinkan masing-masing posisi poros membentuk kode biner yang unik dimana beberapa kontak terhubung ke sumber arus (Switch ON) dan yang lain tak terhubung (Switch OFF). Kode tersebut dapat dibaca oleh peralatan kontrol seperti mikroprosesor ataupun mikrokontroller untuk menterjemahkan sudut dari poros.
ENKODER INCREMENT
Enkoder ini menghasilkan pulsa dari tiap poros rotasi. Enkoder ini misalnya, dapat dipasangkan pada lengan robot seperti robot badak untuk menentukan posisi dan arah rotasi dari tiap motor pada lengan robot tersebut. Hampir sama seperti pada enkoder absolut, pada enkoder ini LED dan fototransistor dimuati berlawanan. Tiap fototransistor menghasilkan rentetan pulsa selama disk berputar. Pulsa-pulsa tersebut kemudian melewati Schimtt Triger untuk memperkecil sudut.
Untuk menentukan kecepatan rotasi, kita dapat menghitung besarnya pulsa yang timbul pada waktu diantara 2 interupsi. Dengan hitungan sederhana, nilai tersebut dapat diubah ke rpm. Untuk menentukan arah rotasi dapat digunakan hardware ataupun software. Bila menggunakan hardware maka kita membutuhkan flip-flop D. Sementara itu, untuk menentukan posisi motor, kita dapat memperhatikan berapa banyak hole yang ditimbulkan motor sejak bergerak dari posisi awal.
Enkoder increment digunakan ketika metode pengkodean absolut tidak bisa digunakan disebabkan karena ukuran dan bentuk piringan/cakram. Metode ini juga menggunakan piringan / cakram, hanya saja ukurannya lebih kecil dengan jumlah garis radial yang banyak, seperti jeruji roda. Sebuah saklar optik seperti fotodioda menghasilkan pulsa listrik. Kemudian rangkaian kontrol elektronika menghitung pulsa untuk menerjemahkan sudut putar poros.
Sistem ini, dalam bentuk paling sederhana, tidak dapat menghitung sudut absolut dari poros. Sistem ini hanya dapat mengukur perubahan sudut relatif menjadi data yang berubah-berubah seperti posisi poros pada saat power di-ON-kan. Ketidak pastian posisi ini tidak menjadi masalah untuk perangkat input komputer seperti mouse dan trackball. Ketika posisi absolut harus diketahui, maka bisa ditambahkan sensor kedua untuk mendeteksi ketika poros melewati posisi nol. Permasalahan kedua yang bisa muncul di sistem ini adalah tidak dapat menentukan arah putaran poros. Untuk mengatasinya, dengan menambahkan sensor optik menjadi 2 buah sensor yang dipasang pada sudut yang berbeda. Arah putaran dapat diketahui dari hasil pembacaan dua sensor tersebut. Tipe enkoder ini dikenal dengan Quadrature Encoder.