Agus Putranto, dkk TEKNIK OTOMASI INDUSTRI SMK Direktorat Jenderal Manajemen Pendidikan Dasar dan Menengah Direktorat Pembinaan Sekolah Menengah Kejuruan Departemen Pendidikan Nasional Hak Cipta pada Departemen Pendidikan Nasional Dilindungi Undang-undang TEKNIK OTOMASI INDUSTRI Untuk SMK Penulis PUT t : Agus Putranto Abdul Mukti Djoko Sugiono Syaiful Karim Arie Eric Rawung Sodikin Susaat Sugiono PUTRANTO, Agus Teknik Otomasi Industri untuk SMK oleh Agus Putranto, Abdul Mukti, Djoko Sugiono, Syaiful Karim, Arie Eric Rawung, Sodikin Susaat, Sugiono. ---Jakarta : Direktorat Jenderal Manajemen Pendidikan Dasar dan Menengah, Direktorat Pembinaan Sekolah Menengah Kejuruan, Departemen Pendidikan Nasional, 2008. xxiv. 366 hlm Daftar Pustaka : 361-362 Diterbitkan oleh Direktorat Jenderal Manajemen Pendidikan Dasar dan Menengah Direktorat Pembinaan Sekolah Menengah Kejuruan Departemen Pendidikan Nasional Tahun 2008 KATA SAMBUTAN Puji syukur kami panjatkan kehadirat Allah SWT, berkat rahmat dan karunia Nya, Pemerintah, dalam hal ini, Direktorat Pembinaan Sekolah Menengah Kejuruan Direktorat Jenderal Manajemen Pendidikan Dasar dan Menengah Departemen Pendidikan Nasional, pada tahun 2008, telah melaksanakan penulisan pembelian hak cipta buku teks pelajaran ini dari penulis untuk disebarluaskan kepada masyarakat melalui website bagi siswa SMK. Buku teks pelajaran ini telah melalui proses penilaian oleh Badan Standar Nasional Pendidikan sebagai buku teks pelajaran untuk SMK yang memenuhi syarat kelayakan untuk digunakan dalam proses pembelajaran melalui Peraturan Menteri Pendidikan Nasional Nomor 12 tahun 2008. Kami menyampaikan penghargaan yang setinggi-tingginya kepada seluruh penulis yang telah berkenan mengalihkan hak cipta karyanya kepada Departemen Pendidikan Nasional untuk digunakan secara luas oleh para pendidik dan peserta didik SMK di seluruh Indonesia. Buku teks pelajaran yang telah dialihkan hak ciptanya kepada Departemen Pendidikan Nasional tersebut, dapat diunduh (download), digandakan, dicetak, dialihmediakan, atau difotokopi oleh masyarakat. Namun untuk penggandaan yang bersifat komersial harga penjualannya harus memenuhi ketentuan yang ditetapkan oleh Pemerintah. Dengan ditayangkannya soft copy ini akan lebih memudahkan bagi masyarakat untuk mengaksesnya sehingga peserta didik dan pendidik di seluruh Indonesia maupun sekolah Indonesia yang berada di luar negeri dapat memanfaatkan sumber belajar ini. Kami berharap, semua pihak dapat mendukung kebijakan ini. Selanjutnya, kepada para peserta didik kami ucapkan selamat belajar dan semoga dapat memanfaatkan buku ini sebaik-baiknya. Kami menyadari bahwa buku ini masih perlu ditingkatkan mutunya. Oleh karena itu, saran dan kritik sangat kami harapkan. Jakarta, Direktur Pembinaan SMK iii Kata Pengantar Puji syukur kehadirat Alloh, dengan tersusunnya buku Teknik Otomasi Industri ini semoga dapat menambah khasanah referensi khususnya di bidang tekologi industri yang akhir-akhir ini mulai berkembang di Indonesia. Isi buku ini sengaja disajikan secara praktis dan lengkap sehingga dapat membantu para siswa Sekolah Menengah Kejuruan (SMK), mahasiswa, guru serta para praktisi industri. Teknik Otomasi Industri yang selama ini dideskripsikan secara variatif dan adaptif terhadap perkembangan serta kebutuhan berbagai kalangan praktisi industri. Penekanan dan cakupan bidang yang dibahas dalam buku ini sangat membantu dan berperan sebagai sumbangsih pemikiran dalam mendukung pemecahan permasalahan yang selalu muncul didalam disain, pengendalian / pemgontrolan suatu sistem. Oleh karena itu, buku ini disusun secara integratif antar disiplin ilmu yaitu teknik elektronika analog, elektronika daya,teknik digital, pemrograman dan elektronika daya yang saling mendukung sehingga skill yang diperlukan terkait satu dengan lainnya. Secara tuntas, kualitas maupun manajemen proses control standar yang berlaku di tingkat internasional termasuk didalam wilayah pembahasan. Tim penulis mengucapkan terima kasih kepada berbagai pihak yang telah membantu materi naskah serta dorongan semangat dalam penyelesaian buku ini. Kami sangat berharap dan terbuka untuk masukan serta kritik konstruktif dari para pembaca sehingga dimasa datang buku ini lebih sempurna dan implementatif. Jakarta, Juli 2008 Tim Penulis iv DAFTAR ISI KATA PENGANTAR iii DAFTAR ISI iv DAFTAR GAMBAR ix DAFTAR TABEL xxiii BAB I PENDAHULUAN 1.1 1.2 1.3 1.4 1.5 Pengantar Otomasi Sistim Otomasi Arsitektur Sistem Industri Pemakai Sistem Kontrol Industri 1 4 5 8 8 BAB II BESARAN DAN SATUAN 2.1 2.2 Besaran dan Satuan Satuan Dalam Teknik Listrik 11 12 BAB III PRINSIPDASAR LISTRIK DAN ELEKTRONIKA 3.1 3.1.1 3.1.2 3.1.3 3.1.4 3.2 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.3 3.3.1 3.3.2 3.3.3 3.3.4 Struktur Atom Atom dan Muatan Listrik Penghantar Arus dalam Logam Penghantar Arus dalam zat Cair Penghantar Arus dalam Gas Sumber Listrik Tegangan Listrik Arus Listrik Pembangkit Tenaga dan Induksi Pembangkit Tenaga dengan Tenaga Kimia Pembangkit Tenaga dengan Tenaga Panas Pembangkit Tenaga dengan Cahaya Rangkaian Listrik Listrik dalam Rangkaian Tertutup Usaha Listrik Tahanan Listrik (R) Nilai Hantar (G) 15 15 16 17 17 18 18 19 20 21 21 21 22 22 24 25 26 v 3.3.5 Tahanan Jenis ( ρ) 3.3.6 Hantar jenis ( χ ) 3.3.7 Kode Warna Tahanan 3.3.8 Pembagi Arus dan Tegangan 3.3.9 Pengukuran Rangkain 3.3.10 Daya Listrik 3.3.11 Daya Guna (Efisiensi) 3.4 Komponen Listrik dan Elektronika 3.4.1 Kapasitor 3.4.2 Dioda 3.4.3 Transistor 3.5 Operasional Amplifier 3.5.1 Pengenalan OP- AMP 3.5.2 Rangkaian Aplikasi OP-AMP 3.6 ADC 3.7 Dasar Teknik Digital 3.7.1 Aljabar Boolean 3.7.2 Operasi logika dasar AND, OR dan NOT 3.7.3 Operasi logika kombinasi NAND, NOR dan Exclusive OR 3.7.4 Multiplekser 3.7.5 Dekoder 3.7.6 Flip-flop 3.7.7 Memory 3.7.8 Register Geser 3.7.9 Counter 26 27 28 30 42 43 45 47 47 52 61 63 63 65 91 94 94 94 96 98 99 100 104 107 112 BAB IV PRINSIP DASAR SISTEM KENDALI 4.1 4.2 4.3 4.3.1 4.3.2 4.3.3 4.3.4 4.3.4 4.4. 4.4.1 4.4.2 4.4.3 4.4.4 Definisi Perancangan Pengendali Tipe Pengendali Pengendali Tipe-P (Proportional Controller) Pengendali Tipe-I (Integral Controller) Pengendali Tipe-PI (Proportional + Integral Controller) Pengendali Tipe-PD (Proportional + Differential Controller) Pengendali Tipe-PID (Proportional + Integral + Differential Controller) Aplikasi Rangkaian PID dengan OP-AMP Analisis Pengendali PID terbuat dari OP-AMP Metoda Perancangan Pengendali PID Contoh Perancangan Pengendali Pnematik 115 116 116 116 117 118 119 119 120 121 123 124 127 vi BAB V ELEKTRONIKA DAYA 5.1 5.2 5.3 5.3.1 5.3.2 5.3.3 Sejarah Pengertian dan Prinsip Kerja Komponen Elektronika Daya Satu Katup yang tidak dapat dikendalikan (Dioda) Pensaklaran Elektronik melalui sebuah Katup Pensaklaran Elektronik Hubung dan Putus melalui sebuah Katup 5.3.4 Perbandingan kinerja dari MOSFET, IGBT dan BJT 5.3.5 Bentuk Komponen 5.4 Contoh Rangkaian Elektronika Daya 5.4.1 Konverter AC ke AC dengan Pengendalian pemotongan Fase 5.4.2 Penyearah dengan Pengendalian pemotongan Fase 5.4.3 Pengubah daya DC-DC (DC-DC Converter) 5.4.4 Pengubah daya DC ke AC satu Fase (Konverter DC ke AC) 5.4.5 Pengubah daya AC ke AC (Konverter AC ke AC) 132 132 136 136 137 139 142 144 145 145 147 150 153 156 BAB VI MIKROPROSESOR Z-80 DAN MIKROKONTROLER 6.1 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 6.1.6 6.1.7 6.1.8 6.1.9 Mikroprosesor Z-80 Pengontrol Penyimpan Operasi Konfigurasi Mikroprosessor Z 80 Penulisan (write) Data pada Memori Pembacaan (Read) Data dari Memori Flag Pengalamatan Memori ( Penyimpan Program/data ) Programmable Pheriperal Interface (PPI) 8255 (Perantara Pheriperal Terprogram) 6.1.10 Perencanaan Minimal Sistem Z - 80 6.1.11 Sistim Pengalamatan Mikroprosesor Z-80 6.1.12 Perintah Transfer 6.1.13 Perintah untuk Input Output dengan Pengaturan Langsung 6.1.14 Perintah Aritmatika 6.1.15 Perintah Biner AND, OR, EX-OR dan CP 6.1.16 Perintah Putar dan Geser 6.1.17 Perintah Percabangan 6.1.18 Sub Routine (Program Bagian) 6.2 Mikrokontroler 157 157 157 159 160 164 165 165 168 179 185 188 190 197 200 204 207 211 214 217 vii 6.2.1 Algoritma Pemrograman 6.2.2 Arsitektur Mikrokontroller ATmega8535 6.2.3 Fungsi Blok pada masing-masing komponen dalam sistem Mikrokontroller ATmega8535 6.2.4 Membuat Program Mikrokontroller 6.25 Input Output Digital 217 233 240 272 283 BAB VII SENSOR DAN TRANDUSER 7.1 7.1.1 7.1.3 7.1.4 Sensor Sensor Aktif (active sensor) Sensor dengan Perubahan Resistansi Resistor Tergantung Cahaya ( LDR “ Light Dependent Resistor ”) 7.2 Sensor Termocouple 7.2.1 Sensor Suhu 7.2.2 Sensor Temperatur PT100 312 313 313 314 318 318 320 BAB VIII MOTOR 8.1 8.2 8.3 8.4 8.5 Motor DC Magnet Permanen Motor DC Steper Motor DC Brushless Motor DC Servo Motor Linier 322 324 328 329 330 BAB IX KENDALI TEMPERATUR 9.1 Konsep Dasar Kendali Temperatur 9.2 Implementasi Pengendali Temperatur dan Gas 9.2.1 Deskripsi sistem 9.2.2 Blok Diagram Sistem 9.2.3 Rangkaian Kelistrikan 9.2.4 Perangkat Lunak 331 334 334 335 773 339 BAB X FUZZY 10.1 Kontroler Logika Fuzzy (Fuzzy Logic Controller) 10.2 Konsep Dasar Logika Fuzzy 10.2.1 Teori Himpunan Fuzzy (Fuzzy Set Theory) 10.2.2 Fungsi Keanggotaan Fuzzy (Fuzzy Membership Function) 10.2.3 Variabel Linguistik 334 334 334 335 340 viii 10.2.4 Operasi Himpunan Fuzzy 10.2.5 Metode Perancangan KLF 342 342 ix DAFTAR GAMBAR Gambar 1.1. Otomasi Kontrol Industri 2 Gambar 1.2. Penggunaan robot dalam otomasi 3 Gambar 1-3: Sistem Otomasi Direct Digital Control ( DDC ) 6 Gambar 1-4 : Distributed Control System ( DCS ) 7 Gambar 1-5 Sistem kontrol menggunakan PLC berikut panel kontrol otomasi 9 Gambar 1-6 Operator konsol 9 Gambar 1-7 Ruang Kontrol Otomasi 9 Gambar 1-8 Sistem Master Kontrol (ABB) 9 Gambar 3.1 Bagian Suatu Atom 15 Gambar 3.2 Tarik – Menarik Antar Muatan Elektron 15 Gambar 3.3 Pergerakan Elektron Bebas dalam Logam 16 Gambar 3.4 Penghantar Elektron Bebas dan Muatan Positif dalam Suatu Gambar 3.5 Percobaan Penghantar Arus dalam Zat Cair 17 Gambar 3.6 Tegangan Listrik Dari Sumber Listrik Baterai 18 Gambar 3.7 Grafik tegangan 20 Gambar 3.8 Pembangkit Tegangan dengan Induksi 21 Gambar 3.9 Pembangkit Tegangan dengan Tenaga Kimia 21 16 Gambar 3.10 Pembangkit Tegangan dengan Tenaga Panas 22 x Gambar 3.11 Rangkaian Listrik Tertutup 22 Gambar 3.12 Rangkaian Listrik 27 Gambar 3.13 Hubungan Jajar Alat Listrik 33 Gambar 2.44 Rugi Tegangan Dalam Penghantar 37 Grafik 3.14 38 Grafik Pembebanan Sumber Gambar 3.15 Rangkaian Pararel 39 Gambar 3.16 Kesalahan Pengukuran Arus 42 Gambar 3.17 Kesalahan Pengukuran Tegangan 42 Gambar 3.18 Kondensator 47 Gambar 3.19 Energi tersimpan pada Kapasitor 49 Gambar 3.20 Hubungan Jajar Kondesator 51 Gambar 3.21 Hubungan Deret Kapasitor 51 Gambar 3.22 Dioda 52 Gambar 3.23 Dioda Junction 53 Gambar 3.24 Perpindahan elektron pada dioda 54 Gambar 3.25 Kesetimbangan pada Junction dioda 54 Gambar 3.25a Simbol Zener 55 Gambar 3.25b Contoh Konstruksi 55 Gambar 3.25c Cara pemberian tegangan 55 Gambar 3.26 Dioda zener dalam kondisi forward bias 56 Gambar 3.27 Dioda zener dalam kondisi reverse bias 57 Gambar 3.28 Grafik Karakteristik Dioda Zener 57 xi Gambar 3.29 Kurva Tegangan Dioda Zener 59 Gambar 3.30 Penstabil tegangan pada output penyearah 60 Gambar 3.31 Penstabil perlengkapan mobil 60 tegangan pada sumberdaya Gambar 3.32 Hubungan Pemakaian Emiter Bersama 61 Gambar 3.33 Hubungan pemakaian kolektor bersama 63 Gambar 3.34 63 Simbol OP-AMP Gambar 3.35 Rangkaian Dasar OP-AMP 67 Gambar 3.36 Rangkaian OP-AMP “inverting input” 68 Gambar 3.37 Rangkaian “Noninverting Input” ekuivalen OP-AMP dengan 68 Gambar 3.38 Rangkaian inverting input dengan metode arus input mendekati nol 69 Gambar 3.39 Rangkaian “Summing Amplifier” dan Ekuivalen “Virtual ground” 71 Gambar 3.40 Rangkaian “Subtractor” 72 Gambar 3.41 Rangkaian “Subtractor“ dengan 2 OP-AMP 73 Gambar 3.42 Rangkaian OP-AMP sebagai tegangan output (Uo) 74 “buffer”Besarnya Gambar 3.43 Rangkaian Integrator dengan OP-AMP 74 Gambar 3.44 Rangkaian Diferensiator 76 Gambar 3.45 Sumber 77 Rangkaian Tegangan Mengontrol Tegangan Gambar 3.46 Rangkaian Ekuivalen Ideal 77 Gambar 3.47a Rangkaian Tegangan Mengontrol Arus Sumber 78 xii Gambar 3.47b Rangkaian Ekuivalen Ideal 79 Gambar 3.48a Rangkaian Arus Mengontrol Tegangan Sumber 79 Gambar 3.48b Rangkaian Ekuivalen Ideal 80 Gambar 3.49a Rangkaian Arus Mengontrol Arus Sumber 80 Gambar 3.49b Rangkaian Ekuivalen Ideal 80 Gambar 3.50 Daerah Respon Filter Ideal 81 Gambar 3.51a Rangkaian “Low Pass Filter” 82 Gambar 3.52 Karakteristik respon ideal “Low Pass filter” 82 Gambar 3.53 Prinsip rangkaian LPF dengan sistem integrator 83 Gambar 3.54 Rangkaian Filter Aktif Pelalu Frekuensi Tinggi 84 Gambar 3.55 Prinsip rangkaian HPF dengan sistem diferensiator 84 Gambar 3.56 Karakteristik respon ideal “High Pass Filter” 85 Gambar 3.57 Rangkaian Band Pass Filter 86 Gambar 3.58 Karakteristik respon ideal “Band Pass Filter” 86 Gambar 3.59 OP-AMP sebagai Multimeter dc 87 Gambar 3.60 OP-AMP sebagai Multimeter AC 88 Gambar 3.61 OP-AMP sebagai “driver” Lampu 88 Gambar 3.62 OP-AMP sebagai “driver” LED 89 Gambar 3.63 Rangkaian OP-AMP sebagai Amplifier Instrumentasi 90 Gambar 3.64 Diagram koneksi dari IC ADC 0804 91 Gambar 3.65 Operasi NOT 94 Gambar 3.66 Operasi AND 95 xiii Gambar 3.67 Operasi OR 95 Gambar 3.68 Operasi NAND 96 Gambar 3.69. Operasi NOR 97 Gambar 3.70 Operasi EXOR 97 Gambar 3.71 Operasi EXOR yang dibangun dari operasi logika dasar. 97 Gambar 3.72 EXOR dengan tiga masukan 98 Gambar 3.73 Multiplekser dengan empat masukan 99 Gambar 3.74 Dekoder tiga masukan delapan keluaran 99 Gambar 3.75 RS Flip-flop 100 Gambar 3.76. Rangkaian RS Flip-flop dengan gerbang NAND 101 Gambar 3.77 Master-Slave Flip-flop menggunakan NAND 101 Gambar 3.78 Sekuensial temporal untuk master slave flip flop 102 Gambar 3.79 Rangkaian JK Flip flop menggunakan NAND 103 Gambar 3.80 Tabel kebenaran dan simbol JK Flip flop 103 Gambar 3.81 Diagram pulsa JK flip flop ketika masukan J = K = 1 104 Gambar 3.82. Rangkaian D Flip flop menggunakan NAND 104 Gambar 3.83 Tabel kebenaran dan simbol D Flip flop 105 Gambar 3.84. Struktur dasar suatu memory 106 Gambar 3.85. Diagram blok register geser 108 Gambar 3.86 Register geser 4 bit menggunakan JK Flip-flop 109 Gambar 3.87 serial/parallel Register geser untuk paralel/serial atau 110 xiv Gambar 3.88. Register dengan multiplekser pada masukan D flipflop 111 Gambar 3.89 Rangkaian counter 4 bit 112 Gambar 3.90. Diagram pulsa counter 4 bit 113 Gambar 4.1 Proses yang dikendalikan 115 Gambar 4.2 Sistem kendali loop terbuka (Open loop control system) 116 Gambar 4.3 Sistem kendali loop tertutup (Closed loop control system) 116 Gambar 4.4 Diagram Blok Pengendali Tipe-P 117 Gambar 4.5 Diagram Blok Pengendali Tipe-I 118 Gambar 4.6 Diagram Blok Pengendali Tipe-PI 118 Gambar 4.7 Diagram Blok Pengendali Tipe-PD 119 Gambar 4.8 Blok Diagram Transfer Function PID 120 Gambar 4.9 Rangkaian Pengendali PID dengan menggunakan OP-AMP 121 Gambar 4.10 Diagram Blok Pengendali PI Plant Orde 1 124 Gambar 4.11 Rangkaian AND-dua buah katup dihubungkan seri 129 Gambar 4.12 Rangkaian OR-dua buah katup dihubungkan parallel 130 Gambar 4.13 Pengendali proporsional pnematik 131 Gambar 4.14 Diagram blok Pengendali 131 Gambar 5.1 Hubungan antara elektronika daya terhadap daya, elektronik dan kontrol 133 Gambar 5.2 Perubahan bentuk sumber energi listrik 133 xv Gambar 5.3 Contoh aplikasi untuk elektronika daya 134 Gambar 5.4 Blok diagram dasar elektronika daya 135 Gambar 5.5 Simbol Dioda 136 Gambar 5.6 Simbol pensaklaran sebuah katup 137 Gambar 5.7 Simbol Thyristor 138 Gambar 5.8 Simbol Triac 139 Gambar 5.9 Simbol pensaklaran dua katup 139 Gambar 5.10 Simbol Power Mosfet (n-Kanal) 140 Gambar 5.11 Simbol IGBT 141 Gambar 5.12 Simbol Transistor Daya Bipolar (BJT) 141 Gambar 5.13 Bentuk komponen elektronika daya 144 Gambar 5.14 Bentuk komponen elektronika daya berbentuk modul 144 Gambar 5.15 Komponen pemicu elektroda atau gate 145 Gambar 5.16 Blok diagram converter AC ke AC 145 Gambar 5.17 Blok Rangkaian converter AC ke AC 146 Gambar 5.18 Penundaan waktu pada tegangan uS dan uRL 146 Gambar 5.19 Blok diagram converter AC ke DC (Penyearah) 147 Gambar 5.20 Rangkaian Titik tengah tiga pulsa terkendali (M3C) 148 Gambar 5.21 Penyulutan sudut 0o 148 Gambar 5.22 Penyulutan sudut 30o 148 Gambar 5.23 Penyulutan sudut 90o 149 Gambar 5.24 Penyulutan sudut 120o 149 xvi Gambar 5.25 Rangkaian Titik tengah enam pulsa terkendali (M6C) 149 Gambar 5.26 Rangkaian jembatan 6 pulsa terkendali (B6C) 150 Gambar 5.27 Blok diagram konverter DC ke DC (DC Chopper) 150 Gambar 5.28 Rangkaian Konverter DC ke DC (DC Chopper) 151 Gambar 5.29 Arus mengalir saat kondisi katup V menutup 151 Gambar 5.30 Arus tertahan saat kondisi katup V membuka 151 Gambar 5.31 Bentuk gelombang tegangan dan arus pada beban 152 Gambar 5.32 Blok diagram konverter DC ke AC 153 Gambar 5.33 Rangkaian pengubah tegangan DC ke AC dengan model jembatan 153 Gambar 5.34 Katup V1 dan V2 menghantar dan V3 dan V4 menutup 154 Gambar 5.35 Katup V3 dan V4 menghantar dan V1 dan V2 menutup 154 Gambar 5.36 Katup V1 dan V3 menghantar dan V2 dan V4 menutup 154 Gambar 5.37 Bentuk tegangan keluaran 155 Gambar 5.38 Rangkaian DC ke AC tiga fase 155 Gambar 5.39 Blok diagram konverter AC ke AC 156 Gambar 6.1.1 Konfigurasi Mikroprosessor Z 80 160 Gambar 6.1.2 Arsitektur Mikroprosessor Z-80 161 Gambar 6.1.3 Bus Sistem CPU Z-80 162 Gambar 6.1.4 Penulisan Data pada Memori 164 Gambar 6.1.5 Pembacaan Data pada Memori 165 xvii Gambar 6.1.6 Register Flag Mikroprosessor Z-80 166 Gambar 6.1.7 Konfigurasi Pin EPROM 169 Gambar 6.1.8 Rangkaian RAM 6116 170 Gambar 6.19 Rangkaian EPROM 2716 171 Gambar 6.1.10 Rangkaian Dekoder RAM/EPROM 172 Gambar 6.1.11 Konfigurasi Pin PPI 8255 173 Gambar 6.1.12 Rangkaian PPI 8255 175 Gambar 6.1.13 Pengalamatan PPI 8255 pada Minimal Sistem Z80 177 Gambar 6.1.14 Rangkaian Pendekode Pengalamatan Port PPI 178 Gambar 6.1.15 Konfigurasi Rangkaian PPI 8255 179 Gambar 6.1.16 Mode Operasi PPI 8255 182 Gambar 6.17 Format Mode PPI 8255 183 Gambar 6.18 Rangkaian pembangkit detak 186 Gambar 7.42 Rangkaian pembangkit Input Reset 186 Gambar 6.19 Rangkaian Pembangkit Sinyal 187 Gambar 6.1.20 Rangkaian Pembangkit Sinyal 188 Gambar 6.2.1.1 Komponen Utama Komputer 218 Gambar 6.2.1.2 Simbol-simbol program flowchart 220 Gambar 6.2.1.3 Flowchart program tukar isi register 221 Gambar 6.2.2.1 Pinout Atmega8535 235 Gambar 6.2.2.2 Blok Diagram Atmega8535 239 xviii Gambar 6.2.3.1 Diagram Block Arsitektur MCU AVR 240 Gambar 6.2.3.2 Diagram Block AVR CPU General Purpose Working Registers 244 Gambar 6.2.3.3 Peta Memory Program 245 Gambar 6.2.3.4 Peta Memory Data 246 Gambar 6.2.3.5 Rangkaian equivalent pin I/O 249 Gambar 6.2.3.6 Diagram Block Timer/Counter0 8 bit 252 Gambar 6.2.3.7 Diagram Block Timer/Counter1 16 bit 254 Gambar 6.2.3.8 Kalkulator AVR 259 Gambar 6.2.3.9 Diagram Block Timer/Counter2 8 bit 261 Gambar 6.2.3.10 SPI Master-Slave Interconnection 262 Gambar 6.2.3.11 USART Block Diagram 265 Gambar 6.2.3.12 Rangkaian Modul Mikrokontroller Atmega8535 269 Gambar 6.2.3.13 Atmega8535 269 Desaign PCB Modul Mikrokontroller Gambar 6.2.3.14 Layout PCB sisi komponen 270 Gambar 6.2.3.15 Layout PCB sisi solder 270 Gambar 6.2.3.16 PCB Modul Mikrokontroller 271 Gambar 6.2.4.1 Sambungan mikrokontroller dengan computer kabel LPT antara modul 272 Gambar 6.2.4.2 Jendela Editor BASCOM-AVR 273 Gambar 6.2.4.3 Jendela Proses Compiling 274 Gambar 6.2.4.4 Jendela informasi kesalahan 274 xix Gambar 6.2.4.5 Jendela AVR Simulasi 275 Gambar 6.2.4.6 Jendela Hardware Simulasi 276 Gambar 6.2.4.7 Jendela AVR Simulasi dan Hardware Simulasi keduanya aktif 277 Gambar 6.2.4.8 Jendela BASCOM-AVR Option 277 Gambar 6.2.4.9 Kotak pesan 278 Gambar 6.2.4.10 Jendela AVR ISP STK Programmer 278 Gambar 6.2.4.11 Jendela BASCOM-AVR Programming status 279 Gambar 6.2.4.12 Program kedip pada jendela editor BASCOMAVR 280 Gambar 6.2.4.13 Simulasi ketika slider pada posisi minimal 282 Gambar 6.2.4.14 Simulasi ketika slider pada posisi maksimal 282 Gambar 6.2.5.1 Rangkaian Modul Digital Input Output Test 283 Gambar 6.2.5.2 Modul Percobaan Input Output Digital 283 Gambar 6.2.5.3 Modul Percobaan Deretan LED 284 Gambar 6.2.5.4 Rangkaian Modul Lampu Lalu Lintas 286 Gambar 6.2.5.5 Penempatan LED pada Modul Lampu Lalu Lintas 286 Gambar 6.2.5.6 Modul Percobaan Lampu Lalu Lintas 287 Gambar 6.2.5.7 Rangkaian Modul Motor Stepper 288 Gambar 6.2.5.8 Modul Percobaan Motor Stepper 288 Gambar 6.2.5.9 Rangkaian Modul Seven Segment 290 Gambar 6.2.5.10 Modul Percobaan Seven Segment 290 Gambar 6.2.5.11 Rangkaian Modul Analog Input Test 291 xx Gambar 6.2.5.12 Modul Percobaan Analog Input Test 292 Gambar 6.2.5.13 Rangkaian Modul LCD 293 Gambar 6.2.5.14 Modul Percobaan LCD 293 Gambar 6.2.5.15 Rangkaian Modul RTC 295 Gambar 6.2.5.16 Modul Percobaan RTC 296 Gambar 6.2.5.17 Trainer Belt Conveyor 306 Gambar 6.2.5.18 Barang 308 Flowchart Sistim Otomasi Elektronik Sortir Gambar 7.1 Sifat dari sensor berdasarkan klasifikasi 312 Gambar 7.2 Sensor potensiometer 314 Gambar 7.3. Sensor variabel kapasitor 314 Gambar 7.4 Sensor optical encoder 314 Gambar 7.5 Sensor strain gauge 314 Gambar 7.6 Susunan atom pada semikonduktor 315 Gambar 7.7. Karakteristik LDR 316 Gambar 7.8 Simbol LDR (standar IEC) 316 Gambar 7.9 LDR sebagai saklar 317 Gambar 7.10 LDR berfungsi sebagai potensiometer 317 Gambar 7.11 Karakteristik beberapa jenis sensor suhu 318 Gambar 7.12 Perilaku beberapa jenis thermocouple 319 Gambar 7.13 Sensor PT100 320 Gambar 8.1 Rangkaian ekivalen motor DC magnet permanent 322 xxi Gambar 8.2 Transfer function open loop Torsi Motor DC 324 Gambar 8.3 Prinsip kerja motor DC stepper untuk gerakan full step 325 Gambar 8.4 Prinsip kerja motor DC stepper untuk gerakan half step 326 Gambar 8.5 Diagram skema Motor DC brushless 328 Gambar 8.6 Motor DC brushless menggerakan baling-baling pesawat 328 Gambar 8.7 Kutub pada stator motor DC brushless 2 fasa 329 Gambar 8.8 Kontrol kecepatan motor DC servo 330 Gambar 8.9 Motor linear buatan inteldrive 330 Gambar 9.1 Kendali Temperatur Ruang (Variasi 1) 331 Gambar 9.2 Blok Diagram Kendali Temperatur Ruang (Variasi 1) 332 Gambar 9.3 Kendali Temperatur Ruang (Variasi 2) 332 Gambar 9.4 Blok Diagram Kendali Temperatur Ruang (Variasi 2) 334 Gambar 9.5 Blok Diagram Sistem 335 Gambar 9.6 Rangkaian zero and span 336 Gambar 9.7 Rangkaian Penguat Tegangan ( non inverting) 336 Gambar 9.8 Rangkaian Driver Motor DC 337 Gambar 9.9 Rangkaian DAC R-2R 8 Bit 338 Gambar 9.10 Blok Diagram Fuzzy Gas 339 Gambar 9.11 Blok Diagram Fuzzy Temperatur 339 Gambar 10.1 Fungsi Keanggotaan bentuk Segitiga (Triangular) 337 xxii Gambar 10.2 Fungsi Keanggotaan bentuk Trapesium 338 Gambar 10.4 Definisi Himpunan Fuzzy A secara Diagramatik 340 Gambar 10.5 Penafsiran Grafis Variabel Linguistik 341 Gambar 10.6 Struktur Dasar Kontroler Logika Fuzzy 344 Gambar 10.7 Struktur Kontroler Logika Fuzzy dengan Plant 345 Gambar 10.8 Diagram Blok System Kontrol Logika Fuzzy dengan 345 Gambar 10.9 Tanggapan(step response) Sistem Loop Tertutup 346 Gambar 10.10 Fungsi-fungsi Keanggotaan Uniform 351 Gambar 10.11 Penafsiran Grafis Persamaan (10.1; 10.2) dengan α^ dan Rc 357 Gambar 10.12 Penafsiran Grafis Persamaan (10.3) dan (10.4) 358 Gambar 10.13 Interpretasi Grafik Strategi Defuzzifikasi 360 xxiii DAFTAR TABEL Tabel 1-1 : Kelompok Industri Pemakai 8 Tabel 2.1 Satuan dan Besaran Listrik 13 Tabel 3.1 Pembangkitan tegangan 19 Tabel 3.2 Simbol Komponen Listrik 23 Tabel 3.3 Resistor Standard IEC E6,E12 dan E 24 29 Tabel 3.4 Konstanta dielektrik relatif beberapa jenis bahan 48 Tabel 4.1 Simbol-simbol pnematik 128 Tabel 6.2.1.1 Instruksi Mikrokontroller ATmega8535 223 Tabel 3.2.2.1.1 Register Mikrokontroller Atmega8535 242 Tabel 6.2.3.1 Konfigurasi Pin Port 250 Tabel 7.1 Karakteristik jenis thermoCouple. 319 Tabel 7.2 Spesifikasi jenis sensor PT100 320 Tabel 7.3 Data Sheet 321 Tabel 8.1 Formasi tegangan / logika pada motor DC step 327 Tabel 8.2 Formasi double active bit untuk mode putaran full step 327 Tabel 10.1 Prototipe Aturan K LF dengan 3(tiga) Nilai Linguistik 347 Tabel 10.2 Penyempurnaan Aturan KLF dengan 3(tiga) Nilai Linguistik 347 Tabel 10.3 Aturan Kontrol Fuzzy Mac Vicar-Whelan 348 xxiv Tabel 10.4 Beberapa Aturan Implikasi Fuzzy 355 Pendahuluan 1 BAB I. PENDAHULUAN Tujuan Kegiatan Pembelajaran Setelah mengikuti kegiatan pembelajaran pada pokok bahasan ini, diharapkan peserta didik dapat : Memahami proses produksi di industri Memahami sistem otomasi di industri. Memahami arsitektur sistem otomasi di industri. Memahami aplikasi sistem otomasi dalam industri 1.1 Pengantar Otomasi Otomasi (bahasa Greek berarti belajar sendiri), robotisasi atau otomasi industri atau kontrol numerik merupakan pemanfaatan sistem kontrol seperti halnya komputer yang digunakan untuk mengendalikan mesin-mesin industri dan kontrol proses untuk menggantikan operator tenaga manusia. Industrialisasi itu sendiri merupakan tahapan dalam pelaksanaan mekanisasi, dimana konsep mekanisasi tetap mesin-mesin industri dilakukan manusia sebagai operator dengan menempatkan mesin sebagai pembantunya sesuai dengan permintaan kerja secara fisik, yang jelas terjadi penurunan besar-besaran kebutuhan manusia sebagai sensor begitu juga berkaitan dengan mental kerja. Otomasi mampu meningkatkan aturan main dalam era ekonomi global dan meningkatkan pengalaman kerja sehari-hari, misal seorang insinyur dapat mengembangkan penggabungan berbagai ragam perangkat secara otomatis dan dengan bantuan model matematika dan peralatan pengorganisasi untuk membangun sistem yang sangat kompleks sehingga mempercepat pengembangan aplikasi dan kegiatan manusia. Walaupun demikian masih banyak pekerjaan yang harus ditangani oleh manusia, bahkan dengan berkembangnya teknologi otomasi memberikan banyak peluang kerja bagi manusia, yang cocok dengan pemanfaat mata manusia untuk pekerjaan presisi dan akurasi, pemanfaatan telinga manusia, bahkan kebutuhan mutlak tenaga manusia untuk mengidentifikasi dan mencium wewangian yang tidak mungkin dilakukan oleh mesin otomatis. Pengenalan patern manusia, pengenalan bahasa dan kemampuan produksi memang seyogyanya dilakukan oleh insinyur di bidang otomasi. Seorang spesialis hardware komputer, pengguna programmable logic controllers (PLCs), sering menerapkan sistem sinkronisasi aliran input dari sensor dan disesuaikan dengan keadaan aliran output untuk menentukan kondisi aktuator. Hal ini berfungsi untuk keperluan aksi kontrol secara presisi, yang memang menjadi keharusan terkait dengan kontrol hampir di semua proses industri. Pendahuluan 2 Human-machine interfaces (HMI) atau computer human interfaces (CHI), yang lebih dikenal dengan man-machine interfaces, biasanya digunakan untuk berkomunikasi dengan PLC dan komputer lainnya, seperti entering dan monitoring temperatur atau tekanan untuk kontrol otomatis atau untuk kebutuhan respon terhadap kondisi emergensi. Orang yang bertugas dalam pelayanan monitor dan kontrol interface tersebut sering disebut dengan operator stasiun. Bentuk lain pemanfaatan komputer dalam bidang otomasi adalah pada peralatan tes otomatis, dimana otomatis kontrol komputer yang digunakan pada peralatan tes diprogram untuk mensimulasikan pekerjaan manusia sebagai penguji dalam tes manual biasanya dalam bentuk aplikasi. Gambar 1.1. Otomasi Kontrol Industri Hal ini sering merupakan bentuk penyelesaian melalui penggunaan peralatan tes otomatis untuk menentukan urutan secara khusus (biasanya ditulis dalam program komputer), dan sekaligus langsung mengendalikan peralatan tes untuk menyelesaikan tugas tes. Sebagai bentuk akhir otomasi adalah dalam bentuk otomasi software, yaitu pemanfaatan komputer sebagai pencatat makro kegiatan harian pekerja (mouse dan keyboard) sebagai makro pemutaraan balik pada waktu yang akan datang. Pendahuluan Gambar 1.2. Penggunaan (pembuatan mobil) 3 robot dalam otomasi proses Dalam operasional otomasi industri tidak jarang ditemui kegagalan, kerusakan atau gangguan yang harus diantisipasi dalam bentuk perawatan dan pemeliharaan disamping layanan prima dalam instalasi dan setup awal penerapan otomasi industri. Dilihat secara hardware dan software sistem otomasi banyak berhubungan dengan komponen elektronik, program komputer, pengukuran, sensor, aktuator dan sistem pengaturan, oleh karena itu seorang pekerja yang memberikan layanan dan penjaminan kualitas terhadap operasional sistem industri harus memiliki kompetensi di bidang tersebut di atas dilandasi teori dasar dan sikap yang profesional. Pendahuluan 4 1.2 Sistem Otomasi Kemajuan dibidang teknologi terutama pada bidang Elektronika dan teknologi ICT sangat pesat dan ini sangat mempengaruhi kemajuan pada proses produksi di industri, ada tuntutan bagi industri yaitu bekerja cepat, optimnal, jumlah produksi banyak dan ketelitian serta akurasi produk sebagai tuntutan kualitas harus dipenuhi. Untuk memnuhi tuntutan tersebut tidak mungkin dipenuhi apabila masih mengandalkan kemampuan manual dan menggantungkan produksi dari kerja sumber daya manusia yang memiliki keterbatasan ketahanan bekerja dalam waktu yang lama, kerja malam hari, ketelitian dan kesamaan karakteristik hasil produk. Oleh karena itu sistem otomasi elektronika saat ini berkembang sangat pesat baik dari sisi teknologi, konfigurasi, maupun kapasitas dan kemampuannya. Sistem ini sangat universal dan fleksibel sehingga dapat dimanfaatkan oleh industri kecil sampai dengan industri besar di segala bidang dengan cakupan pemakaiannya sangat luas dan beragam. Sistem Otomasi Industri dapat diartikan sebagai sistem dengan mekanisme kerja dikendalikan oleh peralatan elektronik ( electronic hardware ) berdasarkan urutan-urutan perintah dalam bentuk program perangkat lunak (electronic software ) yang disimpan di dalam unit memori kontroler elektronik. Dalam membangun sistem otomasi industri antara hardware, software harus menjadi satu kesatuan dan merupakan sekuensial (urutan) pekerjaan atau sering disebut dengan tahapan, yang meliputi pekerjaan tahap pembangunan yaitu suatu industri dipersiapkan sejak awal yang meliputi perencanaan, persiapan, perakitan , instalasi, pemrograman, inspeksi, komisioning. Selanjutnya pekerjaan tahap operasional dimana sistem otomasi industri sudah siap dioperasikan, sehingga perlu pemeliharaan dan jika terjadi kerusakan perlu dilakukan perbaikan. Oleh karena sistem otomasi industri perkembangan berdasarkan tuntutan kebutuhan sangat tinggi maka sisem otomasi harus senantiasa dikembangkan, sehingga diperlukan pekerjaan tahap pengembangan meliputi perencanaan, persiapan, perakitan, instalasi, pemrograman, inspeksi, komisioning.Otomasi: dapat didefmisikan sebagai teknologi yang berlandaskan pada aplikasi sistem mekanik, elektronik dan komputer. Sering aplikasi otomasi industri dibuat dalam bentuk robot industri, dan robot merupakan komponen utama dalam teknologi otomasi berfungsi sebagai pelaksana pekerjaan yang biasanya dikerjakan oleh buruh, pekerja manusia. Oleh karena robot merupakan mesin yang dibuat dalam pabrik maka ia memiliki kemampuan dan daya tahan bekerja secara terus-menerus tanpa mengenal lelah. Penempatan robot dalam aplikasi otomasi industri hingga saat ini selalu berkembang, dalam aplikasinya robot industri dibuat mulai dari yang sederhana seperti belt konveyer, mesin pengisi minuman, mesin las otomatis sampai aplikasi robot modern untuk pembuatan mobil, pesawat terbang dan pusat tenaga nuklir. Dengan demikian robot dapat diciptakan untuk Pendahuluan 5 menggantikan posisi-posisi pekerja baik dalam bagian produksi dengan program keahlian rendah maupun sebagai pengganti teknisi profesional dengan program keahlian lebih komplek. Ditinjau dari aplikasinya otomasi dapat dibedakan berdasarkan obyek yang harus diselesaikan, yaitu: 1. Tipe tetap yaitu mesin otomatis dibuat khusus untuk menyelesaikan pekerjaan produksi tertentu saja, dan tidak dirancang untuk meyelesaikam produk lainnya. Pada umumnya mesin otomasi jenis ini digunakan untuk produksi dalam jumlah banyak dan dibutuhkan waktu produksi yang cepat akan tetapi sangat ekonomis biaya produksinya dengan efisiensi yang cukup tinggi. 2. Tipe semi tetap: mesin dibuat untuk memproduksi atau menangani satu macam produk atau tugas, namun dalam beberapa parameter (ukuran, bentuk dan bagian produk) dapat diatur secara terbatas. Investasi awal termasuk cukup tinggi, karena mesin masih bersifat khusus. Robot yang mandiri termasuk dalam kategori ini. 3. Tipe fleksibel, mesin dibuat agar dapat digunakan untuk banyak ragam produknya, sistem otomasi lebih bersifat menyeluruh, bagianbagian produk dapat diproduksi pada waktu yang bersamaan. Yang termasuk dalam kategori ini misalnya FMS (Flexible Automation System) dan CIM (Computer Integrated Manufacturing). Robot adalah salah satu pendukung dalam kelompok otomasi ini. Sistem otomasi tidak bisa lepas dengan sistem pengaturan ataupun sistem pengendalian, dan dalam sistem pengaturan tujuan utamanya adalah mengatur dan mengendalikan nilai output tertentu dari sebuah peralatan sehingga mencapai nilai yang dikehendaki. Peralatan yang dikendalikan disebut dengan Plant, peralatan yang mengatur atau mengendalikan disebut dengan kontroler dan nilai yang ingin dicapai disebut dengan input atau setting point. Besaran yang dikendalikan pada sistem pengaturan diantaranya suhu (temperatur), kecepatan, arus dan tegangan listrik, tekanan dst. 1.3 Arsitektur Sistem Arsitektur sistem otomasi elektronika yang dimaksud adalah DDC (Direct Digital Control) dan DCS (Distributed Control System ) yang diperlihatkan pada Gambar 1-3 dan 1-4. Sistem akan semakin kompleks dengan semakin besarnya jumlah variabel proses dan jumlah input / Pendahuluan 6 output ( I/O ) yang digunakan dalam melayani kebutuhan produksi dalam industri. MONITOR KEYBOARD PROCESS CONTROLLER : - Microcontroller - Microcomputer - PLC SERIAL / PARALEL INTERFACE I/O BUS I/O INTERFACE I/O INTERFACE PROCESS / PLANT Gambar 1-3: Sistem Otomasi Direct Digital Control ( DDC ) [1] [1] Karl J. Astrom : Computer Controlled Systems, 2nd Ed., Prentice-Hall, NJ, 1990. Unit yang ada pada DDC merupakan unit peralatan elektronik meliputi : • Peralatan Kontrol Proses (analog dan diskrit) • Peralatan Input dan Output (sensor, aktuator) • Peralatan Instrumentasi • Peralatan Komunikasi Data Disamping itu pada DDC juga dilengkapi dengan unit perangkat lunak : • Operating System Software • Communication Protocol • DDC Application Software Pendahuluan 7 MAIN CONTROL ROOM PROCESS ENGINEERS WORKSTATION PROCESS CONTROL LAB MIS OS OS PROCESS CONTROLLER LOCAL OPERATOR STATION LOCAL AREA NETWORK PROCESS CONTROLLER PROCESS BUS I/O INTERFACE I/O INTERFACE PROCESS BUS I/O INTERFACE I/O INTERFACE I/O INTERFACE I/O INTERFACE PROCESS Gambar 1-4 : Distributed Control System ( DCS ) [2] [2] Karl J. Astrom : Computer Controlled Systems, 2nd Ed., Prentice-Hall, NJ, 1990 ]. DCS dilengkapi dengan unit Sistem DCS, yaitu, Unit Peralatan Elektronik : • Peralatan Kontrol Proses • Peralatan Input dan Output • Peralatan Akuisisi Data • Peralatan Instrumentasi • Peralatan Interkoneksi Unit Peralatan Jaringan Komputer (LAN): • Client & Server Computer • Peralatan Interkoneksi ( NIC, Konektor, Saluran Transmisi, HUB, Modem ) Unit Perangkat Lunak : • Operating System Software ( Computer & LAN ) • Communication Protocol • DCS Application Software • Database & Information System Pendahuluan 8 1.4 Industri Pemakai Pengelompokan industri yang menggunakan sistem DDC dan DCS diperlihatkan pada tabel 1-1, berikut ini: Tabel 1-1 : Kelompok Industri Pemakai SISTEM OTOMASI DCS SISTEM OTOMASI DDC Industri Logam Dasar Industri Obat Industri Konstruksi Logam Industri Pengolahan Makanan Industri Minyak dan Gas Industri Pengolahan Minuman Industri Kimia Industri Kosmetik Industri Peralatan Elektronika Industri Pengolahan Kayu Industri Peralatan Listrik Industri Taman Hiburan Industri Otomotif Gedung Bertingkat Industri Peralatan dan Mesin Produksi Industri Pipa Industri Pesawat Terbang Industri Kapal Laut Industri Telekomunikasi Industri Pengolahan Biji Plastik Industri Gelas dan Keramik Industri Plastik Industri Kertas 1.5 Sistem Kontrol Otomasi Industri Unsur penghubung pengukuran dan elemen kendali paling akhir (output) adalah pengontrol, sebelum adanya penggunaan komputer, pengontrol pada umumnya berupa pengontrol single-loop PID. Hal ini menyebabkan banyaknya produksi pengontrol berupa pengontrol PID dan hanya bisa melaksanakan fungsi kontrol PID, saat kini sebuah pengontrol dapat melakukan banyak hal bagaimanapun permasalahan yang harus diselesaikan, perkembangan terakhir 80 sampai 90% pengontrol PID masih banyak digunakan. Sekarang sudah banyak sistem yang menggunakan diskrit yang dalam implementasinya menggunkan komputer, melalui bahasa pemrograman dapat dibangun sistem kontrol Fuzzy logic, Neural Network, Knowledge base dll. Sudah tentu bahwa sangat sukar untuk katakan pengontrol analog lebih baik daripada pengontrol digital, yang jelas kedua pengontrol dapat bekerja sesuai dengan fungsinya untuk mencapai pekerjaan yang diberikan. Pengontrol Pendahuluan 9 analog didasarkan pada perubahan yang diakibatkan oleh komponen elektrik/mekanik dan menyebabkan perubahan pada proses yaitu dari elemen kendali yang paling akhir. Pada elemen kendali akhir inilah merupakan bagian yang bergerak terus menerus tidak ada batasan waktu selalu memberikarikan tanggapan pada proses, sehingga ada sedikit perubahan selalu pasti ada perubahan pada proses. Berikut beberapa contoh gambar industri yang telah menggunakan sistem kontrol dalam melaksanakan proses produksinya. Gambar 1 -5 Sistem kontrol menggunakan PLC berikut panel kontrol otomasi Gambar 1-6 Operator konsol Gambar 1-7 Ruang Kontrol Otomasi Gambar 1-8 Sistem Master Kontrol (ABB) Komponen Elektronik 11 BAB II. BESARAN DAN SATUAN Tujuan Kegiatan Pembelajaran Setelah mengikuti kegiatan pembelajaran pada pokok bahasan ini, diharapkan peserta didik dapat : Memahami pengertian besaran dan satuan Memahami jenis-jenis besaran dasar dan turunan Memahami simbol-simbol besaran Memahami penyelesaian contoh soal-soal besaran dan satuannya 2.1 Pengertian Besaran dan Satuan Besaran dan Satuan Besaran yang terdapat pada sebuah balok diantaranya yaitu panjang, lebar, tinggi, massa dan berat. Satuan panjang adalah meter (m). Satuan lebar adalah meter (m). Satuan tinggi adalah meter (m). Satuan massa adalah gram (g). Satuan berat adalah Newton (N). Sistem Satuan Sistem Satuan International (SI) secara resmi digunakan di semua negara di dunia, namun dalam praktek sehari-hari beberapa negara (misalnya Amerika Serikat) masih menggunakan sistem satuan non-SI. Satuan dasar Satuan International adalah sebagai berikut : Satuan Dasar Meter (simbol:m) adalah satuan dasar untuk ukuran panjang dalam sistem SI. Satuan ini didefinisikan sebagai jarak yang ditempuh dalam perjalanan cahaya di ruang hampa (vakum) selama 1/299.792.458 detik. Kilogram (simbol:kg), adalah satuan unit SI untuk massa. Satu (1) gram didefinisikan sebagai 1/1000 kilogram. Detik atau sekon adalah satuan waktu , yang didefinisikan sebagai durasi selama 9.192.631.770 kali periode radiasi yang berkaitan dengan transisi dari dua tingkat hyperfine dalam keadaan ground state dari atom cesium-133 pada suhu nol Kelvin. Dalam penggunaan yang paling umum, satu detik adalah 1/60 dari satu menit, dan 1/3600 dari satu jam. Komponen Elektronik 12 Ampere (simbol:A), adalah satuan SI untuk arus listrik. Satu ampere adalah suatu arus listrik yang mengalir, sedemikian sehingga di antara dua penghantar lurus dengan panjang tak terhingga, dengan penampang yang dapat diabaikan, dan ditempatkan terpisah dengan jarak satu meter dalam vakum, menghasilkan gaya sebesar 2 × 10-7 newton per meter. Kelvin (simbol: K) , satuan kelvin didefinisikan oleh dua fakta, nol Kelvin adalah nol absolut (ketika gerakan molekuler berhenti), dan satu Kelvin adalah pecahan 1/273,16 dari suhu termodinamik triple point air (0,01 °C). Mol (simbol: mol) adalah unit dasar SI yang mengukur jumlah bahan. Mol adalah unit penghitungan. Satu mol mengandung partikel sebanyak tetapan Avogadro (sekitar 6,02214 x 1023). Partikel dapat berupa atom atau molekul. Candela (simbol:cd) adalah unit SI yang mengukur kekuatan dari sinar bercahaya yang memberikan arah dari suatu sumber yang mengeluarkan radiasi monochromatic sebesar frekuensi 540 x 1012 hertz. Satuan Turunan Radian (simbol:rad) adalah satuan sudut .Satuan sudut ini pernah masuk dalam kategori satuan tambahan SI yang kemudian kategori ini tidak lagi sejak tahun 1955 dan saat ini radian dianggap sebagai satuan turunan dalam SI. Newton (simbol:N) , satu newton adalah besarnya gaya yang diperlukan untuk membuat benda bermassa satu kilogram mengalami percepatan sebesar satu meter per detik per detik . 1 N = 1 kg.m.s-2 Kecepatan (simbol: v) atau velositas adalah pengukuran vektor dari besar dan arah gerakan. Nilai absolut skalar (magnitudo) dari kecepatan disebut kelajuan (bahasa Inggris: speed). Kecepatan dinyatakan dengan jarak yang ditempuh per satuan waktu. Luas (simbol: A) adalah kuantitas fisik yang menyatakan ukuran suatu permukaan. Satuan luas utama menurut SI adalah meter persegi 2.1.1 SATUAN DALAM TEKNIK LISTRIK Beberapa satuan yang sering digunakan dalam teknik listrik dan elektronika dapat disusun seperti tabel 2.1 di bawah ini. 13 Komponen Elektronik Tabel 2.1 Satuan dan Besaran Listrik Satuan / Besaran Amper ( A ) Satuan dari kuat arus listrik ( I ) . Satuan Dasar Turunan kg . m 2 V . s3 1A =1 Volt ( V ) Satuan dari tegangan listrik ( U ) V = w A 1V =1 kg . m 2 s3. A Ohm ( Ω ) Satuan dari tahanan listrik ( R ) Ω = V A kg . m 2 1 Ω = 1 3 2 s .A Siemens(S) Satuan dari daya hantar ( G ) S= 1 Ω = A V 1 S = 1 s3 . A 2 kg m 2 1 W = 1 kg m 2 s3 Watt ( W ) Satuan dari daya listrik ( P ) W = V x A = J s Joule ( J ) Satuan dari usaha listrik ( Watt = W) 1 J = 1 Nm = 1 Ws = 1 Vas Coulomb ( C ) Satuan dari kapasitas listrik (Q) C = As kg m 2 1J = 1 s2 1 C = 1 As 14 Komponen Elektronik Contoh soal : U = I x R =A x Ω 1. Rumus Jawab : U = I x R = A xΩ kg . m 2 kg . m 2 U = A x 3 2 = 3 s .A s .A 2. Rumus P = I 2 x R = A2 x Ω Pindahkan kedalam satuan dasar . Jawab : P = I2 x R P = A2 x kg m 2 kg . m 2 = s3 . A 2 s3 3. Rumus daya hantar listrik : S = 1 R Tuliskan satuan dasarnya . Jawab : s 3 .A A kg . m 2 S= x = 3 2 V V .s kg.m Komponen Elektronik 15 BAB III. PRINSIP DASAR LISTRIK DAN ELEKTRONIKA Tujuan Kegiatan Pembelajaran Setelah mengikuti kegiatan pembelajaran pada pokok bahasan ini, diharapkan peserta didik dapat : Memahami pengertian muatan listrik Memahami dasar-dasar listrik dan elektronika Menguasai pengukuran listrik dan elektronika Merangkai komponen penguat operasional (OP-AMP) Menguasai konversi analog ke digital dan sebaliknya 3.1 Struktur Bahan 3.1.1 Atom dan Muatan Listrik Bagian suatu atom dA Lintasan 2 dK Lintasan 1 Elektron Inti (Ptoton dan netron Gambar 3.1Bagian Suatu Atom Atom terdiri dari dua bagian yaitu bagian dalam berupa inti bermuatan positif dan pada bagian luar adalah elektron yang bermuatan negatif, dan mengitari inti. Sedangkan inti terdiri dari proton dan neutron. Muatan elektron yang sama jenis saling tolak menolak, muatan yang berlawanan saling tarik menarik. Gambar 3.2 Tarik – Menarik Antar Muatan Elektron Satuan dari muatan listrik : ∆ 1 coulomb(C) = 1 amper sekon (As) = 6,24 x 1018elektron Komponen Elektronik 16 3.1.2 Penghantar Arus dalam Logam Atom-atom di dalam logam tersusun menurut suatu ikatan geometris yang sempurna ( kisi logam ) Kisi logam Gambar 3.3 Kejadian elektron bebas di dalam logam Pergerakan Elektron Bebas dalam Logam Elektron bebas dan muatan positif suatu penghantar Muatan ( ion ) positif yang tidak bergerak Gambar 3.4 Elektron Bebas dan Muatan Positif dalam Suatu Penghantar Pada penghantar yang baik, perak atau tembaga, jumlah elektron bebas sama dengan jumlah atom. Contoh : Kawat tembaga : panjang = 1 m, luas penampang = 1 mm2 berisi kira-kira 85 . 1021 atom. mempunyai elektron bebas. Benda lain seperti kayu, porselen dsb, memiliki elektron bebas sedikit.Bahan ini bukan penghantar listrik, melainkan penyekat listrik. Logam mempunyai elektron-elektron bebas, mereka di dalam penghantar bergerak bebas. Elektron bebas ini berlaku sebagai penghantar listrik. Komponen Elektronik 17 3.1.3 Penghantar arus dalam Zat Cair Pada zat cair tiap-tiap atom atau molekul dapat bergerak bebas Percobaan : Garam Gambar 3.5 Percobaan Penghantar Arus dalam Zat Cair Ketentuan : Air destilasi ( air suling ) adalah bukan penghantar, Dia tidak mengalirkan arus. Dengan menambahkan garam dapur, air destilasi menjadi penghantar dan mengalirkan arus. 3.1.4 Penghantar arus dalam Gas Gas pada suhu normal dan kuat medan listrik kecil adalah bukan penghantar, oleh karena gas bermuatan netral. Untuk mendapatkan sifat hantar listrik, atom gas harus dionisir agar terbentuk ion positif. Ionisasi gas dinamakan plasma. Komponen Elektronik 18 3.2 Sumber Listrik 3.2.1 Tegangan Listrik Penyebab gerakan pada elektron bebas dan ion Untuk menimbulkan tenaga listrik, muatan positif dan negatif pada semua bahan dipisahkan satu sama lain. Muatan yang terpisah ini berusaha menyeimbangkan diri.Kecenderungan untuk seimbang antara muatan yang berbeda dinamakan tegangan listrik. Gambar 3.6 Tegangan Listrik Dari Sumber Listrik Baterai Tegangan listrik yang berhubungan dengan tekanan elektron bebas merupakan penyebab bergeraknya elektron tersebut. Tegangan listrik itu terjadi : a. Antara bagian yang kelebihan dan kekurangan elektron. b. Antara bagian yang kelebihan elektron banyak dan sedikit. c. Antara bagian yang kekurangan elektron banyak dan sedikit. Komponen Elektronik Tabel 3.1 19 Pembangkitan tegangan Keterangan Gambar (percobaan ) Contoh Induksi -Generator dalam kerja tenaga -Mesin penerangan mobil -Dinamo sepeda Pembangkitan tegangan secara kimia Baterai ( elemen galvanis, akumulator ). Korosi elektronika Pembangkitan titik sambungan dua logam yang berbeda Elemen panas ( Thermo elemen ) Sinar yang mengenai foto elemen Pengaruh ( Muatan elektro statis ) Foto cell Sinar film Pemisahan atau gesekan bahan isolasi Mengukur tekanan, Piringan hitam kristal Mikrofon kristal Tekanan pada kristal Otot dan saraf Muatan statik pada bahan plastik Gerakan otot karena tegangan listrik, pembangkitan tegangan listrik. Elektro kardiogram Pemanggil ikan(getaran ) 3.2.2 Arus Listrik Listrik sebagai energi dapat dibangkitkan dari energi yang lain. Energi mekanik, energi kimia dan energi panas dapat membangkitkan energi listrik dapat mengalir melalui bahan penghantar, tetapi tidak semua bahan dapat mengalirkan listrik . Bahan yang memiliki elektronelektron bebas didalamnya, seperti logam, dapat mengalirkan listrik. Kayu tidak memiliki elektron bebas, sehingga tidak mengalirkan listrik. Komponen Elektronik 20 Penghantar yang menghubungkan kutub-kutub sebuah sumber listrik terletak didalam medan listrik . Karena medan listrik inilah elektronelektron bebas di dalam penghantar bergerak dan terjadilah aliran listrik . Aliran listrik yang berasal dari elemen mempunyai arah yang tetap, yaitu dari kutub berpotensial tinggi ke kutub berpotensial rendah, sedang yang berasal dari dinamo arahnya dapat tetap atau tidak . Aliran listrik yang arahnya tetap disebut aliran listrik searah ( DC = direct current ) dan yang arahnya tidak tetap disebut aliran listrik bolak-balik ( AC = alternate current ). Ada dua macam jenis arus a. Arus searah b. Arus bolak-balik Yang dimaksud dengan arus searah bilamana elektron yang bergerak maju secara teratur. Arus bolak balik ini suatu masa elektron yang bergerak maju secara tidak teratur dimana saling terjadi penggantian arah aliran maju atau mundur, selama elektron bergerak maju tegangan akan naik X Volt dan akan berada dalam posisi positif, dalam keadaan diam, tegangan akan menunjukkan 0 Volt dan apabila elektron bergerak mundur tegangan akan turun dan akan berada dalam posisi negatif lihat gambar grafik tegangan. Biasanya penggunaan arus searah untuk peralatan elektronika . Contohnya : Radio , laptop , mesin hitung dsb. Arus bolak-balik banyak digunakan untuk mengoperasikan alat - alat rumah tangga ( TV, mesin cuci, penghisap debu) dan mesin-mesin industri ( mesin bubut, mesin cetak, sabuk berjalan / belt conveyor dlsb). 10v 5v 2 . B . 6 v Gerakkan air secara teratur 0v Gambar 3.7 Grafik tegangan 3.2.3 Pembangkit Tegangan dengan Induksi Medan magnit ialah ruang yang berada di antara kutub utara dan kutub selatan magnit. Apabila lilitan kawat digerakan didalam medan magnit ,atau batang magnit digerakan di dalam lilitan kawat, maka timbul tegangan listrik induksi atau imbas, lihat Gambar 3.8. Komponen Elektronik Gambar 3.8 21 Pembangkit Tegangan dengan Induksi Magnit batang digerakkan bolak-balik di dalam kumparan (lilitan kawat). Di dalam kumparan itu diinduksikan tegangan ( ggl ) bolak-balik. Cara ini digunakan di dalam generator untuk membangkitkan tegangan (membangkitkan ggl). 3.2.4 Pembangkit Tegangan dengan Tenaga Kimia Dua logam yang berlainan, misalnya tembaga dan seng, kita rendam di dalam suatu larutan asam belerang di dalam air. Kedua logam itu yang satu bersifat positif dan yang lain bersifat negatif, jadi antara keduanya terdapat beda potensial. Dapat disebut juga, bahwa di dalam alat ini, yang disebut sel volta, terdapat ggl. Lihat gambar Gambar 3.9 Pembangkit Tegangan dengan Tenaga Kimia Batang tembaga dan batang seng direndam di dalam larutan asam belerang. Antara kedua logam itu terjadi beda tegangan listrik. 3.2.5 Pembangkit Tegangan dengan Tenaga Panas Apabila kedua ujung dua potong kawat logam yang berlainan misalnya tembaga dan besi, kita ikatkan satu sama lain dan kita panasi, maka terjadi penekanan elektron ke bagian kawat tembaga yang dingin. Jadi di ikatan yang panas itu terjadi penarikan elektron dari besi ke tembaga. Sehingga terjadi beda tegangan antara ujung besi dan ujung tembaga yang bebas. Komponen Elektronik 22 Gambar 3.10 Pembangkit Tegangan dengan Tenaga Panas 3.2.6 Pembangkit Tegangan dengan Tenaga Cahaya Beberapa bahan, seperti sodium ( na ), selenium( Se ), potassium ( K ), apabila kena cahaya akan melepaskan sedikit elektron. Sifat ini dimanfaatkan orang untuk membuat sel-foto( photo cell) sebagai pembangkit tegangan listrik .Pembangkit tenaga listrik yang dipakai disatelit Telstar, menggunakan cara ini. sel itu disebut sel matahari (solar cell), karena menerima cahaya matahari dan mengubahnya menjadi tenaga listrik. 3.3 Rangkaian Listrik 3.3.1 Listrik dalam Rangkaian Tertutup Rangkaian sebuah listrik adalah hubungan antar komponen, seperti tahanan, induktor, kapasitor, sumber tegangan, saklar dll. Arus listrik mengalir hanya dalam rangkaian tertutup, sehingga memberikan jalan balik untuk arus. Suatu rangkaian listrik hanya terdiri dari sumber (tegangan atau arus), dan komponen linier (tahanan, induktor, kapasitor), serta unsur distribusi linier (kawat transmisi) sehingg dapat dianalisa secara aljabar dan metoda transformasi untuk mengetahui DC respon, Ac respon serta transient respon. Gambar 3.11 Rangkaian Listrik Tertutup Komponen Elektronik Tabel 3.2 Keterangan Penghantar Baterai Lampu pijar Saklar Induktor Kapasitor 23 Simbol Komponen Listrik Gambar Simbol Komponen Elektronik 24 3.3.2 Usaha Listrik Sebuah setrika listrik dihubungkan dengan sumber tegangan listrik. Elemen pemanas akan membara karena dialiri arus listrik (muatan listrik) dari sumber tegangan menuju ke elemen pemanas. Untuk memindahkan muatan listrik diperlukan usaha listrik sebesar : w = U . Q w = usaha listrik ............................ Wdt (joule) U = tegangan listrik ......................... Volt (V) Q = jumlah muatan listrik ................ Coulomb (C) Q = Ι. t w = U .Ι. t Ι = kuat arus listrik t = waktu ....................... Amper (A) ........................ Detik (dt) P = U . Ι w= P . t P = daya listrik ........... Watt (w) U = Ι . R R = hambatan listrik ..... Ohm (Ω) Sehingga : w = Ι . R .Ι . t w = Ι2 . R . t Satuan usaha listrik yang lain : 1 kWh = 1000 Wh = 1000 . 3600 Wdt = 3,6 . 106 j Konversi usaha listrik terhadap usaha panas dan usaha mekanik : 1 Wdt = 1 joule = 0,24 kal 1 Wh = 3600 j = 864 kal 6 1 kWh = 3,6 . 10 j 3 = 0,102 kgm = 267,2 kgm = 864 . 10 kal = 367200 kgm Komponen Elektronik 25 Untuk menghitung biaya energi yang harus dibayar yaitu mengalikan usaha listrik terpakai dengan tarip listrik. B = w . T B = biaya W = usaha listrik T = tarip ............. kWh ...................... Rp .... / kWh Contoh : Sebuah motor listrik mengambil daya 500 watt, digunakan untuk memindahkan benda seberat 100 kg selama 20 jam. Jika tarip listrik Rp. 150,- / kWh. Hitung : a. Usaha listrik terpakai b. Usaha mekanis c. Biaya yang harus dibayar Jawab : a. w = p . t = 500 . 20 = 10000 Wh w = 10 kWh b. 1 kWh = 367200 kgm w= 10 kWh = 10 . 367200 = 3672 . 103 kgm w = 3677 . 103 kgm c. B = w . T = 10 . Rp. 150,B = Rp.150,- 3.3.3 Tahanan Listrik (R) Tahanan suatu kawat penghantar listrik adalah penghambat bagi elektron-elektron pada saat pemindahannya.Tahanan ini bergantung pada beban ( susunan atom, elektron bebas ), panjang, luas penampang dan temperatur dari suatu kawat penghantar listrik. Satuannya adalah Ohm ( Ω ) . Komponen Elektronik 26 3.3.4 Nilai Hantar (G) Suatu kawat penghantar dengan tahanan kecil, maka kawat tersebut akan menghantar arus listrik dengan baik kawat tersebut memiliki nilai hantar yang besar. Nilai hantar = 1 Tahanan G= 1 R TAHANAN TAHANAN Akan bertambah besar Akan bertambah kecil Makin panjang suatu penghantar dan makin kecil luas penampang- nya, maka material tersebut akan semakin buruk sebagai penghantar Makin berkurangnya panjang suatu penghantar dan makin besar luas penampangnya maka material tersebut semakin baik sebagai penghantar Tahanan suatu penghantar tergantung material, panjang dan luas penampang. R= kepada tahanan jenis suatu ρl A 3.3.5 Tahanan Jenis ( ρ) Tahanan jenis adalah tahanan suatu penghantar pada panjang penghantar 1 m dan luas penampang 1 mm2 dan pada keadaan temperatur 200. 1 Ω . mm 2 Satuan = m Perhatikan nilai ρ pada tabel : ρ dapat bervariasi di dalam hal berikut : Dalam jenis pengerjaan ( Giling, tarik, tuang ) Dalam keadaan murni, Dalam keadaan panas, sebelum dan sesudah pemakaian. Komponen Elektronik 27 3.3.6 Hantar jenis ( χ ) Hantar jenis = Satuan : 1 Tahanan 1 χ = ρ S.m m 2 = mm Ω mm 2 Menghitung tahanan dan nilai hantar 1 R = χ.A G= χ.A 1 Tahanan Listrik suatu penghantar Hubungan tahanan dengan : Panjang, luas penampang dan material dengan keadaan : temperatur konstan mis : 200 C. Gambar 3.12 Rangkaian Listrik Jenis tahanan − Tahanan dengan lapisan karbon. − Tahanan dengan lapisan metaloxid. − Tahanan dengan lapisan metal. − Tahanan kawat. Komponen Elektronik 28 3.3.7 Kode Warna Tahanan Simbol warna pada permukaan tahanan Warna Gelang Gelang 1 2 Polos − − Perak − − Emas − − Hitam 0 − Coklat 1 1 Merah 2 2 Oranye 3 3 Kuning 4 4 Hijau 5 5 Biru 6 6 Ungu 7 7 Abu8 8 abu 9 9 Putih Gelang 3 − 10−2 10−1 100 101 102 103 104 105 106 107 108 109 Gelang 4 ± 20 % ± 10 % ± 5 % − ± 1 % ± 2 % − − ± 0,5 % − − Keterangan : Gelang 1 = 1 angka nilai tahanan Gelang 2 = 2 angka nilai tahanan Contoh: Gelang 3 = 3 Bilangan pengali dikalikan dengan angka bilangan dari gelang 1 dan 2 Gelang 4 = Toleransi tahanan dalam % Contoh: Suatu tahanan dengan lapisan karbon dengan warna dari kiri ke kanan : Kuning − Ungu − Coklat − Emas. Berapakah Tahanan dan Toleransinya ? Jawab : Kuning, Ungu, Coklat, Emas. 4 7 . 10 + 5 % R = 470 Ω + 5 Komponen Elektronik 3.3.7.1 29 Kode Tahanan Standar IEC Tabel berikut adalah harga-harga standar IEC. Nilai tahanan yang ada dalam pasaran ( yang diproduksi pabrik) adalah : kelipatan 10 dari angka yang ditunjukkan dalam tabel. Namun harga terkecil dimulai dari nilai satuan ( 1,0 ) Sebagai contoh : E6, hanya tahanannya dimulai dari : 1,0 ; 1,5 ; 2,2 ; 3,3 ; 4,7 ; 6,8 Ω Nilai tahanan berikutnya adalah perkalian nilai tahanan dasar diatas dengan 10n, dengan n sama dengan bilangan 0 sampai dengan 8. Berikut adalah cara mengetahui urutan tahanan bila kita tidak mengingatnya. Nilai tahanan kelompok E 12 inilah yang banyak terdapat di pasaran bebas dan harus dihafal. Tabel 3.3 E6 1,0 E12 1,0 E24 1,0 1,5 1,2 1,1 1,2 2,2 1,5 1,3 1,5 Urutan berlaku Ω,kΩ dan MΩ Resistor Standard IEC E6,E12 dan E 24 1,8 1,6 1,8 3,3 2,2 2,0 2,2 2,7 2,4 2,7 4,7 3,3 3,0 3,3 3,9 3,6 3,9 6,8 4,7 4,3 4,7 5,6 5,1 5,6 6,8 6,2 6,8 8,2 7,5 8,2 9,1 Komponen Elektronik 30 Contoh : Carilah urutan tahanan pada kelompok E 12. Caranya : 1. nilai awal adalah 2. nilai berikut adalah 1,0 Ω 1 Ω 12 10 = 1,21 1,2 Ω 1,5 Ω 3. 1,2 x 1,2 = 1,44 Æ 4. 1,2 x 1,5 = 1,8 Æ 1,8 Ω 5. 1,2 x 1,8 = 2,16 Æ 2,2 Ω 6. 1,2 x 2,2 = 2,64 Æ 2,7 Ω 7. 1,2 x 2,7 = 3,24 Æ 3,3 Ω 8. 1,2 x 3,3 = 3,96 Æ 3,9 Ω 9. 1,2 x 3,9 = 4,68 Æ 4,7 Ω 10. 1,2 x 4,7 = 5,64 Æ 5,6 Ω 11. 1,2 x 5,6 = 6,72 Æ 6,8 Ω 12. 1,2 x 6,8 = 8,16 Æ 8,2 Ω 3.3.8 Pembagi Arus dan Tegangan 3.3.8.1 Hukum Ohm Bila diantara dua tiitk kita hubungkan dengan sepotong penghantar maka arus listrik mengalir lewat penghantar itu. Arus ini akan mendapatkan didalam penghantar yang disebut tahanan ( R ) dan diukur dalam satuan ohm. Hal ini menimbulkan pemikiran mengenai hubungan antara tegangan ; arus dan tahanan. Telah ditentukan bahwa antara kedua tiitk diatas 1 volt dan tahanan penghantar 1 ohm, maka kuat arus yang mengalir 1 ampere. Jadi tegangan 1 volt itu ialah tinggi tegangan yang dapat mengalirkan arus 1 ampere melalui tahanan 1 ohm. Hukum ohm memperlihatkan hubungan antara tegangan arus dan tahanan listrik. Pada setiap rangkaian listrik hukum ohm selalu berlaku. 31 Komponen Elektronik Rumus Hukum Ohm Pada setiap rangkaian listrik, tegangan adalah perkalian dari kuat arus dengan tahanan. dapat ditulis dengan rumus sbb : U = Ι.R atau Ι = U R atau R = U I Dimana : Ι adalah arus dengan satuan Ampere ( A ) U adalah tegangan dengan satuan Volt ( V ) R adalah tahanan dengan satuan Ohm ( Ω ) Jadi besarnya arus : a. Arus berbanding lurus dengan tegangan. b. Arus berbanding terbalik dengan tahanan. Contoh : 1. Sebuah relai dengan tahanan 40 KΩ, dihubungkan tegangan 48 V, Tentukan besar arus yang mengalir pada relai !. Jawab : Ι = U 48 V = = 0,0012 A = 1,2 mA R 40000 Ω 32 Komponen Elektronik 2. Sebuah koil dengan tegangan 110 V dialiri dengan arus 25 mA. Hitunglah tahanan coil tersebut !. Jawab : Ι = U U 110 V →R= = = 4400Ω R I 0,025 A = 4,4 KΩ 3.3.8.2 Hukum Kirchoff Hukum Kirchhoff I ( Mengenai arus ) Jumlah arus dalam suatu titik percabangan dalam suatu rangkaian adalah sama dengan nol, arus yang masuk dalam titik percabangan sama dengan arus yang meninggalkannya. Jadi jumlah listrik yang masuk, harus sama dengan jumlah listrik yang keluar. 1. Contoh Percabangan pada titik A I2 I1 Gambar 2.38 I3 I4 Hk Khirchoff I Ι1 = Ι2 + Ι3 + Ι4 atau Ι1 − Ι2 − Ι3 − Ι4 = 0 Jadi rumus hukum Kirchhoff Ι : ∑Ι = 0 Dengan perkataan hukum Kirchhoff berbunyi : Jumlah aljabar semua arus dalam titik percabangan itu sama dengan nol. Contoh : 1. Perhatikan gambar dibawah, arus masuk ke tiitk percabangan A lewat dua kawat Ι1 dan Ι2. Dari titik A arus mengalir ke 3 lampu yaitu : Ι3 ; Ι4 ; dan Ι5. Maka bila Ι1 = 3 A ; Ι2 = 4 A ; 33 Komponen Elektronik Menurut hukum Kirchhoff Ι : ∑ Ι = 0 Jadi : Ι1 + Ι2 − Ι3 − Ι4 − Ι5 = 0 3 + 4 − 2 − 3 − Ι5 = 0 [Arus yang masuk ke titk A kita sebut positif dan yang meninggalkannya kita sebut negatif 0] Perhitungan di atas dapat dilakukan sebagai berikut : [ Arus yang masuk = arus yang keluar ] Ι 1 + Ι2 − Ι4 − Ι5 3 + 4 = 2 + 3 + Ι5 7 = Ι5 + 5 Ι5 = 7 − 5 = 2A, meninggalkan titik ercabangan Dari rangkaian listrik di bawah ini berlaku hukum Kirchhoff Ι. Beberapa alat bersama-sama dihubungkan pada satu tegangan, maka tegangan alat-alat itu semua sama, hubungan semacam ini di sebut hubungan jajar. Semua alat listrik pada umumnya dihubungkan jajar pada tegangan yang tersedia. Gambar 3.13 Hubungan Jajar Alat Listrik 34 Komponen Elektronik Sesuai dengan hukum Kirchhoff Ι, dalam titik percabangan A, jumlah angka aljabar arus sama dengan nol. Ι total − Ι1 − Ι2 − Ι3 = 0 total = Ι1 + Ι2 + Ι3 Ι Ι It I31 R3 I2 R2 I1 R1 Us Menurut hukum ohm : Arus dalam masing-masing cabang : Ι1 = U R ; Ι2 = 1 Jadi : ΙJ = U R1 + U R ; Ι3 = 2 U R3 U U + R R 2 3 Harga ketiga tahanan R1 ; R2 ; dan R3 dapat kita ganti dengan satu tahanan pengganti : “Rp”, yang dapat memenuhi persamaan terakhir di atas. Jadi : ΙJ = U RP Dengan masukan ini ke dalam persamaan terakhir di atas, kita hasilkan : U RP = U R1 + U U + R R 2 3 Kalau kedua ruas persamaan ini kita bagi dengan U akan didapatkan : 1 RP = 1 R1 + 1 1 + R R 3 2 atau dapat ditulis : 1 1 = Σ R RP Dengan kata-kata : Dalam satuan rangkaian jajar nilai kebalikan tahanan pengganti sama dengan jumlah nilai kebalikan tahanan-tahanan yang dihubungkan jajar. 35 Komponen Elektronik Karena G disebut daya hantar, sehingga berlaku rumus : Gp = G1 + G2 + G3 atau Gp = ∑G atau dengan perkataan : Daya hantar pengganti dalam rangkaian jajar itu sama dengan jumlah daya hantar masing masing cabang. Contoh : Bila harga tahanan dalam cabang-cabang dalam gambar diatas adalah : R1 = 4 ohm ; R2 = 1,5 ohm ; R3 = 2,4 ohm maka : 1 RP 1 RP 1 RP = = = 1 4 + 3 12 16 12 1 1,5 + + 8 12 1 2,4 + 5 12 R P 12 = 0,75 ohm = 1 16 Dari uraian diatas dapat kita simpulkan : Dalam rangkaian jajar tegangan tiap-tiap alat listrik yang dihubungkan sama. Arus jumlah sama dengan jumlah arus cabang. Nilai tahanan jumlah (tahanan pengganti) lebih kecil daripada harga tahanan cabang yang terkecil. Hukum Kirchhoff II ( Mengenai tegangan ) Arus yang digunakan dalam rangkaian atau jalan-jalan, tersusun dari beberapa unsur yang mempunyai ggl yang tidak sama, begitu pula tahanan dalamnya. Dalam jala-jala yang rumit ( kompleks ) kita tak dapat begitu saja menggunakan peraturan hubungan deret dan hubungan jajar, untuk menyelesaikan persoalan-persoalan. Untuk keperluan ini kita pakai : HUKUM KIRCHHOFF ΙΙ Dalam rangkaian tertutup :Jumlah aljabar dari sumber tegangan dan kerugian tegangan pada suatu rangkaian tertutup sama dengan nol atau ∑U = 0 36 Komponen Elektronik ∑U = 0 U − ΙR1 − ΙR2 = 0 U = 0 U = tegangan sumber ΙR1 dan tegangan ΙR2 = kerugian Pedoman untuk menentukan persamaan-persamaan dari suatu rangkaian tertutup menurut Hukum Kirchhoff’s ΙΙ adalah : * Pada sumber tegangan arah arus dari potensial rendah ke potensial tinggi ( − ke + ) diberi nilai atau tanda positif ( + ). * Pada sumber tegangan arah arus dari potensial tinggi ke rendah ( + ke − ) diberi tanda negatif ( − ) * Arah arus dapat dimisalkan sembarang, dan apabila didapat hasil bertanda negatif berarti arah arus salah. Contoh 1 Tentukan persamaan dari rangkaian di bawah ini : Jawab : ∑U = O Pada bagian abca : U1 − Ι1 R1 − Ι2 R2 + U2 − Ι1 R4 = 0 Pada bagian debcd : − U3 + Ι3 R3 − Ι2 R2 + U2 = 0 Catatan : 37 Komponen Elektronik Dari sumber debcd kita anggap arah arus pada U3 dari ( + ) ke ( − ) sehingga diberi tanda negatif. Sehingga diberi tanda negatif. Kemudian Ι3 R3 diberi tanda ( + ) karena seharusnya arah arus menuju e sesuai dengan sumber ( U3 ). Kemudian pada titik b berlaku hukum Kirchhoff’s ΙΙ yaitu : Ι1 − Ι2 − Ι3 = 0 3.3.8.3 Rugi Tegangan dalam Penghantar Yang dimaksud kerugian tegangan dalam penghantar ialah tegangan yang hilang, atau tegangan yang tak dapat dimanfaatkan : Gambar 2.44 Rugi Tegangan Dalam Penghantar Dalam rangkaian arus : I = U Rp RP = RA−B + RBC + RCD dari titik A ke B terjadi turun tegangan UAB = I . RAB = I . Tahanan penghantar masuk dari titik C − D = terjadi turun tegangan UCD = I . RCD = I Tahanan penghantar keluar ∆U = U − UBC atau ∆U = UAB + UCD Panjang dan penampang kedua penghantar itu sama, jadi tahanannya sama. Tahanan penghantar R = ρ l q 38 Komponen Elektronik Tahanan dua kontrol : 2R = 2 ρ l q Turun tegangan dinyatakan dalam % dari tegangan yang diberikan ∆U =∑% . U = 3.3.8.4 Σ ⋅U 100 Pembebanan Sumber Sumber tegangan dalam keadaan berbeban yang dapat diatur Grafik 3.14 Grafik Pembebanan Sumber Kesimpulan : Semakin besar tahanan beban yang diukur maka besarnya tegangan klem akan semakin kecil. ( lihat grafik ). 39 Komponen Elektronik Contoh Soal : * Sebuah sumber tegangan memberikan 1,5 V dihubungkan pada tahanan 2,5 Ω sedangkan tahanan dalam baterai 0,5 Ω. Hitunglah : a. Arus yang mengalir. b. Tegangan klem ( tegangan pada tahanan luar ). Jawab : U Rd + R a 1,5 = 3 a). I = b). = 1,5 V 0,5 + 2,5 = 0,5 A = Uo − Ι . Rd = 1,5 V − ( 0,5 . 0,5 ) = 1,5 V − 0,25 = 1,25 V 3.3.8.5 Hubungan Jajar Beberapa pemakai alat listrik bersama-sama dihubungkan pada satu tegangan. Hubungan semacam ini disebut : HUBUNGAN JAJAR. Semua alat listrik pada umumnya dihubungkan jajar pada tegangan yang tersedia. Contoh perhatikan percobaan dibawah : Gambar 3.15 Rangkaian Pararel Perhitungan tahanan total ( tahanan pengganti ) 40 Komponen Elektronik R = U = I I U +I 1 2 + I U = U U U + + R R2 R 1 3 R = 3 1 R 1 + 1 1 R 2 + 1 1 1 1 = + + R R 1 R2 R3 3 1 R G = G1 + G2 + G3 Contoh 1 Dua buah tahanan masing -masing R1 = 10 , R2 = 40, dihubungkan secara paralel dengan 200 V, Tentukan tahanan total dan arus yang mengalir pada masing-masing tahanan serta perbandingan Ι1 : Ι2 dan R2 : R1 Jawab : R = Ι = 1 1 1 + R1 R 2 = 1 1 = 1 1 0,1 + 0,025 + 10 40 U 200 V = 25 A = R 8Ω Ι1 = U = 200 V = 20 A R1 8Ω Ι1 = U = 200 V = 5 A R2 40 Ω Kontrol : Ι = Ι1 + Ι2 = 25 A I1 20 A = = 4 I2 5A R1 40 Ω = = 4 R 2 10 Ω Kesimpulan : Tahanan total adalah lebih kecil dari tahanan yang terkecil dari tahanan cabang. Keadaaan arus pada tiap cabang berbanding terbalik dengan tahanan cabang. Pemakaian : Hubungan paralel ( shunt ) untuk mengukur arus dan untuk pemakaian stop kontak yang lebih banyak dalam suatu rangkaian. 41 Komponen Elektronik Contoh 2 Diketahui : Dua buah tahanan R1 = 20 secara paralel. Ditanyakan , R2 = 30, dihubungkan : Tahanan total a). Jawaban secara perhitungan R + R1 R . R2 1 1 1 = + = 2 →R = 1 R1 + R 2 R R 1 R 2 R1 . R 2 R = 20 Ω . 30 Ω 20 Ω . 30 Ω = = 12 Ω 20 Ω + 30 Ω 50 Ω b). Jawaban secara grafik Terapan hubungan campuran pada Perluasan batas ukur Dengan adanya tahanan seri ( tahanan depan ) , batas ukur diperluas . dapat 42 Komponen Elektronik 3.3.9 Pengukuran Rangkaian Pengukuran Tahanan tak langsung ( Pengukuran arus & tegangan ) . Kesalahan rangkaian dalam mengukur arus . Gambar 3.16 Kesalahan Pengukuran Arus UX = U ΙX = Ι - ΙV Rumus RX = U I − IV RX = U U I − RV Kesalahan ukur diabaikan pada tahanan yang kecil . Keterangan : U = Tegangan teratur Ι = Arus terukur ΙV = Arus volt meter RV = Tahanan volt meter Gambar 3.17 Kesalahan Pengukuran Tegangan 43 Komponen Elektronik UX = RX = ΙX = Ι U x UA U − UA U − RA x I = I I Tahanan yang besar Keterangan : U = Tegangan teratur Ι = Arus terukur UA = Tegangan Amperemeter RA = Tahanan Amperemeter . Pengukuran Tahanan Langsung dengan : − Pengukur tahanan ( ohm meter ) − Pengukur isolasi ( contoh induktor ) − Jembatan pengukur tahanan 3.3.10 Daya Listrik Jika sebuah lampu pijar dihubungkan pada sumber tegangan, lampu tersebut akan menyala karena dialiri arus listrik.Untuk memindahkan arus listrik / muatan listrik diperlukan usaha listrik sebesar : w= U . Q w = usaha listrik ........joule = watt detik U = tegangan listrik .................volt ( v ) Q = jumlah muatan listrik ...coulomb ( C ) Q = Ι . t w = U . Ι . t Daya listrik adalah usaha listrik tiap satuan waktu : w = U .Ι . t U .Ι = P= P = U .Ι w t 44 Komponen Elektronik P = daya listrik P = U .Ι ........ watt U = Ι . R 2 P = Ι . R . I = Ι . R P = Ι2 . R R = tahanan / hambatan listrik .... ohm ( Ω ) P = U .Ι = U . Ι = U U2 = R R U R P = U2 R Dari persamaan : P = Ι2 . R Jika R adalah konstan, maka grafik P = ƒ (Ι) dapat digambarkan sebagai berikut : Contoh : R = 1000 Ι ( ma ) P (w) 100 100 200 200 300 300 400 400 500 500 600 600 700 700 800 800 900 900 1000 1000 45 Komponen Elektronik Contoh : Sebuah setrika listrik dayanya 330 w, dihubungkan pada tegangan 220 V. Hitung : a. arus yang mengalir. b. tahanan setrika, dalam keadaan bekerja (nilainya dianggap konstan). Jawab : a) P = U . Ι Ι = P 330 = 1,5 A = U 220 Jadi : Ι = 1,5 A b) R = U 220 = 146,67 Ω = I 1,5 U2 atau P = R R R = U 2 2202 48400 = = R 330 330 = 146,67 Ω 3.3.11 Daya Guna (Efisiensi) Daya guna disebut juga efisiensi adalah perbandingan antara daya keluaran ( output ) dengan daya masukan ( input ). Daya keluaran selalu lebih kecil dari daya masukan, karena selalu timbul kerugian-kerugian. Contoh kerugian-kerugian pada motor listrik : panas , kelembaman dll. Daya guna atau efisiensi dinyatakan dalam persamaan : η = P output P input atau η = Jika dinyatakan dalam persentase : η = P2 x 100 % P1 P2 P1 46 Komponen Elektronik η = daya guna ......... % P2 = daya keluaran P1 = daya masukan Jawab : P1 = 100 watt P1 = 1 HP = 746 watt P 746 η= 2 x 100 % = x 100 % = 74,6 % P1 1000 47 Komponen Elektronik 3.4 Komponen Listrik dan Elektronika 3.4.1 Kapasitor Kapasitor atau disebut juga kondensator adalah alat / perangkat untuk menyimpan muatan listrik untuk sementara waktu. Sebuah kapasitor/kondensator sederhana tersusun dari dua buah lempeng logam paralel yang disekat satu sama lain oleh bahan isolator yang disebut dielektrikum. Jenis kondensator diberi nama sesuai dengan dielektrikumnya, misal : kertas, mika, keramik dan sebagainya. A + B − Gambar 3.18 Kondensator Plat Logam Jika lempeng kondensator/kapasitor dihubungkan pada sumber tegangan DC, terjadi perpindahan elektron dari kutub ( − ) lempeng B dan ke kutub ( + ) lempeng A. Hal ini berlangsung sampai beda potensial antara lempeng A dan lempeng B dengan GGL sumber tegangan DC. Jika hal ini terjadi artinya kondensator sudah bermuatan penuh. B − 3.4.1.1 Kapasitas Kapasitor Kapasitas kapasitor yaitu besarnya muatan listrik yang dapat disimpan tiap satuan beda potensial antara bidang-bidangnya. Dinyatakan dalam persamaan : C= Q U 48 Komponen Elektronik C = kapasitas kapasitor .................... farad ( F ). Q = muatan listrik ............................. coulamb ( C ) U = beda potensial ....................... volt ( V ) Untuk kondensator plat sejajar, kapasitasnya tergantung pada luas dan jarak antara plat serta jenis / macam zat yang berada diantara dua plat tersebut. Dinyatakan dalam persamaan : C=ε A l C = kapasitas kapasitor ........ farad ( F ). A = luas plat .......................... m2 L = jarak antar plat ............... m ε = konstanta dielektrik mutlak Satuan kapasitas kondensator kebanyakan dinyatakan dalam mikro farad = µF = 10−6 F ε = εo . εr εo = Konstanta dielektrik hampa udara = 8,85 . 10−12 εr = konstanta dielektrik relatif ( bahan tertentu ) Dengan demikian konstanta dielektrik mutlak adalah konstanta dielektrik relatif. Kontanta dielektrik relatif yaitu konstanta dielektrik tiap jenis bahan tertentu. Tabel 3.4 Konstanta dielektrik relatif beberapa jenis bahan No Jenis bahan Konstanta dielektrik (εr ) 1 Mika 2,5 − 7 2 Gelas 4−7 3 Air 80 4 Gambar 2,65 5 Lilin 2,25 6 Udara 1 49 Komponen Elektronik 3.4.1.2 Energi Tersimpan pada Kapasitor Untuk memberi muatan pada kapasitor, harus dilakukan suatu usaha. Kondensator yang bermuatan merupakan tempat energi tersimpan. Misalkan muatan positif dalam jumlah kecil berulang - ulang terambil dari salah satu platnya, hingga timbul lintasan sembarang dan berpindah ke plat yang satu lagi. Pada tahap tertentu, ketika besar muatan netto pada salah satu plat sama dengan q, beda potensial n antara kedua plat ialah q / c. Besarnya usaha dω untuk memindahkan muatan dg berikutnya ialah : µA Gambar 3.19 Energi tersimpan pada Kapasitor dw = u . dq = q . dq C Jumlah total usaha : w = ∫d w = ∫ q . dq I = ∫ q . dq C C = I 1 Q2 . . Q2 = C 2 2C karena : u = w = 1 2 Q C Q .Q = u . Q C Æ Q = u . C w = u . u . C = u2 . C w = usaha listrik ................... joule ( j ) u = beda potensial ................... volt ( V ) C = kapasitas kapasitor ................ farad ( F ) 50 Komponen Elektronik Contoh soal : Sebuah kondensator 4,7 µF Hitunglah : dihubungkan pada tegangan 100 V. a. muatan kondensator b. energi kondensator Jawab : a. Q = u . c = 100 . 4,7 . 10−6 Q = 470 . 10−6 C b. w = u . Q = 1 . 100 . 470 . 10−6 2 w = 2350 . 10−6 Ws w = 2350 . 10−6 Joule 51 Komponen Elektronik 3.4.1.3 Hubungan Jajar C1 C2 Gambar 3.20 Hubungan Jajar Kondesator Pada hubungan jajar kondensator menjadikan luas permukaan plat – plat lebih besar, akibatnya kapasitas C menjadi lebih besar. Q = Q1 + Q2 U . C = U.C1 + U.C2 = U ( C1 + C2 ) C = C1 + C2 3.4.1 4 Hubungan Seri Gambar 3.21 Hubungan Deret Kapasitor Pada hubungan deret kondensator, plat-plat menjadi lebih lebar jaraknya, akibatnya kapasitas C menjadi lebih kecil. Dalam hal ini semua kapasitas kondensator sama besar yaitu : C1 = C2 Q = Q1 = Q2 U.C = U1.C1 = U2.C2 52 Komponen Elektronik 3.4.2 DIODA 3.4.2.1 Dasar Pembentukan Dioda Material P Material N +++++ +++++ +++++ _____ _____ _____ Ga mbar Dioda Sebelum Difusi Anoda Katoda Material P Material N ++++_ ++++_ ++++_ +_ ___ +_ ___ +_ ___ Lapis an Pengos ongan Ga mbar Dioda Seb elum Difusi Katoda Anoda Gambar 3.22 Dioda 53 Komponen Elektronik 3.4.2.2 Dioda Zener Semua dioda prinsip kerjanya adalah sebagai peyearah, tetapi karena proses pembuatan, bahan dan penerapannya yang berbeda beda, maka nama-namanya juga berbeda. Secara garis besar komponen elektronika yang terbuat dari bahan semi konduktor sangat ringkas (sangat kecil). Maka hampir-hampir kita tidak bisa membedakan satu sama lainnya. Hal ini sangat penting untuk mengetahui kode-kode atau tanda-tanda komponen tersebut. A. Bahan dasar Bahan dasar pembutan komponen dioda zener adalah silikon yang mempunyai sifat lebih tahan panas, oleh karena itu sering digunakan untuk komponen-komponen elektronika yang berdaya tinggi. Elektronelektron yang terletak pada orbit paling luar (lintasan valensi) sangat kuat terikat dengan intinya (proton) sehingga sama sekali tidak mungkin elektron-elektron tersebut melepaskan diri dari intinya. B. Pembentukan junction pn Pembentukan dioda bisa dilaksanakan dengan cara point kontak dan junction. Namun dalam pembahasan ini fokus pembahasan materi diarahkan pada cara junction. Pengertian junction (pertemuan) adalah daerah dimana tipe p dan tipe n bertemu, dan dioda junction adalah nama lain untuk kristal pn (kata dioda adalah pendekan dari dua elektroda dimana di berarti dua). Untuk lebih jelasnya lihat gambar dibawah ini. p + + + + + + + + + + + + n _ _ _ _ _ _ _ _ _ _ _ _ Gambar 3.23 Dioda Junction Sisi p mempunyai banyak hole dan sisi n banyak elektron pita konduksi. Agar tidak membingungkan, pembawa minoritas tidak ditunjukkan, tetapi camkanlah bahwa ada beberapa elektron pita konduksi pada sisi p dan sedikit hole pada sisi n. Elektron pada sisi n cenderung untuk berdifusi kesegala arah, beberapa berdifusi melalui junction. Jika elektron masuk daerah p, ia akan merupakan pembawa minoritas, dengan banyaknya hole disekitarnya, pembawa minoritas ini mempunyai umur hidup yang singkat, segera setelah memasuki daerah p, elektron akan jatuh kedalam hole. Jika ini terjadi, hole lenyap dan elektron pita konduksi menjadi elektron valensi. 54 Komponen Elektronik Setiap kali elektron berdifusi melalui junction ia menciptakan sepasang ion, untuk lebih jelasnya lihat gambar dibawah ini : Lapisan Pengosongan p n _ + + + _ + + + _ + + + _ _ _ + _ _ _ + _ _ _ + Gambar 3.24 Perpindahan elektron pada dioda Tanda positip berlingkaran menandakan ion positip dan taanda negatip berlingkaran menandakan ion negatip. Ion tetap dalam struktur kristal karena ikatan kovalen dan tidak dapat berkeliling seperti elektron pita konduksi ataupun hole. Tiap pasang ion positip dan negatip disebut dipole, penciptaan dipole berarti satu elektron pita konduksi dan satu hole telah dikeluarkan dari sirkulasi. Jika terbentuk sejumlah dipole, daerah dekat junction dikosongkan dari muatan-muatan yang bergerak, kita sebut daerah yang kosong muatan ini dengan lapisan pengosongan (depletion layer). C.Potensial Barier Tiap dipole mempunyai medan listrik, anak panah menunjukkan arah gaya pada muatan positip. Oleh sebab itu jika elektron memasuki lapisan pengosongan, medan mencoba mendorong elektron kembali kedalam daerah n. Kekuatan medan bertambah dengan berpindahnya tiap elektron sampai akhirnya medan menghentikan difusi elektron yang melewati junction. Untuk pendekatan kedua kita perlu memasukkan pembawa minoritas. Ingat sisi p mempunyai beberapa elektron pita konduksi yang dihasilkan secara thermal. Mereka yang didalam pengosongan didorong oleh medan kedalam daerah n. Hal ini sedikit mengurangi kekuatan medan dan membiarkan beberapa pembawa mayoritas berdifusi dari kanan kakiri untuk mengembalikan medan pada kekuatannya semula. Inilah gambaran terakhir dari kesamaan pada junction : Lapisan Pengosongan _ _ _ + + + Gambar 3.25 Kesetimbangan pada Junction dioda 55 Komponen Elektronik 1. Beberapa pembawa minoritas bergeser melewati junction, mereka akan mengurangi medan yang menerimanya. 2. Beberapa pembawa mayoritas berdifusi melewati junction dan mengembalikan medan pada harga semula. Adanya medan diantara ion adalah ekuivalen dengan perbedaan potensial yang disebut potensial barier, potensial barier kira-kira sama dengan 0,3 V untuk germanium dan 0,7 V untuk silikon. A A K K Gambar 3.25a Simbol Zener Gambar 3.25b Contoh Konstruksi A K _ Gambar 3.25c + Cara pemberian tegangan 3.4.2.3 Sifat Dasar Zener Dioda zener berbeda dengan dioda penyearah, dioda zener dirancang untuk beroperasi dengan tegangan muka terbalik (reverse bias) pada tegangan tembusnya,biasa disebut “break down diode” Jadi katoda-katoda selalu diberi tegangan yang lebih positif terhadap anoda dengan mengatur tingkat dopping, pabrik dapat menghasilkan dioda zener dengan tegangan break down kira-kira dari 2V sampai 200V. a) Dioda zener dalam kondisi forward bias. Dalam kondisi forward bias dioda zener akan dibias sebagai berikut: kaki katoda diberi tegangan lebih negatif terhadap anoda atau anoda diberi tegangan lebih positif terhadap katoda. Dalam kondisi demikian dioda zener akan berfungsi sama halnya dioda penyearah dan mulai aktif setelah mencapai tegangan barier yaitu 0,7V. Disaat kondisi demikian tahanan dioda (Rz) kecil sekali. 56 Komponen Elektronik Sedangkan konduktansi ( ∆I ∆U ) besar sekali, karena tegangan maju akan menyempitkan depletion layer (daerah perpindahan muatan) sehingga perlawanannya menjadi kecil dan mengakibatkan adanya aliran elektron. Untuk lebih jelasnya lihat gambar dibawah ini. depletion layer P _ _ _ + + + A N K + G _ ada aliran elektron Gambar 3.26 Dioda zener dalam kondisi forward bias b) Dioda zener dalam kondisi Reverse bias. Dalam kondisi reverse bias dioda zener kaki katoda selalu diberi tegangan yang lebih positif terhadap anoda. Jika tegangan yang dikenakan mencapai nilai breakdown, pembawa minoritas lapisan pengosongan dipercepat sehingga mencapai kecepatan yang cukup tinggi untuk mengeluarkan elektron valensi dari orbit terluar. Elektron yang baru dibebaskan kemudian dapat menambah kecepatan cukup tinggi untuk membebaskan elektron valensi yang lain. Dengan cara ini kita memperoleh longsoran elektron bebas. Longsoran terjadi untuk tegangan reverse yang lebih besar dari 6V atau lebih. Efek zener berbeda-beda bila dioda di-doping banyak, lapisan pengosongan amat sempit. Oleh karena itu medan listrik pada lapisan pengosongan amat kuat. Jika kuat medan mencapai kira-kira 300.000 V persentimeter, medan cukup kuat untuk menarik elektron keluar dari orbit valensi. Penciptaan elektron bebas dengan cara ini disebut breakdown zener. Efek zener dominan pada tegangan breakdown kurang dari 4 V, efek longsoran dominan pada tegangan breakdown yang lebih besar dari 6 V, dan kedua efek tersebut ada antara 4 dan 6 V. Pada mulanya orang mengira bahwa efek zener merupakan satu-satunya mekanisme breakdown dalam dioda. Oleh karenanya, nama “dioda zener” sangat luas digunakan sebelum efek longsoran ditemukan. Semua dioda yang dioptimalkan bekerja pada daerah breakdown oleh karenanya tetap disebut dioda zener. 57 Komponen Elektronik arus bocor _ _ _ P + + + A N K _ G + Gambar 3.27 Dioda zener dalam kondisi reverse bias Didaerah reverse mulai aktif, bila tegangan dioda (negatif) sama dengan tegangan zener dioda,atau dapat dikatakan bahwa didalam daerah aktif reverse ( sekali dan sebelum aktif ( ∆I ∆U ∆I ∆U ) konduktansi besar ) konduktansi kecil sekali. 3.4.2.4 Karakteristik Zener Karakteristik Dioda zener.Jika digambarkan kurva karakteristik dioda zener dalam kondisi forward bias dan reverse bias adalah sebagai berikut. I forward ( m A ) daerah tegangan tem bus forward ( v ) Revers e ( V ) titik tegangan linier I revers e Gambar 3.28 Grafik Karakteristik Dioda Zener Harga Batas Harga batas yang di maksud dalam pembahasan ini adalah suatu keterangan tentang data-data komponen dioda zener yang harus di penuhi dan tidak boleh dilampaui batas maximumnya dan tidak boleh berkurang jauh dari batas minimumnya. Komponen Elektronik 58 Adapaun harga batas tersebut memuat antara lain keterangan tentang tegangan break down ( Uz ) arus maximumnya dioda zener ( Iz ) tahanan dalam dioda zener ( Rd ). Semua harga komponen yang terpasang pada dasarnya akan mempunyai 2 kondisi yaitu : 1. Kondisi normal , sesuai dengan ketentuannya 2. Kondisi tidak normal , tidak sesuai dengan ketentuannya. a. Mungkin kurang dari ketentuannya b. Mungkin melebihi ketentuannya Keterangan : Uz = Tegangan Break down Zener rdiff = Tahanan beda fasa Izt = Arus Zener Rzt =Tahanan Zener Irmax = Arus Reverse Maximum Ur = Tegangan Reverse Izm = Arus Zener Maximum Tegangan Breakdown dan Rating Daya Pada Gambar 2.96 menunjukkan kurva tegangan dioda zener . Abaikan arus yang mengalir hingga kita mencapai tegangan breakdown Uz . Pada dioda zener , breakdown mempunyai lekukan yang sangat tajam, diikuti dengan kenaikan arus yang hampir vertikal. Disipasi daya dioda zener sama dengan perkalian tegangan dan arusnya , yaitu : Pz = Uz x Iz Jika Uz = 12 dan Iz = 10 mA Pz =1,2 x 0,01 = 0,12 W Selama Pz kurang daripada rating daya PZ(max), dioda zener tidak akan rusak. Dioda zener yang ada di pasaran mempunyai rating daya dari 1/4 W sampai lebih dari 50 W . 59 Komponen Elektronik IZM = PZ ( max ) VZ Uz U IzT IzM Gambar 3.29 Kurva Tegangan Dioda Zener Impendansi Zener Jika dioda zener bekerja dalam daerah breakdown, dengan tambahan tegangan sedikit menghasilkan pertambahan arus yang besar. Ini menandakan bahwa dioda zener mempunyai impedansi yang kecil. Kita dapat menghitung impedansi dengan cara : ZZ = ∆u ∆i Sebagai contoh, jika kurva menunjukkan perubahan 80 mV dan 20 mA, impedansi zener adalah : ZZ = 0,08 = 4Ω 0,02 Lembar data menspesifikasikan impedansi zener pada arus tes yang sama di gunakan untuk Uz . Impedansi zener pada arus tes ini diberi tanda ZZT. Misalnya, 1N3020 mempunyai Uz =10 V dan ZZT = 7Ω untuk IZT = 25 mA . Contoh Penerapan Dioda Zener Sesuai dengan sifat-sifat yang dimiliki, dioda zener dapat digunakan sebagai penstabil ataupun pembagi tegangan . Salah satu contoh adalah ditunjukkan Gambar 3.30. . 60 Komponen Elektronik 16V l 14V l 12V RS 5V l 4V l 3V + Tegangan dari filter _ IRL IZ 10V ZD RL 10V Gambar 3.30 Penstabil tegangan pada output penyearah +12V 12V 10W PERLENGKAPAN MOBIL _ Gambar 3.31 Penstabil tegangan pada sumberdaya perlengkapan mobil Dioda Zener yang melindungi pemancar ( transceiver ) di dalam mobil , terhadap loncatan-loncatan tegangan. Adapun cara kerja rangkaian di atas adalah sebagai berikut : 1. Bila dioda Zener yang kita pilih memiliki tegangan tembus sebesar 10 Volt , lihat gambar di atas, berarti tegangan keluaran yang diperlukan adalah sebesar 10 V stabil . 2. RS gunanya untuk membatasi tegangan yang masuk dalam rangkaian dan RL untuk beban atau keluaran yang kita ambil tegangannya . 3. Seandainya tegangan masukan ( tegangan dari filter ) naik , misalkan 16 Volt maka tegangan yang diturunkan oleh RL juga akan naik misalkan sebesar 12 Volt . Maka dioda zener akan menghantar . Arus akan terbagi dua , yaitu lewat RL dan Zd . Sedangkan dioda zener mempertahankan tegangan sebesar 10 Volt dan karena dioda ini di pasang paralel dengan RL maka dengan sendirinya tegangan output akan tetap sebesar 10 Volt . 61 Komponen Elektronik 4. Selanjutnya apabila tegangan masukan turun maka tegangan yang di drop oleh RS akan kurang dari 4 Volt dan tegangan yang diturunkan oleh RL akan kurang dari 10 Volt . Hal ini mengakibatkan dioda zener menyumbat dan arus hanya mengalir lewat RL saja . Dengan sendirinya tegangan keluaran akan turun. 5. Kesimpulannya adalah bahwa tegangan keluaran tidak akan melebihi dari 10 Volt tetapi dioda zener tidak menjamin tegangan tetap sebesar 10 Volt bila tegangan masukan dari filter itu turun . 3.4.3 Transistor 3.4.3.1 Hubungan Dasar Transistor Hubungan Basis Hubungan Pemakaian bersama : basis Besaran masukan : IE , UEB Besaran keluaran : IC , UCB Perbandingan pembawa arus simbol yang lain : arus ( mengenai titik kerja ) p = ∆I C ∆IE :hfb , h2Ib , fb Dengan hubungan basis , besarnya tegangan diperluas , tetapi tanpa penguatan arus . Hubungan Emiter Hubungan pemakaian bersama : Emiter R + IB + _ UBE IE UCE _ Gambar 3.32 Hubungan Pemakaian Emiter Bersama 62 Komponen Elektronik Besaran masukan: IB , UBE Besaran keluaran: IC , UCE Penguatan arus : dari basis (masukan) ke kolektor (keluaran) Perbandingan pembawa arus : ∆I C ∆IB ( Penguatan arus ) adalah : IE = IB + IC ; IB = IE-IC → ∆ IB = ∆ IE - ∆ IC atau : ∆ IE = ∆I C p ∆I C -∆-I p 1- p =∆I C ( ) p ∆I C p = ∆ I B 1- p ∆I Juga : B = penguatan arus β = C =∆I C ( 1 - 1) p Penguatan Arus ∆I C ∆IB Simbol yang lain : hFE , H 21e , p FE Penguatan arus searah Β = IC IB Simbol yang lain : hFE , HFE , p FE Dengan hubungan emiter dimaksudkan untuk memperkuat tegangan dan arus ! Hubungan Kolektor ( cc ) atau emiter penghasil Hubungan pemakaian bersama : kolektor Berlawanan fungsi atau sifat - sifatnya dengan hubungan basis . 63 Komponen Elektronik -(U-UBC) IE IB _ _ -U + IC + -UBC -UEC Gambar 3.33 Hubungan pemakaian kolektor bersama Besaran masukan : IB , UBE Besaran keluaran : IE , UEC Pembawa arus : dari basis (masukan) ke emiter (keluaran) Hubungan kolektor atau emiter menghasilkan terjadinya penguatan arus tetapi tanpa penguatan tegangan ( pelemahan ). 3.5 Operasional Amplifier (OP - AMP) 3.5.1 Pengenalan OP- AMP Penguat operasi (“operational amplifier”) atau sering disingkat dengan OP-AMP merupakan komponen-komponen linier yang terdiri atas beberapa komponen diskrit yang terintegrasi dalam bentuk “chip” (IC: Integrated Circuits). OP-AMP biasanya mempunyai dua buah input, yaitu input pembalik (inverting input) dan input bukan pembalik (non-inverting input), serta satu buah output. (Ui 1) Non Inverting Input Uo (Ui 2) Output Inverting Input Gambar 3.34 Simbol OP-AMP 64 Komponen Elektronik Input OP-AMP bisa berupa tegangan searah maupun tegangan bolakbalik. Sedangkan output OP-AMP tergantung input yang diberikan. Jika input OP-AMP diberi tegangan searah dengan input “non-inverting” (+) lebih besar daripada input inverting (-), maka output OP-AMP akan positif (+). Sebaliknya, jika input “noninverting” (+) lebih kecil daripada input “inverting” (-), maka output OP-AMP akan negatif (-). Jika input OP-AMP diberi tegangan bolak-balik dengan input “noninverting” (+), maka output OP-AMP akan sefase dengan inputnya tersebut. Sebaliknya jika input “inverting” (-) diberi sinyal/tegangan bolakbalik sinus, maka output OP-AMP akan berbalik fase terhadap inputnya. Dalam kondisi terbuka (open) besarnya tegangan output (Uo) adalah: Uo = AoL (Ui1 – Ui2) Keterangan: (1.1) Uo = Tegangan output AoL = Penguatan “ open loop “ Ui1 = Tegangan input Non Inverting Ui2 =Tegangan input Inverting Parameter OP-AMP Pada keadaan ideal OP-AMP mempunyai sifat- sifat yang penting, yaitu: 1. Open loop voltage gain (AoL). Penguatan tegangan pada keadaan terbuka (open loop voltage gain) untuk frekuensi rendah adalah sangat besar sekitar 100.000 atau sekitar 100 dB. 2. Input impedance (Zin) Impedansi input pada kedua terminal input kondisi “open loop” tinggi sekali, sekitar 1 MΩ untuk OP-AMP yang dibuat dari FET, impedansi inputnya sekitar 10,6 MΩ. 3. Output impedance (Zo) Impedansi output pada kondisi “open loop” rendah sekali, sekitar 100 Ω. 4. Input bias current (Ib) Kebanyakan OP-AMP pada bagian inputnya menggunakan transistor bipolar, maka arus bias pada inputnya kecil. Level amplitudonya tidak lebih dari mikroampere. 5. Supply voltage range (Us) Tegangan sumber untuk OP-AMP mempunyai range minimum dan maksimum, yaitu untuk OP-AMP yang banyak beredar di lapangan/di pasaran sekitar 3 V sampai 15 V. Komponen Elektronik 65 6. Input voltage range (Ui max) Range tegangan input maksimum sekitar 1 volt atau 2 volt atau lebih di bawah tegangan sumber Us. 7. Output voltage range (Uo max) Tegangan output maksimum mempunyai range antara 1 volt atau 2 volt lebih di bawahnya tegangan sumber (supply voltage) Us. Tegangan output ini biasanya tergantung tegangan saturasi OP-AMP. 8. Differential input offset voltage (Uio) Pada kondisi ideal output akan sama dengan nol bila kedua terminal inputnya di-ground-kan. Namun kenyataannya semua peranti OP-AMP tidak ada yang sempurna, dan biasanya terjadi ketidakseimbangan pada kedua terminal inputnya sekitar beberapa milivolt. Tetapi jika input ini dibiarkan untuk dikuatkan dengan OP-AMP dengan model “closed loop”, maka tegangan output bisa melebihi saturasinya. Karena itu, biasanya setiap OP-AMP pada bagian luar dilengkapi dengan rangkaian offset tegangan nol (zero offset voltage). 9. Common mode rejection ratio (CMRR) Secara ideal OP-AMP menghasilkan output yang proporsional dengan/terhadap beda kedua terminal input, dan menghasilkan output sama dengan nol jika sinyal kedua input simultan yang biasa disebut “Common mode”. Secara praktik sinyal “Common mode” tidak diberikan pada inputnya dan dikeluarkan pada outputnya. Sinyal CMRR (Common Mode Rejection Ratio) selalu diekspresikan dengan rasio dari penguatan sinyal beda OP-AMP dengan harga sebesar 90 dB. 10. Transition frequency (fT) Secara umum OP-AMP pada frekuensi rendah mempunyai penguatan tegangan sekitar 100 dB. Kebanyakan OP-AMP mempunyai frekuensi transisi fT setiap 1 MHz dan penguatan pada harga sebesar 90 dB. 3.5.2 Rangkaian Aplikasi OP-AMP 3.5.2.1 Pendahuluan OP-AMP dalam praktiknya dirangkai dengan konfigurasi yang bermacammacam dan dalam kondisi “closed loop” mempunyai penguatan yang sangat tinggi (very high) dan hanya untuk sinyal yang lebih kecil (dalam orde mikrovolt atau lebih kecil lagi) dengan frekuensi yang sangat rendah dikuatkan secara akurat tanpa distorsi. Untuk sinyal-sinyal yang sekecil ini sangat mudah terkena noise dan tak mungkin didapatkan pada suatu laboratorium. Komponen Elektronik 66 Di sisi lain penguatan tegangannya selain besar, juga tidak konstan. Penguatan tegangannya bervariasi dengan perubahan suhu dan sumber daya (sumber tegangan). Variasi penguatan tegangan ini relatif besar untuk kondisi “open loop”, sehingga untuk penggunaan atau aplikasi rangkaian linier tak mungkin. Hal ini disebabkan kebanyakan aplikasi linier outputnya proporsional terhadap inputnya dari tipe OP-AMP yang sama. Dengan alasan di atas maka OP-AMP kondisi “open loop” secara umum tidak digunakan dalam aplikasi linier. Untuk mengatasi hal di atas, maka dilakukan dengan memodifikasi rangkaian dasar OP-AMP, yaitu dengan tujuan mengontrol penguatannya. Modifikasi rangkaian dasar ini adalah dengan menerapkan penggunaan umpan balik (“feedback”), yaitu sinyal pada output diumpanbalikkan ke input secara langsung melalui jaringan atau peralatan lain. Klasifikasi umpan balik (“feedback”) ada dua macam, yaitu: • Umpan balik negatif/degeneratif (negative feedback) • Umpan balik positif/regeneratif (positive feedback) Umpan balik negatif (negative feedback) sering disebut “degenerative” karena mereduksi amplitudo tegangan output yang sekaligus akan mereduksi penguatan tegangan dan biasanya berbalik fase terhadap inputnya. Namun untuk umpan balik positif (positive feedback) sering disebut “regenerative”, karena pada outputnya akan selalu besar amplitudonya, dan outputnya sefase terhadap inputnya, maka sangat sesuai digunakan sebagai rangkaian osilator. 67 Komponen Elektronik 3.5.2.2 Rangkaian dasar Pada dasarnya OP-AMP mempunyai penguatan tegangan dan impedansi input yang sangat tinggi dan impedansi output yang rendah (lebih kecil dari 100Ω) dan tergantung pada beban. a. Simbol OP-AMP Ro ii Ui 2 + Uid Ri + Au Uid - RL Uo Ui1 - b. Rangkaian ekuivalen OP-AMP Gambar 3.35 Rangkaian Dasar OP-AMP Penguatan tegangan untuk loop terbuka (open loop) adalah: AUOL AUOL Uid UO U id = penguatan tegangan “open loop” = tegangan input beda kedua terminal (Ui1 – Ui2) 3.5.2.3 Input Pembalik (Inverting Input) OP-AMP dengan metode input pembalik (inverting input) seperti Gambar 3.36 ini mempunyai input pada terminal inverting (-) dan terminal noninverting dihubungkan ke ground (sebagai “common”) dan terminal output diukur terhadap ground. 68 Komponen Elektronik if ii + Rf iid R1 - + Uid Ui Uo - - + OP-AMP + - Gambar 3.36 Rangkaian OP-AMP “inverting input” 3.5.2.4 Input Bukan Pembalik (Noninverting Input) Rangkaian OP-AMP dengan input bukan pembalik (noninverting input) dengan sistem pengali penguatan yang konstan. Untuk menentukan penguatan tegangan dari rangkaian OP-AMP ini terlebih dahulu direpresentasikan dalam bentuk rangkaian ekuivalen (lihat Gambar 2.227). + Op Amp Ui Uo R1 Rf Rangkaian OP-AMP “Noninverting Input” Uid=0 Ui R1 Rf Uo Gambar 3.37 Rangkaian ekuivalen OP-AMP dengan “Noninverting Input” 69 Komponen Elektronik Dari rangkaian ekuivalen didapatkan: Untuk: Uid = 0. UI R1 R1 RF .U O UO R1 RF UI R1 1 RF R1 Karena penguatan tegangan AU Au UO UI 1 UO UI ,maka RF R1 Atau dengan cara lain dapat ditentukan secara langsung dengan membuat arus input OP-AMP mendekati 0. + Uid - Ui Ui i1 if Rf Uo i R1 Gambar 3.38 Rangkaian inverting input dengan metode arus input mendekati nol Jika Ui positif, Uo didapat positif pula dan akibatnya i juga positif. Tegangan U1 = I . R1, dan arus yang menuju terminal input noninverting adalah mendekati nol. Sehingga arus yang lewat R1 dan RF harus identik, maka didapatkan persamaan: 70 Komponen Elektronik UO U1 U1 RF R1 Maka UO U1 RF U1 R1 iF = i U O U 1 RF U1 R1 UO U1 UO U1 ,KarenaAU U1 1 1 U0 Ui RF R1 RF R1 Karena arus input ke terminal “noninverting input” dianggap mendekati nol, maka Uid 0, sehingga didapatkan Ui = U1. UO UO RF AU 1 U1 UI R1 71 Komponen Elektronik 3.5.2.5 Penguat Penjumlah (Summing Amplifier) Salah satu penggunaan rangkaian OP-AMP adalah pada penguat penjumlah (summing amplifier). Rangkaian penguat ini penguatan tegangan ditentukan oleh resistor (tahanan) pada masing-masing input dan tahanan umpan baliknya. Gambar berikut (Gambar 3.39) menunjukkan rangkaian penguat penjumlah. Rangkaian ini dianalisis dalam bentuk operasi fungsi linier. R1 U1 R2 U2 - R3 U3 Uid O p Amp Uo + a) Rangkaian “Summing Amplifier” R1 R2 Rf R3 + + + - U1 - U2 - U3 Uid = 0 Uo b) Rangkaian Ekuivalen “Virtual Ground” dari “Summing Amplifier” Gambar 3.39 Rangkaian “Summing Amplifier” dan Ekuivalen “Virtual ground” Besarnya tegangan output (Uo) tergantung pada tahanan depan (R1, R2, dan R3) pada masing-masing tegangan input (U1, U2, dan U3) serta tergantung pada tahanan umpan balik (RF). Sehingga besarnya Uo adalah: RF RF RF UO .U 1 .U 2 .U 3 R1 R2 RR 3 72 Komponen Elektronik U1 U2 U3 UO R1 R2 R3 RF 3.5.2.6 Rangkaian Pengurang (Substractor Circuit) Rangkaian pengurang yang menggunakan OP-AMP pada dasarnya saling mengurangkan dari dua buah inputnya. Gambar 2.230 menunjukkan rangkaian OP-AMP sebagai pengurang (“subtractor”), atau kadang-kadang disebut juga penguat beda (differential amplifier). if i1 R1 Ui 1 U1 R2 Uo OP-AMP Ui2 i2 R3 U2 + R4 Gambar 3.40 Rangkaian “Subtractor” Jika arus yang masuk ke OP-AMP dianggap ideal, ii persamaan “loop” (Ideal OP-AMP). U I U i1 i F . R2 U i1 R2 0, maka dengan U i1 U 0 R1 R2 Dengan menggunakan pembagi tegangan pada “node” “noninverting”: U2 R4 R4 R3 .U i2 Karena OP-AMP dianggap ideal, maka Uid besarnya tegangan output (Uo). UO R2 R1 U i2 U i1 R4 R3 0, sehingga U1 = U2 Maka U i2 U i1 Jika R2 = R4 = RF dan R1 = R3 = R, maka tegangan output (Uo): UO RF R U i2 U i1 73 Komponen Elektronik Atau dengan cara lain yaitu metode superposisi, maka tegangan output (Uo). UO R4 R1 R2 . R3 R4 R1 . U i2 R2 R1 . U i1 Jika persamaan ini dibuat seperti ketentuan pemisahan di atas, yaitu R2 = R4 = RF dan R1 = R3= R, maka persamaan menjadi: UO RF R RF RF R RF .U I1 R . RF R R RF R .U i2 RF R .U i1 .U I1 U i2 U i1 Jadi, besarnya tegangan output (Uo) pada rangkaian substractor sama saja dengan metode apa pun. Untuk pemakaian lebih lanjut bisa juga menggunakan dua buah OP-AMP. Rf R1 Rf R3 Op A mp R2 + U1 Op A mp + + - - U2 Gambar 3.41 Rangkaian “Subtractor“ dengan 2 OP-AMP Besarnya tegangan output (Uo) adalah: RF RF RF UO . . U1 . U2 R2 R3 R1 RF R2 RF R2 .U 2 U2 U O RF RF . RF U R3 R1 1 R 2 F U R3 R1 1 U2 RF U 1 R2 R1 R3 Uo 74 Komponen Elektronik Penyangga Tegangan (Voltage Buffer) Rangkaian penyangga tegangan (voltage buffer) adalah suatu pemisahan sinyal input terhadap beban dengan menggunakan suatu tingkat unit penguat tegangan yang tidak membalik polaritas dan atau fasenya. Di samping itu, biasanya menggunakan OP-AMP yang mempunyai impedansi input yang sangat tinggi dan impedansi output yang sangat rendah. Gambar 3.42 berikut rangkaian “unity gain amplifier” (“buffer”). Uo Ui + Gambar 3.42 Rangkaian OP-AMP sebagai “buffer”Besarnya tegangan output (Uo) UO Ui Jadi, besarnya penguatan tegangannya adalah 1 dan oleh karena itu biasanya disebut “unity follower amplifier”. 3.5.2.7 Rangkaian Integrator (Integrator Circuit) Rangkaian integrator yang menggunakan OP-AMP hampir sama dengan rangkaian-rangkaian “closed loop” lain yang menggunakan umpan balik resistor. Bedanya di sini umpan baliknya menggunakan kapasitor (C). Lebih jelasnya lihat rangkaian integrator (Gambar 3.43) berikut ini beserta persamaan analisisnya. if R ii C Uid O p A mp Uo + Gambar 3.43 Rangkaian Integrator dengan OP-AMP 75 Komponen Elektronik Dari gambar rangkaian di atas dapat dibuat rangkaian ekuivalen berdasar “virtual ground” sebagai berikut: Xc R Uid = 0 Jika Uid = 0 dan xc = 1 j . w.k 1 2 Atau dengan notasi Laplace xc = Uo . f .c 1 1 jwc s.c Ini berarti jw = s (notasi Laplace), sehingga besarnya penguatan dapat dicari secara berurutan sebagai berikut: UO i Ui UO R xc 1 s C s.U OC Maka besarnya penguatan tegangan UO Ui s.C.U o UO Ui 1 s. CR Sehingga besarnya tegangan output (Uo) dengan fungsi terhadap domain waktu (time domain). UO UO 1 1 i dt i dt C C i 1 1 U i dt RC RC 1 RC U i t dt U i dt 76 Komponen Elektronik 3.5.2.8 Rangkaian Diferensiator (Differentiator Circuit) Rangkaian diferensiator yang menggunakan OP-AMP, hampir sama dengan rangkaian integrator, hanya saja umpan baliknya dan tahanan depan ditukar. Gambar 3.44 berikut ini menunjukkan rangkaian diferensiator. R Ui (t) iid ii if OP-AMP Uo (t) + Gambar 3.44 Rangkaian Diferensiator ii C dU i dt Arus yang melewati kapasitor C juga sekaligus melalui R (iin = 0) Maka: UO iF . R ii .R Jadi U O t R.C RC dU i dt dU i t dt 3.5.2.9 Sistem Pengontrol Sumber Penguat operasi (OP-AMP) dapat digunakan untuk bermacam-macam pengontrolan sumber. Dengan sebuah tegangan input dapat digunakan untuk mengontrol tegangan atau arus output. Atau sebaliknya dengan sebuah arus input dapat untuk pengontrolan ini biasanya digunakan pada variasi-variasi hubungan pada rangkaian instrumentasi. 77 Komponen Elektronik 3.5.2.9.1 Tegangan Mengontrol Tegangan Sumber Pada rangkaian ini tegangan output tergantung pada tegangan input (dengan faktor skala pembalik). Rangkaiannya dengan menggunakan OP-AMP seperti Gambar 3.45 berikut ini. U1 Rf R1 OP-AMP Uo + U1 Rc + OP-AMP Uo - R1 Rf Gambar 3.45 Rangkaian Tegangan Mengontrol Tegangan Sumber Gambar berikut menyatakan rangkaian ekuivalen ideal dari tegangan mengontrol tegangan sumber secara ideal. + + U1 - kU 1 - Gambar 3.46 Rangkaian Ekuivalen Ideal Gambar 3.45 dan 3.46 pada dasarnya hampir sama, hanya saja pada inputnya berbeda, yaitu antara “inverting input” dan “noninverting input”. 78 Komponen Elektronik Dalam Gambar 3.47a untuk menentukan tegangan output (Uo) sebagai hasil pengontrolan: RF UO R1 .U 1 k .U 1 Besarnya faktor pengontrolan: k UO RF Ui R1 Sedangkan pada Gambar 3.47b untuk menentukan tegangan output (Uo) adalah: UO 1 RF R1 .U 1 k .U 1 Dengan faktor pengontrolan k 3.5.2.9.2 1 RF R1 Tegangan Mengontrol Arus Sumber Suatu pengontrolan arus oleh tegangan input, kontrol ini memanfaatkan arus pada rangkaian yang melalui R1 dan RF. Gambar 2.237a berikut akan menjelaskan secara aliran arus. Rf R1 U1 I1 I0 OP-AMP Uo + Gambar 3.47a Rangkaian Tegangan Mengontrol Arus Sumber 79 Komponen Elektronik Rangkaian ekuivalen ideal dari tegangan mengontrol arus sumber dapat dilihat pada Gambar 2.237b berikut ini: Io + kU 1 U1 - Gambar 3.47b Rangkaian Ekuivalen Ideal Besarnya arus hasil pengontrolan oleh tegangan input adalah identik arus yang melalui RF, yaitu: IO 3.5.2.9.3 U1 R1 k .U 1 Arus Mengontrol Tegangan Sumber Suatu pengontrolan tegangan oleh arus input, kontrol ini memanfaatkan arus input yang melalui RF. Untuk lebih jelasnya lihat Gambar 3.48a dan 3.48b berikut ini. Rf R1 U1 I1 I0 OP-AMP Uo + Gambar 3.48a Rangkaian Arus Mengontrol Tegangan Sumber 80 Komponen Elektronik I1 + kI 1 U0 - Gambar 3.48b Rangkaian Ekuivalen Ideal Besarnya tegangan output (Uo) adalah: UO I 1. RF k .I 1 3.5.2.9.4 Arus Mengontrol Arus Sumber Rangkaian ini harus output tergantung arus input, sebagai pengontrolan terdapat arus yang melalui R1 dan RF seperti tampak pada Gambar 3.49a dan 3.49b berikut ini: R2 Rf I2 I1 I0 R1 - I1 OP-AMP Uo + Gambar 3.49a Rangkaian Arus Mengontrol Arus Sumber I0 I1 kI1 Gambar 3.49b Rangkaian Ekuivalen Ideal Besarnya arus output sebagai pengontrolan dari arus input adalah: IO I1 I2 I1 I 1 R1 R2 1 R1 R2 I 1 k. I 1 81 Komponen Elektronik 3.5.2.10 Filter Aktif (Active Filter) Aplikasi OP-AMP yang populer adalah sebagai penyaring aktif (active filter). Rangkaian filter aktif terdiri dari komponen pasif resistor-kapasitor. Disebut “active filter” karena adanya penambahan komponen aktif berupa penguat, yaitu OP-AMP, untuk memperoleh penguatan tegangan dan pengisolasian sinyal atau penggerak sinyal (buffer). Sebuah filter memperoleh output yang konstan dari kondisi dc sampai dengan frekuensi “cut off” (fOH) dan tidak akan melalukan sinyal pada frekuensi itu yang biasa disebut filter pelalu frekuensi rendah (low pass filter). Sebaliknya, suatu filter yang akan melakukan sinyal sampai frekuensi “cut off” (fOL) dan tidak akan melakukan sinyal pada frekuensi di bawah itu disebut filter pelalu frekuensi tinggi (high pass filter). Dan bila filter itu bekerja melakukan sinyal di antara kedua batasan frekuensi “cut off” antara “low pass” dan “high pass filter” disebut “band pass filter”. Untuk memudahkan penyebutan, filter-filter itu biasanya disingkat dalam beberapa huruf saja, seperti: - High Pass Filter (HPF) - Low Pass Filter (LPF) - Band Pass Filter (BPF) Gambar berikut memperlihatkan peta daerah respon (tanggapan) dari filter ideal seperti penjelasan di atas. Low Pass Filter Band Pass Filter High Pass Filter f(Hz) Gambar 3.50 Daerah Respon Filter Ideal 82 Komponen Elektronik 3.5.2.10.1 Filter Pelalu Frekuensi Rendah (Low Pass Filter) Filter pelalu frekuensi rendah menggunakan komponen resistor dan kapasitor tunggal dengan sistem orde satu. Gambar berikut 3.51a menunjukkan rangkaian “low pass filter” dan Gambar 3.51b merupakan karakteristik respon ideal “low pass filter“. R2 Rf OP-AMP R1 U1 Uo + C1 Gambar 3.51a Rangkaian “Low Pass Filter” Besarnya penguatan tegangan pada output kondisi frekuensi “cut off” adalah konstan. AU 1 RF R2 Uo Ui - 20 db / decade foH f (Hz) Gambar 3.52 Karakteristik respon ideal “Low Pass filter” 83 Komponen Elektronik Dengan turun -20 dB pada frekuensi “cut off” per dekade, maka dapat ditentukan frekuansi “cut off” (fOH). f OH 1 2 1 .C 1 Berdasarkan teori rangkaian LPF (low pass filter) pada prinsipnya hanya menggunakan resistor dan kapasitor dirangkai dengan sistem rangkaian integrator seperti gambar berikut ini. C R Uo Op A mp + Ui Gambar 3.53 Prinsip rangkaian LPF dengan sistem integrator Jika Ui = Um sin wt, dan simetris serta linier, maka: XC 1 2 .c 1 .c Bila R dan C konstan dengan frekuensi bervariasi, maka dapat ditentukan besarnya tegangan output Uo. Untuk f «, maka Xc », sehingga: UO Untuk f », maka Xc «, sehingga: U O R Xc Xc R .U i .U i 84 Komponen Elektronik « 3.5.2.10.2 Filter Pelalu Frekuensi Tinggi (High Pass Filter) Besarnya frekuensi “cut off” tergantung pada besarnya kapasitor dan resistor yang digunakan pada rangkaian filter. Gambar 3.54 rangkaian filter aktif pelalu frekuensi tinggi (high pass filter: HPF). R2 Rf OP-AMP C1 Uo + R1 Gambar 3.54 Rangkaian Filter Aktif Pelalu Frekuensi Tinggi Besarnya frekuensi “cut off” dari penguat tersebut adalah: f OL 1 2 1 C1 Berdasarkan teori, rangkaian filter pelalu frekuensi tinggi (HPF) dapat digunakan rangkaian diferensiator seperti gambar berikut ini: R U1 C OP-AMP Uo + Gambar 3.55 Prinsip rangkaian HPF dengan sistem diferensiator 85 Komponen Elektronik Jika Ui = Um sin wt dan XC 1 2 1 fc UO Maka: .c R U XC. i Besarnya tegangan output secara matematika ditentukan (Uo) dalam dua kondisi ekstrim, yaitu: • Untuk f », maka Uo = Ui (bila tanpa penguat tegangan) • Untuk f «, maka Uo = 0 Uo Ui - 20 db / decade fol f (Hz) Gambar 3.56 Karakteristik respon ideal “High Pass Filter” 3.5.2.10.3 Filter Pelalu Frekuensi Antara (Band Pass Filter) Dalam rangkaian aktif, “Band Pass Filter” biasanya menggunakan dua tingkat penguat, yaitu penguat tingkat pertama sebagai filter pelalu frekuensi tinggi (HPF) dan filter tingkat kedua sebagai filter pelalu frekuensi rendah (LPF). Dengan mengombinasikan kedua filter ini akan dioperasikan sebagai respon “bandpass” sesuai dengan keinginan. 86 Komponen Elektronik RF RG RF RG - - O pAmp R2 O pAmp C1 Uo + + U1 C2 R1 (HPF) (LDF) Gambar 3.57 Rangkaian Band Pass Filter Uo Ui - 20 db / decade 0 fol foH f (Hz) Gambar 3.58 Karakteristik respon ideal “Band Pass Filter” Besarnya frekuensi batas dari respon BPF adalah: f ol f OH 1 2 1 2 1 .C 1 UntukHPF 2 .C 2 untukLPF 3.5.2.11 Rangkaian Instrumentasi Aplikasi OP-AMP lainnya yang populer adalah sebagai penunjang dalam pembuatan alat-alat ukur atau instrumentasi seperti voltmeter AC atau voltmeter DC. Peralatan lain dalam instrumentasi yang menggunakan OP-AMP adalah “display driver”, instrumentasi amplifier, dan sebagainya. 87 Komponen Elektronik 3.5.2.11.1 Voltmeter DC OP-AMP pada peralatan voltmeter DC ini digunakan sebagai penguat dasar yang mempunyai karakteristik impedansi input yang tinggi dan faktor skalanya tergantung pada harga resistor dan akurasinya. Rf 100 k R1 U1 0 - 1 mA - R s 10 Ω M Io 100 k OP-AMP Uo + Gambar 3.59 OP-AMP sebagai Multimeter dc Dari Gambar 3.59 di atas dapat dianalisis secara fungsi transfer, sehingga diperoleh persamaan seperti berikut: IO UO RF 1 R1 RS 100k 1 . 100k 10 1mA 10mV Dari sini artinya setiap pengukuran Ui = 10 mV akan menghasilkan arus yang mengalir melalui meter M sebesar 1 mA, sehingga jika tegangan input Ui = 5 mV akan menghasilkan arus 0,5 mA atau penyimpangan jarum adalah setengah dari skala penuh. Hal ini dapat diubah tingkat kepekaannya yaitu dengan mengubah RF atau R1 dari rangkaian yang ada pada OP-AMP. 3.5.2.11.2 Voltmeter AC Pada dasarnya rangkaian Voltmeter AC sama dengan Voltmeter DC, hanya saja perlu pembuatan sinyal AC yang masuk pada miliampere meternya. Untuk rangkaian Voltmeter AC dapat dibangun seperti Volmeter DC, hanya dilengkapi diode dan kapasitor pada outputnya. 88 Komponen Elektronik R U1 - 100k OP-AMP D1 C3 D2 + M C1 C2 Rf 100k R s 10 Ω Gambar 3.60 OP-AMP sebagai Multimeter AC Dalam hal ini sensitivitas multimeter AC ditentukan dengan menggunakan fungsi transfer arus output dan tegangan input. IO UO RF 1 R1 RS 100k 1 . 100k 10 1mA 10mV 3.5.2.11.3 Display Driver “Display driver” yang dimaksudkan adalah sebagai penggerak penampil (display). Contohnya lampu atau LED (Light Emiting Diode). Adapun cara memasang display dapat ditentukan dengan cara mengetahui input yang diberikan pada OP-AMP termasuk pemasangan driver-nya. + Ucc (5V) Input Uo 358 30 mA I = 600 mA RB Q 1 (B > 20) 100 k + UBE Gambar 3.61 OP-AMP sebagai “driver” Lampu 89 Komponen Elektronik + Ucc (+ 5V) Uo Input 358 I = 20 mA RB 180 k + ULED = 1,5V Gambar 3.62 OP-AMP sebagai “driver” LED Menentukan komponen RB dan RD pada masing-masing Gambar 3.61 dan 3.62 adalah: RB = IB = U O − U BE Icon IB IC Q1 hFE = IC Q1 β = I .(Tergantungββtransisor) β Maka dari Gambar 4.26 jika IB = 30 mA dan I = 600 mA, maka hFE = 600 20, 30 baru dipilih transistor jenis apa yang mempunyai kemampuan sebesar tersebut. Dari Gambar 3.61 akan didapatkan besarnya RD, yaitu: RD U O U LED UO 1,5V I 20mA Ic, IB 90 Komponen Elektronik 3.5.2.11.4 OP-AMP sebagai Amplifier Instrumentasi Rangkaian ini pada dasarnya mempunyai sebuah output yang diperoleh dari perbedaan kedua terminal input. Lebih jelasnya dapat dilihat prinsip dasar OP-AMP sebagai amplifier pada Gambar 3.63 berikut ini: - U2 R Op - Amp + R R Op - Amp Rp - Uo + R R Op - Amp U1 + R Gambar 3.63 Rangkaian OP-AMP sebagai Amplifier Instrumentasi Dengan menggunakan tiga OP-AMP yang semuanya terdapat pada kemasan tunggal yang berisi empat OP-AMP (single quad OP-AMP), maka tegangan output (Uo) dapat ditentukan sebagai berikut: UO U1 U 2 1 Sehingga: U O 2R Rp 1 2R U1 U2 RP k U1 U2 Komponen Elektronik 91 3.6 ADC ( Analog Digital Converter ) ADC adalah suatu rangkaian yang mengkonversikan sinyal analog menjadi sinyal digital. Ada beberapa jenis rangkaian ADC antara lain Servo ADC, Successive Approximation dan Parallel Converter. Ada banyak cara yang dapat digunakan untuk mengubah sinyal analog menjadi sinyal digital yang nilainya proposional. Jenis ADC yang biasa digunakan dalam perancangan adalah jenis successive approximation convertion atau pendekatan bertingkat yang memiliki waktu konversi jauh lebih singkat dan tidak tergantung pada nilai masukan analognya atau sinyal yang akan diubah. IC ADC 0804 dianggap dapat memenuhi kebutuhan dari rangkaian yang akan dibuat. IC jenis ini bekerja secara cermat dengan menambahkan sedikit komponen sesuai dengan spesifikasi yang harus diberikan dan dapat mengkonversikan secara cepat suatu masukan tegangan. Hal-hal yang juga perlu diperhatikan dalam penggunaan ADC ini adalah tegangan maksimum yang dapat dikonversikan oleh ADC dari rangkaian pengkondisi sinyal, resolusi, pewaktu eksternal ADC, tipe keluaran, ketepatan dan waktu konversinya. Berikut ini adalah diagram koneksi dari IC ADC 0804 : Gambar 3.64 Diagram koneksi dari IC ADC 0804 Komponen Elektronik 92 ADC 0804 adalah CMOS 8 bit Successive Approximation ADC. Pada modul ADC ini Vref untuk ADC 0804 adalah sebesar 2.5 Volt dan tegangan catu (Vcc) sebesar 5 Volt. ADC 0804 mempunyai karakteristik sebagai berikut : a. Resolusi sebesar 8 bit b. Conversion time sebesar 100 ms c. Total unadjusted error : 1 LSB d. Mempunyai clock generator sendiri (640 Khz) Secara singkat prinsip kerja dari konverter A/D adalah semua bit-bit diset kemudian diuji, dan bilamana perlu sesuai dengan kondisi yang telah ditentukan. Dengan rangkaian yang paling cepat, konversi akan diselesaikan sesudah 8 clock, dan keluaran D/A merupakan nilai analog yang ekivalen dengan nilai register SAR. Apabila konversi telah dilaksanakan, rangkaian kembali mengirim sinyal selesai konversi yang berlogika rendah. Sisi turun sinyal ini akan menghasilkan data digital yang ekivalen ke dalam register buffer. Dengan demikian, keluaran digital akan tetap tersimpan sekalipun akan di mulai siklus konversi yang baru. IC ADC 0804 mempunyai dua masukan analog, Vin (+) dan Vin (-), sehingga dapat menerima masukan diferensial. Masukan analog sebenarnya (Vin) sama dengan selisih antara tegangan-tegangan yang dihubungkan dengan ke dua pin masukan yaitu Vin= Vin (+) – Vin (-). Kalau masukan analog berupa tegangan tunggal, tegangan ini harus dihubungkan dengan Vin (+), sedangkan Vin (-) digroundkan. Untuk operasi normal, ADC 0804 menggunakan Vcc = +5 Volt sebagai tegangan referensi. Dalam hal ini jangkauan masukan analog mulai dari 0 Volt sampai 5 Volt (skala penuh), karena IC ini adalah SAC 8-bit, resolusinya akan sama dengan (n menyatakan jumlah bit keluaran biner IC analog to digital converter) IC ADC 0804 memiliki generator clock intenal yang harus diaktifkan dengan menghubungkan sebuah resistor eksternal (R) antara pin CLK OUT dan CLK IN serta sebuah kapasitor eksternal (C) antara CLK IN dan ground digital. Frekuensi clock yang diperoleh di pin CLK OUT sama dengan : Komponen Elektronik 93 Untuk sinyal clock ini dapat juga digunakan sinyal eksternal yang dihubungkan ke pin CLK IN. ADC 0804 memilik 8 keluaran digital sehingga dapat langsung dihubungkan dengan saluran data mikrokomputer. Masukan (chip select, aktif rendah) digunakan untuk mengaktifkan ADC 0804. Jika berlogika tinggi, ADC 0804 tidak aktif (disable) dan semua keluaranberada dalam keadaan impedansi tinggi. Masukan (write atau start convertion) digunakan untuk memulai proses konversi. Untuk itu harus diberi pulsa logika 0. Sedangkan keluaran (interrupt atau end of convertion) menyatakan akhir konversi. Pada saat dimulai konversi, akan berubah ke logika 1. Di akhir konversi akan kembali ke logika 0. 94 Komponen Elektronik 3.7 Dasar Teknik Digital 3.7.1 Aljabar Boolean Rangkaian digital memliki dua tingkatan diskrit. Salah satu contoh termudahnya adalah saklar dengan dua macam kemungkinan yaitu buka dan tutup. Aljabar Boolean adalah rumusan matematika untuk menjelaskan hubungan logika antara fungsi pensaklaran digital. Aljabar boolean meiliki dasar dua macam nilai logika. Hanya bilangan biner yang terdiri dari angka 0 dan 1 maupun pernyataan rendah dan tinggi. 3.7.2 Operasi logika dasar AND, OR dan NOT Suatu fungsi logika atau operasi logika yang dimaksud dalam aljabar Boolean adalah suatu kombinasi variable biner seperti misalnya pada masukan dan keluaran dari suatu rangkaian digital yang dapat ditunjukkan bahwa di dalam aljabar Boolean semua hubungan logika antara variable variable biner dapat dijelaskan oleh tiga operasi logika dasar yaitu : Operasi NOT (negation) Operasi AND (conjuction) Operasi OR (disconjuction Operasi operasi tersebut dijelaskan dalam tiga bentuk yaitu : 1. Tabel fungsi (tablel kebenaran) yang menunjukkan keadaan semua variabel masukan dan keluaran untuk setiap kemungkinan. 2. Simbol rangkaian untuk menjelaskan rangkaian digital. 3. Persamaan fungsi. Operasi logika NOT Fungsi NOT adalah membalik sebuah variable biner, misalnya jika masukannya adalah 0 maka keluarannya adalah 1. Gambar 3.1. memperlihatkan 3 macam bentuk penggambaran fungsi operasi NOT. Tabel kebenaran x 1 0 a y 0 1 Simbol rangkaian x b 1 Persamaan fungsi y y=x c Gambar 3.65 Operasi NOT 95 Komponen Elektronik Operasi logika AND Operasi AND menghubungkan paling sedikit dua masukan variable dan dapat lebih variabel masukannnya mulai x0, x1 sampai xn dan satu variabel keluaran y. Variabel keluaran akan berlogika 1 hanya jika semua masukannya x0, x1 sampai xn dalam keadaan 1. Gambar 3.2. Menggambarkan 3 macam penggambaran fungsi operasi logika AND. Tabel kebenaran x1 x0 y 0 0 0 0 1 0 1 0 0 1 1 1 Simbol rangkaian a b x0 x1 & Persamaan fungsi y y = x0 ∧ x1 c Gambar 3.66 Operasi AND Operasi logika OR Operasi OR juga menghubungkan paling sedikit dua masukan variable dan dapat lebih variabel masukannnya mulai x0, x1 sampai xn dan satu variabel keluaran y. Variabel keluaran akan berlogika 0 hanya jika semua masukannya x0, x1 sampai xn dalam keadaan 0. Gambar 3.3. Menggambarkan 3 macam penggambaran fungsi operasi logika OR. Tabel kebenaran x1 x0 y 0 0 0 0 1 1 1 0 1 1 1 1 Simbol rangkaian a b x0 x1 > _1 Persamaan fungsi y Gambar 3.67 Operasi OR y = x0 ∨ x1 c 96 Komponen Elektronik 3.7.3 Operasi logika kombinasi NAND, NOR Exclusive OR dan Operasi logika NAND Operasi NAND merupakan kombinasi dua buah operasi logika dasar AND dan NOT. Masukan paling sedikit dua variable, dan dapat lebih variabel masukannnya mulai x0, x1 sampai xn dan satu variabel keluaran y. Variabel keluaran akan berlogika 0 hanya jika semua masukannya x0, x1 sampai xn dalam keadaan 1. Gambar 3.4. Menggambarkan 3 macam penggambaran fungsi operasi logika NAND. Tabel kebenaran x1 x0 y 0 0 1 0 1 1 1 0 1 1 1 0 Simbol rangkaian a b x0 x1 & Persamaan fungsi y= x ∧x 0 1 y c Gambar 3.68 Operasi NAND Operasi logika NOR Operasi NOR merupakan kombinasi dua buah operasi logika dasar OR dan NOT. Masukan paling sedikit dua variable, dan dapat lebih variabel masukannnya mulai x0, x1 sampai xn dan satu variabel keluaran y. Variabel keluaran akan berlogika 1 hanya jika semua masukannya x0, x1 sampai xn dalam keadaan 0. Gambar 3.5. Menggambarkan 3 macam penggambaran fungsi operasi logika NOR. 97 Komponen Elektronik Tabel kebenaran x1 x0 y 0 0 1 0 1 0 1 0 0 1 1 0 a Persamaan fungsi Simbol rangkaian x0 x1 > _1 y= x ∨x 0 1 y c b Gambar 3.69. Operasi NOR Operasi logika Exclusive OR Operasi Excclusive OR biasanya disebut dengan EXOR menghubungkan dua masukan variable x0 dan x1 serta memiliki satu variabel keluaran y. Gambar 3.6. Menggambarkan 3 macam penggambaran fungsi operasi logika Excclusive OR x0 dan x1 Tabel kebenaran x1 x0 y 0 0 0 0 1 1 1 0 1 1 1 0 a Persamaan fungsi Simbol rangkaian x0 x1 =1 y = x0 ∀ x1 y c b Gambar 3.70 Operasi EXOR Tabel kebenaran memprlihatkan bahwa ketika x0 dan x1 = 0 atau ketika ketika x0 dan x1 = 1, keluaran y akan berlogika 0. Variabel keluaran akan berlogika 1 hanya jika kondisi logika kedua masukannya x0 dan x1 berbeda. Pada prakteknya, sebuah operasi EXOR dapat dibangun dari operasi logika AND, OR dan NOT seperti yang diperlihatkan pada gambar 3.7. x0 1 & > _1 x1 1 y & Gambar 3.71 Operasi EXOR yang dibangun dari operasi logika dasar. 98 Komponen Elektronik Pada Gambar 3.72. suatu operasi EXOR dapat dihubungkan bertingkat (kaskade) sehingga secara keseluruhan operasi EXOR tersebut menjadi memiliki tiga variable masukan x0 , x1 dan x2 serta sebuah variable keluaran y. Perilaku EXOR dengan tiga masukan tersebut ditunjukkan oleh table kebenaran di bawah ini. Tabel kebenaran x2 x1 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 a EXOR dihungkan secara kaskade x0 0 1 0 1 0 1 0 1 y 0 1 1 0 1 0 0 1 x0 x1 =1 =1 y x2 b Gambar 3.72 EXOR dengan tiga masukan 3.7.4 Multiplekser Multiplekser adalah suatu rangkaian logika yang memiliki banyak masukan dan satu keluaran. Fungsinya adalah seprti saklar pilih yang dapat dikontrol. Keluaran bergantung dari sinyal kontrol Si, dan hanya satu dari masukan Xi yang tersambung ke keluaran. Dimana sinyal masukan yang terdiri dari lebih dari satu jalur diproses sehingga didapatkan satu keluaran. Jika multiplexer memiliki 4 masukan x0, x1, x2 dan x3 maka sinyal kontrol yang diperlukan sebanyak dua masukan s0 dan s1 sehingga secara keseluruhan semua masukan multiplexer berjumlah 6 masukan. 99 Komponen Elektronik a Diagram blok Keluaran y x0 x1 x2 x3 Data masukan Tabel kebenaran Kontrol masukan S1 S0 0 0 0 1 1 0 1 1 x0 x1 x2 x3 Keluaran y s1 s0 Kontrol masukan b Gambar 3.73 Multiplekser dengan empat masukan 3.7.5 Dekoder Dekoder adalah suatu rangkaian logika yang memiliki sedikit masukan dan banyak keluaran. Diagram blok y1 0 1 0 0 0 0 0 0 y2 0 0 1 0 0 0 0 0 y3 0 0 0 1 0 0 0 0 y4 0 0 0 0 1 0 0 0 y5 0 0 0 0 0 1 0 0 y6 0 0 0 0 0 0 1 0 y7 0 0 0 0 0 0 0 1 x0 x1 x2 Dekoder Tabel kebenaran x2 x1 x0 y0 0 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 0 a y0 y1 y2 y3 y4 y5 y6 y7 b Gambar 3.74 Dekoder tiga masukan delapan keluaran Dekoder pada Gambar 3.74 memiliki tiga masukan x0, x1 dan x2 dan delapan keluaran ( y0 – y7 ). Bergantung dari kombinasi masukan. Keluaran akan berganti ke 0 maupun 1. Kombinasi masukan dan keluaran yang dikeluarkan bergantung dari jenis atau tipe dekoder yang digunakan. 100 Komponen Elektronik Dari tabel kebenaran Gambar 3.74a, kita ambil contoh pada keluaran y6 menjadi 1 ketika input x0 = 0, x1= 1, dan x2 = 1. Pada prakteknya, dekoder yang paling banyak dipergunakan adalah yang keluarannya dibalik. Rumus umum dekoder adalah memiliki n masukan dan 2 pangkat n (2n ) keluaran. 3.7.6 Flip-flop 3.7.6.1 RS Flip-flop Flip-flop adalah suatu rangkaian bistabil dengan triger yang dapat menghasilkan kondisi logika 0 dan 1 pada keluarannya. Keadaan dapat dipengaruhi oleh satu atau kedua masukannya. Tidak seperti fungsi gerbang logika dasar dan kombinasi, keluaran suatu flip-flop sering tergantung pada keadaan sebelumnya. Kondisi tersebut dapat pula menyebabkan keluaran tidak berubah atau dengan kata lain terjadi kondisi memory. Oleh sebab itu flip-flop dipergunakan sebagai elemen memory. Rangkaian flip-flop yang paling sederhana adalah RS Flip-flop yang memiliki dua masukan yaitu R = Reset dan S = Set serta dua keluaran Q dan Q . Tabel kebenaran S R Q 0 0 1 1 a 0 1 0 1 Simbol Q Tidak berubah 0 1 1 0 Tidak tentu S Q R Q b Gambar 3.75 RS Flip-flop Sesuai dengan namanya, keluaran flip flop Q = 1 dan Q = 0 pada saat S = 1 dan R = 0,dan reset ketika S = 0 dan R = 1 akan menghasilkan keluaran Q = 0 dan Q = 1. Kondisi tersebut adalah kondisi stabil dari RS flip-flop. Ketika kedua masukan R dan S berlogika 0, keluaran flip-flop tidak berubah tetap seperti pada kondisi sebelumnya. Tetapi ketika kedua masukan R dan S berlogika 1 maka keluaran flip-flop tidak dapat diramalkan karena kondisinya tidak tentu tergantung pada toleransi komponen dan tunda waktu temporal dan lain sebagainya dan kondisi tersebut dapat diabaikan. 101 Komponen Elektronik Pada prakteknya sebuah RS Flip-flop dapat dibangun dari rangkaian dua buah gerbang AND yang saling dihubungkan silang seperti ditunjukan pada Gambar 3.76. Tabel kebenaran S 0 0 1 1 a Rangkaian RS Flip flop R Q 0 1 0 1 Tidak tentu 0 1 1 0 Tidak berubah Q S R & Q & Q b Gambar 3.76. Rangkaian RS Flip-flop dengan gerbang NAND Lebih lanjut tipe yang sangat penting dari flip-flop adalah master slave flip-flop atau disebut juga dua memory yang pada dasarnya dibangun dari dua flip-flop yang terhubung secara seri. Jalur kontrol dapat diatur dari sebuah clock melalui penambahan sebuah gerbang NAND. Gambar rangkaian dasrnya ditunjukkan dalam Gambar 3.77. S Clock R & & & & Q & Q & & Kontrol Clock I & Master Flip flop & Kontrol Clock II Slave Flip flop Gambar 3.77 Master-Slave Flip-flop menggunakan NAND Pertama kita lihat pada master flip-flop. Jika masukan clock adalah 0 kedua keluaran dari kontrol clock I adalah 1. Ini artinya bahwa suatu perubahan keadaan pada masukan S dan R tidak berpengaruh pada master flip-flop. Flip flop tersebut mempertahankan keadaan. Di sisi lain jika masukan clock adalah 1 maka keadaan dari S dan R menentukan keadaan master flip-flop. Slave flip flop memperlihatkan perilaku yang sama. Kadang kontrol clock adalah dibalik oleh sebuah inverter. Ini artinya bahwa clock 1 dari master flip flop menjadi 0 pada slave flip flop. 102 Komponen Elektronik Operasi flip-flop ini dijelaskan lebih mudah dari sekuensial temporal dari pulsa clock seperti ditunjukan oleh Gambar 3.78. V clock 1 0 t1 t 2 t3 t4 t Gambar 3.78 Sekuensial temporal untuk master slave flip flop t1 : Ketika pulsa clock muncul dari 0 ke 1 terjadi toleransi daerah 0 ke arah 1 keluaran clock terbalik ke 0. Misalnya keluaran slave flip flop akan off dan mempertahankan kondisi. t2 : Ketika pulsa clock muncul dari 0 ke 1 mencapai batas terendah dari toleransi daerah 1 masukan dari master flip flop adalah dapat diatur, misalnya master flip flop dipengaruhi oleh masukan R dan S. t3 : Ketika pulsa clock turun dari 1 ke 0 terjadi toleransi daerah 1 ke arah 0 masukan master flip flop kembali ditahan. Mmisalnya master flip flop menghasilkan keadaan baru. T4 : Ketika pulsa clock turun dari 1 ke 0 mencapai batas tertinggi dari toleransi daerah 0 masukan dari master flip flop adalah dapat diatur, misalnya master flip flop dipengaruhi oleh masukan R dan S. Hasilnya bahwa pengaruh masukan R dan S terjadi pada interval t1 sampai t2 data dikirim ke flip flop dan pada saat t4 baru data dikirim ke keluaran. Selama masukan clock 0 data tersimpan di dalam flip flop. 103 Komponen Elektronik 3.7.6.2 JK Flip-flop Pengembangan master slave flip flop pada prakteknya yang terpenting adalah Master slave JK flip flop yang dibangun dengan menyambungkan keluaran ke masukan gerbang seperti diperlihatkan Gambar 3.79. J & & & & Q & Q & Clock & K & & Gambar 3.79 Rangkaian JK Flip flop menggunakan NAND Tabel Kebenaran tn+1 tn K J Q 0 0 Q 0 1 1 1 0 1 1 0 a Q Simbol Q Q 0 1 Q J Q Clock K Q b Gambar 3.80 Tabel kebenaran dan simbol JK Flip flop Keadaan masukan J = 1 dan K = 0 menghasilkan keluaran Q = 1 dan Q = 0 setalh pulsa clock. Untuk J = K = 1 keluaran akan selalu berubah setiap kali pulsa clock diberikan. 104 Komponen Elektronik Clock 1 0 t Q 1 0 t Q 1 0 t Gambar 3.81 Diagram pulsa JK flip flop ketika masukan J = K = 1 3.7.6.3. D Flip-flop Suatu flip-flop yang mirip JK Master slave flip-flop untuk J = K = 1 adalah dikenal dengan nama D flip-flop. Versi yang paling banyak dipergunakan dalam praktek diperlihatkan pada Gambar 3.82. & & & & Q & Q Clock D & & Gambar 3.82. Rangkaian D Flip flop menggunakan NAND 105 Komponen Elektronik Tabel Kebenaran tn tn+1 D Q 0 1 a 0 1 Simbol Q 1 0 Q Clock K Q b Gambar 3.83 Tabel kebenaran dan simbol D Flip flop Kelebihan D flip-flop dibandingkan dengan JK flip-flop bahwa data masukan dikirim ke keluaran selama pulsa clock berubah dari o ke 1. Jika clock = 1 dan data masukan di D berubah, perubahan tersebut tidak lama berpengaruh terhadap keadaan keluaran. Suatu perubahan di D selama clock = 1 mengakibatkan pengaruh ke keluaran hanya pada perubahan 0 ke 1 berikutnya. Karena perlambatan internal memungkinkan dengan flip flop ini mengenal sebuah umpan balik misalnya dari Q ke D tanpa menghasilkan oscilasi. Karena kelebihan tersebut sering D flip flop ini disebut sebagai Delay flip-flop. 3.7.7 Memory Elemen memory sangat menentukan dalam sistem mikrokomputer. Memory ini diperlukan untuk menyimpan program yang ada pada komputer dan data. Berbagai macam tipe memory dibedakan menurut ukuran , mode operasi, teknologi dan lain sebagainya dapat diperoleh dipasaran. Memori dalam sistem mikrokomputer dapat juga dikatakan sebagai elemen penyimpanan matriks dua dimensi yang dibentuk dari flip – flop. Gambar 3.84. memperlihatkan suatu rangkaian dasar memory 8 X 4 bit. Setaiap titik simpul mewakili satu lokasi memory, satu bit (bit adalah singkatan dari binary digit atau angka dengan dua nilai 0 atau 1). 106 Komponen Elektronik Data Keluaran Dekoder Alamat Alamat Lokasi memory Data masukan Gambar 3.84. Struktur dasar suatu memory Jika data akan dituliskan ataupun dibaca dari suatu kombinasi antara 000 dan 111 yang juga disebut sebagai alamat yang yang dilalui oleh jalur alamat. Dekoder alamat digunakan untuk memilih satu diantara 8 jalur di dalam matriks dan isi dari jalur tersebut sehingga data words 4 bits dapat ditulis ataupun dibaca melalui data masukan ataupun data keluaran. Penambahan jalur kontrol yang tidak ditunjukkan dalam Gambar 3.84. sangat diperlukan untuk mengontrol baca, tulis dan lain sebagainya. Komponen memory konvensional di pasaran pada umumnya memiliki data work dengan ukuran 1, 2, 4 atau 8 bits yang mampu menyimpan data 1, 2, 4 atau 8 bit. Jumlah jalur pada matrik biasanya 2 pangkat n, yang mana n adalah jalur alamat dari 2n yang dapat dipilih. Suatu komponen memory seharusnya memiliki spesifikasi sebagai berikut : Kapasitas Organisasi 1kilobit = 1 k = 210 bits = 1024 bits = 1024 elemen memory 256 x 4, contoh 256 = 28 jalur dari setiap 4 bits Secara garis besar, memory dibagi menjadi 2 macam tipe : Komponen Elektronik 107 1. Memory baca/tulis Memory ini memilki fungsi untuk menulis data yang nantinya akan di baca kembali. Jenis memori seperti ini disebut juga dengan RAM (Random Access Memory ). 2. Memory hanya baca ( Read Only Memory ) Atau yang disingkat ROM. Data dapat diisikan ke dalam memory ketika proses pembuatan dan kemudian data dapat dibaca oleh pengguna. Memory dapat dibedakan berdasarkan teknologinya seperti misalnya bipolar, MOS (Metal Oxide Semiconductor) atau sepertihalnya RAM, perlu tidaknya merefresh simpanan data secara periodik baik dengan operasi dinamik maupun statis. Pada jenis memory dinamik, elemen penyimpan pada prinsipnya adalah suatu kapasitor yang diisi dan direfresh secara periodic . Pada jenis memory statis, elemen penyimpan data pada prinsipnya adalah suatu flip-flop yang tidak memerlukan refreshing. Ada dua jenis ROM, yaitu : - PROM ( Programmable Read Only Memory ) yang hanya dapat diprogram satu kali oleh pengguna. - RePROM ( Re Programmable Read Only Memory ) Jenis RePROM ini dapat diprogram dan bila tidak diperlukan akan dapat dihapus diprogram lagi oleh para pengguna. 3.7.8 Register Geser Pada dasarnya merupakan koneksi seri dari Flip flop yang menggunakan clock untuk memindah data yang ada pada Flip flop sebelumnya dan dipindah ke data yang ada pada Flip flop selanjutnya. 108 Komponen Elektronik Q1 Masukan FF1 Q2 FF2 Q3 FF3 Q4 FF4 Clock Gambar 3.85. Diagram blok register geser Mode Operasinya adalah sebagai berikut : Dengan mengaumsikan sebelumnya bahwa Clock pertama, semua keluaran dari Q1 sampai dengan Q4 adalah 0 dan masukan input adalah 1. Setelah itu Data ini akan ditampilkan pada output Q1 pada Clock pertama ( tn+1). Sebelum ke Clock ke 2, Input kembali menjadi 0. Dan pada saat clock kedua ( tn +2 ) keluaran Q1 menjadi 0 dan Q2 menjadi 1. Setelah Clock t n+3 Q1 = 0, Q2 = 0 dan Q3 menjadi 1. Setelah clock ke ( tn+4) , Q4 menjadi kondisi 1. Kemungkinan diatas dapat diilustrasikan pada tabel kebenaran berikut : Tabel kebenaran register geser Clock tn tn+1 0 Masukan 1 0 1 Q1 0 0 Q2 0 0 Q3 0 0 Q4 tn+2 0 0 1 0 0 t n+3 0 0 0 1 0 tn+4 0 0 0 0 1 tn+5 0 0 0 0 0 Pada tabel di atas dijelaskan ketika memasuki clock ke 5 semua keluaran kembali menjadi NOL. 109 Komponen Elektronik Berikut ini adalah register geser dengan menggunakan JK Flip-flop : Q1 Masukan 1 Q2 Q3 Q4 J Q J Q J Q J Q K Q K Q K Q K Q Clock Gambar 3.86 Register geser 4 bit menggunakan JK Flip-flop Selama Shift regsiter tersebut hanya memasang 4 buah Flip-flop, maka informasi yang akan didapat hanya sebanyak 4 buah, oleh karena itulah dinamakan sebagai 4-bit Shift register atau register geser 4 bit. Dengan Shift Register ini ada 2 kemungkinan dasar untuk membaca kembali informasi yang ada, yaitu : 1. Setelah clock ke 4 informasi telah masuk secara simultan yang ditampilkan pada keluaran Q1 sampai dengan Q4. Informasi ini dibaca secara serial ( satu setelah yang lainnya ) dan dapat juga dibaca secara paralel. 2. Jika hanya Q4 saja yang digunakan sebagai output keluaran, data yang telah dimasukkan secara serial juga bisa dibaca secara serial. Shift register ini dapat digunakan sebagai penyimpanan sementara dan atau delay dari deretan informasi. Hal yang perlu diperhatikan setelah ini adalah aplikasi dari konversi serial / parallel maupun parallel / serial. Dalam Operasi Paralel / serial data a sampai d dimasukkan bersamaan ke register dengan clock yang telah ditentukan. Keluaran serial akan muncul satu persatu pada indikator keluaran. Bagaimnapun juga jika data dimasukkan secara serial pada input dan sinkron dengan clocknya, maka setelah melengkapi barisan input, keluaran akan dapat dilihat secara parallel pada keluaran Q1 sampai dengan Q4 ( Operasi Serial / Parallel ). 110 Komponen Elektronik Register geser diterapkan dengan fungsi yang berbeda-beda pada sistem komputer. Dimana macam-macam tipe yang digunakan adalah sebagai berikut : • • • • • Pergeseran data Masukan data serial dengan serial data keluaran Masukan data serial dengan keluaran data parallel Masukan data parallel dengan keluaran data seri Masukan data parallel dengan keluaran data parallel Mode Operasi Parallel In / Parallel out dapat digunakan sebgai latihan untuk menngunakan register geser dengan mentransfer data pada masukan parallel ke data keluaran menggunakan pulsa yang telah ditentukan. Kemudian data ini akan tersimpan sementara sampai ada data yang dimasukkan. Kemudian Data pada register ini akan dihapus melalui input reset ( operasi memori penyangga ). Keluaran paralel Q1 Q2 Q3 Q4 Reset Masukan serial 1 J cQ J cQ J cQ J cQ K pQ K pQ K pQ K pQ & & & & Clock Set a b c d Masukan paralel Gambar 3.87 Register geser untuk paralel/serial atau serial/paralel Komponen Elektronik 111 Akhirnya, register geser yang digunakan pada sistem mikroprosesor sebagai memori penyangga. Gambar 3.88. Register dengan multiplekser pada masukan D flip-flop Prinsip dari operasi rangkaian ini ialah, dengan memakai input kontrol S0, S1, ke 4 multiplekser akan dapat dinyalakan salah satu dari ke 4 masukannya. Kemudian data yang telah dipilih pada input akan muncul pada keluaran. Contohnya , jika masukan paralel E3 sampai E0 dipilih maka data masukan akan dihadirkan secara parallel pada masukan D dari flip-flop. Dengan tepi clock positif selanjutnya, data dimasukkan ke flip-flop dan akan ditampilkan pada keluaran Q3 sampai dengan Q0. Data ini akan tersimpan hingga adanya pulsa clock yang membawa data baru pada E3 s/d E0 ke dalam register. Dengan kombinasi kontrol S0, S1 yang lain. Input sebelah kanan pada multiplekser dapat dihubungkan ke Output. Data yang akan dimasukkan pada sebelah kiri rangkaian dapat dimasukkan secara serial ke dalam register. Prosesnya adalah sebagai berikut : 112 Komponen Elektronik Jika kombinasi serial 1010 ada pada masukan sebelah kiri, maka pada saat clock pertama nilai 1 akan muncul pada keluran Q0 dan pada masukan yang telah dipilih pada multiplekser selanjutnya. Pada saat clock kedua, keluaran akan menjadi Q0 = 0 dan Q1 =1, sedangkan pada clock ketiga Q0 = 1, Q1 = 0, dan pada Clock ke 4 Q0 = 0, Q1 = 1 , Q2 = 0 dan Q3 = 1. Kombinasi masukan serial ini telah dibacakan ke register yang ada di sebelah kiri. Data serial yang ada pada masukan sebelah kanan akan di bawa secara analog. Masukan x3 sampai x0 tidak dimasukkan pada contoh ini. Sering untuk menghapus semua flip flop secara bersama sama adalah dengan cara mengeset semua masukan x3 sampai x0 ke logika 0. Jika masukan x semuanya dipilih melalui S0, S1 setelah pulsa clock berikutnya akan mengeset semua keluarn x3 sampai x0 ke logika 0. 3.7.9 Counter Counter adalah rangkaian digital yang didalamnya terdapat hubungan yang telah ditetapkan batasnya terhadap jumlah pulsa dan keadaan keluarannya. Komponen utama sebuah counter adalah flip-flop. Mode operasi counter akan dijelaskan dengan bantuan pulsa diagram seperti tampak pada Gambar 3.89. Sebelum clock pertama, keluaran Q1 sampai dengan Q4 adalah 0. Angka 0 disetarakan dengan kombinasi biner 0000. Setelah clock pertama bentuk bitnya menjadi 0001 yang diinterprestasikan sebagai angka 1. 0 2 2 Q1 1 2 Q2 2 3 2 Q4 Q3 J Q J Q J Q J Q K Q K Q K Q K Q Clock 1 Gambar 3.89 Rangkaian counter 4 bit 113 Komponen Elektronik Clock 1 0 Q1 1 2 4 3 5 7 6 9 8 10 11 12 13 14 15 16 17 t 1 0 Q2 t 1 0 Q3 Q4 t 1 0 t 1 0 t 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 Gambar 3.90. Diagram pulsa counter 4 bit Setelah clock kedua, 0010 akan muncul yang sesuai dengan angka 2, dan seterusnya. Seluruhnya terdapat 16 macam kombinasi yang sesuai dengan angka 0 sampai dengan 15. Setelah clock ke 16 seluruh keluaran akan kembali ke kondisi awal yaitu 0000. Untuk clock selanjutnya, proses diatas akan diulangi kembali. Secara umum dapat disimpulkan bahwa n-bit counter dapat diasumsikan sebagai 2n kombinasi keluaran yang berbeda-beda. Sejak angka 0 harus dialokasikan ke salah satu kombinasi ini, counter akan mampu menghitung hingga 2n–1 sebelum hitungan diulang kembali. Bila suatu counter terdiri atas 8 flip flop yang disusun seri, maka akan ada 28 = 256 kombinasi biner yang berbeda yang berarti angka antara 0 sampai dengan 255. Dengan mengubah sambungan memungkinkan untuk mereduksi kapasitas hitungan misalnya sebuah counter 4 bit yang memiliki 16 variasi keluaran dapat dibuat menjadi hanya 10 variasi keluaran. Counter akan menghitung o sampai 9 secara berulang ulang dan counter jenis ini disebut counter BCD. Sering pula counter tidak hanya untuk menghitung naik dari 0000 ke 0001 dan seterusnya melainkan dapat pula dipergunakan sebagai penghitung turun dengan nilai awal adalah 1111 kemudian 1110 dan seterusnya sampai 0000 kemudian kembali ke 1111, counter yang seperti ini disebut counter down. Suatu counter akan berfungsi sebagai counter up atau Komponen Elektronik 114 counter down dapat dipilih dengan sebuah kontrol untuk menentukan arah hitungan. Beberapa counter dapat dibuat dari berbagai macam variasi. Kriteria penting suatu counter antara lain adalah : - Arah hitungan ( niak atau turun) Kontrol clock (serentak atau tak serentak) Kapasitas hitungan Kode hitunan Kecepatan menghitung Kemampuan counter untuk diprogram, yang artinya hitungan mulai berapa dapat diatur. Prinsip Dasar Sistem Kendali 115 BAB IV. PRINSIP DASAR SISTEM KENDALI Tujuan Kegiatan Pembelajaran Setelah mengikuti kegiatan pembelajaran pada pokok bahasan ini, diharapkan peserta didik dapat : Memahami prinsip dasar sistem kendali Memahami sistem kendali open loop dan close loop Merancang sistem kendali tipe P, PI, PD , dan PID Membangun sistem kendali menggunakan OP-AMP dan Pnematik 4.1 Definisi Untuk keperluan pengendalian, pengaturan dan supervisi dari suatu peralatan teknik biasanya diperlukan alat pendeteksi berupa alat ukur sinyal listrik, dimana pada awalnya sinyal ini biasanya mempunyai besaran fisika yang bisa diukur sesuai dengan harga besarannya. Besaran sinyal fisika ini kemudian diubah menjadi sinyal listrik oleh sensor/detektor melalui pengukuran. Sensor digunakan sebagai alat pendeteksi/pengukur sinyal bukan listrik menjadi sinyal listrik yang dalam istilah teknik pengaturan sebagai suatu blok pemberi sinyal harga terukur (measuring value signal). Blok ini antara lain terdiri dari piranti absorbsi “absorber device”, piranti sensor “sensing device”, dan elemen khusus yang diperlukan. Jadi pemberi sinyal harga terukur adalah suatu blok piranti sensor dengan keluaran sinyal listrik yang sudah terkalibrasi. Pengendalian biasanya menggunakan sensor untuk mendeteksi / mengukur keluaran yang akan dikembalikan sebagai umpan balik (feed back) untuk dibandingkan dengan masukan selaku referensi atau titik penyetelan (setting point). Sistem pengendalian ini disebut sebagai system kendali lingkar tertutup (Closed Loop Control). Pengendalian yang tidak memanfaatkan outputnya sebagai umpan balik untuk dibandingkan dengan masukan selaku referensi, disebut sebagai sistem kendali lingkar terbuka (Open Loop Control). Lebih jelasnya dapat dilihat pada Gambar 4.1 proses yang dikendalikan , Gambar 4.2 sistem kendali lingkar terbuka , Gambar 4.3 sistem kendali linkar tertutup . Gambar 4.1 Proses yang dikendalikan Prinsip Dasar Sistem Kendali 116 Gambar 4.2 Sistem kendali lingkar terbuka Gambar 4.3 Sistem kendali lingkar tertutup 4.2 Perancangan Pengendali Dalam perancangan pengendali perlu meninjau hubungan antara output-input pengendali artinya termasuk derajat (orde) berapakah persamaan diferensialnya. Demikian juga dalam memilih plant diharapkan dapat menyesuaikan dengan pengendali yang dirancang. Sebagai contoh untuk pengendali dengan persamaan diferensial orde nol maka pengendali yang dirancang adalah tipe P (Proportional), orde satu pengendali tipe PI (Proportional + Integral) dan untuk pengendali dengan persamaan diferensial orde dua menggunakan pengendali tipe PID (Proportional + Integral + Differential). Pengendali secara teori berguna untuk mengendalikan plant mulai orde satu, orde dua atau lebih. Plant adalah adalah seperangkat peralatan terdiri dari beberapa bagian mesin yang bekerja bersama-sama untuk melakukan operasi tertentu. 4.3 Tipe Pengendali 4.3.1 Pengendali Tipe-P (Proportional Controller) Pengendali tipe-P adalah menyatakan hubungan antara sinyal error dan sinyal kendali. Sehingga secara matematik dapat diberikan persamaan : Prinsip Dasar Sistem Kendali 117 U(t) = Kp.e(t) Atau dalam bentuk fungsi alih (Transfer Function :”TF”) : Dimana E(s) : Error signal; U(s) : Controller signal; Kp : Gain Over of Proportional. Sehingga secara diagram blok dapat dinyatakan : R(s) + U(s) Kp Gambar 4.4 Diagram Blok Pengendali Tipe-P 4.3.2 Pengendali Tipe-I (Integral Controller) Pengendali tipe-I (Integral Controller) adalah suatu pengendali yang level output kendali U(t) diubah pada rate yang proporsional. Karena : du (t ) = Ki.e(t ) ; dan dt de = s; dan dt U (t ) = Ki ∫ e(t )dt 1 ∫ edt = s dan e(t) = 1(s) Secara fungsi alih dapat dinyatakan dengan formulasi : U ( s) Ki = E ( s) s Secara diagram blok dapat digambarkan sebagai berikut : Prinsip Dasar Sistem Kendali R(s) + 118 E(s) U(s) Ki s - Gambar 4.5 Diagram Blok Pengendali Tipe-I 4.3.3 Pengendali Tipe-PI (Proportional + Integral Controller) Pengendali ini menyatakan hubungan antara sinyal error dan sinyal kendali, sehingga secara matematik dapat diberikan persamaan : Dalam bentuk fungsi alih dapat diformulasikan : U (t ) = Kp[e(t ) + 1 ∫ e(t )dt ] τi Secara diagram blok dapat digambarkan sebagai berikut : Kp(τi.s + 1) U ( s) 1 = Kp(1 + )= τi.s E ( s) τi.s R(s) + E(s) - Kp( i.s+1) U(s) is Gambar 4.6 Diagram Blok Pengendali Tipe-PI Dimana τi : merupakan konstanta waktu untuk pengendali integral dan Kp factor penguatan proporsional. Prinsip Dasar Sistem Kendali 119 4.3.4 Pengendali Tipe-PD (Proportional + Differential Controller) Merupakan pengendali yang menyatakan hubungan sinyal eeror dan sinyal kendali, sehingga secara matematik dapat diformulasikan : U (t ) = Kp.e(t ) + τ D d e(t ) dt Dalam bentuk fungsi alih dapat dinyatakan : U ( s) = Kp(τ D .s + 1) E ( s) Sehingga secara diagram blok dapat digambarkan sebagai berikut : R(s) + E(s) U(s) Kp( D.s+1) - Gambar 4.7 Diagram Blok Pengendali Tipe-PD Dimana τD :merupakan konstanta waktu Diferensial. 4.3.5 Pengendali Tipe-PID (Proportional + Integral + Differential Controller) Pengendali tipe PID pada dasarnya dibedakan menjadi : 2(dua) macam yaitu : ⇒ Pengendali PID standart (Standart PID Controller) ⇒ Pengendali PID termodifikasi (Modified PID Controller) Pengendali PID Standar Hubungan antara sinyal error dan sinyal kendali dapat dinyatakan : Prinsip Dasar Sistem Kendali 120 Dalam bentuk fungsi alih dapat diformulasikan : U (t ) = Kp[e(t ) + 1 τi ∫ e(t )dt + τ D d e(t )] dt Kp(τ .τ .s 2 + τ .s + 1) U ( s) 1 i D i = Kp(1 + + τ D s) = τ i .s τ i .s E ( s) Pengendali PID Termodifikasi (Modified PID Controller) Hubungan sinyal error dan sinyal kendali dalam bentuk fungsi alih adalah : τDs U ( s) 1 = Kp(1 + + ) E ( s) τ i .s nτ D s + 1 Atau dinyatakan dalam bentuk persamaan lain : U ( s) Kp[(n + 1)τ i .τ D .s 2 + (τ i + nτ D ) s + 1] = E ( s) τ i .s(nτ D s + 1) Secara diagram blok sistem dapat digambar sebagai berikut : E(s) Kp[(n + 1)τ i .τ D .s 2 + (τ i + nτ D ) s + 1] τ i .s(nτ D s + 1) U(s) Gambar 4.8 Blok Diagram Transfer Function PID 4.4 Aplikasi Rangkaian Pengendali PID dengan OPAMP Rangkaian pengendali PID dengan menggunakan komponen analog OP-AMP dapat dibuat secara sederhanan yang dilengkapi dengan analisis fungsi alih secara matematik. Rangkaian pengendali PID ini berarti terdiri dari 3(tiga) buah rangkaian dasar OP_AMP yaitu masing-masing : pengendali P, pengendali I dan pengendali D. Prinsip Dasar Sistem Kendali 121 Rp ep(t) Rp R P Proportional Ci RF ei(t) ei(t) R I u(t) Integral P Rd ed(t) Cd Rdi R D Differential Gambar 4.9 Rangkaian Pengendali PID dengan menggunakan OP-AMP 4.4.1 Analisis Pengendali PID terbuat dari OP-AMP Dari gambar OP-AMP. Halaman 6 tersebut dapat ditentukan persamaan : U (t ) = − RF [ep(t ) + ei(t ) + ed (t )] = − Kp[ep(t ) + ei(t ) + ed (t )] R Karena : E p (t ) = − Rp e(t ) = −e(t ) Rp Prinsip Dasar Sistem Kendali 122 1 1 e (t ) = − e(t ) = − ∫ e(t )dt ∫ i Ri C i τ i ed (t ) = − Rd C d d d e(t ) = −τ D e(t ) dt dt Maka persamaan di atas menjadi : U (t ) = − K p [−e(t ) − U ( s) = K p [ E ( s) + 1 τi ∫ e(t )dt − τ D d e(t )] dt 1 1 E ( s) + τ D sE ( s)] = K p [1 + + τ D s ]E ( s ) τis τis Sehingga persamaan Fungsi alih dari Pengendali PID tersebut adalah : U ( s) = E ( s) K p [1 + 1 + τ D s ]E ( s ) τis Kp[τ i τ D s 2 + τ i s + 1] 1 = K p [1 + + τ s] = τis D E (s) τis Prinsip Dasar Sistem Kendali 123 4.4.2 Metoda Perancangan Pengendali PID Seperti diketahui umumnya sistem plant di industri menggunakan pengendali sistem orde tinggi. Namun biasanya orde tinggi ini direduksi menjadi orde satu atau orde dua. Untuk keperluan ini biasanya pengendali PID banyak diimplementasikan di industri. Beberapa metoda perancangan pengendali PID yaitu : Pendekatan waktu a. Berdasarkan analitik dengan spesifikasi Respon orde I dan orde II. b. Metoda Ziegler – Nichols. c. Metoda Root Locus Pendekatan Respon waktu : a. Metoda analitik melalui Diagram Bode. b. Metoda teknik Diagram Bode. Kompensator Lead/Lag melalui Perancangan Adaptip. Pada prinsipnya perancangan Pengendali PID adalah menentukan nilai dari parameter : Kp; Ki atau τi dan KD atau τD , sehingga respon sistem hasil desain sesuai dengan spesifikasi dan performansi yang diinginkan. Tahapan pekerjaan perancangan pengendali PID secara analitik antara lain : (1). Menentukan model matematik plant (model reduksi dalam bentuk Orde satu atau Orde dua bila plant memiliki system Orde tinggi). (2). Menentukan spesififikasi performansi : -Settling time dan % error steady state untuk system Orde satu; -Settling time dan % over-shoot serta % error steady state untuk pendekatan respon system Orde dua. (3). Merancang pengendali PID (tahapan akhir) yang meliputi : -Pemilihan tipe pengendali (termasuk model plant dan tipe pengendali); -Menghitung nilai parameter. Prinsip Dasar Sistem Kendali 124 * CATATAN : ⇒ Bila model plant Orde 0, maka dipilih pengendali P, namun pengendali P ini jarang digunakan karena terlalu sederhana dan hanya memenuhi salah satu dari kualitas. ⇒ Bila model plant Orde I, maka dipilih pengendali PI dan bila model plant Orde II dipilih Pengendali PID. ⇒ Bila pengendali PD juga jarang digunakan karena memerlukan Tuning parameter yang presisi, memiliki respon yang sangat cepat dan cenderung tidak stabil. 4.4.3 CONTOH PERANCANGAN PENGENDALI Pengendali PI untuk Plant Orde I Plant Orde I dikendalikan oleh pengendali PI, dengan input R(s) dan output C(s) dengan membentuk sinyal umpan balik ke input R(s). Maka sistem pengendali PI dan Plant orde I tersebut dapat digambar secara diagram blok sebagai berikut : R(s) + E(s) Kp( is+1) U(s) is K s+1 - Gambar 4.10 Diagram Blok Pengendali PI Plant Orde 1 Fungsi alih dari gambar diagram blok tersebut adalah : C ( s) = E (s) Karena : K p (τ i s + 1) K .( ) τis τs + 1 C(s) Prinsip Dasar Sistem Kendali 125 U (s) = E ( s) K p (τ i s + 1) τis Dan R( s) = E ( s) + C ( s) = E ( s) + E ( s)[ K p K (τ i s + 1)] τ i s(τs + 1) Berarti : C ( s) = R( s) K τs + 1 R(s) U ( s ). Maka fungsi alih pengendali PI dengan plant tersebut adalah : KK p (τ i s + 1) K E ( s)[ ] τs + 1 τ i s(τs + 1) τis C ( s) = = E ( s)[ K p K (τ i s + 1)] KK p (τ i s + 1) R( s) E ( s) + E ( s)[1 + ] τ i s(τs + 1) τ i s(τs + 1) E ( s). = K p (τ i s + 1) KK p (τ i s + 1) τ i s (τs + 1) . . τ i s (τs + 1) τ i s (τs + 1) + KK p (τ i s + 1) = KK p (τ i s + 1) τ i s(τs + 1) + KK p (τ i s + 1) Dari persamaan ini dapat disimpulkan bahwa CLTF = C(s)/R(s) mempunyai variasi yaitu : -Bila τi = τ , hasil desain system adalah Orde I -Bila τi ≠ τ , hasil desain system adalah Orde II. -Desain Orde dari system tergantung pada pemilihan harga τi (Integral Time Constan). Prinsip Dasar Sistem Kendali 126 a). Untuk τi = τ , maka CLTF menjadi sebagai berikut : C ( s) KpK (τis + 1) = = R( s) τis(τs + 1) + KpK (τis + 1) KpK ( τi KpK s) + 1 Atau dalam persamaan umum biasa dinyatakan : C ( s) 1 = * R( s) (τ s + 1) Dimana τ * = τi merupakan spesifikasi desaian dengan gain ( Kp.K ) Kp.K = τi (τ * .K ) b). Untuk τi ≠ τ , maka CLTF menjadi sebagai berikut : KpK (τ i s + 1) KpK (τ i s + 1) C ( s) = = 2 2 R( s) τ i τs + τ i s + KpKτ i s + KpK τ i τs + (1 + KpK )τ i s + K p K (τ i s + 1) C ( s) = R( s) τ i τ 2 (1 + K p K )τ i s +1 s + Kp.K KpK Atau dalam persamaan umum dapat dinyatakan : C ( s) (τ i s + 1) = 1 2 2ζ R( s) s + s +1 2 ϖn Dimana 1 ϖn2 = τ iτ K pK dan ϖn 2ζ ϖn = (1 + K p K )τ i K pK Prinsip Dasar Sistem Kendali 127 Kesimpulan Orde I a. Hasil desain sistem Orde I adalah paling disukai dalam praktek, karena tidak memiliki “Over-shoot”, Zero Off-set (% Ess=0%) dengan “time constan” yang baru τ*. Jadi plant Orde I dengan pengendali PI, bila dipilih τi= τ , system hasil desain adalah sistem Orde I dengan time constan τ* dan Zero Off-set. b. Hasil desain sistem Orde II dengan delay dan Zero Off-set. Parameter sistem hasi desain antara lain : frekuensi natural (ωn); koefisien redaman (ξ) dan factor delay (τi) Jadi plant Orde I dengan pengendali PI bila τi ≠ τ , sistem hasil desain adalah Orde II, Zero Off-set dengan parameter system ωn , ξ, dan τi. 4.4.4 Pnematik Istilah “pnema” berasal dari istilah yunani kuno, yang berarti nafas atau tiupan. Pnematik adalah ilmu yang mempelajari gerakan atau perpindahan udara dan gejala atau penomena udara. Ciri-ciri perangkat system pnematik: • Sistem pengempaan, udara dihisap dari atmosphere dan kemudian dikompresi. • Udara hasil kempaan, suhunya harus didinginkan • Ekspansi udara diperbolehkan, dan melakukan kerja ketika diperlukan. • Udara hasil ekspansi kemudian dibuang lagi ke atmosphere. 4.4.4.1 Simbol-simbol Biasanya pada suatu komponen pnematik selalu tertera symbol daripada komponen tersebut. Pada setiap alat pnematik selalu terdapat simbol disebelah kanan bawah daripada gambar bagian. Prinsip Dasar Sistem Kendali 128 Tabel 4.1 Simbol-simbol pnematik 4.4.4.2 Rangkaian Logika Rangkaian logika pnematik adalah rangkaian yang sangat kompleks, karena dikendalikan lebih dari sebuah katup, dalam hubungan seri (rangkaian AND) atau dalam hubungan parallel (rangkaian OR ). Prinsip Dasar Sistem Kendali 129 4.4.4.2.1 Rangkaian AND Sebuah rangkaian AND terdiri dari dua katup yang dihubungkan seri. Pada Gambar 5.51 memperlihatkan dua buah katup 3/2 way (A dan B) akan tertekan ketika piston silinder penggerak tunggal memukul ke luar. Katu B akan kehilangan tekanan ketika katup A terbuka. Katup B mengontrol tekanan silinder penggerak tunggal. Gambar 4.11 Rangkaian AND-dua buah katup dihubungkan seri 4.4.4.2.2 Rangkaian OR Sebuah rangkaian OR terdiri dari dua buah katup yang dihubungkan parallel. Pada Gambar 4.12 memperlihatkan dua buah katup 3/2 way (A dan B) mempunyai sebuah sumber tekanan, jika salah satu tertekan, udara akan mengalir ke dalam silinder penggerak tunggal, dan menyebabkan piston memukul keluar. Katup bola mengatur udara ke silinder dan mencegah aliran udara keluar langsung ke pembuangan, katup menjadi tidak aktif. Prinsip Dasar Sistem Kendali 130 Gambar 4.12 Rangkaian OR-dua buah katup dihubungkan paralel 4.4.4.3 Contoh Soal Gaya yang keluar dari silinder dapat dihitung dengan formula: Gaya (F) = tekanan (p) x luas (A) Gaya (F) satuannya Newtons (N) tekanan (p) satuannya Newtons/mm² (N/mm² ). luas (A) satuannya mm² contoh, sebuah piston mempunyai radius 20mm, dan tekanan di dalam silinder 4 bar maka : tekanan 4 bar = 4/10 = 0,4 N/mm² luas permukaan piston adalah : 3.14 x 20 x 20 = 1256mm² Sehingga gaya (F) yang keluar dari silinder =0.4 x 1256 = 502.4N Prinsip Dasar Sistem Kendali 131 4.4.4.4 Pengendali Pnematik Pada Gambar 4.13 memperlihatkan pnematik diimplementasikan sebagai pengendali jenis proporsional. Dari setiap perubahan sekecil apapun pada Gambar 4.13, dapat dibuatkan diagram blok pengendalinya seperti diperlihatkan pada Gambar 4.14. Gambar 4.13 Pengendali proporsional pnematik Gambar 4.14 Diagram blok pengendali Elektronika Daya 132 BAB V. ELEKTRONIKA DAYA Tujuan Kegiatan Pembelajaran Setelah mengikuti kegiatan pembelajaran pada pokok bahasan ini, diharapkan peserta didik dapat : Memahami prinsip kerja komponen elektronika daya Memahami komponen elektronika daya dan penerapannya dalam sistem kendali Merangkai komponen elektronika daya sebagai sistem kendali 5.1 Sejarah ELektronika Daya Bermula diperkenalkan penyearah busr mercuri 1900, metal tank, grid-cotrolled vacum tube, ignitron, phanotron dan thyratron semua ini untuk kontrol daya hingga tahun 1950. Tahun 1948 ditemukan transistor silikon , kemudian tahun 1956 ditemukan transistor pnpn triggering yang disebut dengan thyristor atau silicon controlled rectifier. Tahun 1958 dikembangkan thyristor komersial oleh general electric company. Sehingga sampai sekarang pengembangannya baik komponennya maupun aplikasinya sangat pesat. 5.2 Pengertian dan Prinsip Kerja Alasan energi (daya) elektrik perlu dikonversikan adalah: Hampir semua peralatan listrik bekerja kurang efisien atau tidak bisa bekerja pada sumber energi (daya) elektrik yang tersedia. Banyak pembangkit energi (daya) elektrik nonkonvensional mempunyai bentuk yang tidak kompatibel dengan sumber energi (daya) elektrik lainnya. Selama produksi, jaringan dan distribusi energi listrik yang digunakan secara umum baik tegangan satu fase dan tiga fase dapat konstan dan frekwensinya bisa stabil (50Hz atau 60Hz) dan tidak perlu adanya konversi bentuk tegangan, maka peralatan yang membutuhkan arus listrik tidak perlu membutuhkan tambahan system untuk penstabilan atau perubahan. Penggunaan arus listrik pada peralatan industri banyak sekali yang harus dikendalikan, misalkan kecepatan putaran motor dapat diatur atau yang lainnya, maka perlu ada beberapa variable yang harus diatur (Tegangan atau Frekwensi) dan perubahan bentuk tegangan (konversi). Hal ini berlaku untuk tegangan satu atau tiga fase dan tegangan searah DC. 133 Elektronika Daya Gambar 5.1 Hubungan antara elektronika daya terhadap daya, elektronik dan kontrol Tugas dari elektronika daya adalah merubah bentuk sumber energi listrik yang ada ke bentuk energi listrik yang diinginkan yang disesuaikan dengan beban yang dipergunakan. Penyearah AC Chopper DC Chopper AC Chopper Inverter Gambar 5.2 Perubahan bentuk sumber energi listrik Elektronika Daya 134 Perbedaan dan perubahan energi listrik antara sistem tiga, satu fase arus bolak balik dan arus searah telah diatur dan diformulasikan pada DIN 41750. a. b. c. d. e. Konverter AC ke DC (1 →2) Penyearah terkontrol Konverter DC ke DC (2 ↔3). DC Chopper Konverter DC ke AC (3 →4). Inverter Konverter AC ke AC (4 ↔1). Kontroler tegangan AC (AC Chopper) Konverter AC ke AC (4↔1). Kontroler tegangan AC (AC Chopper) Gambar 5.3 Contoh aplikasi untuk elektronika daya Teknik Penggerak Pemberian sumber tegangan pada mesin motor tiga fase yang variabelnya adalah tegangan dan frekwensi sehingga torsi dan kecepatannya dapat diatur. (Contohnya motor listrik di kereta listrik, motor pengatur posisi). Pemberian sumber tegangan pada motor DC dengan variabel tegangan pada ankernya dan lilitan. (Contohnya Motor pada kereta listrik). Sumber Tegangan Catu daya ( Contoh pada Personal Komputer) 135 Elektronika Daya Kebutuhan Rumah Pengatur terang redupnya lampu penerangan (Contoh dimmer ruang lampu dekorasi) Kendaraan berat Pengapian elektronik Pembangkit pulsa untuk pengerak servo Penggerak stater generator Konverter dari 12 Volt ke 24 Volt DC Pengerak power string pada kemudi Transmisi automatik Sekarang setiap peralatan listrik modern dan mesin modern yang menggunakan sumber listrik baik AC maupun DC selalu memerlukan elektronika daya untuk pengoperasiannya. Dasar membangun Peralatan Elektronika Daya Peralatan yang ada elektronika dayanya dapat digambarkan secara umum ada tiga blok penting yaitu pada gambar dibawah Besaran Pengendali Bagian Informasi Bagian Pengendali Bagian Daya Aliran Energi Gambar 5.4 Blok diagram dasar elektronika daya Bagian Daya Pada bagian daya berinteferensi langsung dengan aliran daya pada sumber elektrik. Bagian ini terbuat dari sebuah rangkaian spesial yang dapat sebagai penyearah, penyimpanan energi (C, L), Pengaman dan filter). Bagian Pengendali Bagian pengendali melakukan pengendali signal yang akan diumpankan pada bagian daya. Selah satu contohnya isi dari blok ini adalah signal penguat depan, pembalik potensial dan pemantau kesalahan. 136 Elektronika Daya Bagian Informasi Sering sekali bagian Daya dan bagian Pengendali dilengkapi dengan bagian informasi, sehingga menjadi sebuah sistem pengendali dan pengaturan (open loop control dan close loop control) salah satu contoh pengaturan kecepatan motor listrik. Nilai besaran hasil koreksi eror langsung diumpankan ke bagian pengendali. 5.3 Komponen Elektronika Daya Dari kerugian daya pada dasarnya diperbolehkan terjadi sebagian kecil terjadi pada semikonduktor pada saat posisi menahan arus listrik (off), komponen daya ini pada saat posisi mengalirkan arus listrik (on) langsung dengan aliran energi yang besar. Prinsip dasarnya seperti saklar mekanik. Pada dasarnya komponen hanya boleh secara ideal mengalirkan arus (U=0) dan pada saat menahan arus ideal (I=0). Setiap kondisi kerja mengalirkan atau menahan dengan tegangan dan arus yang tinggi, maka timbul gangguan panas pada komponen, yang besarnya kerugian energi adalah (P= U * I ≠0). Saklar elektronik yang dilakukan oleh komponen elektronika daya secara nyata terdiri dari tiga tipe yaitu: 5.3.1 Satu Katup yang tidak dapat dikendalikan (Dioda) Dioda Fungsi (Ideal) - „ Membuka“ : iAK >0, uAK =0 - „ Menutup“ : iAK =0, uAK <0 Simbol Gambar 5.5 Simbol Dioda 137 Elektronika Daya Data batas (Contoh) URRM = 5000V, IN = 4000A fmax=50 Hz URRM = 2000V, IN = 200A fmax=50 Hz 5.3.2 Pensaklaran Elektronik melalui sebuah Katup Tipe komponen ini dapat disaklarkan hanya sambung dengan mengendalikan elektroda katupnya (gate). Dia akan tetap menghantarkan arus dari Anoda ke Katoda, jika arus pada katupnya diturunkan sampai nol, maka aliran arus berhenti. Komponen tersebut adalah : Gambar 5.6 Simbol pensaklaran sebuah katup Thyristor Fungsi secara ideal: - „Terhubung“ arus akan mengalir dari anoda ke katoda melalui pengendalian arus iG>0 pada kondisi uAK>0. - „ Tertahan“ sumber arus tetap mengalir dari anoda ke katoda jika iG=0 dan selama iA>0. - „ Terputus“ tidak ada arus yang mengalir dari anoda ke katoda, hal ini akan terjadi, jika diset iG=0 dan iA=0. Sehingga arus dari anoda ke katoda terputus iA=0. Terputus arus yang mengalir dari anoda ke katoda melalui pengendalian arus iG<0 iA>0 adalah tidak mungkin terjadi. 138 Elektronika Daya Gambar 5.7 Simbol Thyristor Sifat-sifat (ideal): - Pada saat menghantar : uAK = 0 ; iA>0 Pada saat menutup : iA=0 Data batas (Contoh) UDRM = 8200V, IN = 2400A fmax=50 Hz UDRM = 2500V, IN = 2000A fmax=1,2 kHz Triac Thyristor atau SCR TRIAC mempunyai kontruksi sama dengan DIAC, hanya saja pada TRIAC terdapat terminal pengontrol (terminal gate). Sedangkan untuk terminal lainnya dinamakan main terminal 1 dan main terminal 2 (disingkat mt1 dan mt2). Seperti halnya pada DIAC, maka TRIAC pun dapat mengaliri arus bolak-balik, tidak seperti SCR yang hanya mengalirkan arus searah (dari terminal anoda ke terminal katoda). Lambang TRIAC di dalam skema elektronika, memiliki tiga kaki, dua diantaranya terminal MT1 (T1) dan MT2 (T2) dan lainnya terminal Gate (G) : Gambar dibawah memperlihatkan struktur dalam pada TRIAC : Triac adalah setara dengan dua SCR yang dihubungkan paralel. Artinya TRIAC dapat menjadi saklar keduanya secara langsung. TRIAC digolongkan menurut kemampuan pengontakan. TRIAC tidak mempunyai kemampuan kuasa yang sangat tinggi untuk jenis SCR. Ada dua jenis TRIAC, Low-Current dan Medium-Current. 139 Elektronika Daya Data batas (Contoh) UDRM = 800V, IN = 8A fmax=50 Hz UDRM = 1000V, IN = 40A fmax=50 Hz Gambar 5.8 Simbol Triac 5.3.3 Pensaklaran Elektronik melalui sebuah Katup. Hubung dan Putus Tipe komponen ini adalah pengendalian elektrodenya dapat menghantarkan dan menyetop arus yang mengalir. Sebagai bukti: kedua pengendalian ini dapat dilihat dari bentuk simbolnya. Gambar 5.9 Simbol pensaklaran dua katup Komponen komponen tersebut yaitu: Power MOSFET (n- Kanal) Fungsinya (ideal): - Pada saat menghantar: uGS>0 →iD>0, uDS=0 140 Elektronika Daya - Pada saat menutup: uGS<0 →iD=0 Gambar 5.10 Simbol Power Mosfet (n-Kanal) Data batas (Contoh): uDS max = 1000V, iDN =30A , fmax =100kHz uDS max = 200V, iDN =100A , fmax =50kHz IGBT Fungsinya (ideal): - Pada saat menghantar: uGE>0 →iC>0, uCE=0 - Pada saat menutup: uGE<0 →iC=0 Data batas (Contoh): UCE max = 1700V, iCN =440A , fmax =20kHz 141 Elektronika Daya Gambar 5.11 Simbol IGBT Transistor Daya Bipolar (BJT) Fungsinya (ideal): - Pada saat menghantar: iB>0 →iC>0, uCE=0 - Pada saat menutup: iB=0 →iC=0 Data batas (Contoh): UCE max = 1400V, iCN =1000A , fmax =5kHz UCE max = 1000V, iCN =100A , fmax =50kHz Gambar 5.12 Simbol Transistor Daya Bipolar (BJT) GTO- Thyristor Fungsinya (ideal): Elektronika Daya - Pada saat menghantar: IG>0 →iA>0, uAK=0 - Pada saat menutup: IG=0 →iA=0 142 Data batas (Contoh): UAK max = 4500V, iN =4000A , fmax =1..2kHz UAK max = 6500V, iN =1500A , fmax =1..2kHz Komponen ini jika dibandingkan dengan IGBT dan MOSFET untuk dayanya jelas lebih tinggi hanya frekwensi kerjanya sedikit lebih rendah. Komponen ini dipergunakan pada rangkaian kereta api listrik dan penggerak mesin motor yang besar. 5.3.4 Perbandingan kinerja dari MOSFET, IGBT dan BJT. Transistor IGBT (Insulated-Gate Bipolar Transistor) adalah piranti semikonduktor yang setara dengan gabungan sebuah transistor bipolar (BJT) dan sebuah transistor efek medan (MOSFET) Input dari IGBT adalah terminal Gate dari MOSFET, sedang terminal Source dari MOSFET terhubung ke terminal Basis dari BJT. Dengan demikian, arus drain keluar dan dari MOSFET akan menjadi arus basis dari BJT. Karena besarnya tahanan masuk dari MOSFET, maka terminal input IGBT hanya akan menarik arus yang kecil dari sumber. Di pihak lain, arus drain sebagai arus keluaran dari MOSFET akan cukup besar untuk membuat BJT mencapai keadaan saturasi. Dengan gabungan sifat kedua elemen tersebut, IGBT mempunyai perilaku yang cukup ideal sebagai sebuah sakelar elektronik. Di satu pihak IGBT tidak terlalu membebani sumber, di pihak lain mampu menghasilkan arus yang besar bagi beban listrik yang dikendalikannya. Komponen utama di dalam aplikasi elekronika daya (power electronics) dewasa ini adalah sakelar zat padat (solid-state switches) yang diwujudkan dengan peralatan semikonduktor seperti transistor bipolar (BJT), transistor efek medan (MOSFET), maupun Thyristor. Sebuah sakelar ideal di dalam aplikasi elektronika daya akan mempunyai sifat-sifat sebagai berikut: Elektronika Daya 143 1). Pada saat keadaan tidak menghantar (OFF), sakelar mempunyai tahanan yang besar sekali, mendekati nilai tak berhingga. Dengan kata lain, nilai arus bocor struktur sakelar sangat kecil 2). Sebaliknya, pada saat keadaan menghantar (ON), sakelar mempunyai tahanan menghantar (R_on) yang sekecil mungkin. Ini akan membuat nilai tegangan jatuh (voltage drop) keadaan menghantar juga sekecil mungkin, demikian pula dengan besarnya daya lesapan (power dissipation) yang terjadi, dan 3). Kecepatan pensakelaran (switching speed) yang tinggi. Sifat nomor (1) umumnya dapat dipenuhi dengan baik oleh semua jenis peralatan semikonduktor yang disebutkan di atas, karena peralatan semikonduktor komersial pada umumnya mempunyai nilai arus bocor yang sangat kecil. Untuk sifat nomor (2), BJT lebih unggul dari MOSFET, karena tegangan jatuh pada terminal kolektor-emitter, VCE pada keadaan menghantar (ON) dapat dibuat sekecil mungkin dengan membuat transitor BJT berada dalam keadaan jenuh (saturasi). Sebaliknya, untuk unsur kinerja nomor (3) yaitu kecepatan switching, MOSFET lebih unggul dari BJT, karena sebagai devices yang bekerja berdasarkan aliran pembawa muatan mayoritas (majority carrier), pada MOSFET tidak dijumpai aruh penyimpanan pembawa muatan minoritas pada saat proses pensakelaran, yang cenderung memperlamnat proses pensakelaran tersebut. Sejak tahun 1980-an telah muncul jenis devices baru sebagai komponen sakelar untuk aplikasi elektronika daya yang disebut sebagai Insulated Gate Bipolar Transistor (IGBT). Sesuai dengan yang tercermin dari namanya, devices baru ini merupakan devices yang menggabungkan struktur dan sifat-sifat dari kedua jenis transistor tersebut di atas, BJT dan MOSFET. Dengan kata lain, IGBT mempunyai sifat kerja yang menggabungkan keunggulan sifat-sifat kedua jenis transistor tersebut. Terminal gate dari IGBT, sebagai terminal kendali juga mempunyai struktur bahan penyekat (insulator) sebagaimana pada MOSFET. Dengan demikian, terminal masukan IGBT mempunyai nilai impedansi yang sangat tinggi, sehingga tidak membebani rangkaian pengendalinya yang umumnya terdiri dari rangkaian logika. Ini akan menyederhanakan rancangan rangkaian pengendali (controller) dan penggerak (driver) dari IGBT. Di samping itu, kecepatan pensakelaran IGBT juga lebih tinggi dibandingkan divais BJT, meskipun lebih rendah dari divais MOSFET yang setara. Di lain pihak, terminal keluaran IGBT mempunyai sifat yang menyerupai terminal keluaran (kolektor-emitter) BJT. Dengan kata lain, pada saat keadaan menghantar, nilai tahanan menghantar (R_on) dari IGBT sangat kecil, menyerupai R_on pada BJT. 144 Elektronika Daya Dengan demikian bilai tegangan jatuh serta resapan dayanya pada saat keadaan menghantar juga kecil. Dengan sifat-sifat seperti ini, IGBT akan sesuai untuk dioperasikan pada arus yang besar, hingga ratusan amper, tanpa terjadi kerugian daya yang cukup berarti. IGBT sesuai untuk aplikasi pada perangkat Inverter maupun Kendali Motor Listrik (Drive). 5.3.5 Bentuk Komponen Sekarang semikonduktor dengan daya yang tinggi mempunyai bentuk yang standart. Bagi komponen yang daya tinggi sekali selalu mempunyai pendingin Untuk mentransfer disipasi panasnya sehingga tidak banyak kerugian daya.Contoh bentuknya dapat dilihat pada Gambar 5.13. Gambar 5.13 Bentuk komponen elektronika daya Ada yang telah dibuat beberapa komponen yang berbentuk modul yang sudah tersambung satu sama lainnya, ada yang dua komponen ada yang lebih, sebagai contohnya: Gambar 5.14 Bentuk komponen elektronika daya berbentuk modul 145 Elektronika Daya Untuk komponen yang sebagai pemicu untuk mengendalikan elektrodenya atau gatenya telah tersedia, yang kadang ada yang sekaligus dua kanal untuk mentrigernya. Contoh bentuknya dapat dilihat pada gambar 5.15. Gambar 5.15 Komponen pemicu elektroda atau gate 5.4 Contoh Rangkaian Elektronika Daya 5.4.1 Konverter AC ke AC dengan Pengendalian pemotongan Fase Gambar 5.16 Blok diagram converter AC ke AC Sumber arus balak balik yang sebagai sumber yaitu tegangan dan frekwensinya harus konstan dan yang terpakai pada tegangan beban dapat dirubah antara 0 ≤ URL ≤ US. Tingginya tegangan pada beban dapat diatur dengan tegangan kedali. Contoh Pemakaian: Dimmer, yaitu pengaturan terang gelapnya lamp Mengendalikan kecepatan motor universal yang daya kecil. 146 Elektronika Daya Pengendalian Arus bolak balik Alat kendali Gambar 5.17 Blok Rangkaian converter AC ke AC Catatan: Pada daya yang kecil dapat diganti pada dua Thyristor diganti dengan Triac. Tegangan sumber uS dapat dihantarkan pada kedua katup 1 dan katup 2. Untuk katup 1 mengalirkan arus positip dan katup 2 mengalirkan arus negative ke beban iRL. Harga tegangan efektif pada beban dapat dirubah melalui pengaturan tegangan pada katup 1 dan katup 2 dengan cara setiap setengah gelombang ada penundaan. Hasil penundaan waktu yang dapat dikatakan sudut gelombangnya yang terpotong, maka sering juga disebut penundaan sudut α (0 ≤α ≤ π), pengendalian ini disebut pengendalian fase, kerena simetris antara gelombang positif dan negatifnya (α1 = α2). Untuk tegangan keluaran pada beban akan maksimal uRL= uS jika diatur sudut α1= α2 = 0. Gambar 5.18 Penundaan waktu pada tegangan uS dan uRL Dua thyristor atau Triac harus ditriger setelah zero crossing agar tegangan MT1 dan MT2 cukup untuk merubah kondisi kerja Triac ketika ada arus gate. Elektronika Daya 147 5.4.2 Penyearah dengan Pengendalian pemotongan Fase Gambar 5.19 Blok diagram converter AC ke DC (Penyearah) Berdasarkan semikonduktor yang digunakan dan variasi tegangan keluarannya, penyearah satu atau tiga-fasa dapat diklasifikasikan menjadi : • Penyerah tak terkendali. • Penyearah terkendali. Umumnya semikonduktor penyearah terkendali menggunakan bahan semikonduktor berupa thyristor, atau menggunakan thyristor dan dioda secara bersamaan. Berdasarkan bahan semikonduktar yang digunakan dan sistem kendalinya penyearah satu atau tiga-fasa terkendali umumnya dapat dibedakan menjadi : • Half wave Rectifiers • Full wave Rectifiers-Full Controller • Full wave Rectifiers-Semi Controller Hal-hal yang menjadi masalah dalam teknik penyerahan antara lain adalah trafo penyearahan, gangguan-gangguan tegangan lebih atau arus lebih yang membahayakan dioda / thyristor, keperluan daya buta untuk beban penyearahan, harmonisa yang timbul akibat gelombang non sinus serta sirkit elektronik pengatur penyalaan Kebutuhan arus searah dapat dibangun dengan sumber arus tiga fase yang nantinya akan dihasilkan tegangan Ud searah yang lebih baik juga arusnya Id. Besarnya tegangan searah tergantung dari besarnya tegangan pengendali uST untuk mendapatkan besaran antara 0 ≤ Ud ≤ Udmax.. Pengendalian ini dilakukan pada katup dari thyristor. Contoh Pemakaian: Dalam aplikasinya, sirkit-sirkit penyearahan biasanya dilengkapi dengan sirkit. pengatur tambahan seperti pengatur tegangan pembatas arus danlain-lain sesuai dengan jenis pemakaiannya. 148 Elektronika Daya Bidang gerak teknik penyearahan meliputi sistem-sistem pengatur putaran mesin DC pada mesin cetak kertas, tekstil, mesin las DC, pengisi baterai,sampai pada pengatur tegangan konstan generator sinkron (AVR). Pemberian sumber tegangan pada Motor DC dengan jala jala 3 fase dan thyristor. Gambar 5.20 Rangkaian Titik tengah tiga pulsa terkendali (M3C) Akibat dari penyulutan pada katup 1, 2 dan 3 dapat dihasilkan tegangan searah dari tegangan antar fase dengan netral uS1, uS2 dan uS3 dari sumber arus listrik 3 fase. Keinginan dari harga aritmatik tegangan keluaran Ud mudah sekali untuk tercapai dengan pengendalian penundaan sudut. Tegangan keluaran pada penyearah memungkinkan mendapatkan tegangan yang maksimal jika sudut penyulutan α = 0. Gambar 5.21 Penyulutan sudut 0o Penundaan penyulutan pada Thyristor (α > menurunkan tegangan searah pada keluaraannya. 0) Gambar 5.22 Penyulutan sudut 30o mengakibatkan 149 Elektronika Daya Pada penyulutan dengan sudut α =90o besar tegangan searah yang dihasilkan adalah nol (Ud= 0 V). Gambar 5.23 Penyulutan sudut 90o Energi yang dikirim pada tegangan keluaran dapat berubah kutupnya, jika besarnya sudut penyulutan melebihi 90o ( Ud<0 dan Id>0) Gambar 5.24 Penyulutan sudut 120o Hasil besar tegangan pada outputnya akan minus terhadap titik nol, jika penyulutan sudutnya melebihi >90o. Sering dalam aplikasi sumber arus mengunakan system perubahan polaritas, suatu contoh pada mesin motor DC yang putarannya dibuat suatu saat kekanan atau kekiri. Maka rangkaian dasarnya adalah sebagai berikut: Gambar 5.25 Rangkaian Titik tengah enam pulsa terkendali (M6C) Elektronika Daya 150 Ada sebuah bentuk lagi yang menghasilkan tegangan outputnya ganda, yang berarti tidak hanya pulsa positifnya saja yang disearahkan tetapi juga yang pulsa negatif, sehingga hasil tegangan outputnya lebih besar dan tegangan ripplenya lebih kecil. Bentuk ini sering disebut penyearah terkontrol jembatan tiga fase Gambar 5.26 Rangkaian jembatan 6 pulsa terkendali (B6C) 5.4.3 Pengubah daya DC-DC (DC-DC Converter) Tipe peralihan dari tegangan DC ke DC atau dikenal juga dengan sebutan DC Chopper dimanfaatkan terutama untuk penyediaan tegangan keluaran DC yang bervariasi besarannya sesuai dengan permintaan pada beban. Gambar 5.27 Blok diagram konverter DC ke DC (DC Chopper) Daya masukan dari proses DC-DC tersebut adalah berasal dari sumber daya DC yang biasanya memiliki tegangan masukan yang tetap. Pada dasarnya, penghasilan tegangan keluaran DC yang ingin dicapai adalah dengan cara pengaturan lamanya waktu penghubungan antara sisi keluaran dan sisi masukan pada rangkaian yang sama. Komponen yang digunakan untuk menjalankan fungsi penghubung tersebut tidak lain adalah switch (solid state electronic switch) seperti misalnya Thyristor, MOSFET, IGBT, GTO. Secara umum ada dua fungsi pengoperasian dari DC Chopper yaitu penaikan tegangan dimana tegangan keluaran yang dihasilkan lebih tinggi dari tegangan masukan, dan penurunan tegangan dimana tegangan keluaran lebih rendah dari tegangan masukan. Elektronika Daya 151 Prinsip dasar Pengubah DC-DC Tipe Peralihan Untuk lebih memahami keuntungan dari tipe peralihan, kita lihat kembali prinsip pengubahan daya DC-DC seperti terlihat pada contoh gambar dibawah: Gambar 5.28 Rangkaian Konverter DC ke DC (DC Chopper) Pada Gambar 5.28 rangkaian ada sebuah katup V yang mengalirkan dan menyumbat arus yang mengalir, sehingga mempengaruhi besar tegangan pada beban. 1. Katup V menutup, kondisinya arus mengalir : uv = Uo Diode DF menutup tidak ada arus yang lewat karena katoda lebih positif dari pada anoda, tetapi arus iv mengalir naik ke beban dengan konstanta waktu T = adalah: L . Sehingga arus maksimum yang terjadi secara exponensial R U ivmak = 0 R Gambar 5.29 Arus mengalir saat kondisi katup V menutup 2. Katup V membuka, kondisi arus tertahan Setelah katup dibuka, arus mengalir iv dari pembuangan dari induktor, sehingga ada komutasi arus dari anoda ke katoda (Dioda DF) uv= 0 Gambar 5.30 Arus tertahan saat kondisi katup V membuka 152 Elektronika Daya Arus pada beban iv dihasilkan secara exponensial adalah nol. Dalam satu periode terjadi tutup bukanya sebuah katup seperti saklar, pada beban terjadi potensial tegangan Uv dan memungkin arus yang mengalir iv pada beban. Dari terjadi perubahan tutup dan buka ada perbedaan arus terhadap waktu ∆ iv. Sehingga divisualisasikan dengan bentuk gelombang kotak (pulsa), dengan notasi frekwensi fp atau dirubah dengan fungsi waktu Tp. Sedangkan untuk periode positif adalah Tg dan periode pulsa negatif To. Sehingga tegangan output persamaannya dapat dituliskan sebagai berikut: Uv = Tg Tg + To •Uo = Tg Tp • U o atau Tg T Uv = = g U o Tg + To T p Salah satu contoh gambar dibawah adalah bentuk gelombang pada tegangan dan arus pada beban terhadap waktu dengan Tg=0,75 Tp Gambar 5.31 Bentuk gelombang tegangan dan arus pada beban Untuk signal kendali ada beberapa cara memodulasi signalnya yaitu: Pulse wave modulation (PWM) Tp konstan, Tg variable 153 Elektronika Daya Sangat lebar jarak pulsa, contoh : 1 = f PWM = 16kHz Tp Pengendali Pulsa Tg atau To konstan, Tp variable (jarang digunakan) Dua titik Pengaturan ∆i konstan, Tp variabel, sistem ini sering dipakai pada pengaturan 5.4.4 Pengubah daya DC ke AC satu Fase (Konverter DC ke AC) Dengan beban tahanan murni atau induktif sebuah konverter harus menghasilkan tegangan output dan frekwensi yang konstan Gambar 5.32 Blok diagram konverter DC ke AC Salah satu aplikasinya adalah pada elektro lokomotip yang modern atau pengendalian Mesin Motor. Gambar 5.33 Rangkaian pengubah tegangan DC ke AC dengan model jembatan Dari rangkaian diatas ada empat thyristor mempunyai masing-masing satu katup V1, V2, V3 dan V4. Setiap katup dapat dikendalikan buka tutupnya. Sehingga didapatkan tiga macam besarnya tegangan keluaran antara lain: 154 Elektronika Daya 1. V1 dan V2 menghantar, V3 dan V4 menutup uv = U o Arus pada beban iv naik ekponensial dengan konstanta waktu T = dan hasilnya adalah L R Uo R Gambar 5.34 Katup V1 dan V2 menghantar dan V3 dan V4 menutup 2. V3 dan V4 menghantar, V1 dan V2 menutup uv = −U o Arus pada beban naik eksponensial tetapi dengan polaritas negatif adalah − Uo R Gambar 5.35 Katup V3 dan V4 menghantar dan V1 dan V2 menutup 3. V1 dan V3 menghantar, V2 dan V4 menutup uv = 0 Arus pada beban mempunyai nilai nol. Gambar 5.36 Katup V1 dan V3 menghantar dan V2 dan V4 menutup 4. V2 dan V4 menghantar dan V1 dan V3 menutup uv = 0 Identis dengan pada nomer 3 155 Elektronika Daya Jika langkah 1, 2, 3 dan 4 bergantian dan dengan kendali pulsa pada katupnya, maka akan terjadi pada beban sebuah tegangan dan mempunyai kontanta waktu T = L . Dibawah ini salah satu contoh hasil R tegangan keluaran uv dengan kendali PWM. Gambar 5.37 Bentuk tegangan keluaran Pada sistem konverter DC ke AC yang menghasilkan tegangan tiga fase, prinsipnya sama dengan satu fase langkah prosesnya, tetapi terdiri tiga kolompok kombinasi katup pada thyristor. Bisa dilihat pada gambar dibawah ini. Gambar 5.38 Rangkaian DC ke AC tiga fase 156 Elektronika Daya 5.4.5 Pengubah daya AC ke AC (Konverter AC ke AC) Pada sistim pengubah ini merupakan gabungan dari pengubah daya dari AC ke DC (penyearah) dan Pengubah daya dari DC ke AC. Sehingga dapat digambarkan seperti dibawah ini: Gambar 5.39 Blok diagram konverter AC ke AC Mikroposesor Z-80 dan Mikrokontroler 157 VI. MIKROPROSESOR Z-80 DAN MIKROKONTROLER Tujuan Kegiatan Pembelajaran Setelah mengikuti kegiatan pembelajaran pada pokok bahasan ini, diharapkan peserta didik dapat : Memahami instruksi pemrograman mikroprosesor Z-80 Memahami arsitektur mikroprosesor Z-80 Memahami prinsip kerja mikroprosesor z-80 Membuat struktogram dan pemrograman untuk sistem kendali 6.1 Mikroprosesor Z-80 Pada dasarnya mikroprosesor adalah terdiri tiga bagian pokok yang saling bekerja sama antara yang satu bagian pokok yang saling bekerja sama antara yang satu dengan yang lainnya. 6.1.1 Pengontrol 6.1.1.1 Register Perintah Register perintah diisi langsung dari bus data sistem melalui bus data internal. Pada informasi 8 bit yang dibawah ke register ini adalah selalu menunjukkan suatu kode operasi dari sebuah perintah. 6.1.1.2. Pendekoder Perintah Masing-masing bit dalam register perintah di uji / di periksa keadaan tegangannya ( H atau L ) oleh pendekoder perintah . Dengan demikian hal tersebut dapat dipastikan bahwa informasi yang disimpan dalam register perintah adalah merupakan suatu kode operasi tertentu. 6.1.1.3. Pengontrol Waktu dan Aliran ( Pengontrol Waktu dan Aliran ) Unit ini berfungsi mengkoordinasikan antara jalannya sinyal di dalam dan di luar mikroprossesor dengan waktu. Unit pengontrol ini menyimpan informasi internal mikroprossesor yang berasal dari pendekoder perintah dan dari luar unit sistem. Sinyal yang di terima dari luar adalah sinyal detak ( clock ), sinyal control ( WR,RD ) dan sinyal penawaran ( Riset, int ) pengontrol waktu dan logik memberikan informasi balik pada unit sistem seperti sinyal tulis diberikan ke unit sistem menunjukkan bahwa pada unit ini akan di tulis sebuah data. Keseluruhan dari sinyal masuk dan keluar pada unit pengontrol waktu dan logika ini disebut bus kontrol. Mikroposesor Z-80 dan Mikrokontroler 158 6.1.2 Penyimpan Prinsip dari mekanisme penyimpan dari sebuah mikroprossesor Multiplexer A F B C D E H L Penghitung perintah ( PC ) Penunjuk Stack (Stack Printer) Penyimpan sinyal alamat Mekanisme Penyimpan dari Z 80 dibagi dalam 6 kelompok fungsi 6.1.2.1 Multi plexer / Pemilih Register Melalui multiplexer 1 pemilih register, lokasi memori dalam blok register yang dipilih dapat di tulis atau di baca. 6.1.2.2 Register Sementara A - F Hal ini mengenai dua register 8 bit , yang dapat dipakai sebagai register tunggal ( 8 bit ) atau dipakai sebagai register pasangan ( 16 bit) untuk proses internal Mikroprossesor. Register A - F adalah sama dengan penghitung data dari penghitung sederhana. Dengan kata lain, dalam register A - F , sebagai contoh : bagian alamat 16 bit dari sebuah perintah disimpan untuk sementara. 6.1.2.3 Register pasangan BC, DE, HL Register ini dalam program dipakai sebagai register tunggal atau sebagai register pasangan. Bila dipakai sebagai register tunggal maka dia dapat dipakai sebagai penyimpan 8 bit . Bila dipakai sebagai register pasangan, dia dapat menyimpan 16 bit , sebagai contoh alamat lokasi memori 16 bit. Dalam mikroprosessor tersedia perintah khusus untuk register 16 bit ini. 6.1.2.4. Penghitung Perintah Dalam penghitung perintah terdiri dari alamat masing - masing data yang dibaca sebagai alamat penyimpan program berikutnya. Data yang disimpan dalam penyimpan program selalu adalah kode operasi ( up code ) , perintah dan data ( sebagai contoh bagian alamatnya ) Penghitung perintah mempunyai tugas untuk selalu meletakkan mikroprosessor pada posisinya yang benar pada jalannya program. Mikroposesor Z-80 dan Mikrokontroler 159 6.1.3 Operasi Prinsip Mekanisme Operasi sebuah Mikroprosessor Z 80 dibagi dalam 5 klompok fungsi : 6.1.3.1 Unit Aritmatik Logika ALU melaksanakan semua operasi aritmatik dan logika 6.1.3.2 Register Sementara ( Register Operan ) Register sementara berfungsi sebagai penyimpan data sementara. 6.1.3.3 Akkumulator Operasi Aritmatik dan Logik selalu dijalankan dengan operanoperan pertama disimpan sementara dalam akkumulator operan ke dua disimpan sementara dalam penyimpan sementara ( register sementara ) Kedua operan dijalankan pada operasi yang ada di akkumulator. ALU mengisi hasil operasi ke akkumulator. 6.1.3.4 Register kondisi (PSW = Program Stakes Word ) Dalam register kondisi 8 bit terdiri dari 5 flip-flop syarat, yang diset atau di reset tergantung dari hasil operasi aritmatik atau logik dari ALU. Flag : 5 flag dalam unit sentral dari Z 80 adalah : 1. Bit DQ ( posisi 21 ) adalah Flag carry 2. Bit D2 ( posisi 22 ) adalah Flag parity 3. Bit D4 ( posisi 24 ) adalah Flag carry pembantu 4. Bit D6 ( posisi 26 ) adalah Flag zero 5. Bit D7 ( posisi 27 ) adalah Flag tanda Dalam bit D1, D3, dan D5 tidak terdapat informasi mereka di abaikan. 6.1.3.5 Pengontrol Desimal Dengan cara ini untuk merubah hasil biner dari perintah penjumlahan ke dalam bilangan BCD (Bilangan desimal yang dikodekan secara binner) Mikroposesor Z-80 dan Mikrokontroler 160 6.1.4 Konfigurasi Mikroprosessor Z 80 Gambar 6.1.1 Konfigurasi Mikroprosessor Z 80 6.1.4.1 CPU - Struktur Bus Supaya memori, peranti I/0 dan bagian lain dari suatu komputer dapat dibuat saling hubungan , maka biasanya dipakai suatu BUS. BUS banyak dipakai dalam mini komputer dan mikrokomputer, bahkan dalam sistim komputer besar, untuk modul - modul dengan aliran data yang berlebihan. Seringkali perangkat - perangkat komputer yang menghubungkan dengan bus harus memakai saluran - saluran data secara bersama sama, untuk itu dipergunakan penggerak tiga keadaan ( 3 STATE ) , yang merupakan komponen dasar dari BUS ( lihat gambar 6.1.2 ). Mikroposesor Z-80 dan Mikrokontroler 161 Bus dapat dibagi menjadi tiga bagian dalam menstransfer data / instruktusi yaitu : a. BUS - Data ( DATA - BUS ) b. BUS - Alamat ( ADDRESS - BUS ) c. BUS - Kontrol ( CONTROL - BUS ) Arsitektur dari Mikroprosessor Z.80 ' ' ' ' ' ' Y 16 BIT BUS ALAMAT - DALAM BUS PENGONTROL - DALAM Gambar 6.1.2 Arsitektur Mikroprosessor Z-80 Mikroposesor Z-80 dan Mikrokontroler 162 MI 27 MREO 19 32 20 33 21 34 22 35 30 A0 31 IORO SYSTEM CONTROL RD WR RFSH A 1 A 2 A3 A4 A 5 A6 36 28 37 A 38 HALT 18 39 40 WAIT CPU CONTROL INT NMI RESET CPU BUS CONTROL BUSREQ BUSACK 24 1 2 16 17 Z 80 CPU 7 A8 A 9 A10 A11 ADDRE BUS A12 3 A13 4 A14 5 26 A15 25 23 14 15 12 + +5V GND 11 8 29 7 9 10 13 Gambar 6.1.3 Bus Sistem CPU Z-80 DATA BUS Mikroposesor Z-80 dan Mikrokontroler 163 BUS - Data Menggambarkan sejumlah penghantar paralel yang menghubungkan satuan fungsi dari sistem mikroprosessor . Data yang bekerja didalam mikroprosessor ditransfer melalui data bus Transfer data berjalan dalam dua arah ( Bi Directional ) Mikroprosessor Z. 80 dan 8085 mempunyai penghantar data - bus 8 bit. Untuk mengirim data secara bidireksional ( lintasan dua arah ) antar berbagai chip yang terdapat dalam suatu sistem mis : dari perantara I/O menuju mikroprosessor dan dari mikroprosessor menuju memori. BUS Alamat Kombinasi sinyal pada penghantar Bus Alamat dari blok fungsi mikroprosessor. Misalnya : Alamat memori untuk program / data , yang mana pada lokasi memori ini, - data akan ditulis atau dibaca. Bus alamat 8085 / Z. 80 terdiri dari 16 buah penghantar yang paralel dan membentuk alamat dengan lebar sebanyak 16 bit, yaitu 2.16 (2 pangkat 16) atau 65536 Byte ( 64 KB ). Kombinasi sinyal pada penghantar Bus - alamat dikirim dari mikroprosessor, dengan demikian Bus - alamat bekerja secara Uni Directorial (satu arah). Bus ini berpangkal dari mikroprosessor dan digunakan untuk menghubungkan alamat-alamat CPU dengan semua chip yang mempunyai alamat. Bus ini digunakan dalam hubungannya dengan bus data untuk menentukan sumber atau tujuan data yang dikirim pada bus data. BUS Kontrol Sistem penghantar bekerja dengan kombinasi secara tepat dan logis untuk mengontrol proses jalannya sinyal diluar dari pada mikroprosessor ( mengsinkronkan kerja CPU dengan blok - blok lainnya ) Penghantar Bus - kontrol bersifat uni directional dengan arah yang berbeda – beda. Untuk membawa sinyal - sinyal penyerempak antara mikroprosessor dan semua alat/chip yang dihubungkan dengan Bus - bus Mis : sinyal baca , tulis, interupsi wait dan . Mikroposesor Z-80 dan Mikrokontroler 164 6.1.5 Penulisan (write) Data pada Memori Gambar 6.1.4 Penulisan Data pada Memori Proses Kerja ⇒ Bila PIN WR ( WRITE ) pada CPU/mikroprosessor menghasilkan logika L ( “ 0 “ ) maka output gerbang NOT 1 berlogika H ( “ 1 “ ) dan gerbang 3 STATE mendapat logika H ( “ 1 “ ) Hal ini menyebabkan 3 STATE 1 bekerja sehingga seluruh data dari CPU dimasukkan ke memori. DATA DBO - DB7 dari CPU masuk ke DBO - DB7 MEMORI. ⇒ Pada saat bersamaan pin RD ( Read ) berlogika High ( “ 1 “ ) dan output NOT2 berlogika L ( “ 0 “ ) menyebabkan 3 STATE2 tidak bekerja. Mikroposesor Z-80 dan Mikrokontroler 165 6.1.6 Pembacaan (Read) Data dari Memori WR (WRITE) RD (READ) L H NOT1 NOT2 ENABLE DB DB L OUT IN 3 STATE 1 ENABLE DB7 DB7 H OUT IN 3 STATE 2 Gambar 6.1.5 Pembacaan Data pada Memori Proses Kerja ⇒ PIN RD ( READ ) berlogika L ( “ 0 “ ) menyebabkan 3 STATE2 bekerja sehingga data DBO - DB7 pada dipindahkan ( dibaca ) ke DBO - DB7 pada CPU melalui Bus - Data 3 STATE2. ⇒ Pada saat yang bersamaan pin WR ( WRITE ) pada CPU berlogika H menyebabkan output NOT 2 berlogika1 ( “ 0 “ ) sehingga 3 STATE tidak bekerja. 6.1.7 Flag Flag adalah sebuah flip-flop di dalam blok penghitung dari CPU dan disebut sebagai register Flag. Keadaan flag ini setelah pelaksanaan sebuah instruksi ( yang mempengaruhi flag ) akan menghasilkan sifat dari hasil sebuah operasi.Pada Z. 80, flag dipasangkan dengan akumulator dan dikenal dengan Program Status Wort ( PSW ) Mikroposesor Z-80 dan Mikrokontroler 166 Flag carry Flag pengurangan Flag parity overflow Flag half carry Flag zero Flag sign Gambar 6.1.6 Register Flag Mikroprosessor Z-80 Jenis Flag 1. Flag Zero ( Z ) Jenis flag ini menunjukkan apakah pada pelaksanaan terakhir dari operasi ,hasil pada semua bit adalah = 0 • Flag Zero = 1, bila pada semua bit register hasil = 0 • Flag Zero = 0, bila tidak semua bit pada register hasil = 0 Contoh : 0 1 1 0 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0 1 0 1 0 1 0 Flag zero = 0 Flag carry = 1 Mikroposesor Z-80 dan Mikrokontroler 167 2. Flag Carry ( C ) Flag carry menunjukkan bahwa apakah pada proses operasi sebuah bit carry dipindahkan dari bit tertinggi MSB pada register hasil. Kondisi ini dapat terjadi pada operasi : ⇒ Penjumlahan, bila hasil proses data lebih dari 8 bit, atau 16 bit. ⇒ Pengurangan a - b , bila b > a, hasilnya juga negatip ⇒ Pergeseran , bila nilai 1 bit pada bit tertinggi atau terendah digeserkan ke carry. • Flag carry = 1, bila terjadi carry ( lebihan/bawaan ) • Flag carry = 0, bila tidak terjadi carry. Flag carry dapat diset melalui perintah SCF dan disalin melalui perintah CSF. 3. Flag Sign ( S ) Pada operasi yang mempengaruhi flag, flag sign menyimpan kondisi bit tertinggi dari register hasil. • Flag sign = 1 bila bit tertinggi dari register hasil = 1 • Flag sign = 0 bila bit tertinggi dari register hasil = 0 4. Flag Parity/Overflow ( ρ/v ) Bit kedua dari register flag mempunyai 4 ( empat ) arti yang berbeda, tergantung dari hasil akhir pelaksanaan operasi. a. Flag Overflow Pengertian ini berlaku setelah pelaksanaan dari perintah aritmatik; - ADD, ADC, SUB, SBC - INC, DEC Flag overflow diset 1 pada proses perpindahan dari bit ke 7 ke bit 8, yaitu yang mempengaruhi tanda bilangan positip atau negatip pada perhitungan bilangan. b.Flag parity Pengertian ini berlaku setelah pelaksanaan dari perintah berikut ini : - Perintah logika → AND, OR, XOR - Perintah geser → RL, RR, RLC, SLA, SRA, SRL, RLD, RRD - Aritmatik BCD → DAA - Perintah input dengan pengalamatan tidak langsung IN r, ( c ) • Flag parity = 1, bila jumlah bit dari hasil akhir operasi adalah genap • Flag parity = 0, bila jumlah bit dari hasil akhir operasi adalah ganjil. c. Penjumlahan Nol pada perintah Blok Mikroposesor Z-80 dan Mikrokontroler 168 Pada perintah berikut untuk transfer Blok dan pembanding Blok. Flag P/V menunjukkan keadaan register BC, yang pada operasi ini dipakai sebagai register penghubung. - Transfer Blok → LDI, LDIR, LDD, LDDR - Pengamatan Blok → CPI, CPIR, CPD, CPDR. Hal tersebut diatas berlaku jika : - Flag P/V = 0, bila register penghitung BC = 0000 H - Flag P/V = 1, bila register penghitung BC ≠ 0000 H 5. 6. Flag Pengurangan ( N ) Urutan perhitungan untuk persamaan desimal (DAA) pada operasi penjumlahan berbeda dengan operasi pengurangan, hal ini tergantung pada kondisi bit flag N. Pada operasi pengurangan nilai flag N di set, sedangkan untuk operasi penjumlahan flag N di reset. Flag Half Carry ( H ) Bila pada penjumlahan terdapat perpindahan Carry dari Bit 3 ke bit 4 maka Flag Half Carry ( H ) diset, bila tidak ada carry, flag half carry ( H ) di reset. Pada pengurangan flag half carry ( H ) di set bila terjadi perpindahan pada bit ke 4 ke bit 3. 6.1.8 Pengalamatan Memori ( Penyimpan Program/data ) Kapasitas Pengalamatan memori Kapasitas penyimpan pada RAM atau EPROM tergantung pada jumlah PIN alamat ( Ao - An ) dari RAM/EPROM tersebut, dan dihitung dengan rumus : Kapasitas Penyimpan = 2 n + 1 Sebagai contoh : ∗ Jumlah pin sebuah RAM 6116 = sebanyak 11 buah ( Ao ∼ A10 ) ∗ Maka kapasitas RAM ini adalah : 2 ( 10 + 1 ) = 2 11 = 2048 lokasi Mikroposesor Z-80 dan Mikrokontroler Susunan Pin EPROM Gambar 6.1.7 Konfigurasi Pin EPROM 169 Mikroposesor Z-80 dan Mikrokontroler 170 6.1.8.1 Pengalamatan RAM 6116 dalam Operasi Dasar LD3 LD0 SWE Gambar 6.1.8 Rangkaian RAM 6116 Operasi dasar yang dilaksanakan pada RAM : adalah operasi penulisan data atau pembacaan data ke / dari RAM oleh CPU. Data yang tersimpan sifatnya sementara, tergantung pada catu daya pada RAM. Proses jalannya operasi dasar RAM 6116 a. Proses Penulisan Data. • Tentukan data pada Bus Data ( SD3 - SD0 ), contoh : 6 H • Tentukan Alamat Penyimpan ( SA3 - SA0 ), contoh : OH • S WE dibuka → operasi menulis • S OE ditutup • S CS ditutup - dibuka • Ulangi proses penulisan diatas ( langkah 1 - 5 ) untuk mengisi alamat lainnya yaitu 4 H dengan data EH ( catu jangan diputuskan pada proses ini ) b. Proses Pembacaan Data • Posisi sakelar SD3 - SD0 pada posisi terbuka semua • Tentukan Alamat Penyimpan ( SA3 - SA0 ) yang akan dibaca datanya, contoh : OH • S WE → ditutup • S OE → di buka →operasi membaca • S CS → ditutup - dibuka • Pada LED LD3 - LD0 akan menunjukkan data 6 H Mikroposesor Z-80 dan Mikrokontroler • 171 Ulangi proses pembacaan diatas ( langkah 1 - 6 ) untuk membaca isi alamat penyimpan lainnya, yaitu : 4 H. Data yang akan ditunjukkan pada LED LD3 - LD0 adalah EH. • 6.1.8.2 Pengalamatan EPROM 2716 dalam operasi dasar Gambar 6.19 Rangkaian EPROM 2716 Operasi dasar yang dapat dilakukan pada EPROM adalah hanya operasi pembacaan data dari EPROM oleh CPU. Data tersimpan tetap paten pada EPROM dan tidak tergantung pada catu daya . Pengisian data pada EPROM dilakukan dengan mempergunakan EPROM Writer/Programer. Perencanaan Pendekode Pengalamatan RAM/EPROM a. Pemetaan Lokasi Pengalamatan A1 A1 A1 A1 A1 A1 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 Daerah Memori 0000 H alamat awal EPROM 0FFFH alamat akhir EPROM 1000H alamat awal RAM 17FFH alamat akhir RAM Mikroposesor Z-80 dan Mikrokontroler b. Persamaan Boole CS EPROM = (( MREQ ∨ A15 ) ∨ A14 ∨ A13 ∨ A12 ) CS RAM = ((( MREQ ∨ A15 ) ∨ A14 ) ∨ A13 ∨ A12 ) ∨ A11) → Bekerja dengan negatif → yang dicari c. Rangkaian Pendekode Pengalamatan RAM /EPROM Gambar 6.1.10 Rangkaian Dekoder RAM/EPROM 172 Mikroposesor Z-80 dan Mikrokontroler 173 6.1.8.3 Pengalamatan PPI 8255 PPI 8255 terdiri dari 4 register port yang menampung data 8 bit dan berhubungan dengan bus data sistem melalui bus data internal. Dalam register ini ditempatkan data masukan, keluaran atau data kata kendala. Masing-masing register mempunyai alamat sendiri yang dapat dipilih melalui pengkodean pengalamatan PPI 8255. Gambar 1 : Menunjukkan Pin - Pin dari PPI 8255 dengan fungsinya masing – masing D7 - D0 RESET CS RD WR A0,A1 PA7-PA0 PB7-PB0 PC7-PC0 Vcc GND Data Bus (BiDirectional) Reset Input Chip Select Read Input Write Input Port Adress Port A (BIT) Port B (BIT) Port C (BIT) +5 Volts 0 Volt 8255 OPERATIONAL DESCRIPTION Gambar 6.1.11 Konfigurasi Pin PPI 8255 Pin - Pin Saluran Data : ⇒ Bus Data : D7 - D0 ⇒ Bus Port A : PA7 - PA0 ⇒ Bus Port B : PB7 - PB0 ⇒ Bus Port C : PC7 - PC0 Pin - Pin Saluran Pengontrol : ⇒ Baca (Read) : RD ⇒ Tulis (Write) : WR ⇒ Reset : Reset Pin-pin Pendekode Alamat : Pin - pin yang sangat penting untuk mengkode alamat register PPI 8255 adalah : Pin alamat : A1 dan A0 serta pemilih chip (Chip select) : CS Mikroposesor Z-80 dan Mikrokontroler 174 keterangan fungsi masing-masing pin dan penggunaannya dalam rangkaian D7 - D0 : Dihubungkan ke sakelar dan LED Sakelar dan LED menggantikan fungsi Bus Data sebagai jalannya data 2 arah (membaca dan menulis). Untuk rangkaian ini pada saat operasi membaca data, posisi sakelar SD7 - SD0 harus terbuka. PA7 - PA0 : Dihubungkan ke LED Konfigurasi PPI 8255 mengatur port A sebagai terminal keluaran data dan LED dipakai untuk menampilkan data keluaran pada terminal port A. PB7 - PB0 : Dihubungkan ke sakelar Sakelar dipakai untuk memasukkan data ke terminal port B. RD : Dihubungkan ke sakelar Sakelar dipakai untuk memasukkan sinyal baca pada terminal RD WR : Dihubungkan ke sakelar Sakelar dipakai untuk memasukkan sinyal tulis pada terminal WR Sakelar Write (S WR) terbuka : operasi menulis RESET : Dihubungkan ke sakelar Sakelar dipakai untuk memasukkan sinyal Reset pada terminal Reset Sakelar Reset (S RS) terbuka : PPI tidak terreset CS : Dihubungkan ke sakelar Sakelar dipakai untuk memasukkan sinyal Pemilihan Chip pada terminal (CS) Chip Select Sakelar CS terbuka : PPI aktif A1-A0 : Dihubungkan ke sakelar Sakelar dipakai untuk memasukkan data alamat Port Mikroposesor Z-80 dan Mikrokontroler 175 6.1.8.4 Operasi Dasar PPI 8255 Reset 1 CS X RD X WR X A1 X Operasi Membaca ( Read ) 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 Operasi Menulis ( Write ) 0 0 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 1 Fungsi yang tidak diperbolehkan X 1 X X X 0 0 0 0 0 1 1 1 1 X A0 X Operasi reset Port A, B dan C sebagai Masukan 0 1 0 Port A → Bus Data Port B → Bus Data Port C → Bus Data 0 1 0 1 Bus Data Bus Data Bus Data Bus Data X Bus Data → Berimpedansi tinggi Kondisi tidak syah Bus Data → Berimpedansi tinggi 1 X → → → → Port A Port B Port C Register Kontrol Menunjukkan kepada kita bagaimana untuk hubungan masing-masing Pin dan penggunaannya dalam menstransfer data . Gambar 6.1.12 Rangkaian PPI 8255 Mikroposesor Z-80 dan Mikrokontroler 176 Jalan Operasi Dasar PPI 8255 : a. Proses Inisialisasi PPI 8255 • Tentukan data kata kendala pada Bus Data (S D7 - S D0) • Contoh : 82H (Port A=Keluaran, Port B=Masukan ). • RS → dibuka • SA0 dan SA1 → ditutup (Alamat Register Kontrol) • S RD → ditutup • S CS → dibuka • S WR → ditutup - dibuka (Operasi Menulis). • Hasil LED PA7 - PA0 = Padam b. Proses Menulis Data dari Bus Data ke Port A • Tentukan data (yang akan dikeluarkan ke Port A) pada Bus Data SD7 - SD0 • SR → dibuka • S A0 dan S A1 → dibuka (alamat Port A) • S RD → ditutup • A CS → dibuka • S WR → ditutup- dibuka (operasi Menulis) • Hasil LED PA7- PA0 menyala sesuai data saklar SD7-SD0 berarti telah terjadi pemindahan data dari bus data ke port A (penulisan data dari Bus Data ke Port A) c. Proses Membaca Data dari Port B ke Bus Data S R → dibuka S A0 → ditutup dan S A1 → dibuka (alamat Port B) S WR → ditutup S CS → dibuka S RD→ ditutup- dibuka (operasi Membaca) 6.1.8.5 Peng-alamatan PPI 8255 pada sistem minimal Z 80 Beberapa pin masukan dan keluaran dari CPU Z 80 dipergunakan dalam peng-alamatan PPI ini. Selain Pin-Pin Kontrol : WR,RD,RESET dan Bus Data dari CPU, juga dipergunakan Pin alamat A7-A0 dan Pin IOREQ. A7-A0 dipergunakan untuk memberikan data alamat port. IOREQ dipergunakan bersama sinyal-sinyal alamat A7-A2 untuk mengaktifkan PPI 8255. A7-A2 dan IOREQ merupakan masukan dari Blok Pendekode Pengalamatan Port PPI, yang mana dalam Blok Pengalamatan ini dibangun Rangkaian Pendekode. Rangkaian Pendekode ini berfungsi untuk mengaktifkan PPI 8255 pada daerah peng-alamatannya. Kondisi data A7-A2 (yang bersama-sama IOREQ, dapat mengaktifkan PPI 8255 melalui CS) dan kondisi data A1-A0 dapat menentukan/menunjukkan alamat-alamat Port dan Register Kontrol PPI. Mikroposesor Z-80 dan Mikrokontroler Gambar 6.1.13 177 Pengalamatan PPI 8255 pada Minimal Sistem Z-80 Mikroposesor Z-80 dan Mikrokontroler 178 Sebelum rangkaian Pendekode/Pengalamatan Port PPI 8255 dibuat, maka kita harus menentukan peta alamat Port masukan keluaran. Sebagai contoh : Port A - - - - - - - - - - - - 00H Port B - - - - - - - - - - - - 01H Port C - - - - - - - - - - - - 02H Register Kontrol - - - - - 03H IOREQ 0 0 0 0 A7 0 0 0 0 A6 0 0 0 0 A5 0 0 0 0 A4 0 0 0 0 A3 0 0 0 0 A2 0 0 0 0 A1 0 0 1 1 A0 0 1 0 1 Dari bantuan tabel diatas, kita dapat menganalisa, bahwa untuk mengaktifkan PPI 8255, kondisi A7-A2 dan IOREQ dari CPU harus berkondisi “LOW” (“0”). dan untuk menentukan alamat Port A,B,C dan Register Kontrol ditentukan oleh A1 dan A0. Untuk membangun rangkaian Pendekode Pengalamatan Port sesuai data hasil analisa diatas,dapat dibangun dengan mempergunakan gerbang TTL dasar atau dengan Dekoder TTL 74138/74139. Rangkaian Pendekode Pengalamatan Port PPI Gambar 6.1.14 Rangkaian Pendekode Pengalamatan Port PPI Pada sistem Mikroprosessor dengan PPI lebih dari 1, hubungan hubungan PIN dari PPI dengan CPU, seperti pada sistem Mikroprosessor dengan 1 PPI yang jelas berbeda adalah pada Blok Pendekode Pengalamatan Port PPI. Mikroposesor Z-80 dan Mikrokontroler 179 6.1.9 Programmable Pheriperal Interface (PPI) 8255 (Perantara Pheriperal Terprogram) Penjelasan Fungsi PPI 8255 IC PPI 8255 adalah peranti perantara pheriperal terprogram yang di desain untuk kegunaan dalam sistem Mikrokomputer. Fungsinya adalah sebagai komponen Multiguna masukan ataupun keluaran. Untuk perantara antara peralatan pheriperal luar dengan sistem mikrokomputer. Konfigurasi Fungsi 8255 diprogram oleh sistem software tertentu. Lihat gambar 6.1.15 dibawah ini : Gambar 6.1.15 Konfigurasi Rangkaian PPI 8255 Buffer Bus Data : Buffer 8 bit dua (2) arah tiga (3) state ini, dipergunakan sebagai perantara 8255 dengan bus data sistem. Data diterima atau dikirim oleh buffer tergantung perintah masukan atau keluaran oleh CPU. Informasi kata kendala dan status dikirim melalui buffer. Baca Tulis dan Logik Kontrol Fungsi dari blok ini adalah untuk mengatur semua pengiriman internal dan external dari data dan kata kendala atau kata status. 8255 menerima masukan dari bus alamat dan bus kontrol CPU dan memfungsikannya untuk pelaksanaan tugas masing-masing kelompok kontrol 8255. Mikroposesor Z-80 dan Mikrokontroler 180 CS Chip Select (pemilih chip) kondisi “LOW” pada pin input ini, mengijinkan terjadinya komunikasi antara 8255 dengan CPU. RD Read (pembacaan) kondisi “LOW” pada pin input ini, mengijinkan 8255 untuk mengirimkan informasi data ke CPU melalui Bus data. Pada prinsipnya mengijinkan CPU membaca informasi data dari 8255. WR Write (penulisan) kondisi “LOW” pada pin input ini, memungkinkan CPU untuk menulis informasi data ke 8255. A0 - A1 Pemilih Port. Signal input-input ini, mengontrol pemilihan satu (1) dari empat (4) Port : Port A,B,C dan Register Kontrol. Ini biasanya dihubungkan dengan Bit - bit LSB dari bus alamat (A0 dan A1). Lihat gambar 3 (tabel) dibawah ini : A 1 0 0 1 A 0 0 1 0 R D 0 0 0 W R 1 1 1 C S 0 0 0 Input Operation (READ) Output Operation (WRITE) 0 0 1 1 0 1 0 1 1 1 1 1 0 0 0 0 0 0 0 0 X 1 X X 1 X X 0 1 X 1 1 1 0 0 Disable Function Reset Reset kondisi “HIGH” pada input ini, akan menghapus isi Register Kontrol dan semua Port (A,B, dan C) dan semua Port di “SET” sebagai masukan. Mikroposesor Z-80 dan Mikrokontroler 181 6.1.9.1 Sistem Pengontrolan Port Konfigurasi fungsi dari tiap-tiap “PORT” diprogram oleh software sistem, yang pada prinsipnya CPU mengirimkan data kata kendala ke register kontrol 8255. Kata kendala berisikan informasi seperti “MODE”, “SET BIT”,”RESET BIT” dan seterusnya, yang akan meng-inisialisasi konfigurasi fungsi dari port 8255. Setiap kelompok kontrol (untuk kelompok A dan B) menerima perintah dari “Logik Kontrol Read/Write”, menerima kata kendala dari bus data internal dan mengijinkan untuk pembentukan hubungan/pengelompokan port dan fungsinya. Kelompok kontrol A - Port A dan Port C atas (C7 - C4). Kelompok kontrol B - Port B dan Port C bawah (C3 - C0). Register kata kendala hanya dapat ditulis. Operasi pembacaan pada register kata kendala tidak diijinkan. Port A, B dan C 8255 terdiri dari 3 port 8 bit (A,B dan C), semua dapat dikonfigurasikan (dalam bermacam-macam fungsi) oleh Soft Ware Sistem. Port A Sebuah Buffer/Penyimpan keluaran data 8 bit dan sebuah penyimpan masukan data 8 bit. Port B Sebuah Buffer/Penyimpan keluaran data 8 bit dan sebuah penyimpan masukan data 8 bit. Port C Sebuah Buffer/Penyimpan keluaran data 8 bit dan sebuah Buffer masukan data 8 bit. Port ini dapat dibagi menjadi 2 port 4 bit melalui pengaturan Mode Kontrol. Setiap Port 4 bit terdiri dari sebuah penyimpan 4 bit dan itu digunakan untuk keluaran sinyal kontrol dan masukan sinyal status. 6.1.9.2 Penjelasan Proses Operasi 8255 1. Pemilihan Mode Ada 3 mode, dasar operasi yang dapat dipilih oleh Software sistem : Mode 0 - Dasar masukan dan keluaran Mode 1 - Masukan/Keluaran sesuai sinyal isyarat Mode 2 - Bus dua arah Bila masukan RESET menuju “High”, semua port akan di set menjadi Mode masukan (keadaan berimpedansi tinggi). Mode untuk port A dan port B dapat ditentukan secara terpisah saat port C dibagi dalam 2 bagian sesuai yang ditentukan oleh pendefinisian port A dan port B. Mikroposesor Z-80 dan Mikrokontroler 182 Semua register keluaran termasuk flip-flop status akan direset bila mode diganti. 2. Bit Tunggal untuk Set - Reset Beberapa bit dari 8 bit pada port C dapat di-Set atau di-Reset dengan menggunakan perintah Out. keistimewaan ini mengurangi Soft Ware, yang digunakan dalam aplikasi yang berdasarkan kontrol. Bila port C digunakan sebagai status/control untuk Port A atau Port B, Bit ini dapat di-Set/Reset oleh penggunaan operasi Set/Reset bit. Sebagaimana jika digunakan sebagai port data keluaran. Perhatikan gambar 4 dibawah ini : Definisi Mode Dasar dan Bus Perantara WR 4 Gambar 6.1.16 Mode Operasi PPI 8255 Mikroposesor Z-80 dan Mikrokontroler 183 Definisi Format Mode Gambar 6.17 Format Mode PPI 8255 Mode Operasi Mode 0 : Konfigurasi fungsi menyediakan operasi masukan/keluaran yang sederhana untuk masing-masing port. Tidak mengharuskan ada “HandShaking” (pertukaran isyarat dari dua peranti yang saling berhubungan), data secara sederhana ditulis ke atau dibaca dari port tertentu. Definisi dari fungsi dasar Mode 0 : Dua (2) port 8 bit dan dua (2) port 4 bit Setiap port dapat sebagai masukan atau keluaran Keluaran di simpan Masukan tidak disimpan Memungkinkan 16 jenis konfigurasi masukan/keluaran MODE 0 (BASIC INPUT) → Proses Sinyal Baca pada Mode 0 Gambar 7.40 Proses Sinyal Baca pada Mode Operasi 0 Mikroposesor Z-80 dan Mikrokontroler Definisi Mode 0 Port A B D4 D3 D1 D0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 GROUP A Port A Port C (Upper) OUTPUT OUTPUT OUTPUT OUTPUT OUTPUT OUTPUT OUTPUT OUTPUT OUTPUT INPUT OUTPUT INPUT OUTPUT INPUT OUTPUT INPUT INPUT OUTPUT INPUT OUTPUT INPUT OUTPUT INPUT OUTPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT 184 # 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 GROUP B Port B Port C (Lower) OUTPUT OUTPUT OUTPUT INPUT INPUT OUTPUT INPUT INPUT OUTPUT OUTPUT OUTPUT INPUT INPUT OUTPUT INPUT INPUT OUTPUT OUTPUT OUTPUT INPUT INPUT OUTPUT INPUT INPUT OUTPUT OUTPUT OUTPUT INPUT INPUT OUTPUT INPUT INPUT Mikroposesor Z-80 dan Mikrokontroler 185 6.1.10 Perencanaan Minimal Sistem Z - 80 Rangkaian minimal sistem yang kita rencanakan dibawah ini meliputi : A - Blok CPU Z - 80 B - Blok penyimpan C - Blok masukan keluaran ( input - Output ). Blok penyimpan data program dan blok masukan keluaran telah kita bahas pada pengalamatan penyimpan RAM - EPROM pengalamatan PPI 8255. A. Blok CPU Z - 80 terdiri dari : 1. Bus data 2. Bus alamat 3. Bus kontrol Bus kontrol terdiri dari : - Kontrol sistem - Kontrol CPU - Kontrol Bus CPU Dalam rangkaian minimal sistim Z - 80 ini, tidak semua pin dari CPU Z 80 kita pergunakan hanya beberapa pin/fungsi yang kita pergunakan antara lain. a. Bus data ( D1 - D0 ) , Input Output. Bus ini dipakai sebagai penghantar data 8 bit baik yang dari CPU ke penyimpan data ( memori ) atau masukan keluaran ( Input - Output ), atau sebaliknya. Arah jalannya sinyal pada bus ini, masuk ke CPU atau keluar dari CPU. b. Bus alamat ( A15 - A0 ), output. Dengan bantuan bus alamat ini, CPU dapat memilih lokasi penyimpan data/memori atau lokasi register dari masukan/keluaran ( Input Output ) yang berbeda-beda. Arah jalannya sinyal pada bus ini, keluar dari CPU. c. Bus control. Terdiri dari 13 saluran, yang arahnya masuk atau keluar ke / dari CPU. Masing sinyal kontrol ini dijelaskan sebagai berikut : Saluran detak ( CLK ), Input : Sinyal detak diumpankan ke CPU melalui saluran CLK. Dengan demikian CPU dan juga bus sistim akan bekerja mengikuti sinyal detak. Mikroposesor Z-80 dan Mikrokontroler 186 CPU Z - 80 dapat bekerja baik dengan frekuensi detak 1 MHz - 6 MHz. Rangkaian pembangkit detak : 1 - 6 MH z 1nF Z - 80 CLK 6 1K 1K Gambar 6.18 Rangkaian pembangkit detak Saluran Reset ( RESET ) , Input : Sinyal “ LOW “ diberikan pada saluran ini, maka penghitung Program ( PC ) akan diset dengan nilai 0000H dan Interupt Enable ( Pengaktif Interupt ) akan direset. Bila kemudian sinyal “ High “ diberikan pada saluran ini, maka program akan berjalan mulai dari alamat penyimpan program 0000H ( Start awal ) Rangkaian pembangkit Input Reset +5V Sakelar reset 4K7 1/3 74LS14 26 Z - 80 RESET 10 F/16V Gambar 7.42 Rangkaian pembangkit Input Reset Saluran Penyela ( INT dan NMI ) , Input : Sinyal “ Low “ yang diberikan pada saluran INT , memungkinkan untuk melaksanakan salah satu dari 3 penyelaan yang tersebunyi yaitu dalam modus 0, 1 dan 2. Sedang sinyal “ Low “ pada saluran NMI , CPU akan menjalankan program bagian yang berada pada alamat penyimpan program ( RAM EPROM ) 0066H. Rangkaian Pembangkit Sinyal INT dan NMI Mikroposesor Z-80 dan Mikrokontroler 187 +5V Sakelar INT 10K 16 INT 33 F/16V Z - 80 +5V Sakelar NMI 10K 17 NMI 33 F/16V Gambar 6.19 Rangkaian Pembangkit Sinyal INT dan NMI Saluran MREQ , Output Apabila CPU membaca op-code ( kode operasi ) yang berhubungan dengan alamat penyimpanan data/program ( memori ), maka CPU akan mengaktifkan saluran MREQ , MREQ = “Low“. Sinyal MREQ ini dipakai bersama dengan data alamat (A15-A0) untuk menunjuk alamat memori yang diinginkan. Saluran IOREQ , Output Apabila CPU membaca op code yang berhubungan dengan unit masukan keluaran (PI0), maka CPU akan mengaktifkan sinyal pengontrol masukan keluaran ( Input - Output ) IOREQ , IOREQ = “ Low “.Sinyal IOREQ dipakai bersama dengan data alamat (A7-A0) untuk menunjuk alamat Port Input Output yang diinginkan. Saluran RD , Output CPU akan mengaktifkan saluran RD , RD = “ Low “, selama CPU melaksanakan perintah untuk membaca data dari lokasi penyimpanan data/program ( memori ) atau register Input Output ( port ). Mikroposesor Z-80 dan Mikrokontroler 188 Saluran WR , Output CPU akan mengaktifkan saluran WR , WR = “ Low “ , selama CPU melaksanakan perintah untuk menulis data ke lokasi penyimpanan data/program ( memori ) atau register Input output ( port ). Untuk saluran - saluran lain pada CPU Z - 80, yang jalannya sinyal sebagai Input, harus diaktifkan sesuai fungsinya dalam sistim. +5V 10K 25 10K 24 z - 80 BUSRQ WAIT Gambar 6.1.20 Rangkaian Pembangkit Sinyal Untuk saluran - saluran lain yang arah jalannya sinyal sebagai output, biarkan tak terhubung kemana - mana. 6.1.11 Sistim Pengalamatan Mikroprosesor Z-80 Kejelasan yang sistimatik tentang cara pengalamatan sangat penting pada pengolahan data dalam jenis Prosesor, sebab program yang disusun tanpa penggunaan pengalamatan yang pasti, maka program tersebut menjadi kurang efektif dalam penganalisaannya. Semakin panjang kode operasi sebuah perintah, maka dapat juga dikombinasikan banyak cara pengalamatannya. Pada dasarnya cara pengalamatannya dapat dibagi menjadi 4 cara yang berbeda. 1. Pengalamatan Immediate Disini operan yang akan diakses langsung terkandung pada kode mesin, ini adalah cara yang sangat sederhana, untuk mengisi konstanta ke Register atau lokasi penyimpanan . Tentu saja operan tidak dapat diubah lagi, maka kode mesin yang demikian kebanyakan disimpan di ROM . Kode operasi hanya dapat mengandung satu petunjuk tentang panjang dari operan yang mengikutinya . Selain itu bagian alamat masih harus mengandung sebuah keterangan tentang tujuan dimana konstanta harus dihubungkan kepadanya. Mikroposesor Z-80 dan Mikrokontroler 189 2. Pengalamatan Langsung (Direct) Disini kode mesin mengandung sebuah atau lebih alamat-alamat yang kemudian isi dari alamat-alamat ini akan diakses lebih lanjut. Panjang alamat-alamat ini dapat berbeda menurut keadaan apakah itu mengenai sebuah Register, alamat penyimpan atau alamat masukan/keluaran, perintah dapat mengandung sebuah petunjuk, apakah bagian pertama diberikan sebagai alamat tujuan atau sumber. Contoh : LD A, (1234H) adr adr + 1 adr + 2 0 0 1 1 1 0 1 0 0 0 1 1 0 1 0 0 Alamat sumber penyimpan 16 0 0 0 1 0 0 1 0 BIT Contoh : INC L adr 0 0 1 0 1 1 0 0 Op-kode yang mengandung alamat Register 3. Pengalamatan Tidak Langsung (Indirect) Kode mesin hanya mengandung sebuah petunjuk, dimana cara untuk mendapatkan alamat dari operan yang akan diakses . Petunjuk dapat terjadi pada sebuah register CPU atau pada sebuah lokasi penyimpan dan disana alamat efektif akan didapatkan untuk semua pengalamatan secara tidak langsung dengan Register , memberikan kode mesin yang pendek . Karena sebagai pengganti alamat 16 BIT diberikan hanya 3 BIT alamat Register. Perintah semacam itu, pada Z 80 : Contoh : PUSH dan POP menaikkan atau menurunkan Register alamat yang dipakai secara otomatis dan terjadi apakah pada sebelum atau sesudah pelaksanaan perintahnya. Pengalamatan tidak langsung, dapat di bagi : Contoh : RRC (HL) adr 1 1 0 0 1 0 1 1 Petunjuk pada HL Register adr + 1 0 0 0 0 1 1 1 0 Alamat Contoh : PUSH DE Mikroposesor Z-80 dan Mikrokontroler adr 190 1 1 0 1 0 1 0 1 Pengalamatan langsung dari Register DE, isi dari Register SP dipakai sebagai alamat 4. Pengalamatan Terindeks Disini alamat efektif disusun dari beberapa bagian yang mana bagianbagian ini dapat berasal dari Register-Register CPU, Register masukan /keluaran atau dari lokasi penyimpan. Contoh : LD E, (IX + 12) adr adr + 1 adr + 2 1 1 0 1 1 1 0 1 Konstanta 12H ditambah 0 1 0 1 1 1 1 0 dengan isi Register IX 0 0 0 1 0 0 1 0 6.1.12 Perintah Transfer Untuk transport data hanya dapat dilaksanakan kemungkinankemungkinan dibawah ini : Register CPU ⇔ Register CPU Register CPU ⇔ Memori Register CPU ⇔ Register Input – Output . Mnemonik LD r,n r = Register CPU (8 bit) A,B,C,D,E,F,H,L n = Data (8 bit) LD rr, nn rr = Register CPU (16 bit) BC,DE,HL,IX,IY,SP nn = Data (16 bit) Operasi r←n rr ← nn Register CPU r atau rr diisi dengan konstanta n atau nn yang mengikuti kode mesin Mikroposesor Z-80 dan Mikrokontroler 191 Format adr 0 adr + 1 0 LD r, n r 1 1 KONSTANTA adr = Alamat Memori r dan rr = dapat berupa : A = 111 D = 010 B = 000 E = 011 C = 001 H = 100 0 L = 101 LD rr, nn adr 0 0 rr 0 0 0 1 adr + 1 KONSTANTA LSB adr + 2 KONSTANTA MSB BC = 00 DE = 01 HL = 10 SP = 11 Flag Tidak berpengaruh 6.1.12.1 Perintah Transfer dengan Pengalamatan Langsung Pada pengalamatan langsung, alamat sumber dan tujuan, berada pada kode mesin. Alamat register atau memori dapat ditulis langsung. Perintah transfer pengalamatan langsung dapat dibagi menjadi : • Pengalamatan Register - Register • Pengalamatan Register - Memori 1. Pengalamatan Register-register Perintah ini mengakibatkan transfer data dari sebuah Register CPU ke Register CPU yang lain. Mnemonik LD r,r’ Operasi r ← r’ Register CPU tujuan r diisi dengan isi Register CPU sumber r’ Format 0 1 r Flag Tidak terpengaruh r’ Mikroposesor Z-80 dan Mikrokontroler 192 2. Pengalamatan Register Memori Jenis pengalamatan ini, melaksanakan transfer antara Register CPU dan lokasi Memori yang dituliskan di belakang kode mesin. Sebuah Register CPU diisi dengan isi dari lokasi memori yang dihasilkan di belakang mesin. Mnemonik Register CPU ← Memori, Memori ← Register CPU LD A, (nn) LD (nn), A LD rr, (nn) LD (nn), rr rr = Register CPU 16 bit ( BC, DE, HL, SP ) (nn) = Isi dari tanda ini selalu diisi oleh alamat Memori dan tanda ini berarti isi dari alamat Memori yang ditunjuk oleh nn. Operasi Register A CPU ← Memori Register CPU diisi oleh isi dari lokasi Memori yang alamatnya di tunjuk oleh alamat dalam tanda kurung. Memori ← Register A CPU Memori yang alamatnya ditunjuk oleh alamat dalam tanda kurung diisi oleh isi Register A CPU. Register CPU ← Memori Register CPU 16 bit diisi oleh isi dari memori yang alamatnya ditunjuk oleh alamat dalam tanda kurung. Memori ← Register CPU 16 Bit Lokasi Memori yang alamatnya ditunjuk oleh alamat dalam tanda kurung diisi oleh isi dari Register CPU 16 Bit. Format adr 0 adr + 1 adr + 2 LD A, (nn) 0 1 1 1 0 1 0 Alamat LSB Alamat MSB LD rr, (nn) adr 1 1 1 0 1 1 0 1 adr + 1 0 1 rr 1 0 1 1 adr + 2 Alamat LSB adr + 3 Alamat MSB Flag Tidak terpengaruh. LD (nn), A 0 0 1 1 0 0 1 0 Alamat LSB Alamat MSB 1 1 0 1 LD (nn), rr 1 0 1 1 0 1 rr 0 0 1 1 Alamat LSB Alamat MSB Mikroposesor Z-80 dan Mikrokontroler 193 6.1.12.2 Perintah Transfer dengan Pengalamatan tidak Langsung melalui Pasangan Register Sebuah Register CPU diisi oleh isi sebuah lokasi Memori yang ditunjuk oleh pasangan Register CPU. Keuntungan dari jenis pengalamatan ini adalah : • Kode mesin lebih pendek seperti pada pengalamatan langsung sehingga kebutuhan memori program sedikit dan pelaksanaan perintah lebih cepat. • Data alamat dapat mudah dimanipulasi. Mnemonik LD r, (rr) Register CPU ← Memori LD (rr), r Memori ← Register CPU r = Register CPU 8 bit ( A,B,C,D,E,H,L ) rr = Regiser CPU 16 bit HL : dapat dipergunakan untuk semua Register CPU BC,DE : Hanya dapat dipergunakan untuk akkumulator Operasi r ← (rr) Register CPU r diisi oleh isi dari lokasi Memori yang ditunjuk oleh pasangan Register CPU rr (rr) ← r Lokasi Memori yang ditunjuk oleh pasangan Register CPU rr diisi oleh isi Register CPU r Mikroposesor Z-80 dan Mikrokontroler 194 Format LD r, (HL) 0 1 r LD (HL), r 0 1 1 1 0 r 1 1 0 LD (BC),A 0 0 0 0 0 0 1 0 LD (DE), A 0 0 0 1 0 0 1 0 LD (HL), n 0 0 1 1 0 1 1 KONSTANTA 0 LD A, (BC) 0 0 0 0 1 0 1 0 LD A, (DE) 0 0 0 1 1 0 1 0 Flag Tidak terpengaruh. 6.1.12.13 Perintah Transfer dengan Pengalamatan tidak Langsung melalui Register + Offset Dipergunakan untuk transfer data 8 bit antara Register, CPU dan Memori. Penunjukkan yang tepat sebenarnya adalah Register tidak langsung + offset. Sebagai Register alamatnya biasa dipakai Register index IX dan IY. Untuk itu Register index ini harus diisi terlebih dahulu dengan alamat basis yang diinginkan. Mnemonik : LD r, (IR + e) LD (IR + e), r LD (IR + e), n r IR e n Register CPU ← Memori Memori ← Register CPU = Register CPU 8 bit ( A,B,C,D,E,HL) = Register Index IX dan IY = Jarak,offset,konstanta 8 bit = Konstanta 8 bit Operasi Register CPU ← Memori Register CPU r diisi oleh isi dari lokasi Memori yang ditunjuk oleh isi Register Index + offset Memori ← Register CPU Lokasi memori yang ditunjuk oleh Register Index + offset diisi oleh register CPU r Mikroposesor Z-80 dan Mikrokontroler 195 Format LD r, (IX + e) adr 1 1 0 1 1 1 0 1 adr + 1 0 1 r 1 1 0 adr + 2 KONSTANTA e LD (IX + e), r 1 1 0 1 1 1 0 1 0 1 1 1 0 r KONSTANTA e LD r, (IY + e) adr 1 1 1 1 1 1 0 1 adr + 1 0 1 r 1 1 0 adr + 2 KONSTANTA e LD (IY + e), r 1 1 1 1 1 1 0 1 0 1 1 1 0 r KONSTANTA e LD (IX + e), n 1 1 0 1 1 1 0 1 0 0 1 1 0 1 1 0 KONSTANTA e LD (IY + e) 1 1 1 1 1 1 0 1 0 0 1 1 0 1 1 0 KONSTANTA e KONSTANTA n Mikroposesor Z-80 dan Mikrokontroler 196 6.1.12.4 Perintah Transfer dengan Pengalamatan Stack Perintah ini memungkinkan pemrograman untuk menyimpan isi Register CPU pada Memori sementara dan untuk pemrosesan secara sederhana pada blok data. Pengalamatan Stack adalah prinsip pada pengalamatan Register CPU 16 bit. Contoh : Stack pointer (SP, Stack pointer). SP secara otomatis akan dinaikkan atau akan diturunkan 2, setelah pembacaan atau penulisan pada Stack. Mnemonik POP rr PUSH rr rr Register CPU ← Memori Memori ← Register CPU = Register CPU 16 bit (AF,BC,DE,HL,IX,IY) Operasi : Register alamat SP ini mempunyai sifat yang sangat praktis yaitu sebelum penyimpanan sebuah byte oleh perintah push, isi dikurangi 1 dan setelah pembacaan sebuah byte oleh perintah POP, isi SP ditambah 1. Proses penambahan dan pengurangan isi SP dilakukan secara otomatis oleh block pemroses perintah. 6.1.12.5 Perintah Transfer dengan Pertukaran Data Dengan kelompok perintah ini, tidak sama seperti register tujuan di isi dengan Register sumber, (isi pada register sumber tidak berubah), tetapi pada perintah ini, isi kedua Register saling bertukar. Mnemonik : EX DE, HL EX (SP), HL Format : EX DE, HL 1 1 1 0 1 0 1 1 EX (SP), HL 1 1 1 0 Operasi : Isi pasangan Register saling dipertukarkan D=H E=L SP = H SP + 1 = L Flag Tidak terpengaruh 0 0 1 1 Mikroposesor Z-80 dan Mikrokontroler 197 6.1.13 Perintah untuk Input Output dengan Pengaturan Langsung Perintah ini mengontrol lalu lintas bus data antara CPU dan piranti input output.Pada sebagian sistim mikroprosessor sering dilengkapi dengan banyak blok input output dengan sebuah atau lebih register, yang melalui fungsi blok input output ini dipakai sebagai pelayanan penyangga data pada Register sementara atau pengaturan informasi kontrol. Register pada piranti ini,yang dipakai sebagi penghubung sistim dengan dunia luar (peripheral) disebut sebagai “port”, dan alamatnya disebut “alamat port”. Jumlah alamat yang dipakai oleh perintah input output ini hanya 8 bit dan dalam pelaksanaannya diberikan melalui jalur penghantar A7 - A0. Dengan demikian dapat dibentuk 256 alamat port yang berbeda. Mnemonik : IN A, (n) CPU ← Register I/O OUT (n), A Register I/O ← CPU n : konstanta 8 bit Format : adr adr + 1 1 1 IN A, (n) 0 1 1 0 Konstanta 1 1 1 1 OUT (n), A 0 1 0 0 Konstanta 1 1 Operasi : A, (n) Akku CPU diisi dengan isi register I/O yang beralamat n (n), A Register I/O yang beralamat n diisi oleh isi dari Akku CPU Flag Tidak terpengaruh CONTOH : IN A,(20H) 0900 0901 DB 20 Mikroposesor Z-80 dan Mikrokontroler 198 6.1.13.1 Perintah untuk Input Output dengan Pengalamatan tidak Langsung Mnemonik : IN r, (C) OUT (C), r r C CPU Register I/O Piranti I/O CPU = Register 8 bit A,B,C,D,E,H,L = Register C yang isinya diberikan sebagai penunjuk penghantar alamat A7 - A0 Format IN r, (C) adr 1 1 1 0 1 1 0 1 adr + 1 0 1 r 0 0 0 OUT (C), r 1 1 1 0 1 1 0 1 0 1 r 0 0 1 Operasi Register CPU tujuan r diisi dengan isi dari Register C yang merupakan pengalamatan dari port I/O Register C yang merupakan pengalamatan dari port I/O diisi dengan isi dari Register CPU r. Flag : Pada perintah input (IN) Flag S = 1, bila bit tertinggi = 1 Flag Z = 1, bila data yang dibaca = 0 Flag P = 1, pada parity genap dari data yang di baca Register Flag Flag adalah sebuah flip-flop di dalam blok penghitung dari CPU dan disebut sebagai Register Flag. Keadaan Flag ini setelah pelaksanaan sebuah perintah ( yang mempengaruhi Flag ) akan menghasilkan sifat dari hasil sebuah operasi. Pada Z-80 , Flag di pasangkan dengan Akkumulator dan dikenal dengan program status wort ( PSW ). AKKUMULATOR D7 FLAG D0 D7 S Z - H D0 - P/V N C Flag Zero Itu menunjukkan, apakah pada pelaksanaan terakhir ini operasi hasil pada semua bit adalah = 0. Kondisi Flag Flag Zero = 1, bila pada semua bit pada Register hasil = 0. Mikroposesor Z-80 dan Mikrokontroler 199 Flag Zero = 0, bila semua bit pada Register hasil ≠ 0. Contoh : 0000 0000 + 1 0000 Flag Zero = 1 Flag Carry = 1 Flag Carry Menunjukkan apakah pada proses operasi sebuah bit carry dipindahkan dari bit tertinggi MSB pada Register hasil , itu dapat terjadi pada operasi : Penjumlahan, bila hasil dari 8 bit atau 16 bit. Pengurangan a - b, bila b>a, hasil juga negatif. Pergeseran, bila nilai 1 pada bit tertinggi atau terendah di geserkan ke carry. Kondisi Flag ♦ Flag Carry = 1, bila terjadi Carry. ♦ Flag Carry = 0, bila tidak terjadi Carry. Flag Carry dapat set melalui perintah SCF dan dibalik melalui perintah SCF. Flag Sign Pada operasi yang mempengaruhi Flag, Flag sign menyimpan kondisi bit tertinggi dari Register hasil, jadi : Kondisi Flag ♦ Flag Sign ♦ Flag Sign = 1, bila bit tertinggi dari Register hasil = 1 = 0, bila bit tertinggi dari Register hasil = 0 Flag Parity / Overflow Bit ke 2 dari Register Flag mempunyai 4 arti yang berbeda, tergantung dari hasil akhir pelaksanaan operasi . 1. Flag Overflow Pengertian ini berlaku setelah pelaksanaan perintah berikut : a). ADD, ADC, SUB, SBC. b). INC, DEC Flag overflow diset 1 pada proses perpindahan dari bit ke 7 ke bit ke 8, yaitu yang mempengaruhi tanda bilangan positif atau negatif pada perhitungan bilangan. 2. Flag Parity Pengertian ini berlaku setelah pelaksanaan perintah berikut ini : Mikroposesor Z-80 dan Mikrokontroler 200 a). Perintah logika b). Perintah geser AND, OR, XOR RL, RR, RLC, RRC SLA, SRA, SRL RLD, RRD c). Aritmatik BCD DAA Perintah input dengan pengalamatan tidak langsung IN r, (C). Kondisi Flag ♦ Flag Parity adalah genap ♦ Flag Parity adalah ganjil = 1, bila jumlah 1 dan hasil akhir operasi = 0, bila jumlah 1 dan hasil akhir operasi 3. Penunjukan Nol pada Perintah Blok Pada perintah berikut untuk transfer blok dan pengamatan blok, Flag P?V menunjukan keadaan Register BC, yang pada operasi ini dipakai sebagai Register penghitung. a). Transfer blok LDI, LDIR, LDD, LDDR b). Pengamatan blok CPI, CPIR, CPD, CPDR Itu berlaku : ♦ Flag P/V = 0, bila Register penghitung BC = 0000H ♦ Flag Parity = 1, bila Register penghitung BC ≠ 0000H 4. Penunjukan dari Pengaktif Flip-flop Interupsi (IFF2) Ini adalah kemungkinan satu-satunya, IFF2, yang menunjukkan keadaan yang sah untuk proses interupt , untuk membaca. Penggunaan dari Flag P/V ini , berlaku untuk perintah LD A,I dan LD A,R 6.1.14 Perintah Aritmatika Operasi Aritmatika dengan operasi 8 bit Operasi ini mempunyai format seperti dibawah ini : ADD : hasil = operan 1 + operan 2 SUB : hasil = operan 1 - operan 2 ADC : hasil = operan 1 + operan 2 + carry SBC : hasil operan 1 - operan 2 - carry Kedua operasi disepakati sebagai bilangan biner dan operasinya berlangsung didalam ALU dan pengalih bilangan setiap instruksi berlaku 2 operan saja. Mikroposesor Z-80 dan Mikrokontroler Mnemonik : ADD A, r 201 SUB r ADC A, r SBC A, r Operasi : Isi dari akku dan register CPU disepakati sebagai bilangan biner 8bit dan saling ditambahkan. Hasil berada pada akkumulator. A = A+r A = A-r A = A+r+C Isi akku yang baru adalah isi akku yang lama + atau isi register CPU r A = A-r-C Pada perintah ini, hasil masih ditambahkan pula isi dari flag carry Contoh : Operan 1 80 H Operan 2 + 20 H Hasil sementara A0 H Carry flag + 01 H Hasil akhir A1 H Format Dalam penjelasan format perintah bentuk ini, kita kelompokkan atas jenis pengalamatan a. Register dengan regisater CPU A, B, C, D, E, H, L. 1 0 1 0 0 r r r ADD A, r 1 0 0 0 1 r r r SUB r 1 0 0 0 1 r r r ADC A, r 1 0 0 1 1 r r r r = Pengalamatan register CPU SBC A,r A = 111 B = 000 C = 011 D = 010 E = 011 H = 100 L = 101 Konstanta 8 bit Sebagai operan 2 digunakan konstanta yang penulisanya mengikuti Op - Code 1 1 0 0 0 1 1 0 ADD A, n Konstanta 8 bit 1 1 0 1 0 1 Konstanta 8 bit 1 0 SUB n Mikroposesor Z-80 dan Mikrokontroler 202 1 1 0 0 1 1 Konstanta 8 bit 1 0 ADC A, n 1 1 0 1 1 1 Konstanta 8 bit 1 0 SBC A, n c. Register tidak langsung Sebagai operan 2 digunakan isi dari lokasi memori yang ditunjukkan melalui register CPU 16 bit HL 1 0 0 0 0 1 1 0 ADD A, (HL) 1 0 0 1 0 1 1 0 SUB (HL) 1 0 0 0 1 1 1 0 ADC A, (HL) 1 0 0 1 1 1 1 0 SBC A, (HL) d. Indeks offset Sebagai operan 2 digunakan isi dari lokasi memori yang ditunjukkan melalui register index + offset e 1 1 0 1 1 1 0 1 ADD A, 1 0 0 0 0 1 1 0 (IX+e) Konstanta offset e 1 1 1 1 1 1 0 1 ADD A, 1 0 0 0 0 1 1 0 (IY+e) Konstanta offset e 1 1 0 1 1 1 0 1 SUB 1 0 0 1 0 1 1 0 (IX+e) Konstanta offset e 1 1 1 1 1 1 0 1 SUB 1 0 0 1 0 1 1 0 (IY+e) Konstanta offset e 1 1 0 1 1 1 0 1 ADC A, 1 0 0 0 1 1 1 0 (IX+e) Konstanta offset e 1 1 1 1 1 1 0 1 ADC A, 1 0 0 0 1 1 1 0 (IY+e) Konstanta offset e 1 1 0 1 1 1 0 1 SBC A, 1 0 0 1 1 1 1 0 (IX+e) 1 1 1 1 1 1 0 1 1 0 0 1 1 1 1 0 SBC A, (IY+e) Konstanta offset e Konstanta offset e Flag Semua Flag terpengaruh Mikroposesor Z-80 dan Mikrokontroler 203 Operasi Aritmatika dengan Operan 16 Bit Mnemonik ADD HL, rr rr = BC, DE, HL, SP ADD IX, rr rr = BC, DE, SP, IX ADD IY, rr RR = BC,DE,SP,IY Operasi HL = HL + rr IX = IX + rr IY = IY + rr Isi dari register CPU yang baru (HL, IX atau IY) terdiri dari penjumlahan isi yang lama dengan isi register CPU yang lain. Format 0 0 r r 1 0 0 1 1 1 0 1 1 1 0 1 0 0 r r 1 0 0 1 1 1 1 1 1 1 0 1 0 0 r r 1 0 0 1 BC = 00 DE = 01 HL = 10 IY = 11 BC = 00 DE = 01 HL = 10 IX = 11 rr = Register 16 bit BC = 00 DE = 01 HL = 10 SP = 11 Flag Bit flag H, N dan C terpengaruh. Juga pada aritmatika dengan operan 16 bit terdapat perintah yang melibatkan bit carry dalam perhitungan. Mnemonik ADC HL, rr rr = register 16 bit CPU SBC HL, rr BC, DE, HL, SP Operasi HL = HL + rr + C Isi yang baru dari HL terdiri dari hasil penjumlahan yang lama dari HL ditambah/dikurangi isi dari register 16 bit CPU dan isi bit carry. Format 1 1 0 1 rr 1 r 0 r 1 1 1 0 0 1 1 0 1 0 1 1 1 r 0 r 1 0 1 0 = Register 16 bit 0 1 1 0 Mikroposesor Z-80 dan Mikrokontroler 204 BC DE = 01 HL = 10 SP = 11 = 00 Flag : Semua bit Flag terpengaruh. 6.1.15 Perintah Biner AND,OR,EX-OR dan CP Kebanyakan mikroprosessor dapat melaksanakan biner seperti AND, OR, EX-OR dan CP. Seperti pada operasi aritmatika operasi 8 bit berlaku bahwa pada awalnya sebuah operasi harus berada pada akku dan hasil operasi kembali berada pada akkumulator CPU, dengan demikian penulisan mnemonik dapat disingkat sebagai berikut : Mnemonik : AND r OR r XOR r CP r A = A OR r A = A XOR r A-r r = data 8 bit Operasi : A = A AND r Isi yang baru dari akku terdiri dari isi akku yang lama dihubungkan secara AND/OR/EX-OR dengan isi dari r. Pada perintah compare sesuai operasi aritmatik pengurangan, dimana hasil tidak kembali berada pada akku. Format : Format penulisan bahasa mesinnya ditentukan berdasarkan : a. Pengalamatan register ( r ) : A, B, C, D, E, F, H, L Register 1 0 1 0 0 r r r AND r 1 0 1 0 1 r r r XOR r r 1 0 1 1 0 r r r OR r 1 0 1 1 1 r CP r r r Mikroposesor Z-80 dan Mikrokontroler A = 111 E = 011 b. c. d. 205 B = 000 H = 100 C = 001 L = 101 D = 010 Pengalamatan langsung dengan konstanta 1 1 1 0 0 1 Konstanta n 1 0 AND n 1 1 1 0 1 1 Konstanta n 1 0 XOR n 1 1 1 1 0 1 Konstanta n 1 0 OR n 1 1 1 1 1 1 Konstanta n 1 0 CP n Pengalamatan tidak langsung dengan register CPU 16 (melalui pasangan register (HL) ) 1 0 1 0 0 1 1 0 AND (HL) 1 0 1 0 1 1 1 0 XOR (HL) 1 0 1 1 0 1 1 0 OR (HL) 1 0 1 1 1 1 1 0 CP (HL) bit Pengalamatan langsung dengan pengalamatan terindex 1 1 0 1 1 1 0 1 AND 1 0 1 0 0 1 1 0 (IX+e) Konstanta offset e 1 1 1 1 1 1 0 1 AND 1 0 1 0 0 1 1 0 (IY+e) Konstanta offset e 1 1 0 1 1 1 0 1 XOR 1 0 1 0 1 1 1 0 (IX+e) Konstanta offset e 1 1 1 1 1 1 0 1 XOR 1 0 1 0 1 1 1 0 (IY+e) Konstanta offset e 1 1 0 1 1 1 0 1 OR 1 1 1 1 1 1 0 1 1 0 1 1 0 1 1 0 (IX+e ) 1 0 1 1 0 1 1 0 Konstanta offset e Konstanta offset e OR (IY+e) Mikroposesor Z-80 dan Mikrokontroler 1 1 0 1 1 1 0 1 CP 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 0 (IX+e ) 1 0 1 1 1 1 1 0 Konstanta offset e Konstanta offset e 206 CP (IY+e) Flag : Untuk operasi AND, OR dan EX-OR, semua bit flag terpengaruhi C = 0, H = 1, N = 0 Untuk operasi CP seperti pada operasi pengurangan SUB. Penggunaan Perintah Biner ♦ Perintah AND digunakan untuk menghapus bit yang diinginkan dari sebuah data 8 bit. Contoh : LD B, C1H B=11000001 C1H IN A, (20H) A=XXXXXXX X = 0 atau 1 AND B ∧= A=XX00000X Hasil Bit 5 .........1 direset 0, yang lainnya tetap tidak berubah ♦ Perintah OR digunakan untuk mengeset bit yang dinginkan dari sebuah data 8 bit Contoh : IN A, (20H ) A=XXXXXXXX X = 0 atau 1 OR 3CH konstanta = 0 0 1 1 1 1 0 0 CH A=XX 1111XX Hasil ♦ Perintah EX-OR digunakan untuk membalik bit yang diinginkan dari sebuah data 8 bit. Dengan perintah ini juga dapat dipakai untuk menyamakan 2 byte, bit-bit yang tidak sama pada akku akan ditunjukkan sebagai 1 Contoh : IN A, (20H ) A=10001111 8FH XOR 3CH konstanta = 1 1 0 0 0 0 1 1 C3H ∀= A=01001100 Hasil Mikroposesor Z-80 dan Mikrokontroler 207 6.1.16 Perintah Putar dan Geser Dengan perintah ini register 8 bit dan lokasi memori dapat digunakan sebagai sebuah register geser.Operasinya sendiri tentu dilaksanakan dalam ALU dari CPU pada register-register geser, isi masing-masing bit dapat digeser ketetangga Flip-flop kiri atau kanannya. Perintah Putar 1. Putar ke kiri atau kanan dalam Register atau memori Mnemonik ⇒ RLr Mnemonik ⇒ RRr r = Register CPU 8 bit atau isi memori 8 bit Operasi : Operasi : Isi bit 7 dipindahkan ke flag Isi Flag Carry dipindahkan ke bit carry dan isi bit Flag Carry 7 dan isi bit 0 ke Flag Carry dan dipindahkan ke bit 0 dan bit bit yang lain digeser 1 kekanan. yang lain digeser 1 ke kiri. Flag : Flag : 2. Putar ke kiri / kanan dalam register atau memori dan menuju flag carry. Mnemonik : Mnemonik : ⇒ RLC r ⇒ RRC r r = Register CPU 8 bit atau isi memori. Operasi : Operasi : Mikroposesor Z-80 dan Mikrokontroler 208 Informasi : Bit akan bergeser 1 kekiri atau kekanan , tetapi isi flag carry tidak dalam lingkaran perputaran. Bit 7 berpindah ke bit 0 pada RLC, dan bit 0 berpindah ke bit 7 pada RRC. Bit yang lain bergeser satu ke kiri Æ RLC. Bit yang lain bergeser satu ke kanan Æ RRC. Flag : Flag : 3. Putar secara digit ke kiri / kanan Mnemonik : RLD (HL) Operasi : Mnemonik : RRD (HL) Operasi : Ini adalah perintah untuk memutar 12 digit , dan 4 digit untuk pelaksanaan perintah. Posisi perputaran selalu dibagi menjadi separuh dari akkumulator dan sebuah isi memori pengalamatannya melalui ( HL ). Separuh bagian kiri dari Akku tidak berubah isinya. Flag : Flag : Mikroposesor Z-80 dan Mikrokontroler 209 Perintah Geser 1. Geser ke kiri secara aritmetik dalam register atau memori Mnemonik : SLA r r = Register 8 bit atau isi memori Operasi : Informasi bit masing-masing digeser 1 ( satu ) ke kiri, isi bit 7 digeser ke flag carry, pada bit 0 diberikan 0 pada setiap pelaksanaan perintah ini. Bila isi dari register / memori adalah bilangan biner, maka masing-masing bit digeser 1 kekiri. Perintah ini digunakan untuk operasi pengalian. Flag : 2. Geser kekanan secara aritmetik dalam register / memori : Mnemonik : SRA r ; r = Register 8 bit atau isi memori Operasi : Informasi bit masing-masing , digeser 1 ke kanan , isi bit 0 digeser ke flag carry , bit 7 selain digeser 1 kekanan , isi bit 7 juga tidak berubah . Perintah ini digunakan untuk operasi pembagian untuk bilangan negatif atau pun bilangan positif. Mikroposesor Z-80 dan Mikrokontroler 210 3. Geser ke kanan secara logika dalam register / memori. Mnemonik : SRL r r = Register 8 bit atau isi memori. Operasi : Setiap bit digeser 1 ( satu ) kekanan, isi bit 0 digeser ke flag carry pada bit 7 diberikan 0 pada setiap pelaksanaan perintah ini. Flag Format : adr adr + 1 1 0 1 0 0 p 0 p 1 p Operasi ppp Kode Register rrr RLC = RRC = RL = RR = SLA = SRA = SRL = B C D E H L (HL) A 000 001 010 011 100 101 111 = = = = = = = = 000 001 010 011 100 101 110 111 0 r 1 r 1 r Mikroposesor Z-80 dan Mikrokontroler 211 6.1.17 Perintah Percabangan Perintah percabangan ini memungkinkan : − Pengulangan sebuah bagian program tunggal ( penundaan ) − Pemilihan program bagian yang berbeda ( keputusan ) − Pengelompokan tugas-tugas yang besar dalam beberapa program-program bagian yang kecil Pengelompokan perintah percabangan : − Perintah - perintah loncat ( JUMP ) − Pemanggilan program bagian ( CALL ), − Loncatan kembali dari program bagian ke program pemanggil ( RETURN ), − Perintah start ulang ( RST ). Pada pelaksanaan sebuah perintah-perintah percabangan, alamat loncat yang mengikuti code operasinya, akan diisi pada Program Counter ( PC ). Pengolah kontrol kemudian akan menjalankan program yang berada mulai dari alamat tersebut. Alamat tujuan loncat yang lebih besar ( loncat ke depan ) atau lebih kecil (loncat ke belakang) adalah alamat lokasi memori yang ada pada perintah percabangan. 6.1.17.1 Perintah percabangan bersyarat dan tidak bersyarat Pada sebuah loncatan tidak bersyarat, pelaksanaan program pada setiap saat dimulai pada alamat tujuan loncat yang telah ditentukan pada perintah percabangan. Pada sebuah loncatan bersyarat, pelaksanaan program pada alamat tujuan loncat yang telah ditentukan tdilaksanakan bila syarat loncat terpenuhi, bila syarat loncat tidak terpenuhi maka pelaksanaan program dimulai pada perintah berikutnya dibawah perintah percabangan. Pada perintah percabangan bersyarat, syarat loncat yang dapat dipakai hanya kondisi masing-masing bit pada register flag. 6.1.17.2 Penggunaan perintah percabangan bersyarat Dalam penggunaan perintah percabangan bersyarat ini, ada 2 hal yang harus jelas yaitu : − Bagaimana syarat loncat dapat diberikan pada loncatan bersyarat ( syarat loncat ) − Kemungkinan apa yang ada, untuk memberikan alamat tujuan loncat ( pengalamatan ). Mikroposesor Z-80 dan Mikrokontroler Syarat loncat Langsung Tanpa Syarat JP adr Relatif JR e tidak langsung (melalui register) JP (HL) JP (IX) JP (IY) 212 Flag zero Flag Carry Flag P/V Flag S JP Z, adr JP NZ, adr JP C, adr JPNC, adr JP M, adr JP P, adr JR Z, e JR NZ, e - JR C, e JR NC, e - JP PE, adr JP PO, adr - - - Perintah loncat dengan pengalamatan langsung Mnemonik : JP adr JP cc, adr adr = alamat tujuan loncat cc = syarat loncat ( kode kondisi flag ) Operasi PC CPU diisi oleh alamat tujuan yaitu konstanta 16 bit yang mengikuti Opcode. CPU akan menjalankan perintah yang ada pada alamat yang ditunjuk oleh PC. Format : adr C adr + 1 adr + 2 3 alamat tujuan LSB alamat tujuan MSB Opcode 1 Bila syarat loncat yang ditunjukkan oleh ccc terpenuhi, maka PC akan diisi oleh alamat tujuan yaitu konstanta 16 bit yang mengikuti Opcode, CPU akan menjalankan perintah yang berada pada alamat yang sesuai dengan PC. Bila syarat tidak terpenuhi maka PC = PC + 1, sehingga CPU akan menjalankan perintah yang berada pada alamat sesuai dengan PC. 1 c c c 0 alamat tujuan LSB alamat tujuan MSB 1 0 Opcode Mikroposesor Z-80 dan Mikrokontroler 213 Sebagai syarat loncat hanya dapat dipakai kondisi flag tertentu, seperti ditunjukkan oleh tabel dibawah ini. Flag ccc Mnemonik Arti 000 JP NZ, adr loncat ke alamat tujuan bila hasil <> 0 ( Zero Z=0 ) 001 JP Z, adr loncat ke alamat tujuan bila hasil = 0 ( Z =1 ) 010 JP NC, adr loncat ke alamat tujuan bila carry = 0 ( Carry C=0 ) 011 JP C, adr loncat ke alamat tujuan bila carry = 1 ( C=1 100 JP PO, adr loncat ke alamat tujuan bila parity ganjil P/V ( P/V=0 ) 101 JP PE, adr loncat ke alamat tujuan bila parity genap ( P/V=1 ) 110 JP P, adr loncat ke alamat tujuan bila hasil positip Sign ( S=0 ) 111 JP M, adr loncat ke alamat tujuan bila hasil negatip ( S=1 ) Setiap perintah loncat selalu hanya dapat menguji sebuah kondisi flag tertentu yang dihasilkan melalui perintah sebelumnya. Flag Half Carry (H) dan Flag Subtract ( N ) tidak dapat dipakai sebagai syarat loncat. Flag : tidak terpengaruh Perintah loncat dengan pengalamatan relatif Jenis pengalamatan ini, pada Z-80 hanya dipakai untuk perintah loncat. Mnemonik JR e JR cc, e cc = syarat loncat hanya untuk flag carry dan zero e = offset, jarak loncat Format : adr 1 8 Op-code adr + 1 Konstanta e 0 0 1 c c 0 Konstanta e 0 0 Op-code Mikroposesor Z-80 dan Mikrokontroler 214 Pengertian masing-masing bit pada konstanta e, jarak adalah sebagai berikut : 7 6 5 4 3 2 1 0 V X X X X X X X V = 0 : loncat ke depan 00000000 0 sampai + 127 desimal V = 1 : loncat ke belakang 01111111 11111111 -1 sampai -128 desimal 10000000 Operasi PC CPU diisi oleh alamat tujuan yaitu hasil dari PC saat itu ditambah/dikurangi konstanta e. CPU akan menjalankan perintah pada alamat yang ditunjukkan oleh PC. Bila syarat loncat yang ditunjukkan oleh cc terpenuhi, maka PC akan diisi oleh hasil penjumlahan/pengurangan PC saat itu dengan konstanta e, bila tidak terpenuhi PC = PC + 1. 6.1.18 Sub Routine (Program Bagian) Program Bagian (Sub Routine) Dalam program yang mempergunakan sebuah kelompok program yang sering dipakai, maka kelompok program ini dapat ditulis sekali saja, dan dapat dipanggil dimana saja dalam program utama bila kelompok program ini diinginkan. Kelompok program ini disebut Program Bagian atau Sub Routine. Pemanggilan program bagian dengan mempergunakan perintah CALL ( . . . . ) atau RST ( Restart ), selalu menyimpan alamat perintah berikutnya pada Stack, alamat yang disimpan ini menjadi tujuan saat kembali setelah pelaksanaan program bagian. Perintah terakhir sebuah program bagian adalah selalu sebuah perintah return/kembali ( RET ), yang fungsinya mengisi penghitung program / program counter ( PC ), dengan alamat tujuan kembali yang disimpan di stack. Sehingga pelaksanaan perintah berikutnya pada program utama setelah kembali dari program bagian adalah perintah yang alamatnya tersimpan pada Stack. Mikroposesor Z-80 dan Mikrokontroler 215 6.1.18.1 Proses Pemanggilan Sebuah Program Bagian Proses berjalan sebagai berikut : − Pada setiap pemanggilan program bagian dengan CALL, pertama-tama. menyimpan alamat tujuan lompat pada Stack. − Kemudian terjadi sebuah lompatan untuk menjalankan perintah pada alamat pertama dari program bagian ( PC = Alamat awal program bagian ). − Masing - masing perintah pada program bagian dijalankan secara berurutan. − Perintah RET menggunakan alamat loncat balik (dalam Stack), sebagai alamat tujuan loncat balik ke program utama.( PC = alamat loncat balik ). − CPU akan melanjutkan pelaksanaan perintah berikutnya pada program utama mulai dari alamat loncat balik ini. Urutan program bagian adalah bebas dan juga harus tidak saling mengikat dengan program bagian yang lain. Perintah awal dari program bagian tidak ditentukan secara khusus, hanya perintah akhir dari program bagian harus selalu perintah RETURN . Peletakan program didalam penyimpan program dan data ( memori ) lebih banyak seperti pada gambar berikut ini : Program Utama HALT Program Bagian 1 RET R O M Program Bagian RET Data yang tidak berubah (Konstant) Data yang dapat berubah ( Variabel ) R A M Daerah Stack Mikroposesor Z-80 dan Mikrokontroler 216 Penyimpan Alamat Loncat Balik pada STACK Alamat loncat pada dasarnya diletakkan pada RAM. Penyimpanan di RAM adalah lebih cepat, walaupun demikian kapasitas penyimpannya terbatas. Untuk penanganan daerah stack, penunjukkan ini dipergunakan fasilitas perintah PUSH dan POP serta register penunjuk STACK (SP). Pada setiap pemanggilan program bagian , pertama-tama isi Stack Pointer (SP) dikurangi satu (SP - 1) kemudian (SP - 1) diisi dengan MSB ( bit tertinggi ) dari alamat loncat balik, kemudian isi (SP - 2) diisi dengan LSB ( bit terendah ) dari alamat loncat balik. Pada setiap loncat balik dari sebuah program bagian, bagian pertama LSB dari PC akan diisi oleh isi SP ( alamat penyimpan stack saat itu ) dan bagian MSB dari PC diisi oleh isi (SP + 1) dan kemudian (SP + 2) menunjukkan alamat awal dari pemakaian stack berikutnya. Pemanggilan program bagian dengan mempergunakan penunjuk stack (SP), memiliki 2 keuntungan, yaitu : − Pada pemanggilan program bagian yang tidak rumit, dibutuhkan 2 lokasi memori sebagai penyimpan sementara dari alamat loncat balik. − Program bagian dapat dibuat bercabang secara bebas, yang berarti di dalam sebuah program bagian dapat dibuat program bagian yang lain. Pada setiap pemanggilan program bagian, (SP) akan berubah dan alamat stack yang terakhir akan naik 2 ke atas. Oleh sebab itu program harus memperhatikan hal itu, yaitu tidak boleh ada tumpang - tindih pada program bagian yang lain, dan tidak melupakan perintah kembali (RET) pada akhir dari masing - masing program bagian. Mikroposesor Z-80 dan Mikrokontroler 217 6.2 MIKROKONTROLER 6.2.1 Algoritma Pemrograman Tujuan Kegiatan Pembelajaran Setelah mengikuti kegiatan pembelajaran pada pokok bahasan ini, diharapkan peserta didik dapat Menguasai Prosedur Penyusunan Algoritma Pemrograman. Algoritma Algoritma adalah urutan langkah-langkah atau tahapan-tahapan penyelesaian masalah yang disusun secara sistematis dan logis. Kata Logis merupakan kata kunci dalam Algoritma. Langkah-langkah logis dalam Algoritma ini harus dapat ditentukan bernilai salah atau benar. Algoritma berisi urutan langkah-langkah penyelesaian masalah. Ini berarti Algoritma adalah proses yang procedural. Definisi procedural menurut kamus Bahasa Indonesia : 1. Tahap-tahap kegiatan untuk menyelesaikan suatu aktivitas 2. Metode langkah demi langkah secara eksak dalam memecahkan suatu masalah Pada pemrograman prosedural, program dibedakan antara bagian data dengan bagian instruksi. Bagian instruksi terdiri atas runtutan (sequence) instruksi yang dilaksanakan satu persatu secara berurutan oleh pemroses. Alur pelaksanaan instruksi dapat berubah karena adanya pencabangan kondisional. Data yang disimpan dalam memori dimanipulasi oleh instruksi secara beruntun procedural. Paradikma pemrograman seperti ini dinamakan pemrograman procedural. Algoritma adalah bagian paling utama dari pemrograman. Dalam kehidupan sehari-hari banyak pula dijumpai proses yang dinyatakan dalam suatu algoritma. Cara-cara membuat kue atau masakan yang dinyatakan dalam suatu resep juga dapat disebut sebagai algoritma. Pada setiap resep selalu ada urutan langkah-langkah membuat membuat masakan. Secara umum pihak (benda) yang mengerjakan proses disebut pemroses (processor). Pemroses tersebut dapat berupa manusia, computer, robot atau alat elektronik lainnya. Pemroses melakukan suatu proses dengan melaksanakan atau mengeksekusi algoritma yang menjabarkan proses tersebut. Melaksanakan algoritma berarti mengerjakan langkah-langkah Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya. Jurus masak membuat kue berdasarkan resep yang diberikan kepadanya, pianis memainkan lagu berdasarkan papan not balok. Mikroposesor Z-80 dan Mikrokontroler 218 Karena itu suatu algoritma harus dinyatakan dslam bentuk yang dapat dimengerti pemroses. Jadi suatu pemroses harus : 1. Mengerti setiap langkah dalam algoritma 2. Mengerjakan operasi yang sesuai dengan langkah tersebut Mekanisme pelaksanaan algoritma dilakukan oleh pemroses (komputer). Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh komputer, algoritma harus ditulis dalam notasi pemrograman sehingga dinamakan program. Jadi program adalah perwujudan atau implementasi teknis Algoritma yang ditulis dalam bahasa perograman tertentu sehingga dapat dilaksanakan oleh komputer. Program ditulis dalam salah satu bahasa pemrograman dan kegiatan membuat program disebut Pemrograman (programming). Orang yang menulis program disebut pemrogram (programmer). Tiap-tiap langkah yang yang ditulis di dalam program disebut pernyataan (statement) atau instruksi. Jadi program tersusun atas sederetan instruksi. Bila suatu instruksi dilaksanakan, maka operasi-operasi yang bersesuaian dengan instruksi tersebut dijalankan oleh komputer. Secara garis besar komputer tersusun dari empat komponen utama, yaitu ; 1. Piranti masukan, ialah alat yang digunakan untuk untuk memasukkan data atau program ke dalam memori. Misalnya : keyboard, scanner, mouse, joystick 2. Piranti keluaran, ialah alat yang digunakan untuk komputer untuk menampilkan hasil-hasil operasi pemrosesan data. Misalnya : monitor, printer, plotter 3. Unit pemroses utama (CPU). Ini merupakan otak dari computer yang berfungsi mengerjakan operasi-operasi dasar seperti operasi aritmetika dan logika 4. Memory. Tempat menyimpan program yang berisi operasi-operasi yang akan dikerjakan oleh CPU dan menyimpan data atau informasi yang akan diolah pemroses ataupun data hasil proses. Gambar 6.2.1.1 Komponen Utama Komputer Mula-mula program dimasukkan ke dalam memory komputer. Ketika program dilaksanakan (dieksekusi) setiap instruksi yang telah tersimpan Mikroposesor Z-80 dan Mikrokontroler 219 didalam memori dikirim ke CPU. CPU menjerjakan operasi-operasi yang bersesuaian dengan instruksi tersebut. Bila suatu operasi memerlukan data, data dibaca dari piranti masukan, disimpan memory lalu dikirim ke CPU untuk operasi yang memerlukan tadi. Bila proses menghasilkan keluaran atau informasi, keluaran disimpan dalam memory lalu CPU menuliskan data keluaran tadi ke piranti keluaran. Pada dasarnya sebuah algoritma merupakan deskripsi pelaksanaan suatu proses. Sebuah proses (job) dikerjakan oleh pemroses menurut algoritma yang sudah ditulis. Algoritma disusun oleh sederetan langkah instruksi yang logis. Tiap lagkah instruksi tersebut mengerjakan suatu tindakan (aksi), bila suatu aksi dilaksanakan maka sejumlah operasi yang bersesuaian dengan aksi tersebut dikerjakan oleh pemroses. Contoh : Algoritma tukar isi gelas Diketahui gelas A berisi susu, gelas B berisi kopi. Tukarkan isi kedua gelas tersebut sehingga gelas A berisi kopi dan gelas B berisi susu. Algoritma pemecahan masalah di atas adalah : 1. Tuang isi gelas A ke gelas C 2. Tuang isi gelas B ke gelas A 3. Tuang isi gelas C ke gelas B Contoh algoritma tukar isi gelas di atas apabila dianalogikan tugar data dari suatu lokasi memory maka menjadi sebagai berikut : Contoh : Algoritma tukar isi register r16 dengan r17 Diketahui register r16 berisi data #$55, register r17 berisi data #$AA. Tukarkan isi kedua register tersebut sehingga r16 berisi data #$AA dan r17 berisi data #$55. Algoritma pemecahan masalah di atas adalah : 1. Copykan isi register r16 ke r18 2. Copykan isi register r17 ke r16 3. Copykan isi register r18 ke r17 Algoritma dapat disajikan dengan menggunakan dua macam cara, yaitu dengan tulisan dan gambar. Penyajian dengan cara tulisan adalah seperti pada contoh di atas, yang mana suatu langkah-langkah pemecahan masalah dijelaskan dalam bentuk kata-kata dengan bahasa sendiri seperti halnya penulisan resep makanan. Penyajian algoritma dengan bentuk gambar banyak bentuk chart yang bisa dipakai dan yang paling banyak dipergunakan adalah flowchart. Mikroposesor Z-80 dan Mikrokontroler 220 Flowchart Flowchart adalah suatu metode untuk menggambarkan tahaptahap pemecahan masalah dengan merepresentasikan symbol-simbol tertentu yang mudah dimengerti, digunakan dan standar untuk diterapkan Tujuan utama dari penggunaan lowchart adalah untuk menggambarkan suatu tahapan penyelesaian masalah secara sederhana, terurai, rapi dan jelas menggunakan symbol-simbol yang standar. Berikut ini adalah symbol-simbol standar yang digunakan dalam penulisan program flowchart. Gambar 6.2.1.2 Simbol-simbol program flowchart Apabila suatu flowchart lengkap telah selesai dikerjakan, gambaran lengkap tentang proses pemikiran seorang programmer dalam memecahkan suatu masalah dapatlah diikuti. Peranan flowchart sangat penting terutama pada pemeriksaan program. Flowchart, yang merupakan bagian penting dalam suatu program yang telah selesai, dapat juga membantu orang lain dalam memahami algoritma yang tepat yang dibuat oleh programmer. Mikroposesor Z-80 dan Mikrokontroler 221 Ada dua jenis flowchart, yaitu : 1. Flowchart system, untuk menunjukkan jalannya program secara umum (garis besarnya saja) 2. Flowchart terperinci, memuat perincian-perincian (detail) yang terutama penting untuk programmer Biasanya suatu program yang rumit didahului dengan flowchart system, lalu dilengkapi pula dengan flowchart terperinci. Keuntungan dari sebuah flowchart ialah bahwa di menunjukkan urutan langkah-langkah dengan mengunakan symbol anak panah. Simbol-simbol yang lain digunakan untuk menunjukkan operasi apa yang dilaksanakan pada tiap-tiap langkah tersebut. Contoh Algoritma tukar isi register di atas dapat digambarkan dalam bentuk flowchart sebagai berikut : Gambar 6.2.1.3 Flowchart program tukar isi register Bahasa Pemrograman Suatu program komputer merupakan susunan instruksi (perintah). CPU komputer akan melaksanakan instruksi-instruksi itu langkah demi langkah. Sebelum suatu program dilaksanakan oleh CPU, program tersebut harus disimpan di memory dalam bentuk biner. Program jenis ini disebut program dalam bahasa mesin (machine language). Hanya bahasa inilah yang yang dapat dimengerti oleh oleh Mikroposesor Z-80 dan Mikrokontroler 222 sebuah komputer. Program dalam bahasa mesin ini biasanya dinyatakan dalam digit heksadesimal dan program ini dapat pula disimpan dalam suatu file ASCII. Bagi pemakai, menginterpretasikan suatu program dalam bahasa mesin sangatlah sulit dan membutuhkan banyak waktu. Para pembuat mikroprosessor dan mikrokontroller telah membagi instruksi-instruksi menjadi beberapa katagori menurut fungsinya. Instruksi-instruksi CPU dan register-register biasanya dinyatakan dalam symbol-simbol yang disebut “mnenonics”. Misalnya instruksi “MOV” adalah perintah untuk meng-copy isi register satu ke register lainnya. Suatu program yang ditulis dalam kode mnemonic disebut program dalam bahasa assembly. Sebelum suatu program dalam bahasa assembly dilaksanakan oleh CPU, program tersebut harus diterjemahkan dalam bahasa mesin oleh suatu program khusus yang disebut “Assembler”. Kebanyakan instruksi pada bahasa assembly merupakan kependekan dari instruksi dalam bahasa manusia, contoh di atas MOV merupakan kependekan dari MOVE, contoh lain misalnya LD kependekan dari LOAD, ST kependekan dari STORE. Selain dengan menggunakan bahasa mesin yang berupa kode heksadesimal dan bahasa assembly, terdapat pilihan bahasa pemrograman lain yang lebih manusiawi dan berorientasi ke bahasa manusia yang biasa disebut dengan bahasa tingkat tinggi. Program dalam bahasa tinggat tinggi tidak dapat langsung dilaksanakan oleh computer tetapi harus diterjemahkan dahulu oleh sebuah translator bahasa yang disebut kompilator (compiler) ke dalam bahasa mesin. Yang tergolong dalam bahasa ini adalah Pascal, Basic, C, Delphi, Visual Basic, Visual C++ dan lain-lain. Walaupun bahasa tingkat tinggi terus berkembang dengan segala fasilitas dan kemudahannya, peranan bahasa pemrograman tingkat rendah tetap tidak dapat digantikan. Bahasa assembly mempunyai keunggulan yang tidak mungkin diikuti oleh bahasa tingkat apapun dalam hal kecepatan, ukuran file yang kecil serta kemudahan dalam manipulasi sistem komputer. Pada modul ini bahasa pemrograman yang akan dipergunakan adalah bahasa assembly yang secara keseluruhan instruksinya tercantum dalam tabel berikut ini : Mikroposesor Z-80 dan Mikrokontroler 223 Tabel 6.2.1.1 Instruksi Mikrokontroller ATmega8535 Mnemonics Operands ADD ADC ADIW SUB SUBI SBC SBCI SBIW AND ANDI OR ORI EOR COM NEG SBR CBR INC DEC TST CLR SER MUL MULS MULSU FMUL FMULS FMULSU Rd, Rr Rd, Rr Rdl,K Rd, Rr Rd, K Rd, Rr Rd, K Rdl,K Rd, Rr Rd, K Rd, Rr Rd, K Rd, Rr Rd Rd Rd,K Rd,K Rd Rd Rd Rd Rd Rd, Rr Rd, Rr Rd, Rr Rd, Rr Rd, Rr Rd, Rr RJMP IJMP RCALL ICALL RET RETI CPSE CP CPC CPI SBRC SBRS SBIC SBIS BRBS BRBC k k Rd,Rr Rd,Rr Rd,Rr Rd,K Rr, b Rr, b P, b P, b s, k s, k Description ARITHMETIC AND LOGIC INSTRUCTIONS Add two Registers Add with Carry two Registers Add Immediate to Word Subtract two Registers Subtract Constant from Register Subtract with Carry two Registers Subtract with Carry Constant from Reg. Subtract Immediate from Word Logical AND Registers Logical AND Register and Constant Logical OR Registers Logical OR Register and Constant Exclusive OR Registers One’s Complement Two’s Complement Set Bit(s) in Register Clear Bit(s) in Register Increment Decrement Test for Zero or Minus Clear Register Set Register Multiply Unsigned Multiply Signed Multiply Signed with Unsigned Fractional Multiply Unsigned Fractional Multiply Signed Fractional Multiply Signed with Unsigned BRANCH INSTRUCTIONS Relative Jump Indirect Jump to (Z) Relative Subroutine Call Indirect Call to (Z) Subroutine Return Interrupt Return Compare, Skip if Equal CP Rd,Rr Compare Compare with Carry Compare Register with Immediate Skip if Bit in Register Cleared Skip if Bit in Register is Set Skip if Bit in I/O Register Cleared Skip if Bit in I/O Register is Set Branch if Status Flag Set Branch if Status Flag Cleared Operation Rd ← Rd + Rr Rd ← Rd + Rr + C Rdh:Rdl ← Rdh:Rdl + K Rd ← Rd - Rr Rd ← Rd - K Rd ← Rd - Rr - C Rd ← Rd - K - C Rdh:Rdl ← Rdh:Rdl - K Rd ← Rd • Rr Rd ← Rd • K Rd ← Rd v Rr Rd ← Rd v K Rd ← Rd . Rr Rd ← 0xFF - Rd Rd ← 0x00 - Rd Rd ← Rd v K Rd ← Rd • (0xFF - K) Rd ← Rd + 1 Rd ← Rd - 1 Rd ← Rd • Rd Rd ← Rd . Rd Rd ← 0xFF R1:R0 ← Rd x Rr R1:R0 ← Rd x Rr R1:R0 ← Rd x Rr R1:R0 ← (Rd x Rr) << 1 R1:R0 ← (Rd x Rr) << 1 R1:R0 ← (Rd x Rr) << 1 PC ← PC + k + 1 PC ← Z PC ← PC + k + 1 PC ← Z PC ← STACK PC ← STACK if (Rd = Rr) PC ← PC + 2 or 3 Rd - Rr Rd - Rr - C Rd - K if (Rr(b)=0) PC ←© PC + 2 or 3 if (Rr(b)=1) PC ← PC + 2 or 3 if (P(b)=0) PC ← PC + 2 or 3 if (P(b)=1) PC ← PC + 2 or 3 if (SREG(s) = 1) then PC←PC+k + 1 if (SREG(s) = 0) then PC←PC+k + 1 Mikroposesor Z-80 dan Mikrokontroler BREQ BRNE BRCS BRCC BRSH BRLO BRMI BRPL BRGE BRLT BRHS BRHC BRTS BRTC BRVS BRVC BRIE BRID k k k k k k k k k k k k k k k k k k MOV MOVW LDI LD LD LD LD LD LD LDD LD LD LD LDD LDS ST ST ST ST ST ST STD ST ST ST STD STS LPM LPM LPM SPM IN Rd, Rr Rd, Rr Rd, K Rd, X Rd, X+ Rd, - X Rd, Y Rd, Y+ Rd, - Y Rd,Y+q Rd, Z Rd, Z+ Rd, -Z Rd, Z+q Rd, k X, Rr X+, Rr - X, Rr Y, Rr Y+, Rr - Y, Rr Y+q,Rr Z, Rr Z+, Rr -Z, Rr Z+q,Rr k, Rr Rd, Z Rd, Z+ Rd, P Branch if Equal Branch if Not Equal Branch if Carry Set Branch if Carry Cleared Branch if Same or Higher Branch if Lower Branch if Minus Branch if Plus Branch if Greater or Equal, Signed Branch if Less Than Zero, Signed Branch if Half Carry Flag Set Branch if Half Carry Flag Cleared Branch if T Flag Set Branch if T Flag Cleared Branch if Overflow Flag is Set Branch if Overflow Flag is Cleared Branch if Interrupt Enabled Branch if Interrupt Disabled DATA TRANSFER INSTRUCTIONS Move Between Registers Copy Register Word Load Immediate Load Indirect Load Indirect and Post-Inc. Load Indirect and Pre-Dec. Load Indirect Load Indirect and Post-Inc. Load Indirect and Pre-Dec. Load Indirect with Displacement Load Indirect Load Indirect and Post-Inc. Load Indirect and Pre-Dec. Load Indirect with Displacement Load Direct from SRAM Store Indirect Store Indirect and Post-Inc. Store Indirect and Pre-Dec. Store Indirect Store Indirect and Post-Inc. Store Indirect and Pre-Dec. Store Indirect with Displacement Store Indirect Store Indirect and Post-Inc. Store Indirect and Pre-Dec. Store Indirect with Displacement Store Direct to SRAM Load Program Memory Load Program Memory Load Program Memory and Post-Inc Store Program Memory In Port 224 if (Z = 1) then PC ← PC + k + 1 if (Z = 0) then PC ← PC + k + 1 if (C = 1) then PC ← PC + k + 1 if (C = 0) then PC ← PC + k + 1 if (C = 0) then PC ← PC + k + 1 if (C = 1) then PC ← PC + k + 1 if (N = 1) then PC ← PC + k + 1 if (N = 0) then PC ← PC + k + 1 if (N . V= 0) then PC ← PC + k + 1 if (N . V= 1) then PC ← PC + k + 1 if (H = 1) then PC ← PC + k + 1 if (H = 0) then PC ← PC + k + 1 if (T = 1) then PC ← PC + k + 1 if (T = 0) then PC ← PC + k + 1 if (V = 1) then PC ← PC + k + 1 if (V = 0) then PC ← PC + k + 1 if ( I = 1) then PC ← PC + k + 1 if ( I = 0) then PC ← PC + k + 1 Rd ← Rr Rd+1:Rd ←© Rr+1:Rr Rd ← K Rd ← (X) Rd ← (X), X ← X + 1 X ← X - 1, Rd ← (X) Rd ← (Y) Rd ← (Y), Y ← Y + 1 Y ← Y - 1, Rd ← (Y) Rd ← (Y + q) Rd ← (Z) Rd ← (Z), Z ← Z+1 Z ← Z - 1, Rd ← (Z) Rd ← (Z + q) Rd ← (k) (X) ← Rr (X) ← Rr, X ← X + 1 X ← X - 1, (X) ← Rr (Y) ← Rr (Y) ← Rr, Y ← Y + 1 Y ← Y - 1, (Y) ← Rr (Y + q) ← Rr (Z) ← Rr (Z) ← Rr, Z ← Z + 1 Z ← Z - 1, (Z) ← Rr (Z + q) ← Rr (k) ← Rr R0 ← (Z) Rd ← (Z) Rd ← (Z), Z ← Z+1 (Z) ← R1:R0 Rd ← P Mikroposesor Z-80 dan Mikrokontroler OUT PUSH POP P, Rr Rr Rd SBI CBI LSL LSR ROL ROR ASR SWAP BSET BCLR BST BLD SEC CLC SEN CLN SEZ CLZ SEI CLI SES CLS SEV CLV SET CLT SEH CLH P,b P,b Rd Rd Rd Rd Rd Rd s s Rr, b Rd, b NOP SLEEP WDR BREAK Out Port Push Register on Stack Pop Register from Stack BIT AND BIT-TEST INSTRUCTIONS Set Bit in I/O Register Clear Bit in I/O Register Logical Shift Left Logical Shift Right Rotate Left Through Carry Rotate Right Through Carry Arithmetic Shift Right Swap Nibbles Flag Set Flag Clear Bit Store from Register to T Bit load from T to Register Set Carry Clear Carry Set Negative Flag Clear Negative Flag Set Zero Flag Clear Zero Flag Global Interrupt Enable Global Interrupt Disable Set Signed Test Flag Clear Signed Test Flag Set Twos Complement Overflow. Clear Twos Complement Overflow Set T in SREG Clear T in SREG Set Half Carry Flag in SREG Clear Half Carry Flag in SREG MCU CONTROL INSTRUCTIONS No Operation Sleep Watchdog Reset Break 225 P ← Rr STACK ← Rr Rd ← STACK I/O(P,b) ← 1 I/O(P,b) ← 0 Rd(n+1) ← Rd(n), Rd(0) ← 0 Rd(n) ← Rd(n+1), Rd(7) ← 0 Rd(0) ←C,Rd(n+1) ← Rd(n),C←Rd(7) Rd(7) ←C,Rd(n) ← Rd(n+1),C←Rd(0) Rd(n) ← Rd(n+1), n=0..6 Rd(3..0) ←Rd(7..4),Rd(7..4) ←Rd(3..0) SREG(s) ← 1 SREG(s) ← 0 T ← Rr(b) Rd(b) ← T C←1 C←0 N←1 N←0 Z←1 Z←0 I←1 I←0 S←1 S←0 V←1 V←0 T←1 T←0 H←1 H←0 (see specific descr. for Sleep function) (see specific descr. for WDR/Timer) For On-chip Debug Only Contoh Algoritma tukar isi register di atas dapat diimplementasikan dalam bentuk bahasa pemrograman assembly sebagai berikut : start: mov r18,r16 mov r16,r17 mov r17,r18 selesai: Mikroposesor Z-80 dan Mikrokontroler 226 Rangkuman Algoritma adalah urutan langkah-langkah atau tahapan-tahapan penyelesaian masalah yang disusun secara sistematis dan logis. Mekanisme pelaksanaan algoritma dilakukan oleh pemroses (komputer). Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh komputer, algoritma harus ditulis dalam notasi pemrograman sehingga dinamakan program. Jadi program adalah perwujudan atau implementasi teknis Algoritma yang ditulis dalam bahasa perograman tertentu sehingga dapat dilaksanakan oleh komputer. Program ditulis dalam salah satu bahasa pemrograman dan kegiatan membuat program disebut Pemrograman (programming). Orang yang menulis program disebut pemrogram (programmer). Tiap-tiap langkah yang yang ditulis di dalam program disebut pernyataan (statement) atau instruksi. Jadi program tersusun atas sederetan instruksi. Bila suatu instruksi dilaksanakan, maka operasi-operasi yang bersesuaian dengan instruksi tersebut dijalankan oleh komputer. Flowchart adalah suatu metode untuk menggambarkan tahaptahap pemecahan masalah dengan merepresentasikan symbol-simbol tertentu yang mudah dimengerti, digunakan dan standar untuk diterapkan. Biasanya suatu program yang rumit didahului dengan flowchart system, lalu dilengkapi pula dengan flowchart terperinci. Keuntungan dari sebuah flowchart ialah bahwa di menunjukkan urutan langkah-langkah dengan mengunakan symbol anak panah. Simbol-simbol yang lain digunakan untuk menunjukkan operasi apa yang dilaksanakan pada tiap-tiap langkah tersebut. Pembuatan program dapat dilakukan dengan menggunakan bahasa mesin berupa kode heksadesimal, bahasa assembly dan bahasa tingkat tinggi. Latihan Pada Tabel Instruksi Mikrokontroller ATmega8535 tidak ditemukan instruksi pembagian integer, pada latihan ini kita akan membuat sub routine yang berfungsi sebagai pembagi integer sebagai berikut ; r16 r17 Masukan Keluaran = r18 sisa r19 : r16 → data yang akan dibagi r17 → data pembagi : r18 → hasil pembagian integer r19 → sisa pembagian Mikroposesor Z-80 dan Mikrokontroler 227 Fungsi : Isi register r16 dibagi dengan isi register r17, hasil pembagian integer disimpan ke registerr18 sisa pembagian disimpan ke register r19. Register r16, r17, r18 dan r19 masing-masing adalah register 8 bit, sehingga angka yang dapat diproses berkisar antara 0 sampai dengan 255 desimal. Algoritma atau langkah-langkah pemecahan masalah : 1. Jika r16 lebih kecil dari r17 maka r16 tidak dapat dibagi, maka hasil pembagian sama dengan 0 ( r18 = 0 ) dan sisa pembagian sama dengan r16 ( r19 = r16 ) Dan proses pembagian tidak dapat dilakukan lagi, proses selesai. 2. Jika r16 tidak lebih kecil dari r17 maka lakukan proses pengurangan r16 – r17 hasilnyanya disimpan ke r16 r16 := r16 - r17 Kemudian lakukan proses incremen pada register r18 setiap kali terjadi proses pengurangan tersebut di atas. r18 := r18 + 1 Kembali ke langkah nomor satu Dari ide pemecahan masalah di atas, selanjutnya dibuat flowchart terperinci sebagai berikut : Mikroposesor Z-80 dan Mikrokontroler 228 start idiv r18 Å 0 lidiv tidak r16 < r17 ya r16 := r16 - r17 xidiv r19 Å r16 r18 := r18 + 1 selesai Dari flowchart di atas dan memperhatikan Mikrokontroller ATmega8535, disusun program assembly sebagai berikut : table Instruksi dalam bahasa Mikroposesor Z-80 dan Mikrokontroler 229 ;=================================================== ; Nama sub routine : idiv ; Input : r16, r17 ; Output : r18, r19 ; Fungsi : pembagian integer, r16/r17 = r18 sisa r19 ; ; isi r16 dibagi dengan isi r17, hasil pembagian disimpan ke r18 ; sisa pembagian disimpan ke r19 ;=================================================== idiv: ldi lidiv: cp brlo sub inc rjmp xidiv: mov ret r18,0 r16,r17 xidiv r16,r17 r18 lidiv r19,r16 Berikut ini latihan membuat program untuk membagi bilangan integer 125 dengan 50. 125 = ..... 50 Algoritma langkah-langkah pemecahan masalah : 1. Dengan menggunakan sub routine di atas, register r16 diisi dengan data desimal 100, register r17 diisi data desimal 50 2. Panggil sub routine pembagian integer idiv. Mikroposesor Z-80 dan Mikrokontroler 230 Flowchart : Program dalam bahasa assembley : start r16 Å 125 r17 Å 50 mov mov rcall r16,125 r17,50 idiv Jika program ini dijalankan, seharusnya register r18 akan berisi data decimal 2dan register r19 akan berisi data decimal 25 idiv selesai Tugas Rencanakan suatu algoritma, flowchart dan program dalam bahasa assembly untuk memecahkan masalah sebagai berikut : Isi register r20 dipecah menjadi tiga bagian, yaitu nilai ratusan disimpan ke register r21, nilai puluhan disimpan ke register r22 dan nilai satuan disimpan ke register r23. Misalkan register r20 berisi data decimal 125, maka setelah menjalankan program ini maka pada register r21 akan berisi data decimal 1, register r22 berisi data decimal 2 dan register r23 akan berisi data decimal 5. Gunakan sub routine pembagian integer pada latihan di atas untuk membantu penyelesaian tugas ini. Program dibuat sebagai program bagian (sub routine) Mikroposesor Z-80 dan Mikrokontroler Kunci Jawaban Algoritma langkah-langkah pemecahan masalah : r16 ← r20 r17 ← 100 r16 = r18 sisa r19 3. r17 4. r21 ← r18 5. r16 ← r19 r17 ← 10 6. r16 = r18 sisa r19 7. r17 8. r22 ← r18 9. r23 ← r19 Flowchart : 1. 2. start r20 Å 125 r17 Å 100 idiv r21 Å r18 r16 Å r19 r17 Å 10 idiv r22 Å r18 r23 Å r19 selesai 231 Mikroposesor Z-80 dan Mikrokontroler 232 Program dalam bahasa assembley : ;=================================================== ; Nama sub routine : pecah3 ; Input : r20 ; Output : r21, r22, r23 ; Fungsi : Isi register r20 dipecah menjadi tiga ; bagian ; nilai ratusan disimpan ke register r21, ; nilai puluhan disimpan ke register r22 ; dan ; nilai satuan disimpan ke register r23 ;=================================================== pecah3: ldi mov ldi rcall mov mov ldi rcall mov mov ret r20,125 r16,r20 r17,100 idiv r21,r18 r16,r19 r17,10 idiv r22,r18 r23,r19 ;=================================================== ; Nama sub routine : idiv ; Input :r16, r17 ; Output :r18, r19 ; Fungsi : pembagian integer, r16/r17 = r18 sisa r19 ; ; isi r16 dibagi dengan isi r17, hasil pembagian disimpan ke r18 ; sisa pembagian disimpan ke r19 ;=================================================== idiv: ldi lidiv: cp brlo sub inc rjmp xidiv: mov ret r18,0 r16,r17 xidiv r16,r17 r18 lidiv r19,r16 Mikroposesor Z-80 dan Mikrokontroler 233 Tujuan Kegiatan Pembelajaran Setelah mengikuti kegiatan pembelajaran pada pokok bahasan ini, diharapkan peserta didik dapat mengidentifikasi arsitektur mikrokontroller ATmega8535. 6.2.2 Arsitektur Mikrokontroller ATmega8535 Mikrokontroller Atmega8535 adalah mikrokontroller AVR 8 bit buatan ATMEL yang memiliki arsitektur RISC (Reduce Instruction Set Computing). Instruksi dikemas dalam kode 16 bit dan dijalankan hanya dengan satu siklus clock. Struktur I/O yang baik dengan sedikit komponen tambahan diluar. Fasilitas internal yang terdapat pada mikrokontroller ini adalah oscillators, timers, UART, SPI, pull-up resistors, pulse width modulation (PWM), ADC, analog comparator dan watch-dog timers. AVR merupakan kependekan dari Alf (Egil Bogen) and Vegard (Wollan) 's Risc processor. Fitur • • • • High-performance, Low-power AVR® 8-bit Microcontroller Advanced RISC Architecture - 130 Powerful Instructions – Most Single Clock Cycle Execution - 32 x 8 General Purpose Working Registers - Fully Static Operation - Up to 16 MIPS Throughput at 16 MHz - On-chip 2-cycle Multiplier Nonvolatile Program and Data Memories - 8K Bytes of In-System Self-Programmable Flash Endurance: 10,000 Write/Erase Cycles - Optional Boot Code Section with Independent Lock Bits. In-System Programming by On-chip Boot Program True Read-While-Write Operation - 512 Bytes EEPROM, Endurance: 100,000 Write/Erase Cycles - 512 Bytes Internal SRAM - Programming Lock for Software Security Peripheral Features - Two 8-bit Timer/Counters with Separate Prescalers and Compare Modes - One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture Mode - Real Time Counter with Separate Oscillator Mikroposesor Z-80 dan Mikrokontroler • • • • 234 - Four PWM Channels - 8-channel, 10-bit ADC - Byte-oriented Two-wire Serial Interface - Master/Slave SPI Serial Interface - Programmable Watchdog Timer with Separate On-chip Oscillator - On-chip Analog Comparator Special Microcontroller Features - Power-on Reset and Programmable Brown-out Detection - Internal Calibrated RC Oscillator - External and Internal Interrupt Sources - Six Sleep Modes: Idle, ADC Noise Reduction, Power-save, Power-down, Standby and Extended Standby I/O and Packages - 32 Programmable I/O Lines - 40-pin PDIP, 44-lead TQFP, 44-lead PLCC, and 44-pad QFN/MLF Operating Voltages - 2.7 - 5.5V for ATmega8535L - 4.5 - 5.5V for ATmega8535 Speed Grades - 0 - 8 MHz for ATmega8535L - 0 - 16 MHz for ATmega8535 Keunggulan AVR adalah pengkombinasian banyak instruksi dengan 32 general purpose working registers. Kesemua 32 register tersambung langsung ke Arithmetic Logic Unit (ALU), Mengijinkan dua register bebas dapat diakses dengan intruksi yang dieksekusi hanya dengan satu siklus clock. Hasilnya adalah suatu arsitektur dengan kode yang lebih efisien dan 10 kali lebih cepat dibandingkan dengan mikrokontroller konvensional CISC (Complex Instruction set Computing). Mikrokontroller ini dibuat dengan using Atmel’s high density nonvolatile memory technology. Program memory ISP Flash pada chip tunggal ini dapat deprogram dalam mode In-System melalui saluran interface serial SPI. Mikroposesor Z-80 dan Mikrokontroler 235 Konfigurasi Pin Gambar 6.2.2.1 Pinout Atmega8535 Deskripsi Pin Vcc Power Supply GND Ground Port A (PA7..PA0) Port A berfungsi sebagai masukan analog ke A/D Converter Selain itu Port A juga berfungsi sebagai port I/O dua arah 8 bit apabila ADC tidak digunakan. Pin pada port dilengkapi pula dengan resistor pull-up internal yang dapat diaktifkan untuk setiap bit yang dipilih. Mikroposesor Z-80 dan Mikrokontroler Port Pin PA0 236 Fungsi Alternatif ADC0 (ADC input channel 0) PA1 ADC1 (ADC input channel 1) PA2 ADC2 (ADC input channel 2) PA3 ADC3 (ADC input channel 3) PA4 ADC4 (ADC input channel 4) PA5 ADC5 (ADC input channel 5) PA6 ADC6 (ADC input channel 6) PA7 ADC7 (ADC input channel 7) Port B (PB7..PB0) Port B berfungsi sebagai port I/O dua arah 8 bit dengan resistor pull-up internal yang dapat diaktifkan untuk setiap bit yang dipilih. Port Pin PB0 Fungsi Alternatif T0 (Timer/Counter0 External Counter Input) XCK (USART External Clock Input/Output) PB1 T1 (Timer/Counter1 External Counter Input) PB2 AIN0 (Analog Comparator Positive Input) INT2 (External Interrupt 2 Input) PB3 AIN1 (Analog Comparator Negative Input) OC0 (Timer/Counter0 Output Compare Match Output) PB4 SS (SPI Slave Select Input) PB5 MOSI (SPI Bus Master Output/Slave Input) PB6 MISO (SPI Bus Master Input/Slave Output) PB7 SCK (SPI Bus Serial Clock) Port C (PC7..PC0) Port C berfungsi sebagai port I/O dua arah 8 bit dengan resistor pull-up internal yang dapat diaktifkan untuk setiap bit yang dipilih. Mikroposesor Z-80 dan Mikrokontroler Port Pin PC0 237 Fungsi Alternatif SCL (Two-wire Serial Bus Clock Line) PC1 SDA (Two-wire Serial Bus Data Input/Output Line) PC6 TOSC1 (Timer Oscillator Pin 1) PC7 TOSC2 (Timer Oscillator Pin 2) Port D (PD7..PD0) Port D berfungsi sebagai port I/O dua arah 8 bit dengan resistor pull-up internal yang dapat diaktifkan untuk setiap bit yang dipilih. Port Pin PD0 Fungsi Alternatif RXD (USART Input Pin) PD1 TXD (USART Output Pin) PD2 INT0 (External Interrupt 0 Input) PD3 INT1 (External Interrupt 1 Input) PD4 OC1B (Timer/Counter1 Output Compare B Match Output) PD5 OC1A (Timer/Counter1 Output Compare A Match Output) PD6 ICP1 (Timer/Counter1 Input Capture Pin) PD7 OC2 (Timer/Counter2 Match Output) Output Compare RESET Pin ini berfungsi untuk mereset mikrokontroller. Aktif low. Artinya jika pin ini diberi input logika 0, maka mikrokontroller akan ter-reset. XTAL1 Pin ini tersambung ke kristal eksternal. Dilihat dari rangkaian internal, pin ini sebagai input ke inverting Oscillator amplifier dan input ke rangkaian operasinal clock internal. XTAL2 Pin ini tersambung ke kristal eksternal. Merupakan keluaran dari inverting Oscillator amplifier Mikroposesor Z-80 dan Mikrokontroler 238 AVCC Berfungsi sebagai input power supply untuk Port A dan A/D Converter. Pin ini harus disambung pada Vcc dan sebaiknya dipasangi low pass filter. Jika tidak tersambung ke Vcc maka A/D Converter tidak berfungsi. AREF Adalah pin tegangan reference analog untuk A/D Converter. Mikroposesor Z-80 dan Mikrokontroler Digram Blok Mikrokontroller Atmega8535 Gambar 6.2.2.2 Blok Diagram Atmega8535 239 Mikroposesor Z-80 dan Mikrokontroler 6.2.3 240 Fungsi Blok pada masing-masing komponen dalam sistem Mikrokontroller ATmega8535 AVR CPU Core Gambar 6.2.3.1 Diagram Block Arsitektur MCU AVR Untuk memaksimalkan performansi dan paralelisme, AVR menggunakan arsitektur Harvard dengan pemisahan memory dan bus program dan data. Instruksi dalam memory program dieksekusi dengan single level pipelining. Ketika suatu instruksi sedang dieksekusi, instruksi beikutnya diambil dahulu dari memory program. Konsep ini memungkinkan instruksi dieksekusi setiap siklus clock. Memory program adalah In-System ReProgrammable Flas memory. Mikroposesor Z-80 dan Mikrokontroler 241 Fast-access Register File terdiri dari 32 x 8 bit general purpose working registers dengan waktu akses satu siklus clock memungkinkan operasi Arithmetic Logic Unit (ALU) dilakukan dalam satu siklus clock. Pada operasi ALU, dua operand dikeluarkan dari register File, operasi dieksekusi dan hasilnya disimpan kembali ke dalam register file dalam satu clock. Mikroposesor Z-80 dan Mikrokontroler 242 Tabel 3.2.2.1.1 Register Mikrokontroller Atmega8535 Enam dari 32 register dapat dipergunakan sebagai register penunjuk alamat tidak langsung 16-bit untuk pengalamatan data index yang memungkinkan kalkulasi alamat menjadi efisien. Satu dari penunjuk alamat ini dapat dipergunakan sebagai penunjuk alamat untuk look up Mikroposesor Z-80 dan Mikrokontroler 243 tables di dalam memory program flash. Ketiga register 16 bit tersebut adalah register X, Y dan Z. ALU mendukung operasi aritmetika dan logika antar register atau antar konstanta dan register. Operasi dengan register tunggal juga dapat dilakukan oleh ALU. Setelah operasi aritmetika dilakukan, register status di-update informasinya sesuai dengan hasil operasi. Register status adalah SREG dengan penjelasan setiap bitnya sebagai berikut : Bit 7 – I : Global Interrupt Enable Bit 6 – T : Bit Copy Storage Bit 5 – H : Half Carry Flag Bit 4 – S : Sign Bit, S = N ⊕ V Bit 3 – V : Two’s Complement Overflow Flag Bit 2 – N : Negative Flag Bit 1 – Z : Zero Flag Bit 0 – C : Carry Flag Mikroposesor Z-80 dan Mikrokontroler 244 Gambar 6.2.3.2 Diagram Block AVR CPU General Purpose Working Registers Seperti tampak pada gambar di atas, setiap register menempati satu alamat pada memory data yang dipetakan langsung ke dalam 32 lokasi memory pertama. Meskipun tidak diimplementasikan langsung sebagai lokasi SRAM, organisasi memory ini menyediakan fleksibilitas yang baik dalam mengakses register misalnya register penunjuk X, Y dan Z dapat di-set sebagai register indek unutk register lain dalam file. Register R26 sampai dengan R31 memiliki fungsi tambahan. Register ini adalah penunjuk alamat 16 bit untuk pengalamatan tidak langsung dari data space. Tiga register pengalamatan tidaklangsung X, Y dan Z digambarkan sebagai brikut : Mikroposesor Z-80 dan Mikrokontroler Rrgister X 15 7 245 XH HL 0 7 R27(0x1B) Rrgister Y 15 7 R27(0x1A) YH YL 0 7 R29(0x1D) Rrgister z 15 7 0 0 R28(0x1C) ZH ZL 0 R31(0x1F) 0 0 7 0 0 R30(0x1E) AVR Atmega8535 Memory In-System Reprogrammable Flash Program Memory Mikrokontroler Atmega8535 memiliki 8 Kbytes On-chip In-System Reprogrammable Flash memory untuk meyimpan program. Karena semua instruksi AVR lebarnya 16 atau 32 bit, maka memory flash diorganisasi sebagai 4K x 16. Untuk keamanan software, Flash memory space dibagi dalam dua seksi, yaitu : Boot Program section dan Application Program section. Flash memory meiliki ketahanan paling sedikit 10,000 kali siklus write/erase. ATmega8535 Program Counter (PC) lebarnya adalah 12 bits yang dapat mengalamati program sebesar 4K lokasi memory. Gambar 6.2.3.3 Peta Memory Program Mikroposesor Z-80 dan Mikrokontroler 246 SRAM Data Memory 608 lokasi alamat data memory adalah Register File, I/O Memory dan internal data SRAM. 96 lokasi alamat pertama adalah Register File dan I/O Memory. 512 lokasi alamat berikutnya adalah internal data SRAM. Gambar 6.2.3.4 Peta Memory Data Pengalamatan langsung dapat mencapai semua space memory data. Pengalamatan tidak langsung dengan mode displacement hanya dapat mencapai 63 lokasi memory dari alamat dasar yang diberikan oleh register Y atau Z. Ketika menggunakan register mode pengalamatan tidak langsung dengan pre-decrement dan post-increment automatis, isi register X, Y dan Z akan di-decrement atau di-increment. Dengan mode pengalamatan tersebut dapat mengakses 32 general purpose working registers, 64 I/O Registers dan the 512 bytes of internal data SRAM. Mikroposesor Z-80 dan Mikrokontroler 247 EEPROM Data Memory The ATmega8535 memiliki 512 bytes memory data EEPROM yang tahan paling sedikit 100.000 kali siklus write/erase. Ketika EEPROM sedang dibaca, CPU akan berhenti bekerja selama empat siklus clock sebelum instruksi berikutnya diesksekusi. Dan pada saat EEPROM sedang ditulisi CPU akan berhententi selama dua siklus clock. Untuk menulis EEPROM diperlukan waktu programming selama 8,4 ms Register yang berhubungan dengan EEPROM adalah sebagai berikut : EEPROM Address Register – EEARH dan EEARL EEPROM Data Register – EEDR EEPROM Control Register – EECR Contoh program assembly untuk menulis EEPROM : EEPROM_write: ; Wait for completion of previous write sbic EECR,EEWE rjmp EEPROM_write ; Set up address (r18:r17) in address register out EEARH, r18 out EEARL, r17 ; Write data (r16) to Data Register out EEDR,r16 ; Write logical one to EEMWE sbi EECR,EEMWE ; Start eeprom write by setting EEWE sbi EECR,EEWE ret Mikroposesor Z-80 dan Mikrokontroler 248 Contoh program assembly untuk membaca EEPROM : EEPROM_read: ; Wait for completion of previous write sbic EECR,EEWE rjmp EEPROM_read ; Set up address (r18:r17) in Address Register out EEARH, r18 out EEARL, r17 ; Start eeprom read by writing EERE sbi EECR,EERE ; Read data from Data Register in r16,EEDR ret I/O Memory Semua I/O dan peripheral Atmega8535 ditempatkan pada I/O Space. Untuk mengakases lokasi I/O menggunakan instruksi IN dan OUT yang dapat menstramsfer data antara 32 general purpose working registers dan I/O space. Register I/O yang berada pada alamat antara 0x00 sampai dengan 0x1F dapat diakses langsung per bit denganmenggunakan instruksi SBI dan CBI. Pada register ini, nilai bit tunggal dapat dicek menggunakan instruksi SBIS dan SBIC. Ketika menggunakan instruksi khusus untuk I/O IN dan OUT, alamat I/O 0x00 – 0x3F harus digunakan. Ketika pengalamatan register I/O sebagai data space menggunakan instruksi LD dan ST, 0x20 harus ditambahkan pada alamat ini. I/O Ports Semua port AVR memiliki fungsi true Read-Modify-Write ketika digunakan sebagai port I/O digital.Maksudnya bahwa arah satu port pin dapat dirubah tanpa merubah arah port pin yang lain dengan instruksi SBI dan CBI. Hal yang sama juga berlaku untuk mengubah nilai keluaran (jika dikonfigurasi sebagai output) atau enable/disable resistor pull-up internal jika dikonfigurasi sebagai input. Setiap buffer keluaran memiliki karakteristik pengendalian yang simetri baik untuk high sink maupun source. Driver pin cukup kuat untuk men-drive LED secara langsung. Semua port memeiliki selektor resistor pull-up sendiri-sendiri dengan suatu sumber tegangan dengan resistansi yang bervariasi. Semua pin I/O memiliki dioda proteksi ke Vcc dan Gorund. Mikroposesor Z-80 dan Mikrokontroler 249 Gambar 6.2.3.5 Rangkaian equivalent pin I/O Pada penjelasan berikutnya dipakai symbol “x” untuk mewakili port dan symbol “n” unutk mewakili bit, contoh PORTB3 untuk port B bit 3 dapat ditulis sebagai PORTxn.Tiga buah lokasi memory I/O terletak pada setiap port. Satu untuk register data – PORTx, Data Direction Register – DDRx dan Port Input Pins – PINx. Lokasi Port Port Input Pins I/O adalah read only ketika Register Data dan Data Direction Register sedang dibaca atau ditulisi. Pull-up Disable – PUD bit dalam SFIOR memungkinkan fungsi pull-up untuk semua pin jika diset. Setiap pin port terdiri dari tiga register bits, yaitu DDxn, PORTxn dan PINxn. DDxn bits diakses pada alamat DDRx I/O, PORTxn bits pada PORTx I/O address dan PINxn bits pada PINx I/O. DDxn bit pada Register DDRx dipergunakan untuk mengatur arah data pin. Jika DDxn ditulisi dengan logika 1, maka Pxn dikonfigurasi sebagai pin keluaran. Jika DDxn diberilogika 0, maka Pxn dikonfigurasi sebagai pin masukan. Jika PORTxn diberi logika 1 ketika pin dikonfigurasi sebagai input, resistor pull-up akan diaktifkan. Untuk melepas saklar resistor pull-up, PORTxn harus diberi logika 0 atau pin dikonfigurasi sebagai pin keluaran. Ketika pin reset aktif, pin port akan dikodisikan tri-stated meskipun tidak ada pulsa clock. Mikroposesor Z-80 dan Mikrokontroler 250 Jika PORTxn diberi logika 1 ketika pin dikonfigurasi sebagai pin keluaran, maka pin port akan di-drive ke logika tinggi (1). Jika PORTxn diberi logika 0 ketika pin dikonfigurasi sebagai pin keluaran, maka pin port akan di-drive ke logika rendah (0). Ketika switching antara tri-state ({DDxn, PORTxn} = 0b00) and output high ({DDxn, PORTxn} = 0b11), dimungkinkan sebuah intermediate state dengan pull-up ({DDxn, PORTxn} =0b01) atau output low ({DDxn, PORTxn} = 0b10) akan muncul. Pada umumnya pull-up enabled state dapat diakses penuh sebagai high-impedant environment tanpa perbedaan antara strong high driver dan pull-up. Jika tidak demikian, maka PUD bit dalam register SFIOR dapat diset ke disable untuk semua pull-up pada semua port. Switching antara input dengan pull-up dan output low menghasilkan masalah yang sama. Pemakai harus menggunakan tristate ({DDxn, PORTxn} = 0b00) atau output high state ({DDxn, PORTxn} = 0b10) sebagai suatu intermediate step. Tabel 6.2.3.1 Konfigurasi Pin Port DDxn PORTxn PUD I/O 0 0 0 1 x 0 Input Input Pullup No Yes 0 1 1 1 0 1 1 x x Input Output Output No No No Keterangan Tri-state (Hi-Z) Pxn akan menjadi sumber arus, jika external pulled low Tri-state (Hi-Z) Output Low (Sink) Output High (Source) Berikut ini contoh program dalam bahasa assembly yang menunjukkan bagaimana men-set port B pin 0 dan1 high, 2 low 3 low, dan menentukan bahwa port pin dari 4 sampai 7 sebagai input dengan pull-up yang ditugaskan ke port pin 6 dan 7. Nilai hasil pengembalian pin dibaca kembali. Ketika membaca kembali nilai pin, instruksi NOP harus dimasukkan karena adanya keterlambatan sinyal sinkronisasi selama satu periode clock. Mikroposesor Z-80 dan Mikrokontroler ... ; Define pull-ups and set outputs high ; Define directions for port pins ldi r16,(1<<PB7)|(1<<PB6)|(1<<PB1)|(1<<PB0) ldi r17,(1<<DDB3)|(1<<DDB2)|(1<<DDB1)|(1<<DDB0) out PORTB,r16 out DDRB,r17 ; Insert nop for synchronization nop ; Read port pins in r16,PINB ... 251 Mikroposesor Z-80 dan Mikrokontroler 252 Timer/Counter Mikrokontroller Atmega8535 memiliki tiga buah Timer/Counter yaitu Timer/Counter0 8-bit dengan PWM, Timer/Counter1 16-bit dan Timer/Counter2 8-bit dengan PWM. Timer/Counter0 8-bit dengan PWM Gambar 6.2.3.6 Diagram Block Timer/Counter0 8 bit Timer/Counter (TCNT0) dan Output Compare Register (OCR0) masing-masing adalah registers 8-bit. Sinyal Interrupt request (dalam gambar di atas disingkat Int.Req) dapat dilihat pada Timer Interrupt Flag Register (TIFR). Semua interrupt dimasker secara individual pada register Timer Interrupt Mask (TIMSK). TIFR dan TIMSK tidak diperlihatkan pada gambar di atas , register tersebut juga dipergunakan untuk unit timer yang lain. Mikroposesor Z-80 dan Mikrokontroler 253 Timer/Counter dapat disambung ke clock internal melalui prescaler, atau dapat juga menggunakan clock eksternal melalui pin T0. Clock select dikontrol oleh selector clock bit (CS02:0) yang terletak pada register Timer/Counter Control (TCCR0). Blok Clock Select logic mengatur pilihan sumber clock. Timer/Counter menggunakan pulsa clock ini untuk meng-increment (atau decrement) nilai counter. Timer/Counter tidak aktif apabila tidak ada sumber clock yang dipilih. Keluaran dari Clock Select logic adalah sesuai dengan timer clock (clkT0). Setiap saat nilai Double buffered Output Compare Register (OCR0) dibandingkan dengan nilai Timer/Counter. Hasil perbandingan dapat dipergunakan oleh Waveform Generator untuk menggenerate keluaran PWM atau variable frequency pada pin Output Compare (OC0). The Compare Match event juga men-set Compare Flag (OCF0) yang juga dapat dipakai untuk menggenerateoutput compare interrupt request. Mikroposesor Z-80 dan Mikrokontroler 254 Timer/Counter1 16-bit Gambar 6.2.3.7 Diagram Block Timer/Counter1 16 bit Timer/Counter (TCNT1), Output Compare Registers (OCR1A/B) dan Input Capture Register (ICR1) semuanya adalah register 16-bit. Special procedure harus diikuti untuk mengakses register 16-bit. Timer/Counter Control Registers (TCCR1A/B) adalah register 8-bit dan tidak memiliki akses ke CPU. Sinyal Interrupt requests (dalam gambar disingkat menjadi Int.Req.) dapat dilihat pada Timer Interrupt Flag Register (TIFR). Semua interrupts dimasker secara individual dengan Timer Interrupt Mask Register (TIMSK). TIFR and TIMSK tidak ditunjukkan dalam gambar dan juga dipergunakan oleh timer yang lain. The Timer/Counter dapat di-clock menggunakan clock internal, melalui prescaler, atau dapat juga di-clock dari sumber eksternal melalui pin T1. Mikroposesor Z-80 dan Mikrokontroler 255 Block Clock Select logic mengatur sumber dan edge clock. the Timer/ Counter menggunakan pulsa clock ini untuk meng-increment (atau decrement) nilai counter. Timer/Counter tidak aktif apabila tidak ada sumber clock yang dipilih. Keluaran dari Clock Select logic adalah sesuai dengan timer clock (clkT1). Setiap saat nilai Double buffered Output Compare Register (OCR1A/B) dibandingkan dengan nilai Timer/Counter. Hasil perbandingan dapat dipergunakan oleh Waveform Generator untuk menggenerate keluaran PWM atau variable frequency pada pin Output Compare (OC1A/B). The Compare Match event juga men-set Compare Flag (OCF1A/B) yang juga dapat dipakai untuk menggenerateoutput compare interrupt request. TCNT1, OCR1A/B dan ICR1 adalah register 16-bit yang dapat diakses oleh CPU AVR 8 bit melalui data bus. Register 16-bit diakses menggunakan dua operasi baca atau tulis. Setiap timer 16 bit memiliki register 8 bit temporer untuk menyimpan data sementara untuk menyimpan byte tinggi dan byte rendah. Ketika byte low sedang ditulisi oleh CPU, maka byte tinggi disimpan pada register temporer dan ke tika byte low sedang ditulisi oleh CPU maka keduanya di-kopi ke register 16 bit. Ketika byte low sedang dibaca oleh CPU, maka byte tinggi di-kopi ke register temporary pada saat clock yang bersamaan. Tidak semua register 16 bit menggunakan register temporer untuk byte tinggi dan rendah. Memmbaca regigter 16 bit OCR1A/B tidak menggunakan register temporer. Untuk menulisi register 16 bit, byte tinggi harus ditulis dulu sebelum menulis byte rendah. Untuk membaca register 16 bit, byte rendah harus dibaca dulu sebeum membaca byte tinggi. Contoh berikut diperlihatkan bagaimana mengakses register 16 bit dengan asumsi tidak ada interrupt yang meng-update register temporer. Dengan prinsip yang sama dapat pula mengakses register OCR1A/B dan ICR1. ... ; Set TCNT1 to 0x01FF ldi r17,0x01 ldi r16,0xFF out TCNT1H,r17 out TCNT1L,r16 ; Read TCNT1 into r17:r16 in r16,TCNT1L in r17,TCNT1H ... Mikroposesor Z-80 dan Mikrokontroler 256 Program di atas mengembalikan nilai TCNT1 ke register pasangan r17 dan r16. Untuk menghindari masalah terjadinya dengan interrupt, maka selama mengakses register 16 bit, interrupt harus dimatikan terlebih dahulu. Program berikut ini contoh membaca register TCNT1. TIM16_ReadTCNT1: ; Save Global Interrupt Flag in r18,SREG ; Disable interrupts cli ; Read TCNT1 into r17:r16 in r16,TCNT1L in r17,TCNT1H ; Restore Global Interrupt Flag out SREG,r18 ret Program berikut ini contoh menulisi register TCNT1. TIM16_WriteTCNT1: ; Save Global Interrupt Flag in r18,SREG ; Disable interrupts cli ; Set TCNT1 to r17:r16 out TCNT1H,r17 out TCNT1L,r16 ; Restore Global Interrupt Flag out SREG,r18 ret Pemakaian Timer/Counter1 dapat digunakan sebagai tunda waktu (delay), pada contoh dibawah ini bahwa kristal yang dipergunakan modul mikrokontroller adalah 12 MHz. Dengan kristal sebesar ini, maka satu detik sama dengan 12.000.000 pulsa clock. Berikut ini algoritma membuat tunda waktu 1 detik. 1. Mengaktifkan interrupt TOIE1 dengan cara men-set bit2 – TOIE1: Timer/Counter1, Overflow Interrupt Enable pada register Timer/Counter Interrupt Mask – TIMSK Mikroposesor Z-80 dan Mikrokontroler 257 Jika bit ini diberi logika 1, maka Timer/Counter1 overflow interrupt dienable-kan dan I-flag di Status Register akan di-set 1 (interrupts globally enabled) 2. Menentukan nilai pembagi prescaler dengan men-set register Timer/Counter1 Control Register B – TCCR1B Bit ke 0 sampai bit ke 2 [CS12,CS11,CS10] digunakan untuk memilih sumber clock yang akan digunakan Timer/Counter, dengan keterangan sebagai berikut : CS12 CS11 CS10 Keterangan 0 0 0 0 0 1 clkI/O/1 (No prescaling) 0 1 0 clkI/O/8 (From prescaler) 0 1 1 clkI/O/64 (From prescaler) 1 0 0 clkI/O/256 (From prescaler) 1 0 1 clkI/O/1024 (From prescaler) 1 1 0 External clock source on T1 pin. Clock on falling edge. 1 1 1 External clock source on T1 pin. Clock on rising edge. No clock source (Timer/Counter stopped) Dengan memilih sumber clock, dihitung nilai yang paling baik dengan selisih yang paling kecil. Apabila dihitung secara manual akan diperoleh hasil perbandingan sebagai berikut : Mikroposesor Z-80 dan Mikrokontroler Sumber Clock Jumlah clock 258 pulsa/sumber Keterangan clkI/O/1 12.000.000/1 = 12000.000 Melebihi batas nilai 16 bit clkI/O/8 12.000.000/8 = 1.500.000 Melebihi batas nilai 16 bit clkI/O/64 12.000.000/64 = 187.500 Melebihi batas nilai 16 bit clkI/O/256 12.000.000/256 = 46.875 Masuk dalam nilai 16 bit clkI/O/1024 12.000.000/1024 = 11.718,75 Masuk dalam nilai 16 bit Dari table hasil pembagian di atas tampak bahwa sumber clock yang dapat dipakai adalah sumber clock dengan prescaler pembagi 256 dan 1024. Tetapi karena pre scaler 256 menghasilkan angka bulat tanpa nilai lebih dibelakang koma, maka sumber clock ini akan menghasilkan timer yang tepat pula. Oleh karena itu dipilihlah nilai prescaler ini dengan hasil pembagian 46.875 3. Berikutnya menghitung nilai yang akan dimasukkan ke register Timer/Counter1 – TCNT1H dan TCNT1L Karena Timer menghitung naik dan over flow jika melewati nilai $FFFF ke $0000, maka register TCNT1 diisi dengan nilai minus 46.875 atau dalam bilangan heksa $48E5. Nilai byte tinggi 48 inilah yang nantinya dimasukkan ke register TCNT1H dan Nilai byte rendah E5 dimasukkan ke register TCNT1L Untuk mendapatkan nilai-nilai tersebut dalam algoritma langkah 2 dan 3, lebih mudah dilakukan dengan menggunakan kalkulator yang disertakan dalam CD dengan tampilan sebagai berikut : Mikroposesor Z-80 dan Mikrokontroler 259 Gambar 6.2.3.8 Kalkulator AVR 4. Flag overflow dapat dilihat pada bit TOV1 pada register TIFR. Apabila bit TOV berlogika 1, maka timer/counter sudah overflow dan program bagian (sub routine) tunda waktu selesai dan kembali ke program utama. Sebelum keluar sub routine bit TOV harus dienolkan dulu dengan memberikan logika satu. TOV1 otomatis di-clear ketika Timer/Counter1 Overflow Interrupt Vector diekesekusi. Alternatif lain TOV1 juga dapat di-clear dengan memberikan logika 1 pada lokasi bit tersebut. Berikut ini contoh program bagian dalam bahasa assembly untuk tunda waktu 1 detik : Mikroposesor Z-80 dan Mikrokontroler 260 .equ value1s = 0x48E5 ;========================================================= ; tunda selama 1s ; x'tal = 12000000 Hz. ; selama 1 detik = 12000000 clock ; prescaler = 256 ; nilai Overflow = -12000000/256 = - 46.875 = 0x48E5 ; 0x48E5 inilah yang diisikan ke reg. TCNT1H dan TCNT1L ;========================================================= tunda1s: ldi r16,0b00000100 ;mengaktifkan interupsi TOIE1 out TIMSK,r16 ldi r16,0b00000101 ;prescaler timer 256 out TCCR1B,r16 ;freq. clock dibagi 256 ldi r16,high(value1s) ;memsukkan nilai timer out TCNT1H,r16 ;0x48E5, 48 ke TCNT1H dan E5 ke TCNT1L ldi r16,low(value1s) out TCNT1L,r16 loopt1: in sbrs rjmp ldi out ret r16,TIFR r16,TOV1 loopt1 r16,0b00000100 TIFR,r16 ;menunggu sampai timer1 overflow ;mengenolkan kembali timer1 Timer/Counter2 8-bit Timer/Counter (TCNT2) dan Output Compare Register (OCR2) masing-masing adalah registers 8-bit. Sinyal Interrupt request (dalam gambar di atas disingkat Int.Req) dapat dilihat pada Timer Interrupt Flag Register (TIFR). Semua interrupt dimasker secara individual pada register Timer Interrupt Mask (TIMSK). TIFR dan TIMSK tidak diperlihatkan pada gambar di atas , register tersebut juga dipergunakan untuk unit timer yang lain. Timer/Counter dapat di-clock mengguanakn internal clock melalui prescaler atau menggunakan clock eksternal asinkron melalui pin TOSC1/2. Opersi asinkron dikontrol oleh Asynchronous Status Register (ASSR). Clock Select logic block digunakan untuk mengatur sumber clock Timer/Counter. Jika tidak ada sumber clock, maka timer/counter akan berhenti. Keluaran Clock Select logic adalah timer clock (clkT2). Mikroposesor Z-80 dan Mikrokontroler Gambar 6.2.3.9 Diagram Block Timer/Counter2 8 bit 261 Mikroposesor Z-80 dan Mikrokontroler 262 Serial Peripheral Interface – SPI Gambar 6.2.3.10 SPI Master-Slave Interconnection Dengan adanya Serial Peripheral Interface – SPI memungkinkan transfer sinkron data kecepatan tinggi antara Atmega8535 dengan peralatan lain. Hubungan interkoneksi antara Master dan Slave ditunjukkan pada gambar di atas. Sistim terdiri dari dua register geser dan generator clock master. Untuk menentukan perangkat mana sebagai Master atau Slave, ditentukan dengan men-set pin Slave Select ( SS ). Jika pin SS mendapat logika rendah, maka konfigurasi SPI adalah sebagai slave. Master harus berinisiatif memulai komunikasi ke Slave. Master dan slave mempersiapakan data yang akan dikirim ke register geser. Master menggenerasi sinyal clock (SCK) untuk menggesesr data. Data selalu bergeser dari Master ke Slave pada pin Master Out – Slave In (MOSI) dan dari Slave ke Master pada pin Master In – Slave Out (MISO). Setelah setiap paket terkirim, Master akan mensinkronisasi Slave dengan mem-pulling high Slave Select ( SS ). Ketika dikonfigurasi sebagai Master, Interface SPI tidak secara otomatis jalur SS ini. Pemakai harus mengatur logika pin SS ini dengan dengan software sebelum komunikasi dapat dimulai. Ketika hal tersebut sudah dilakukan, tulis data ke SPI Data Register dan berikan pulsa clock, maka hardware akan menggeser delapan bit data ke Slave. Setelah menggeser satu byte, SPI clock generator akan stop, dan menyeting End of ransmission Flag (SPIF). Jika SPI Interrupt Enable bit (SPIE) dalam Register SPCR sama dengan 1, maka suatu interrupt akan di-request. Master dapat melanjutkan pengiriman data berikutnya dengan menulisi register SPDR, atau sinyal tanda akhir paket dengan mem-pulling high pin Slave Select ( SS ). Byte yang datang terakhir akan disimpan dalam register buffer untuk penggunaan selanjutnya. Mikroposesor Z-80 dan Mikrokontroler 263 Ketika dikonfigurasi sebagai Slave, Interface SPI akan beristirahat bersama MISO tri-state selama pin SS berlogika tinggi. Dalam kondisi ini, software dapat meng-update isi register SPI Data Register (SPDR), tetapi data tidak akan digeser keluar oleh pulsa clock yag datang pada pin SCK sampai pin SS diberi logika rendah. Setelah satu byte data selesai digeser, End of Transmission Flag, SPIF akan di-set 1. Jika bit SPI Interrupt Enable, SPIE dalam register SPCR di set 1, maka suatu interrupt akan di-request. Slave dapat melanjutkan menempatkan data baru yang akan dikirim ke register SPDR sebelum membaca data yang masuk. Byte data yang masuk terakhir akan disimpan ke dalam register buffer untuk penggunaan selanjutnya. Sistim SPI ini menggunakan satu buah buffer untuk arah kirim dan dua buah buffer untuk arah terima. Artinya bahwa byte yang akan dikirim tidak dapat dimasukkan ke register data SPI sebelum siklus geser selesai. Ketika menerima data. Bagaimanapun juga sebuah karakter harus dibaca dari register data SPI sebelum karakter berikutnya selesai digeser, kalau tidak kehilangan byte pertama. Dalam mode SPI Slave, control ligic akan mengambil sample sinyal dari pin SCK. Untuk meyakinkan sampling yang benar dari sinyal clock, minimal dan maksimal perioda harus sebagai berikut : Periode rendah = lebih panjang dari 2 siklus clock CPU Periode tinggi = lebih panjang dari 2 siklus clock CPU Ketika SPI di-enable-kan, arah data pin MOSI, MISO, SCK dan SS disesuaikan dengan tabel berikut : Pin MOSI MISO SCK SS Arah, SPI Master Ditentukan pemakai input Ditentukan pemakai Ditentukan pemakai Arah , SPI Slave input Ditentukan pemakai input input Contoh berikut memeprlihatkan bagaimana menginisialisasi SPI sebagai Master dan bagaimana mengirimkan data. DDR_SPI pada contoh ini harus diganti dengan Data Direction Register yang mengontrol pin SPI yang sesungguhnya. DD_MOSI, DD_MISO dan DD_SCK harus diganti dengan bit arah data yang sesungguhnya dari pin tersebut. Sebagai contoh, jika MOSI berada pada pin PB5, maka gantilah DD_MOSI dengan DDB5 dan DDR_SPI dengan DDRB. Mikroposesor Z-80 dan Mikrokontroler SPI_SlaveInit: ; Set MISO output, all others input ldi r17,(1<<DD_MISO) out DDR_SPI,r17 ; Enable SPI ldi r17,(1<<SPE) out SPCR,r17 ret SPI_SlaveReceive: ; Wait for reception complete sbis SPSR,SPIF rjmp SPI_SlaveReceive ; Read received data and return in r16,SPDR ret 264 Mikroposesor Z-80 dan Mikrokontroler 265 The Universal Synchronous and Asynchronous serial Receiver and Transmitter (USART) Gambar 6.2.3.11 USART Block Diagram Berikut ini contoh program mengakses USART .include"C:\Program Files\Atmel\AVR Tools\AvrAssembler2\Appnotes\m8535def.inc" .equ fclock = 4000000 .equ baud_rate = 19200 .equ ubbr_value = (fclock / (16*baud_rate)) - 1 .org 0x0000 ;========================================================== ; menempatkan alamat stack pointer pada alamat terakhir RAM ;========================================================== Mikroposesor Z-80 dan Mikrokontroler main: ldi out ldi out rcall rcall utama: in rcall rcall USART out portB rjmp 266 r16,low(RAMEND) SPL,r16 r16,high(RAMEND) SPH,r16 init_usart init_port r17,pinC usart_tx usart_rx ;membaca data pinC ;mengirim isi reg.17 ke USART ;menunggu data yang masuk ke PortB,r17 ;isi reg.17 dikeluarkan ke utama ;========================================================== ;inisialisasi usart ;========================================================== init_usart: ;set baud rate ldi r16,high (ubbr_value) out UBRRH, r16 ldi r16,low (ubbr_value) out UBRRL, r16 ;enable receive and transmit ldi r16, (1<<RXEN)|(1<<TXEN)|(1<<RXCIE) out UCSRB,r16 ;set format:8 data,1 stop bit ldi r16, (1<<URSEL)|(3<<UCSZ0) out UCSRC,r16 ret ;========================================================== ;inisialisasi port ;========================================================== init_port: ldi r16,0x00 out ddra,r16 ;PORTA sebagai input out ddrc,r16 ;PORTC sebagai input ldi r16,0xff out ddrb,r16 ;PORTB sebagai output out ddrd,r16 ;PORTD sebagai output ret Mikroposesor Z-80 dan Mikrokontroler 267 ;========================================================== ; usart transmit data ; fungsi : mengirim isi reg. 17 ke USART ;========================================================== usart_tx: sbis UCSRA,UDRE ;wait for empty transmit buffer rjmp usart_tx out UDR,r17 ;put data into buffer, sends the data ret ;========================================================== ; usart receive data ; fungsi : membaca USART dan hasil pembacaan masuk ke reg. 17 ;========================================================== usart_rx: sbis UCSRA,RXC ;wait for data to be received rjmp usart_rx in r17,UDR ;get and return received data from ;buffer ret Rangkuman Mikrokontroller Atmega8535 adalah mikrokontroller AVR 8 bit buatan ATMEL yang memiliki arsitektur RISC (Reduce Instruction Set Computing). Instruksi dikemas dalam kode 16 bit dan dijalankan hanya dengan satu siklus clock. Fitur Mikrokontroller Atmega8535 adalah • High-performance, Low-power AVR® 8-bit Microcontroller • Nonvolatile Program and Data Memories • Peripheral Features - Two 8-bit Timer/Counters with Separate Prescalers and Compare Modes - One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture Mode - Real Time Counter with Separate Oscillator - Four PWM Channels - 8-channel, 10-bit ADC - Byte-oriented Two-wire Serial Interface - Master/Slave SPI Serial Interface - Programmable Watchdog Timer with Separate On-chip Oscillator - On-chip Analog Comparator Mikroposesor Z-80 dan Mikrokontroler • • • 268 I/O and Packages - 32 Programmable I/O Lines - 40-pin PDIP, 44-lead TQFP, 44-lead PLCC, and 44-pad QFN/MLF Operating Voltages - 2.7 - 5.5V for ATmega8535L - 4.5 - 5.5V for ATmega8535 Speed Grades - 0 - 8 MHz for ATmega8535L - 0 - 16 MHz for ATmega8535 Mikroposesor Z-80 dan Mikrokontroler 269 Latihan Dengan menggunakan software Eagle atau Protel, gambarlah rangkaian dan layout PCB modul mikrokontroller Atmega8535 seperti gambar berikut : Gambar 6.2.3.12 Rangkaian Modul Mikrokontroller Atmega8535 Gambar 6.2.3.13 Desaign PCB Modul Mikrokontroller Atmega8535 Mikroposesor Z-80 dan Mikrokontroler 270 Tugas Dari gambar layout PCB modul mikrokontroller yang dibuat pada latihan di atas, kerjakanlah pembuatan PCB tersebut dan solderilah komponen yang diperlukan sehingga menjadi modul mikrokontroller yang nantinya akan dipakai pada modul pembelajaran ini. Kunci Jawaban Gambar 6.2.3.14 Layout PCB sisi komponen Gambar 6.2.3.15 Layout PCB sisi solder Mikroposesor Z-80 dan Mikrokontroler Gambar 6.2.3.16 PCB Modul Mikrokontroller 271 Mikroposesor Z-80 dan Mikrokontroler 272 Tujuan Kegiatan Pembelajaran Setelah mengikuti kegiatan pembelajaran pada pokok bahasan ini, diharapkan peserta didik dapat memiliki kemampuan membuat program, mensimulasikan dan mempogram mikrokontroller ATmega8535 menggunakan software BascomAVR 6.2.4 Membuat Program Mikrokontroller Siapkan modul mikrokontroller mikrokontroller dengan komputer. dan sambungkan kabel LPT antara Gambar 6.2.4.1 Sambungan kabel LPT antara modul mikrokontroller dengan komputer Jalankan program , tunggu sampai muncul jendela utama BASCOM-AVR. Pilih Menu File – New atau tekan toolbar Open new edit window Pada jendela editor, ketiklah program mikrokontroller yang akan dibuat. Di bawah ini contoh program input output membaca deretan saklar pada Pinc dan menampilkannya pada Portb. Mikroposesor Z-80 dan Mikrokontroler 273 Gambar 6.2.4.2 Jendela Editor BASCOM-AVR Simpan file tersebut dalam satu folder tersendiri karena setiap project setelah di-compile akan menghasilkan banyak file. Untuk menyimpan file, pilih menu File – Save atau tekan toolbar Save File Kemudian compile file tersebut dengan memilih menu Program – File atau tekan toolbar Compile current file(F7) Tunggu sampai proses compiling selesai. Mikroposesor Z-80 dan Mikrokontroler 274 Gambar 6.2.4.3 Jendela Proses Compiling Apabila terdapat kesalahan, maka di bawah jendela editor akan muncul informasi kesalahan seperti contoh berikut : Gambar 6.2.4.4 Jendela informasi kesalahan Tampak pada contoh di atas muncul pesan keslahan Error 124 pada baris 12 bahwa tidak ada instruksi LOOP. Untuk memperbaiki kesalahan yang dimaksud, lompat ke baris yang salah dengan cara double click pada teks informasi keslahan tersebut. Mikroposesor Z-80 dan Mikrokontroler 275 Mensimulasikan Program Mikrokontroller Jika tidak ada kesalahan, maka pesan kesalahan tidak muncul dan program dapat disimulasikan dengan cara pilih menu Program – Simulate atu tekan toolbar Simulate program(F2) Selanjutnya akan muncul jendela AVR Simulasi seperti berikut Gambar 6.2.4.5 Jendela AVR Simulasi Aktifkan toolbar Show hardware emulation kemudian akan muncul Jendela Hardware emulation seperti gambar 6.2.4.6. Mikroposesor Z-80 dan Mikrokontroler 276 Gambar 6.2.4.6 Jendela Hardware Simulasi Aktifkan toolbar Refresh variables agar tampilan jendela hardware simulasi selalu fresh sesuai kondisi aktual Berikutnya jalankan program simulasi dengan menekan toolbar Run program(F5) Click pada tampilan LED warna hijau IC maka tampilan LED warna merah pada PB akan menyala sesuai masukan pada PinC. Mikroposesor Z-80 dan Mikrokontroler 277 Gambar 6.2.4.7 Jendela AVR Simulasi dan Hardware Simulasi keduanya aktif Memprogram Mikrokontroller Pilih jenis programmer melalui port paralel LPT dengan cara pilih menu Option –Programmer, selanjutnya pilih TabStrib Programmer dan pada ComboBox Programmer pilih STK200/STK300 Programmer, kemudian tekan tombol OK seperti pada gambar berikut Gambar 6.2.4.8 Jendela BASCOM-AVR Option Mikroposesor Z-80 dan Mikrokontroler 278 Selanjutnya pilih menu Program – Send to chip atau tekan toolbar Run programmer (F4) dan pilih menu Program Apabila board modul mikrokontroller tidak aktif, maka akan muncul jendela pesan sebagai berikut Gambar 6.2.4.9 Kotak pesan Jika board modul mikrokontroller tidak ada masalah, maka selanjutnya akan muncul jendela AVR ISP STK Programmer sebagai berikut : Gambar 6.2.4.10 Jendela AVR ISP STK Programmer Mikroposesor Z-80 dan Mikrokontroler 279 Pada combobox Chip, pilih Atmega8535, tekan toolbar Load file into buffer dan pilih file hex yang akan di-download ke chip mikrokontroller Untuk men-download program , tekan toolbar Write buffer to flash ROM Tunggu sampai proses programming selesai Gambar 6.2.4.11 Jendela BASCOM-AVR Programming status Setelah itu lepas kabel LPT dan mikrokontroller langsung menjalankan program yang telah di-download Mikroposesor Z-80 dan Mikrokontroler 280 Rangkuman Software BASCOM-AVR dapat dipergunakan untuk membuat program dengan bahasa tingkat tinggi BASIC. Program yang sudah ditulis dapat di-compile dapat disimulasikan pada computer. Hasil compiling program berupa file hexa yang nantinya didownloadkan ke chip mikrokontroller. Latihan Salinlah program dibawah ini pada editor BASCOM-AVR, kemudian simulasikan dan downloadkanlah ke dalam chip microcontroller. 'Hardware : Modul Digital I/O Test pada PORTB/C 'Fungsi : Kedip $regfile "m8535.dat" Config Portd = Output Do Portd = 0 Waitms 100 Portd = 255 Waitms 100 Loop End Gambar 6.2.4.12 Program kedip pada jendela editor BASCOM-AVR Mikroposesor Z-80 dan Mikrokontroler 281 Tugas Berikut ini adalah program membaca data analog ADC input kanal 0 dan ditampilkan ke LCD dua baris 16 kolom. Salinlah program tersebut dan simulasikan pada BASCOM-AVR. Aturlah slider mulai pada posisi minimal paling bawah sampai pada posisi paling atas. Berapa penunjukan LCD ketika slider pada posisi minimal dan maksimal ? $regfile "m8535.dat" $crystal = 4000000 Dim Ch0 As Word Dim A0 As Single Config Adc = Single , Prescaler = Auto , Reference = Avcc 'config ADC Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2 Config Lcd = 16 * 2 Cursor Off Noblink Start Adc Cls Upperline Lcd "ADC input = " Do Ch0 = Getadc(0) A0 = Ch0 * 0.0049 Locate 1 , 13 Lcd Fusing(a0 , "#.#") Loop End Mikroposesor Z-80 dan Mikrokontroler Kunci Jawaban Gambar 6.2.4.13 Simulasi ketika slider pada posisi minimal Gambar 6.2.4.14 Simulasi ketika slider pada posisi maksimal 282 Mikroposesor Z-80 dan Mikrokontroler 283 Tujuan Kegiatan Pembelajaran Setelah mengikuti kegiatan pembelajaran pada pokok bahasan ini, diharapkan peserta didik dapat Memprogram Sistem Mikrokontroller ATmega8535. 6.2.5 Input Output Digital Gambar 6.2.5.1 Rangkaian Modul Digital Input Output Test Gambar 6.2.5.2 Modul Percobaan Input Output Digital Mikroposesor Z-80 dan Mikrokontroler Listing program : ‘Hardware : Modul Digital I/O pada PORTD/PORTA ‘Fungsi : Membaca data deretan saklar pada PORTA ‘ Menampilkan hasil pembacaan deretan LED pada PORTD $regfile "m8535.dat" Config Porta = Input Config Portd = Output Do Portd = Pina Loop End Deretan LED Gambar 6.2.5.3 Modul Percobaan Deretan LED Listing program : Cara 1 : ‘Hardware ‘ ‘Fungsi : Modul Mikrokontroler Modul Digital I/O pada PORTB/PORTC : LED berjalan pada PORTB $regfile "m8535.dat" $crystal = 4000000 Config Portc = Input Config Portb = Output Do Portb = &B00000001 Waitms 100 Portb = &B00000010 Waitms 100 Portb = &B00000100 284 Mikroposesor Z-80 dan Mikrokontroler Waitms 100 Portb = &B00001000 Waitms 100 Portb = &B00010000 Waitms 100 Portb = &B00100000 Waitms 100 Portb = &B01000000 Waitms 100 Portb = &B10000000 Waitms 100 Loop End Cara 2 : ‘Hardware ‘ ‘Fungsi : Modul Mikrokontroler Modul Digital I/O pada PORTB/PORTC : LED berjalan pada PORTB $regfile "m8535.dat" $crystal = 4000000 Dim Dat As Byte Dim I As Single Config Portc = Input Config Portb = Output Do Restore Teks For I = 1 To 8 Read Dat Portb = Dat Waitms 100 Next Loop End Teks: Data &B00000001 Data &B00000010 Data &B00000100 Data &B00001000 Data &B00010000 Data &B00100000 Data &B01000000 Data &B10000000 285 Mikroposesor Z-80 dan Mikrokontroler Lampu Lalu Lintas Gambar 6.2.5.4 Rangkaian Modul Lampu Lalu Lintas Gambar 6.2.5.5 Penempatan LED pada Modul Lampu Lalu Lintas 286 Mikroposesor Z-80 dan Mikrokontroler 287 Gambar 6.2.5.6 Modul Percobaan Lampu Lalu Lintas Tabel kebenaran : Lampu H4 H3 M2 K2 H2 M1 K1 H1 PB.7 PB.6 PB.5 PB.4 PB.3 PB.2 PB.1 PB.0 1 1 1 0 0 0 0 1 1 1 0 1 0 0 0 1 1 1 0 0 1 1 0 0 1 1 0 0 1 0 1 0 Heksa Penyalaan &H21 &H11 &H0C &H0A 5 detik 3 detik 5 detik 3 detik Listing program : ‘Hardware : Modul Lampu Lalu Lintas pada PORTB/PORTC ‘Fungsi : Pengaturan lampu lali lintas sesuai tabel kebenaran $regfile "m8535.dat" $crystal = 4000000 Config Portc = Input Config Portb = Output Do Portb = &H21 Wait 5 Portb = &H11 Wait 3 Portb = &H0C Wait 5 Portb = &H0A Wait 3 Loop End Mikroposesor Z-80 dan Mikrokontroler 288 Stepping Motor Gambar 6.2.5.7 Rangkaian Modul Motor Stepper Gambar 6.2.5.8 Modul Percobaan Motor Stepper Tabel kebenaran : Lilitan Motor L4 L3 L2 L1 PB.7 PB.6 PB.5 PB.4 PB.3 PB.2 PB.1 PB.0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 Heksa &H08 &H04 &H02 &H01 Tunda Waktu 10 ms 10 ms 10 ms 10 ms Mikroposesor Z-80 dan Mikrokontroler Listing program : ‘Hardware : Modul Motor Stepper pada PORTB ‘Fungsi : Memutar motor stepper $regfile "m8535.dat" $crystal = 4000000 Config Portc = Input Config Portb = Output Do Portb = &H08 Waitms 10 Portb = &H04 Waitms 10 Portb = &H02 Waitms 10 Portb = &H01 Waitms 10 Loop End 289 Mikroposesor Z-80 dan Mikrokontroler Seven Segment Display Gambar 6.2.5.9 Rangkaian Modul Seven Segment Gambar 6.2.5.10 Modul Percobaan Seven Segment 290 Mikroposesor Z-80 dan Mikrokontroler Listing program : ‘Hardware : Modul Seven Segment pada PORTB/PORTC ‘Fungsi : Menampilkan angka 123456 pada Seven Segment Display $regfile "m8535.dat" $crystal = 4000000 Config Portb = Output Do Portb = &H51 Waitms 1 Portb = &H42 Waitms 1 Portb = &H33 Waitms 1 Portb = &H24 Waitms 1 Portb = &H15 Waitms 1 Portb = &H06 Waitms 1 Loop End Analog To Digital Convertion (ADC) Gambar 6.2.5.11 Rangkaian Modul Analog Input Test 291 Mikroposesor Z-80 dan Mikrokontroler 292 Gambar 6.2.5.12 Modul Percobaan Analog Input Test Listing program : ‘Hardware : Modul Analog Input Test pada PORTA/PORTB ‘ Modul Digital Input Output Test pada ‘ PORTB/PORTC ‘Fungsi ‘ : Membaca masukan analog PA.0, mengubah data 10 bit menjadi 8 bit dan menampilkannya pada PORTB $regfile "m8535.dat" $crystal = 4000000 Dim A As Byte Dim W As Word Config Portb = Output Config Portc = Input Config Adc = Single , Prescaler = Auto Start Adc Do W = Getadc(0) W = W / 4 A = W Portb = W Loop End Mikroposesor Z-80 dan Mikrokontroler Liquid Crystal Display (LCD) Gambar 6.2.5.13 Rangkaian Modul LCD Gambar 6.2.5.14 Modul Percobaan LCD 293 Mikroposesor Z-80 dan Mikrokontroler 294 Listing program : ‘Hardware : Modul LCD 2 baris 16 kolom pada PORTB ‘ Modul Input Analog Test pada PORTA ‘Fungsi ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ : Membaca data ADC 4 kanal Mengkonversi hasil pembacaan menjadi tampilan Volt, dengan rumus : A0 = Ch0 * 0.0049 Ch0 = 0 s.d.1023 A0 = 0 * 0.0049 = 0.0 Volt = 1023 * 0.0049 = 5.0127 -> 5.0 Volt Menampilkan hasil pembacaan yang sudah dikonversi ke LCD, dengan format A0: x.x A2: x.x A1: x.x A3: x.x $regfile "m8535.dat" $crystal = 4000000 Declare Sub Baca_adc() Declare Sub Tampil_lcd() Dim Ch0 As Word , Ch1 As Word , Ch2 As Word , Ch3 As Word Dim A0 As Single , A1 As Single , A2 As Single , A3 As Single Config Adc = Single , Prescaler = Auto , Reference = Avcc 'config ADC Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2 Config Lcd = 16 * 2 Cursor Off Noblink Start Adc Cls Upperline Lcd "A0: Lowerline Lcd "A1: Waitms 100 A2: " A3: " Do Call Baca_adc Call Tampil_lcd Waitms 100 Loop Sub Baca_adc() Ch0 = Getadc(0) Mikroposesor Z-80 dan Mikrokontroler Ch1 = Getadc(1) Ch2 = Getadc(2) Ch3 = Getadc(3) A0 = Ch0 * 0.0049 A1 = Ch1 * 0.0049 A2 = Ch2 * 0.0049 A3 = Ch3 * 0.0049 End Sub Sub Tampil_lcd() Locate 1 , 5 Lcd Fusing(a0 Locate 2 , 5 Lcd Fusing(a1 Locate 1 , 13 Lcd Fusing(a2 Locate 2 , 13 Lcd Fusing(a3 End Sub End , "#.#") , "#.#") , "#.#") , "#.#") Real Time Clock (RTC) Gambar 6.2.5.15 Rangkaian Modul RTC 295 Mikroposesor Z-80 dan Mikrokontroler 296 Gambar 6.2.5.16 Modul Percobaan RTC Listing program : 'Hardware : Modul RTC pada PORTD/A ' Modul LCD pada PORTB 'Fungsi ' ' : Membaca Tanggal , Bulan , Tahun , Jam , Menit , Detik Dari Rtc Menampilkannya Pada Lcd $regfile "m8535.dat" Dim Detik As Byte , Menit As Byte , Jam As Byte Dim Hari As Byte , Tanggal As Byte , Bulan As Byte , Tahun As Byte Dim Alamat As Byte , Dat As Byte Dim T As Single Dim A As Byte Dim B As Byte Declare Declare Declare Declare Declare Declare Declare Sub Sub Sub Sub Sub Sub Sub Angkalcd Dispjam Setting Current Initrtc Baca Tulis Mikroposesor Z-80 dan Mikrokontroler 297 Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2 Config Lcd = 16 * 2 Cursor Off Noblink Cls Upperline Lcd " / /" Lowerline Lcd " : :" Waitms 10 Call Initrtc 'Call Setting Do Call Current 'menampilkan tanggal B = Tanggal A = &HF0 B = B And A T = B Shift T , Right , 4 Locate 1 , 1 Call Angkalcd B = Tanggal A = &H0F B = B And A T = B Locate 1 , 2 Call Angkalcd 'menampilkan bulan B = Bulan A = &HF0 B = B And A T = B Shift T , Right , 4 Locate 1 , 4 Call Angkalcd B = Bulan A = &H0F B = B And A T = B Locate 1 , 5 Call Angkalcd 'menampilkan tahun B = Tahun A = &HF0 B = B And A Mikroposesor Z-80 dan Mikrokontroler T = B Shift T , Right , 4 Locate 1 , 7 Call Angkalcd B = Tahun A = &H0F B = B And A T = B Locate 1 , 8 Call Angkalcd 'menampilkan jam B = Jam A = &HF0 B = B And A T = B Shift T , Right , 4 Locate 2 , 1 Call Angkalcd B = Jam A = &H0F B = B And A T = B Locate 2 , 2 Call Angkalcd 'menampilkan menit B = Menit A = &HF0 B = B And A T = B Shift T , Right , 4 Locate 2 , 4 Call Angkalcd B = Menit A = &H0F B = B And A T = B Locate 2 , 5 Call Angkalcd 'menampilkan detik B = Detik A = &HF0 B = B And A T = B Shift T , Right , 4 Locate 2 , 7 Call Angkalcd B = Detik A = &H0F 298 Mikroposesor Z-80 dan Mikrokontroler 299 B = B And A T = B Locate 2 , 8 Call Angkalcd Waitms 100 Loop End Sub Angkalcd If T = 0 Then Lcd "0" If T = 1 Then Lcd "1" If T = 2 Then Lcd "2" If T = 3 Then Lcd "3" If T = 4 Then Lcd "4" If T = 5 Then Lcd "5" If T = 6 Then Lcd "6" If T = 7 Then Lcd "7" If T = 8 Then Lcd "8" If T = 9 Then Lcd "9" If T = 10 Then Lcd "*" If T = 11 Then Lcd "#" End Sub ‘========================================================== ‘ Sub Program Setting ‘ Menulis Baru : Detik , Menit , Jam , Hari , Tanggal , ‘ Bulan , Tahun Pada Rtc ‘ Input : Data ‘ Output : Data Pada Alamat Rtc Berubah Ke Data Baru ‘========================================================== Sub Setting ‘Setting jam Dat = &H09 Alamat = &H04 Call Tulis ‘Setting menit Dat = &H53 Alamat = &H02 Call Tulis ‘Setting detik Dat = &H00 Alamat = &H00 Call Tulis ‘Setting hari Dat = &H01 Alamat = &H06 Call Tulis ‘Setting tanggal Dat = &H26 Mikroposesor Z-80 dan Mikrokontroler 300 Alamat = &H07 Call Tulis ‘Setting bulan Dat = &H03 Alamat = &H08 Call Tulis ‘Setting tahun Dat = &H08 Alamat = &H09 Call Tulis End Sub ‘========================================================= ‘ Sub Program Current ‘ Membaca Data Tanggal , Bulan , Tahun , Jam , Menit , ‘ Detik Dari Rtc Dan Menempatkannya Dalam Variabel Di Ram ‘========================================================== Sub Current Alamat = &H00 Call Baca Detik = Dat Alamat = &H02 Call Baca Menit = Dat Alamat = &H04 Call Baca Jam = Dat Alamat = &H06 Call Baca Hari = Dat Alamat = &H07 Call Baca Tanggal = Dat Alamat = &H08 Call Baca Bulan = Dat Alamat = &H09 Call Baca Tahun = Dat End Sub ‘========================================================= ‘ Sub Program Inisialisasi Rtc ‘ Menghidupkan Oscilator ‘ Format Jam Bcd , 24h Mode ‘========================================================= Sub Initrtc Config Porta = Output Config Portd = Output Porta = &H1A Mikroposesor Z-80 dan Mikrokontroler Portd = &H60 Porta = &H20 Portd = &H00 Porta Portd Porta Portd = = = = &H1B &H60 &H12 &H00 Portd = &H10 End Sub ‘======================================================== ‘ Sub Program Baca Rtc ‘ Input : Alamat ‘ Output : Dat ‘======================================================== Sub Baca Config Porta = Output Config Portd = Output Porta = Alamat Portd = &H60 Portd = &H10 Config Porta = Input Portd = &HC0 Dat = Pina Portd = &H10 End Sub ‘======================================================== ‘ Sub Program Tulis Rtc ‘ Input : Alamat, Dat ‘ Output : Data Pada Alamat Rtc Berubah Ke Data Baru ‘======================================================== Sub Tulis Config Porta = Output Config Portd = Output Porta = Alamat Portd = &H20 Portd = &H10 Portd = &H80 Porta = Dat Portd = &H10 End Sub 301 Mikroposesor Z-80 dan Mikrokontroler 302 Rangkuman 1. Sebelum mengakses port digital, harus dilakukan inisialisasi yaitu menentukan arah data sebagai masukan atau keluaran dengan instruksi config Contoh : Config Portb = Output Config Portc = Input Untuk membaca port digital digunakan Pin Contoh : A = PinA 2. Untuk program penyalaan LED diperlukan tunda waktu yaitu Waitms Contoh : Waitms 1000 ‘Tunda waktu 1 detik Waitms 100 ‘Tunda waktu 100 mili detik 3. Penyalaan Seven Segment Display menggunakan sistim sacnning, yaitu menyalakan setiap modul dalam waktu tertentu bergantian sehingga seolah-olah menyala serentak bersamaan. Untuk itu diperlukan penentuan tunda waktu yang tepat. " Mikroposesor Z-80 dan Mikrokontroler 303 Latihan Siapkan peralatan yang diperlukan pada setiap topik di atas. Salinlah listing program pada software editor BASCOM-AVR Compile dan download program tersebut pada modul mikrokontroller. Jalankan program tersebut. Lakukan semua langkah diatas untuk masing masing percobaan. Selanjutnya kerjakan soal latihan membuat program sesuai topik di bawah ini : 1. Topik : Input Output Digital Hardware : Modul Digital I/O Test pada PORTD/A Input deretan saklar pada PORTA Output deretan LED pada PORTD Fungsi : Counter Up/Down biner ditampilkan pada deretan LED PORTD dengan tunda waktu 100ms sesuai tabel kebenaran berikut ini Tabel kebenaran PA.7 0 1 0 1 2. Topik PA.6 0 0 1 1 Deretan Saklar PORTA PA.5 PA.4 PA.3 PA.2 x x x x x x x x x x x x x x x x PA.1 x x x x PA.0 x x x x Keterangan LED PORTD Stop Counter Up Counter Down Stop : Deretan LED Hardware :Modul Digital I/O Test pada PORTD/A Fungsi :Led berjalan bolak balik kiri kanan dengan tunda waktu 100ms 3. Topik : Lampu Lalu Lintas Hardware : Modul Lalin pada PORTD/A Fungsi :Kontrol lampu lalu lintas dengan mengulang-ulang data penyalaan sesuai tabel kebenaran 1 selama 10 kali dilanjutkan dengan penyalaan sesuai tabel kebenaran 2 sebanyak 20 kali. Mikroposesor Z-80 dan Mikrokontroler 304 Tabel kebenaran 1 H4 PB. 7 1 1 1 1 H3 PB. 6 1 1 1 1 M2 PB. 5 1 0 0 0 Lampu K2 H2 PB. PB. 4 3 0 0 1 0 0 1 0 1 M1 PB. 2 0 0 1 0 K1 PB. 1 0 0 0 1 H1 PB .0 1 1 0 0 Heksa Penyalaan &H21 &H11 &H0C &H0A 5 detik 3 detik 5 detik 3 detik Lampu K2 H2 PB. PB. 4 3 0 0 1 0 M1 PB. 2 0 0 K1 PB. 1 0 1 H1 PB .0 0 0 Heksa Penyalaan &H21 &H11 1 detik 1 detik Tabel kebenaran 2 H4 PB. 7 1 1 H3 PB. 6 1 1 M2 PB. 5 0 0 4. Topik : Stepping Motor Hardware : Modul Motor Stepper pada PORTB Fungsi : Memutar motor stepper clock wise 5 kali putaran dan contra clock wise 3 kali putaran setelah itu berhenti. Tunda waktu 10 ms 5. Topik : Seven Segment Display Hardware : Modul Seven Segment pada PORTB/PORTC Fungsi : Counter up 6 digit dengan input dari tombol pada PinC.0 untuk mereset, tekan tombol PinC.1 6. Topik : Analog To Digital Convertion (ADC) Hardware : Modul Analog Input Test pada PORTA/PORTB Modul Digital Input Output Test pada PORTB/PORTC Fungsi : Tegangan pada ADC0 ditampilkan pada deretan LED PORTB dengan cara balok seperti pada tabel kebenaran berikut : Mikroposesor Z-80 dan Mikrokontroler 305 Tabel kebenaran Deretan Saklar PORTA 7. Keterangan Input ADC0 dari data maks. 1023 PB.7 PB.6 PB.5 PB.4 PB.3 PB.2 PB.1 PB.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 0 0 0 1 1 1 1 1 <= 50 % s.d. < 60 % 0 0 1 1 1 1 1 1 <= 60 % s.d. < 70 % 0 1 1 1 1 1 1 1 <= 70 % s.d. < 80 % 1 1 1 1 1 1 1 1 >= 80 % Topik < 10 % <= 10 % s.d. < 20 % <= 20 % s.d. < 30 % <= 30 % s.d. < 40 % <= 40 % s.d. < 50 % : Liquid Crystal Display (LCD) Hardware :Modul Analog Input Test pada PORTA Modul LCD pada PORTB Fungsi :Membaca tegangan analog ADC0 0 s.d. 5.0 Volt ditampilkan pada LCD baris pertama sebagai 0.0 s.d. 150.0 C Membaca tegangan analog ADC1 0 s.d. 5.0 Volt ditampilkan pada LCD baris pertama sebagai 0 s.d. 100 % 8. Topik :Real Time Clock (RTC) Hardware :Modul RTC PORTA/D Modul LCD pada PORTB Fungsi :Membaca data RTC dan ditampilkan pada LCD Baris pertama menampilkan Hari, Tanggal, Bulan dan Tahun Baris kedua menampilkan Jam, Menit dan Detik S e l a s a 3 1 0 2 / : 1 0 0 4 / / 0 5 8 9 Mikroposesor Z-80 dan Mikrokontroler 306 Tugas Buatlah program mikrokontroller Atmega8535 untuk suatu sistim otomasi elektronik sortir barang berdasarkan ketinggian seperti berikut : Gambar 6.2.5.17 Trainer Belt Conveyor Keterangan sambungan port PORTA sebagai Input : PinA.0 = Sensor kotak besar (active low) PinA.1 = Sensor kotak medium (active low) PinA.2 = Limit switch depan 1pada tangkai pendorong kotak besar (active low) PinA.3 = Limit switch belakang 1 pada tangkai pendorong kotak besar (active low) PinA.4 = Limit switch depan 2 pada tangkai pendorong kotak medium (active low) PinA.5 = Limit switch belakang 2 pada tangkai pendorong kotak medium (active low) PinA.6 = selalu tinggi (logika 1) PinA.7 = selalu tinggi (logika 1) PORTD sebagai Output : [ PortD.1 : PortD.0 ] = Motor Sorong 1, pendorong tangkai kotak besar [ PortD.3 : PortD.2 ] = Motor Sorong 2, pendorong tangkai kotak medium [ PortD.5 : PortD.4 ] = Motor Belt, pembawa kotak dari sumber Mikroposesor Z-80 dan Mikrokontroler Motor Belt PortD.5 PortD.4 307 Motor Sorong 2 Belt PortD.3 PortD.2 Shaft Motor Sorong 1 PortD.1 PortD.0 Shaft 0 0 Stop 0 0 Stop 0 0 Stop 0 1 Kanan 0 1 Maju 0 1 Maju 1 0 Kiri 1 0 Mundur 1 0 Mundur 1 1 Stop 1 1 Stop 1 1 Stop Mikroposesor Z-80 dan Mikrokontroler 308 Kunci Jawaban Start Inisialisasi Port Porta = Input Portd = Output Awal Tidak Sensor 1 = 0 ? Tidak Ya Sensor 2 = 0 ? Ya Maju1 Maju2 Motor Belt Stop Motor Sorong 1 Maju Motor Sororng 2 Stop Motor Belt Stop Motor Sorong 1 Stop Motor Sororng 2 Maju Limit Switch Depan 1 = 0 ? Tidak Limit Switch Depan 2 = 0 ? Ya Mundur2 Motor Belt Stop Motor Sorong 1 Mundur Motor Sororng 2 Stop Ya Motor Belt Stop Motor Sorong 1 Stop Motor Sororng 2 Stop Tidak Ya Mundur1 Limit Switch Belakang 1 = 0 ? Motor Belt ke Kanan Motor Sorong 1 Stop Motor Sororng 2 Stop Motor Belt Stop Motor Sorong 1 Stop Motor Sororng 2 Mundur Tidak Limit Switch Belakang 2 = 0 ? Tidak Ya Motor Belt Stop Motor Sorong 1 Stop Motor Sororng 2 Stop Gambar 6.2.5.18 Flowchart Sistim Otomasi Elektronik Sortir Barang Mikroposesor Z-80 dan Mikrokontroler Listing Program : ‘Hardware : Modul Digital Input Output Test pada PORTD/A ‘Fungsi : Sistim Otomasi Elektronik Sortir Barang $regfile "m8535.dat" Config Portd = Output Config Porta = Input Awal: If Pina.0 = 0 Then Goto Maju1 If Pina.1 = 0 Then Goto Maju2 Portd = &B00010000 Goto Awal Maju1: Portd = &B00000001 If Pina.1 = 1 Then Goto Maju1 Mundur1: Portd = &B00000010 If Pina.2 = 1 Then Goto Mundur1 Portd = &B00000000 Goto Awal Maju2: Portd = &B00000100 If Pina.1 = 1 Then Goto Maju2 Mundur2: Portd = &B00001000 If Pina.2 = 1 Then Goto Mundur2 Portd = &B00000000 Goto Awal End 309 Mikroposesor Z-80 dan Mikrokontroler 310 Penutup Setelah menyelesaikan modul ini dan mengerjakan semua latihan dan tugas pada setiap pokok bahasan maka peserta diklat dapat dinyatakan telah memiliki kompetensi Memprogram Peralatan Sistem Otomasi Elektronik yang Berkaitan I/O berbantuan Mikrokontroller ATmega 8535. Dengan demikian peserta dapat melanjutkan pada modul berikutnya sesuai peta alur kedudukan modul. Mikroposesor Z-80 dan Mikrokontroler 311 DAFTAR PUSTAKA 1. Datasheet, 8-bit AVR Micrcontroller with 8K Bytes In-System Programmable Flash Atmega8535 Atmega8535L, Atmel Corporation, San Jose USA, 2006 2. Datasheet, 8-bit AVR Instruction Set, Atmel Corporation, San Jose USA, 2005 3. BASCOM-AVR Help Reference Version 1.11.8.3 document build 8, MCS Electronics, 2006 4. Rinaldi Munir, Algoritma dan Pemrograman, Penerbit Informatika, Bandung, 2000 5. Guru Mikro Saya, Bandung, 1986 Sensor dan Transduser BAB VII. 312 SENSOR DAN TRANSDUSER Tujuan Kegiatan Pembelajaran Setelah mengikuti kegiatan pembelajaran pada pokok bahasan ini, diharapkan peserta didik dapat : Memahami prinsip kerja sensor Memahami jenis-jenis sensor cahaya dan temperatur Membangun rangkaian sensor cahaya 7.1 Sensor Sebelum memahami dan menerapkan penggunaan sensor secara rinci maka perlu mempelajari sifat-sifat dan klasifikasi dari sensor secara umum. Sensor adalah komponen listrik atau elektronik, dimana sifat atau karakter kelistrikannya diperoleh atau diambil melalui besaran listrik (contoh : arus listrik, tegangan listrik atau juga bisa diperoleh dari besaran bukan listrik, contoh : gaya, tekanan yang mempunyai besaran bersifat mekanis, atau temperatur bersifat besaran thermis, dan bisa juga besaran bersifat kimia, bahkan mungkin bersifat besaran optis). Sensor dibedakan sesuai dengan aktifitas sensor yang didasarkan atas konversi sinyal yang dilakukan dari besaran sinyal bukan listrik (non electric signal value) ke besaran sinyal listrik (electric signal value) yaitu : sensor aktif (active sensor) dan sensor pasif (passive sensor). Berikut Gambar 7.1 Sifat dari sensor berdasarkan klasifikasi sesuai fungsinya. Gambar 7.1 Sifat dari sensor berdasarkan klasifikasi Sensor dan Transduser 313 7.1.1 Sensor Aktif (active sensor) Suatu sensor yang dapat mengubah langsung dari energi yang mempunyai besaran bukan listrik (seperti : energi mekanis, energi thermis, energi cahaya atau energi kimia) menjadi energi besaran listrik. Sensor ini biasanya dikemas dalam satu kemasan yang terdiri dari elemen sensor sebagai detektor, dan piranti pengubah sebagai transducer dari energi dengan besaran bukan listrik menjadi energi besaran listrik. Sensor-sensor ini banyak macam dan tipe yang dijual di pasaran komponen elektronik (sebagai contoh : thermocouple, foto cell atau yang sering ada di pasaran LDR “Light Dependent Resistor”, foto diode, piezo electric, foto transistor, elemen solar cell , tacho generator, dan lainlainnya). Prinsip kerja dari jenis sensor aktif adalah menghasilkan perubahan resistansi/tahanan listrik, perubahan tegangan atau juga arus listrik langsung bila diberikan suatu respon penghalang atau respon penambah pada sensor tersebut (contoh sinar/cahaya yang menuju sensor dihalangi atau ditambah cahayanya, panas pada sensor dikurangi atau ditambah dan lain-lainnya). 7.1.2 Sensor dengan Perubahan Resistansi Sensor-sensor yang tergolong pada perubahan resistansi pada prinsipnya dapat mengubah besaran yang bersifat fisika menjadi besaran yang bersifat resistansi/tahanan listrik.Tahanan listrik ini biasanya dalam bentuk sensor berupa komponen listrik atau elektronik yang akan berubah-ubah nilai tahanan listriknya bila diberikan energi secara fisika, misalkan diberi energi mekanis dapat berubah nilai tahanan listriknya, contoh: potensiometer, diberikan energi cahaya dapat berubah nilai tahan listriknya, contoh: foto cell atau biasa digunakan LDR : “light dependent resistor”, diberikan energi panas atau dingin, contoh thermocouple, NTC “negative temperature coefficient”, PTC “positive temperature coefficient” dan lain-lainnya. Sensor dan Transduser 314 Berikut diberikan beberapa contoh gambar dari sensor dengan prinsip perubahan resistansi, temperatur, optik dan lain-lainnya. Gambar 7.2 Sensor potensiometer Gambar 7.4 Sensor optical encoder Gambar 7.3. Sensor variabel kapasitor Gambar 7.5 Sensor strain gauge 7.1.3 Resistor Tergantung Cahaya ( LDR “ Light Dependent Resistor ”) Suatu sensor yang akan berubah nilai resistan/tahanan listriknya jika pada permukaan dari LDR tersebut diberikan sinar yang lebih atau sebaliknya yaitu pada permukaan LDR dikurangi/dihalangi atas sinar yang menuju ke LDR tersebut. LDR tergolong sensor aktif dan sering disebut sebagai foto cell. Sensor dan Transduser 315 Secara prinsip dasar susunan atom semikonduktor tampak pada gambar 7.6 berikut ini. PROTON ELEKTRON Gambar 7.6 Susunan atom pada semikonduktor Dalam suatu sel photoconductive (foto cell) terdapat lapisan semi konduktor yang peka cahaya di antara dua kontak. Biasanya untuk maksud ini digunakan cadmium-sulfid , timbal dan seng. Jika suatu proton menumbuk sebuah elektron yang terdapat pada lintasan terluar dari sebuah atom dalam kisi-kisi kristal semi konduktor , maka elektro tersebut akan terlempar dari orbitnya disebabkan oleh energi proton dan akan bergerak bebas. Proses ini terjadi pada setiap tempat dalam kristal semi konduktor . Kenaikan jumlah elektron bebas terjadi diantara masingmasing atom, sehingga menaikkan konduktivitas ( daya hantar ). Ion positif dihasilkan pada setiap tempat , di mana elektron-elektron telah melepaskan diri dari atom. Jika suatu sel photoconductive dilindungi dari cahaya, maka elektronelektron bebas tadi akan ditarik ion-ion positif dan kembali pada posisi semula dalam atom. Tahanan sel photoconductive akan turun ( berkurang ) jika dia disinari (kondisi terang) , sebaliknya tahanannya akan naik jika dia dilindungi dari cahaya (kondisi gelap). Dari penjelasan prilaku LDR di atas maka Karakteristik LDR dapat digambarkan dalam bentuk kurva resistansi/tahanan terhadap fungsi intensitas cahaya : Sensor dan Transduser 316 Ohm 1M 500 100 0 Intensitas cahaya Gambar 7.7. Karakteristik LDR Pada grafik di atas menunjukkan bahwa apabila intensitas cahaya makin kuat maka tahanan LDR makin kecil . Apabila dalam keadaan gelap LDR mempunyai tahanan yang sangat besar , dapat mencapai beberapa Mega Ohm . Tetapi bila seberkas cahaya jatuh padanya maka tahanannya akan menurun sebanding dengan intensitas cahaya tersebut. Makin kuat intensitas cahaya yang datang berarti makin besar tenaga yang diberikan maka berarti pula makin kecil tahanan LDR. Sel-sel photoconductive dijumpai dalam beberapa bentuk yang mempunyai karakteristk berbeda-beda. Tahanan gelapnya berubah-ubah antara 10 sampai 1000 M ohm . Dengan intensitas penerangan yang tinggi dapat dicapai tahanan sekitar 100 Ohm . Sel-sel photoconductive dapat bereaksi terhadap perubahan cahaya cepat hanya sampai sekitar 1/10.000 detik ( 10 Khz ) . Gambar 7.8 Simbol LDR (standar IEC) Sensor dan Transduser 317 Contoh beberapa penerapan penggunaan sensor LDR adalah sebagai saklar (gambar 5.8) dan sebagai potensiometer, Suatu keuntungan yang diperoleh bila memanfaatkan LDR sebagai saklar adalah tanpa menimbulkan bunga api ( loncatan busur api ) . S + L2 22 0V L2= 6Vdc/100mA LDR L1 _ Gambar 7.9 LDR sebagai saklar Bila saklar S terbuka , maka lampu L1 tidak menyala, LDR tidak mendapat cahaya gelap, berarti tahanan LDR menjadi besar . Hal ini mengakibatkan L2 tidak menyala , walaupun menyala tapi sangat suram . Selanjutnya apabila saklar S ditekan ( ON ) , maka lampu L1 menyala dan menerangi LDR . Akibatnya tahanan LDR menurun atau menjadi sangat kecil . Hal ini mengakibatkan pula lampu L2 menyala , karena seolah-olah saklar yang sedang ON . Contoh lain adalah seperti ditunjukkan gambar 7.10 dimana LDR menyerupai sebuah potensiometer. R 22 0V U1 P U2 L U LDR Gambar 7.10 LDR berfungsi sebagai potensiometer Perhatikan gambar di atas, terang dan gelapnya lampu L dapat diatur oleh potensiometer P. Perubahan intensitas cahaya akan mengakibatkan perubahan tahanan LDR. Selanjutnya akan mengakibatkan pula perubahan tegangan yang didrop oleh R ( U1 ). Hal seperti di atas , LDR menyerupai sebuah potensiometer . Sensor dan Transduser 318 7.2 Sensor Thermocouple 7.2.1 Sensor Temperatur Terdapat berbagai model dan jenis sensor temperatur yang ada di pasaran, diantaranya PTC, NTC, PT100, LM35, thermocouple dan lain-lain. Berikut ini karakteristik beberapa jenis sensor temperatur. Gambar 7.11 Karakteristik beberapa jenis sensor temperatur Pada gambar diatas IC sensor dan thermocouple memiliki linearitas paling baik, namun karena dalam tugas ini temperatur yang diukur lebih dari 100oC, maka thermocouple yang paling sesuai karena mampu hingga mencapai temperatur 1200oC. Sedangkan IC sensor linear mampu hingga 135 oC. Output sensor temperatur thermocouple berupa tegangan dalam satuan miliVolt. Berikut ini beberapa perilaku jenis thermocouple. Sensor dan Transduser Gambar 7.12 Perilaku beberapa jenis thermocouple Tabel 7.1 Karakteristik jenis thermoCouple. 319 Sensor dan Transduser 320 7.2.1.1 Sensor Temperatur PT100 Tipe ini termasuk jenis yang paling tua, yang konstruksinya terdiri dari satu tabung gelas yang mempunyai pipa kapiler kecil berisi vacuum dan cairan ini biasa berupa air raksa. Perubahan panas menyebabkan perubahan ekspansi dari cairan atau dikenal dengan temperature to volumatic change kemudian volumetric change to level secara simultan. Perubahan level ini menyatakan perubahan panas atau temperatur. Ketelitian jenis ini tergantung dari rancangan atau ketelitian tabung, juga penyekalannya. Cara lain dari jenis ini adalah mengunakan gas tabung yang diisi gas yang dihubungkan dengan pipa kapiler yang dilindungi oleh spiral menuju ke spiral bourdon yang dipakai untuk menggerakkan pivot, selanjutnya menggerakkan pointer. Berikut adalah gambar dari sensor PT00. Gambar 7.13 Sensor PT100 Tabel 7.2 Spesifikasi jenis sensor PT100 Thermocouple type B E J K N R S T Overall range 0C 20 to 1820 -270 to 910 -210 to 1200 -270 to 1370 -270 to 1300 -50 to 1760 -50 to 1760 -270 to 400 0.1 0C resolution 150 to 1820 -270 to 910 -210 to 1200 -270 to 1370 -260 to 1300 -50 to 1760 -50 to 1760 -270 to 400 0.025 0C resolution 600 to 1820 -260 to 910 -210 to 1200 -250 to 1370 -230 to 1300 20 to 1760 20 to 1760 -250 to 400 Sensor dan Transduser 321 Tabel 7.3 Data Sheet Sensor Temperature PT100*,PT1000 Resistence N/A Range -200 to 800 0C 0 to 375 Ω* 0 to 10 kΩ Linierity Accuracy @ 25 0C Temperature coeficien RMS Noise (using filter) Resolution Conversion time per channel Number of input Connectors Input impedance Overvoltage protection Output 10 ppm 0.01 0C * 10 ppm 20 ppm* 3 ppm/ 0C 3 ppm/ 0C 0.01 0C 10 ppm 10 ppm 0.001 0C 1 µΩ 0.156µV 720 mS** 720 mS** 180 mS Environmetal Voltage N/A 0 to 115 mV 0 to 2.5 V* 10 ppm 0.2%* 100 ppm/ 0C 4 4-pin miniDIN >>1 MΩ ± 100V RS232, D9 female 20 to 30 0C for stated accuracy, 0 to 70 0C overall, 20 to 90% RH Motor 322 BAB VIII. MOTOR Tujuan Kegiatan Pembelajaran Setelah mengikuti kegiatan pembelajaran pada pokok bahasan ini, diharapkan peserta didik dapat : Memahami jenis-jenis motor listrik Memahami karakteristik motor listrik (kecepatan putar,torsi dll) Merancang sistem kendali motor listrik Membangun sistem kendali motor listrik 8.1 Motor DC Magnet Permanen Motor direct current ( DC) adalah peralatan elektromekanik dasar yang berfungsi untuk mengubah tenaga listrik menjadi tenaga mekanik yang dirancang dan diperkenalkan oleh Michael Faraday. Rangkaian ekivalen dari sebuah motor DC magnet permanent dapat ditunjukan seperti dalam Gambar 8.1 berikut ini . Gambar 8.1 Rangkaian ekivalen motor DC magnet permanent Notasi: Va= Tegangan armature, Ia=Arus motor, R=tahanan armatur, L=Induktansi lilitan armatur,Vb=Tegangan induksi balik, r=Torsi motor, ω=Kecepatan putar motor, θ=Sudut putaran poros motor. Persamaan tegangan Va adalah: Va= L dI a + RI a + K bω dt (8.1) Dengan Kb adalah konstanta yang diukur dari tegangan yang dihasilkan oleh motor ketika berputar setiap satuan keceptan (Volt.det/rad). Magnitud dan polaritas Kb adalah fungsi dari kecepatan angular, ω dan arah putar poros motor. Persamaan (8.1) dalam domain waktu ditulis : Va (t)= L dI a (t ) + RI a (t ) + Vb (t ) , dengan Vb = K bθ&(t ) dt (8.2) Motor 323 Sesuai dengan hokum Kirchoff, V= I.R atau I= V/R, dan dengan menggunakan transformasi Laplace, persamaan arus motor dalam dapat ditulis, Ia = Va ( s) − sKbθ ( s ) R + sL (8.3) dengan mensubstitusikan persamaan (8.3) ke dalam persamaan umum torsi output motor, r(t)=KmIa(t), dengan Km adalah konstanta proporsional torsi motor, dalam transformasi Laplace didapat, V ( s ) − sK bθ ( s ) r ( s) = K m I a ( s) = K m a R + sL (8.4) dengan memperhatikan pesamaan tosi output motor ditinjau dari pembebanan, r (t ) = J eff θ&&(t ) + f eff θ&(t ) , (8.5) Jeff=Jm + JL, dimana Jm adalah momen inersia poros (rotor) motor, JL adalah momen inersia beban pada poros motor, dan feff=fm + fL adalah koefisien friksi viscous pada poros motor, fL adalah koefisien friksi viscous pada beban di poros motor, maka transfer function tegangan armatur Va terhadap pergerakan sudut motor θ dapat ditulis , θ (s) Va ( s ) = Km s s J eff L + ( Lf eff + RJ eff + K m K b ) [ 2 ] (8.6) Persamaan (8.6) dapat ditulis dengan singkat, θ (s) Va ( s ) = [ s sRJ eff dengan K = Tm = Rf eff RJ eff Rf eff + K m Km K = + Rf eff + K m K b s (Tm s + 1) ] Km , konstanta penguatan motor, dan + K m Kb , konstanta waktu motor. (8.7) Motor 324 Jika motor menggunakan gearbox dengan rasio, n = N2 maka N1 persamaan (8.7) dapat ditulis, θ L (s) Va ( s ) = [ s sRJ eff nK m + Rf eff + K m K b ] (8.8) dengan θL adalah sudut poros output gearbox. Dalam aplikasi jarang dijumpai atau diperoleh data-data spesifikasi/ parameter motor secara lengkap. Produsen motor biasanya hanya memberikan informasi dalam bentuk grafik antara torsi dengan arus motor, torsi dengan tegangan, torsi dengan kecepatan (rpm). Sehingga hampir tidak mungkin melakukan pemodelan motor secara ideal dalam disain sistem kontrol otomasi industri. Akibatnya pada kebanyakan proses disain banyak dilakukan asumsi-asumsi. Jika motor DC dianggap linier, yaitu torsi berbanding lurus dengan arus (motor ideal), maka model matematik dapat disederhanakan dengan memperhatikan konstanta proporsional motor (Km) saja. Dengan asumsi bahwa motor DC adalah dari jenis torsi motor dan inputnya dipertimbangkan sebagai arus maka transfer function open loop dapat digambarkan seperti Gambar 8.2 berikut. Gambar 8.2 Transfer function open loop Torsi Motor DC 8.2 Motor DC Stepper Prinsip kerja motor DC stepper sama dengan motor DC magnet permanent, yaitu pembangkitan medan magnet untuk memperoleh gaya tarik ataupun gaya lawan dengan menggunakan catu tegangan DC pada lilitan / kumparannya. Motor 325 Motor DC magnet permanent menggunakan gaya lawan untuk menolak atau mendorong fisik kutub magnet yang dihasilkan, sedangkan pada motor DC stepper menggunakan gaya tarik untuk menarik fisik kutub magnet yang berlawanan sedekat mungkin ke posisi kutub magnet yang dihasilkan oleh kumparan. Gerakan motor DC stepper terkendali, karena begitu kutub yang berlawanan tadi sudah tarik menarik dalam posisi yang paling dekat, gerakan akan terhenti dan di rem. Lihat Gambar 8.3 dan 8.4 , jika kumparan mendapat tegangan dengan analogi mendapat logika “1”, maka akan dibangkitkan kutub magnet yang berlawanandengan kutub magnet tetap pada rotor. Sehingga posisi kutub magnet rotor akan ditarik mendekati lilitan yang menghasilkan kutub magnet berlawanan tadi. Jika langkah berikutnya, lilitan yang bersebelahan diberi tegangan, sedang catu tegangan pada lilitan sebelumnya dilepas, maka kutub magnet tetap pada rotor itu akan berpindah posisi menuju kutub magnet lilitan yang dihasilkan. Berarti telah terjadi gerakan 1 step. Jika langkah ini diulang terus- menerus, dengan memberikan tegangan secara bergantian ke lilitan-lilitan yang bersebelahan, maka rotor akan berputar. Logika perputaran rotor tersebut dapat dianalogikan secara langsung dengan data 0 atau 1 yang diberikan secara serentak terhadap semua lilitan stator motor. Hal ini sangat memudahkan bagi system designer dalam hal merancang putaran-putaran motor DC stepper secara bebas dengan mengatur bit-bit pada data yang dikirimkan ke rangkaian interface motor DC stepper tersebut. Gambar 8.3 Prinsip kerja motor DC stepper untuk gerakan full step Motor 326 Gambar 8.4 Prinsip kerja motor DC stepper untuk gerakan half step Untuk motor DC stepper 4 fasa pada prinsipnya ada dua macam cara kerja , yaitu full step dan half step. Lihat table 5.1. Penjabaran formasi logika dalam tabel ini adalah untuk mewakili putaran penuh 360o relatif terhadap fasa dari motor. Motor DC stepper yang ada di pasaran sebagian besar melipatgandakan jumlah kutub magnet kumparannya dengan memperbanyak kumparan stator sejenis melingkar berurutan dalam konfigurasi penuh 360o riil terhadap poros rotor (dengan jumlah fasa tetap). Kondisi ini dilakukan untuk memperoleh efek riil putaran satu step yang lebih presisi, misalnya 3,6 o / step atau 1,8 o / step. Untuk memperoleh efek cengkeraman yang lebih kuat, modus data yang diberikan pada mode full wave dapat dimanipulasi dengan memberikan double active bits pada setiap formasi (lihat tabel 8.1). Dengan cara ini torsi yang dihasilkan akan lebih besar. Namun demikian, penggunaan arus akan berlipat dua karena dalam satu saat yang bersamaan dua lilitanmendapatkan arus kemudi. Dalam aplikasinya, sumber daya yang tersedia perlu diperhatikan. Motor 327 Tabel 8.1 Formasi tegangan / logika pada motor DC step Step ke 1 2 3 4 5 6 7 8 Full Step 1 0 0 0 1 0 0 0 1 0 0 0 Berulang ke step 1 Half Step 1 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 0 1 1 0 1 Berulang ke step 1 0 0 0 1 Tabel 8.2 Formasi double active bit untuk mode putaran full step Step ke 1 2 3 4 1 0 0 1 Full Step (double active bits) 1 0 1 1 0 1 0 0 0 0 1 1 Pada full step, suatu titik pada sebuah kutub magnet di rotor akan kembali mendapat tarikan medan magnet stator pada lilitan yang sama setelah step ke 4. berikutnya dapat diberikan lagi mulai dari step ke 1. Untuk half step, setiap kutub magnet pada rotor akan kembali mendapatkan tarikan dari medan magnet lilitan yang sama setelah step ke 8. Berikutnya kembali mulai dari step 1. Dengan melihat bahwa pergerakan motor DC stepper adalah berdasarkan perubahan logika pada input lilitan-lilitannya maka menjadi mudah bagi programmer untuk mengubah-ubah arah gerakan dan kedudukan rotor pada posisi yang akurat. Hal ini salah satu keuntungan dari penggunaan motor DC stepper. Agar dapat membuat gerakan yang lebih presisi, biasanya jumlah batang magnet di rotor diperbanyak dan lilitan dibuat berpasang-pasangan sesuai dengan posisi kutub magnet rotor. Cara lain adalah dengan menggunakan system gear pada poros rotor tanpa mengubah karakteristik motor DC steppernya. Motor 8.3 328 Motor DC Brushless Motor DC brushless menggunakan pembangkitan medan magnet stator untuk mengontrol geraknya, sedang medan magnet tetap berada di rotor. Prinsip kerja motor Dc brushless mirip seperti motor AC asinkron. Putaran diperoleh dari perbedaan kutub medan magnet yang dihasilkan oleh fasa tegangan yang berbeda. Gambar 8.5 memperlihatkan diagram skema dan prinsip kerja motor DC brushless. Gambar 8.5 Diagram skema Motor DC brushless Gambar 8.6 Motor DC brushless menggerakan baling-baling pesawat Sebuah motor DC brushless menggerakkan pesawat terbang dengan sebuah mikro remote control, diperlihatkan pada Gambar 8.7, motor DC brushless dihubungkan dengan sebuah mikroprosessor. Rotor berisikan magnet yang melingkar mengelilingi lilitan pada stator. Motor 329 Pada motor DC brushless, electromagnet tidak bergerak, melainkan, magnet permanent yang berputar dan armature tetap diam. Kondisi ini menimbulkan problem, bagaimana mentransfer arus ke armatur yang bergerak. Untuk melaksanakan fungsi ini, system brush / commutator dilengkapi oleh sebuah kontrol elektronik cerdas. Gambar 8.7 Kutub pada stator motor DC brushless 2 fasa Gambar 8.7 memperlihatkan kutub-kutub pada stator dari motor DC brushless 2 fasa, rotornya telah dilepas. Konstruksi macam ini banyak dijumpai sebagai fan / kipas pendingin personal komputer. 8.4 Motor DC Servo Motor DC servo pada dasarnya adalah motor DC magnet permanen dengan kualifikasi khusus . Secara umum dapat didefenisikan bahwa motor DC servo harus memiliki kemampuan yang baik dalam mengatasi perubahan yang sangat cepat dalam hal posisi, kecepatan dan akselerasi. Beberapa tipe motor DC servo yang dijual bersama dengan paket rangkaian drivernya telah memiliki rangkaian control kecepatan yang menyatu di dalamnya. Putaran motor tidak lagi berdasarkan tegangan supply ke motor, namun berdasarkan tegangan input khusus yang berfungsi sebagai referensi kecepatan output. Motor 330 Gambar 8.8 Kontrol kecepatan motor DC servo Pada Gambar 8.8 nampak bahwa kecepatan putar motor tidak diatur dari tegangan supply DC, namun diatur melalui tegangan referensi. 8.5 Motor Linier Motor linier adalah adalah motor DC yang rotornya bergerak secara translasi. Dengan demikian tidak ada bagian yang berputar pada motor linier ini. Motor linier dirancang khusus untuk keperluan permesinan atau manufacturing yang memiliki kepresisian sangat tinggi. Misalnya mesin CNC ( Computer Numerical Control), EDM (Electric Discharge Machine), dan sebagainya. Dengan menggunakan motor linier tidak diperlukan lagi sistem gear dan perangkat transmisi daya lainnya. Gambar 8.9 Motor linear buatan inteldrive Kendali Temperatur 331 BAB IX. KENDALI TEMPERATUR Tujuan Kegiatan Pembelajaran Setelah mengikuti kegiatan pembelajaran pada pokok bahasan ini, diharapkan peserta didik dapat : Menguasai Konsep dasar-dasar pengendalian. Menguasai perancangan sistem kendali temperatur ruangan. Mengimplentasikan sistem kendali temperatur dan gas 9.1 Kosep Dasar Kendali Temperatur Pengendalian temperatur yang sering digunakan adalah kendali temperatur ruangan. Sebagai contoh, ketika temperatur di luar ruangan naik , seharusnya pendingin dalam ruangan atau kamar menjadi ON. Sehingga menjadikan kondisi didalam ruangan atau kamar menjadi nyaman. Lihat Gambar 9.1 melalui sebuah thermometer dilakukan pembacaan temperatur di luar ruangan, sehingga terjadi pengukuran temperatur di luar ruangan, sehingga terjadi suatu perbedaan nilai, dan menyebabkan air raksa naik, sehingga terjadi kontak dengan relai dan katup magnet , pendingin ruangan bekerja atau ON. Gambar 9.1 Kendali Temperatur Ruang (Variasi 1) Blok diagram dari sistem kendali di atas dapat dilihat pada Gambar 9.2. Sistem pengaturan ini termasuk sistem kendali open loop. Kendali Temperatur 332 Gambar 9.2 Blok Diagram Kendali Temperatur Ruang (Variasi 1) Sistem pengendalian ini tidak efektif, karena masih ada besaran atau parameter kendali yang belum terukur. Hasil pembacaan thermometer di luar tidak hanya mengukur temperatur akibat pancaran sinar matahari, namun masih ada besaran yang masih mempengaruhi pembacaan tersebut, misal hembusan angin, awan mendung dst. Gambar 9.3 Kendali Temperatur Ruang (Variasi 2) Untuk memperbaiki sistem pengendalian pada Gambar 9.1 (variasi 1). Seharusnya yang diukur adalah temperatur dalam ruang atau kamar, sehingga kondisi temperatur di dalam ruangan dapat di setting menurut kebutuhan. Untuk mengendalikan kondisi ini, maka thermometer diletakan secara tetap di dalam ruangan, seperti pada Gambar 9.3. Dengan demikian perubahan pembacaan thermometer sangat kecil, pengukuran relatif stabil. Kendali Temperatur 333 Selanjutnya blok diagram sistem pengendalian temperatur ruang untuk variasi 2 dapat dilihat pada Gambar 9.4. Sistem pengendalian menjadi sistem kendali close loop. Gambar 9.4 Blok Diagram Kendali Temperatur Ruang (Variasi 2) 9.2 Implementasi Pengendali Temperatur dan Gas Berikut ini sebuah contoh implementasi pengendalian temperatur dan gas pada sebuah ruangan. Di dalam ruangan ini temperatur dan kadar Karbon Monosida CO dalam ambang batas tertentu saja yang diizinkan. Oleh karena itu dibuat suatu system instalasi yang dapat mengendalikan fan sesuai dengan kandungan gas CO yang terdeteksi. Sistem instalasi juga dilengkapi dengan pengaturan suhu ruangan agar tetap konstan sesuai dengan yang diinginkan. Ukuran ruangan dirancang sebagaimana sebuah prototype dengan dimensi 40 x 30 x 30 cm. 9.2.1 Deskripsi Sistem Sistem ini bekerja untuk mendeteksi gas Karbon Monosida (CO) yang dideteksi oleh sensor gas, apabila kadar gas CO rendah maka exhause fan akan mati, dan jika kadar gas CO meningkat maka exhause fan akan bekerja sesuai dengan kenaikan kadar CO yang terbaca oleh sensor. 334 Kendali Temperatur Selain mendeteksi kadar gas CO pada sistem ini juga mendeteksi suhu dalam ruang. Tingkat pendinginan yang dihasilkan disesuaikan dengan kenaikan temperatur yang dideteksi oleh sensor temperatur. 9.2.2 Blok Diagram Sistem Pada sistem ini didukung oleh komponen-komponen seperti yang dipaparkan pada Gambar 9.5, selanjutnya pengendalian menggunakan metoda fuzzy. Gambar 9.5 Blok Diagram Sistem Sensor temperatur berfungsi mendeteksi temperatur ruangan. Sensor gas berfungsi mendeteksi kondisi gas CO. Analog to Digital Converter (ADC) berfungsi mengubah tegangan output dari sensor temperature dan gas Fuzzy logic controller adalah metode pengendalian pada mikrokontroler. Digital to Analog Converter (DAC) berfungsi mengubah tegangan digital dari mikrokontroler menjadi tegangan analog. Driver berfungsi mengaktifkan fan. Exhause fan berfungsi sebagai aktuator gas dan temperatur. 9.2.3 Rangkaian Kelistrikan Sinyal Conditioning Sensor Temperatur LM35 Sinyal conditioning berfungsi sebagai pengkondisi sinyal keluaran dari sensor agar tegangan yg keluar dapat diteruskan ke ADC. Output tegangan dari ADC adalah 0 5 V. Rangkaian ini mengkondisikan agar output tegangan dari sensor sesuai dengan batas yang diinginkan. 335 Kendali Temperatur Rangkaian ini terdiri dari OP-AMP, resistor dan variabel resistor, lihat Gambar 9.6. Gambar 9.6 Rangkaian zero and span Penguat Tegangan ( non inverting) Rangkaian ini digunakan agar tegangan yang keluar dapat dikuatkan menjadi 12 V, agar dapat mengaktifkan driver untuk fan dan pendingin. Tegangan maksimal yang keluar dari DAC adalah 2,5 V, maka dikuatkan menjadi 6,6 V. Gambar 9.7 Rangkaian Penguat Tegangan ( non inverting) 336 Kendali Temperatur Driver Motor DC (fan) Driver untuk motor digunakan agar dapat mengatur tegangan yang masuk ke motor DC. Sehingga motor DC dapat bergerak sesuai dengan program pengendalian yang dibuat. Gambar 9.8 Rangkaian Driver Motor DC Rangkaian DAC R-2R 8 Bit Rangkaian DAC R-2R 8 bit diperlihatkan pada Gambar 9.9. Rangkaian ini befungsi untuk mengatur tegangan yang akan masuk ke driver fan dan driver pendingin. Perubahan tegangan dari DAC terhadap kenaikan tiap 1 bit di gunakan rumus : Resolusi tegangan = Vref 2n −1 5 = 8 2 −1 = 0,02 V/bit = 20 mV/bit 337 Kendali Temperatur Arus keluaran maksimum : Iout = Iref ( A0 A1 A2 A3 A4 A5 A6 A + + + + + + + 7 ) 2 4 8 16 32 64 128 256 1 2 Iout = 2 mA x ( + 1 1 1 1 1 1 1 + + + + + + ) = 1,99 mA 4 8 16 32 64 128 256 Gambar 9.9 Rangkaian DAC R-2R 8 Bit 338 Kendali Temperatur 9.2.4 Perangkat Lunak (Software) Blok Diagram Fuzzy Gas Fuzzy gas berfungsi untuk mengatur kecepatan putaran fan berdasarkan kondisi udara yang dipengaruhi oleh gas CO (misal asap rokok). Fuzzy gas mempunyai variabel keluaran berupa kecepatan putaran fan. Gambar 9.10 Blok Diagram Fuzzy Gas Blok Diagram Fuzzy Temperatur Fuzzy temperatur berfungsi untuk mengatur pendinginan berdasarkan kenaikan temperatur yang terjadi di dalam ruangan. Fuzzy temperatur mempunyai variabel keluaran berupa kinerja pendingin. Gambar 9.11 Blok Diagram Fuzzy Temperatur Sistem Kendali Fuzzy BAB X. 334 FUZZY Tujuan Kegiatan Pembelajaran Setelah mengikuti kegiatan pembelajaran pada pokok bahasan ini, diharapkan peserta didik dapat : Menguasai Konsep dasar-dasar logika fuzzy. Menguasai teori himpunan fuzzy Membangun kaidah fuzzy if-then Merancang sistem kendali fuzzy 10.1 Kontroler Logika Fuzzy (Fuzzy Logic Controller) Kontroler Logika Fuzzy (KLF) adalah suatu kontrol yang menggunakan metodologi digital dalam melakukan proses pengontrolan sistem. Proses pengontrolan dilakukan dengan strategi dan simulasi sistem fisik yang alami artinya hasil proses kontrol mendekati kondisi riil yang sesungguhnya. Logika Fuzzy (fuzzy logic) adalah suatu logika yang menerapkan derajat kebenaran secara samar (fuzzy), artinya logika fuzzy (fuzzy logic) mempunyai derajat kebenaran berbentuk linguistik yang menyertakan predikat kekaburan (fuzziness) sesuai proporsinya. Sebagai contoh derajat kebenaran suhu dinyatakan dalam sangat dingin, dingin, sedang, panas, sangat panas dan seterusnya. Bila dinyatakan dalam bilangan logika bolean fuzzy maka derajat kebenarannya diantara interval 0 sampai dengan 1. Artinya derajat kebenaran bisa dirancang dari “0”≅: suhu sangat dingin, “0.3”≅: suhu dingin , “0.5”≅: suhu sedang , “0.7”≅ suhu panas sampai “1.0”≅ suhu sangat panas. Berbeda dengan logika konvensional, derajat kebenarannya dinyatakan secara pasti (crispy) yaitu salah satu dari 2(dua) pilihan. Definisi kebenarannya hanya berharga “0” atau “1” saja, tidak dapat dinyatakan antara suhu sangat dingin, dingin, sedang sampai panas. Dengan menggunakan sistem logika konvensional, dipastikan mengalami kesulitan jika diinginkan pembagian suhu mendekati kondisi sebenarnya. 10.2 Konsep Dasar Logika Fuzzy Konsep teori logika fuzzy pertama kali dikenalkan oleh Lotfi A. Zadeh (1965) melalui teori himpunan fuzzy (fuzzy set). Konsep ini didasari oleh kebutuhan untuk memperoleh metoda dalam memngembangkan analisis dan mempresentasikan dari masalah riil di lapangan yang serba tidak selalu tepat dan pasti. Sistem Kendali Fuzzy 335 10.2.1 Teori Himpunan Fuzzy (Fuzzy Set Theory) Himpunan fuzzy A dalam semesta pembicaraan x (universe of discourse) adalah kelas atau kumpulan kejadian pasangan elemen x (x anggota dari x) dengan derajat keanggotaan (grade of membership) elemen tersebut yaitu fungsi keanggotaan µA(x) dengan nilai riil, interval (0 ÷ 1) pada tiap x dalam x. Derajat kebenaran logika fuzzy didasarkan µA, dimana µA(x)=1, berarti x sebagai anggota penuh himpunan A, tetapi bila µA(x)=0, berarti x bukan anggota himpunan A . 1 → bila dan hanya bila x ∈ A 0 → bila dan hanya bila x ∉ A µA( x) = (3.1) Bila pendukung sekumpulan x dalam himpunan fuzzy A maka dapat dinyatakan: A = {( x, µ A ( x)) / x ∈ X } Untuk x diskrit dengan n elemen pendukung (n =1, 2, 3, …, n) dari A, maka : A = µ1 ( x) / x1 + µ2 ( x) / x2 ) + ..... + µn ( x) / xn )} n A = ∑ µA( xi ) / xi [x:diskrit] A = ∫ µA(x) / x [x : kontinyu] i =1 x Bila elemen pendukung himpunan fuzzy A, µA(x) = 0.5 merupakan titik silang (cross-over), dan bila pendukung tunggal dengan µA(x) = 1.0 berarti fuzzy tunggal (singleton fuzzy). Tanda +, ∑, ∫ pada rumus di atas merupakan operator gabungan x (union). 10.2.2 Fungsi Keanggotaan Fuzzy (Fuzzy Membership Function) Pada dasarnya untuk menyatakan fungsi keanggotaan tergantung pada pendifinisian fungsi keanggotaan fuzzy dan bentuk permasalahan yang dibahas. Sistem Kendali Fuzzy 336 Berdasarkan hasil pengamatan studi literatur ada 2(dua) metode pendefinisian yaitu pendefinisian secara bentuk fungsi untuk himpunan dengan pendukung kontinyu dan bentuk numerik yang diterapkan untuk himpunan dengan pendukung diskrit . Sistem Kendali Fuzzy 337 10.2.2.1 Pendefinisian Bentuk Fungsi Pendefinisian secara bentuk fungsi adalah suatu penyelesaian permasalahan untuk himpunan fuzzy dengan pendukung/penyokong kontinyu. Tipe fungsi keanggotaan fuzzy berdasarkan pendifinisian bentuk fungsi adalah fungsi segitiga , trapesium , pi (π), S, Bell-shaped, Gaussian dan lain-lain. a. Fungsi Keanggotaan Triangular (T-function) Fungsi keanggotaan berbentuk segitiga atau Triangular function (T-function) adalah paling banyak digunakan dalam proses fuzzifikasi, terutama dalam penerapan teori fuzzy pada sistem pengaturan maupun pada pengenalan pola. Penggunaan fungsi keanggotaan dengan distribusi segitiga ini sangat beralasan karena disamping lebih sederhana bentuk formulasinya, lebih mudah pula dalam analisis perhitungan untuk menentukan algoritmanya, sehingga tidak banyak menyita waktu dalam melakukan proses perhitungannya. Fungsi keanggotaan distribusi bentuk segitiga (triangular) seperti Gambar 10.1. T(x;a,b, c) =µx(x) 1 0.5 0 a b c x Gambar 10.1 Fungsi Keanggotaan bentuk Segitiga (Triangular) Persamaan secara matematik fungsi keanggotaan bentuk segitiga (triangular) adalah : Sistem Kendali Fuzzy 338 0 (x-a) (b-a) T ( x; a, b, c) = µx ( x) = (c-x) (c-b) 0 x≤a a≤ x≤b (3.6) b≤x≤c x≥c b. Fungsi Keanggotaan jenis Trapezoidal (Tr-function) Fungsi keanggotaan bentuk trapesium (Tr-function) seperti Gambar 10.2 : Tr(x;a,b,c,d) = µx(x) 1 0.5 0 a b c d x Gambar 10.2 Fungsi Keanggotaan bentuk Trapesium Persamaan secara matematik fungsi keanggotaan bentuk trapesium (trapezoid) adalah: 0 (x-a) b−a Tr ( x; a, b, c, d ) = 1 (d − x) (d − c) 0 x≤a a≤x≤b b≤x≤c c≤x≤d x≥d c. Fungsi Keanggotaan jenis pi (π) Fungsi keanggotaan bentuk π-function disebut juga sebagai fungsi keanggotaan jenis Lonceng yaitu fungsi keanggotaan yang terdiri dari 2(dua) parameter seperti Gambar 10.3 : Sistem Kendali Fuzzy 339 π ( x;x1,p,x2 ) = µx (x) 1.0 b 0.5 0 x1 p-b/ 2 p p+b/ 2 x2 x Gambar 10.3 Fungsi Keanggotaan bentuk π Persamaan matematik fungsi keanggotaan bentuk pi (π) adalah: ( x − p + b) 2 2 b2 ( x − p + b) 2 π ( x; b, p) = µx(x) = 1 − 2 b2 2 2 ( x − p − b) b2 b 2 b b p− ≤ x ≤ p+ 2 2 b p+ ≤ x ≤ p+b 2 p−b ≤ x ≤ p− 10.2.2.2. Pendefinisian Bentuk Numerik Pendefinisian secara numerik hanya untuk fungsi keanggotaan dengan pendukung diskrit, yaitu mengambil nilai bentuk fungsi untuk tiap pendukung x yang berhingga jumlahnya . Sebagai contoh: X={0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; µA={0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 0.8, 0.6, 0.4, 0.2, 0.0 } Sehingga himpunan fuzzy yang didefinisikan untuk himpunan elemen x secara diskrit adalah seperti persamaan ini dan bila digambar secara grafik seperti Gambar10.4. Sistem Kendali Fuzzy 340 A ={0.0/0, 0.2/1, 0.4/2, 0.6/3, 0.8/4, 1.0/5, 0.8/6, 0.6/7, 0.4/8, 0.2/9, 0.0/10} A={0.0/0+0.2/1+0.4/2+0.6/3+0.8/4+1.0/5+0.8/6+0.6/7+0.4/8+0.2/9+ 0.0/10} uΑ (x) 1.0 08 0.6 0.4 0.2 0 1 2 3 4 5 6 7 8 9 10 X Gambar 10.4 Definisi Himpunan Fuzzy A secara Diagramatik 10.2.3 Variabel Linguistik Sistem pengaturan dengan pendekatan logika fuzzy merupakan sistem pengaturan yang yang menirukan cara kerja manusia dalam melakukan proses pengambilan keputusan, kaidah atur melalui ungkapan-ungkapan kualitatip terhadap informasi yang diteranya, misalnya menyatakan kecepatan motor : sangat cepat, cepat, sedang, rendah dan berhenti. Semua kata-kata dalam bentuk kualitatip dengan variabel linguistik ini selanjutnya ditabelkan dan diformulasikan dalam bentuk aturan dasar (rule base) sesuai dengan pengalaman operator atau manusia ketika mengatur proses secara manual . Variabel linguistik sebagai ganti dari variabel numerik yang biasa digunakan dalam pendekatan kuantitatip yang menyatakan fungsi dari himpunan bagian semesta pembicaraan (universe of discourse) dari himpunan fuzzy. Variabel linguistik ini misalkan dinyatakan dalam (u,T(u),X), dimana u adalah nama variabel dan T(u) merupakan pernyataan himpunan u yaitu nilai linguistik himpunan fuzzy atas semesta X. Misalkan variabel level kecepatan putaran motor dapat dinyatakan dengan istilah : T(kecepatan) = {lambat, sedang, cepat}. Variabel ini didefinisikan untuk semua X = [0, 200, 300], dengan kata lain lambat disekitar 100 rpm, sedang disekitar 200 rpm dan cepat sekitar 300 rpm. Maka fungsi segitiga mendefinisikan secara fungsional kedua himpunan Sistem Kendali Fuzzy 341 ini dipilih sedemikian rupa sehingga penafsiran secara grafis dari pendefinisian terjadi di titik silang (cross-over) masing-masing terletak di titik x = 150 rpm., 250 rpm dan seterusnya dengan pendukung nilai keanggotaan µ(x) = 0.5 untuk himpunan rendah, sedang dan cepat seperti Gambar 10.5. u(x) 1.0 lambat sedang cepat 0.5 0 100 150 200 250 300 x (rpm) Gambar 10.5 Penafsiran Grafis Variabel Linguistik Penafsiran grafis gambar di atas memberikan nilai-nilai keangotaan untuk yang besar bila titik tersebut berada di titik 100 rpm.,200 rpm. dan 300 rpm., masing-masing mempunyai derajat kebenaran (1.0) berarti sebagai anggota himpunan penuh dari masingmasing himpunan lambat, sedang, dan cepat, biasanya disebut fuzzy singleton. Untuk titik 0 ≤ x ≤ 100 rpm., 100 rpm.≤ x ≤ 200 rpm., 200 rpm.≤ x ≤ 300 rpm. mempunyai nilai keanggotaan kurang dari 1.0 untuk himpunan lambat, sedang dan cepat. Ini berarti pada x ≤ 100 rpm mempunyai kebenaran yang kuat untuk menjadi anggota himpunan lambat, sebaliknya karena nilai keanggotaan yang kecil misalkan pada daerah 100 rpm.≤ x ≤ 200 rpm terletak pada himpunan. Titik 150 rpm. mempunyai nilai kebenaran yang sama (0.5) untuk menjadi anggota himpunan lambat maupun sedang, dan titik 210 rpm. lebih dominan menjadi anggota himpunan sedang dari pada menjadi anggota himpunan yang lain, namun untuk 250 rpm merupakan angota himpunan dari kedua kebenaran level kecepatan yaitu anggota himpunan sedang dan cepat dengan derajat kebenaran yang sama (0.5), yang disebut cross-over yang sama. Dari penafsiran Gambar 3.5 dapat dituliskan X = {0,50,100,150,200,250,300}, maka secara definisi matematik himpunan fuzzy yaitu : A ≡ lambat = 0.0/0 + 0.5/50 + 1.0/100 + 0.5/150 + 0.0/200 Sistem Kendali Fuzzy 342 B≡ sedang = 00./100 + 0.5/150 + 1.0/200 + 0.5/250 + 0.0/300 C≡ cepat = 00./200 + 0.5/250 + 1.0/300 + 0.5/..+ 0.0/ dan seterusnya. 10.2.4 Operasi Himpunan Fuzzy Jika A dan B merupakan himpunan fuzzy dalam semesta pembicaraan X (universe of discourse) dengan fungsi keanggotaan µA(x) dan µB(x), maka operasi dasar dari himpunan fuzzy dapat diuraikan sebagai berikut : 1). Himpunan yang sama (Equality) µ A(x) = µ B(x) , untuk x ∈ X 2). Gabungan (Union) µ( A∪ B )(x) = max{µ A(x) , µ B(x)} , x ∈ X 3). Irisan (Intersection) µ( A∩ B )(x) = min{µ A(x) , µ B(x)} , x ∈ X 4). Komplemen (Complement) µ (x) = 1 − µ A(x) , x ∈ X _ A 10.2.5 Metode Perancangan KLF Metoda perancangan kontrol klasik seperti Nyquist, Bode, Root Locus dan Nichols umumnya didasarkan atas acuan asumsi bahwa proses yang dikontrol adalah linier dan stasioner . Namun kenyataannya proses yang dikontrol yang ada sampai saat ini merupakan sistem yang komplek, non-linier dan mudah dipengaruhi faktor-faktor gangguan di sekelilingnya. Oleh karena itu perancangan sistem kontrol otomatik untuk keperluan proses tersebut digunakan metoda yang memadai, dalam hal ini digunakan teori logika fuzzy sebagai basis kontrol pada perancangan kontroler. Secara umum Kontroler Logika Fuzzy (KLF) mempunyai kemampuan: 1. Beroperasi tanpa campur tangan manusia secara langsung, memiliki efektifitas yang sama dengan manusia. Sistem Kendali Fuzzy 343 2. Mampu memecahkan masalah pada sistem yang komplek, non-linier, tidak stasioner. 3. Memenuhi spesifikasi operasional dan kriteria kinerja. 4. Strukturnya sederhana, kuat dan beroperasi real time. Perancangan Kontroler Logika Fuzzy (KLF) atau “Fuzzy Logic Controller (FLC)” adalah gabungan dari pendefinisian himpunan fuzzy dengan logika fuzzy, yang mana untuk memperoleh kontroler yang menyerupai cara kerja operator. Menurut penelitian Harris, Moore, dan Brown (1993) mengungkapkan metodologi perancangan Kontroler Logika Fuzzy (KLF) secara umum, artinya tidak mempunyai prosedur yang baku. 10.2.5.1 Struktur Dasar KLF Kontroler Logika Fuzzy (KLF) pada dasarnya mempunyai struktur dasar yang sederhana seperti Gambar 10.6 berikut ini. Namun dalam pengembangannya sebagai kontrol closed loop, maka banyak mengalami pengembangan dalam penyempurnaan rangkaiannya. Sehingga struktur KLF bila digabung dengan plant yang akan dikontol digambarkan seperti Gambar 10.7. Setiap blok diagram struktur KLF berdasarkan fungsinya adalah sebagai berikut: 1. Fuzzifikasi (fuzzifier) berfungsi untuk mentransformasikan variabel masukan berupa sinyal masukan (input) yang bersifat bukan fuzzy (variabel numerik) untuk dikonversi atau diubah menjadi variabel fuzzy (variabel linguistik) dengan menggunakan operator fuzzifikzsi (fuzzifier). 2. Basis Pengetahuan (Knowledge Base) terdiri dari basis data (data base) dan aturan dasar (rule base) yang mendefinisikan himpunan fuzzy atas daerah-daerah masukan dan keluaran yang disusun dalam perangkat aturan kontrol. 3. Inferensi (Inference) merupakan inti dari KLF karena di sini tempat logika pengambilan keputusan atau sering disebut juga “reasoning”, dimana harus mempunyai kemampuan seperti layaknya manusia dalam mengambil keputusan. Aksi dari beberapa hasil pengambilan keputusan fuzzy (aksi atur) disimpulkan menggunakan relasi fuzzy (implikasi fuzzy) dan mekanisme inferensi fuzzy. 4. Defuzzifikasi (defuzzier) berfungsi untuk mentransformasikan kesimpulan tentang aksi dari pengambilan keputusan (aksi atur) yang bersifat fuzzy menjadi sinyal sebenarnya yang bersifat pasti Sistem Kendali Fuzzy 344 (crispy) dengan menggunakan operator defuzzier. 5. Kuantisasi merupakan proses pengubahan sinyal masukan menjadi error (e) dan delta error (de) untuk diproses selanjutnya pada tingkat fuzzifikasi. 6. Plant adalah suatu sistem yang dikontrol berupa seperangkat peralatan yang bekerja bersama-sama untuk operasi KLF. Inferensi Fuzzy Basis Aturan fuzzy sets INPUT x Basis Data Pengambilan Keputusan Fuzzy (Fuzzy Reasoning) Fuzzifikasi fuzzy sets Defuzzifikasi OUTPUT y Gambar 10.6 Struktur Dasar Kontroler Logika Fuzzy 10.2.5.2 Fuzzifikasi (Fuzzifier) Untuk membahas fuzzifikasi sistem pengaturan plant dengan input tegangan error (e) dan delta error (de) dari kontroler logika fuzzy, berikut digambarkan diagram blok (Gambar 10.8) dan step response dari plant yang dikontrol (Gambar 10.9), sehingga proses fuzzifikasi mudah dipahami. Sistem Kendali Fuzzy 345 KLF Basis Pengetahuan error Input + Output Plant d-error Sensor (Elemen Ukur) Gambar 10.7 Struktur Kontroler Logika Fuzzy dengan Plant e + r KLF (referensi) input - u Plant y de Gambar 10.8 Diagram Blok System Kontrol Logika Fuzzy dengan Besaran input dari plant melalui umpan balik (feedback) lewat sensor bersifat pasti (crisp) dan kuantitatif, bisa juga berupa variabel numerik lalu dilakukan fuzzifikasi menjadi variabel linguistik fuzzy. Fuzzifikasi adalah pemetaan input kesemesta himpunan fuzzy dan secara simbolis pemetaan ini dinyatakan sebagai: x = fuzzifier (xo) Dimana xo : masukan crisp, x: himpunan fuzzy dan fuzzifier adalah operator fuzzifikasi. (keluaran) output Sistem Kendali Fuzzy 346 Y c g f d b set point Yss h 2 3 4 5 k l i e a j 6 7 8 9 10 11 e + - - + + - - + + - - de - - + + - - + + - - + Time (t) Gambar 10.9 Tanggapan(step response) Sistem Loop Tertutup Jika variabel masukan yang diinginkan adalah 2(dua) variabel error (e) dan delta error (de), maka dilakukan kuantisasi lalu diubah dahulu kedalam variabel fuzzy. Melalui fungsi keanggotaan (membership function) yang telah disusun nilai error (e) dan delta error (de) nilai kuantisasi akan didapatkan derajat keanggotaan bagi masing-masing error (e) dan delta error (de) tersebut. Dari Gambar 10.9 adalah step response dari keluaran dengan masukan unit step delengkapi dengan uraian cara mem-fuzzifikasi, sehingga dapat dibuat bentuk penurunan pembagian ruang input misalkan dengan 3(tiga) ruang input dengan nilai linguistik Positip (P), Negatip (N) dan Nol (NL). Nilai kualitatip ditentukan pada setiap titik yang bertanda huruf (a-l) seperti contoh hasil analisis prototipe aturan kontrol dengan 3(tiga) nilai linguistik pada Tabel 10.1. Sistem Kendali Fuzzy 347 Tabel 10.1 Prototipe Aturan K LF dengan 3(tiga) Nilai Linguistik Aturan Error (e) d-Error No. (de) Output (u) Titik Referensi Fungsi 1 P NL P a,e,i pemendekan rise time 2 NL N N b,f,j overshoot tereduksi 3 N NL N c,g,k overshoot tereduksi 4 NL P P d,h,l oscillasi tereduksi 5 NL NL NL set point sistem teredam Penyempurnaan aturan kontrol logika fuzzy dapat dilihat pada Tabel 10.2. Tabel 10.2 Penyempurnaan Aturan KLF dengan 3(tiga) Nilai Linguistik Aturan Error d-Error Output Titik No. (e) (de) (u) Referensi Fungsi 6 P N P Range: ab, ef pemendekan rise time 7 N N N Range:bc, fg, jk overshoot tereduksi 8 N P N Range: cd, gh overshoot tereduksi 9 P P P Range: de,hi oscillasi tereduksi 10 P N NL Range: ij sistem teredam 11 N P NL Range: kl sistem teredam Sistem Kendali Fuzzy 348 Kemudian MacVicar-Whelan telah meneliti penyempurnaan aturan kontrol fuzzy ini dengan menemukan pola umum hubungan antara error (e), delta error (de) dan output kontrol (u) atau delta output(du). Pendefinisian aturan dasar (rule base) pola ini berlaku bagi KLF dengan input error(e) dan delta error(de) seperti Tabel 10.3. Tabel 10.3 Aturan Kontrol Fuzzy Mac Vicar-Whelan NBe NMe NSe ZEe PSe PMe PBe NBd NBc NBc NBc NBc NMc NSc ZEc NMd NBc NBc NBc NMc NSc ZEc PSc NSd NBc NBc NMc NSc ZEc PSc PM c ZEd NBc NMc NSc ZEc PSc PMc PBc PSd NMc NSc ZEc PSc PMc PBc PBc PMd NSc ZEc PSc PMc PBc PBc PBc PBd ZEc PSc PMc PBc PBc PBc PBc 10.2.5.3 Penentuan Basis Data (Data Base) Himpunan-himpunan fuzzy dari sinyal masukan dan sinyal keluaran supaya dapat digunakan oleh variabel linguistik dalam basis aturan maka didefinisikan lebih dahulu. Dalam perancangan basis data, ada hal-hal yang perlu diperhatikan yaitu: Sistem Kendali Fuzzy 349 a. Kuantisasi dan Normalisasi Kuantisasi adalah mendiskritkan semesta pembicaran yang kontinu kedalam sejumlah segmen-segmen tertentu sebagai level kuantisasi. Di sini sebagai contoh proses pengambilan masukan yang berupa variabel numerik dari masukan error (e) dan delta error (de) Cara kuantisasi ini diperlukan bila pendefinisian fungsi keanggotaannya dinyatakan dalam bentuk numerik, dan biasanya dengan cara membentuk tabulasi sebagai tabel pandang (look-up table). Sebaiknya jumlah level kuantisasi tergantung permasalahan yang dikontrol dan sebaiknya dibuat sebanyak mungkin selama memori komputer yang digunakan untuk penghitungan mampu menyimpannya. Level kuantisasi dapat ditentukan dengan menggunakan rumus berikut: L( Level ) = X max - X min RES RES merupakan resolusi kontrol yang digunakan (control resolution), [Xmin, Xmax] merupakan range semesta pengukuran (universe of measurement) . Pemilihan jumlah level kuantisasi mempengaruhi kepekaan dari KLF terhadap masukan dan kehalusan (smooth) aksi pengaturan pada keluaran. Semakin banyak level kuantisasi dengan interval yang kecil yang diterapkan pada daerah masukan dan keluaran maka semakin sensitif dan terjadi deviasi yang kecil pada KLF tersebut, sehingga semakin smooth aksi kontrolnya . Sedangkan normalisasi digunakan bila semesta pembicaraan dari himpunan tersebut terbatas dalam jangkauan tertentu, misalkan -1.0 sampai dengan +1.0. Normalisasi merupakan pemetaan semesta pembicaraan masukan ke semesta pembicaraan baru yang terbatas. Skala pemetaan bisa seragam (uniform) atau bisa tidak seragam (nonuniform) tergantung kebutuhan perancangannya. Normalisasi ini diperlukan bila fungsi keanggotaan didefinisikan secara fungsional. b. Pembagian Ruang Masukan dan Keluaran (Input and Output) Pendefinisian himpunan fuzzy atas daerah masukan (input) dan keluaran (output) berarti membagi smesta pembicaraan atas nilai variabel linguistik himpunan fuzzy. Derajat nilai kebenarannya dinyatakan dengan linguistik seperti NB, NM, NS, ZE, PS, PM, PB dan sebagainya . Sistem Kendali Fuzzy 350 Penentuan jumlah himpunan fuzzy dan aturan kontrol yang disusun sangat ditentukan oleh banyak sedikitnya pembagian ruang masukan dan keluarandalam bentuk variabel lingustik, yang dalam hal ini akan berakibat langsung pada kehalusan (smooth) dari pengaturan fuzzy tersebut. c. Penentuan Fungsi Keanggotaan Pendefinisian secara numerik dari tingkat keanggotaan pendukung/penyokong dalam himpunan fuzzy dinyatakan dalam bentuk tabulasi seperti Tabel 10.1 dan fungsi keanggotaan yang sering digunakan adalah fungsi segitiga (triangular), trapesium (trapezoid) dan fungsi pi (π). Pembagian ruang dibuat 7(tujuh) nilai linguistik himpunan fuzzy seperti Aturan Kontrol Fuzzy Mac Vicar-Whelan Tabel 10.3 yaitu: NB, NM, NS, ZE, PS, PM, PB. Distribusi parameter dipilih seragam (uniform) atau bisa tidak seragam (non uniform) biasanya diletakkan pada bagian awal dan akhir dari fungsi keanggotaan dan ditentukan sedemikian rupa sehingga titik silang (cross-over) tepat ditengah-tengah dua rataan diantara himpunan yang bersebelahan. 10.2.5.4 Basis Aturan (Rule Base) Aturan dasar sistem fuzzy adalah sekelompok aturan fuzzy dalam hubungan antara keadaan sinyal masukan dan sinyal keluaran. Ini didasarkan atas istilah linguistik dari pengetahuan pakar yang merupakan dasar dari pengambilan keputusan atau inferensi untuk mendapatkan aksi keluaran sinyal kontrol dari suatu kondisi masukan yaitu error (e) dan delta error (de) dengan dasar aturan (rule) yang ditetapkan. Dari proses inferensi ini menghasilkan sinyal keluaran yang masih dalam bentuk bilangan fuzzy, yaitu dengan derajat keanggotaan dari sinyal kontrol. Untuk perancangan kontrol fuzzy ada beberapa hal dalam menentukan aturan kontrol yang penting diantaranya: Sistem Kendali Fuzzy 351 a. Pemilihan Variabel Masukan dan Keluaran Variabel masukan dan keluaran yang dipilih memberikan pengaruh kuat pada karakteristik kontroler. Pemilihan variabel ini memerlukan pemahaman prilaku atau sifat-sifat dari plant dan prilaku pengaturannya. Pada KLF acuan aturan kontrolnya sama dengan kontrol konvensional yaitu error (e) dan perubahan atau delta error (de) dari plant. Sehingga error (e) dan delta error (de) digunakan sebagai variabel masukan dan keluarannya berupa sinyal atur. (x) -x4 NB NS NK -x3 -x2 -x 1 Z 0 PK PS PB x1 x2 x3 x4 x a) . Fungsi segitiga (x) -x4 NB NS NK -x3 -x2 -x 1 Z 0 PK PS PB x1 x2 x3 PK PS PB x1 x2 x4 x b) . Fungsi Trapesium (x) -x4 NB NS NK -x3 -x2 -x 1 Z 0 x3 c) . Fungsi Eksponensial Gambar 10.10 Fungsi-fungsi Keanggotaan Uniform x4 x Sistem Kendali Fuzzy 352 b. Penurunan Aturan Kontrol Fuzzy Untuk menurunkan aturan kontrol dari KLF dengan cara mengumpulkan aturan-aturan kontrol fuzzy yang dibentuk dari analisis prilaku obyek atur yang didapat dari koreksi simpangan keluaran plant terhadap kondisi yang diinginkan. Hasil yang diperoleh akan berupa prototipe aturan kontrol seperti Gambar 10.9 dan Tabel 10.1. Ada beberapa model untuk menyempurnakan aturan kontrol yang berupa prototipe yaitu metoda Pemetaan skala (Scale Mappings) dengan model Mamdani (1977), model Takagi-Sugeno-Kang (TSK) (1985) dan model Kosko (1996) (biasa disebut : Standard Additive Model :”SAM”). Prinsipnya adalah untuk menentukan sinyal atur sehingga sistem loop tertutup berakhir sesuai yang diinginkan. 10.2.5.5 Logika Pengambilan Keputusan Sebagai inti dari pengaturan fuzzy terletak pada bagian logika pengambilan keputusan yang didasarkan pemikiran dan keputusan yang dilakukan manusia. Ada 2(dua) tipe pengambilan keputusan logika fuzzy (fuzzy logic reasoning) yaitu generalized modus ponens(GMP) dan generalized modus tollens(GMT) [2]. GMP merupakan keputusan langsung (direct reasoning) dan GMT adalah keputusan tidak langsung (indirect reasoning). Dalam logika pengambilan keputusan yang penting adalah fungsi implikasi fuzzy, penafsiran kata hubung, operator komposional dan mekanisme inferensi. a. Aturan Kontrol Fuzzy Pada dasarnya seorang operator mesin dalam bekerja telah menggunakan aturan kotrol yang berupa hubungan antara input dan output menggunakan aturan JIKA-MAKA (IF-THEN) dalam mengambil keputusan. Aturan kontrol pada logika fuzzy menggunakan variabel linguistik dari himpunan fuzzy yang didasarkan atas pengetahuan dan pengalaman dari obyek yang diatur. Sehingga prilaku sistem pengaturan fuzzy didasari oleh pernyataan linguistik berbasis pengetahuan yang meniru kerja operator. Pernyataan JIKA-MAKA (IF-THEN) digunakan untuk menentukan relasi fuzzy antara input dan output kontrol yang biasanya disebut implikasi fuzzy [2]. Dalam penerapannya misalkan IF (input i) THEN (output j),berati misalkan IF i = 1,2, …,n , THEN j=1,2,…,n. Sistem Kendali Fuzzy 353 Dimana i adalah antecedent yaitu input yang telah difuzzifikasi, sedangkan j adalah cosequent yaitu sebagai aksi kontrol (output). Sebagai contoh misalkan himpunan fuzzy dinotasikan dengan A, A’,B, B’ dan variabel linguistik dinotasikan dengan x, y, maka GMP dan GMT dinyatakan : Gneralized Modus Ponens (GMP): Pernyataan 1 (aturan) : IF x is A THEN y is B Pernyataan 2 (fakta) : y is A’ ______________________________________________ Penyelesaian : y is B’ Penyelesaian relasi fuzzy juga diekpresikan secara implikasi fuzzy seperti berikut: R=A→B (relasi fuzzy) B’ = A’ ° R = A’ ° (A→B) Dengan R adalah relasi fuzzy dari implikasi fuzzy “ if A then B’ ”, tanda ° adalah operator komposisi, dan A’ adalah himpunan fuzzy yang mempunyai bentuk fungsi keanggotaan : A, sangat A lebih atau kurang A, tidak A dan sebagainya. Gneralized Modus Tollens (GML): Pernyataan 1 (aturan) : IFx is A THEN y is B Pernyataan 2 (fakta) : y is B’’ ______________________________________________ Penyelesaian : y is A’ Dengan cara yang sama akan didapatkan: R=A→B (relasi fuzzy) A’ = B’ ° R = B’ ° (A→B) Sistem Kendali Fuzzy 354 b. Fungsi Implikasi Fuzzy Penggunaan fungsi implikasi fuzzy dengan aturan kontrol (sebab akibat) dapat ditulis secara formulasi sebagai berikut: ∆ =µ ( x, y , z ) = Ri ( Ai; dan Bi; → Ci ) µ ( x) dan µ ( y ) → µ (z) (3.33) C Ai Bi i [ µ ] ∆ Ai dan Bi adalah himpunan fuzzy Ai x Bi dalam X x Y, sedangkan Ri = (Ai dan Bi)→ Ci adalah implikasi fuzzy dalam X x Y x Z, dan notasi → adalah implikasi fuzzy. c. Penafsiran Kata Hubung Setiap aturan kontrol fuzzy biasanya dinyatakan dengan suatu relasi, karena itu prilaku sistem fuzzy ditentukan oleh relasi-relasi fuzzy tersebut. Sedangkan kata hubung DAN (AND) digunakan pada produk Cartesian yang dikarenakan oleh derajat nilai keanggotaan yang berbeda. Penggunaan operator komposisi sangat menentukan hasil kesimpulan, karena setiap operator komposisi akan diperlukan sesuai dengan kegunaannya. Secara umum ditunjukkan sebagai komposisi supstar dengan star (*) sebagai operator dalam aplikasi tertentu. Operator sup-min dan sup-product adalah operator yang sering digunakan pada teknik pengaturan . Sistem Kendali Fuzzy 355 Tabel 10.4 Beberapa Aturan Implikasi Fuzzy Aturan I lik i Rc: min ti Rp: product ti Rbp: bounded d t Formulasi Implikasi Implikasi Fuzzy a→ b = a ∧ b = µA(u) ∧ µB(v) a→ b = a . b = µA(u) . µB(v) a→ b = 0 ∨ (a+b-1) b =1 = 0 ∨ [µA(u) + µB(v)= Rdp: drastic product a , a→ b= b, 0, Ra: arithmetic a→ b=(1∧(1-a+b) µB = 1 µA(u ), µA = 1 µB (v), =1∧(1-µA(u) + µB(v)) Rm: max-min a→ b=(a∧b)∨(1-a) =((µA(u)∧µB(v))∨ (1- Rs: standard sequence a→ b= = Rb: Boolean a→ b=(1-a)∨b =(1-µA(u))∨ µB(v) Rg: Gödelian logic a→ b= R∆: Goguen’s fuzzy implication a→ b= a =1 a, b < 1 1 , a ≤ b 0 , a〉 b 1 , µA(u ) ≤ µB (v) 0 , µA(u )〉 µB (v) 1 , a ≤ b b , a〉 b = 1 , a≤b b / a , a〉b 1, µA(v) = µB (v) / µA(u ) , µA(u µA(v) ≤ µB (v 1, µB (v) , µA(u )〉 µB (v) d. Operator Komposisi Fungsi implikasi sistem SISO (Single Input Single Output) diberikan persamaan dalam bentuk komposisi : B’ = A’ o R Sistem Kendali Fuzzy 356 Pada sistem MISO (Multi Input Single Output), maka persamaan menjadi: C’ = (A’, B’) o R e. Mekanisme Penalaran / Inferensi Sebagaimana diketahui bahwa sistem pengaturan fuzzy terdiri dari seperangkat aturan kontrol dan untuk mengkombinasikan aturan digunakan kata hubung JUGA. Pada aturan kontrol fuzzy secara MISO (Multi Input Single Output), dengan x dan y adalah input dan z adalah output dalam semesta pembicaraan X, Y dan Z, maka mekanisme inferensi dinyatakan sebagai : Input : x is A’ AND y is B’ R1 : IF x is A1 AND y is B1, THEN z is C1 R2 : IF x is A2 AND y is B2, THEN z is C2 ….. …. …… …… ….. …. ….. …… Rn : IF x is An AND y is Bn, THEN z is Cn ________________________________________________ Penyelesaian : z is C’ Dari keseluruhan aturan kontrol tersebut harus dapat menghasilkan kesimpulan yang dinyatakan dengan yang diperoleh dari mekanisme inferensi dengan komposisional sup-star yang didasarkan dari fungsi implikasi fuzzy dan kata hubung “DAN”(AND) dan “JUGA”(ALSO). Ada beberapa persamaan matematik penting yang berhubungan dengan mekanisme inferensi fuzzy diantaranya : n n i =1 i =1 ( A' , B ' ) o U Ri = U ( A' , B ' ) o R dengan Ri adalah relasi aturan kontrol ke-i. Persamaan (3.40) output dari semua perangkat aturan kontrol merupakan gabungan semua output aturan kontrol. Sedangkan untuk fungsi implikasi operasi-mini Mamdani : ( A' , B ' ) o (Ai dan Bi → Ci = [A' o(Ai → Ci ) ] ∩ [B ' o(Bi → Ci ) ] (10.1) jika µ AixBi = µAi ∧ µBi . Sistem Kendali Fuzzy 357 ( A' , B ' ) o (Ai dan Bi → Ci = [A' o(Ai → Ci ) ] . [B' o(Bi → Ci ) ] (10.1) jika µ AixBi = µAi . µBi . Bilamana input fuzzy berupa input tunggal A’=x0 dan B’=y0 akan diperoleh persamaan : ∧ ∧ * * R : α ∧ µ ( z ), α = µ Ai ( x0 ) ∧ µ B i ( x0 ), c i ci i (10.3) R : α ∧ µ ( z ), α = µ Ai ( x0 ) ∧ µ B i ( x0 ), c i ci i (10.4) Dari persamaan (10.1), (10.2), (10.3), dan (10.4) menguraikan fungsi implikasi operasi mini Mamdani (Rc) dengan menggunakan kedua jenis produk Cartesian. µ µB A A 1 1 0 x µ 1 A 0 1 1 C 0 y µB A µC B z µC B 1 µC 1 C 0 0 x 0 0 y z z mi Gambar 10.11 Penafsiran Grafis Persamaan (10.1; 10.2) dengan α^ dan Rc Sistem Kendali Fuzzy 358 µ 1 A A1 µB A 1 B 0 x 1 µC B 0 1 y C 1 0 µC z 1 µ 1 µB A2 A A 1 B µC 2 B 1 C 0 0 x 0 y 0 z min Gambar 10.12 Penafsiran Grafis Persamaan (10.3) dan (10.4) Sehingga persamaan itu disederhanakan menjadi : n R ': µ ' = U α ∧ µ c c i =1 i ci 10.2.5.6 Defuzzifikasi Defuzzifikasi pada dasarnya merupakan pemetaan ruang aksi kontrol fuzzy menjadi ruang aksi kontrol non-fuzzy (crispy). Prinsip dari strategi defuzzifikasi bertujuan untuk menghasilkan sinyal atur yang nyata yang dapat merepresentasikan distribusi dari aksi atur masing-masing aturan kontrol. Bentuk persamaan umum proses defuzzifikasi seperti berikut : z0 = defuzzier (z) Beberapa metode defuzzifikasi yang dapat digunakan secara umum yaitu metode titik pusat (the Center of Area =”COA”), metode titik tengah maksimum (the Mean of Maximum =”MOM”), dan metode kriteria max (the Criterion Max) . z Sistem Kendali Fuzzy 359 a. Metode Titik Pusat (COA) Metode titik pusat (the Center of Area =”COA”) adalah metode defuzzifikasi yang sering digunakan yaitu dengan menentukan output aksi kontrol dari pusat berat (the Center of Gravity =”COG”). Formulasi umum dari metode ini dalam menentukan nilai output aksi kontrol (zo) kasus diskrit sebagai berikut [2, 5,7, 12, 22]: ∑ = ∑ n z o (COA) j =1 µ (z )z n j =1 c j j µ (z ) c j n adalah jumlah level kuantisasi dari output, zj adalah besarnya output pada level kuantisasi ke-j, dan µc(zj) nilai fungsi keanggotaan dari output himpunan fuzzy. Dan jika kasus semesta pembicaraan (universe of discourse) adalah kontinyu, maka formulasi kontinyu dapat dinyatakan: ∫ µc ( z ) z dz = z o (COA) z ∫ µc ( z ) dz z b. Metode Titik Tengah Maksimum (MOM) Metode titik tengah maksimum (the Mean of Maximum=”MOM”) adalah metode defuzzifikasi untuk menghitung harga titik tengah output dari semua aksi kontrol yang mempunyai fungsi keanggotan fuzzy maksimum . Formulasi umum kasus diskrit, nilai output aksi kontrol (zo) dari metode ini dapat diekpresikan sebagai berikut : m z =∑ j z o (MOM) j =1 m zj adalah nilai pendukung output dengan fungsi keanggotaan bernilai maksimum ke-j atau µc(zj) dan m adalah banyaknya nilai pendukung. Sistem Kendali Fuzzy 360 Dari kedua metode strategi defuzzifikasi ini saling mempunyai keunggulan. Untuk metode COA berdasarkan penelitian Braae and Rutherford (1978) mempunyai hasil yang sangat bagus terutama performansi keadaan tunak (steady state) lebih bagus karena rata-rata kesalahan kuadratnya kecil (lower mean square error). Selanjutnya penelitian Lee, (1990) metode defuzzifikasi MOM performansi tanggapan peralihan (transient respons) hasilnya lebih baik [2]. c. Metode Kriteria Max Metode defuzzisifikasi MAX menghasilkan titik dimana distribusi yang mungkin pada aksi kontrol bernilai maksimum. Metode ini biasanya jarang digunakan karena ketelitiannya tidak begitu baik. Dengan berdasarkan pada keunggulan masing-masing metode defuzzifikasi ini, maka dengan MOM performansi KLF cocok untuk sistem relay multilevel (multilevel relay system), sedangkan strategi COA cocok untuk kontroler konvensional PI dan sebagainya. 1 µc 0 Z MAX COA MOM Gambar 10.13 Interpretasi Grafik Strategi Defuzzifikasi Daftar Pustaka DAFTAR PUSTAKA Beuth, Klaus,“Elektronik 4 Digitaltechnik”, Vogel-Buchverlag, Wuerzburg, 1982ac ”Elektronika Daya”, Gunadarma ELWE, ”Lehrsysteme Leistungelektronik”. Europalehrmittel, “Fachkunde Information Elektronik“, Verlag Stuttgart hal 13/14. Horn / Nur Lesson plan 51520104 PPPGT Malang 1988. Horn / Rizal, Lesson Plan 51510102. Horn / Sutrisno Lesson plan 52520203 PPPGT Malang 1988. ITB, Polyteknik Mekanik Swiss, ”Teknik Listrik Terpakai”, hal 39 – 47 Kamajaya, ”Fisika 1”, Ganeqa Exact, Bandung, 1994. MC68HC11F1 Technical Data, Motorola Inc., Arizona, 1990 MC68HC11F1 Programming Reference Guide, Motorola Inc., Arizona M68HC11 Reference Manual, Motorola Inc., Arizona, 2002 MC68HC11F1 Technical Summary 8-Bit Microcontroller,Motorola Inc., Arizona, 1997 M. Affandi Agus Ponijo, ”Pengetahuan Dasar Teknik Listrik” M. Affandi Agus Ponijo, ”Pengetahuan Dasar Teknik Listrik” “Microprocessor and Microcomputer”, ITT Fachlergänge, Pforzheim, 1979 Nur / Supr , Lesson plan 51520101, PPPG Teknologi Malang, 1988. Ogata, K(1997). “Teknik Kontrol Automatik”. Jilid 1. Erlangga: Jakarta PEDC, “Ilmu Listrik”, Bandung, PEDC, 1981, hal 127-129,PT Gunung Agung, 1981. http://id.wikipedia.org/wiki/Ampere Daftar Pustaka Pflaum, Richard. ”Elektronik IVA Leistungelektronik (lehrbuch) Werner Dzieia”, Verlag KG Munchen Pitowarno, E.(2006). “Robotika Disain, Kontrol, Dan Kecerdasan Buatan”. Andi: Yogyakarta Schmidt, Walf Deiter (1997). ”Sensor Schaltungs Technik”. Vogel (Wurzburg). Germany Sugihartono, Drs.(1996). “Dasar-dasar Kontrol Pneumatik”. Tarsito: Bandung Suma’mur P.K, Msc, Dr ; “Keselamatan kerja dan Pencegahan kecelakaan” ; Stielew, Roth, Prof, Dr, Ing. ”Institutfur Leistungselektronik und Elektrische Antriebe” W. Ernest, ”Elektrotecnik“, FranKfruft, Sauerlaender 1982, hal 13,14, 15-17. Wil Helm Benz, ”Tabellen Buch Elektronik”, Kohl & Noltemeter & 10, Frankfurt, 1989 Uma’mur P.K, Msc, Dr ; ”Keselamatan kerja dan Pencegahan Kecelakaan” http://www.bbc.co.uk/schools/gcsebitesize/design/systemscontrol /pneumaticsrev1.shtml. (12.01.2008) http://64.78.42.182/sweethaven/MechTech/hydraulics01/module main.asp? whichMod=0100. (12.01.2008) en.wikipedia.org/wiki/Brushless_DC_electric_motor - (12.01.2008) Guenter Stein. “ Autmatisierungstechnik in der Maschinentechnik”. Carl Hanser Verlag. Muenchen. 1993. 40k. Daftar Istilah 363 DAFTAR ISTILAH AC Choper ADC adder aktuator akumulator alkali alternatif current ALU amper amplifier amplitudo AND anoda aritmatika arus cerat arus listrik arus pusar asam nitrat assembler atom band pas filter basis beda potensial bias biner biner biner bit BJT boolean break down bus caption carry celcius. chip clock coil common coulomb counter CPU crowbaring cut-off daya listrik DC Choper dekoder demodulasi density depletion Layer depolarisator desimal destilasi DIAC diagram bode diamater dielektrikum difusi digital dimmer dioda dioda Schottky dioda varactor dioda zener dipole direct current diskrit double download drain efisiensi ekivalen Daftar Istilah ekonomis elekrolisa elektro statis elektroda elektrolit elektron elektronika daya emitor EXOR Fahrenheit. farad fase ferro magnetik filter flag flip-flop flow chart fluks form forward bias foto cell frekuensi frekuensi modulasi fungsi fuzzy fuzzylemps galvanis gate gaya gerak listrik gaya gerak magnet generator HandShaking henry hertz hidrolika high pass filter histerisis hole horse power 364 hukum Kirchhoff hukum ohm IGBT Impendansi indeks induksi induktansi induktor input input pembalik instrumentasi integer ionisasi ISA isolasi jembatan Wheatstone jendela joule Joule junction kapasitansi kapasitas panas katoda katup kelvin. kimiawi kode program koefisien kolektor kondensator konduksi konfigurasi konstanta kontrol kontroler konveksi konversi konverter korona Daftar Istilah korosi kursor LDR loop loop low pass filter LPT LSI medan magnit mekanik memori mikrokomputer mikrokontroller mneumonic modulasi MOS MOSFET motor stepper muatan listrik multiplekser Neutron NOT offset ohm oksidasi op-amp op-code OR orde dua orde satu oscilator osilasi osilator osiloskop output overflow parallel parity pengalamatan 365 penghantar penyearah penyulutan penyulutan permitivitas listrik pewaktu phasa piston plant plasma pneumatik pointer pointer polarisasi polaritas pop port port potensial barier potensiometer potensiometer power supply PPI PROM prosedur Proton pulsa push PWM radiasi radiator radioaktif RAM Reamur. register register reluktansi RePROM resonansi Daftar Istilah reverse bias ROM root locus RS232 satu fase sekuensial semi penghantar semikonduktor semikonduktor sensor seri servo siemens silicon silikon sinyal sinyal Source stack statement stator string subrutin tabel kebenaran tahanan tahanan jenis tegangan 366 Tegangan Knee tegangan listrik temperatur tesla thermocouple thyristor tiga fase timer Titik Q Toleransi Transistor transistor transistor bipolar, Transkonduktansi transportasi triac Unijunction Transistor unipolar usaha listrik USB valensi variabel variant visual basic volt watt weber