teknik antar muka

28
BAB VIII DATA LOGGING TEGANGAN MELALUI KOMUNIKASI SERIAL A. Tujuan Mahasiswa mampu menggunakan mengantarmukakan serial port PC dengan mikrokontroller. Mahasiswa mampu membuat aplikasi menggunakan Borland Delphi untuk komunikasi serial. Mahasiswa mampu membuat data logging melalui komunikasi serial. B. Dasar Teori Data logging adalah pengukuran dan pencatatan dari parameter fisika atau elektrik selama periode waktu tertentu. Data yang diukur dan dicatat dapat berupa temperatur, tekanan, pergeseran, aliran, tegangan, arus, resistansi, daya dan banyak parameter yang lain. Cakupan produk yang dapat dikategorikan sebagai data logger sangat luas, mulai dari perangkat sederhana yang hanya dapat melakukan satu buah pengukuran sampai dengan perangkat yang kompleks yang memberikan fungsi analisis dan display terintegrasi. Beberapa komponen yang harus dimiliki oleh setiap data logger meliputi: Hardware untuk mendigitalkan parameter yang dicatat, meliputi sensor, pengkondisi sinyal dan perangkat keras pengkonversi dari analog ke digital. Long-term data storage, umumnya berupa memori atau sebuah PC

Upload: ulpha-diphayuni

Post on 28-Dec-2015

69 views

Category:

Documents


10 download

DESCRIPTION

Interfacing PC

TRANSCRIPT

Page 1: Teknik Antar Muka

BAB VIII

DATA LOGGING TEGANGAN MELALUI KOMUNIKASI SERIAL

A. Tujuan

Mahasiswa mampu menggunakan mengantarmukakan serial port PC dengan

mikrokontroller.

Mahasiswa mampu membuat aplikasi menggunakan Borland Delphi untuk

komunikasi serial.

Mahasiswa mampu membuat data logging melalui komunikasi serial.

B. Dasar Teori

Data logging adalah pengukuran dan pencatatan dari parameter fisika atau elektrik

selama periode waktu tertentu. Data yang diukur dan dicatat dapat berupa temperatur,

tekanan, pergeseran, aliran, tegangan, arus, resistansi, daya dan banyak parameter yang lain.

Cakupan produk yang dapat dikategorikan sebagai data logger sangat luas, mulai dari

perangkat sederhana yang hanya dapat melakukan satu buah pengukuran sampai dengan

perangkat yang kompleks yang memberikan fungsi analisis dan display terintegrasi.

Beberapa komponen yang harus dimiliki oleh setiap data logger meliputi:

Hardware untuk mendigitalkan parameter yang dicatat, meliputi sensor, pengkondisi

sinyal dan perangkat keras pengkonversi dari analog ke digital.

Long-term data storage, umumnya berupa memori atau sebuah PC

Perangkat lunak Data-logging untuk akuisisi data, analisis, dan presentasi

C. Alat dan Bahan

1 buah modul mikrokontroller

1 buah downloader mikrokontroller

1 buah kabel serial

1 unit catu daya

Page 2: Teknik Antar Muka

D. Prosedur Percobaan

Prosedur Percobaan 1 (Membaca Tegangan)

Buat Program untuk Mikrokontroller

a. Hubungkan modul Mikrokontroller dengan modul I/O dan potensiometer seperti

gambar 3.

b. Hubungkan modul downloader dengan modul Mikrokontroller dan PC

c. Atur setting komunikasi serial dan ADC.

d. Ketik, compile dan donwload program

e. Jalankan system kemudian

f. Amati dan catat hasilnya

Buat Program untuk PC

1. Buatlah program seperti berikut :

Page 3: Teknik Antar Muka

2. Komponen/Objek yang digunakan dan pengaturan propertiesnya adalah :

Komponen Properti Nilai Properti

Label1 Caption Tegangan

Label2 Caption 0 V

Button1 Caption Start

Button2 Caption Setting

3. Masukkan perintah-perintah pada kejadian/event disetiap komponen di bawah ini.

Nama

Komponen

Event Perintah

Form1 onCreate procedure TForm1.FormClose(Sender: TObject; varAction: TCloseAction);begincomport1.Close;end;

Button1 onClick Procedure TForm1.Button1Click(Sender: TObject);begincomport1.Open;end;

Button2 onClick procedure TForm1.Button2Click(Sender: TObject);begincomport1.ShowSetupDialog;end;

Comport1 onRxChar procedure TForm1.ComPort1RxChar(Sender:TObject; Count: Integer);var str5: string;var teg : real;begincomport1.ReadStr(str5,count);teg:=strtoint(str5)*5/255;label2.Caption:=floattostr(teg)+' V';end;

Page 4: Teknik Antar Muka

4. Jalankan system kemudian beri masukan pada edit1 sesuai dengan tabel.

Tekan button Kirim.

No Karakter di ADC0 Tampilan di Label3

1 1 V

2 2 V

3 3 V

4 4 V

5 5 V

Prosedur Percobaan 2 (Data Logging Tegangan)

Buat Program untuk Mikrokontroller

a. Hubungkan modul Mikrokontroller dengan modul I/O dan seperti gambar 3.

b. Hubungkan modul downloader dengan modul

c. Atur setting komunikasi serial dan ADC.

d. Ketik, compile dan donwload program

e. Jalankan system kemudian

f. Amati dan catat hasilnya

Page 5: Teknik Antar Muka

Buat Program untuk PC

1. Buatlah program seperti berikut :

2. Masukkan komponen berikut :

Form Nama Komponen Group

Form1 Label1 Standard

Label2 Standard

Label3 Standard

Label4 Standard

Button1 Standard

Button2 Standard

Mainmenu Standard

Chart Additional

Timer System

Opendialog Dialog

Savedialog Dialog

Comport Cpotrlib

Form2 F1Book activeX

3. Buatlah menu dengan cara double click pada komponen Mainmenu kemudian

masukkan menu berikut ini .

Page 6: Teknik Antar Muka

4. Komponen/objek yang digunakan dan pengaturan propertiesnya adalah :

Nama Komponen Properti Nilai Properti

Label1 Caption Nilai ADC

Label2 Caption 0

Label3 Caption Tegangan

Label4 Caption 0

Button1 Caption Start

Button2 Caption Stop

Chart Serieslist Tambahkan series 1 (klik tombol add)

Timer Interval 100

Enable False

5. Masukkan perintah pada kejadian/event disetiap komponen propertiesnya adalah :

Nama

Komponen

Event Perintah

Form1 onCreate

procedure TForm1.FormCreate(Sender: TObject);beginShellExecute(Handle, 'open',PAnsiChar('regsvr32.exe'), PAnsiChar('/s VCF132.OCX'),nil, SW_HIDE);end;

File ==> Open

onClick

procedure TForm1.FormClose(Sender: procedure TForm1.Open1Click(Sender: TObject);var ftype: smallint;beginOpenDialog1.InitialDir:=ExtractFilePath(Application.ExeName);if OpenDialog1.Execute thenbegin

Page 7: Teknik Antar Muka

form2.f1book1.Read(opendialog1.FileName,ftype);form2.Visible:=true;end;i:=1;while form2.F1Book1.TextRC[i,1]<>'' dobeginkeluaran:=strtofloat(form2.F1Book1.TextRC[i,1]);series1.AddXY(i,keluaran,'',clTeeColor);i:=i+1;end; end;

File ==> Save

onClick

procedure TForm1.Save1Click(Sender: TObject);beginSaveDialog1.InitialDir:=ExtractFilePath(Application.ExeName);if savedialog1.Execute thenbeginform2.F1Book1.Write(savedialog1.FileName,1);end;end;

File ==> Exit

onClick

procedure TForm1.Exit1Click(Sender: TObject);begincomport1.Close;close;end;

Setting onClick

procedure TForm1.Setting1Click(Sender: TObject);begincomport1.ShowSetupDialog;end;

Timer1 ontimer

procedure TForm1.Timer1Timer(Sender: TObject);begincomport1.WriteStr('A');end;

Button1 onClick

procedure TForm1.Button1Click(Sender: TObject);begincomport1.Open;timer1.Enabled:=true;i:=1;end;

Button2 onClick

procedure TForm1.Button2Click(Sender: TObject);

Page 8: Teknik Antar Muka

begintimer1.Enabled:=false;end;

Comport1 onRxchar

procedure TForm1.ComPort1RxChar(Sender: TObject;Count: Integer);var str5: string;var teg: real;begincomport1.ReadStr(str5,count);label2.Caption:='';label2.Caption:=str5;teg:=strtoint(label2.Caption)*5/255;label4.Caption:=floattostr(teg);series1.AddXY(i,teg,'',clTeeColor);form2.F1Book1.TextRC[i,1]:=Label4.Caption;i:=i+1;end;

6. Jalankan system kemudian atur tegangan pada masukkan ADC0 sesuai dengan tabel.

Amati tampilan program.

No Tegangan di ADC0 Tampilan di Label2 Tampilan di Label4

1 1 V

2 2 V

3 3 V

4 4 V

5 5 V

E. Hasil dan Pembahasan

1. Kode Program

a. Percobaan 1

Kode Program pada Code Vision AVR

Page 9: Teknik Antar Muka
Page 10: Teknik Antar Muka

Analisa Program :

- Header file yang digunakan pada program ini adalah #include <mega8535.h> ,

#include <delay.h> dan #include <stdio.h>

- Header file mega8535.h digunakan untuk mengaktifkan modul mikrokontroler,

delay.h digunakan untuk memberi delay atau waktu pada nyala LED dan stdio.h

digunakan untuk perintah masukan (input) scanf dan keluaran (output) printf.

- Tipe data yang digunakan yaitu integer dan character. Integer digunakan untuk

memasukkan data berupa angka dan char digunakan untuk memasukkan karakter

berupa huruf alfabet, angka, tanda baca, operator aritmatik (+, -, /, *) dan karakter

khusus (@, &, $, #, dll).

- Unsigned int read_adc; merupakan deklarasi variabel data yang akan dimasukkan

yaitu data dengan tipe int pada konversi ADC.

- Unsigned char Z; merupakan deklarasi variabel data yang akan dimasukkan yaitu

data dengan tipe char.

- Pada script #define ADC_VREF_TYPE 0x40 merupakan suatu konstanta.

Instruksi ini digunakan untuk men-setting ADC.

- ADCSRA|=0x40; untuk memulai mengkonversi ADC.

Page 11: Teknik Antar Muka

- ADMUX=adc_input | (ADC_VREF_TYPE & 0xff); untuk memberi inisialisasi

pada register ADMUX. Register ini yang mengatur tegangan referensi yang

digunakan oleh ADC.

- ADCSRA |= 0x10; untuk memberi inisialisasi pada register ADCSRA. ADCSRA

merupakan register 8 bit yang berfungsi untuk melakukan manajemen sinyal

control dan status pada ADC.

- SFIOR&=0x0F; untuk memberi inisialisasi pada register SFIOR. SFIOR adalah

register 8 bit yang mengatur sumber pemicu ADC. Jika bit ADATE pada register

ADCSRA bernialai 0 maka ADTS0-2 tidak akan berfungsi.

- // USART Mode: Asynchronous menunjukkan komunikasi data serial yang

digunakan adalah Asynchronous.

- // USART Baud Rate: 19200 menunjukkan kecepatan transmisi (baudrate) yang

digunakan adalah 19200. Pada baud rate 19200, jarak transmisi maksimumnya

adalah 15 m. Apabila kita menggunakan bitrate dan jarak yang lebih besar, maka

akan rentan terhadap data error saat transmisi.

- read_adc(0); untuk mengambil hasil konversi dari inputan.

- Settingan sudah benar apabila pada //USART Receiver : On dan //USART

Transmitter : On

- Printf (“%d”, (int) Z); digunakan untuk menampilkan program dan juga agar data

dapat dikirim lagi ke komputer.

- delay_ms (100); merupakan waktu atau jeda tampilan suatu program yaitu 100

ms.

Kode Program pada Delphi 7 ;

Page 12: Teknik Antar Muka
Page 13: Teknik Antar Muka

Analisa Program :

- Untuk mengirim data pada program ini menggunakan variabel dengan tipe integer

- Untuk memulai proses pengiriman data maka com serial harus dibuka atau

dikoneksikan terlebih dahulu dengan delphinya.

- Comport digunakan untuk menentukan nomor port serial yang akan dipakai.

- comport1.Open; digunakan untuk membuka koneksi delphi dengan com serial

komputer

- comport1.ReadStr(str1,count); digunakan untuk menerima data dari luar dan

dipindahkan ke variabel str1 yang bertipe integer.

- teg:=strToFloat (tamping) *5/255; adalah script yang digunakan untuk

menghitung nilai digital dalam desimal.

b. Percobaan 2

Kode Program pada Code Vision AVR

Page 14: Teknik Antar Muka
Page 15: Teknik Antar Muka

Analisa Program :

- Header file yang digunakan pada program ini adalah #include <mega8535.h> dan

#include <stdio.h>

- Header file mega8535.h digunakan untuk mengaktifkan modul mikrokontroler

dan stdio.h digunakan untuk perintah masukan (input) scanf dan keluaran (output)

printf.

- Tipe data yang digunakan yaitu integer dan character. Integer digunakan untuk

memasukkan data berupa angka dan char digunakan untuk memasukkan karakter

berupa huruf alfabet, angka, tanda baca, operator aritmatik (+, -, /, *) dan karakter

khusus (@, &, $, #, dll).

- Unsigned int read_adc (unsigned char adc_input) merupakan deklarasi variabel

data yang akan dimasukkan yaitu data dengan tipe int dan char pada konversi

ADC.

- Unsigned char Z; merupakan deklarasi variabel data yang akan dimasukkan yaitu

data dengan tipe char.

- Pada script #define ADC_VREF_TYPE 0x60 merupakan suatu konstanta.

Instruksi ini digunakan untuk men-setting ADC.

Page 16: Teknik Antar Muka

- ADCSRA|=0x40; untuk memulai mengkonversi ADC.

- ADMUX=adc_input | (ADC_VREF_TYPE & 0xff); untuk memberi inisialisasi

pada register ADMUX. Register ini yang mengatur tegangan referensi yang

digunakan oleh ADC.

- ADCSRA |= 0x10; untuk memberi inisialisasi pada register ADCSRA. ADCSRA

merupakan register 8 bit yang berfungsi untuk melakukan manajemen sinyal

control dan status pada ADC.

- SFIOR&=0x0F; untuk memberi inisialisasi pada register SFIOR. SFIOR adalah

register 8 bit yang mengatur sumber pemicu ADC. Jika bit ADATE pada register

ADCSRA bernialai 0 maka ADTS0-2 tidak akan berfungsi.

- // USART Mode: Asynchronous menunjukkan komunikasi data serial yang

digunakan adalah Asynchronous.

- // USART Baud Rate: 19200 menunjukkan kecepatan transmisi (baudrate) yang

digunakan adalah 19200. Pada baud rate 19200, jarak transmisi maksimumnya

adalah 15 m. Apabila kita menggunakan bitrate dan jarak yang lebih besar, maka

akan rentan terhadap data error saat transmisi.

- Settingan sudah benar apabila pada //USART Receiver : On dan //USART

Transmitter : On

- read_adc(0); untuk mengambil hasil konversi dari inputan.

- Printf (“%d”, (int) Z); digunakan untuk menampilkan program dan juga agar data

dapat dikirim lagi ke komputer.

Kode Program pada Delphi 7 ;

Page 17: Teknik Antar Muka
Page 18: Teknik Antar Muka
Page 19: Teknik Antar Muka

Analisa Program :

- Untuk mengirim data pada program ini menggunakan variabel dengan tipe string

- Untuk memulai proses pengiriman data maka com serial harus dibuka atau

dikoneksikan terlebih dahulu dengan delphinya.

- comport1.Open; digunakan untuk membuka koneksi delphi dengan com serial

computer.

- teg:=strtoint (label2.caption) *5/255; adalah script yang digunakan untuk

menghitung nilai digital dalam desimal.

- Timer diatur 100ms atau 0.1 sekon, agar ada delay/jeda waktu dalam

menjalankan program.

2. Tampilan pada Delphi 7

a. Percobaan 1

Tabel Hasil Percobaan

No Karakter di ADC0 Tampilan di Label3

1 1 V 1.078

2 2 V 2.078

3 3 V 3.058

4 4 V 4.019

5 5 V 5

Page 20: Teknik Antar Muka

- Ketika 1 Volt - Ketika 2 Volt

- Ketika 3 Volt - Ketika 4 Volt

- Ketika 5 Volt

Analisa Tampilan pada Delphi 7 ;

Untuk mengirim data, program ini menggunakan variabel dengan tipe integer.

Apabila kita mengirimkan data berupa integer pada program Delphi 7 yang telah

dibuat, maka data yang dikirim dengan data yang diterima akan mengalami

perubahan/tidak sesuai dengan data yang dikirim karena ada potensiometer. Dalam

program ini kita menginput tegangan sebesar 1 Volt, outputan yang dihasilkan pada

program Delphi adalah 1.078 Volt. Perbedaan yang terjadi tidak terlalu besar.

b. Percobaan 2

Page 21: Teknik Antar Muka

- Ketika 1 Volt

Analisa Tampilan pada Delphi 7 ;

Untuk mengirim data, program ini menggunakan variabel dengan tipe integer.

Apabila kita mengirimkan data berupa integer pada program Delphi 7 yang telah

dibuat, maka data yang dikirim dengan data yang diterima akan mengalami

perubahan/tidak sesuai dengan data yang dikirim karena ada potensiometer. Dalam

program ini kita menginput tegangan sebesar 1 Volt, outputan yang dihasilkan pada

program Delphi adalah 1.07843137254902 Volt. Perbedaan yang terjadi tidak terlalu

besar.

F. Kesimpulan

Pada percobaan kali ini komunikasi data serial yang digunakan adalah

Asynchronous. Kabel USB mengurangi derau dan distorsi selama data dikirim, sehingga

data dapat diterima dengan sedikit kesalahan. Kali ini program yang digunakan adalah

program Delphi 7 dan Code Vision AVR. Pembuatan program interface untuk

komunikasi serial dapat dilakukan dengan menggunakan Delphi 7 sebagai GUI nya.

Delphi 7 tidak mempunyai package serial sehingga package untuk komunikasi serial

perlu di-install terlebih dahulu. Salah satu komponen/package komunikasi serial untuk

Page 22: Teknik Antar Muka

delphi adalah Cport. Untuk memulai proses pengiriman data maka com serial harus

dibuka atau dikoneksikan terlebih dahulu dengan delphinya.

IC UART berfungsi untuk mengubah data parallel menjadi data serial dan

menerima data serial yang kemudian diubah kembali menjadi data parallel. Pada UART,

kecepatan pengiriman data (baudrate) dan fase clock pada sisi transmitter dan pada sisi

receiver harus sinkron. Untuk itu diperlukan diperlukan sinkronisasi antara transmitter

dan receiver. Hal ini dilakukan oleh bit ‘Start’ dan bit ‘Stop’.

G. Daftar Rujukan

Digiwarestore.com. Antarmuka Mikrokontroler. (http://www.digiwarestore.com/file/AN

33.pdf), diakses 10 April 2014.

Widiantao, Eko Didik. 2011. Antarmuka Serial Standar.

(http://eprints.undip.ac.id/32648/1 /TSK304-Kuliah6-InterfaceSerial.pdf), diakses 10

April 2014.

Ovi.blogspot.com. 2013. SERIAL PORT. (http://ovi.blog.student.eepis-

its.edu/2013/03/19/serial-port/), diakses 10 April 2014.