SEMINAR NASIONAL IISDM TEKNOLOGI NUKLIRYOGYAKARTA, 21-22 DESEMBER 2006ISSN 1978-0176
KOMUNIKASI PERANGKAT KERAS MENGGUNAKANPERANGKAT LUNAK MATLAB
SUKARMAN
Sekolah Tinggi Teknologi Nuklir - BATANJl. Babarsari KotakPos 6101 YKBB Yogyakarta 55281Telepon 0274-484085,489716, Faksimili 0274-489715
Abstrak
KOMUNIKASI PERANGKAT KERAS MENGGUNAKAN PERANGKAT LUNAK MATLAB. Telah
dilakukan komunikasi perangkat keras menggunakan mikrokontroler dengan perangkat lunak Matlab 6.x.Komunikasi ini terdiri dari PC/personal computer, modul mikrokontroler DT51, konektor serial danpenampil. Jalur komunikasi menggunakan komunikasi seriallRS232 antara PC dan perangkat keras,sedangkan untuk penampil/keluaran menggunakan Jalur paralellPIO yang dihubungkan dengan LED.Antarmuka/inteifacing ini diharapkan mempermudahlpengolahan data untuk keperluan komputasi yangberasal dari luar PC dengan perangkat lunak Matlab, bahkan untuk keperluan simulasi sistem kendalisangat cocok. Berdasarkan percobaan yang dilakukan perangkat lunak Matlab dapat mengambil data darimikrokontroler dan PC dapat mengirim data k~ perangkat keras modul DT51, dengan baudrate sebesar2400,4800,9600 Bps.
Kata-kata kunci : PIO, RS232, antarmuka
Abstract
THE HARDWARE COMMUNICATION USING MATLAB. The hardware communication usingmicrocontrol/er and Matlab versi 6.x has been done. This communication system consist of PC, DT51microcontrol/er modul, serial connector and display. The communication line uses serial (RS232) throughPC and the hardware. The display or the output uses paral/elline (PIO) which is connected by LED. Thisinterfacing system is expected to eliminate the difficulties of the data processing for the computation neededwhich comes from the outside of the PC by Matlab. Base on the experiment using Matlab which has beendone the system can take data from the microcontrol/er and the PC ca transmit the data to the DT51hardware modul with baudrate upto 19200 bps.
Keyword: PIO, RS232, Inteiface
PENDAHULUAN
Teknik antarmuka antara komputerdengan instrumen tidak akan terlepas dari peranperangkat lunak pada komputer untukmenerima dan mengirim data antar komputerdengan instrumen tersebut agar dapat terjadikomunikasi. Komunikasi yang sering dipakaiadalah komunikasi data serial dan data paralel.Metode komunikasi paralel tidak mengenalperubahan waktu dalam pengirimannya. Datayang yang dikirimkan sebanyak n-bit dilakukan
secara bersamaan. Pada komunikasi serial
pengiriman data dilakukan berdasarkan waktu,artinya pengiriman data n-bit dilakukan secarasekuansial per bit sehingga membentuk satudata yang berupa informasi.
Pada program Matlab terdapat fasilitaspemrograman untuk melakukan teknikantarmuka ini, diantaranya komunikasi GPIB,VISA standar, Serial dan Interfacing melaluimedia soundcard pada PC.[1] Oleh karena itupara pengguna perangkat lunak Matlab saat ini
Sukarman 373 Selwlah Tinggi Teknologi Nuklir - BATAN
sudah dapat melakukan akses langsung denganperangkat keras yang ada di luar komputer.
Tujuan akses ke perangkat keras di luarkomputer dimaksudkan untuk mengambil datadan mengirimkan data dari atau keluarkomputer menggunakan DT51. [5] Dalammakalah ini akan dibahas komunikasi serialstandar RS 232 antara komputer denganinstrumen (interfacing). Dengan demikiandiharapkan data-data yang berasal dari luar PCdapat diambil untuk diolah lebih lanjut denganperangkat lunak Matlab untuk keperluansimulasi, akuisisi data, pengendalian dansebagainya.
DASAR TEOR!
Sistem Instrumentasi Elektronika
lnstrumentasi elektronika merupakanperangkat elektronika yang digunakan untuktujuan tertentu seperti halnya pengukuran,pengendalian dan sebagainya. Sistem
SEMINARNASIONALIISDMTEKNOLOGINUKLIR
YOGYAKARTA,21-22DESEMBER2006ISSN 1978-0176
instrumentasi elektronika terbagi dalam duakelompok besar yaitu :
1 Sistem instrumentasi analog.2 Sistem instrumentasi digital.
Ditinjau dari cara kerja dan tujuannyasistem instrumentasi terbagi menjadi dua bagianyaitu :1 Sistem Pengukuran2 Sistem Kendali
Diagram blok dari sistem intrumentasiditunjukkan pada Gambar 1. secara umum blokdiagram sistem instrumentasi memilikikomponen sensor yang berfungsi sebagaipengubah besaran fisis menjadi besaran listrik,misalnya vet). pengkondisi sinyal (sinyalConditioning) untuk mendapatkan paket sinyalinformasi yang diharapkan, ADC (optional) danlayar tampilan untuk menginformasikan setiapperubahan yang terjadi/terdeteksi oleh sensor.jika sensor tersebut berupa sistem kontrol makaakan ada umpan balik dan perangkat pemberiaksi yang mengendalikan perubahan fisis diluar sistem.
SistemlPlantlProses
PengkondisiSinval
PengkondisiSinval
TransmisiData
Controller
TransmisiPerintah
Tujuan
GambaI'1.DiagramBlok SistemPengukurandanKontro1
Sistem Instrumentasi Analog.
Sistem instrumentasi analog disusun olehperangkat elektronik analog yang menghasilkantegangan sebagai sinyal-sinyal analog. sinyalanalog disebut sebagai sinyal waktu kontinuartinya sebagai sinyal untuk setiap nilai waktudan diambil pada nilai-nilai dalam selangkontinu (- - , - ). secara matematis sinyalwaktu kontinu dapat dituliskan sebagai berikut ;sinyal eksponensial = x(t) =e(-t), - - < t <sinyal sinusoidal x(t)=sin (n t), - - < t <-
Sistem Instrumentasi Digital
Sistem instrumentasi digital disusun olehperangkat elektronika digital yangmenghasilkan tegangan digital logika "1"dengan level 5 volt dan logika "0" dengan leveltegangan 0 volt. Sinyal digital ini dikatakansebagai sinyal waktu diskrit.jika digunakanindeks n sebagai penanda waktu diskrit, makasinyal menjadi suatu fungsi variabel integerberupa deretan angka.
Sekolah Tinggi Teknologi Nuklir-BATAN 374 Sukarman
SEMINAR NASIONAL IISDM TEKNOLOGI NUKLIRYOGYAKARTA, 21-22 DESEMBER 2006ISSN 1978-0176
Sistem Kontrol
Salah satu tujuan sistem kontrol adalahmendapatkan keluaran proses yang sarnadengan perintah/referensi yang diberikan.Untuk mencapai tujuan tersebut digunakansuatu strategi pengendalian yang tepat sehinggadiperoleh sinyal keluaran proses yang sesuaidengan masukan yang diberikan. [2].
Secara umum sistem kendali dapatdibedakan menjadi beberapa macam yaitu :1 Berdasarkan prinsip kerjanya
• Kendali umpan maju yaitu kendali yangmenggunakan hasil pengukuran salah satuvariabel masukan untuk menentukanvariabel masukan yang lain
• Kendali umpan balik yaitu sistem kendaliyang menggunakan hasil pengukurankeluaran proses untuk memulai ketjapengendalian.
2 Berdasarkan bebannya• Kendali servo yaitu sistem kendali yang
perintahnya berubah-ubah yang perubahantersebut merupakan beban bagi prosespengendalian
• Kendali proses yaitu sistem kendali denganperintah tetap sehingga sebagai bebanadalah gangguan terhadap proses yangdikendalikan.
3 Berdasarkan isyarat yang dikendalikan• Kendali kontinyu
• Kendali diskritKendali kontinyu maupun diskrit yang umumdigunakan adalah kendali On/Off dan PID.
Sistem Kontrol merupakan perangkatelektronik yang berfungsi mengatur kondisitertentu. Sistem kontrol ditinjau dari perangkatkerasnya dibagi menjadi 2 macam yaitu yangdibangun dengan perangkat analog dan digital.Sistem kontrol yang dibangun denganperangkat digital seperti PC memerlukanpengaturan konfigurasi terhadap sisteminstrumen yang digunakan, sehingga proseskontrol pada sistem tidak terganggu.
Konversi Data
Komunikasi data yang berhubungandengan komputer tidak terlepas dari komunikasidata digital, artinya seluruh data yangdikirimkan harus sudah dalam kondisi logika"0" dan "I ". komunikasi serial yang terjadi padakomputer menggunakan 8-bit data digital. Olehkarena itu data desimal yang akan dikirimmenggunakan komunikasi serial harusdikonversi menjadi data biner 8-bit.
Cara mengkonversi data pada programmatlab dapat dilakukan dengan beberapa caraseperti ditunjukkan dalam Tabell [4] [6]
Instruksi Konversi
Dec2bin(D,N)
Bin2dec('B')
Dec2hex(D,N)
Hex2dec(H)
Dec2base(D)
Base2dec(B)
Dec2basei0,
Tabel. 1 InstruksiKonversiData
Keterangan
Konversikan dari decimal ke biner D=value, N=bit yang dipakai
Konversikan nilai biner ke decimal dengan B= value string
Konversikan bilangan heksa ke decimal dengan D=value , N= digit yang dipakai
Konversikan dari decimal ke heksa dengan H=value string
Konversikan dari decimal ke basis
Konversikan dari basis ke desimal
Konversikan dari decimal ke basis
Contoh :dec2bin(35), berarti bahwa mengkonversi datadesimal ke biner dengan default digital danakan dihasilkan nilai digital 1000ll.setelah datayang akan digunakan pada proses komunikasiberada pada format data digital, selanjutnyakomunikasi dapat dilakukan dengan lebihmudah
Interfacing Menggunakan KomunikasiSerial Standar RS-232
Interfacing dengan perangkat lunakMatlab dapat dilakukan minimal versi 6.0 dandengan sistem operasi windows 98, XP, 2000,NT, Linux dan Sun Solaris. secara umum blokdiagram instrumentasi berbasis PC
Sukarman 375 Sekolah Tinggi Teknologi Nuklir - BATAN
menggunakan program Matlab ditunjukkanpada Gambar 2.
Komunikasi serial RS-232 yang ada padaPC menggunakan pin konektor DB 9 denganmikrokontroler diperlihatkan pada Gambar 3.[3].
MATLAB
T
SEMINARNASIONALIISDMTEKNOLOGINUKLIR
YOGYAKARTA,21-22 DESEMBER2006ISSN 1978-0176
Pada komunikasi serial yang sederhanahanya diperlukan 3 pin serial Com saja, yaitupin 2 untuk penghubung kabelpenerima(receiver) dan pin 3 (transmiter) danpin 5 untuk sinyal Ground.
Instrument Control ToolboxI
M Filefunctions
Interface Driver Adaptor
Serial Driver
SerialKontroler
Masukan /Keluaran
Gambar2. AntarmukaSerialMenggunakanMatlab
Personal Komputer (PC)
Kom
puter
Modul DT51Komunikasiserial
Gambar3. hubunganPC denganMikrokontroler
376
Perangkat Lunak Matlab
Matlab berasal dari kata MatrixLaboratory, yang artinya perangkat lunak yangberbasis pada matrik, yang dimulaidikembangkan pada tahun 1970-an diUniversitas Mexico dan universitas StandfordUSA. Perangkat Lunak Matlab adalahpernrograman yang bersifat interaktif untuk
Sekolah Tinggi Teknologi Nuklir-BATAN
keperluan saintifik dan komputasi teknis.Sebagai elemen data dasarnya adalah matriks.Hal ini memungkinkan penyelesaian masalahkomputasi numeris yang ditulis secaramatematik. Matematik adalah bahasa yangdigunakan oleh para insinyur dan saintis.Misalnya matriks dan operasinya, persamaandiferensial, data array, plot grafik, blok diagrambahkan dilengkapi dengan tools, yang
Sukarman
SEMINAR NASIONAL IISDM TEKNOLOGI NUKLIRYOGYAKARTA, 21-22 DESEMBER 2006ISSN 1978-0176
digunakan untuk pemrosesan sinyal, sistemkontrol, identifikasi sinyal, simulink dansebagainya. Dalam perkembangannya saat iniMatlab sudah dapat berkomunikasi dengandunia luar (interfacing). Dengan demikianMatlab sangat baik digunakan untuk keperluansimulasi dan komputasi.
METODE
Alat dan Bahan
Percobaan ini menggunakan perangkatkeras mikrokontroler (Modul DT51) dan catudaya sebesar 5 voltJ9 volt AC. Dalam modulDt51 terdapat fasilitas port serial dan LedPenampil (8 bit). Kabel serial digunakan untukmenghubungkan Modul Dt51 dengan PC,Komputer pribadi (PC) dan perangkat lunakMatlab versi 6.x.
Pelaksanaan
1 Alat dirangkai seperti Gambar 3 di atas.2 Dibuat program untuk komunikasi pada
mikrokontroler, program dapatmenggunakan bahasa C, asembler, basicatau apa saja.
3 Program disimpan pada mikrokontroler(download).
4 Mikrokontroler diberikan catu daya.5 Kabel serial dihubungkan dari Modul Dt51
ke port serial pada PC.6 Program Matlab dibuka dengan
menggunakan instruksi pada Lampiran 1untuk melakukan pengiriman danpengambilan data dari dan kePClMikrokontroler.
HASIL DAN PEMBAHASAN
Dalam membuat program yang dapatberkomunikasi antara PC dengan instrument diluar PC pada perangkat lunak Matlab, adatahapan yang hams diperhatikan yaitu :
1. Membuat objek instrumen.
untuk membuat objek instrumen padaMatlab dapat dilakukan dengan perintahSERIAL, dengan SYNTAX» Object=serial('port _aktif);» object=serial('port_aktif,'baudrate' ,nilai);
2. Menghubungkan PC dengan instrumenuntuk menghubungkan instrumen denganPC digunakan perintah fopen, denganSYNTAX» fopen(objecUnstrumen);
3 Menentukan sifat (property object)untuk menentukan property objekdilakukan dengan instruksi set dan diikutidengan tanda dot.» set (object,'properti,nilai);» object.properti=nilai;
4 Membaca/menulis datauntuk membaca/menulis data dari PC keinstrumen dengan metode komunikasiserial. pembacaan dan penulisan dapatdilakukan dengan beberapa perintah :fread,fwrite,fprintf dan sebagainya.
5 Memutuskan dan menghapus objek.Setelah proses baca/tulis dilakukakanprogram harns menutup danmembersihkan objek instrumen yang aktifdi memori, hal ini dilakukan karena agarpada saat membuat koneksi barn padamatlab tidak terjadi error program. Untukmemutuskan dan menghapus objekdilakukan dengan menggunakan perintahfclose dan delete, dengan SYNTAX» fclose (object);» delete(object);>>instrreset( object);hasil eksekusi nampak pada Gambar 4.
Pada Gambar 4. nampak bahwakomunikasi data dengan peralatan/perangkatkeras di luar PC tetjadi setelah perintahdata=fopen(s,5). Hal ini menunjukkan bahwadata dari perangkat keras ditampilkan ke layarMatlab dengan s adalah nama objek dan angka5 adalah banyaknya data yang akan dibaca.
Sukarman 377 Sekolah Tinggi Teknologi Nuklir - BATAN
SEMINAR NASIONAL II
SDM TEKNOLOGI NUKLIR
YOGYAKARTA, 21-22 DESEMBER 2006ISSN 1978-0176
» data=Eread(s,l)
data =
24
» data=fread(s,l)
data =
152
» data=fread(s,l)
data =
30
»
Ready
Gambar 4. Basil Eksekusi Program dengan Matlab
ans =
1000000010011000
» data=fread(s,l)
data =
128
» dec2bin(data,8)
10000000
»
Gambar 5. Hasil Konversi dari Desimal ke Biner
••••,,_ ••••••••••••• O' ••••J.on SettingsPort: cmuBaudRate: 9600Terminator: 'LF'
COIlLlll.W1ication State
Status:RecordStatu3:
Read/Write StateTrW'l3!eJ:Status:BytesAvailable:ValuesReceived:ValuesSent:
» fopen(3)» f1on::ite(s,O)» f1Jrite(s,2)» fw!:ite(s,ll)»
Ready
closed"n
idle512
o
21
Gambar 6. Eksekusi Pengiriman Data
Sekolah Tinggi Teknologi Nuklir - BATAN 378 Sukarman
SEMINARNASIONALIISDMTEKNOLOGINUKLIRYOGYAKARTA,21-22DESEMBER2006ISSN 1978-0176
Pada Gambar 5, nampak bahwa nilaiyang dikeluarkan dan dibaca oleh Matlabmelalui RS232 sebesar 128 dapat diubahdengan perintah dec2bin(data,8). Perintahtersebut dimaksudkan untuk mengubah nilaivariabel data, dalam bentuk desimal menjadibentuk biner dengan lebar satu byte (8 bit).
Pada Gambar 6, nampak bahwapengiriman data dari PC ke Modul Dt51 dapatdigunakan perintah fwrite, yang sebelumnyahams dilakukan pembukaan jalur komunikasiserial port dengan perintah fopen(s). Data yangdikirimkan mernpakan data-data ASCI. Karenamodul DT51 hanya dapat menerima data ASCIpada komunikasi serialnya. Pada penampil Ledakan diperoleh pernbahan nyala lampu.
Konfigurasi Property pada Objek
Objek instrumen yang telah dibangunpada Matlab mempunyai property yang hamsdiset sehingga proses komunikasi tidakterhambat. beberapa property yang hams disetantara lain kecepatan pengiriman data(baudrate), format data yang digunakan, waktuyang digunakan untuk menunggu komunikasidata barn dan sebagainya. pada Tabel 2.ditunjukkan setting property serial.
Baca dan Tulis Data
Setelah jalur komunikasi terbukadengan perintah fopen, dapat dilakukanpembacaan/penulisan data dari dan keinstrumen. untuk membaca data digunakanSYNTAX.
»var =fread(objectjumlahdata)Jumlahdata menunjukkan banyaknya data
yang diambil dalam satu kali kerja fungsi fread.jumlah data tidak boleh melebihi kapasitasbuffer yang ditentukan.
untuk mengirimkan data ke instrumendituliskan dengan bentuk databyte, karenanyahanya menuliskan bilangan desimalnya sajadengan SYNTAX» fread(object,databyte)
KESIMPULAN
1 Perangkat lunak MatIab dapat digunakanuntuk berkomunikasi dengan peralatan diluar komputer menggunakan modul DT51mikrokontroler.
2 Pengolahan data untuk keperluan kontroldan akuisisi data dapat dilakukan.
3 Kecepatan transfer data (baud rate) sampai115200 bps.
Untuk melihat semua property yangterpasang pada objek instrumen dapat dilihatmenggunakan perintah :» get (S,{'baudrate','databits','parity','stopbits'})
Setiap property yang terpasang padaobjek dapat diubah sesuai dengan kebutuhankomunikasi, misalkan digunakan 19200 ataukomunikasi dengan COM-2 pada PC. untukmengubahnya digunakan perintah
» set(S,'baudrate',19200)» s.port='com2'Komunikasi serial tidak akan terlepas
dari kebutuhan buffer, sehingga data dapatdiambil dalam sati kali kerja program. kapasitasbuffer secara default sebesar 512 kB, namundapat diatur oleh program.
Nama
Baudrate
Data bit
paritas
StoE bit
Sukarman
Tabe12.Property Serial
Keterangan
Kecepatan transfer data dalam bitJumlah data bit dalam satu kali transfer
Penanda paritas
Bit penanda sebagai akhir data
379
DAFTAR PUSTAKA
http://www.pitchuP.com/matlab/showarticle .aspx?article= 157, diakses 1Desember2006
2 RAYMOND, GJ, "Modem Digital ControlSystems",MarcelDekkerInc,New York.
3 SUKARMANdkk, 2003, "Petunjuk PraktikumAntarmuka",STTN-BAT AN. Moler,Cleve,the student edition of matlah, Prentice hallEnglewoodcliffs,USA, 1992
4 CHRISTANTO,dan DANNY, 2004 ,"PanduanDasarMikrokontroler",keluargaMCS51.
5 http://www.pitchuP.com/matlab/content. aspx,, diakses 1Desember2006
LAMPIRAN I
Listing program baca data dari instrumen% bersihkan semua data dimemori dan
bersihkan layar
» instrreset
» clc
Sekolah Tinggi Teknologi Nuklir - BATAN
SEMINAR NASIONAL II
SDM TEKNOLOGI NUKLIR
YOGY AKARTA, 21-22 DESEMBER 2006ISSN 1978-0176
»
s=serial('coml', 'baudrate',9600);
» s.timeout=l;
» fopen(s);% ambil data serial
» data=fread (s,50); Perlu pengembangan lebihjauh.% putuskan hubungan serial denganinstrumen
Listing program mengirim data ke instrumen» clear all
% masukan banyaknya data array% inisialisasi serial com.
Jawaban :
1. Belum, rantang linieritasnya belumdiketahui.
2 .. Belum pemah dilakukan.3. Barn akan mengarah ke USB.
Saran:
» fclose(s);
» delete(s)» clear s
% bersihkan semua data dimemori dan
bersihkan layar» instrreset
» clc
» clear all
% masukan banyaknya data array
% inisialisasi serial com.
»s=serial('coml', 'baudrate',9600);
» s.timeout=l;
» fopen(s);
% tulis data ke serial
» fread(s,50);
% putuskan hubungan serial denganinstrumen
» fclose(s);
» delete(s)
» clear s
dapat juga digunakan instruksi lain yaituIntstrreset
TANYAJAWAB
Pertanyaan :
1. Apa sudah dikalibrasi, rentang linieritasnya
berapa ? (Joko)2. Apakah sudah diuji kestabilannya ?3. Ketinggalan jaman sistem DT-51, sudah
hams diganti USB? (Joko)
Sekolah Tinggi Teknologi Nuklir-BATAN 380 Sukarman
Top Related