EECCIS2010 PLEASE FILL THIS FORM: Title Aplikasi Sistem Komunikasi Serial Multipoint RS-485 Pada Kontrol Crane Barang Topics covered Electronics Authors 1. Akhmad Zainuri Jurusan Teknik Elektro, Fakultas Teknik, Universitas Brawijaya Email : [email protected] Mailing Address Telephone/ Fax Jl. Tlogosari Barat 40 E Tlogomas Lowokwaru Kota Malang 085731160354 EECCIS2010 Aplikasi Sistem Komunikasi Serial Multipoint RS-485 Pada Kontrol Crane Barang Akhmad Zainuri Jurusan Teknik Elektro, Fakultas Teknik, Universitas Brawijaya Abstrak–- Kontrol Crane barang pada gedung multi lantai awalnya dibuat dengan menggunakan kontrol PLC. Perkembangan selanjutnya digunakan sistem embedded mikrokontroller dengan pertimbangan kesamaan fungsi dan penggunaan biaya yang lebih murah. Desain kontrol crane multi lantai dengan sistem embedded saat ini tidak cukup hanya dengan menerapkan satu buah microcontroller saja. Karena sistem yang dikontrol mempunyai peralatan dan tugas yang semakin banyak sehingga perlu menerapkan desentralisasi pada sistem berbasis microcontroller. Salah satu solusinya dengan mengimplementasikan komunikasi serial untuk mengurangi kerumitan instalasi dan perbaikan. Dalam penelitian ini, dirancang suatu sistem komunikasi multipoint antara 5 microcontroller berbasis komunikasi serial RS485 sebagai jalur penghubung antar microcontroller untuk melewatkan data-data kontrol. Penelitian ini menghasilkan satu set rutin software protokol sistem komunikasi serial antar microcontroller yang berbasis komunikasi serial RS485 . dengan agar terwujud desentralisasi tugas sehingga overload pada prosesor dapat dihindari dan aktuator pada sisi master menjadi lebih handal. III. DASAR TEORI 1.1. Komunikasi Serial Multipoin RS-485 II. TUJUAN PENELITIAN Komunikasi secara serial (serial communications) merupakan cara menghantar data yang lebih mudah dibandingkan komunikasi paralel (parallel communications) disebabkan sistem komunikasi paralel terlalu mahal untuk kegunaan jarak jauh. Data yang bernilai 8 bit di simpan di shift register dan dikirim secara satu bit demi satu bit ke tujuannya. Biasanya shift register tersebut berbentuk sebuah IC yang digunakan khas untuk komunikasi serial yang disebut UART(Universal Asynchronous Receiver Transmitter). Mode Komunikasi serial yang bisa dilaksanakan seperti simplex, half duplex, dan full duplex. Salah satu standart komunikasi serial yang dipakai adalah teknik RS485, teknik ini adalah teknik komunikasi data serial yang dapat dilakukan pada jarak yang cukup jauh yaitu 1,2 Km. Selain dapat digunakan untuk jarak yang jauh teknik ini juga dapat digunakan untuk menghubungkan 32 unit beban sekaligus hanya dengan menggunakan dua buah kabel saja tanpa memerlukan referensi ground yang sama antara unit yang satu dengan unit lainnya [2]. Komunikasi Data Serial Asinkron Menggunakan Standart RS485 ini merupakan pengembangan dari komunikasi serial dengan standart RS232. Dimana pada komunikasi serial standart RS232, komunikasi yang bisa dilakukan adalah point to point dan jarak antara dua peralatan yang berkomunikasi juga terbatas yaitu maximum 15 meter [4]. Melihat keterbatasan inilah dikembangkan dengan menggunakan standart RS485. Seperti ulasan diatas komunikasi dengan teknik RS485 bisa secara multipoint atau banyak item yang bisa kita hubungkan untuk berkomunikasi . Item yang bisa terhubung kedalam jaringan ini adalah maksimum 32 buah item dan memiliki jarak maksimum komunikasi yang lebih jauh sekitar 1.2 Km [2]. Penelitian ini bertujuan untuk merancang suatu sistem kontrol crane barang yang menerapkan sistem multiprosesor dan komunikasi serial multipoint RS-485 Texas Instrument membuat IC yang dirancang khusus untuk memenuhi ketentuan RS485, IC tersebut Kata Kunci— multipoint serial communication, ATMEGA8535, microcontroller, RS-485. I. PENDAHULUAN Dewasa ini perkembangan gedung bertingkat dan gudang dikota besar semakin pesat, ditandai dengan banyaknya pembangunan dan semakin padatnya area pemukiman. Pada gedung bertingkat yang berfungsi ganda sebagai gudang diperlukan crane barang untuk mengangkut barang keluar masuk. Kontrol Crane barang pada gedung multi lantai awalnya dibuat dengan menggunakan kontrol PLC(Programmable Logic Controller). Perkembangan selanjutnya digunakan sistem embedded mikrokontroller dengan pertimbangan kesamaan fungsi dan penggunaan biaya yang lebih murah, namun dalam sistem yang kedua ini masih ditemui beberapa kendala di lapangan seperti kerumitan instalasi kabel, kendala saat terjadi kerusakan atau troubleshooting dan saat maintenance. Masalah lainnya adalah karena semua tugas dipusatkan dalam satu prosesor saja sehingga kadangkala terjadi overload sehingga salah satu fungsi tidak berjalan sesuai rancangan. EECCIS2010 dinamakan sebagai SN75176 Multipoint RS485 Tranceiver. IC ini yang sangat terkenal dan banyak pabrik IC lainnya memproduksi IC sejenis dengan seri nomor yang sama. Di dalam SN75176 terdapat sebuah Line Generator dan sebuah Line Receiver yang dirangkai seperti ditunjukkan dalam Gambar 1. Output dari Line Generator bisa di-ambang-kan (high impedance state) dengan memberi ‘0’ pada input GE, kemampuan ini dimaksud untuk menunjang keperluan dalam membentuk rangkaian saluran komunikasi multidrop yang menghendaki pada saluran hanya boleh satu Line Generator saja yang aktif.[3] AVR. Microcontroller AVR memiliki arsitektur RISC (Reduced Instruction Set Computing) 8 bit. Dimana semua instruksi dikemas dalam kode 16-bit (16-bit word) dan sebagian besar instruksi dieksekusi dalam 1 (satu) siklus clock, berbeda dengan instruksi MCS51 yang membutuhkan 12 siklus clock. AVR berteknologi RISC, sedangkan seri MCS51 berteknologi CISC (Complex Instruction Set Computing). Secara umum, AVR dapat dikelompokkan menjadi empat kelas, yaitu keluarga ATTiny, keluarga AT90Sxx, keluarga ATMEGA, dan AT86RFxx. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral, dan fungsinya. Dilihat dari segi arsitektur dan instruksi yang digunakan, mereka bisa dikatakan hampir sama. Dalam penelitian ini, dipergunakan salah satu AVR produk Atmel, yaitu ATMEGA8535L yang memiliki fasilitas lengkap dan didukung oleh software CodeVision_AVR_1.24.0 sebagai simulasi dan compiler. ATMEGA8535L memiliki konfigurasi pin seperti ditunjukkan dalam Gambar 3. [1] Gambar 1. IC SN75176 Saluran komunikasi multi-poin adalah sepasang kabel yang panjangnya tidak lebih dari 4000 feet, pada kedua ujung saluran masing-masing dipasang resistor 120 Ohm yang menghubungkan kedua kabel, seperti terlihat di rangkaian Gambar 2. Resistor tersebut dimaksud untuk mengurangi terjadinya gelombang pantul dalam saluran, yang sering terjadi pada transmisi dengan kecepatan tinggi. Selanjutnya pada saluran tersebut bisa dipasangkan sebanyak-banyaknya 32 chip SN75176 Multi-drop RS485 Tranceiver, kaki A (kaki nomor 6) dari masing-masing IC harus dihubungkan pada seutas kabel pembentuk saluran yang sama, dan kaki B (kaki nomor 7) dihubungkan ke kabel yang lain. Karena saluran dipakai bersama oleh banyak transceiver, agar output Line Generator dari masingmasing transceiver tidak berbenturan, dalam rangkaian saluran komunikasi multidrop ditentukan semua output Line Generator harus dalam keadaan non-aktif (GE=0, meng-ambang – high impedance state), kecuali Line Generator dari transceiver yang berfungsi sebagai induk (Master) yang boleh aktif (GE=1) [3]. Gambar 2. Saluran Komunikasi Multipoin 2.1. Mikrokontroller ATMEGA8535L Perangkat kontrol merupakan komponen yang paling penting dalam sistem dimana semua pengendalian proses, pengolahan data dan pengaturan dipusatkan. Salah satu perangkat yang dapat digunakan sebagai perangkat kontrol adalah Microcontroller Gambar 3. Konfigurasi pin ATMEGA8535L Sumber: ATMEL,2006 Konfigurasi pin ATMEGA8535L dalam Gambar 3 dapat dijelaskan secara fungsional sebagai berikut: 1) VCC merupakan pin yang berfungsi sebagai pin masukan catu daya. 2) GND merupakan pin ground. 3) Port A (PA0..PA7) merupakan pin I/O dua arah dan 8 pin masukan ADC(Analog to Digital Converter). 4) Port B (PB0..PB7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu ISP, Timer/Counter, komparator analog, dan interrupt. 5) Port C (PC0..PC7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu JTAG, PCINT. 6) Port D (PD0..PD7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu Timer/Counter, interupsi eksternal, dan komunikasi serial. 7) RESET merupakan pin yang digunakan untuk me-reset mikrokontroller. 8) XTAL1 dan XTAL2 merupakan pin masukan clock eksternal. 9) AVCC merupakan pin catudaya untuk internal ADC(Analog to Digital Converter). EECCIS2010 10) AREF merupakan pin tegangan referensi untuk internal ADC(Analog to Digital Converter). gerak motor AC. Blok Diagram dari Crane Control ditunjukkan dalam Gambar 6. IV. PERANCANGAN 4.1. Perancangan Hardware Hardware dalam penelitian ini terdiri dari 2 bagian yaitu Panel Display dan Master Kontrol. Panel berjumlah 4 buah dan masing-masing dipasang di tiaptiap lantai, sedangkan Master Kontrol berada di lantai teratas, berdekatan dengan motor penggerak crane. Pada panel dilengkapi dengan display dot matriks dan tombol-tombol kontrol (lantai tujuan dan tombol STOP). Ilustrasi bentuk panel ditunjukkan dalam Gambar 4. Gambar 4. Bentuk Panel Display Gambar 6. Blok Diagram Master Kontrol 4.2. Perancangan Software Pada komunikasi RS485, semua modul berada pada posisi penerima hingga salah satu memerlukan untuk mengirimkan data, maka peralatan tersebut akan berpindah ke mode pengirim, mengirimkan data dan kembali ke mode penerima. Setiap kali peralatan modul tersebut hendak mengirimkan data, maka terlebih dahulu harus diperiksa, apakah jalur yang akan digunakan sebagai media pengiriman data tersebut tidak sibuk. Apabila jalur masih sibuk, maka peralatan tersebut harus menunggu hingga jalur sepi. Hal ini seperti yang ditunjukkan flowchart pada Gambar 7. 4.1.1. Panel Display Pada bagian ini tersusun dari tombol-tombol yang digunakan untuk menentukan lantai tujuan dan tombol stop, display dot matriks, mikrokontroller dan bagian komunikasi data serial. Modul panel tiap lantai memiliki ID yang berbeda-beda untuk membedakan data yang nantinya akan diterima oleh master. Pengiriman data yang berupa informasi tujuan crane dan posisi limit switch yang aktif dikirimkan ke master dengan komunikasi data serial RS485. Blok diagram hardware dari panel ditunjukkan dalam Gambar 5. Gambar 5. Blok Diagram Panel Display 4.1.2. Master Kontrol Bagian ini berfungsi sebagai kontrol utama dari semua tugas yang ada dalam sistem pengendali crane barang, meliputi menerima data posisi dan tujuan dari panel, mengirim data mengenai kondisi crane yang akan ditampilkan di panel tiap-tiap lantai dan mengontrol Gambar 7. Flowchart Pengiriman Data Pada dasarnya cara kerja dari sistem kontrol crane ini adalah ketika salah satu tombol dari panel ditekan maka modul panel akan mengirim data tombol tersebut ke master kontrol dengan kode yang telah ditentukan, kode dari tiap lantai bersifat unik dan ini dimanfaatkan untuk membedakan tombol dari lantai manakah yang ditekan. Selanjutnya dalam master kontrol akan di olah data tombol tersebut dengan cara membandingkannya dengan data limit switch posisi crane. Bila data tombol (dalam hal ini disebut tujuan) lebih besar daripada posisi limit switch maka crane control memberi perintah ke motor untuk naik, begitupula sebaliknya. Bila data tujuan sama dengan limit switch posisi lantai maka gerak motor dihentikan, ini artinya crane telah tiba di lantai yang dikehendaki. Flowchart dari program Master Kontrol ditunjukkan dalam Gambar 8. EECCIS2010 V. IMPLEMENTASI Implementasi dari Sistem Kontrol Crane barang multi lantai ini diwujudkan dengan merangkai 4 buah modul panel display dan satu buah Master Kontrol dengan kabel twisted pair sebagai saluran komunikasi data serial RS485 seperti ditunjukkan dalam Gambar 10. Modul-modul tersebut dirangkai sedemikian rupa sehingga membentuk komunikasi data multipoint. Gambar 8. Flowchart Master Kontrol Pada bagian modul panel display bertugas menampilkan kondisi pergerakan dan posisi crane secara sequensial. Selain itu juga bertugas mengirimkan data tombol dan kondisi limit switch. Saat salah satu tombol ditekan atau kontak limit switch posisi lantai tertutup maka sub program akan mengirimkan kode tombol atau limit switch ke Master Kontrol. Sesaat setelah data tersebut diolah dalam Master Kontrol maka akan dikirimkan respon balik berupa data tujuan dan posisi lantai terbaru yang dikirimkan ke semua panel display . Selama motor penggerak crane dalam proses naik atau turun, semua tombol dalam panel di latch sehingga tidak ada tombol yang dapat ditekan, kecuali bila tombol STOP diaktifkan. Flowchart dari program yang beroperasi dalam Panel Display ditunjukkan dalam Gambar 9. Gambar 10. Implementasi sistem kontrol crane barang. Sistem kontrol crane barang pertama kali dinyalakan akan melakukan inisialisasi terlebih dahulu dengan cara menempatkan crane di lantai terbawah, lalu menunggu sampai ada salah satu tombol panel ditekan. Ketika sebuah tombol ditekan atau saat limit switch berubah kondisi dari open menjadi close maka data dari panel dikirimkan ke master, berikutnya dalam Master Kontrol akan diolah . Komunikasi antar modul ini bersifat half duplex dan semuanya diatur secara program di kedua bagian modul. Potongan Listing program pengiriman dan penerimaan data di bagian Panel Display dan Master Kontrol dijelaskan berikut ini. 5.1. Program pengiriman data dari Panel Display ke Master Kontrol. Gambar 9. Flowchart Panel Display Pengecekan tombol dilakukan disela-sela program menampilkan display dalam dot matriks, data tombol akan dikirim sesaat setelah tombol dilepas. Berikut ini adalah potongan program pengiriman data tombol dan limit switch dari Panel Display ke Master Kontrol. EECCIS2010 void cek_tombol() { if (tombol_1==0) { while(tombol_1==0){} // TOMBOL 1 delay_ms(35); tx_en=on; putchar(0xD1); delay_ms(15); tx_en=off; } else if (tombol_2==0) { while(tombol_2==0){} // TOMBOL 2 delay_ms(35); tx_en=on; putchar(0xD2); delay_ms(15); tx_en=off; } . . else if (tombol_5==0) { while(tombol_5==0){} // TOMBOL 5 delay_ms(35); tx_en=on; putchar(0xD5); delay_ms(15); tx_en=off; } } void cek_LS() { if (LS_SKRG==0) { while(LS_SKRG==0) {} delay_ms(35); tx_en=on; putchar(0x0A0); // LIMIT SWITCH GND delay_ms(15); tx_en=off; } //putchar(0x0A0); utk lt gnd //putchar(0x0A1); utk lt1 //putchar(0x0A2); utk lt2 //putchar(0x0A3); utk lt3 } 5.2. Program penerimaan data dan proses decision pada Master Kontrol Penerimaan data dari slave atau dari modul Panel Display ke Master Kontrol terjadi saat interrupt serial aktif, ini ditandai dengan adanya perubahan status UCSRA. Data ditampung dalam register UDR (USART Data Register) interrupt [USART_RXC] void usart_rx_isr(void) { char status,data; status=UCSRA; data=UDR; if (UDR!=0x00 { terima_data=data; if (terima_data == 0xD0) {tujuan=0x00;} else if (terima_data == 0xD1) {tujuan=0x10;} . . . else if (terima_data == 0xD5) {tujuan=0x50;} else if (terima_data == 0xA0) {posisi_skrg=0x00;} // posisi CRANE skrg di lt G else if (terima_data == 0xA1) {posisi_skrg=0x10;} // posisi CRANE skrg di lt 1 . . . else if (terima_data == 0xA5) {posisi_skrg=0x90;} // posisi CRANE skrg di lt 5 else if(terima_data == 0xDA) {status_STOP=on;} else if(terima_data == 0xDB) {status_STOP=off;} // saklar stop ditekan // else if (terima_data == 0xAA) {posisi_skrg=0xA0;} // ini posisi lantai 2 delay_ms(100); if (status_STOP==on) { tx_en=on; putchar(0xA0); // kirim instruksi utk //menampilkan huruf S delay_ms(30); tx_en=off; motor_up=off; motor_down=off; delay_ms(100); } else if(status_STOP==off) { if (tujuan == posisi_skrg) { tx_en=on; putchar(posisi_skrg); delay_ms(30); tx_en=off; motor_up=off; motor_down=off; } else if (tujuan > posisi_skrg) { tx_en=on; putchar(posisi_skrg + 0x02); delay_ms(30); tx_en=off; motor_up=on; motor_down=off; } else if (tujuan < posisi_skrg) { tx_en=on; putchar(posisi_skrg + 0x01); delay_ms(30); EECCIS2010 tx_en=off; motor_up=off; motor_down=on; } } UDR=0x00; } [1] [2] an [3] [4] } [5] 5.3. HASIL DAN PEMBAHASAN Hasil akhir dari implementasi komunikasi serial ini adalah berupa modul-modul Panel Display dan Master Kontrol yang bisa dikomunikasikan secara multipoint satu dengan yang lainnya dengan menggunakan teknik RS485. Pada saat tidak ada lalulintas data semua modul diset dalam keadaan mode menerima data. Pada keadaan ini modul panel display mengeksekusi program tampilan sequensial dari data yang terakhir diterima dalam registernya. Jika ada perubahan pada tombol maupun limit switch maka modul Panel Display berubah ke mode mengirim dan Master Kontrol mode menerima. Bila data telah diterima dan diolah dalam Master Kontrol maka hasilnya dikirim kembali ke semua Panel Display untuk ditampilkan. Dengan sistematika ini maka terjadi pembagian tugas yaitu tiap modul display bertugas menampilkan data posisi dan arah gerakan crane sambil mengecek tombol sedangkan pada Master Kontrol mengendalikan actuator saja, adapun korelasi keduanya hanya komunikasi berupa pertukaran data saja. Dengan kata lain sistem ini menerapkan desentralisasi tugas dan penggunaan multiprosesor untuk mengurangi overload pada Master Kontrol. 5.4. KESIMPULAN Berdasarkan uraian dan pembahasan dapat diambil kesimpulan yaitu: 1. Komunikasi Multipoint RS 485 merupakan pengembangan dari komunikasi data serial RS232 yang hanya bisa point to point. 2. Desentralisasi tugas pada modul slave dapat mengurangi overload pada modul master sehingga aktuator lebih handal. 3. Dengan sistematika ini didapatkan keuntungan yaitu mengurangi jumlah kabel sehingga instalasi dan maintenance lebih mudah, serta dapat menekan biaya. PUSTAKA Atmel. Datasheet ATMEGA 8535L, www.datasheetcatalog.com, diakses 15 Juli 2006. Jan Axelson, Networks for Monitoring And Control Using RS485 Interface, Mikrocomputer Journal, August 1995 Texas Instrument, SN75176 Datasheet, www.datasheetcatalog.com, diakses 15 Oktober 2010. Interfacing the Serial/RS232 Port V5.0, www.senet.com.au/~cpeacock, diakses 7 Oktober 2010. Anonim, Interface ke Keyboard PC PS/2. www.mytutorialcafe.com. 2007. Diakses 18 Oktober 2007.