ANTARMUKA INSTRUMEN DENGAN MATLAB

download ANTARMUKA INSTRUMEN DENGAN MATLAB

of 10

description

LABORATORIUM INSTRUMENTASI DAN ROBOTIKA KELAUTAN BAGIAN AKUSTIK DAN INSTRUMENTASI KELAUTAN DEPARTEMEN ILMU DAN TEKNOLOGI KELAUTAN ± IPBMODUL ± 2ANTARMUKA INSTRUMEN DENGAN MATLABTUJUAN PRAKTIKUM Mahasiswa menguasai Perangkat Lunak MATLAB dengan baik dan benar, khususnya untuk pengantarmukaan peralatan dengan MATLAB. JUMLAH PERTEMUAN : 1 Kali TAHAPAN PRAKTIKUM 1. Dasar-dasar MATLAB. 2. Membuat simulasi pada sisi mikrokontroler untuk pengiriman data suhu (DS18B20) dan ditampilkan di MATLAB. AL

Transcript of ANTARMUKA INSTRUMEN DENGAN MATLAB

LABORATORIUM INSTRUMENTASI DAN ROBOTIKA KELAUTAN BAGIAN AKUSTIK DAN INSTRUMENTASI KELAUTAN DEPARTEMEN ILMU DAN TEKNOLOGI KELAUTAN IPB

MODUL 2

ANTARMUKA INSTRUMEN DENGAN MATLABTUJUAN PRAKTIKUM Mahasiswa menguasai Perangkat Lunak MATLAB dengan baik dan benar, khususnya untuk pengantarmukaan peralatan dengan MATLAB. JUMLAH PERTEMUAN : 1 Kali TAHAPAN PRAKTIKUM 1. Dasar-dasar MATLAB. 2. Membuat simulasi pada sisi mikrokontroler untuk pengiriman data suhu (DS18B20) dan ditampilkan di MATLAB. ALAT DAN BAHAN 1. 2. 3. 4. 5. Laptop Perangkat Lunak MATLAB USB to Serial Development KIT ATMega8535 DS18B20

PUSTAKA Codevision AVR . http://www.hpinfotech.ro/html/cvavr.htm ATMEL ATMega8535. http://www.atmel.com/atmel/acrobat/doc2502.pdf DALLAS 1-Wire. http://www.atmel.com/.../resources/prod_documents/doc2579.pdf MATLAB. http://www.mathworks.com/products/matlab/

1 PRAKTIKUM INSTRUMENTASI KELAUTAN

LABORATORIUM INSTRUMENTASI DAN ROBOTIKA KELAUTAN BAGIAN AKUSTIK DAN INSTRUMENTASI KELAUTAN DEPARTEMEN ILMU DAN TEKNOLOGI KELAUTAN IPB

PENDAHULUAN MATLAB adalah singkatan dari Matrix Laboratory, yaitu sebuah perangkat lunak yang dikembangkan dengan keunggulan penanganan operasi terkait dengan matrik. Saat ini MATLAB merupakan software paling popular yang digunakan untuk penanganan kalkulasi numerik dan desain sistem. MATLAB merupakan bahasa pemrograman yang sangat optimal untuk komputasi matriks. Salah satu keunggulan MATLAB yaitu toolbox, dimana tool ini dapat digunakan untuk mendesain suatu sistem dan mensimulasikannya sehingga seorang engineer bisa mendapatkan data tanpa perlu melakukan eksperimen. Tentunya data yang didapatkan merupakan data yang mendekati eksperimen dan berbeda dengan data eksperimen sesungguhnya. Dengan langkah ini, seorang engineer dapat menghemat waktu dan biaya dalam mendesain suatu sistem yang diinginkan. MATLAB sangat membantu kita dalam melakukan debug, karena setiap langkah kita dapat melihat nilai variable yang ada. Setiap variable yang digunakan dalam program disimpan dalam sebuah workspace dan dapat dilihat dengan mudah. Menggunakan MATLAB kita juga diberi kemudahan untuk mendesain sebuah program aplikasi berbasis grafik interface/GUI. Dengan menggunakan GUI, pengguna program aplikasi yang kita buat dapat lebih mudah mengoperasikannya. Pada bahasan kali ini kita akan mencoba menggunakan beberapa fitur dari MATLAB untuk membuat sebuah aplikasi data logger sederhana. Pada kesempatan ini kita akan mencoba mendesain sebuah data logger suhu DS1820 produksi Dallas Semiconductor. Sensor suhu ini outputnya data digital yang tidak membutuhkan kalibrasi lagi. DS1820 menggunakan metode 1-wire dalam komunikasinya. Sehingga cukup menggunakan 3 jalur, yaitu: data (DQ), Vcc dan Ground. Kita juga akan menggunakan chip mikrokontroller AVR ATMega8535 untuk kontroler yang bertugas membaca suhu dan berkomunikasi dengan komputer. Kita bisa menggunakan fasilitas wizard dari CodeVision untuk membuat program di Sensor suhu DS18B20 merupakan suatu komponen elektronika yang dapat2 PRAKTIKUM INSTRUMENTASI KELAUTAN

LABORATORIUM INSTRUMENTASI DAN ROBOTIKA KELAUTAN BAGIAN AKUSTIK DAN INSTRUMENTASI KELAUTAN DEPARTEMEN ILMU DAN TEKNOLOGI KELAUTAN IPB

menangkap perubahan temperatur lingkungan lalu kemudian mengkonversinya menjadi besaran listrik. Sensor ini merupakan sensor digital yang menggunakan 1 wire untuk berkomunikasi dengan mikrokontroler. Keunikan dari sensor ini adalah tiap sensor memiliki kode serial yang memungkinkan untuk penggunaan DS18B20 lebih dari satu dalam satu komunikasi 1 wire. Spesifikasi sensor suhu DS18B20:y

Unik 1-Wire interface hanya memerlukan satu pin untuk komunikasi secara 1-Wire

y

Setiap perangkat memiliki kode serial 64-bit yang disimpan dalam sebuah ROM onboard

y y y y y y y

Tidak memerlukan ada komponen tambahan Bekerja pada kisaran tegangan 3 sampai 5,5V Dapat mengukur suhu pada kisaran -55 sampai 125 C Akurasi 0,5C akurasi dari suhu -10 sampai 85 C Resolusi dapat dipilih oleh pengguna antara 9 sampai 12 bit Kecepatan mengkonversi suhu maksimal 750 ms Kompatibel dengan software Codevision AVR

3 PRAKTIKUM INSTRUMENTASI KELAUTAN

LABORATORIUM INSTRUMENTASI DAN ROBOTIKA KELAUTAN BAGIAN AKUSTIK DAN INSTRUMENTASI KELAUTAN DEPARTEMEN ILMU DAN TEKNOLOGI KELAUTAN IPB

SISTEMATIKA PRAKTIKUM

Sensor Suhu DS18B20

ATMEGA8535

KOMPUTER

MATLAB

4 PRAKTIKUM INSTRUMENTASI KELAUTAN

LABORATORIUM INSTRUMENTASI DAN ROBOTIKA KELAUTAN BAGIAN AKUSTIK DAN INSTRUMENTASI KELAUTAN DEPARTEMEN ILMU DAN TEKNOLOGI KELAUTAN IPB

1. SISI MIKROKONTROLER Untuk membaca suhu dengan DS1820, maka kita dapat menggunakan software CodeVision. Dengan menggunakan fasilitas wizard yang ada, kita dapat melakukannya dengan mudah. Ikuti langkah berikut untuk membuatnya. 1. Pada tab Chip, tentukan jenis chip dan X-TALL yang akan digunakan. Pada kesempatan ini digunakan chip ATmega8535 dengan Xtal 4 MHz

2. Pada tab 1 Wire, pilih PORT yang akan digunakan sebagai koneksi komunikasi dengan sensor DS1820 dari combo 1 Wire Port. Kemudian check Enabled pada DS1820/DS18S20.

5 PRAKTIKUM INSTRUMENTASI KELAUTAN

LABORATORIUM INSTRUMENTASI DAN ROBOTIKA KELAUTAN BAGIAN AKUSTIK DAN INSTRUMENTASI KELAUTAN DEPARTEMEN ILMU DAN TEKNOLOGI KELAUTAN IPB

3.

Pada tab USART, check pada Transmitter dan pilih Baud Rate: 9600

4. Selanjutnya pilih Generate, Save and Exit dari menu File 5. Lengkapilah script sehingga menjadi seperti berikut:

... #include ... // 1 Wire Bus functions #asm .equ __w1_port=0x1B ;PORTA .equ __w1_bit=0 #endasm

/* maximum number of DS1820/DS18S20 connected to the bus */ #define MAX_DEVICES 8 /* DS1820/DS18S20 devices ROM code storage area, 9 bytes are used for each device see the w1_search function description),but only the first 8 bytes contain the ROM code and CRC */ unsigned char rom_codes[MAX_DEVICES][9]; /* allocate space for ROM codes of the devices hich generate an alarm */ unsigned char alarm_rom_codes[MAX_DEVICES][9]; // Declare your global variables here unsigned devices; int temp; 6 PRAKTIKUM INSTRUMENTASI KELAUTAN

LABORATORIUM INSTRUMENTASI DAN ROBOTIKA KELAUTAN BAGIAN AKUSTIK DAN INSTRUMENTASI KELAUTAN DEPARTEMEN ILMU DAN TEKNOLOGI KELAUTAN IPB

void main(void) { // USART initialization ... // 1 Wire Bus initialization w1_init(); // LCD module initialization // Global enable interrupts #asm( sei ) /* detect how many DS1820/DS18S20 devices are connected to the bus and store their ROM codes in the rom_codes array */ devices=w1_search(0xf0,rom_codes); /* display the number */ printf( %-u DEVICE(S) DETECTED\n\r ,devices); /* if no devices were detected then halt */ if (devices==0) while (1); /* loop forever */ while (1) { // Place your code here temp=ds1820_temperature_10(&rom_codes[0][0]); printf( %-i.%-u\n\r ,temp/10,abs(temp%10)); }; }

Maka hasilnya akan dapat dilihat pada bagian terminal CodeVision yang menampilkan suhu

2. SISI KOMPUTER Selanjutnya ikutilah langkah-langkah berikut untuk membuat sebuah data logger dengan MATLAB. Di MATLAB, sebuah serial port termasuk kedalam sebuah object. Agar dapat menggunakan serial port kita harus menciptakan object dan melakukan pengaturan pada object tersebut. Untuk membuat sebuah object serial pada MATLAB kita ketik:

s1 = serial(COM1 ); %kita menciptakan object s1 sebagai COM1

kemudian untuk mengetahui propeti dari object tersebut kita ketik:7 PRAKTIKUM INSTRUMENTASI KELAUTAN

LABORATORIUM INSTRUMENTASI DAN ROBOTIKA KELAUTAN BAGIAN AKUSTIK DAN INSTRUMENTASI KELAUTAN DEPARTEMEN ILMU DAN TEKNOLOGI KELAUTAN IPB

get(s1,{Type,'Name,'Port}) ans = serial Serial-COM1 COM1

Selanjutnya kita atur nilai masing-masing property yang diperlukan. Pada kali ini kita perlu mengatur nilai baud rate, data bit, stop bit, dan input buffer size. Ketik:

set(s1,BaudRate,9600,DataBits,8,StopBits,1,InputBufferSize,16000)

Kemudian untuk dapat menggunakan object serial, kita perlu menghubungkan object ke device serial sendiri. Ketik: fopen(s1)

untuk membaca data dari serial kita menggunakan perintah: A=fscanf(s1)

Maka data yang dibaca akan disimpan di variable A. Untuk mengirimkan data ke serial kita menggunakan perintah:

fprintf(s1,DataADC);

setelah kita selesai menggunakan object serial, kita perlu memutus koneksi object dengan device, agar bisa digunakan oleh software lainnya. Ketik: fclose(s1) jika kita sudah tidak memerlukan object serial tersebut, kita harus menghapus object serial dari memori untuk mengembalikan memori. Ketik: delete(s1)

8 PRAKTIKUM INSTRUMENTASI KELAUTAN

LABORATORIUM INSTRUMENTASI DAN ROBOTIKA KELAUTAN BAGIAN AKUSTIK DAN INSTRUMENTASI KELAUTAN DEPARTEMEN ILMU DAN TEKNOLOGI KELAUTAN IPB

Tulislah Program di MATLAB dan sesuaikan dengan parameter Komputer anda% menghapus semua variable yang ada di work space clear all; % menutup semua figure yang terbuka jika ada close all; % membuat sebuah figure yang akan digunakan sebagai tempat membuat grafik logging figure(1); clc; % membuat sebuah object serial pada MATLAB dan mengatur setting sesuai dengan setting % di mikrokontroller

%-sesuaikan dengan parameter di Mikrokontroler dan Port COM komputerfid = serial( COM7 , BaudRate ,9600, DataBits ,8, StopBits ,1, InputBufferSize ,16000); % membuka koneksi object dengan port serial fopen(fid) % meminta user untuk memasukkan sejumlah nilai pengambilan data SET = input( Masukkan jumlah data,Start Logging (PRESS ->Enter !) ); clear A; % melakukan lopping sejumlah data yang dimasukkan for i=1:SET % membaca data dari serial data1=str2num(fscanf(fid)); if (data1>0) title(['Data#= ' num2str(data1)]); A(i)=data1; % menampilkan data dalam grafik plot(A, red ); axis([0 SET 0 100]) hold on; pause(.5)%boleh ada, boleh tidak, silahkan di atur end end % menutup koneksi dengan serial fclose(fid) % menghapus object serial delete(fid); 9 PRAKTIKUM INSTRUMENTASI KELAUTAN

LABORATORIUM INSTRUMENTASI DAN ROBOTIKA KELAUTAN BAGIAN AKUSTIK DAN INSTRUMENTASI KELAUTAN DEPARTEMEN ILMU DAN TEKNOLOGI KELAUTAN IPB

% menyimpan data hasil pengukuran save( data_pengukuran.mat , A );

Program diatas akan menampilkan data realtime yang dikirimkan oleh mikrokontroler di sebuah figure / plot MATLAB dan data tersebut juga tersimpan otomatis dalam file data_pengukuran.mat.

TUGAS: Buatlah sebuah program yang dapat menampilkan data suhu seperti layaknya sebuah osiloskop di MATLAB.

Tulislah Laporan anda dengan baik dan benar menggunakan bahasa anda sendiri

Please don t copy paste !

GOOD LUCK!

10 PRAKTIKUM INSTRUMENTASI KELAUTAN