Rancang Bangun Master Slave Modbus Berbasis Mikrokontroler Untuk
Mengendalikan Beberapa Subsistem
Dr. Ir. Arman D. Diponegoro1, Ahmad Fahmi Arief2
Departemen Teknik Elektro, Universitas Indonesia, Depok 16424 Tel: (021) 78888805. Fax: (021) 78885656
Email: [email protected] , [email protected]
Abtrak
Sebuah sistem kompleks membutuhkan lebih dari satu buah sistem untuk mengkontrol keseluruhan sistem tersebut dikarenakan faktor keterbatasan jumlah output yang dapat dikontrol satu sistem itu sendiri, maupun dibutuhkan nya kemampuan mengendalikan banyak output di lokasi yang berbeda. Ini dapat diatasi sebuah sistem yang disebut modbus. Modbus merupakan sebuah sistem yang memiliki sebuah master dengan beberapa slave yang bekerja berdasarkan instruksi yang diberikan oleh master. Pada skripsi ini dibuat sebuah rancang bangun master slave modbus berbasis mikrokontroler untuk mengendalikan beberapa subsistem dalam skala mikro, yaitu dengan satu buah master dengan tiga buah slave. Master slave ini berbasiskan mikrokontroler Atmega8535 dengan sebuah bus menggunakan komunikasi TWI dan antarmuka menggunakan perangkat lunak Visual Basic sebagai antarmuka untuk user memberikan instruksi ke sistem menggunakan komunikasi USART. Selain itu dalam rancang bangun dilakukan pengujian untuk menganalisa pengaruh dari jarak antara master slave dengan beberapa variasi panjang jalur bus.
Design of Master Slave Modbus Microcontroller-Based For Controlling Multiple Subsystems
Abstract
A complex system requires more than a single system to control the entire system due to factors the limited number output that can be controlled of the system itself, although his ability to control multiple outputs in different locations. It can overcome a system called modbus. Modbus is a system that has a master with several slaves who worked on the instructions given by the master. In this paper made a design based modbus master slave microcontroller to control multiple subsystems in micro scale, ie with a single master with three slaves. Master Slave is based microcontroller ATmega8535 with a bus using TWI communication and interface using Visual Basic as a software interface for the user to give instructions to the system using the USART communication. Also in design testing to analyze the influence of the distance between the master slave with some variation in the length of bus lines.
1. Pendahuluan
Sistem modbus diaplikasikan untuk mengontrol output yang tidak dapat ditangani oleh satu buah sistem saja maupun untuk kemampuan mengontrol beberapa sistem output yang berada di lokasi berbeda. Pada rancang bangun sistem ini sistem modbus dibuat berbasiskan mikrokontroler pada master dan slave, dan Visual Basic untuk antarmuka pengendali. Pada sistem ini dibuat dengan skala mikro saja, dengan satu master dan tiga slave untuk model dari sistem yang sebenarnya dapat dibuat dalam skala makro.
Sebelumnya sistem master slave ini sudah dikembangkan sebelumnya yang menjadikan sistem modbus untuk fungsi yang sama yaitu mengendalikan beberapa subsistem. Namun sistem tersebut berbasiskan mikrokontroler AT89S51 sementara pada sistem yang dibuat pada skripsi ini berbasiskan mikrokontroler Atmega8535. Perbedaannya terletak pada kemudahan dari segi bahasa program serta bus yang digunakan. Dimana sebelumnya bahasa program menggunakan assembler yang sulit sementara sistem pada skripsi ini sudah menggunakan bahasa C yang lebih mudah. Selain itu bus pada sistem sebelumnya menggunakan USART (Universal Synchronous Asynchronous Serial Receiver and Transmitter) sekaligus menjadi komunikasi dengan antarmuka yang tentunya akan riskan terhadap error data pada prosesnya, dikarenakan kedua proses antara antarmuka dengan master dan master dengan slave menggunakan jalur yang sama. Sementara pada sistem yang dibuat ini menggunakan dua jalur yang berbeda, pada antarmuka dengan master menggunakan komunikasi USART serta pada master slave menggunakan komunikasi TWI (Two-Wire Serial Interface) dengan dua buah jalur (SDA dan SCL). Kelebihan nya ialah, berbedanya jalur membuat kemungkinan eror karena jalur yang sama digunakan untuk dua fungsi berbeda tidak akan terjadi sehingga kehandalan sistem bisa terjaga
Rancang bangun sistem ini sangat bermanfaat untuk menciptakan sebuah sistem modbus degan teknologi yang berbeda, yang lebih umum dipasaran. Sehingga akan sangat mudah diaplikasikan terlebih oleh para mahasiswa. Selain itu rancang bangun ini akan memberikan penjelasan lebih mengenai komunikasi USART maupun TWI baik secara teori maupun pengggunaan komunikasi tersebut. Dengan dikembangkan nya sistem modbus ini diharapkan akan membantu menyelesaikan masalah umum sebuah sistem yang membutuhkan pengendalian output yang melebihi kemampuan satu buah sistem mikrokontroler dan kemampuan untuk menjalankan beberapa subsistem dengan satu buah sistem pengendali.
Pembuatan sistem ini memiliki beberapa tujuan, sebagai berikut:
1. Merancang dan membangun sebuah sistem yang dapat mengendalikan banyak sub sistem.
2. Memberikan solusi dari masalah umum sebuah sistem yang terkendala jumlah output maupun kemampuan menjalankan beberapa subsistem secara bersamaan dan dikendalikan oleh sebuah sistem.
2. Tinjauan Teoritis
Sistem master slave yang dibangun tersusun atas 1 master dan 3 slave yang membentuk sebuah jaringan bus, serta HMI (Human Machine Interface) sebagai antarmuka dalam proses monitoring dan pengendalian. Dalam jaringan bus ini digunakan dua jalur kabel (SDA dan SCL) sebagai komunikasi dengan menggunakan fungsi TWI (Two-Wire Serial Interface) seperti terlihat pada Gambar 1.
Gambar 1 Konfigurasi sistem master slave
Komunikasi sistem modbus seperti ini selalu diawali dengan query dari master, dan slave memberikan respon dengan mengirimkan data atau melakukan aksi sesuai perintah dari master. Master hanya melakukan satu komunikasi dalam satu waktu. Slave hanya akan melakukan komunikasi jika ada perintah (query) dari master dan tidak bisa melakukan komunikasi dengan slave yang lain.
Two Wire Serial Interface (TWI)
TWI atau secara umum dapat disebut I2C (Inter- Integrated Circuit), adalah protokol yang memperbolehkan system designer untuk menghubungkan hingga 128 devices berbeda menggunakan hanya TWI bi-directional bus lines, satu untuk clock (SCL) dan satu lagi untuk data (SDA). Satu-satunya external hardware yang dibutuhkan untuk mengimplementasi bus-nya adalah sebuah pull-up resistor untuk setiap jalur bus TWI. Semua device yang terhubung ke bus memiliki alamatnya sendiri, dan mekanisme untuk memecahkan permasalahan bus terdapat pada protokol TWI. Jenis komunikasi yang dilakukan antar peralatan dengan menggunakan protokol TWI mempunyai sifat serial synchronous half duplex bi-directional, dimana data yang ditransmisikan dan diterima hanya melalui satu jalur data SDA line (bersifat serial), setiap penggunaan jalur data bergantian antar perangkat (bersifat half duplex) dan data dapat ditransmisikan dari dan ke sebuah perangkat (bersifat bi-directional). Interkoneksi TWI dapat dilihat pada Gambar 2.
Gambar 2. TWI Bus Interconnection
Komunikasi USART
Universal Synchronous Asynchronous Serial Receiver and Transmitter (USART) merupakan protokol komunikasi serial yang terdapat pada mikrokontroler AVR. Serial USART biasa digunakan untuk membuat mikrokontroler dapat berhubungan dengan perangkat luar lainnya. Fasilitas USART dapat dimanfaatkan untuk menghubungkan mikrokontroler dengan perangkat PC.
Komunikasi serial adalah komunikasi yang tiap-tiap bit data dikirim secara berurutan dimulai dari LSB (Least Significant Bit) dan bertahap sampai MSB (Most Significant Byte) dalam satu waktu, seperti terlihat pada Gambar 3.
Gambar 3. Frame Format USART Penjelasan Frame Format :
1. St : Start bit, selalu low (0). 2. (n) : Data bits (0 to 8).
3. P : Parity bit, odd / even 4. Sp : Stop bit, selalu high (1)
5. IDLE : Tidak ada transfer komunikasi (RxD or TxD). IDLE selalu high. IC MAX232
IC MAX232 memiliki 16 kaki dengan supply tegangan 5 Volt. IC MAX232 berfungsi sebagai pengubah level tegangan pada konektor RS232 menjadi level TTL. Jika peralatan yang digunakan menggunakan logika TTL maka sinyal port serial harus dikonversikan terlebih dahulu ke pulsa TTL sebelum digunakan begitu pula sebaliknya. Converter yang paling mudah digunakan adalah MAX232. Di dalam IC ini terdapat charge pump yang akan membangkitkan tegangan +10 Volt dan – 10 Volt dari sumber +5 Volt tunggal. Arsitektur dari MAX232 ini dapat dilihat pada Gambar 4.
3. Metode Rancang Bangun
Dalam perancangan ini dilakukan beberapa metode, yaitu dengan studi literatur, berlanjut ke pengumpulan informasi, berlanjut ke perancangan serta pembuatan sistem, kemudian dilakukan pengujian dan terakhir adalah analisis. Diagram alir dari metode perancangan yang dilakukan dalam skripsi ini adalah seperti pada Gambar 5.
Gambar 5. Diagram alir metode perancangan 4. Desain Rancang Bangun
Desain Human Interface Sistem Master Slave
Dalam sistem master slave modbus ini diperlukan sebuah human interface sebagai pengendali untuk sebuah line yang terdiri dari beberapa slave menggunakan sebuah perangkat lunak Visual Basic. Desain human interface pada sistem ini dapat dilihat pada Gambar 6.
Pada desain terlihat sebuah sistem yang terdiri dari 1 master dan 3 buah slave dengan 3 alamat berbeda yang memiliki output berupa lcd dan motor. Pada desain juga terdapat control slave pada sisi kanan atas yang menjadi pengendali dari sistem master slave modbus.
Dalam perancangan nya sebagai antarmuka, diperlukan sebuag fungsi dari perangkat lunak tersebut agar dapat terhubung dengan master. Fungsi tersebut ialah MSComm, yang terlihat pada sisi kiri atas pada Gambar 6. Selain itu pada Mscomm ada beberapa hal yang harus diperhatikan seperti pada Gambar 7.
Gambar 7. Konfigurasi MSComm
Pertama ialah CommPort yang disesuai kan pada COM yang terbaca pada device manager. Kedua ialah komunikasi yang digunakan dengan mikrokontroler meliputi Rthreshold untuk batas data yang diterima serta ketiga ialah Setting meliputi Baudrate, Parity, Data bits, Stop bits seperti pada Gambar 7.
Desain Sistem Mikrokontroler Master dan Slave
Desain sekamtik sistem master dan slave yang digunakan pada sistem terdapat pada Gambar 8.
Skematik ini dibuat menggunakan perangkat lunak Eagle (Easily Applicable Graphical Layout Editor) version 6.4. Pada skema terlihat sistem minimum untuk master slave berbasis Atmega8535 dan juga terdiri dari rangkaian RS232 menggunakan IC MAX232. Sementara untuk layout dan PCB dari skematik terlihat pada Gambar 9.
Gambar 9. Layout & PCB Master Slave Desain Board LCD
Dalam desain slave terdapat output display berupa LCD dimana membutuhkan PCB dasar sebagai penghubung LCD dengan pengatur contrast dan backlight serta penghubung dengan slave. Skematik desain board LCD ditunjukan pada Gambar 10.
Gambar 10. Skematik Board LCD
Sementara untuk layout dan bentuk dari board LCD seperti yang ditunjukan Gambar 11.
Gambar 11. Layout dan Bentuk Fisik Board LCD Konfigurasi Codevision AVR
Konfigurasi untuk dapat menggunakan beberapa fungsi CodeWizard yang dibutuhkan master terlihat pada Gambar 12 dan konfigurasi slave pada Gambar 13.
Gambar 13. Konfigurasi Codevision Slave Format Data
Dalam sistem ini terdapat aliran data dari antar muka VB ke master maupun dari master ke slave. Semua format data yang digunakan dalam sistem dapat dilihat pada Tabel 1.
Tabel 1. Format aliran data sistem
INSTRUKSI VB VB - MASTER MASTER - SLAVE (Hexa) (ASCII) (ALAMAT) (INSTRUKSI) Slave 1 - Servo 0⁰ 'A000' 0x50 0x00 Slave 1 - Servo 45⁰ 'A045' 0x50 0x01 Slave 1 - Servo 90⁰ 'A090' 0x50 0x02 Slave 1 - Servo 135⁰ 'A135' 0x50 0x03 Slave 1 - Servo 180⁰ 'A180' 0x50 0x04 Slave 2 - Servo 0⁰ 'B000' 0x51 0x00 Slave 2 - Servo 45⁰ 'B045' 0x51 0x01 Slave 2 - Servo 90⁰ 'B090' 0x51 0x02 Slave 2 - Servo 135⁰ 'B135' 0x51 0x03 Slave 2 - Servo 180⁰ 'B180' 0x51 0x04 Slave 3 - Servo 0⁰ 'C000' 0x52 0x00 Slave 3 - Servo 45⁰ 'C045' 0x52 0x01 Slave 3 - Servo 90⁰ 'C090' 0x52 0x02 Slave 3 - Servo 135⁰ 'C135' 0x52 0x03 Slave 3 - Servo 180⁰ 'C180' 0x52 0x04
Algoritma Alur Komunikasi
Algoritma adalah langkah-langkah pemecahan suatu masalah atau pekerjaan, yang dinyatakan secara sistematis, rinci, dan jelas, sehingga bila dilaksanakan pada kondisi awal tertentu, akan berakhir dalam selang waktu terbatas dan menghasilkan keluaran seperti yang diharapkan. Algoritma dari alur komunikasi dapat dilihat pada Gambar 14.
Gambar 14. Algoritma Alur Komunikasi
5. Hasil Rancang Bangun
Sistem master slave yang dibuat menggunakan antarmuka Visual Basic pada komputer yang terhubung ke master menggunakan sebuah perantara kabel USB ke DB9. Master terhubung ke tiga buah slave menggunakan wire sebanyak empat wire yaitu VCC, GND, SDA, SCL. Tampilan sistem master slave keseluruhan yang telah dibuat dapat dilihat pada Gambar 15.
Gambar 15. Sistem Master Slave Keseluruhan
Prinsip kerja dari sistem master slave ini ialah ketika tombol pada antarmuka ditekan dengan konfigurasi yang diinginkan maka antarmuka akan mengirimkan karakter ascii ke master dengan komunikasi USART, kemudian master akan memproses karakter tersebut dan mengirimkan alamat dan instruksi yang sesuai dengan perintah dengan format bit biner dengan komunikasi TWI.
Hasil Sinyal USART
Hasil sinyal USART yang dari antarmuka ke master dapat dilihat pada Gambar 16. Channel 1 meupakan sinyal Tx USART TTL sedangkan channel 2 merupakan sinyal Tx hasil dari MAX232.
Gambar 16. Sinyal Tx USART Hasil Sinyal TWI (I2C)
Hasil sinyal I2C yang dikirim dari master ke slave dan diterima diterima atau sesuai dengan alamat dari salah satu slave dapat dilihat pada Gambar 17.
Gambar 17. Pengelompokan Sinyal 12C Master Slave
Dari keseluruhan ujicoba yang dilakukan dapat terangkum pada Tabel 2. Dari hasil percobaan tersebut dapat dikatakan sesuai dengan yang diinginkan, dimana setiap instruksi dari antar muka VB diterima dan dilakukan sesuai oleh slave yang dituju.
Tabel 2. Hasil Ujicoba Keseluruhan
6. Pembahasan
Dari rancang bangun yang telah dibuat dan dilakukan ujicoba pada instruksi per slave terlihat semua instruksi dari antarmuka dapat dilakukan oleh slave yang dituju dan diabaikan oleh slave yang tidak dituju karena adanya address dari masing-masing slave yang menjadi pembeda. Ini menandakan jika sistem modbus yang dibuat telah bekerja sesuai yang diinginkan. Selain mengetahui sistem bekerja dengan baik, analisa dikembangkan kepada
pengaruh dari panjangnya wire bus yang menghubungkan master dan slave. Setelah dilakukan pengukuran waktu yang dibutuhkan dari instruksi antarmuka ke sebuah slave, dilakukan juga variasi panjang bus yang hasilnya dapat dilihat pada Gambar 18. Grafik tersebut merupakan hasil instruksi all yang berfungsi untuk menginstruksikan kesemua slave, sehingga grafik tersebut merupakan waktu keseluruhan yang dibutuhkan dari instruksi antarmuka hingga kesemua slave selesai menjalankan instruksi.
Gambar 18. Grafik perngaruh panjang jalur TWI
Dari Gambar 18 dapat dilihat untuk jarak 1 meter waktu eksekusi yang dibutuhkan adalah 2,2 detik. Kemudian untuk jarak 2 meter waktu yang dibutuhkan adalah 2,34 detik. Untuk jarak 3 meter dibutuhkan 2,42 detik, 4 meter dibutuhkan 2,65 detik dan jarak terjauh 5 meter dibutuhkan 2,81 detik. Pengukuran waktu menggunakan stopwatch, dimana pengambilan waktu dilakukan hingga lima kali dan diambil nilai rata-rata. Dari keseluruhan data tersebut dapat dilihat jika panjang dari bus dengan komunikasi TWI ini mempengaruhi waktu yang dibutuhkan untuk sebuah instruksi di eksekusi oleh slave. Ini disebabkan semakin jauh nya bus yang harus ditempuh sebuah data tentunya akan membutuhkan waktu lebih untuk data tersebut diterima oleh slave.
Selain itu waktu yang diperlukan tersebut mencapai skala detik lebih dikarenakan waktu tersebut dihitung dari selesainya sebuah slave mengerjakan instruksi ke output. Sementara output slave tersebut ialah motor servo yang dalam prinsip kerjanya membutuhkan interval logika low 20ms dan logika high yang menentukan sudut. Dan pemberian logika dilakukan setidaknya 5 kali untuk memastikan servo mencapai sudut yang diinginkan. Jadi penyumbang waktu eksekusi terbesar berasal dari motor servo sebagai output slave.
7. Kesimpulan
Dari rancang bangun sistem master slave berbasis mikrokontroler ini dapat disimpulkan: 1. Sistem rancang bangun master slave modbus berbasis mikrokontroler ini telah bekerja
sesuai dengan yang diinginkan, ini dibuktikan dari hasil ujicoba yang dilakukan dimana setiap instruksi yang dilakukan oleh antarmuka dijalankan hanya oleh slave yang dituju dan slave yang dituju tersebut mengeksekusi output seperti yang diinstruksikan oleh antarmuka.
2. Pada rancang bangun master slave modbus ini menggunakan komunikasi TWI pada bus yang terdiri dari dua line SDA SCL, dimana panjang dari wire tersebut mempengaruhi waktu yang dibutuhkan oleh sistem untuk mengeksekusi instruksi dari antarmuka hingga slave selesai menjalankan instruksi tersebut. Ini dapat dilihat dari grafik ujicoba variasi panjang wire.
3. Semakin panjang wire antara master dan slave membuat sebuah sinyal atau data yang ditransmisikan dari master harus menempuh jarak yang semakin jauh juga, yang akan membuat sebuah sinyal atau data tersebut membutuhkan waktu untuk diterima oleh slave. Inilah yang membuat semakin panjang wire dari master slave semakin lama.
4. Rancang bangun master slave ini hanya dalam skala mikro saja, namun rancang bangun ini merupakan model dari sistem yang dapat dibuat secara makro. Dengan hasil ujicoba dimana sebuah mikrokontroler dapat saling berkomunikasi ini akan membantu menyelesaikan masalah umum yang ada didunia embedded system perihal jumlah output yang tidak dapat diatasi oleh satu buah mikrokontroler saja, maupun kemampuan untuk menjalankan sebuah sistem yang dapat mengkontrol sistem output di beberapa lokasi yang berbeda.
8. Saran
Dari rancang bangun dan kesimpulan yang didapat, penulis dapat memberikan saran sebagai berikut:
1. Konsep modbus dengan menggunakan wire ternyata memiliki kekurangan dalam hal jarak antar sistem dan juga penggunaan wire untuk saling terhubung tentunya akan menjadi batasan tersendiri dalam peletakan sistem. Sehingga penulis mensarankan membuat konsep modbus menggunakan konsep wireless.
DAFTAR PUSTAKA
____Robert.L Boylestad, & Louis Nashelski, “Electronic Devices And Circuit Theory (10th
ed.)”, Pearson Education Inc, New Jersey, 2006.
____Muhammad Ali Mazidi, Janice.G, & Rolin.D Mckinlay, "The 8051 Microcontroller and
Embedded Systems Using Assembly and C (2nd ed.)”, Pearson Education Inc, New Jersey,
2006.
____Sismoro, Hari. “Pengantar Logika Informatika. Algoritma dan Pemrograman
Komputer”, ANDI OFFSET, Yogyakarta.
____Tiyono , Agus Sudjadi, “Sistem Telekontrol Sada dengan Fungsi Dasar menggunakan
Mikrokontrollei AT89S51 dan Komunikasi serial RS485”, Laboratorium Teknik Kontrol
Otomatik ,Jurusan Teknik Elektro Fakultas Teknik Universitas Diponegoro.
____Agus Tiyono, Sudjadi, Iwan Setiawan, “Sistem Telekontrol SCADA dengan Fungsi
Dasar Modbus Menggunakan Mikrokontroler AT89S51 dan Komunikasi Serial RS485”,