BAB II LANDASAN TEORI 2.1 Supervisory Control And Data Acquisition 2.1.1 Pengertian SCADA SCADA merupakan singkatan dari Supervisory Control And Data Acquisition yang berarti sebuah sistem yang berfungsi untuk memonitor mengendalikan dan melakukan proses akuisisi data (mengumpulkan data) secara terpadu dalam satuan waktu tertentu pada sistem (plant) yang luas untuk kemudian diterjemahkan dan diproses secara simultan ke pusat kendali yaitu Master Terminal Unit, setelah itu data akan diproses sedemikian rupa kemudian dilakukan sebuah tindakan oleh MTU dari hasil akuisisi data tersebut, yaitu berupa control terhadap Plant yang di pantau secara otomatis dan dihubungkan juga dengan perangkat Human Machine Interface nya. Jadi secara singkatnya sistem SCADA ini merupakan suatu sistem pengendalian alat secara jarak jauh, dengan kemampuan memantau data-data dari alat yang dikendalikan. Dalam industri ketenagalistrikan sistem SCADA tidak hanya digunakan dalam proses distribusi tenaga listrik saja akan tetapi sistem SCADA juga dapat digunakan pada proses-proses pembangkitan tenaga listrik juga. Sistem pemantauan dan kontrol terhadap plant biasanya terdiri dari sebuah host pusat atau master yang biasa dinamakan sebagai Master Station, Master Terminal Unit (MTU) yang terletak di sebuah Master Control Unit (MCU), sedangkan satu atau lebih unit-unit pengumpul dan kontrol data lapangan biasa dinamakan remote station, remoter terminal unit (RTU) dan sekumpulan perangkat lunak standar yang digunakan untuk memantau dan mengontrol elemen-elemen data-data di lapangan. Sebagian besar sistem SCADA banyak menggunakan komunikasi jarak jauh, walaupun demikian ada beberapa elemen yang menggunakan komunikasi jarak dekat. Dengan sistem SCADA maka dispatcher dapat mendapatkan data 6 7 dengan cepat setiap saat (real time) bila diperlukan, disamping itu SCADA dapat dengan cepat memberikan peringatan pada dispatcher bila terjadi gangguan pada sistem, sehingga gangguan dapat dengan mudah dan cepat diatasi/dinormalkan. 2.1.2 Fungsi SCADA Sistem SCADA dalam aplikasinya secara umum memiliki tiga fungsi pokok, yang pertama yaitu sebagai telesignaling yaitu berfungsi untuk mengumpulkan seluruh status dari plant atau kondisi yang terjadi pada plant yang dikontrol di lapangan yang sekaligus dipantau secara aktual, kedua yaitu sebagai telemetering yaitu untuk mengetahui besaran-besaran yang hendak diukur dari plant seperti tegangan, arus, frekwensi, daya dan lain-lain, dan yang ketiga adalah sebagai telecontrolling atau talecomando yaitu memberikan perintah secara remote atau jarak jauh terhadap plant untuk melakukan sebuah tindakan seperti membuka atau menutup kontak yang perintah ini dikirim dari pusat kendali atau Master Terminal Unit. Secara spesifik fungsi SCADA dapat diperinci sebagai berikut; a. Supervisory Control, yaitu fungsi pengendalian jarak jauh suatu peralatan Sistem Tenaga Listrik misal mengoperasikan CB, mengatur bukaan Governor pada Pembangkit Tenaga Air, proses sinkronisasi antar pembangkit dan lain-lain. b. Pemrosesan Data atau informasi, yaitu proses perhitungan, analisis data atau informasi yang didapat dari hasil pengumpulan data yang terjadi dilapangan kemudian ditampilkan dalam bentuk, laporan, grafik ataupun hasil perhitungan. c. Akuisisi Data atau Informasi, yaitu proses penerimaan atau pengumpulan data dari berbagai peralatan di lapangan, data atau informasi dapat berupa; Status indikasi, seperti posisi Circuit Breaker (CB) Besaran-besaran pengukuran, seperti Daya Reaktif, Frekwensi, Tegangan, Arus, Kecepatan Putaran, dan lain-lain. ` Besaran Energi 8 d. Tagging, yaitu fungsi peletakan informasi (penandaan) pada peralatan tertentu missal CB/DS yang tidak boleh dioperasikan karena adanya pemeliharaan atau aktifitas secara manual di lokasi. e. Pemrosesan Alarm atau, yaitu memberikan informasi kepada operator jika terdapat perubahan atau Event kejadian pada sistem tenaga listrik. f. Post Mortem Review, yaitu menganalisis akibat gangguan sistem dan mengembalikannya ke kondisi semula. 2.1.3 Komponen SCADA Dalam menjalankan sistemnya sebuah sistem SCADA mempunyai bagian- bagian penting yang menyusun sebuah sistem tersebut. Bagian yang terpenting pada sistem SCADA terdapat 3 bagian yaitu : a. Master Terminal Unit (MTU) MTU atau biasa yang disebut dengan master station, merupakan unit komputer yang digunakan sebagai pengolah data pusat dari sistem SCADA. Unit master ini menyediakan Human Machine Interface (HMI) yang berfungsi sebagai perantara antara dispatcher (operator) dengan sistem komputer. Perangkat keras yang ada pada master unit, antara lain: a). Server : SCADA server (mengolah & menyimpan semua data), Historical Server, EMS/DMS Server, DTS server/ menjalankan aplikasi training, Sub-sistem komnunikasi server, dan Offline database server. b). Workstasion : Workstasion Dispatcher, Engineer, DTS, di luar control system. c). Montior. d). Printer. e). Static Diplay : menampilkan besaran-besaran listrik. f). GPS system : sinkronisasi waktu. g). Layar Tayang : menampilkan topologi jaringan, one line diagram, status peralatan dan warna jaringan sesuai standar. h). Switch : perangkat lunak firewall untuk keamanan jaringan. ` 9 i). Router : komunikasi antar kontrol. j). Local Area Network (LAN). k). Storage. Pada MTU terdapat suatu komponen yang dinamakan Front End Processor (FEP) berfungsi sebagai media penyalur yang mengatur setiap sistem komunikasi yang ada dalam sistem SCADA tersebut. FEP pada MTU merupakan sebuah jembatan penghubung antara RTU pada plant yang ada dilapangan dengan komputer yang berfungsi sebagai kendali dan pemantauan secara remote (HMI). Data-data yang diperoleh dari masingmasing RTU yang ada di setiap Plant yang ada dilapangan diatampung di MTU dan kemudian MTU memberikan data yang diminta oleh komputer mengenai kondisi plant yang ada dilapangan, baik itu hanya sekedar untuk mengetahui parameter-parameter yang ada sampai melakukan perintah pengontrolan pada plant sesuai perintah yang diterima dari k+omputer. b. Remote Terminal Unit (RTU) RTU merupakan unit-unit komputer kecil yang dilengkapi dengan sistem mandiri yang ditempatkan pada lokasi dan tempat-tempat tertentu di lapangan. RTU bertindak sebagai pengumpul data lokal yang didapatkan dari sensor-sensor dan mengirimkan perintah ke peralatan di lapangan. Pada sistem tenaga listrik, RTU terletak pada panel utama generator, Gardu Induk, Gardu Distribusi, dan Gardu Hubung yang bertugas mengeksekusi semua perintah dari MTU dan untuk mengetahui setiap kondisi peralatan yang ada pada gardu melalui pengumpulan data besaranbesaran listrik, status peralatan, dan sinyal alarm yang kemudian diteruskan ke MTU melalui jaringan komunikasi data. c. Media Komunikasi Data Media Komunikasi yaitu perangkat/sarana fisik yang menghubungkan antara pusat kontrol dengan RTU di gardu distribusi. Pengiriman data dari pusat kontrol ke RTU atau sebaliknya dari RTU ke pusat kontrol. Sistem ` 10 komunikasi ini adalah bagaimana dua perangkat komputer di pusat kontrol dan RTU dapat saling dihubungkan dan dapat saling berkomunikasi satu dengan yang lainnya. d. Peralatan lapangan Peralatan lapangan disini bisa berupa peralatan instrumentasi di lapangan pada sebuah plant berupa sensor yang digunakan untuk membaca sinyal analog atau digital yang diukur, sedangkan aktuator digunakan untuk mengendalikan peralatan seperti motor, generator, exiter, saklar, katup, dan sebagainya. 2.1.4 Aplikasi Sistem SCADA SCADA bukanlah teknologi khusus, tapi lebih merupakan sebuah aplikasi, SCADA digunakan untuk melakukan proses industri yang kompleks secara otomatis, menggantikan tenaga manusia, dan biasanya merupakan proses-proses yang melibatkan faktor-faktor kontrol yang lebih banyak, faktor-faktor kontrol gerakan cepat yang lebih banyak, dan lain sebagainya, dimana pengontrolan oleh manusia menjadi tidak nyaman lagi. Sebagai contoh, SCADA digunakan di seluruh dunia misalnya antara lain : a) Pembangkit, transmisi dan distribusi listrik, SCADA digunakan untuk mendeteksi besarnya arus dan tegangan, pemantauan operasional circuit breaker, dan untuk mematikan atau menghidupkan the power grid. b) Penampungan dan distribusi air, SCADA digunakan untuk pemantauan dan pengaturan laju aliran air, tinggi reservoir, tekanan pipa dan berbagai macam faktor lainnya. c) Bangunan, fasilitas dan lingkungan, manajer fasilitas menggunakan SCADA untuk mengontrol unit-unit pendingin, penerangan, dan sistem keamanan. d) Produksi, Sistem SCADA mengatur inventori komponen-komponen, mengatur otomasi alat atau robot, memantau proses dan kontrol kualitas. ` 11 e) Transportasi Kereta Rel Listrik (KRL), menggunakan SCADA bisa dilakukan pemantauan dan pengontrolan distribusi listrik, otomasi sinyal trafik KRL, melacak dan menemukan lokasi KRL, mengontrol palang KA dan lain sebagainya. f) Lampu lalu-lintas, SCADA memantau lampu lalu-lintas, mengontrol laju lalu lintas, dan mendeteksi sinyal-sinyal yang salah. Masih banyak lagi aplikasi-aplikasi potensial untuk sistem SCADA. SCADA saat ini digunakan hampir di seluruh proyek-proyek industri, manufaktur, dan infrastruktur lainnya. 2.1.5 SCADA pada Sistem Tenaga Listrik Fasilitas SCADA diperlukan untuk melaksanakan pengusahaan tenaga listrik terutama pengendalian operasi secara realtime. Suatu sistem SCADA terdiri dari sejumlah RTU, sebuah Master Station / Region Control Center (RCC), dan jaringan telekomunikasi data antara RTU dan Master Station. RTU dipasang di setiap gardu induk atau pusat pembangkit yang hendak dipantau. RTU ini bertugas untuk mengetahui setiap kondisi peralatan tegangan tinggi melalui pengumpulan besaran-besaran listrik, status peralatan, dan sinyal alarm yang kemudian diteruskan ke RCC melalui jaringan telekomunikasi data. RTU juga dapat menerima dan melaksanakan perintah untuk mengubah status peralatan tegangan tinggi melalui sinyal-sinyal perintah yang dikirim dari RCC. Dengan sistem SCADA maka dispatcher dapat mendapatkan data dengan cepat setiap saat (realtime) bila diperlukan, disamping itu SCADA dapat dengan cepat memberikan peringatan pada dispatcher bila terjadi gangguan pada sistem, sehingga gangguan dapat dengan mudah dan cepat diatasi/dinormalkan. Data yang dapat diamati berupa kondisi On/Off peralatan transmisi daya, kondisi sistem SCADA sendiri, dan juga kondisi tegangan dan arus pada setiap bagian di komponen transmisi. Setiap kondisi memiliki indikator berbeda, bahkan apabila terdapat indikasi yang tidak valid maka dispatcher akan dapat megetahui dengan mudah. ` 12 Fungsi kendali pengawasan mengacu pada operasi peralatan dari jarak jauh, seperti switching circuit breaker, proses sinkronisasi dan pengoperasian peralatan pada pembangkit, pengiriman sinyal balik untuk menunjukkan atau mengindikasikan kalau operasi yang diinginkan telah berjalan efektif. Sebagai contoh pengawasan dilakukan dengan menggunakan indikasi lampu, jika lampu hijau menyala menunjukkan peralatan yang beroperasi (on), sedangkan lampu merah menunjukkan bahwa peralatan berhenti operasi (off), atau dapat menampilkan kondisi tidak valid yaitu kondisi yang tidak diketahui apakah on atau off. Saat RTU melakukan operasi kendali seperti membuka circuit breaker, perubahan dari lampu merah menjadi hijau pada pusat kendali menunjukkan bahwa operasi berjalan dengan sukses. Operasi pengawasan disini memakai metode pemindaian (scanning) secara berurutan dari RTU-RTU yang terdapat pada subsistem yang ada pada pembangkit (misalnya pada turbin dan generatornya). Sistem ini mampu mengontrol beberapa RTU dengan banyak peralatan pada tiap RTU hanya dengan satu Master Station. Lebih lanjut, sistem ini juga mampu mengirim dari jarak jauh data-data hasil pengukuran oleh RTU ke Master Station, seperti data analog frekuensi, tegangan, daya dan besaran-besaran lain yang dibutuhkan untuk keseluruhan operasi pengawasan . Keuntungan sistem SCADA lainnya ialah kemampuan dalam membatasi jumlah data yang ditransfer antar Master Station dan RTU. Hal ini dilakukan melalui prosedur yang dikenal sebagai exception reporting dimana hanya data tertentu yang dikirim pada saat data tersebut mengalami perubahan yang melebihi batas setting. Master Station secara berurutan memindai (scanning) RTU-RTU dengan mengirimkan pesan pendek pada tiap RTU untuk mengetahui jika RTU mempunyai informasi yang perlu dilaporkan. Apabila alamat pesan yang dikirimkan oleh MTU sama dengan alamat dari RTU yang ada di lapangan maka RTU akan mengirim pesan balik pada Master Station, jika RTU mempunyai sesuatu yang perlu dilaporkan, dan data akan diterima dan dimasukkan ke dalam memori komputer. Jika diperlukan, pesan akan dicetak pada mesin printer di Master Station dan ditampilkan pada layar monitor. ` 13 Selain dengan sistem pemindaian, pertukaran data juga dapat terjadi secara incidental (segera setelah aksi manuver terjadi) misalnya terjadi proses penyalaan generator pada plant yang ada di lapangan, maka RTU secara otomatis akan segera mengirimkan status dari keadaan generator tersebut ke Master Station. Dispatcher akan segera mengetahui bahwa generator sudah berutar atau bekerja. Ketika operasi dilakukan dari Master Station, pertama yang dilakukan adalah memastikan peralatan yang dipilih adalah tepat, kemudian diikuti dengan pemilihan operasi yang akan dilakukan. Operator pada Master Station melakukan tindakan tersebut berdasar pada prosedur yang disebut metode “select before execute (SBXC)“, seperti di bawah ini: 1) Dispatcher di Master Station memilih RTU. 2) Dispatcher memilih peralatan yang akan dioperasikan. 3) Dispatcher mengirim perintah. 4) RTU mengetahui peralatan yang hendak dioperasikan. 5) RTU melakukan operasi dan mengirim sinyal balik pada Master Station ditunjukkan dengan perubahan warna pada layar monitor dan cetakan pesan pada printer logging. Prosedur diatas meminimalkan kemungkinan terjadinya kesalahan operasi. Jika terjadi gangguan pada RTU, pesan akan dikirim dari RTU yang mengalami gangguan tadi ke Master Station, dan pemindaian yang normal akan mengalami penundaan yang cukup lama karena Master Station mendahulukan pesan gangguan dan menyalakan alarm agar operator dapat mengambil tindakan yang diperlukan secepatnya. Pada saat yang lain, pada kebanyakan kasus, status semua peralatan pada RTU dapat dimonitor setiap 2 detik, memberikan informasi kondisi sistem yang sedang terjadi pada operator di Pusat Kendali (RCC). Hampir semua sistem kendali pengawasan modern berbasis pada komputer, yang memungkinkan Master Station terdiri dari komputer digital dengan peralatan masukan keluaran yang dibutuhkan untuk mengirimkan pesanpesan kendali ke RTU serta menerima informasi balik. Informasi yang diterima akan ditampilkan pada layar LCD dan/atau dicetak pada printer sebagai ` 14 permanent records. LCD juga dapat menampilkan informasi grafis seperti diagram satu garis. Pada pusat kendali, seluruh status sistem juga ditampilkan pada diagram dinding (mimic board), yang memuat data mengenai aliran daya pada kondisi saat itu dari RTU. 2.2 Perangkat Keras 2.2.1 Mikrokontroler ATmega128 Mikrokontroler ATmega128 merupakan mikrokontroler keluarga AVR yang mempunyai kapasitas flash memori 128 KB. AVR (Alf and Vegard’s Risc Processor) merupakan seri mikrokontroler CMOS 8-bit buatan Atmel, berbasis arsitektur RISC (Reduced Instruction Set Computer).Secara umum, AVR dapat terbagi menjadi 4 kelas, yaitu keluarga ATtiny, keluarga AT90Sxx, keluarga ATMega, dan AT86RFxx. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral, dan fungsinya. Dari segi arsitektur dan instruksi yang digunakan, bisa dikatakan hampir sama. Semua jenis AVR dilengkapi dengan flash memori sebagai memori program. Kapasitas dari flash memori ini berbeda antara chip yang satu dengan chip yang lain. Untuk flash memori yang paling kecil adalah 1 kbytes (ATtiny11, ATtiny12, dan ATtiny15) dan paling besar adalah 128 kbytes (AT-Mega128). Gambar 2.2.1 Chip Mikrokontroler ATMega128 2.2.2 Spesifikasi Mikrokontroler AVR ATMega128 Mikrokontroler AVR ATMega128 memiliki spesifikasi sebagai berikut: Saluran I/O sebanyak 56 buah, yaitu Port A, Port B, Port C, Port D, Port E, Port F dan Port G. Di dalamnya termasuk : ` 15 1. ADC 10 bit sebanyak 8 saluran. 2. 2 buah Timer/Counter 8 bit dan 2 buah Timer/Counter 16 bit. 3. Dua buah PWM 8 bit. 4. Watchdog Timer dengan osilator internal. 5. Internal SRAM sebesar 4 kbyte. 6. Memori flash sebesar 128 kBytes. 7. Interupsi Eksternal. 8. Port antarmuka SPI. 9. EEPROM sebesar 4 kbyte. 10. Real time counter. 11. 2 buah Port USART untuk komunikasi serial. 12. Enam kanal PWM. 13. Tegangan operasi sekitar 4,5 V sampai dengan 5,5V. Gambar 2.2.2.a Konfigurasi pin-pin ATmega128 ` 16 Arsitektur ATMega128 Gambar 2.2.2.b Arsitektur ATmega128 Enam dari 32 register dapat digunakan sebagai tiga buah 16-bit register. Pointer alamat tidak langsung digunakan untuk pengalamatan ruang data. Satu dari tiga pointer ini dapat digunakan sebagai pointer alamat untuk look up tables di dalam memori program flash. ALU mendukung operasi aritmatika dan logika diantara register diantara konstanta dan sebuah register. Operasi register tunggal juga dapat dieksekusi di dalam ALU. Setelah operasi aritmatika, register status diperbaharui untuk memberikan informasi hasil operasi. Aliran program dilakukan oleh lompatan conditional dan unconditional maupun instruksi kolom. ALU mampu mengalamati secara langsung seluruh ruang alamat, dimana ` 17 instruksi AVR memiliki sebuah format 16-bit. Setiap alamat memori program terdiri dari instruksi 16 atau 32 bit. Modul interrupt memiliki register control di dalam ruang I/O dengan tambahan bit global interrupt enable didalam register status. Setiap interrupt memiliki interrupt vector yang terpisah didalam table interupsi vector. Interrupt memiliki polaritas berhubungan dengan posis interrupt vectornya. Semakin rendah alamat interrupt vector, semakin tinggi polaritasnya. Ruang memori I/O terdiri dari 64 alamat untuk berfungsi peripheral CPU sebagai control register, SPI dan fungsi I/O lainnya. Memori I/O dapat diakses secara langsung atau sebagai ruang data di dalam file register 0x20-0x5f. Berikut ini merupakan penjelasan dari beberapa arsitektur dari AVR ATMega128. 1). Aritmatics Logic Unit Kemampuan tinggi AVR dioperasikan dalam kondisi langsung dengan seluruh 32 register saja. Dalam siklus clock tunggal, operasi aritmatika antara register kerja atau antara sebuah register dan sebuah kata dapat dieksekusi. Operasi ALU dibagi ke dalam tiga kategori : fungsi aritmatika, osilator, dan bit. Beberapa implementasi dari arsitektur juga menghasilkan fungsi baik atau tidak. 2). Status Register Status register berisi informasi tentang hasil intruksi aritmatika terbaru yang dieksekusi. Informasi ini dapat digunakan untuk merubah aliran program dalam rangkaian menjalankan operasi pengkondisian. Status register diperbaharui setelah operasi ALU sehingga dalam banyak kasus dapat menghilangkan penggunaan intruksi compare sehingga menghasilkan kode yang lebih cepat. Gambar 2.5 merupakan gambar dari status register. Gambar 2.2.2.c Status Register ` 18 Status register tidak disimpan secara otomatis ketika memasuki rutin interrupt dan di kembalikan setelah kembali dari sebelum interrupt. Proses ini harus dilakukan oleh software. 3). File General Purpose Register Seluruh operasi instruksi pada file register memiliki hubungan langsung ke seluruh register dan sebagian besarnya adalah intruksi siklus tunggal. Gambar 2.5 menunjukan setiap register juga diberikan alamat memori data. Register dipetakan langsung ke dalam 32 lokasi dari ruang data pengguna, walaupun tidak dialokasikan secara fisik sehingga lokasi SRAM tetap berfungsi sebagai pengorganisasian memori. Hal ini menghasilkan fleksibelitas yang tinggi dalam mengakses register. Gambar CPU AVR file general purpose register terdapat pada gambar 2.2.2.c Gambar 2.2.2.d CPU AVR File General Purpose Register 4). Stack Pointer Stack digunakan untuk menyimpan data sementara, menyimpan variable local, menyimpan alamat kembali setelah interrupt, dan panggilan subroutien. Register stack pointer selalu menunjukkan puncak dari stack – stack yang dijalankan dari lokasi memori tinggi ke lokasi memori yang lebih rendah. ` 19 Stack pointer menyimpan data pada area tumpukan data SRAM dimana tumpukan subroutine dan interrupt dialokasikan pada ruang stack didalam SRAM. Data harus didefinisikan oleh program sebelum panggilan subroutine dieksekusi atau interrupt diaktifkan. Stack pointer harus diset pada nilai diatas ordo. Stack pointer dikurangi satu ketika data masukan ke dalam stack. Instruksi PUSH dikurangi dua ketika alamat kembali dimasukan kedalam stack dengan panggilan subroutine/interrupt. Stack pointer dinaikan satu ketika data diambil satu dari stack dengan instruksi POP. Stack pointer dinaikan dua ketika data kembali dikeluarkan dari stack dengan cara kembali dari panggilan subroutine RET atau kembali dari interrupt RETI. a). Stack pointer AVR diimplementasikan sehingga 2 register 8 bit dalam ruang I/O. Gambar 2.7 merupakan gambar register stack pointer. Gambar 2.2.2.e Stack Pointer 5). Memori ATMega128 Arsitektur AVR memiliki dua ruang memori utama yaitu memori data dan memori program. Sehingga tambahan juga memiliki memori EEPROM untuk menyimpan data. Berikut ini merupakan penjabaran dari memori yang dimiliki oleh ATMega128. a). Memori Program Flash ATMega128 memiliki input sistem reprogrammable flash memori untuk menyimpan program. Karena instruksi AVR memiliki lebar 16/32 bit, maka flash diatur sehingga 4K x 16, untuk keamanan software memori. Program flash memori dibagi kedalam dua bagian yaitu bott program dan bagian program aplikasi. Memori flash memiliki ketahanan sampai 10000 ` 20 kali tulis dan hapus. Program counter PLAT memiliki 12 bit untuk mengamati sampai 4K lokasi memori program. b). Memori Data SRAM Memori SRAM A7 diatur 608 lokasi memori data mengalamati file register, gambar I/O dan 512 lokasi berikutnya mengalamati data internal SRAM. c). Memori Data EEPROM ATMega128 memiliki 512 Byte memori data EEPROM. Memori tersebut diatur sehingga ruang data terpisah dan setiap byte tungal dapat dibaca dan ditulis. EEPROM memiliki ketahanan sampai 100000 siklus tuli/hapus. 2.2.3 Sistem minimum ATMega128 Sistem minimum adalah rangkaian elektronika yang terdiri dari komponen–komponen dasar yang dibutuhkan oleh suatu mikrokontroler dapat berfungsi dengan baik. Pada umumnya, suatu untuk mikrokontroler membutuhkan tiga elemen untu berfungsi yaitu power supply, kristal oscillator (XTAL), dan Rangkaian RESET. 1). Power Supply Catu daya merupakan nyawa bagi sistem minimum ATMega128. Tanpa catu daya, komponen sistem minimum ini tidak akan pernah berfungsi. Catu daya untuk sistem minimum ATMega 128 ini adalah tegangan DC yang inputnya diberi 5 Volt DC. Untuk itu tegangan AC 220 Volt harus ditransformasikan ke 12 Volt dan selanjutnya di searahkan sehingga bisa menyuplai kebutuhan sistem minimum ATMega128. 2). Oscillator Analogi fungsi kristal oscillator adalah jantung pada tubuh manusia, perbedaan jantung memompa darah dan seluruh kandungannya sedangkan XTAL ` 21 memompa data. Kristal pada sebuah mikrokontroler terdiri dari 2 macam yaitu kristal internal dan kristal yang bisa dipasang secara internal. Fungsi dari kristal disini yaitu untuk mempercepat proses dari proses yang dijalankan oleh mikrokontroler tersebut. Apabila kristal yang digunakan 16 MHz, karena lebih dari 0,9 MHz sehingga kapasitor yang dipasang masing – masing bernilai 22 pF. Mode operasi kristal dapat dilihat pada tabel 2.1. Tabel 2.1 Mode operasi Oscillator kristal Gambar rangkaian kristal terdapat pada gambar dibawah ini, XTAL1 XTAL2 Gambar 2.2.3.a Rangkaian skematik Kristal Sistem Minimum ATMega128 Untuk kombinasi asinkron maka digunakan seting baudrate 9600 bps karena kristal yang digunakan 16 MHz sehingga error yang terjadi hanya 0,2%. ` 22 3). RESET Gambar 2.2.3.b Rangkaian skematik Reset Sistem Minimum ATMega128 Fungsi rangkaian reset adalah untuk membuat mikrokontroler memulai kembali pembacaan program, hal tersebut dibutuhkan pada saat mikrokontroler mengalami gangguan dalam mengeksekusi program atau bisa saja ketika ON, mikrokontroler mengalami error sehingga eksekusi program tidak dimulai dari awal. Dengan reset berperan untuk mengembalikan mikrokontroler untuk mengeksekusi program secara berurutan yang dimulai dari awal. Apabila fungsi ini ditiadakan maka proses kerja dari mikrokontroler akan kacau. Dan proses eksekusi kerja tidak akan berjala sesuai yang diinginkan. 2.3 Sistem Komunikasi 2.3.1 Recommended Standard 485 Recommended Standard 485 (RS 485) adalah standar komunikasi yang paling serbaguna dalam seri standar yang ditentukan oleh EIA. Itu sebabnya RS485 saat ini digunakan secara luas sebagai antarmuka komunikasi data akuisisi dan kontrol aplikasi di mana beberapa node berkomunikasi satu sama lain. Komunikasi RS 485 bisa mencapai jarak maksimal 4000 kaki, atau setara dengan 1,2 Km. Selain itu RS-485 merupakan standar komunikasi serial asynchronous yang menyediakan kemampuan komunikasi, seperti perangkat keras kontrol aliran, kontrol aliran perangkat lunak, dan paritas cek. Telah banyak digunakan selama beberapa dekade. ` 23 Gambar 2.3.1 Konfigurasi IC MAX485 Berikut ini spesifikasi dari komunikasi RS-485. Tabel 2.2 Spesifikasi komunikasi RS-485 Spesifikasi Mode Operasi Differential Total Jumlah Driver dan Receivers pada Satu Jalur 1 DRIVER Voltage Driver Output Maksimum Driver Output Signal Level (Loaded Min.) Driver Output Signal Level (diturunkan Max) Driver Load Impedance (Ohms) Driver Current in High Z State Power On Slew Rate (Max.) Receiver Input Voltage Range Receiver Input Sensitivity 2.3.2 RS-485 -7V s/d +12 V + /-1.5V + /-6V 54 + /-100uA N/A -7V s/d +12 V + /-200mV Topologi Jaringan RS-485 Topologi jaringan merupakan alasan mengapa RS-485 kini menjadi favorit dari empat interface dalam akuisisi data dan kontrol aplikasi. RS-485 adalah satusatunya dari interface internetworking yang mampu bekerja pada pemancar dan penerima dalam jaringan yang sama. Bila menggunakan standar RS-485 receiver dengan resistansi masukan dari 120 Ω adalah mungkin untuk menghubungkan 32 ` 24 perangkat ke jaringan. RS-485 repeater juga memungkinkan untuk meningkatkan jumlah node menjadi beberapa ribu, dalam beberapa kilometer. Ini adalah alasan mengapa RS-485 ini begitu populer dengan komputer, PLC, microcontroller dan sensor cerdas dalam aplikasi ilmiah dan teknis. Jaringan Rs-485 dibentuk oleh IC max485, tiap master dan slave masing masing memiliki 1 ic max485 dan saling terhubung melalui kaki 6 dan kaki 7. Komunikasi antara master dan slave dilakukan secara half duplex. artinya pada satu saat hanya ada 1 node yang mengirim data secara bergantian. Gambar 2.3.2.a Rangkaian Rs-485 dgn IC Max485 Penjelasan kaki ic max485 : kaki 1 digunakan untuk menerima data , kaki ini dihubungkan dengan pin Rx dari comm port /rs232 dari Pc atau Rx dari microcontroller. kaki 2 (RE) digunakan untuk kontrol penerimaan data . jika di beri 0 maka siap menerima data jika 1 maka tdk bisa mnerima data. kaki 3 (DE) digunakan untuk kontrol pengiriman data jika pc atau microcontroller ingin mengirim data maka kaki ini harus diberi logika 1. kaki 4 digunakan untuk jalur pengiriman data , kaki ini dihubungkan ke Tx dari pin comm port rs232 atau Tx microcontroller. kaki 5 di hubungkan ke ground. kaki 6 dihubungkan dengan kaki 6 dari ic max485 node lainnya melalui kable data, biasanya dinamakan jalur A kaki 7 dihubungkan dengan kaki 7 dari ic max485 node lainya melalui kabel data. bisanya dinamakan jalur B. kaki 8 pada master biasanya dihubungkan ke 0 / ground . Artinya master selalu siap menerima data. ` 25 Gambar 2.3.2.b Topologi jaringan RS-485 Dalam gambar di atas merupakan topologi jaringan umum RS-485 yang terhubung dalam jaringan RS-485 multipoint. Ada 2 macam versi diantaranya : 1). Single Twisted Pair RS 485 Dalam versi ini, semua perangkat yang terhubung ke satu Twisted Pair. Dengan demikian, semuanya harus memiliki driver dengan output tri-state (termasuk Master). Komunikasi berjalan di atas satu baris di kedua arah. Penting untuk mencegah lebih banyak dari pemancaran perangkat sekaligus (masalah perangkat lunak). 2). Double Twisted Pair RS-485 Jika menggunakan jenis ini tidak perlu menggunakan output tri-state, karena perangkat slave mengirim lebih dari twisted pair yang kedua, yang dimaksudkan untuk mengirim data dari Slave ke Master. Solusi ini sering memungkinkan pelaksanaan dalam sistem komunikasi multipoint, yang pada awalnya dirancang (HW dan juga SW) untuk RS-232. Tentu saja, master perangkat lunak harus dimodifikasi, sehingga master query secara periodik mengirim paket ke semua perangkat slave. Peningkatan throughput data yang jelas dalam volume besar. Kadang-kadang sistem RS-485 dapat dilihat dalam sistem poin-to-sistem poin. 2.3.3 Recommended standard 232 (RS-232) RS-232 merupakan metoda dan standar transmisi serial yang ditetapkan Electical Industri Association (EIA) yang dapat digunakan sebagai aturan dalam ` 26 pertukaran data antar komputer. Standar RS-232 mempunyai beberapa karakteristik sinyal listrik, yaitu: 1). Keadaan logic high (mark) ditandai dengan tegangan yang lebih negatif dari -3 Volt. Pada logic high besarnya tegangan harus antara - 5 V dan -15 V. 2). Keadaan logic low (space) ditandai dengan tegangan yang lebih positif dari +3 Volt. Pada logic low besarnya tegangan harus antara +5 V dan +15 V. Jadi, sinyal maksimum RS-232 terlalu tinggi untuk mikrokontroler , begitu juga untuk sinyal negatif RS-232 tidak dapat terdeteksi sama sekali dengan logika mikrokontroler . Oleh karena itu, untuk menerima data serial dari antarmuka tegangan RS-232, tegangan harus disesuaikan dengan tegangan input dan output mikrokontroler . Max 232 adalah driver yang digunakan sebagai pengirim dan penerima sinyal dari RS-232. Max 232 dapat menyesuaikan level tegangan dari RS-232 untuk selanjutnya diterima oleh mikrokontroler . Dengan kata lain, Max232 dapat mengkonversi tegangan dari RS-232 menjadi sinyal logika yang dapat dibaca oleh mikrokontroler . Max 232 maksimal dapat mengirim data pada jarak kurang dari 15m (sumber dari Data Sheet Texas Instruments). Gambar konfigurasi komunikasi RS-232 ditunjukan pada gambar 2.3.3 Gambar 2.3.3 Konfigurasi Komunikasi RS-232 Seperti yang telah disebutkan di atas bahwa jalur komunikasi untuk RS232 terdiri dari pin TX, RX dan ground. 1). Pin TX merupakan pin untuk pengiriman data serial. 2). Pin RX merupakan pin untuk penerimaan data serial. ` 27 2.3.4 Operasi Kerja RS-232 dan Transmisi Data Rangkaian komunikasi serial RS-232 membutuhkan sebuah IC tambahan Max232 yaitu suatu piranti yang digunakan untuk mengubah atau lebih tepatnya mengkonversi tegangan TTL dan RS-232 dan sebaliknya. Sebagaimana diketahui dunia komputer tegangan tingkat RS-232 sangat jauh berbeda dengan dalam tingkat TTL. Jika TTL bekerja dengan tegangan antara 0 sampai dengan 5 Volt, dengan tegangan sekitar 0 Volt dianggap sebagai logika „0‟ dan tegangan sekitar 5 Volt sebagai logika „1‟, sedangkan untuk tingkat RS-232 tegangan kerjanya antara -15 sampai +15 Volt dan cara menterjemahkan logika „0‟ dan „1‟-nya sangat berbeda, untuk itu diperlukan suatu piranti khusus yang digunakan untuk melakukan konversi tingkat tegangan TTL dan RS-232. Transmisi biasanya menggeser 2 bit dari 10 bit hingga transmisi yang digunakan adalah 8 bit, satu di master dan satu di slave dan antara master juga slave terdapat jalur penghubung. Biasanya data yang dikirim pertama kali adalah MSB (Most Significant Byte) sampai akhirnya ada bit yang dikirim dengan register yang sama. Setelah data register tergeser, master dan slave harus bertukar nilai register. Kemudian kedua perangkat tersebut mengambil nilai dan melakukan sesuatu pada nilai tersebut, seperti menulis nilai tersebut pada memory. Bila ada data lebih yang ditukar, maka pergeseran register akan memuat data baru dan akan terus mengulang proses. Gambar 2.3.4.a TTL/CMOS Serial Logic Waveform Gambar 2.3.4.b RS-232 Logic Waveform ` 28 Gambar 2.3.4.c Pin I/O Max 232 Gambar 2.3.4.d Konfigurasi Max 232 1). Keuntungan Komunikasi Serial Keuntungan dari penggunaan komunikasi serial adalah sebagai berikut: a). Kabel untuk komunikasi serial bisa lebih panjang dibandingkan dengan pararel. Data-data dalam komunikasi serial dikirimkan untuk logika „1‟ sebagai tegangan -3 s/d -25 Volt dan untuk logika „0‟ sebagai tegangan +3 s/d +25 Volt, dengan demikian tegangan dalam komunikasi serial memiliki ayunan ` 29 tegangan maksimum 50 Volt, sedangkan pada komunikasi pararel hanya 5 Volt. Hal ini menyebabkan gangguan pada kabel-kabel panjang lebih mudah diatasi dibanding dengan pararel. b). Jumlah kabel serial lebih sedikit. Dua perangkat komputer yang berjauhan dengan hanya tiga kabel untuk konfigurasi null modem, yakni TxD (saluran kirim), RxD (saluran terima) dan ground, akan tetapi jika menggunakan komunikasi pararel akan terdapat dua puluh hingga dua puluh lima kabel. c). Komunikasi serial dapat menggunakan udara bebas sebagai media transmisi. Pada komunikasi serial hanya satu bit yang ditransmisikan pada satu waktu sehingga apabila transmisi menggunakan media udara bebas (free space) maka dibagian penerima tidak akan muncul kesulitan untuk menyusun kembali bit-bit yang ditransmisikan. d). Komunikasi serial dapat diterapkan untuk berkomunikasi dengan mikrokontroler . Hanya dibutuhkan dua pin utama TxD dan RxD (diluar acuan ground). 2). Kekurangan Komunikasi Serial Kekurangan dari penggunaan komunikasi serial adalah sebagai berikut: a). Panjang media/kabel maks 15 meter. b). Sinyal mudah mendapat gangguan. c). Short circuit maks 500 mA. Aplikasi RS-232 Aplikasi untuk RS-232 banyak digunakan untuk komunikasi antara dua mikrokontroler . Beberapa aplikasi lain yang menggunakan jalur RS-232 antara lain: ` 30 1). Komunikasi Ethernet, USB, UART. 2). Perancangan berbagai aplikasi sederhana seperti inisialisasi modem, mouse dan transfer data antar komputer. 3). Komunikasi antara PLC dengan komputer. 2.3.5 Komunikasi Data USART Universal Synchronous And Asynchronous Receiver Transmitter (USART) Merupakan teknik komunikasi antara mikrokomputer (PC) dengan sistem lain seperti mikroprosesor atau mikrokontroler baik secara sinkron atau asinkron dengan pengiriman secara serial, yaitu pentransferan data bit demi bit sampai membentuk satu frame data yang diawali dengan start bit dan diakhiri dengan stop bit. Komunikasi data serial secara sinkron merupakan bentuk komunikasi data serial yang memerlukan sinyal clock untuk sinkronisasi, sinyal clock tersebut akan tersulut pada setiap bit pengiriman bit yang pertama dengan perubahan bit data yang dapat diketahui oleh penerima dengan sinkronisasi melalui sinyal clock. Sedang komunikasi asinkron adalah suatu komunikasi data serial yang tidak memerlukan sinyal clock sebagai sinkronisasi. Namun pengiriman data ini harus diawali dengan start bit dan diakhiri dengan stop bit. Sinyal clock merupakan baud rate dari komunikasi data yang dibangkitkan oleh masing-masing baik penerima maupun pengirim data dengan frekwensi yang sama, jika nilai baud rate berbeda maka tidak akan pernah terjadi komunikasi. Prinsipnya yaitu bahwa penerima hanya perlu mendeteksi start bit sebagai awal pengiriman data, selanjutnya komunikasi data terjadi antar dua buah shift register yang ada pada pengirim maupun penerima. Setelah 8 bit data diterima, penerima akan menunggu adanya stop bit sebagai tanda bahwa 1 byte data telah dikirim dan penerima dapat siap untuk menunggu pengiriman data berikutnya. Pada aplikasi proses komunikasi asinkron ini selalu digunakan untuk mengakses komponen-komponen yang mempunyai fasilitas UART (Universal Asynchonous Receiver/ Transmiter) seperti pada port serial PC atau port serial ` 31 mikrokontroler lain. Format data komunikasi Asinkron diperlihatkan pada gambar berikut : Gambar 2.3.5.a Komunikasi Asinkron Pada mikrokontroler ATMega128 menggunakan serial komunikasi USART. Sehingga fata Rx berfungsi sebagai pengirim dan penerima data sedangkan Tx sebagai output clock. Output dari serial pada mikrokontroler ATMega128 berupa tegangan TTL 0 – 5 Volt. Pada UART, kecepatan pengiriman data (atau yang sering disebut dengan baud rate) dan fase clock pada sisi transmitter dan sisi receiver harus sinkron. Untuk itu diperlukan sinkronisasi antara Transmitter dan Receiver. Hal ini dilakukan oleh bit “Start” dan bit “Stop”. Ketika saluran transmisi dalam keadaan idle, output UART adalah dalam keadaan logika “1”. Ketika transmitter ingin mengirimkan data, output UART akan diset dulu ke logika “0” untuk waktu satu bit. Sinyal ini pada receiver akan dikenali sebagai sinyal “Start” yang digunakan untuk menyinkronkan fase clock nya sehingga sinkron dengan fase clock transmitter. Selanjutnya data akan dikirimkan secara serial dari bit yang paling rendah (bit0) sampai bit tertinggi. Selanjutnya akan dikirimkan sinyal “Stop” sebagai akhir dari pengiriman data serial. Sebagai contoh misalnya akan dikirimkan data huruf “A” dalam format ASCII (atau sama dengan 41 heksa atau 0100 0001). Gambar 2.3.5.b Contoh Pengiriman 1 byte Kecepatan transmisi (baud rate) dapat dipilih bebas dalam rentang tertentu. Baud rate yang umum dipakai adalah 110, 135, 150, 300, 600, 1200, 2400, dan 9600 (bit/dertik). Dalam komunikasi data serial, baud rate dari kedua alat yang ` 32 berhubungan harus diatur pada kecepatan yang sama. Selanjutnya harus ditentukan panjang data (6,7 atau 8 bit), paritas (genap, ganjil, atau tanpa paritas), dan jumlah bit “Stop” (1, 1 ½ , atau 2 bit). Untuk dapat menggunakan port serial harus diketahui dahulu alamat dari port serial tersebut. Biasanya tersedia dua port serial pada CPU, yaitu COM1 dan COM2. 2.3.6 Pemrograman Port Serial Port serial mikrokontroler sering digunakan untuk interfacing komputer dan , karena kemampuan jarak pengiriman data lebih bagus dibandingkan port paralel. Berikut contoh program assembly untuk komunikasi serial antara 2 PC. Untuk komunikasi ini, yang perlu dihubungkan : 1. Pin TxD ke pin RxD komputer lain 2. Pin RXD dihubungkan ke pin TxD komputer lain 3. RTS dan CTS dihubung singkat 4. DSR dan DTR dihubung singkat 5. GND dihubungkan ke GND komputer lain Bila dibandingkan cara komunikasi yang dilakukan secara paralel dengan cara komunikasi yang dilakukan secara serial, maka masing-masing akan memiliki keuntungan dan kelebihan yang tersendiri. Komunikasi yang dilakukan secara serial mempunyai keuntungan dari sisi pengkabelan, karena hanya memerlukan tiga buah kabel, TX, RX dan Ground. 2.3.7 Jenis-jenis Komunikasi a. Simplex Simplex ialah jenis komunikasi satu arah, dimana arah informasi hanya dari pengirim ke penerima saja dan tidak bisa sebaliknya. Contohnya paging, pada paging pesawat penerima hanya bisa menerima pesan yang dikirim oleh stasiun ` 33 pengirim dan tidak bisa menngirim balik ke penerima dengan menggunakan pesawat paging tersebut. Contoh lain yaitu televise dan radio. Gambar 2.3.7.a Konfigurasi Komunikasi Simplex Keuntungan Simplex : Dalam jalur atau media transmisi berjalan satu arah. Kelemahan Simplex : 1. Data yang dikirim hanya kesatu arah saja. Sehingga pengirim dan penerima tugasnya tetap. b. Half duplex Half duplex ialah jenis komunikasi dua arah, tapi kedua pihak yang berkomunikasi tidak dapat melakukan pengiriman informasi pada saat yang bersamaan, yakni harus bergantian. Pada saat user A mengirimkan infomasi maka user B harus bertindak sebagai penerima. Gambar 2.3.7.b Konfigurasi Komunikasi Half Duplex ` 34 Keuntungan Half duplex : Dapat mengirimkan informasi secara bersamaan ke seluruh penerima. Kelemahan Half Duplex : Pada half duplex kedua station dapat mengirim dan menerima data, namun tidak terjadi pada waktu yang sama. c. Full Duplex Gambar 2.3.7.c Konfigurasi Komunikasi Full Duplex Full duplex ialah jenis komunikasi dua arah, dimana masing-masing user dapat melakukan pengiriman ataupun penerimaan informasi pada saat yang bersamaan. Jadi tergantung apakah lawan bicara sedang melakukan pengiriman informasi ataupun tidak. full duplex hampir sempurna digunakan dalam komunikasi data. 2.3.8 Protokol Komunikasi Serial Dalam komunikasi serial, pengirim dan penerima harus memenuhi protokol komunikasi. Berikut ini istilah protokol komunikasi serial RS-485 : 1. Baud periode (Baudrate) Kecepatan transmisi yang diukur dalam satuan bit per sekon. Clock pengirim dan penerima harus disinkronisasi pada baud periode yang sama. 2. Marking State Periode waktu selama data tidak dikirim, selama kondisi marking, output line pengirim selalui logic „1‟ (High). 3. Start bit ` 35 Logika „0‟ (Low) menunjukkan data transmisi dimulai. Kondisi Low pada starting bit dinamakan spacing state. 4. Karakter bit Berisi data dengan jumlah 5, 6, 7 atau 8 bit. Bit pertama dikirim adalah LSB. 5. Parity bit Parity bit adalah bit pilihan yang dikirim setelah karakter bit untuk mendeteksi error transmisi. Ada dua macam parity, parity genap dan parity ganjil. 6. Stop bit Sebagai tanda akhir data yang dikirimkan. 2.3.9 Liquid Crystal Display Liquid Crystal Display (LCD) adalah salah satu jenis interface yang berfungsi sebagai display untuk menampilkan karakter huruf maupun bilangan, jumlah karakter yang bisa dituliskan pada LCD tersebut yaitu berdasarkan jumlah kolom karakter dikali jumlah baris karakter. Sebagai contoh, LCD16x2, artinya terdapat 16 kolom dalam 2 baris ruang karakter, yang berarti total karakter yang dapat dituliskan adalah 32 karakter. Terdapat dua jenis antarmuka yang dapat digunakan dalam pengendalian LCD karakter: 1. 4 Bit 2. 8 Bit Dalam 4 Bit-Antarmuka hanya membutuhkan empat pin data komunikasi data parallel, DB4 (pin 11) – DB7 (pin14), yang dikoneksikan dengan pengendali. Gambar 2.3.9.a Liquid Crystal Display (LCD) Untuk penjelasan konfigurasi pin liquid crystal display (LCD) terdapat pada tabel 2.3. ` 36 Tabel 2.3 Konfigurasi Pin Liquid Crystal Display (LCD) No Pin Simbol Fungsi 1 Vss Ground 2 Vdd +5 V 3 Vo LCD Contrast Adjust 4 RS Register Select 5 R/W Read/Write 6 E Enable 7 DB0 Data Bit 0 8 DB1 Data Bit 1 9 DB2 Data Bit 2 10 DB3 Data Bit 3 11 DB4 Data Bit 4 12 DB5 Data Bit 5 13 DB6 Data Bit 6 14 DB7 Data Bit 7 + BL + Power Supply for BL+ - BL - Power Supply for BL- Modul LCD terdiri dari sejumlah memory yang digunakan untuk display. Semua teks yang kita tuliskan ke modul LCD disimpan didalam memory ini, dan untuk peta memori LCD ditunjukan pada gambar di bawah ini. Gambar 2.3.9.b peta memori pada LCD 16x2 Pada peta memori tersebut, daerah yang berwarna biru ( 00 s/d 0F dan 40 s/d 4F ) adalah display yang tampak. Jumlahnya sebanyak 16 karakter per baris dengan dua baris. Angka pada setiap kotak adalah alamat memori yang bersesuaian dengan posisi dari layar. Karakter pertama pada baris 1 menempati alamah 00h. Posisi karakter berikutnya adalah alamat 01h dan seterusnya. Akan ` 37 tetapi, karakter pertama pada baris 2 sebagaimana yang ditunjukkan pada peta memori menempati alamat 40h. Instruksi Set Posisi Kursor adalah 80h. Contoh, kita ingin menampilkan kata ”World” pada baris ke dua pada posisi kolom ke sepuluh. Sesuai peta memori, posisi karakter pada kolom 11 dari baris ke dua, mempunyai alamat 4Ah, sehingga sebelum kita tulis kata ”World” pada LCD, kita harus mengirim instruksi set posisi kursor, dan perintah untuk instruksi ini adalah 80h ditambah dengan alamat 80h+4Ah =0CAh. Sehingga dengan mengirim perintah 0CAh ke LCD, akan menempatkan kursor pada baris dan kolom ke 11 dari DDRAM. kedua Gambar 2.3.9.c Rangkaian Schematic LCD 16*2 8bit 2.4 Pemrograman Perangkat Lunak 2.4.1 Bahasa Pemrograman Basic BASCOM adalah sebuah software compiler yang digunakan untuk membuat/ menulis program yang nantinya bisa didownloadkan ke mikrokontroler Atmel 8 bit. Karakter dalam BASCOM Dalam program BASCOM, karakter dasarnya terdiri atas karakter alphabet (A-Z dan a-z), karakter numeric (0-9), dan karakter special (lihat tabel 2.4). ` 38 Tabel 2.4 Karakter dalam BASCOM Kkarakter Nama blank „ Apostrophe * Asterisk (symbol perkalian) + Plus sign , Comma - Minus sign / Period (decimal point) : Slash (division symbol) will be handled as\ “ Colon ; Semicolon < Less than = Equa l sign (assignment symbol or relat ional operator) > Greater than \ Backspace (integer or word division symbol) Tipe Data Tipe data merupakan bagian program yang paling penting karena pemilihan tipe data yang tepat akan membuat operasi data menjadi lebih efisien dan efektif. Tabel 2.5 Tipe Data ` No Tipe Jangkauan 1 Bit 0 atau 1 2 Byte 0 – 255 3 Integer -32.768 s/d +32.768 4 Word 0 – 65535 5 Long -2147483648 s/d +2147483648 6 Single 1,5x10-45 s/d 3,4x1038 7 Double 5x10-324 s/d 1,7x10308 8 String >254 byte 39 Konstanta Konstanta merupakan suatu nilai yang tidak dapat diubah selama proses pemograman berlangsung. Konstanta nilainya tetap dan harus didefinisikan terlebih dahulu di awal program. Konstanta dapat bernilai integer, pecahan, karakter, dan string. Variabel Variabel adalah suatu pengenal (identifier) yang digunakan dalam mewakili suatu nilai tertentu di dalam proses program. Nilai dari suatu variabel bisa diatur sesuai dengan kebutuhan. Nama dari suatu variabel dapat ditentukan sendiri oleh pemrogram dengan aturan sebagai berikut: Nama variabel hanya boleh terdiri dari abjad, bilangan, dan tanda hubung, Panjangnya maksimum 32 karakter, Tidak boleh menggunakan spasi, Tidak boleh menggunakan simbol khusus seperti : !,@,#,$,%,^,&,*,-,+,=, dan sebagainya. Deklarasi Deklarasi diperlukan bila kita akan menggunakan pengenal (identifier) dalam program. Identifier dapat berupa variabel, konstanta, dan fungsi. Macammacam deklarasi yang umum adalah deklarasi variable, deklarasi konstanta, deklarasi fungsi. Penyeleksian Kondisi Penyeleksian kondisi digunakan untuk mengarahkan perjalanan suatu proses. Fungsi penyeleksian kondisi mempunyai arti penting dalam penyusunan Bahasa Basic terutama untuk program yang kompleks. Penyeleksian kondisi terdiri atas struktur kondisi “IF…THEN…”, “IF…ELSE…” , dan “SWITCH…CASE…” Perulangan Dalam Bahasa Basic tersedia suatu fasilitas yang digunakan untuk melakukan proses yang berulang-ulang sesuai dengan kebutuhan. Struktur perulangan Bahasa Basic mempunyai bentuk bermacam-macam seperti “WHILE”,” DO…LOOP”, dan” FOR”. 2.4.2 ` Penggunaan Program Proteus 40 Proteus adalah sebuah software untuk mendesain PCB yang juga dilengkapi dengan simulasi spice pada level skematik sebelum rangkaian skematik diupgrade ke PCB shingga sebelum PCB nya di cetak kita akan tahu apakah PCB yang akan kita cetak sudah benar atau tidak. Proteus mengkombinasikan program ISIS untuk membuat skematik desain rangkaian dengan program ARES untuk membuat layout PCB dari skematik yang kita buat. Pengalaman saya menggunakan Proteus ini, software ini bagus digunakan untuk desain rangkaian mikrokontroler . Proteus juga bagus untuk belajar elektronika seperti dasar-dasar elektronika sampai pada aplikasi mikrokontroler. Software ini jika di install menyediakan banyak contoh aplikasi desain yang disertakan sehingga kita bisa belajar dari contoh-contoh yang sudah ada. Fitur-fitur dari Proteus adalah sebagai berikut : 1. Memiliki kemampuan untuk mensimulasikan hasil rancangan baik digital maupun analog maupun gabungan keduanya, mendukung simulasi yang menarik dan simulasi secara grafis, 2. Mendukung simulasi berbagai jenis microcontroller seperti PIC, 8051 series. 3. Memiliki model-model peripheral yang interactive seperti LED, tampilan LCD, RS232, dan berbagai jenis library lainnya, 4. Mendukung instrument-instrument virtual seperti Voltmeter, amperemeter, oscciloscope, logic analyser, dll, 5. Memiliki kemampuan menampilkan berbagi jenis analisis secara grafis seperti transient, frekuensi, noise, distorsi, AC dan DC. 6. Mendukung berbagai jenis komponen-komponen analog, 7. Mendukung open architecture sehingga kita bisa memasukkan program seperti C++ untuk keperluan simulasi, 8. Mendukung pembuatan PCB yang di update secara langsung dari program ISIS ke program pembuat PCB-ARES. ISIS dipergunakan untuk keperluan pendidikan dan perancangan. Beberapa fitur umum dari ISIS adalah sebagai berikut : ` 41 1. Dapat dioperasikan pada Windows 98/Me/2k/XP dan Windows terbaru. 2. Routing secara otomatis dan memiliki fasilitas penempatan dan penghapusan dot. 3. Sangat powerfull untuk pemilihan komponen dan pemberian properties nya. 4. Mendukung untuk perancangan berbagai jenis bus dan komponen- komponen pin, port modul dan jalur. 5. Memiliki fasilitas report terhadap kesalahan-kesalahan perancangan dan simulasi elektrik. 6. Mendukung fasilitas interkoneksi dengan program pembuat PCB-ARES. 7. Memiliki fasilitas untuk menambahkan package dari komponen yang belum didukung. ARES (Advanced Routing and Editing Software) digunakan untuk membuat modul layout PCB. Adapun fitur-fitur dari ARES adalah sebagai berikut: 1. Memiliki database dengan tingkat keakuratan 32 bit dan memberikan resolusi sampai 10 nm, resolusi angular 0,1 derajat dan ukuran maksimum board sampai kurang lebih 10 m. ARES mendukung sampai 16 layer. 2. Terintegrasi dengan program pembuat skematik ISIS, dengan kemampuan untuk menentukan informasi routing pada skematik. 3. Visualisasi board 3 Dimensi. 4. Penggambaran 2 Dimensi dengan simbol library. `