BAB II TINJAUAN PUSTAKA 2.1 Fungsi Kontrol Sistem AC (Air Conditioning) Suatu unit AC (Air Conditioning) memerlukan sistem pengontrolan secara otomatis agar dapat beroperasi dengan efektif, aman serta ekonomis sesuai kebutuhan. Pada prinsipnya sistem pengontrolan ini harus mampu memenuhi persyaratan yang diperlukan untuk keperluan otomatisasi proses meliputi tiga kategori fungsi sebagai berikut, yaitu : o fungsi mengatur dan mengontrol kondisi ruang, o fungsi proteksi dan perlindungan, o fungsi operasi yang ekonomis. 2.1.1 Fungsi Mengatur Kondisi Ruang Agar sistem pengontrolan yang digunakan dapat melaksanakan fungsi ini maka diperlukan alat deteksi dan aktuasi yang akan memonitor kondisi ruang setiap saat melalui berbagai alat deteksi yang digunakan. Kemudian mengadakan pengaturan seperlunya untuk mencapai kondisi yang diinginkan melalui peralatan aktuasi yang digunakan. Peralatan deteksi dan aktuasi tersebut antara lain thermostat, humidistat, damper, katub dan relai. Peralatan tersebut dapat beroperasi secara elektrik dengan menggunakan energi listrik, dapat pula secara pnumatik menggunakan kekuatan udara tekan dan secara elektronik dengan menggunakan bahan semi konduktor dan mikroelektronik berbasis komputer. Peralatan deteksi dan aktuasi yang digunakan akan berkolaborasi untuk menjaga kondisi suhu dan kelembaban udara ruang senantiasa tetap berada pada titik tertentu sesuai keinginan dan perencanaan. Variabel yang dideteksi dan dikontrol meliputi suhu, tekanan, jumlah udara dan kualitas udara, refrigeran dan uap air. Selain itu juga harus dapat mengontrol siklus kompresor, burner (boiler) atau heater secara pasti untuk ON/OFF sesuai kebutuhan beban. 5 6 2.1.2 Fungsi Proteksi dan Perlindungan Sistem pengontrolan yang digunakan harus mampu memberikan fungsi proteksi dan pengaman untuk mencegah mesinnya sedini mungkin terhadap bahaya kerusakan fatal. Dalam hal ini sistem kontrol yang digunakan harus mampu mencegah terjadinya suhu tinggi atau suhu yang berlebihan dan bahaya kebakaran. Sebagai contoh oil pressure control, suction pressure regulator, limit switch, motor overload protection dan smoke detector. 2.1.3 Fungsi Operasi Ekonomis Sistem kontrol yang digunakan harus mampu menjaga operasi mesin pada tingkat yang paling ekonomis dengan mengatur konsumsi energi yang digunakan pada waktu ke waktu disesuaikan dengan kebutuhan beban. Misalnya konsumsi air, bahan bakar dan tenaga listrik yang dikonsumsi pada saat beban AC (Air Conditioning) turun di bawah desain nominalnya. Untuk itu kompresornya harus dilengkapi dengan sistem kontrol kapasitas misalnya dengan menggunakan alat yang disebut : auto unloader, hot gas bypass, damper dan step controller. Pada gedung-gedung bertingkat tinggi untuk pemakaian komersial sering menggunakan sistem kontrol dengan mikrokontroler yang berbasis computer sepert Building Automation System untuk keperluan peningkatan upaya hemat energi Kontrol yang terpogram melalui perangkat komputer misalnya dengan PLC (Programmable Logic Control) sering digunakan untuk mengontrol dan memonitor kondisi ruang setiap saat untuk menghasilkan operasi sistem yang ekonomis tanpa mengurangi kebutuhan kualitas yang diperlukan. Menurut spesifikasi yang dilakukan maka fungsi sistem kontrol dapat diklasifikasikan sebagai berikut yaitu sebagai pengontrol starting, pengontrol operasi dan pengontrol kondisi ruang. 2.1.3.1 Fungsi Pengontrol Starting/Stopping Pengontrol starting dapat berupa sistem kontrol tunggal (operasi on/off) tidak tergantung sistem lainnya atau dapat berupa operasi sekuen yang melibatkan 7 lebih dari sistem aktuasi (misalnya motor kompresor, pompa air dan fan) secara interlock. 2.1.3.2 Fungsi Pengontrol Operasi Pengontrol operasi pada prinsipnya mongontrol operasi mesin pada tingkat yang paling efektif dan aman. Sistem kontrol ini dapat mencegah mesin dari bahaya kerusakan fatal dengan melindunginya terhadap adanya suhu dan tekanan yang berlebihan dan bahaya kebakaran. Sistem kontrol ini dapat berfungsi sebagai pengontrol kapasitas pada saat mesin sedang bekerja atau pada saat starting sehingga diperoleh operasi yang ekonomis. Misalnya high - low pressure control, time delay relay, freeze protection, temperature limit control dan compressor capacity control. 2.1.3.3 Fungsi Pengontrol Kondisi Ruang Pengontrol ini berfungsi sebagai pengatur kondisi ruang. Sistem kontrol yang digunakan harus mampu mendeteksi kondisi di dalam ruang dari waktu ke waktu meliputi suhu, tekanan dan kelembaban udara dalam ruang dan selanjutnya melakukan berbagai pengaturan untuk menjaga kondisi ruang tetap berada pada batas-batas perencanaannya. 2.2 Sistem Kontrol untuk AC (Air Conditioning) Rumah Tinggal AC (Air Conditioning) untuk keperluan rumah tinggal biasanya hanya memerlukan sistem kontrol yang sederhana, yaitu switch manual yang dipadu dengan room thermostat dan timer switch untuk mengontrol suhu ruang. Peralatan kontrol lainnya baik untuk starting maupun untuk operasional biasanya merupakan bagian integral dari unitnya sesuai desain pabrikannya. Unit kontrol untuk starting diatur oleh thermostat yang akan mengoperasikan suatu relai atau kontaktor. Relai atau kontaktor tersebut kemudian akan memberi penguatan kepada unit aktuasinya misalnya kompresor, fan, katup dan pompa. Sedang unit kontrol 8 operasinya akan memberikan fungsi proteksi terhadap adanya suhu dan tekanan yang abnormal baik pada sisi tekanan rendah atau tekanan tingginya. Ada pula peralatan kontrol lain yang ditambahkan oleh pabrikannya dengan tujuan lebih memberikan fungsi kenyamanan dan kemudahan pemakainya. Berikut ini diberikan beberapa konfigurasi sistem kontrol yang banyak digunakan o Kombinasi sistem kontrol untuk operasi cooling dan heating yang diterapkan pada unit AC (Air Conditioning) Split dengan menggunakan selector switch manual. Thermostatnya dilengkapi dengan timer switch agar dapat mengontrol operasi sistem sesuai waktu yang diinginkan misalnya pada waktu malam hari (night set back) dan selanjutnya dapat kembali ke operasi day time. o Kombinasi sistem kontrol yang lebih lengkap untuk operasi cooling dan heating yang menggunakan pengaturan 3 posisi, yaitu “On - Off - Auto”. 2.3 Perangkat keras (Hardware) 2.3.1 Mikrokontroler Ada perbedaan yang cukup penting antara Mikroprosesor dan Mikrokontroler. Mikroprosesor merupakan CPU (Central Processing Unit) tanpa memori dan I/O pendukung dari sebuah komputer. Mikrokontroler terdiri dari CPU, Memori , I/O tertentu dan unit pendukung, misalnya ADC (Analog to Digital Converter) yang sudah terintegrasi di dalam mikrokontroler tersebut. Perbedaan lainnya terletak pada perbandingan RAM dan ROM. Pada sistem komputer perbandingan RAM dan ROM-nya besar, artinya program-program pengguna disimpan dalam RAM yang relatif besar, sedangkan antarmuka perangkat keras disimpan dalam ROM yang kecil. Sedangkan dalam mikrokontroler, perbandingan ROM dan RAM-nya yang besar, artinya program kontrol yang disimpan dalam ROM (MASKED ROM atau Flash PEROM) yang ukurannya relatif besar, sedangkan RAM digunakan sebagai tempat penyimpanan sementara, termasuk register-register yang digunakan pada mikrokontroler yang bersangkutan (Putra, 2010). 9 2.3.1.1 Mikrokontroler ATMega8535 Perkembangan teknologi telah maju dengan pesat dalam perkembangan dunia elektronika, khususnya dunia mikroelektronika. Penemuan silikon menyebabkan bidang ini mampu memberikan sumbangan yang amat berharga bagi perkembangan teknologi modern. Atmel sebagai salah satu yang mengembangkan dan memasarkan produk mikroelektronika telah menjadi suatu standar teknologi bagi para desainer sistem elektronika masa kini. Dengan perkembangan terakhir, yaitu generasi AVR (Alf and Vegard Risc processor), para desainer sistem elekktronika telah diberi suatu teknologi yang memiliki kapabilitas yang amat maju, tetapi dengan biaya ekonomis yang cukup minimal. Mikrokontroler AVR memiliki arsitektur RISC 8 bit, di mana semua instruksi dikemas dalam kode 16-bit (16-bits word) dan sebagian besar instruksi dieksekusi dalam satu siklus clock, berbeda dengan instruksi MCS51 yang membutuhkan 12 siklus clock yang menyebabkan dalam frekwensi kerja yang sama, mikrokontroler AVR bekerja sampai 12 kali lebih cepat bila dibandingkan dengan mikrokontroler seri MCS51. Tentu saja itu terjadi karena kedua jenis mikrokontroler tersebut memiliki arsitektur yang berbeda. AVR berteknologi RISC (Reduced Instruction Set Computing), sedangkan seri MCS51 berteknologi CISC (Complex Instruction Set Computing ) (Wardhana, 2006). Secana umum, AVR dapat dikelompokkan 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 hampir sama. 10 2.3.1.2 Arsitektur dan Fitur ATMega8535 Gambar 2.1 Blok Diagram Fungsional ATMega8535 (Wardhana, 2006) Dari gambar 2.1 dapat dilihat bahwa ATMega8535 memiliki bagian sebagai berikut : Saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C dan Port D ADC 10 bit sebanyak 8 saluran. Tiga buah Timer/Counter dengan kemampuan perbandingan. 11 CPU yang terdiri dari 32 register. Watchdog Timer dengan osilator internal. SRAM sebesar 512 byte. Memory Flash sebesar 8 Kb dengan kemampuan Read While Write. Unit interupsi internal dan eksternal EEPROM sebesar 512 byte yang dapat diprogram saat operasi. Antarmuka komparator analog. Port USART untuk komunikasi serial. Sedangkan untuk kapabilitas detail dari ATMega8535 adalah sebagai berikut : Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16 MHz. Kapabilitas memori flash 8 Kb,SRAM sebesar 512 byte dan EEPROM (Electrically Erasable Programmable Read Only Memory) sebesar 512 byte. ADC internal dengan fidelitas 10 bit sebanyak 8 channel. Portal komunikasi serial (USART) dengan kecepatan maksimal 2,5 Mbps. Enam pilihan mode sleep menghemat daya listrik. 2.3.1.3 Konfigurasi Pin Pada ATMega8535 Gambar 2.2 Konfigurasi Pin pada ATMega8535 (Heryanto, 2008) 12 Konfigurasi pin ATMega8535 bisa dilihat pada Gambar 2.2. Dari gambar tersebut dapat diijelaskan seeara fungsional konfigurasi pin ATMega8535 sebagai berikut: VCC merupakan pin yang berfungsi sebagai pin masukan catu daya. GND merupakan pin ground. Port A (PA0 sampai PA7) merupakan pin I/O dua arah dan pin masukan ADC channel 0 sampai channel 7. Port B (PB0 sampai PB7) merupakan pin I/O dua arah dan pin fungsi khusus yang mencangkup Timer/Counter, komparator analog, ISP (In System Programmer) dan SPI (Serial Peripheral Interface). Port C (PC0 sampai PC7) merupakan pin I/O dua arah dan pin fungsi khusus yang mencangkup TWI (Two Wire Interface), komparator analog, channel PWM (Pulse Width Modulation), dan Timer Oscillator. Port D (PD0 sampai PD7) merupakan pin I/O dua arah dan pin fungsi khusus yang mencakup komparator analog, interupsi eksternal, dan komunikasi serial USART. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler. XTAL 1 dan XTAL2 merupakan pin masukan clock eksternal. AVCC merupakan pin masukan tegangan catu untuk ADC. AREF merupakan pin masukan tegangan referensi ADC 2.3.2 Transistor Transistor adalah alat semikonduktor yang dipakai sebagai penguat, sebagai sirkuit pemutus dan penyambung (switching), stabilisasi tegangan, modulasi sinyal atau sebagai fungsi lainnya. Pada umumnya, transistor memiliki tiga terminal. Tegangan dan arus yang dipasang di satu terminalnya mengatur arus yang lebih besar yang melalui dua terminal lainnya. Transistor adalah komponen yang sangat penting dalam dunia elektronik modern. Dalam rangkaian analog, transistor digunakan dalam amplifier (penguat). Rangkaian analog melingkupi pengeras suara, sumber listrik stabil, dan penguat sinyal radio. Dalam rangkaianrangkaian digital, transistor digunakan sebagai saklar berkecepatan tinggi. 13 Transistor dapat difungsikan sebagai saklar yaitu dengan mengatur arus basis Ib sehingga transistor dalam keadaan jenuh (saturasi) atau daerah mati (cutoff). Dengan mengatur Ib>Ic/β kondisi transistor akan menjadi jenuh seakan kolektor dan emitor short circuit. Arus mengalir dari kolektor ke emitor tanpa hambatan dan Vce≈0. Besar arus yang mengalir dari kolektor ke emitor sama dengan Vcc/Rc. Keadaan seperti ini menyerupai saklar dalam kondisi tertutup (on). Gambar 2.3 Transistor pada Keadaan Jenuh (Saturasi) Dengan mengatur Ib = 0 atau tidak memberi tegangan pada bias basis atau basis diberi tegangan mundur terhadap emitor maka transistor akan dalam kondisi mati (cut-off), sehingga tak ada arus mengalir dari kolektor ke emitor (Ic≈0) dan Vce ≈ Vcc. Keadaan ini menyerupai saklar pada kondisi terbuka. Gambar 2.4 Transistor pada Keadaan Mati (Cut Off) 14 2.3.3 Relay Dalam dunia elektronika, relay dikenal sebagai komponen yang dapat mengimplementasikan logika switching. Sebelum tahun 70an, relay merupakan otak dari rangkaian pengendali. Seiring perkembangannya, muncul PLC yang mulai menggantikan posisi relay. Relay yang paling sederhana ialah relay elektromekanis yang memberikan pergerakan mekanis saat mendapatkan energi listrik. Secara sederhana relay elektromekanis ini didefinisikan sebagai berikut : Alat yang menggunakan gaya elektromagnetik untuk menutup atau membuka kontak saklar. Saklar yang digerakkan secara mekanis oleh daya (energi listrik). Gambar 2.5 Contoh sebuah Relay Relay terdiri dari coil dan contact. Perhatikan gambar 2.6, coil adalah gulungan kawat yang mendapat arus listrik, sedang contact adalah sejenis saklar yang pergerakannya tergantung dari ada tidaknya arus listrik di coil. Contact terdiri dari dua jenis : Normally Open (kondisi awal sebelum diaktifkan open), dan Normally Closed (kondisi awal sebelum diaktifkan close). Secara sederhana berikut ini prinsip kerja dari relay : ketika Coil mendapat energi listrik (energized), akan timbul gaya elektromagnet yang akan menarik armature yang berpegas, dan contact akan menutup. 15 Gambar 2.6 Skema relay elektromekanik 2.3.4 MCB (Miniatur Circuit Breaker) MCB merupakan alat pengaman otomatis yang dipergunakan untuk membatasi arus listrik. Alat pengaman ini dapat juga berguna sebagai saklar. Dalam penggunaannya, pengaman ini harus disesuaikan dengan besar daya listrik yang terpasang. Gambar 2.7 Bentuk Fisik dari MCB MCB adalah komponen pengaman yang kompak, karena di dalamnya terdiri dua pengaman sekaligus. Pertama pengaman beban lebih oleh bimetal, kedua pengaman arus hubung singkat oleh relay arus. Ketika salah satu pengaman berfungsi maka secara otomatis sistem mekanik MCB akan trip dengan sendirinya. Pengaman bimetal bekerja secara thermis. Berdasarkan fungsinya MCB dibedakan atas dua jenis, yaitu: 1. MCB 1 phasa MCB 1 phasa merupakan jenis yang digunakan pada listrik 1 phasa. Bagian listrik yang dihubungkan dengan MCB adalah phasa (line). MCB jenis ini 16 sering ditemui pada rumah tinggal yang menggunakan daya listrik dalam skala kecil. Misalnya daya 900 VA, 1200 VA dan 2200 VA. 2. MCB 3 Phasa MCB 3 phasa sering ditemui di industri dan beberapa rumah tinggal yang menggunakan daya listrik di atas 6000 VA. MCB 3 phasa terdiri atas 3 buah MCB. Seperti yang kita ketahui, jaringan listrik 3 phasa terdiri atas tiga buah line (R, S dan T). Masing - masing line dipasang pada tiap - tiap MCB. Pada sistem pengendalian motor, MCB digunakan pada rangkaian utama yang menggunakan motor 3 phasa. MCB dipasang secara seri menghubungkan pada terminal - terminal utama magnetik kontaktor. Gambar 2.8 Bentuk Fisik MCB 3 phasa 2.3.4.1 Bagian dalam MCB Gambar 2.9 Bagian dalam MCB dengan 17 1. Tuas Tuas digunakan untuk mengaktifkan dan menon-aktifkan rangkaian MCB secara manual. Saat terjadi beban lebih (konsleting), tuas akan memutuskan arus listrik antara beban dan sumber listrik. 2. Mekanis aktuator Bagian ini akan menggerakkan tuas ke posisi OFF sebagai akibat terjadi beban lebih atau arus pendek pada beban. 3. Kontak Merupakan kontak yang terdapat dalam MCB yang terhubung pada tuas aktuator. Saat tuas ON, kontak akan terhubung pada selenoid. 4. Terminal Bagian masuk dan keluarnya arus listrik. 5. Bimetal Berfungsi sebagai indikator apabila terjadi beban lebih pada MCB. 6. Sekrup Kalibrasi Sekrup ini berfungsi untuk mengatur ketepatan arus listrik pada MCB setelah MCB di produksi. 7. Solenoid Solenoid merupakan kumparan yang menghubungkan terminal dengan kontak 2.3.5 MC (Magnetic Contactor) Kontaktor merupakan saklar daya yang bekerja dengan prinsip elektromagnetik. Jika koil dialirkan arus listrik akan menjadi magnet dan menarik inti magnet yang bergerak dan menarik sekaligus kontak dalam posisi ON. Batang inti yang bergerak menarik paling sedikit tiga kontak utama dan beberapa kontak bantu, bisa kontak NC atau NO. Kerusakan yang terjadi pada kontaktor, karena belitan koil terbakar, kontak tipnya saling lengket serta ujung-ujung kontaknya terbakar. (Siswono, 2008) 18 Gambar 2.10 Tampak Samping Irisan Kontaktor Susunan kontak dalam kontaktor secara skematik terdiri atas belitan koil dengan notasi A2-A1. Terminal ke sisi sumber pasokan listrik 1/L1, 3/L2, 5/L3, terminal ke sisi beban motor atau beban listrik lainnya adalah 2/T1, 4/T2 dan 6/T3. Dengan dua kontak bantu NO (Normally Open) 13-14 dan 43- 44, dan dua kontak bantu NC (Normally Close) 21-22 dan 31-32. Gambar 2.11 Simbol dan Kode Angka Kontaktor Bentuk fisik kontaktor terbuat dari bahan plastik keras yang kokoh. Pemasangan ke panel bisa dengan menggunakan rel atau disekrupkan. Kontaktor bisa digabungkan dengan beberapa pengaman lainnya, misalnya dengan pengaman bimetal (overload relay). Yang harus diperhatikan adalah kemampuan hantar arus kontaktor harus disesuaikan dengan besarnya arus beban, karena berkenaan dengan kemampuan kontaktor secara elektrik. (Siswono,2008) 19 Gambar 2.12 Bentuk Fisik Kontaktor 2.3.6 TDR (Time Delay Relay) TDR (Time Delay Relay) sering disebut juga relay timer atau relai penunda batas waktu banyak digunakan dalam instalasi motor terutama instalasi yang membutuhkan pengaturan waktu secara otomatis. Peralatan kontrol ini dapat dikombinasikan dengan peralatan kontrol lain seperti MC (Magnetic Contactor), Thermal Over Load Relay dan lain-lain Gambar 2.13 Bentuk Fisik TDR (Time Delay Relay) Fungsi dari peralatan kontrol ini adalah sebagai pengatur waktu bagi peralatan yang dikendalikannya. Timer ini dimaksudkan untuk mengatur waktu hidup atau mati dari kontaktor atau untuk merubah sistem bintang ke segitiga dalam delay waktu tertentu. Timer dapat dibedakan dari cara kerjanya yaitu timer yang bekerja menggunakan induksi motor dan menggunakan rangkaian elektronik. Timer yang bekerja dengan prinsip induksi motor akan bekerja bila motor mendapat tegangan AC (Alternating Current) sehingga memutar gigi mekanis dan memarik serta menutup kontak secara mekanis dalam jangka waktu tertentu 20 Sedangkan relay yang menggunakan prinsip elektronik, terdiri dari rangkaian R dan C yang dihubungkan seri atau paralel. Bila tegangan sinyal telah mengisi penuh kapasitor, maka relay akan terhubung. Lamanya waktu tunda diatur berdasarkan besarnya pengisisan kapasitor Bagian input timer biasanya dinyatakan sebagai kumparan (coil) dan bagian outputnya sebagai kontak NO atau NC. Kumparan pada timer akan bekerja selama mendapat sumber arus. Apabila telah mencapai batas waktu yang diinginkan, maka secara otomatis timer akan mengunci dan membuat kontak NO menjadi NC ataupun NC menjadi NO sesuai kondisi awalnya. Gambar 2.14 Tampak depan,belakang dan pengawatan TDR (Time Delay Relay) Kontak NO dan NC pada TDR (Time Delay Relay) akan bekerja ketika timer diberi ketetapan waktunya, ketetapan waktu ini dapat kita tentukan pada potensiometer yang terdapat pada timer itu sendiri. Misalnya ketika kita telah menetapkan 10 detik, maka kontak NO dan NC akan bekerja 10 detik setelah kita menghubungkan timer dengan sumber arus listrik. 2.4 Perangkat Lunak (Software) 2.4.1 Pemrograman AVR Pemrograman pada mikrokontroler AVR dapat dilakukan dengan beberapa cara. Salah satunya adalah menggunakan pemprograman berbasis assembler. Pada mikrokontroler tipe AVR, ATMEL sebagai produsen resmi telah menyediakan software gratis. Software ini berguna untuk mendesain kode dan mensimulasikan kode tersebut ke dalam register sesuai dengan tipe mikrokontroler yang digunakan. 21 2.4.1.1 Bahasa Assembler pada AVR Bahasa assembler pada mikrokontroler AVR memiliki standar tersendiri. Standar ini dibuat berdasarkan register-register yang tersedia dan telah diprogram sebelumnya pada mikrokontroler. Perintah yang digunakan untuk memanfaatkan register yang tersedia disebut dengan set instruksi, yang pada operasionalnya akan dieksekusi pada siklus clock (cycle clock). Setiap perintah instruksi yang ditulis memiliki fungsi masing-masing dan perintah ini disebut dengan mnemonics. (Adelia, 2010) Adapun contoh dari kode assembler untuk mikrokontroler AVR adalah sebagai berikut : rjmp main main: ldi r16,low(ramend) out SPL,r16 ldi r16,high(ramend) out SPH,r16 // SPH dan r16 adalah register rcall init_serial // rcall adalah mnemonic program_utama: ldi zl,low(2*msg) ldi zh,high(2*msg) load: lpm mov r17,r0 cpi r17,0 breq henti rcall transmit inc zl rjmp load henti: rjmp henti 2.4.2 Komunikasi Serial Komunikasi serial merupakan salah satu tipe koneksi yang digunakan untuk transmisi data. Komunikasi serial menggunakan satu kanal untuk tiap alat yang 22 ingin menggunakan kanal komunikasi ini pada satu waktu. Komunikasi serial akan mentransmisikan data dalam satu media transmisi. Sehingga akan lebih menghemat media, baik itu kabel maupun tempat. Pada komputer PC, komunikasi serial umumnya digunakan untuk menghubungkan (Data Terminal Equipment DTE) yaitu PC dengan (Data Circuit – Terminating Equipment - DCE) misalnya modem. Tetapi kanal serial pada computer PC juga dapat digunakan untuk mentransmisikan data ke berbagai media. Salah satunya adalah mikrokontroler. 2.4.2.1 Tata Cara Komunikasi Serial Dikenal dua cara komunikasi data secara serial, yaitu komunikasi data serial secara sinkron dan komunikasi data serial secara asinkron. Pada komunikasi data serial sinkron, clock dikirimkan bersama-sama dengan data serial, sedangkan komunikasi data serial asinkron, clock tidak dikirimkan bersama data serial, tetapi dibangkitkan secara sendiri-sendiri baik pada sisi pengirim (transmitter) maupun pada sisi penerima (receiver). Pada IBM PC kompatibel port serialnya termasuk jenis asinkron. Komunikasi data serial ini dikerjakan oleh UART (Universal Asynchronous Receiver/Transmitter). IC UART dibuat khusus untuk mengubah data paralel menjadi data serial dan menerima data serial yang kemudian diubah kembali menjadi data paralel. IC UART 8250 dari Intel merupakan salah satunya. Selain berbentuk IC mandiri, berbagai macam mikrokontroler ada yang dilengkapi UART, misalnya keluarga mikrokontroler AVR (termasuk AT Mega8535). (Jaya, 2010) Pada UART, kecepatan pengiriman data (baud rate) dan fase clock pada sisi transmitter dan pada sisi receiver harus sinkron. Untuk itu diperlukan sinkronisasi antara transmiter 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 transmiter ingin mengirimkan data, output UART akan diset lebih dulu ke logika ‘0’ untuk waktu satu bit. Sinyal ini pada receiver akan dikenali sebagai sinyal ‘Start’ yang digunakan untuk mensinkronkan fase clocknya sehingga sinkron dengan fase clock transmitter. Selanjutnya, data akan dikirimkan secara serial dari bit paling rendah (bit 0) 23 sampai bit tertinggi. Selanjutnya, akan dikirim sinyal ‘Stop’ sebagai akhir dari pengiriman data serial. Cara pemberian kode data yang disalurkan tidak ditetapkan secara pasti. Berikut ini adalah contoh pengiriman huruf ‘A’ dalam format ASCII (41 heksa / 1000001 biner) tanpa bit paritas. Gambar 2.15 Data Pengiriman Huruf “A” Tanpa Paritas Kecepatan transmisi (baud rate) dapat dipilih bebas dalam rentang tertentu. Baud rate yang umum dipakai adalah 110, 135, 150, 300, 600, 1200, 2400, 9600 dan 19200 (bit/detik). Dalam komunikasi data serial, baud rate dari kedua alat yang berhubungan harus diatur pada kecepatan yang sama. Selanjutnya, harus ditentukan panjang data (6, 7 atau 8 bit), paritas (genap, ganjil atau tanpa panitas), dan jumlah bit ‘Stop’ (1, 1,5, atau 2 bit). 2.4.2.2 Standar Komunikasi Serial Standar sinyal komunikasi serial yang banyak digunakan adalah standar RS232 yang dikembangkan oleh Electronic Industry Association and the Telecommunications Industry Association (EIA/TIA), yang pertama kali dipublikasikan pada tahun 1962. Ini terjadi jauh sebelum IC TTL populer sehingga sinyal ini tidak ada hubungan sama sekali dengan level tegangan IC TTL. Standar ini hanya menyangkut komunikasi data antara komputer (Data Terminal Equipment - DTE) dengan alat-alat pelengkap komputer (Data Circuit – Terminating Equipment - DCE). Standar RS232 inilah yang biasa digunakan pada port serial IBM PC kompatibel. (Jaya, 2010) Standar sinyal serial RS232 memiliki ketentuan level tegangan sebagai berikut (prasetia dkk,2004) : 1. Logika ‘1’ disebut ‘mark’ terletak antara -3 Volt hingga - 25 Volt. 2. Logika ‘0’ disebut ‘space’ terletak antara +3 Volt hingga +25 Volt. 3. Daerah tegangan antara -3 Volt hingga +3 Volt adalah invalid level, yaitu daerah tegangan yang tidak memiliki level logika pasti sehingga harus 24 dihindari. Demikian juga, level tegangan lebih negatif dari -25 Volt atau lebih positif dari +25 Volt juga harus dihindari karena tegangan tersebut dapat merusak line driver pada saluran RS232. Gambar berikut ini adalah contoh level tegangan RS232 pada pengiriman huruf ‘A’ dalam format ASCII tanpa bit paritas. Gambar 2.16 Level RS232 pada pengiriman huruf ‘A’ tanpa bit paritas (prasetia dkk,2004) 2.4.2.3 Konfigurasi Port Serial Gambar berikutnya adalah gambar konektor port serial DB-9 pada bagian belakang CPU. Pada komputer IBM PC kompatibel biasanya kita dapat menemukan dua konektor port serial DB-9 yang biasa dinamai COM 1 dan COM2. Gambar 2.17 Konektor serial DB-9 pada bagian belakang CPU Tabel 2.1 Konfigurasi pin dan nama sinyal konektor serial DB-9 Nomor Pin 1 Nama Signyal DCD Arah Data Masuk 2 RxD Masuk Keterangan Data Carrier Detect / Received Line Signal Detect Received Data 25 3 4 5 6 7 8 9 TxD DTR GND DSR RTS CTS RI Keluar Keluar Masuk Keluar Masuk Masuk Transmited Data Data Terminal Ready Ground Data Set Ready Request to Send Clear to Send Ring Indicator Keterangan mengenai fungsi saluran RS232 pada konektor DB-9 adalah sebagai berikut: Received Line Signal Detect, dengan saluran ini DCE memberitahukan ke DTE bahwa pada terminal masukan ada data masuk. Receive Data, digunakan DTE menerima data dan DCE. Transmit Data, digunakan DTE mengirimkan data ke DCE. Data Terminal Ready, pada saluran ini DTE memberitahukan kesiapan terminalnya. Signal Ground, saluran ground. Ring Indicator, pada saluran ini DCE memberitahu ke DTE bahwa sebuah stasiun menghendaki hubungan dengannya. Clear To Send, dengan saluran ini DCE memberitahukan bahwa DTE boleh mulai mengirim data. Reques To Send, dengan saluran ini DCE diminta mengirim data oleh DTE. DCE Ready, sinyal aktif pada saluran ini menunjukiam bahwa DCE sudah siap. Untuk dapat menggunakan port serial kita perlu mengetahui alamatnya. Biasanya tersedia dua port serial pada CPU, yaitu COM1 dan COM2. Base address COM1 biasanya adalah 1016 (3F8h) dan COM2 biasanya 760 (2F8h). Alamat tersebut adalah alamat yang biasa digunakan, tergantung dari komputer yang digunakan. Tepatnya kita bisa melihat pada peta memori tempat menyimpan alamat tersebut, yaitu memori 0000.0400h untuk base address COM1 dan memori 0000.0402h untuk base address COM2. 26 2.4.2.4 Alasan Menggunakan Port Serial Dibandingkan dengan menggunakan port paralel, penggunaan port serial terkesan lebih rumit. Berikut ini keuntungan - keuntungan penggunaan port serial dibandingkan penggunaan port paralel: 1. Pada komunikasi dengan kabel yang panjang, masalah cable loss tidak akan menjadi masalah besar daripada menggunakan kabel paralel. Port serial mentransmisikan ‘1’ pada level tegangan -3 Volt sampai -25 Volt dan ‘0’ pada level tegangan +3 Volt sampai +25 Volt, sedangkan port paralel mentransmisikan ‘0’ path level tegangan 0 Volt dan ‘1’ pada level tegangan 5 Volt. 2. Dibutuhkan jumlah kabel yang lebih sedikit, bisa hanya menggunakan tiga kabel, yaitu saluran Transmit Data, saluran Receive Data, dan saluran ground (konfigurasi Null Modem), 3. Saat ini penggunaan mikrokontroler semakin populer. Kebanyakan mikrokontroler sudah dilengkapi dengan SCI (Serial Communication Interface) yang dapat digunakan untuk komunikasi dengan port serial komputer. 2.4.3 Konverter Tingkat RS232 Hampir semua piranti digital menggunakan tingkat logika TTL atau CMOS. Dengan demikian, langkah pertama untuk menghubungkan suatu piranti ke kanal RS-232 adalah mengubah tingkat RS-232 kembali ke tingkat 0 hingga 5 volt atau sebaliknya. Konverter Tingkat RS-232 yang banyak dipakai adalah 1428 RS-232 Driver dan 1489 RS-232 Receiver. Masing-maing piranti tersebut mengandung 4 inverter dalam satu jenis, sesuai tipenya driver atau receiver. Driver membutuhkan dua jenis catu daya, yaitu +7,5 hingga +15 volt dan -7,5 hingga -15 volt. Dan hal ini akan menimbulkan masalah jika hanya tersedia satu catu daya +5 volt saja. Di sisi lain, kelebihannya karena piranti ini termasuk yang paling murah. Piranti lainnya adalah IC MAX-232 (dan yang kompatibel dengannya), memiliki sebuah Charge Pump yang dapat menghasilkan tegangan +10V dan 10V dari catu daya tunggal 5 Volt. IC lni juga memiliki dua penerima dan dua 27 pengirim pada kemasan yang sama. Sehingga hanya memerlukan satu IC dalam proses pengiriman dan penerimaan data. Nanum IC ini harganya relatif mahal, namun jika dibandingkan dengan biaya membuat catu daya ganda yang baru tentu saja jauh lebih murah dan efisien. Ada banyak variasi dari MAX-232 ini. NiIai kapasitor yang besar juga akan membebani biaya, sehingga ada piranti lain yang tersedia di pasaran yang menggunakan kapasitor dengan nilai yang lebih kecil, bahkan ada yang memiliki kapasitor internal (terpadu dengan IC-nya). Beberapa IC MAX-232 dapat menggunakan kapasitor 1 uF, MAX-232 ini banyak digunakan dalam berbagai aplikasi.(Winoto, 2010) Gambar 2.18 Top View IC MAX-232 Keluaran MAXIM Gambar 2.19 Skema logic dan rangkaian dasar pada IC MAX 232 Keluaran MAXIM 28 2.5 Aplikasi Antarmuka dengan Ponsel 2.5.1 SMS (Short Mesagge Service) SMS (Short Mesagge Service) adalah fasilitas yang dimiliki oleh jaringan GSM (Global System for Mobile Communication) yang memungkinkan palanggan untuk mengirimkan dan menerima pesan-pesan singkat sepanjang 160 karakter. SMS ditangani oleh jaringan melalui suatu pusat layanan atau SMS Service Center (SMS SC) yang berfungsi menyimpan dan meneruskan pesan dari sisi pengirim ke sisi penerima. Format SMS yang dipakai oleh produsen MS (Mobile Station) adalah PDU (Protocol Deskription Unit). Format PDU akan mengubah kode ASCII (7 bit) menjadi bentuk byte PDU (8 bit) pada saat pengiriman data dan akan diubah kembali menjadi kode ASCII pada saat diterima oleh MS.(Wardhana, 2006) 2.5.2 Sistem Kerja SMS (Short Mesagge Service) Dibalik tampilan menu Messages pada sebuah ponsel sebenarnya terdapat AT Command yang bertugas mengirim atau menerima data ke dan dari SMS – Centre. AT Command tiap-tiap SMS depice bisa berbeda-beda, tetapi pada dasarnya sama. Perintah-perintah AT Command biasanya disediakan oleh alat komunikasi yang kita beli. Jika tidak ada, kita dapat mendownload-nya dari internet. 2.5.3 Format SMS (Short Message Service) 2.5.3.1 AT Command untuk Komunikasi dengan SMS-Centre Pada ponsel GSM terdapat fasilitas pengaksesan data melalui koneksi serial atau dengan antarmuka inframerah. Untuk mengakses data diperlukan urutan instruksi pada antarmuka ponsel. ETSI (European Telecommunication Standards Institute) menstandarkan instruksi tersebut dalam spesifikasi teknik GSM pada dokumen GSM 07.07 dan GSM 07.05, dimana setiap ponsel harus mengacu pada instruksi tersebut. Seperti pada pedoman instruksi antarmuka pada modem, instruksi ponsel diawali dengan karakter AT dan diakhiri dengan enter atau 0Dh. Perintah yang diterima akan direspons dengan diterimanya dengan data ‘OK’ atau 29 ‘ERROR’. Instruksi yang diterima oleh ponsel dan sedang diproses akan terinterupsi oleh instruksi lain yang datang sehingga setiap pengiriman instruksi harus menunggu datangnya respons dari ponsel baru dengan dikirimnya instruksi berikut. Beberapa AT Command yang penting untuk SMS (Short Message Service) adalah : AT+CMGS : untuk mengirim SMS AT+CMGL : untuk memeriksa SMS AT+CMGD : untuk menghapus SMS AT Command untuk SMS biasanya diikuti oleh data I/O yang diwakili oleh unit-unit PDU. Data yang mengalir kea tau dari SMS-Centre harus berbentuk PDU (Protocol Data Unit). PDU berisi bilangan-bilangan heksadesimal yang mencerminkan bahasa I/O. PDU terdiri atas beberapa Header. Header untuk mengirim SMS ke SMS-Centre berbeda dengan SMS yang diterima dari SMSCentre. (Wardhana, 2006) 2.5.3.2 PDU Mengirim SMS ke SMS-Centre PDU untuk mengirim SMS terdiri atas delapan header, yaitu: 1. Nomor SMS Centre Header pertama ini terbagi atas tiga subheader, yaitu : a. Jumlah pasangan heksadesimal SMS-Centre dalam bilangan heksa. b. National/International Code - Untuk national kode subheader-nya adalah 81. - Untuk international kode subheader-nya adalah 91. c. Nomer SMS-Centre-nya sendiri dalam pasangan heksa dibalik-balik. Jika tertinggal satu angka heksa yang tidak memiliki pasangan, angka tersebut akan dipasangkan dengan F di depannya. Contoh : nomor SMS-Centre Indosat-M3 dapat ditulis dengan dua cara sebagai berikut : Cara 1 (national) : 0855000000 diubah menjadi : 30 - 06 : ada 6 pasang - 81 : 1 pasang - 80-55-00-00-00 : 5 pasang Digabung menjadi : 06818055000000 Cara 2 (international) : 62855000000 diubah menjadi : - 07 : ada 7 pasang - 91 : 1 pasang - 26-58-05-00-00-F0 : ada 6 pasang Digabung menjadi 07912658050000F0. Berikut beberapa nomor SMS-Centre operator seluler di Indonesia. Tabel 2.2 Nomor SMS Center dengan Cara 1 No. Operator Seluler SMS-Center Kode PDU 1 Telkomsel 0811000000 06818011000000 2 Satelindo 0816124 0581806121F4 3 Excelcom 0818445009 06818081440590 4 Indosat-M3 0855000000 06818055000000 Tabel 2.3 Nomor SMS Center dengan Cara 2 No. Operator Seluler SMS-Center Kode PDU 1 Telkomsel 62811000000 07912618010000F0 2 Satelindo 62816124 059126181642 3 Excelcom 62818445009 07912618485400F9 4 Indosat-M3 62855000000 07912658050000F0 2. Tipe SMS Tipe SEND tipe SMS = 1. Jadi, bilangan heksanya adalah 01. 31 3. Nomor Referensi SMS Nomor referensi dibiarkan 0. Jadi, bilangan heksanya 00. Selanjutnya akan diberikan sebuah nomor referensi otomatis oleh ponsel atau alat SMSGateway. 4. Nomor Ponsel Penerima Sama seperti menulis PDU Header untuk SMS-Centre, header ini juga terbagi atas tiga bagian, yaitu : - Jumlah bilangan desimal nomor ponsel yang dituju dalam bilangan heksa. - National/International Code. - Untuk national, kode subheader-nya : 81 - Untuk international, kode subheader-nya : 91 - Nomor ponsel yang dituju dalam pasangan heksa dibalik-balik. Jika tertinggal satu angka heksa yang tidak memiliki pasangan, angka tersebut dipasangkan dengan huruf F di depannya. Contoh : Nomor ponsel yang dituju = 628129573337 dapat ditulis dengan dua cara sebagai berikut : Cara 1 : 08129573337 diubah menjadi : - 0B : ada 11 angka - 81 - 80-21-59-37-33-F7 Digabung menjadi : 0B818021593733F7 Cara 2 : 628129573337 diubah menjadi : - 0C : ada 12 angka - 91 - 26-81-92-75-33-73 Digabung menjadi : 0C91261892753373 5. Bentuk SMS 0->00-> dikirim sebagai SMS 1->01-> dikirim sebagai telex 2->02-> dikirim sebagai fax 32 Dalam hal ini, pengiriman dalam bentuk SMS tentu saja memakai 00. 6. Skema Encoding Data I/O Ada dua skema, yaitu : - Skema 7 bit -> ditandai dengan angka 0->00 - Skema 8 bit -> ditandai dengan angka lebih besar dari 0 yang diubah ke heksa. Kebanyakan ponsel atau SMS Gateway yang ada di pasaran sekarang menggunakan 7 bit sehingga kita menggunakan kode 00 7. Jangka Waktu Sebelum SMS Expired Jika bagian ini di-skip, berarti kita tidak membatasi waktu berlakunya SMS. Sementara itu, jika kita mengisinya dengan suatu bilangan integer yang kemudian diubah kepasangan heksa tertentu, bilangan yang kita berikan tersebut akan mewakili jumlah waktu validitas SMS tersebut 8. Isi SMS Header terdiri atas dua subheader, yaitu : - Panjang isi (jumlah huruf dari isi) Misalnya : untuk kata “hello” -> ada 5 huruf ->0 - Isi berupa pasangan bilangan heksa Ponsel atau SMS Gateway berskema encoding 7 bit berti jika kita mengetikkan suatu huruf dari keypad-nya, kita telah membuat 7 angka I/O berurutan Ada dua langkah yang harus kita lakukan untuk mengkonversikan isi SMS, yaitu : Langkah Pertama : mengubahnya menjadi kode 7 bit Langkah Kedua : mengubah kode 7 bit menjadi 8 bit, yang diwakili oleh pasangan heksa. Contoh : untuk kata “hello” Langkah Pertama : Bit 7 1 h 110 1000 33 e 110 0101 l 110 1100 l 110 1100 o 110 1111 Langkah Kedua : h e l l o E 8 1 1100 1000 3 2 00 11 0010 9 B 100 1 1011 F D 1111 1101 0 6 0000 0 0 110 1111 1 00 100 Oleh karena total 7 bit x 5 huruf = 35 bit, sedangkan yang kita perlukan adalah 8 bit x 5 bit = 40 bit, maka diperlukan 5 bit dummy yang diisi dengan bilangan 0. Setiap 8 bit mewakili suatu pasangan heksa. Setiap 4 bit mewakili suatu angka heksa, tentu saja karena secara logika 2 = 16. Dengan demikian, kata “hello” hasil konversinya menjadi E8329BFD06. 9. Menggabungkan Delapan Header Masing-masing header maupun subheader untuk mengirim SMS di atas harus digabungkan menjadi sebuah PDU yang lengkap. 34 Contoh : jika mengirimkan kata “hello” ke ponsel nomor 628129573337 lewat SMS-Centre Indosat-M3, tanpa membatasi waktu valid, maka PDU lengkapnya adalah : 07912658050000F0 01 00 0C91261892753373 00 00 05 E8329BFD06 Sistem pengiriman SMS di atas memungkinkan PDU dapat diterapkan pada mikrokontroler.