Perancangan Sistem Kendali Terdistribusi pdf

Perancangan Sistem Kendali Terdistribusi Berbasis Mikrokontroler dan Embedded Web Server (Iman
Firmansyah)
Akreditasi LIPI Nomor: 377/E/2013
Tanggal 16 April 2013

Perancangan Sistem Kendali Terdistribusi Berbasis Mikrokontroler dan
Embedded Web Server
IMAN FIRMANSYAH
Pusat Penelitian Fisika – LIPI, Komplek PUSPIPTEK Tangerang Selatan, Indonesia
E-mail: iman002@lipi.go.id
Diterima: 5 April 2013

Revisi: 1 Mei 2013

Disetujui: 15 Mei 2013

INTISARI: Pada tulisan ini dibahas mengenai perancangan sistem kendali terdistribusi yang dapat dikendalikan melalui
jaringan internet. Sistem ini terdiri dari sebuah unit utama dan beberapa unit distribusi yang terhubung dengan saluran
komunikasi serial RS-485. Pada perancangan ini, mikrokontroler RCM3000 yang sudah terintegrasi dengan 10Base-T
Ethernet berfungsi sebagai unit utama sedangkan mikrokontroler AT89S51 befungsi sebagai unit distribusi atau bisa juga
disebut sebagai slave. Sistem ini memungkinkan proses pengendalian melalui jaringan internet dikarenakan kemampuan

unit utama yang bisa berfungsi sebagai embedded web server. Tiap unit distribusi terdiri dari input DIP switch yang
berfungsi sebagai input alamat. Di samping itu, unit distribusi terdiri dari sebuah SSR (solid state relay) sehingga mampu
melakukan kendali dua keadaan atau on/off. Untuk melakukan proses pengendalian melalui jaringan internet, request
yang diterima unit utama melalui web browser akan mengakibatkan pemanggilan program aplikasi CGI (Common
Gateway Interface). Unit utama yang dalam hal ini berfungsi juga sebagai server, akan mengirimkan perintah ke semua
unit distribusi melalui saluran komunikasi serial RS-485. Tiap perintah merupakan bilangan desimal 8-bit yang terdiri
dari alamat unit distribusi atau slave ditambah tipe pengendalian (on atau off). Unit distribusi atau slave yang mempunyai
alamat yang sesuai dengan perintah akan merespon dengan mengaktifkan atau menonaktifkan relay. Sistem ini
mempunyai kemampuan untuk mengendalikan beberapa alat melalui jaringan internet, sehingga memungkinkan dalam
proses pengendalian secara jarak jauh.
KATA K UNCI: mikrokontroler RCM3000, embedded server, sitem kendali, RS-485
ABSTRACT: The paper discussed the distributed control system which can be controlled over internet network. The system
consisting of main unit and several distributed unit connected through RS-485 serial communication. RCM3000
microcontroller which is integrated with a 10Base-T Ethernet is a main unit, meanwhile AT89S51 microcontroller is used
as distributed unit or a slave. This system can be operated over the internet connection since the main unit is an
embedded web server as well. Each distributed unit consists of DIP switch as input for addressing. On top of that, each
distributed unit or slave has SSR (solid state relay) for on/off controlling. To perform the operation remotely via the
internet connection, the received request from web browser will activate the CGI (Common Gateway Interface)
applications. The main unit which serve as a web server server will send commands to all distributed units via RS-485
communication bus. Each command is 8-bit decimal number consisting of distributed unit addreess and the type of

control (on or off). The appropriate distributed unit or slave which has the same address with the command will respond
by activating or deactivating the relay. This system has the abbility to control several devices using internet connection,
making it possible to control devices remotely.
KEYWORDS: RCM3000 microcontroller, embedded server, control system, RS-485

1 PENDAHULUAN
Penggunaan mikrokontroler pada berbagai bidang aplikasi tidak hanya sebatas pada aplikasi embedded
system yang membutuhkan daya yang rendah serta ukuran yang relatif kecil, tapi bahkan juga dapat
diterapkan pada bidang kendali di industri. Mikrokontroler dapat diaplikasikan untuk mengganti beberapa
komponen kendali yang biasanya digunakan dalam aplikasi industri. Sebagai contohnya yaitu PLC yang
sudah secara luas digunakan sebagai pengendali dalam berbagai aplikasi di bidang industri, untuk kasus
tertentu dapat juga diganti dengan menggunakan sebuah mikrokontroler [1]. Hal ini mempunyai keuntungan
seperti pengurangan biaya selama proses perancangan alat, juga memberikan keleluasaan dalam proses
perancangan sistem yang dikarenakan penggunaan bahasa tingkat tinggi (high level language) pada
pemograman mikrokontroler. Untuk sistem kendali yang terdiri dari beberapa alat yang letaknya berjauhan
satu sama lainnya, tiap-tiap mikrokontroler dapat berkomunikasi dalam proses pengiriman maupun
penerimaan data melalui beberapa jaringan seperti : RS-232, RS-485, TCP/IP, CAN dan sebagainya. Pada
tulisan ini, saluran komunikasi RS-485 dipilih sebagai jalur komunikasi antar mikrokontroler sehingga
tercipta suatu sistem kendali yang terdistribusi.
Untuk kasus tertentu dimana proses pengendalian perlu diintegrasikan dengan PC atau juga melalui

jaringan internet, maka diperlukan suatu interface yang mampu menghubungkan sistem tersebut ke jaringan
internet. Sebuah PC dapat digunakan sebagai server yang terhubung dengan beberapa mikrokontroler,
sehingga proses pengendalian dapat dilakukan melalui jarak jauh dengan menggunakan suatu aplikasi web
browser. Untuk menghemat daya yang diperlukan dan untuk mengurangi ukuran fisik, sebuah mikrokontroler

67

TELAAH Jurnal Ilmu Pengetahuan dan Teknologi

Volume 31 (1) 2013: 67-74
ISSN: 0125-9121

yang terintegrasi dengan ethernet difungsikan tidak hanya sebagai alternatif pengganti server tetapi juga
sebagai unit utama yang akan mengendalikan beberapa mikrokontroler yang saling terhubung secara
terdistribusi. Pada tulisan ini akan dibahas perancangan sistem kendali on/off terdistribusi yang terdiri dari
mikrokontroler RCM3000 yang berfungsi sebagai embedded web server atau unit utama dan beberapa
mikrokontroler yang berfungsi sebagai unit distribusi atau slave.
2. METODOLOGI PENELITIAN
Diagram blok sistem kendali terdistribusi diperlihatkan seperti pada Gambar.1. Secara garis besar,
sistem ini dikategorikan menjadi dua bagian utama yaitu [2] pertama Unit utama unit ini tidak hanya

berfungsi untuk mengatur kerja semua unit distribusi tetapi juga berfungsi sebagai embedded web server
yang akan menerima perintah atau request dari pengguna melalui halaman web dan mengeksekusi dengan
meneruskan perintah ke semua unit distribusi. Unit utama terdiri dari sebuah mikrokontroler RCM3000 yang
bekerja pada clock 30 MHz dan terintegrasi dengan 10Base-T Ethernet [3]. Selain itu, mikrokontroler ini
mempunyai 512K Flash untuk menyimpan kode program dan 512K SRAM. Untuk melakukan komunikasi
data dan interaksi dengan perangkat lainnya, komponen ini terdiri atas 52 digital I/O dan 6 port serial (IrDA,
HDLC, asynch, SPI). Dan yang kedua Unit distribusi atau bisa juga disebut sebagai slave, unit ini terdiri dari
beberapa mikrokontroler yang terhubung dengan saluran komunikasi serial RS-485 satu sama lain. Tiap unit
distribusi terdiri atas mikrokontroler AT89S51 yang bekerja pada clock 11.592 MHz, SN75176 sebagai
transeiver pada saluran komunikasi diferensial multipoint. Pada unit ini juga terdapat input DIP switch yang
berfungsi untuk memberi alamat ke tiap-tiap unit distribusi atau slave, sehingga tiap-tiap unit distribusi
mempunyai alamat yang berbeda. Alamat ini juga ditampilkan pada tampilan seven segment untuk
memudahkan dalam pengalamatan tiap unit distribusi.
Seperti uraian diatas, semua mikrokontroler saling terhubung dengan saluran komunikasi serial RS485 yang membentuk topologi master dan slave. Unit utama berfungsi untuk menerima request dari
pengguna melalui aplikasi web browser, akan mengirimkan perintah ke semua unit distribusi atau slave.
Tiap-tiap unit distribusi mempunyai alamat yang berbeda sehingga perintah yang dikirim oleh unit utama
hanya akan diproses oleh unit distribusi yang mempunyai alamat yang sesuai. Tiap perintah atau command
terdiri dari alamat yang dituju beserta kendali yang harus dilakukan oleh mikrokontroler apakah untuk
menyalakan relay atau mematikan relay.
Pada tulisan ini hanya difokuskan mengenai sistem kendali dua keadaan yaitu kendali on/off, dimana

sebelumnya sistem ini telah digunakan sebagai sistem kendali komputer cluster secara online. Komputer
cluster atau komputer parallel tersusun atas beberapa komputer yang terhubung melalui jaringan TCP/IP,
dimana tiap-tiap komputer atau biasa disebut sebagai node melakukan kalkulasi secara paralel. Sistem ini
digunakan untuk mengendalikan sumber tegangan AC ke tiap-tiap node dalam keadaan nyala atau mati.
Meskipun demikian, sistem ini dapat digunakan secara luas untuk berbagai aplikasi lainnya seperti pada
aplikasi sistem kendali lampu penerangan dan sistem kendali di industri yang berfungsi untuk menyalakan
atau mematikan mesin-mesin dari sumber tegangan AC.

Gambar 1. Diagram blok sistem kendali terdistribusi.

68

Perancangan Sistem Kendali Terdistribusi Berbasis Mikrokontroler dan Embedded Web Server (Iman
Firmansyah)

Untuk melakukan proses pengendalian melalui jaringan internet, maka unit utama yang berfungsi
juga sebagai web server harus mampu mengesekusi layanan program lainnya ketika user mengirim request.
Salah satu aplikasi yang biasa digunakan oleh server ketika akan memanggil suatu layanan program eksternal
yaitu program aplikasi CGI [3]. CGI atau Common Gateway Interface merupakan bagian aplikasi yang
terdapat dalam sebuah web server yang mampu berkomunikasi dengan program lain yang sedang berjalan

dalam server tersebut. Dengan kata lain, suatu aplikasi CGI mendefinisikan tentang protokol yang
memungkinkan pengguna untuk menunjuk sebuah tautan atau tombol dalam suatu halaman web untuk
meminta server mengeksekusi program tertentu. Sehingga dengan menggunakan aplikasi CGI, maka sebuah
server mampu memanggil layanan program lainnya.
Pada aplikasi ini, sebuah aplikasi CGI akan memanggil layanan subprogram komunikasi serial UART
yang terdapat dalam mikrokontroler RCM3000 ketika user menekan sebuah tombol pada halaman web.
Layanan program ini kemudian akan mengirim perintah kepada semua unit distribusi atau slave melalui port
serial yang sudah terhubung melalui saluran komunikasi RS-485. Dengan kata lain dapat disebutkan bahwa
sebuah server akan menerima request dari client melalui halaman web browser, memanggil program lain,
memproses data dan kemudian mengirim response kembali kepada client seperti terlihat pada Gambar 2
Aplikasi CGI ini bukan merupakan satu-satunya solusi dalam aplikasi perancangan web dinamis, salah satu
alternatif lainnya yaitu Java Servlet dalam pengembangan aplikasi web berbasis bahasa pemograman Java.
Pogram berikut merupakan potongan program dimana client meminta server untuk mengeksekusi program
CGI bernama send_serial.cgi yang berfungsi untuk mengirim data serial UART ketika tombol ditekan.



Bagian unit yang berhubungan langsung dengan objek yang akan dikendalikan yaitu beberapa unit
distribusi atau slave yang terhubung dengan saluran komunikasi serial RS-485. Pada dasarnya hampir semua
jenis mikrokontroler dapat digunakan dalam perancangan ini, akan tetapi dikarenakan pada aplikasi ini hanya

diperlukan feature standar berupa digital I/O dan tidak diperlukannya internal ADC untuk proses pengukuran
besaran analog, maka jenis mikrokontroler AT89S51 buatan Atmel dipilih sebagai unit distribusi. Tiap unit
distribusi terdiri dari input DIP switch yang berfungsi sebagai masukan untuk pengaturan alamat tiap-tiap
mikrokontroler sehingga setiap unit distribusi yang terhubung dengan saluran komunikasi RS-485
mempunyai alamat yang berbeda [4].

Gambar 2. Common Gateway Interface (CGI).

Gambar 3. Unit distribusi atau slave.

69

TELAAH Jurnal Ilmu Pengetahuan dan Teknologi

Volume 31 (1) 2013: 67-74
ISSN: 0125-9121

Pengalamatan tiap-tiap slave ini sangat penting dan mutlak mengingat terdapatnya beberapa unit
distribusi atau slave yang terhubung melalui saluran komunikasi RS-485 secara terdistribusi. Penggunaan
DIP switch juga mempunyai kelebihan dibandingkan dengan pengalamatan secara permanen melalui ROM

pada tiap mikrokontroler, sehingga proses pengalamatan tiap unit distribusi lebih fleksibel dan mudah.
Disamping kelebihan tersebut, setiap adanya perubahan pada input switch maka alamat tersebut secara
otomatis akan ditampilkan pada tampilan seven segment. Baik unit utama dan unit distribusi terintegrasi
dengan IC SN75176 sebagai RS-485 transceiver yang akan mengubah format data serial UART dari
mikrokontroler menjadi format data serial RS-485 dan sebaliknya. Skema rangkaian untuk unit distribusi atau
slave dapat dilihat pada Gambar 3, dimana rangkaian tersebut terhubung dengan solid state relay yang akan
mengendalikan tegangan AC yang mengalir melalui beban yang akan dikendalikan.
Prinsip kerja mikrokontroler AT89S51 pada tiap unit distribusi atau slave dapat dijelaskan dengan
menggunakan diagram keadaan seperti terlihat pada Gambar 4. Pada kondisi awal mikrokontroler akan
mengatur beberapa port yang berfungsi sebagai input maupun output seperti dalam hal pengaturan beberapa
register untuk interupsi serial dan pengaturan kecepatan baud rate port serial dengan nilai 9600 bps,
pengaturan PORT.1 sebagai input masukan dari DIP switch, pengaturan PORT.0 sebagai output untuk
tampilan seven segment, dan pengaturan salah satu pin dari PORT.2 sebagai output untuk mengendalikan
solid state relay. Kemudian sistem akan berada dalam keadaan standby atau idle, hal ini dilakukan untuk
menghemat sumber tegangan. Sistem sesekali akan membaca input alamat dari switch dan menampilkannya
pada tampilan seven segment sehingga dapat terlihat dengan jelas alamat dari tiap-tiap unit distribusi atau
slave.

Gambar 4. Diagram keadaan mikrokontroler.


Gambar 4 juga menjelaskan mengenai keadaan ketika unit utama atau server mengirim sebuah
perintah kepada semua unit distribusi. Ketika data diterima oleh unit distribusi melalui port serial, maka
terjadi interupsi serial yang akan membuat mikrokontroler pada unit distribusi akan beralih ke keadaan rutin
interupsi serial. Pada keadaan ini, perintah yang telah diterima melalui port serial UART akan diproses
dengan membagi data menjadi dua bagian. Bagian perintah atau command yang mempunyai nilai on (1) atau
off (0) disimpan pada bit ke-7, sedangkan data alamat untuk unit distribusi yang akan dituju dapat dibaca
pada bit ke-0 sampai bit ke-6 seperti terlihat pada Gambar 5. Dengan metode tersebut, maka jumlah
maksimum semua unit distribusi atau slave berjumlah 128 alamat yang berbeda.
Dikarenakan kesederhanaan sistem komunikasi, pada sistem ini tidak digunakan protokol komunikasi
yang mengatur pertukaran data yang lebih kompleks. Untuk aplikasi tertentu dimana diperlukannya proses
pertukaran dan komunikasi data dua arah antara unit utama dan unit distribusi, maka penggunaan protokol
tertentu dapat dipergunakan untuk mengefisienkan proses komunikasi data antara unit utama dan unit
distribusi. Akhirnya, apabila perintah atau command dari unit utama yang diterima oleh unit distribusi
tersebut mengandung data alamat yang sesuai dengan alamat unit distribusi tertentu, maka mikrokontroler
pada unit distribusi akan mengaktifkan solid state relay sesuai dengan data perintah, pada sistem ini nilai
logika (1) akan mengaktifkan SSR dan sebaliknya nilai logika (0) akan menonkatifkan SSR.

70

Perancangan Sistem Kendali Terdistribusi Berbasis Mikrokontroler dan Embedded Web Server (Iman

Firmansyah)

Gambar 5. Protokol komunikasi data.

3. HASIL DAN PEMBAHASAN
Prototipe rangkaian untuk tiap unit distribusi atau slave dapat dilihat pada Gambar 6. Seperti telah
dijelaskan sebelumnya bahwa tiap unit distribusi terdiri dari mikrokontroler AT89S51 yang terhubung
dengan saluran komunikasi serial RS-485 menggunakan IC SN75176.

Gambar 6. Prototipe rangkaian.

Untuk melakukan pengendalian melalui jaringan internet, user pertama-tama mengakses server
tersebut dengan menunjuk kepada IP address dari server tersebut. Gambar.6 memperlihatkan tampilan
antarmuka sistem kendali yang diakses menggunakan sebuah halaman web browser. Pada aplikasi ini, unit
utama yang berfungsi juga sebagai web server mempunyai IP address 10.10.6.100. Dengan menunjuk ke
alamat IP tersebut, maka akan dihasilkan tampilan utama berupa halaman web beserta gambar tombol switch
dan indikator led. Tombol tersebut berfungsi dalam proses pengendalian kontrol on/off untuk tiap unit
distribusi. Tiap tombol merujuk kepada satu unit distribusi atau slave yang dalam contoh ini merujuk kepada
slave ke-1 sampai dengan slave ke-4, indikator LED akan menyala yang menandakan bahwa slave tersebut
berada dalam posisi ON dan begitu juga sebaliknya [5].


Gambar 7. Tampilan antarmuka pengendalian melalui web browser.

71

TELAAH Jurnal Ilmu Pengetahuan dan Teknologi

Volume 31 (1) 2013: 67-74
ISSN: 0125-9121

Dengan menekan salah satu tombol switch pada halaman web browser, maka proses selanjutnya yaitu
server akan memanggil layanan CGI yang kemudian akan mengirim data serial UART melalui saluran
komunikasi RS-485. Data input dan output keadaan pada sistem terdistribusi dapat dilihat pada Tabel.1. Data
serial UART yang dikirim oleh unit utama dapat dilihat pada Gambar.8, data tersebut sebagai contoh ketika
tombol switch 2 berada pada posisi off. Unit utama akan mengirim data serial kepada semua unit distribusi
atau slave seperti yang tercantum pada Tabel.1, data serial yang dikirim bernilai desimal 2 atau 00000010
dalam format data biner [6].
Tabel 1. Input dan output data pada sistem terdistribusi.
Input
On
Switch 1

Off
Switch 1

Switch 2
Switch 2
Switch 3
Switch 3
Switch 4
Switch 4

Data Serial Terkirim
biner
desimal
10000001
129
1
1
10000010
130

Slave 1 = on
Slave 1 = off
Slave 2 = on

10
10000011
11
10000100
100

Slave 2 = off
Slave 3 = on
Slave 3 = off
Slave 4 = on
Slave 4 = off

2
131
3
132
4

Output

Gambar 8. Format data serial UART.

4. KESIMPULAN DAN SARAN
4.1 KESIMPULAN
Telah dikembangkan prototipe sistem kendali terdistribusi yang terdiri dari satu unit utama dan empat
buah unit distribusi atau slave beserta antarmuka sistem kendali berbasis web menggunakan aplikasi CGI.
Sistem ini terhubung dengan web server sehingga user atau client dapat melakukan sistem kendali melalui
halaman web browser. Kelebihan lainnya yaitu dimungkinkannya proses pengendalian secara jarak jauh
selama sistem masih terhubung dengan jaringan internet. Sistem ini hanya dapat melakukan proses kendali
on/off tetapi dapat dikembangkan lebih lanjut untuk aplikasi yang tidak hanya untuk melakukan pengendalian
tetapi juga pembacaan dan pengolahan data menggunakan berbagai sensor.
4.2 SARAN
Untuk aplikasi dimana diperlukan pembacaan dan analisis data dari besaran analog, maka
mikokontroler AVR dapat digunakan sebagai alternatif lain dikarenakan mikrokontroler tersebut sudah
terintegrasi dengan 8 channel internal ADC 10-bit, PWM dan beberapa feature internal lainnya.

72

Perancangan Sistem Kendali Terdistribusi Berbasis Mikrokontroler dan Embedded Web Server (Iman
Firmansyah)

UCAPAN TERIMA KASIH
Penulis mengucapkan terima kasih kepada Lembaga Ilmu Pengetahuan Indonesia (LIPI) atas
dukungan dan pembiayaan selama proses penelitian di Pusat Penelitian Fisika. Selain itu juga, dalam
kesempatan ini penulis mengucapkan rasa terima kasih yang sebesar-besarnya atas diskusi kepada Bapak
Dr. L.T.Handoko, Bapak Dr. Bambang Prihandoko dan Bapak Dr. Agus Sukarto.

DAFTAR PUSTAKA
[1] K.B. Lee, R.D. Schneeman, Distributed Measurement and Control Based on the IEEE 1451 Smart
Transducer Interface Standards, IEEE Trans. Instrum. Meas., 49 (3) (2000), pp. 621–627.
[2] Miodrag Bolic, Vujo Drndarevic, Branco Samardzic, Distributed Measurement and Control System
Based on Microcontrollers with Automatic Program Generation, Journal of Sensors and Actuators A 90
(2001) 215 – 221.
[3] Jan Axelson, Embedded Ethernet and Internet Complete – Designing and Programming Small Devices
for Networking, Published by Lakeview Research LLC, 2003.
[4] R. Bayindir, H. Ates, Low-Cost and High Sensitively Microcontroller Based Control Unit for a Friction
Welding Machine, Journal of Materials Processing Technology 189 (2007) 126–131.
[5] Wei-Fu Chang, Yu-Chi Wu, Chui-Wen Chiu, Development of a Web-Based Remote Load Supervision
and Control System, International Journal of Electrical Power & Energy Systems Volume 28, Issue 6,
July 2006, Pages 401–407.
[6] Mhd. Farukh Hashmi et al, An Effective Implementation of Embedded Rabbit Web Server with HTTP
Protocol, IJCST Vol. 2, Issue 2, June 2011
[7] Rabbit Core RCM3000 series datasheet, www.digi.com

73