Aplikasi Sistem Komunikasi Serial Multipoint RS

advertisement
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.
Download