MONITORING SISTEM TELEMETRI BERBASIS PC

71
MONITORING SISTEM TELEMETRI BERBASISPC TUGAS AKI{IR Diajukan rmtuk Memeriuhi SalahSatuSyarat Mernperoleh Gelm Sarjana Teknik ProgramStudi Teknik Elekbo Disusun oleh: ANDRY PRIHATIN SONGKO NIM:035114002 PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI T]NIVERSITAS SANATA DIIARMA YOGYAKARTA 2010 \h#""1

Transcript of MONITORING SISTEM TELEMETRI BERBASIS PC

Page 1: MONITORING SISTEM TELEMETRI BERBASIS PC

MONITORING SISTEM TELEMETRI BERBASIS PC

TUGAS AKI{IR

Diajukan rmtuk Memeriuhi Salah Satu Syarat

Mernperoleh Gelm Sarjana Teknik

Program Studi Teknik Elekbo

Disusun oleh:

ANDRY PRIHATIN SONGKO

NIM:035114002

PROGRAM STUDI TEKNIK ELEKTRO

FAKULTAS SAINS DAN TEKNOLOGI

T]NIVERSITAS SANATA DIIARMA

YOGYAKARTA

2010

\h#""1

Page 2: MONITORING SISTEM TELEMETRI BERBASIS PC

TELEMETRY MONITORING SYSTEM BASED ON

PERSONAL COMPUTER

FINAL ASSIGI\IMEI\IT

Presented as Partial Fulfillment of the Requirernents

To Obtain the Sarjana Teknik Degree

In Electrical Engineering Study Program

By:

ANDRY PRIHATIN SONGKd

NIM:035114002

ELECTRTCAL ENGIITEERING STT}I}Y PROGRAM

SCIENCE A}ID TECHNOLOGY FACT]LTY

SANATA DHARIT{A {'NIYSRSITY

YOGYAKARTA

20r0

Page 3: MONITORING SISTEM TELEMETRI BERBASIS PC

LEIT{BAR PENGESAHAN

TUGAS AKIIIR

MONITORING SISTEM TELEMETRI BERSASIS PC

Disusun oleh:

Andry hihatin songko

Tangeal4 Marct2010

+e&s

,{"yd3&{pFrq

*fl# \'(v

q-s"#.tJT

hro

u*il;^***'g#

TYI Huqg

"'T:'''-'-

',. 'qbryu*rot

ui;ffi;;;F:Fembimbing II

WRp\Y

Martanto, ST,MT)

llt

pf,,siorjrur

Page 4: MONITORING SISTEM TELEMETRI BERBASIS PC

F"

LEMBAR PENGESAHAN OLEH PENGUJI

TUGAS AKITIR

MONITOruFTG SISTEM TILNMETru BERBASIS PC

Disunm ohh:

A}IDRY PRIHA'TTN SOhIGKO

NIM:085114002

Tcldr 0lpEnatnntran dihtrr psnitia penguji

pada tanggnl 1.5 l,hrlet ?010

Namatnrg*ap

Anggda

Ywakrrtn, ,4 Marg{ 5zot oSainsdan Teknologi Universitas $anda Dharma

$ains dm T€liltologi

4U,,/lng CahyaNlta, S.T., M.T.

Page 5: MONITORING SISTEM TELEMETRI BERBASIS PC

LEMBAR PERNYATAAI\I KEASLIAN KARYA

"Saya menyatakan dengart sesungguhnya bahwatugas akhir yang saya tulis ini

tidak memuat karya atau bagian karya orang lain,

kecuali yang telah disebutkan dalam kutipan dan daftar pustaka,

sebagaimana layaknya karya ilmiah."

Yogyakarta" 17 Maret 2010

Andry Prihatin Songko

Page 6: MONITORING SISTEM TELEMETRI BERBASIS PC

MOTTO DAI\I PERSEMBAHAN

*DO^rT Kh{OW Wh{-frT y gu EOrTILL rr S qOT{E"

(Cideretta)

"{A3(T IrAR" fE-nlT If

("&tfrnq Stones)

UASK, AT,I'D l{wlt-t tsT EIvXS{rO yOU; STTK, A}{D

you^wuL frND; J<^{ocK., A^,{D rrwILC. tsE O"T^rcD

ro vou"(N"attfrew Z:z-8)

Kupersemfuhkon TcEos Akhir ini wtuk:

? Allah Bapa di Surga afos lasih dan korunia-hlya.

I Pap, fiMwt dan adikku tercinfa.

s Almamaterku Telaik Elektro USD.

vl

Page 7: MONITORING SISTEM TELEMETRI BERBASIS PC

LEMBAR PERIVYATAAFI PERSETUJUAFI

PUBLIKASI KARYA ILMIAIT UNTT]K KEPENTINGAIY

AKADEMIS

Yang bertanda tangan di bawah ini, saya nratrasiswa Universitas Sanata Dhama :

Nama : Andry Prihatin Songko

NomorMalnsiswa :035114002

Demi pengembangan ilmu pengstahuan, saya memberikan kepada Perpustakaan

Universitas Sanata Dharma kafya ilmiah $!ya yang berjudul :

MOMTORING SISTEM TELEMETRT BERBASIS PC

Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya rnemberikan kepada

Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam

bentuk media lairq rnengelolanya dalam benfuk pandolan data, mendistribusikan s€cara

terbdas, dan mempublikasikannya di Intemet atau media lain untuk kepentingan akqdemis

tanpa perlu me.minta ijin dari saya maupun memberikan royalti kepada saya selama tetap

mencantumkan nama saya sebagai penulis.

Dengan demikian pemyataan ini yang mya buat dengan sebenamya.

Yogyakarta, t7 Maret 2010

(Andry Prihatin songko)

Yll

Page 8: MONITORING SISTEM TELEMETRI BERBASIS PC

:i

MoNrroRrNc slstErvt rbr,nnaETRr BERBAsTs pc

Andry Prifatin Songko035114002

wrlsnnr

Setiap bhun, perkembangan yang disebabkan oleh kemajuan alat komunikasisangat pesat. Dampak yang ftuncul bagi perkembangan ilmu pengetahuan sangatlah besardalam kebtrtuhan informasi. Informasi yang disampaikan dapat berupa data hasilpengukuran maupun pengamatan. Untuk mengurangi kesalahan dalam pengamatan makadibuat suatu alatlaplikasi penampil hasil pengukur jarak jauh (telemetri) denganmenggunakan PC (Personal Computer) sehingga aplikasi ini diharapkan bisa mernbantukegiatan

Nilai masukkan berasal dari tiga buah data keluaran sensor berupa frekuensi yaitus€nsor suhq tekanan dan kelembaban Ketiga data tersebut dicacah menggunakanmikrokontroler AT89S52, kemudian dikirimkan menggunakan port serial ke PC (PersonalC omput er) dan ditampilkan.

Aplikasi ini dibuat secara simulasi dikarenakan fungsi mikrokontroler sebagaifrekuensi counter tidak berhasil.

Kata kunci : telemetri

vlll

Page 9: MONITORING SISTEM TELEMETRI BERBASIS PC

TELEMETRY MONITORING SYSTEM BASED ON

PERSONAL COMPUTER

Andry Prihatin Songke035114002

ABSTRACT

Every yem, development cause by the progress of comnrunication tools is very fast.The impact for the science progress is very important for the information. It can be sent bethe measurement of results or the measur€ment of monitoring. The application formonitoring telernefiy is made for reduce the mistake in monitoring and

-ii use by pC

(Personal computer) so, this application is expecting can help the monitoring.The input is came from the ouQut s€nsor dara and it can be the frequency. The

input are temperature sensor, pressur€ sensor, and humidity sensor. The throe of data iscount by AT89S52 microcanffoler, then it sent toPC (Personal Computer) by using serialport and it shown.

The application made according to simulation because the microcontroller as afrequency counter didn't work well.

Keyword : telemetry

tx

Page 10: MONITORING SISTEM TELEMETRI BERBASIS PC

KAfA PENGANTAR

Puji dan syukur p€nulis panjatkan ke hadirat Tuhan Yang Maha Esa yang telah

melimpahkan rahmat dan karunia-Nya sehirtgga penulis dapat rnenyelesaikan tugas akhir

berjudul Monitoring Sistem Telernetri berbasis K. Tugas akhir ini menrpakan salah satu

syarat untuk memperoleh gelar Smjana pada program studi Teknik Elektro Universitas

Sanafa Dhaflra.

Penulisan tugas akhir ini tidak lepas dari bantuan berbagai pihak. Oleh karena itu,

penulis ingin mengucapkan terirnakasih kepada :

l. Yesus Kristus di Surga sumber kekuatanku.

2. Papaku Pilson Daniel Songko dan mamaku Frida Hamid tercinta yang telah

rnemberikan cinta kasih sayang do4 dukungan dan segala hal yang tak ternilai.

3. Adikku Indra Setiawan Songko atas dm, dukungan, dan pengertiannya.

4. Bapak Agustinus Bayu Primawan, S.T., M.Eng. selaku dosen pernbimbing I atas

kesabarannya dan meluangkan wakhr untuk memberi bimbingan, pengetatruan, kritik

dan saran kepada penulis dalam menyelesaikan tugas akhir.

5. Bapk Martanto, S.T., M.T. selaku dosen pernbimbing.Il atas kesabarannya dan

meluangkan waktu untuk memberi bimbingan, pengetahuan, kritik dan saran kepada

penulis dalam menyelesaikan tugas akhir.

6. Bapak Pefus Setyo Prabowo, ST selaku dosen penguji saat kolokium yang telah

menambahkan ide dan revisi untuk tugas aklrir penulis.

7. Bapak Piuz Yozy Merucahyon S.T., M.T. dan ibu Bernadeta Wuri Harini, S.T., M.T.

selalu dosen pengtdi saat pendadaran yang telah memberikan revisi untuk tugas akhir

penulis.

8. Seluruh dosen teknik elektro dan laboran yang memberikan ilmu dan pengetahuan

kepada penulis selama kuliah.

9. Semua rekan-rekan Teknik Elektro yang sudah mendukung membantu dan menghibur,

khususnya : Marselinus Rony, Ricky Nelson, Venantius Andika, Heru Wahyudi,

Nendar Wibarast4 Yanuarius B*y, Raditya W'isnu Wanrdhana dan Mariano Maximus

(TE'03).

10. Anak- anakasrama Morowali atas dukungan dan hiburannya.

11. Anak-anak paduan suara "Talenf' GKI Gejayan yang selalu menghiburku.

Page 11: MONITORING SISTEM TELEMETRI BERBASIS PC

12. Sernua orang yang terlatu buryah sehingga tidak dapt disebu&an satu-persatu yang

telah membanfu dan mendukrmg prulis.

Penulis menyadari bahwa masih banyak kelemahan dan kekurangan. Oleh karena itu

segala kritik dan saran yang rnembangun akari penulis terirna dengan senang hati.

Akhir kata" sernoga tugas akhir ini dapat bermanfaat bagi perulis maupun pernbaca

Tuhan bese*a kita.

Yogyakarta, Maret 2010

Penulis

Andryhihatin Songko

xl

Page 12: MONITORING SISTEM TELEMETRI BERBASIS PC

DAFTAR ISI

HahilarN

.IUDUL

LEMBAR PENGESAHAN OLEH PEMBIMBING

LEMBAR PENGESAHAN OLEH PENGUJI

LEMBAR PERNYATAAN KEASLIAN KARYA

MOTTO DAN PERSEMBAHAN

LEMBAR PERI-IYATAAN PERSETUruAN PUBLIKASI KARYA

ILMIAH I.JNTT]K KEPENTINGAN AKADEMIS . . ... .. . .. . .. . .. . ..

TNTISARI

ABSTRACT

KATA PENGAhITAR

DAFTAR ISI

DAFTAR GAIV{BAR

DAFTAR TABEL

BAB I PENDATULUAhI

1.1. Latar Belakang ldasalah l

12. Tujuarr dan lv{anfaat P€fldlitiad 2

1.3. Batasan Masalah 2

1.4. Metodologi Penelitian ......,. 2

BAB II bASAR TEORI

2.1. tvlik*okonnoterATE9S52.".......... ......4

22.1. Fasil itasyangditnil lkiATS9S52 .............. 4

2.2.2. Deskripsi fungsi pili ddri AT89S52 ............ 5

2.2.3. SisternlnterupsiATSgss2 ....... 7

2.2.4. Sistern Tinier AT89S52 ............ I

2.2.5. On-Chiposci lator . . . . . . . . . . . . . . . . l l

22.6- Komunikasi Serlal ......,.......... l2

2.2.7. Konfigurasi Port Serial ............. ... 13

22. Yisual Basic 6.0 Enterprises ........."."... 15

2.2.1. Window Properfy ..... 15

i

111

iv

v

Y1

vii

viii

ix

x

xii

xiv

xvii

xll

Page 13: MONITORING SISTEM TELEMETRI BERBASIS PC

2.2.2.Form Designer .. . . . . . . . . . 15

2.2.3.FormWindowlayout .. . . . . . . . . . . . . . lF

2.2.4. Kornunikasi Serial Dengan Visual Basic 5. 0 Enterprises ... 15

BAB IN PERANCANGAI\I ...............19

3.1. Diagram Blok ... . . . .

3.2. Peranoangan 19

3.2.1. Bagian Masulran 19

3.2.2. Bagian Pengolah 19,.

3.2.3. Bagian Keluaran ... . . . . . . , . . . . . . 22

3.2.3.1. Fonn Awal 23

3.2.3.2. Fonn Utama.... . . . . . . . . 24

BAB IV ITASIL DAIY PEMBAHASAII 3I

4.1. BagianMasukan 31

4.2. Bagian Pengolatr 33

4.2.1. Frequency Coanter 33

4.2.2. Pengiriman Data Menggunakan Kornunikasi Serial ..... 33

4.3. Bagian Keluaran ... . . . ' . . . . . . . . . 33

4.3.1. Penghitungan Frekuensi 33

4.3.2. Konversi Besaran 36

4.3.3. PenyimpartanData .... 40

BAB V KESIMPT}LAI\T DAN SARAN 42

5.1. Kesimpulan 42

5.2- Saran 42

DAFTAR PUSTAKA 43

LAMPIRAN LIST PROGRAM MIKROKONTROLER

LAMPIRAN LIST PROGRAM VISUAL BASIC

LAMPIRAN RANGKAIAN MIKROKONTROTE R

xIlr

Page 14: MONITORING SISTEM TELEMETRI BERBASIS PC

f{alaman

Gambar 2.1.

Gambar 22.

Gambar 2.3.

Gambtr 2,4.

Gambar 2.5.

Garnbar 2.6.

Ctambar2.7.

Gambar 2.8"

Gambar 2.9.

Gambar 3.1.

Gambar 3.2.

Garnbar 3.3.

Sambar 3.4.

Cambar l.S.

Gambar 3.6.

barnlar:.?.

Gambar 3,8,

Gambar 3.9.

DAFTAR GAMBAR

Konfigurasi Pin ATE9S52 ......,....

Register Intemtpt Enobled

Register TCON

RegisterTMOI)

RegisterT2CON

Rangkaian Oscilator

Susunan bit dalam reglst€r SCON

Konektor DB - 9

Konfigurasi Port Serial .."..........

Sistern Telennebi

Diagram Blok Monitoring Slstem Telemetri berbasls PC ...........

DiaSrdtil Bagian Masukan ...i..........

blagrdfil Alir Utama Program Frekuensi Counter

Gelontbang Masukafl ...:............

Diagrdtn Alir Pengukuran Nllai Perioda

Diagrarrt Alh Pengirirnan Nlldi P€rioda

Bnt UUgram Bagian Keluaran

Forrrr Awal

5

7

I

9

10

l l

l3

13

16

l8

l9

t9

20

2A

2l

2l

22

22

23Gambar 3.10. biagr#rl AlirForm Awal

bambar 3.1t. Form f,atat .......

Gambar3.l2. Diagrdil lAlirFonteBatdl ....... ,.............. 23

Gambar:.|*. borm MuntrUtama 74

Gambar 3.14. Diagram Alir Form Utama secara Garls Besar 25

Gambar 3.15. Diagrarn Alir Penerimaan ha ........ 25

Gambar 3.16. Diagrafii Alir Persarnaan Korlversi keNilai Data ........ 29

Gambm 3.17. Tampilan Grafik Suhu yartg [llptesar

Gatnbar3.18. TampilanGrafik Suhu yaag Dtpetbesat ................ 30

Gambar3-l9. TampilanGrafikSuhuyangDiperbesar ... 30

Gambar4.l. PengujianMultiplek 3l

xlv

Page 15: MONITORING SISTEM TELEMETRI BERBASIS PC

Ganbar +.2. tarnpilan prderun Pengukurah t'rckuensi ... 36

Gambar 4.3. Tampilm hogram Keselunrha ......."........ 37

Cnmbar 4.4. Taapilaa fuabase lksil Penyimpanan Dda Pengamdan ....., ".,... 4l

Page 16: MONITORING SISTEM TELEMETRI BERBASIS PC

Halaman

Tabel 2.1.

Tabel2.2.

Tabel2.3,

Tabel2.4.

Tabel2.5.

Tabel2.6.

Tabel2.7.

Tabel 3.1.

Tabel 3.1.

Tabel3.2.

Tabel3.2.

Tabel3.3.

Tabel 4.1.

Tabel4.2.

Tabel4.3.

Tabel4.4.

Tabel4.5.

Tabel4.6.

Tabel4.4.

DAFTAR TABEL

Fungsi Tambahan padaPort I ...---....---

Fungsi Kendali Khusus pada Poa 3 ..........

Register B (Interrupt Enabled Register) ...............

Mode Kefia timer/counter .......

Mod€ - mode Operasi Timer 2 ............

Konfigurasi kaki -kaki DB - 9 ............

Alamat dan Lokasi BitRegister UART

Konversi Frekuensi ke Suhu

panjutan) Konversi Frekuensi ke Suhu

Konversi Frekuensi ke Tekanan

(Lanjutan) Konversi Frekuensi ke Tekanan

Konversi Frekuensi ke Kelembaban

Hasil Penguj ian Multiplek

HasilPengujianKomunikasi Serial . . . . . . . . . . . . . . . . . . . . .

Range Frekuensi yang Terpakai .................

Data perbandingan secara teoritis dengan data yang ditampilan

(fnekuensi ke suhu) ...................

Data p€rbandingan socara teoritis dengan data yang ditampilan

(frekuensi ke tekanan)

Data perbardingan secara teoritis dengan datayang ditampilan

(frekuensi ke kelembaban)

(Lanjutan) Data perbandingan secara teoritis dengan data

yang ditampilan (frekuensi ke kelernbaban)

5

6

7

9

11

l4

l7

26

27

27

28

28

32

33

33

38

39

39

4A

xYl

Page 17: MONITORING SISTEM TELEMETRI BERBASIS PC

1

BAB I

PENDAHULUAN

1.1. Latar Belakang Masalah. Setiap tahun, perkembangan yang disebabkan oleh kemajuan alat komunikasi

sangat pesat. Dampak yang muncul bagi perkembangan ilmu pengetahuan sangatlah besar

dan penting selain untuk kebutuhan informasi, sistem komunikasi dapat juga digunakan

dalam pengendalian jarak jauh dalam pentransmisian data.

Suatu informasi baik berupa data pengukuran atau hasil pengamatan dikirim dan

diterima, kemudian diproses sangat dibutuhkan sarana transmisi data yang cepat, akurat

dan bisa dipindah-pindah sehingga untuk mengirim data yang sulit untuk dijangkau, hal ini

dapat dengan mudah untuk diatasi. Pentransmisian data dapat menggunakan berbagai

media, salah satunya adalah dengan gelombang radio. Gelombang radio digunakan sebagai

media transmisi karena bersifat fleksibel dan mempunyai rentang frekuensi yang cukup

lebar. Selain itu mudah dipindahkan karena tidak terkait dengan jaringan kabel.

Sistim Telemetri dengan Metode Multi Tone menggunakan prinsip sinyal informasi

menggunakan frekuensi tone yang mewakili perubahan data hasil pengukuran sensor. Sisi

pemancar membangkitkan frekuensi tone berdasar perubahan data keluaran sensor,

frekuensi-frekuensi tersebut kemudian dijumlahkan untuk kemudian diumpankan pada

modulator frekuensi [1]. Sisi penerima mengembalikan frekuensi diterima kemudian

memisahkan kedua frekuensi dengan tapis pelewat jalur bawah (LPF) , tapis pelewat jalur

atas (HPF), dan tapis pelewat bidang (BPF) [2]. Keluaran dari bagian penapis ini berupa

frekuensi dengan range tertentu dan melalui mikrokontroler akan dikonversi sehingga data

keluarannya bukan lagi frekuensi melainkan data biner. Data biner inilah yang akan dikirim

ke penampil.

Untuk mendapatkan hasil tampilan yang memuaskan bagi pengguna (friendly user)

maka penulis membuat suatu alat/aplikasi penampil hasil pengukur jarak jauh ( telemetri)

dengan menggunakan PC (Personal Computer) sehingga aplikasi ini diharapkan bisa

membantu kegiatan pengukuran.

Page 18: MONITORING SISTEM TELEMETRI BERBASIS PC

2

1.2. Tujuan dan Manfaat Penelitian Tujuan yang ingin dicapai dari pembuatan alat ini adalah

1. Membuat software yang dapat menampilkan data-data dari tiga buah sensor

yaitu sensor suhu, sensor kelembaban dan sensor tekanan.

2. Mengaplikasikan mikrokontroler sebagai frekuensi counter.

Sedangkan manfaat dari pembuatan alat ini adalah :

1. Sebagai salah satu bagian dari keseluruhan sistem telemetri termodulasi

frekuensi dengan metode multitone.

2. Sistem pembacaan pengukuran yang dilakukan menjadi lebih mudah.

3. Sebagai dasar pengembangan untuk aplikasi lainnya yang lebih bervariasi.

1.3. Batasan Masalah Agar permasalahan yang ada tidak berkembang menjadi luas, maka perlu adanya

batasan terhadap permasalahan yang akan dibuat yaitu:

1. Data masukan yang diterima mikrokontroler dari 3 buah sensor berupa frekuensi

dengan rentang 2KHz sampai 20 KHz.

2. Rentang frekuensi untuk data masukan dari sensor suhu adalah 2 KHz – 7 KHz.

3. Rentang frekuensi untuk data masukan dari sensor tekanan adalah 8 KHz – 13

KHz.

4. Rentang frekuensi untuk data masukan dari sensor ketinggian adalah 14 KHz – 20

KHz.

5. Mikrokontroler sebagai frekuensi counter.

6. Port serial berfungsi sebagai pengirim data dari mikrokontroler ke PC.

7. PC berfungsi untuk mengkonversi data keluaran mikrokontroler dan penampil.

8. Visual Basic merupakan software yang dipakai untuk mengkonversi dan

menampilkan hasil akhir pengukuran.

9. Hasil tampilan dapat disimpan berupa database.

1.4. Metode Penelitian Dalam penyusunan Tugas Akhir ini dilakukan beberapa metodologi

penelitian. Adapun metodologi penelitian yang dilakukan terdiri dari :

Page 19: MONITORING SISTEM TELEMETRI BERBASIS PC

3

1. Studi pustaka, yaitu dengan mengumpulkan dan mempelajari berbagai

informasi, baik dari buku, makalah maupun internet mengenai hal-hal yang

berkaitan dengan sistem telemetri secara umum dan penampil telemetri

secara khususnya sehingga informasi yang diperoleh dapat digunakan

sebagai referensi pendukung dalam penyusunan laporan.

2. Melakukan dialog secara langsung dengan pembimbing tugas akhir.

3. Merealisasikan pengetahuan yang diperoleh dalam bentuk perancangan

software maupun hardware.

4. Melakukan pengujian terhadap hasil perancangan agar dapat diketahui hasil

secara realistis.

5. Menganalisis hasil pengujian dan membandingkan dengan teori yang ada.

6. Mengambil kesimpulan terhadap perancangan dan pengujian yang telah

dilakukan.

Page 20: MONITORING SISTEM TELEMETRI BERBASIS PC

4

BAB II

DASAR TEORI

Monitoring sistem telemetri berbasis PC dibuat untuk mengetahui keadaan

(suhu,tekanan udara dan ketinggian) pada suatu tempat. Untuk membangun aplikasi

tersebut secar garis besar dibutuhkan mikrontroler, serial port, dan PC. Dimana

mikrokontroler berfungsi sebagai frekuensi counter karena akan mencacah data masukan

berupa frekuensi, serial port berfugsi sebagi media pengirim data keluaran dari

mikrokontroler ke PC, dan PC sebagai media penampil. Hal-hal pendukung di atas akan

dijelaskan sebagi berikut.

2.1. Mikrokontroler AT89S52 Meskipun perkembangan mikrokontroler didahului dengan munculnya

mikroprosesor yang berdampak pada pesatnya pengembangan teknologi komputer,

mikrokontroler sangat dibutuhkan untuk menjadi pengontrol utama sistem elektronika

digital berukuran kecil dan menengah. Pada mikrokontroler sudah terdapat komponen –

komponen mikroprosesor dengan bus – bus internal yang saling berhubungan. Komponen

– komponen tersebut adalah RAM, ROM, timer, komponen I/O paralel dan serial, dan

interrupt kontroler.

Dalam perancangan ini, mikrokontroler yang digunakan adalah mikrokontroler

AT89S52 buatan Atmel.

2.2.1 Fasilitas yang dimiliki AT89S52 Pada mikrokontroler AT89S52 mempunyai beberapa fitur standar yaitu memiliki

8K bytes flash memory, 256 bytes RAM, 32 jalur I/O, watchdog timer, dua data pointer

register, tiga timer/counter 16-bit, 6 sumber interupsi (dua buah interupsi eksternal, tiga

buah interupsi internal dan satu buah interupsi port serial), port serial full-duplex, on-chip

oscillator, dan untai clock. AT89S52 juga terdapat fasilitas ISP (In System Programming),

yang artinya mikrokontroler ini mampu diprogram meskipun dalam kondisi bekerja.

Mikrokontroler AT89S52 memakai pin MOSI, MISO, dan SCK untuk flash programming

(mengisi program). Gambar 2.3 memperlihatkan konfigurasi 40 kaki IC AT89S52.

Page 21: MONITORING SISTEM TELEMETRI BERBASIS PC

5

Gambar 2.1 Konfigurasi Pin AT89S52.

2.2.2 Deskripsi fungsi pin dari AT89S52 : a. Port 0 (pin 32-39).

Merupakan port I/O bertipe open drain bidirectional. Port 0 dapat dikonfigurasikan

sebagai bus alamat/data bagian rendah saat proses pengaksesan memori data dan

program eksternal.

b. Port 1 (pin 1-8).

Merupakan port I/O dwi-arah yang dilengkapi dengan pullup internal. Port 1 juga

menerima alamat bagian rendah (low byte) selama proses pemrograman dan

verifikasi flash. Beberapa pin port 1 ini memiliki fungsi tambahan, yaitu sebagai

berikut :

Tabel 2.1 Fungsi tambahan pada port 1

Port pin Fungsi

P1.0 T2 (masukan cacahan eksternal untuk

Timer/Counter 2)

P1.1 T2EX (masukan picu untuk Timer/Counter 2)

c. Port 2 (pin 21-28).

Merupakan port I/O dwi arah di mana akan memberikan byte alamat bagian tinggi

(high byte) selama pengambilan instruksi dari memori program eksternal dan

selama pengaksesan memori data eksternal.

d. Port 3 (pin 10-17).

Page 22: MONITORING SISTEM TELEMETRI BERBASIS PC

6

Merupakan port I/O dwi arah dan mempunyai fungsi kendali khusus. Fungsi

kendali khusus port 3 ditunjukkan pada tabel berikut :

Tabel 2.2 Fungsi kendali khusus pada port 3

Port pin Fungsi

P3.0 RXD (port masukan serial)

P3.1 TXD (port keluaran serial)

P3.2 0INT (interupsi eksternal 0)

P3.3 1INT (interupsi eksternal 1)

P3.4 T0 (masukan ekternal pewaktu/pencacah 0)

P3.5 T1 (masukan ekternal pewaktu/pencacah 1)

P3.6 WR (sinyal tanda baca memori data eksternal)

P3.7 RD (sinyal tanda tulis memori data eksternal)

e. PSEN (Program Store Enable, pin 29).

PSEN merupakan sinyal tanda baca untuk memori program eksternal.

f. ALE/ PROG (Address Latch Enable, pin 30). Sinyal keluaran ALE

menghasilkan pulsa-pulsa untuk mengunci byte rendah (low byte) alamat selama

mengakses memori eksternal. Pin ini juga berfungsi sebagai masukan pulsa

program( PROG ) selama pemrograman.

g. EA /VPP (External Access Enable, pin 31). Saat mikrokontroler akan

mengeksekusi program dari memori eksternal lokasi 0000h hingga FFFFh maka

kaki ini harus dihubungkan ke ground. Sedangkan jika untuk mengakses program

secara internal maka harus dihubungkan ke VCC.

h. RST (Reset, pin 9).

Jika diberikan logika tinggi selama paling sedikit 2 siklus mesin, akan mereset

mikrokontroler.

i. VCC (pin 40).

Berfungsi sebagai pin masukan suplai tegangan mikrokontroler.

j. GND (kaki 20).

Digunakan sebagai pin masukan ground mikrokontroler.

Page 23: MONITORING SISTEM TELEMETRI BERBASIS PC

7

k. XTAL (kaki 18 dan 19).

Sebagai masukan dari rangkaian osilator.

2.2.3 Sistem Interupsi AT89S52 Mikrokontroler AT89S52 menyediakan enam sumber interupsi. Dua interupsi

eksternal (External Interrupt) yang berasal dari kaki 0INT dan 1INT , tiga interupsi

Pewaktu (Timer Interrupt) yang berasal dari Timer 0, Timer 1 dan Timer 2 dan sebuah

interupsi Port Serial (Serial Port Interrupt) yang berasal dari bagian penerima dan bagian

pengirim port Serial.

Semua sumber permintaan interupsi yang dibahas di atas, masing-masing bisa

diaktifkan atau di-non-aktifkan secara tersendiri lewat bit-bit register IE (Interrupt Enable

Register) dalam SFR. Jika isinya ’1’ artinya bit aktif(enable interrupt) sedangkan ’0’

artinya bit pasif (disable interrupt). Gambar 2.4 menunjukkan register IE pada

mikrokontroler AT89S52. [3]

Gambar 2.2 Register Interrupt Enable

Fungsi-fungsi register IE dapat dilihat pada tabel 2.3 berikut ini :

Tabel 2.3 Register IE (Interrupt Enable Register)

Simbol Posisi Fungsi

EA IE.7 Untuk mematikan dan menghidupkan seluruh

interupsi secara serentak.

- IE.6 Cadangan ATMEL seri berikutnya

ET2 IE.5 Bit aktivasi interupsi timer 2

ES IE.4 Bit aktivasi interupsi Port Serial/SPI dan UART.

ET1 IE.3 Bit aktivasi interupsi timer 1

EX1 IE.2 Bit aktivasi interupsi external 1

ET0 IE.1 Bit aktivasi interupsi timer 0

EX0 IE.0 Bit aktivasi interupsi external 0

Page 24: MONITORING SISTEM TELEMETRI BERBASIS PC

8

Pin IE7 digunakan sebagai kontrol utama bagi interupsi-interupsi yang lain. Bila bit

ini bernilai ’0’, maka apapun kondisi bit lain dalam register ini, semua interupsi tidak akan

dilayani. Oleh karena itu untuk mengaktifkan salah satu interupsi, bit ini harus bernilai ’1’.

Pin IE5 dipergunakan untuk bit aktivasi interupsi timer 2, Pin IE4 dipergunakan sebagai

bit aktivasi interupsi port serial(SPI dan UART), apabila aktif maka interrupt akan terjadi

setiap ada data yang masuk ataupun keluar melalui port serial yang membuat Flag RI

(Receive Interrupt Flag) ataupun TI (Transmit Interrupt Flag) bernilai 1. Pin IE3 dan IE1

digunakan untuk timer 0 dan timer 1. Bila terjadi limpahan pada masing-masing timer,

interupsi ini akan bernilai tinggi atau 1. Pin IE2 dan IE0 dipergunakan sebagai input

interupsi yang berasal dari luar, interrupt akan terjadi pada saat terjadi pulsa low pada

INT1 dan INT0. [3]

2.2.4 Sistem Timer AT89S52 Pada AT89S52 memiliki 3 buah timer yaitu timer 0, timer 1 dan timer 2 yang

merupakan Timer/counter 16-bit.

a. Timer 0 dan Timer 1

Timer 0 dibentuk dengan register TL0 (timer 0 low byte, alamatnya pada RAM

internal adalah 6AH) dan register TH0 (timer 0 high byte, alamatnya 6BH).

Sedangkan timer 1 dibentuk dengan register TL1 (timer 1 low byte, alamatnya

6CH) dan register TH1 (timer 1 high byte, alamatnya 6DH).

Untuk mengatur kerja timer/counter dipakai 2 register tambahan yang dipakai

bersama oleh timer 0 dan timer 1. Register tambahan tersebut adalah register

TCON (timer control register, alamatnya 88H dan bisa dialamat secara bit) dan

register TMOD (timer mode register, alamatnya adalah 89H).

Gambar 2.3 Register TCON

TF1/TF0 : sebagai bit flag penampung overflow timer 1/timer 0.

TR1/TR0 : sebagai bit pengatur aktif tidaknya timer 1/timer 0.

IE1/IE0 : sebagai bit flag adanya interupsi eksternal I/O.

IT1/IT0 : sebagai bit untuk mengatur level pemicuan IE1/IE0.

Page 25: MONITORING SISTEM TELEMETRI BERBASIS PC

9

Gambar 2.4 Register TMOD

Timer/counter akan bekerja Jika TRx (TR1 atau TR0, dalam TCON) bernilai

’1’ dan gate bernilai ’1’. C/T sebagai bit selektor untuk memilih timer atau counter

dan gate merupakan pengatur saluran sinyal clock. M1/M0 digunakan sebagai bit

pemilih mode kerja timer. [3]

Tabel 2.4 Mode Kerja timer/counter

Pada mode 0, mode 1 dan mode 2, timer 0 dan timer 1 masing-masing bekerja

sendiri, artinya bisa dibuat timer 0 bekerja pada mode I dan timer 1 bekerja pada

mode 2, atau kombinasi mode lainnya sesuai dengan keperluan. Berikut ini mode-

mode operasi sistem timer pada AT89S52:

a. Mode 0 (pencacah biner 13-bit)

Timer/Counter bekerja sebagai pencacah 13-bit, yaitu pada TLx(bisa TL0

dan TL1) sebagai pencacah 5-bit dan limpahan dari pencacah biner 5-bit ini

dihubungkan ke THx(bisa TH0 dan TH1) sebagai pencacah 13-bit.

Limpahan dari pencacah 13-bit ini ditampung di TFx(bisa TF0 dan TF1)

yang berada pada register TCON. Saat terjadi limpahan (dari 1FFFh ke

0000h) maka flag interupsi Timer 1 (TF1) akan diset (=’1’). Masukan

pencacah (baik dari eksternal (Tx) maupun internal (1/2 F.osc)) diaktifkan

jika TRx berlogika tinggi (‘1’) dan gate berlogika rendah (‘0’) atau INTx

berlogika tinggi. [3]

M1 M0 Mode kerja

0 0 0 Pencacah biner 13 bit

0 1 1 Pencacah biner 16 bit

1 0 2 8 bit auto reload timer/counter

1 1 3 Gabungan pencacah biner 16 bit dan 8 bit.

Page 26: MONITORING SISTEM TELEMETRI BERBASIS PC

10

b. Mode 1 (pencacah biner 16-bit)

Mode ini sama dengan mode 0, hanya saja register TLx dipakai

sepenuhnya sebagai pencacah biner 8-bit, sehingga kapasitas pencacah biner

yang terbentuk adalah 16-bit. Seiring dengan sinyal clock, kondisi pencacah

biner 16-bit dimulai dari 0000h sampai FFFFh, kemudian kembali menjadi

0000h (pada saat itu terjadi sinyal overflow pada TFx). [3]

c. Mode 2 (pencacah biner 8-bit reloaded)

TLx dipakai sebagai pencacah biner 8-bit, sedangkan THx dipakai untuk

menyimpan nilai yang diisikan ulang ke TLx setiap kali kondisi TLx

melimpah (overflow) atau berubah dari FFh menjadi 00h. Dengan cara ini

bisa diperoleh sinyal overflow yang frekuensinya bisa ditentukan oleh nilai

yang disimpan dalam THx. [3]

d. Mode 3 (Gabungan pencacah 16-bit dan 8-bit)

Pada mode 3 ini TL0, TH0, TL1 dan TH1 dipakai untuk membentuk 3

rangkaian pencacah. Yang pertama pencacah biner 16-bit tanpa fasilitas

pemantau sinyal overflow dibentuk dengan TL1 dan TH1. Yang kedua

pencacah biner 8-bit dengan TF0 sebagai sarana pemantau overflow dibentuk

dengan TL0. Dan yang ketiga pencacah biner 8-bit dengan TF1 sebagai

sarana pemantau overflow dibentuk dengan TH0 dimana TH0-lah yang

mengendalikan interupsi timer 1 (TF1). [3]

b. Timer 2

Timer 2 adalah sebuah Timer/Counter 16-bit. Ini merupakan tambahan

kemampuan, selain itu terdapat 5(lima) register fungsi khusus (SFR) tambahan

yaitu register-register TL2 dan TH2, register kontrol timer T2CON dan register-

register capture RCAP2L dan RCAP2H.

Gambar 2.5 Register T2CON

Page 27: MONITORING SISTEM TELEMETRI BERBASIS PC

11

Jenis mode operasi untuk timer 2 ditentukan oloh bit 2/TC pada SFR T2CON.

Timer 2 terdiri dari 2 buah register 8-bit, TH2 dan TL2. Saat berfungsi sebagai

timer, register TL2 akan meningkat setiap siklus mesin. Berikut ini adalah mode

operasi untuk timer 2. [3]

Tabel 2.5 Mode-mode operasi Timer 2

RCLK/TCLK CP/RL2 TR2 Mode

0 0 1 Isi-ulang 16 bit

0 1 1 Capture 16 bit

1 X 1 Generator baud-rate

X X 0 OFF

2.2.5 On-chip Oscillator Mikrokontroler AT89S52 telah memiliki on-chip oscillator yang dapat bekerja

dengan menggunakan kristal eksternal yang dihubungkan ke pin XTAL1 dan XTAL2.

Tambahan kapasitor yang terhubung dengan ground diperlukan untuk menstabilkan sistem.

Gambar 2.8 menunjukkan cara menghubungkan kristal sumber detak dengan

mikrokontroler AT89S52. Jika sumber detak yang digunakan adalah kristal maka besar

kapasitor yang terpasang adalah 30 pF ± 10 pF sesuai dengan yang dinyatakan pada

datasheet. Kristal dengan frekuensi maksimum 24 MHz dan 2 kapasitor 30 pico-Farad

dipakai untuk melengkapi rangkaian osilator pembentuk clock yang menentukan kecepatan

kerja mikrokontroler. [3]

XTAL1 (pin 19)C1

C2XTAL2 (pin 18)

XTAL

Gambar 2.6 Rangkaian osilator

Page 28: MONITORING SISTEM TELEMETRI BERBASIS PC

12

2.2.6 Komunikasi Serial Ada dua macam cara pengiriman (transmisi) secara serial yaitu komunikasi sinkron

dan komunikasi asinkron. Pada komunikasi sinkron sinyal detak dikirim bersama-sama

dengan data serial. Selanjutnya dalam transmisi data serial secara asinkron, detak tidak

dikirim bersama data serial.

Port serial pada AT89S53 bersifat duplex penuh atau full-duplex, artinya port

serial bisa menerima dan mengirim data pada waktu bersamaan. Port serial memiliki

penyangga penerima yaitu serial buffer (SBUF). Port serial dapat menerima byte yang

kedua sebelum byte yang pertama dibaca oleh register penerima, melalui register SBUF.

SBUF selalu berhubungan dengan akumulator dalam mengisi dan menerima data.

Port serial pada AT89S53 bisa digunakan dalam empat mode kerja. Dari ke-empat

mode tersebut, 1 mode diantaranya bekerja secara sinkron dan tiga mode lainnya bekerja

secara asinkron. Semua mode dapat diatur melalui register kontrol serial (SCON).

Keempat mode kerja tersebut adalah :

Mode 0 Mode ini bekerja secara sinkron, data serial dikirim dan diterima

melalui kaki P3.0 (RxD), sedangkan kaki P3.1 (TxD) dipakai untuk menyalurkan detak

pendorong data serial yang dibangkitkan AT89S53. Data dikirim/diterima 8 bit sekaligus,

dimulai dari bit yang bobotnya paling kecil atau LSB (bit 0), diakhiri dengan bit yang

bobotnya paling besar atau MSB (bit 7). Kecepatan pengiriman data (baudrate) adalah

1/12 frekuensi kristal yang digunakan.

Mode 1 Pada mode ini, data dikirim melalui kaki P3.1 (TxD) dan diterima

melalui kaki P3.0 (RxD) secara sinkron (begitu juga mode 2 dan 3). Pada mode ini, data

dikirim/diterima 10 bit sekaligus, diawali dengan 1 bit start, disusul 8 bit data yang

dimulai dari bit yang bobotnya paling kecil (bit 0), diakhiri dengan 1 bit stop. Pada

AT89S53 yang berfungsi sebagai penerima bit stop adalah RB8 dalam register Serial

Control (SCON). Kecepatan pengiriman data (baudrate) bisa diatur sesuai dengan

keperluan. Mode inilah (mode 2 dan juga mode 3) yang umum dikenal sebagai UART atau

Universal Asynchronous Receiver/Trasmitter.

Mode 2 Data dikirim 11 bit, diawali dengan 1 bit start, kemudian 8 bit data.

Bit ke-9 yang dapat diatur lebih lanjut dan diakhiri dengan 1 bit stop. Pada AT89S53 yang

berfungsi sebagai pengirim bit 9 tersebut berasal dari bit TB8 dalam register SCON. Pada

AT89S53 yang berfungsi sebagai penerima bit 9 ditampung pada bit RB8 dalam register

Page 29: MONITORING SISTEM TELEMETRI BERBASIS PC

13

SCON, sedangkan bit stop diabaikan dan tidak ditampung. Kecepatan pengiriman data

(baudrate) bisa dipilih antara 1/32 atau 1/64 frekuensi kristal yang digunakan.

Mode 3 Mode ini sama dengan mode 2, hanya saja kecepatan pengiriman

data (baudrate) bisa diatur sesuai keperluan, seperti halnya pada mode asinkron (mode 1,

mode 2, mode 3).

Register kontrol dan status untuk port serial berada dalam SCON seperti

diperlihatkan pada Gambar 2.7.

Gambar 2.7 Susunan bit dalam register SCON

Nilai baudrate pada komunikasi serial ditentukan oleh kristal yang digunakan,

karena berpengaruh pada jumlah limpahan timer. Perhitungan baudrate sesuai dengan

persamaan 2.1.

1 Limpahan Laju 32

2SMOD

timerbaudrate ……………………(2.1) [3]

2.2. Konfigurasi Port Serial Gambar 2.9 merupakan gambar konektor port serial DB-9 pada bagian belakang

CPU. Pada komputer IBM PC kompatibel terdapat konektor serial DB-9 yang dinamai

COM1 dan atau COM2. Standar RS232 menyangkut komunikasi data antara komputer

(Data Terminal Equipment/DTE) dengan alat-alat pelengkap komputer (Data Circuit-

Terminating Equipment/DCE).

Gambar 2.8 Konektor DB-9

Page 30: MONITORING SISTEM TELEMETRI BERBASIS PC

14

Tabel 2.9 menunjukkan konfigurasi kaki-kaki dan nama sinyal konektor serial DB-

9. Keterangan mengenai fungsi saluran RS 232 pada konektor DB-9 adalah sebagai berikut

:

Received Line Signal Detect. Dengan saluran ini DCE memberitahukan ke

DTE bahwa pada terminal input ada data masuk.

Received Data, digunakan DTE menerima data dari DCE.

Transmit Data, digunakan DTE mengirim data ke DCE.

Data Terminal Ready, pada saluran ini DTE memberitahukan terminal siap.

Signal Ground, saluran ground.

Ring Indikator. Pada saluran ini DCE memberitahukan ke DTE bahwa

sebuah stasiun menghendaki hubungan dengannya.

Clear To Send. Dengan saluran ini DCE memberitahukan bahwa DTE

memulai mengirim data.

Request To Send. Dengan saluran ini DCE diminta mengirim data oleh

DTE.

DCE Ready. Sinyal aktif pada saluran ini menunjukkan bahwa DCE sudah

siap.

Tabel 2.6 Konfigurasi kaki-kaki DB-9

Nomor Nama Sinyal Direction Keterangan 1 DCD In Data carrier detect/Received 2 RxD In Received Data 3 TxD Out Transmit Data 4 DTR Out Data Terminal Ready 5 GND - Ground 6 DSR In Data Set Ready

7 RST Out Request to Send 8 CTS In Clear to Send 9 RI In Ring Indikator

Untuk dapat menggunakan port serial perlu diketahui alamatnya. Tersedia dua port

serial pada CPU, yaitu COM1 dan COM2. Base address COM1 adalah 1016 (3F8H0) dan

Page 31: MONITORING SISTEM TELEMETRI BERBASIS PC

15

COM2 adalah 760 (2F8h). Alamat tersebut adalah alamat yang biasa digunakan. Tepatnya

pada peta memori tempat menyimpan alamat tersebut, yaitu memori 0000 0400H untuk

base address COM1 dan memori 0000 0402H untuk base address COM2 [4].

2.2 VISUAL BASIC 6.0 ENTERPRISES

2.2.1 Window Property Window ini digunakan untuk menampilkan pengaturan property control atau form

yang dipilih. Sebuah property merupakan karakteristik obyek seperti size, caption, atau

color [5].

2.2.2 Form Designer Form designer merupakan sebuah window yang digunakan untuk mengatur

aplikasi. Dalam Form ini dapat ditambahkan kontrol, grafik, dan gambar ke dalam form

sesuai posisi yang diinginkan [5].

2.2.3 Form Window Layout Form Window layout ini digunakan untuk mengontrol posisi form pada aplikasi

dengan menggunakan sistem grafik dalam sebuah layar [5].

2.2.4 Komunikasi Serial Dengan Visual Basic 6.0 Enterprises Dikenal dua cara komunikasi data secara serial, yaitu komunikasi data secara

sinkron dan asinkron. Pada komunikasi data serial sinkron, clock dikirim bersama-sama

dengan data serial, sedangkan komunikasi data secara asinkron, clock tidak dikirim

bersama data serial, tetapi dibangkitkan sendiri-sendiri baik pada sisi pengirim (transmiter)

maupun penerima (receiver). Komunikasi data secara serial ini dikerjakan oleh UART

(Universal Asinchronous Receiver/Transmiter).

Pada UART, kecepatan pengiriman data (baud rate) dan fase clock pada sisi

transmiter dan receiver harus sinkron. Untuk itu diperlukan sinkronisasi antara transmiter

dan receiver. Hal ini dilakukan oleh bit ‘start’ dan bit ‘stop’. Ketika saluran transmisi

dalam keadaan idle, output UART adalah dalam keadaan logika ‘1’. Ketika transmiter

ingin mengirimkan data, output UART akan diset lebih dahulu ke logika ‘0’ untuk waktu 1

bit. Sinyal pada receiver akan dikenali sebagai sinyal ‘start’ yang digunakan untuk

mensinkronkan fase clock-nya sehingga sinkron dengan fase transmiter. Selanjutnya data

Page 32: MONITORING SISTEM TELEMETRI BERBASIS PC

16

akan dikirim secara serial dari bit paling rendah (bit0) sampai bit tertinggi. Selanjutnya

akan dikirim sinyal ‘stop’ sebagai akhir pengiriman data serial [4].

A. Konfigurasi Port Serial

Gambar 2.19 menunjukkan gambar konektor port serial DB-9. Pada komputer IBM

PC kompatibel biasanya kita dapat menemukan dua konektor yang dinamai COM1 dan

COM2 [4]

Gambar 2.9 Konfigurasi Port Serial

B. Pengaksesan Port Serial

Untuk mengakses port serial terdapat dua cara yaitu :

1. Pengaksesan secara langsung melalui register UART

Saluran yang digunakan UART untuk komunikasi baik untuk pengiriman maupun

penerimaan data adalah saluran RxD dan TxD serta saluran-saluran kontrol seperti DCD,

DSR, RTS, CTS, DTR, dan RI. Saluran-saluran ini ada yang sebagai output dan ada yang

sebagai input. Kecuali saluran RxD, saluran-saluran ini dapat diakses secara langsung

melalui register UART. Tabel 2.4 berisi alamat dan lokasi bit saluran tersebut pada

register UART.

Page 33: MONITORING SISTEM TELEMETRI BERBASIS PC

17

Tabel 2.7. Alamat dan lokasi bit register UART

Nama Pin Nomor Pin

Pada DB-9

COM1 COM2 Bit Arah

TxD 3 2FBh 2FBh 6 Output

DTR 4 2FCh 2FCh 0 Output

RTS 7 2FCh 2FCh 1 Output

CTS 8 2FEh 2FEh 4 Input

DSR 6 2FEh 2FEh 5 Input

RI 9 2FEh 2FEh 6 Input

DCD 1 2FEh 2FEh 7 Input

Untuk dapat mengaksesnya kita dapat menggunakan fungsi Port_Out dan Port_In

yang terdapat pada Port_IO.DLL dan untuk men-set atau meng-clear-kan bit-bit tertentu

kita dapat menggunakan prosedur Set_Bit atau Clear_Bit.

2. Pengaksesan dengan menggunakan MSComm

Kontrol MSComm menyediakan fasilitas komunikasi antara program aplikasi yang

kita buat dengan port serial untuk mengirim atau menerima data melalui port serial.

Beberapa property yang sering dipakai adalah sebagai berikut :

i. CommPort : Digunakan untuk menentukan nomor port serial yang akan

dipakai

ii. Setting : Digunakan untuk mengatur nilai baud rate, parity, jumlah bit

data, dan jumlah stop bit.

iii. PortOpen : Digunakan untuk membuka ataupun menutup port serial yang

dihubungkan dengan MSComm ini.

iv. Input : Digunakan untuk mengambil data string yang ada pada buffer

penerima.

v. Output : Digunakan untuk menulis data string pada buffer pengirim.

[4]

Page 34: MONITORING SISTEM TELEMETRI BERBASIS PC

18

BAB III

PERANCANGAN

Sistem telemetri ini sebagai suatu sistem pengukuran suatu parameter dari jarak

jauh. Terdiri dari dua bagian besar yaitu bagian pemancar dan penerima. Pada perancangan

dibutuhkan beberapa bagian sebagai berikut, di bagian pemancar terdiri dari buah sensor,

pengkondisi sinyal, VCO, pengubah dari gelombang kotak ke gelombang sinusoidal,

rangkaian summing dan sebuah pemancar FM. Sedangkan pada bagian penerima terdiri

dari bagian rangkaian penerima FM, rangkaian filter, pengubah dari gelombang sinusoidal

ke gelombang kotak, clamper, buffer, rangkaian mikrokontroler sebagai pengkonversi,

LCD dan PC(Personal Computer).

Gambar 3.1 Sistem telemetri

Dalam pembuatan “Monitoring Sistem Telemetri berbasis” ini diperlukan

perancangan perangkat lunak. Perancangan peralatan yang dibuat meliputi penyusunan

diagram blok, bagan alir program (flow chart).

3.1 Diagram Blok Secara garis besar diagram blok “Monitoring sistem Telemetri berbasis PC” dapat

ditunjukkan seperti pada gambar 3.2.

Blok A Bagian Pemancar

Blok B Bagian Penerima

Page 35: MONITORING SISTEM TELEMETRI BERBASIS PC

19

Gambar 3.2 Diagram blok monitoring sistem telemetri berbasis PC

3.2 Perancangan

3.2.1 Bagian Masukan Bagian masukan pada sistem monitoring ini berupa tiga buah data masukan dimana

data-datanya berupa frekuensi. Ketiga data masukkan tersebut meliputi suhu, tekanan dan

kelembaban.

Gambar 3.3 Diagram bagian masukkan

3.2.1 Bagian Pengolah Bagian kontrol terletak pada mikrokontroler. Fungsi pada bagian ini digunakan

untuk mencacah(counter) data dari bagian masukkan dan mengatur pengiriman data ke PC

dengan menggunakan port serial. Diagaram alir utama dapat dilihat pada gambar 3.4.

Karena data masukkan sudah berupa data gelombang kotak maka untuk kondisi

awal (iddle) diberi nilai high(logika 1) .

Mula-mula program akan melakukan inisialisasi timer dan dilanjutkan dengan

inisialisasi port serial.

suhu

tekanan

PC (Personal

Computer)

MIKROKONTROLER AT 89S52 Port Serial

kelembaban

Page 36: MONITORING SISTEM TELEMETRI BERBASIS PC

20

Gambar 3.4 Diagram Alir Utama Program Frekuensi Counter

Program frekuensi counter ini bekerja dengan mengecek nilai tiap-tiap 1 periode

gelombang dimana nilai satu periode yang akan disimpan terlebih dahulu kemudian

dikirimkan ke PC. Perioda diukur dengan cara mengaktifkan dan menonaktifkan timer

setiap kali terjadi perubahan (LOW) pada gelombang. Bentuk data masukan yang akan

diterima dapat dilihat pada gambar 3.5 dan diagram alir dari program ini dapat dilihat pada

gambar 3.6

1 perioda

Gambar 3.5 Gelombang Masukan

Proses pengiriman data oleh mikrokontroler (lihat gambar 3.7) dilakukan dengan

memberi pelabelan karakter pada ketiga jenis data untuk membedakan data yang akan

dikirimkan ke PC yaitu :

1. Karakter “s” sebagai suhu

2. Karakter “t” sebagai tekanan

3. Karakter “k” sebagai kelembaban

Page 37: MONITORING SISTEM TELEMETRI BERBASIS PC

21

Gambar 3.6. Diagram alir pengukuran nilai perioda

Selain karakter-karakter di atas, terdapat juga 2 karakter yang digunakan, antara

lain :

1. Karakter nilai, merupakan data nilai hasil cacahan.

2. Karakter “OK” berfungsi untuk memastikan bahwa data berhasil terkirim.

Gambar 3.7 Diagram alir pengiriman nilai periode

Page 38: MONITORING SISTEM TELEMETRI BERBASIS PC

22

3.2.2 Bagian Keluaran Bagian keluaran terdiri dari PC sebagai bagian penampil hasil akhir dari

pengukuran tiga buah parameter. PC akan mengkonversi data yang dikirim dari

mikrokontroler dan menampilkan data sensor secara bersamaan dari ketiga data sensor

terrsebut. Data yang ditampilkan berupa grafik dengan menggunakan bantuan software

Visual Basic.

Perubahan data akan yang ditampilkan di PC merupakan perubahan data yg terjadi

selama setiap menit. Agar terjadi komunikasi antara port serial DB9 dengan komputer

terlebih dahulu dilakukan pengubahan level tegangan dari level tegangan TTL yang hanya

mempunyai kondisi tegangan positif hingga nol ke level tegangan RS232 yang mampu

menghasilkan tegangan keluaran positif, negatif, dan nol. Level tegangan RS232 ini

diperlukan karena komputer tidak dapat membaca data yang dikirimkan jika hanya

mempunyai tegangan positif dan nol. Pengubahan level tegangan ini dapat dilakukan

dengan menambahkan IC MAX232 antara port serial DB9 dan serial port pada komputer.

Gambar 3.8 Blok Diagram Bagian Keluaran

3.2.3.1 Form Awal Pada rancangan, program dibuat untuk dapat bekerja saat komputer mulai

dihidupkan ataupun secara manual dengan mengeksekusi program. Pada awal program

dieksekusi tampilan berupa form awal yang akan memastian user akan masuk ke utama

(Lihat gambar 3.9).

Gambar 3.9 Form Awal

Port Serial

PC

Page 39: MONITORING SISTEM TELEMETRI BERBASIS PC

23

Mulai

Tampilkan Form Utama

Selesai Gambar 3.10 Diagram Alir Form Awal

Tombol enter berfungsi untuk masuk ke menu utama sedangkan tombol out

berfungsi untuk keluar dari aplikasi. Saat tombol keluar ditekan akan ada pilihan apakah

user yakin untuk menutup aplikasi, jika yes kembali ke form awal jika no aplikasi ditutup

(Lihat gambar 3.11).

Gambar 3.11 Form Batal

Mulai

Selesai

Batal

Y

T

Gambar 3.12 Diagram Alir Form Batal

Page 40: MONITORING SISTEM TELEMETRI BERBASIS PC

24

3.2.3.2 Form Utama Pada form utama berfungsi menampilkan ketiga data hasil telemetri secara

bersamaan berupa grafik bar (Lihat gambar 3.13) dan menu pilihan untuk melihat hasil

pengamatan dari ketiga serta tombol untuk keluar dari program serta menu-menu tambahan

lainnya yang dapat membantu dalam mempermudah melakukan pengamatan. Tampilan

grafik pada form utama akan terus berubah sesuai dengan data yang dikirimkan melalui

port serial.3

Gambar 3.13 Form Menu Utama

Page 41: MONITORING SISTEM TELEMETRI BERBASIS PC

25

Mulai

Port serial=open

Penerimaan data

Selesai

Konversi data ke frekuensi

Konversi data ke ukur

Tampilan grafik

Gambar 3.14 Diagram Alir Form Utama Secara Garis Besar

Program pada form utama sistem kerjanya mula-mula dimulai dengan melakukan

inisialisasi port yang akan digunakan, inisialisasi baud rate, jumlah bit data, jumlah bit

stop, serta paritas. Hal ini berguna agar komunikasi antar program visual basic yang akan

digunakan dan perangkat serial port dapat terjadi. Saat terjadi kesalahan dalam proses

penginisialisasian maka program penampil ini akan mengeluarkan pesan kesalahan berupa

message box sedangkan apabila proses penginisialisasian berjalan lancar dan tidak ada

pesan kesalahan yang terjadi, maka program dapat dilanjutkan dengan proses penerimaan

data. Untuk proses penerimaan data dapat dilihat pada gambar 3.15

Gambar 3.15 Diagram Alir Penerimaan Data

Page 42: MONITORING SISTEM TELEMETRI BERBASIS PC

26

Data yang diterima sebanyak tiga buah data utama dan data-data dari ketiga data

utama tersebut diterima oleh komputer berupa karakter.

Untuk pengkonversian data dari perioda ke frekuensi menggunakan persamaan 3.1

dan persamaan 3.2 :

……….……………………………….… (3.1)

dimana : F = frekuensi (kHz)

T = perioda (detik)

Sedangkan untuk pengkonversian dari ketiga data, menggunakan persamaan

sebagai berikut :

y = mx + c ……………………………………..… (3.2)

dimana : y = hasil dari konversi (suhu (°C), kelembaban (kPa) dan tekanan (%))

m =

x = nilai konversi tertinggi – nilai konversi terendah

c = nilai konversi terendah

Sehingga secara perancangan, diharapkan data tersebut adalah sebagi berikut :

Tabel 3.1 Konversi frekuensi ke suhu

Suhu (°C) frekuensi (kHz)

secara teoritis

15 2

16 2.0625

17 2.125

18 2.1875

19 2.25

20 2.3125

25 2.625

30 2.9375

35 3.25

Page 43: MONITORING SISTEM TELEMETRI BERBASIS PC

27

Tabel 3.1 (Lanjutan)Konversi frekuensi ke suhu

Suhu (°C) frekuensi (kHz)

secara teoritis

50 4.1875

55 4.5

60 4.8125

65 5.125

70 5.4375

75 5.75

80 6.0625

85 6.375

90 6.875

95 7

Tabel 3.2 Konversi frekuensi ke tekanan

Tekanan

(kPa)

frekuensi (kHz)

secara teoritis

30 8

31 8.0833

32 8.1666

33 8.2499

34 8.3332

35 8.4165

40 8.833

45 9.2495

50 10.666

55 10.0825

60 10.499

65 10.9155

70 11.332

75 11.7485

80 12.165

Page 44: MONITORING SISTEM TELEMETRI BERBASIS PC

28

Tabel 3.2 (Lanjutan) Konversi frekuensi ke tekanan

Tekanan

(kPa)

frekuensi (kHz)

secara teoritis

85 12.5815 90 12.998

Tabel 3.3 Konversi frekuensi ke kelembaban

Kelembaban

(%)

frekuensi (kHz)

secara teoritis

20 14

21 14.1

22 14.2

23 14.3

24 14.4

25 14.5

30 15

35 15.5

40 16

45 16.5

50 17

55 17.5

60 18

65 18.5

70 19

75 19.5

80 20

Data-data frekuensi diubah lagi ke bentuk-bentuk yang akan ditampilkan antara lain

suhu, kelembaban dan tekanan. Secara perancangan dalamalam pengkonversian tersebut

dapat dilihat diagram alirnya dari gambar 3.16.

Page 45: MONITORING SISTEM TELEMETRI BERBASIS PC

29

Gambar 3.16 Diagram Alir Persamaan Konversi Frekuensi ke nilai data

Sesudah data-data tersebut dikonversi selanjutnya program akan melakukan

manipulasi data tersebut menjadi bentuk grafik. Program ini dilengkapi dengan fasilitas

penyimpanan (save) yang dilakukan secara secara auto saving setiap selang waktu 1 menit.

Selama tidak ada perintah untuk mengakhiri program maka data-data yang masuk akan

diterima terus dan diubah ke dalam bentuk grafik.

Pada form tampilan berguna untuk menampilkan grafik dari ketiga data satu persatu

sesuai dengan keinginan user yang pilihannya terdapat pada form utama sehingga

diharapakan membantu dalam proses pengamatan. Bentuk form tampilan dapat dilihat

pada gambar 3.16, 3.17 dan 3.18.

Gambar 3.17 Tampilan Grafik Suhu Yang diperjelas

Page 46: MONITORING SISTEM TELEMETRI BERBASIS PC

30

Gambar 3.18 Tampilan Grafik Tekanan Yang diperjelas

Gambar 3.19 Tampilan Grafik Kelembababan Yang diperjelas

Page 47: MONITORING SISTEM TELEMETRI BERBASIS PC

31

BAB IV

HASIL DAN PEMBAHASAN

Aplikasi ini terdiri atas perangkat keras dan perangkat lunak. Perangkat keras

meliputi bagian yang akan menerima, mengolah dan mengirim data masukkan termasuk

PC, sedangkan perangkat lunak meliputi program pembuatan frekuensi counter dan

pembuatan penampil. Alat terdiri atas bagian-bagian yang bekerja membentuk rangkaian

yang terpadu, apabila satu bagian tidak bekerja, maka alat tidak akan bekerja sesuai

perancangan. Bagian itu antara lain :

1. Bagian masukkan.

2. Bagian pengolah .

3. Bagian keluaran.

Untuk keperluan tersebut alat perlu diuji dalam bagian-bagian yang terpisah dan

pengujian pada keseluruhan bagian untuk suatu proses. Pengujian perbagian dilakukan

pada bagian multiplek rangkaian pengolah, pengujian keseluruhan dengan melakukan

proses pengukuran periode dan dan konversinya yang ditampilkan pada layar monitor.

4.1 Bagian Masukan Pada bagian ini ketiga data masukan masuk pada multiplex sebelum diteruskan ke

mikrokontroler untuk diolah.

Pengujian dilakukan dengan memberikan logika kendali pada jalur kendali A dan

B, logika masukan diberikan pada masukan multiplek X0, X1 dan X2. Hasil pengujian

diamati melalui logika keluaran X. Gambar 4.1 menunjukkan pengujian multiplek.

masukan logika

4051EN

6

A11

B10

C9

VDD16

VEE7

X3

X013

X114

X215

X312

X41

X55

X62

X74

5V

masukan logikamasukan logika

keluaran logika

masukan logikamasukan logika

Gambar 4.1. Pengujian multiplek

Hasil pengujian ditunjukkan pada tabel 4.1.

Page 48: MONITORING SISTEM TELEMETRI BERBASIS PC

32

Tabel 4.1. Hasil pengujian multiplek

Pilhan

kanal

Masukan

logika

Keluaran

logika

B A X0 X1 X2

0 0 0 0

0 1 1 1

1 0 0 0

1 0 1 1

1 1 0 0

1 1 1 1

Hasil pengujian menunjukkan logika keluaran X sesuai dengan logika masukan

yang diberikan pada msing-masing kanal X0, X1 dan X2, keluaran yang sesuai ini dapat

terjadi karena fungsi seleksi kanal dapat berjalan.

4.2 Bagian Pengolah

Pada bagian ini, mikrokontroler AT89S52 berfungsi sebagai pengolah data yaitu

untuk mencacah data masukkan keluaran dari multiplex dan mengirimkan hasil cacahan

pada PC menggunakan komunikasi serial.

4.2.1 Frequency Counter

Program ini dibuat dengan cara mengukur nilai satu perioda dan program ini dapat

dilihat pada lampiran. Pada proses pengujian, bagian frequency counter ini tidak berhasil

sehingga dibuat program simulasi dengan masukan langsung pada mikrokontroler.

4.2.2 Pengiriman Data Menggunakan Komunikasi Serial Pengujan dilakukan dengan membuat program komunikasi serial antara pengolah

dengan komputer. Komputer mengirimkan 1 byte data kemudian pengolah mengirimkan

kembali data yang diterima. Hasil pengujian ditunjukan pada tabel 4.2.

Hasil pengujian komunikasi menunjukkan bahwa keseluruhan pengiriman dan

peneriamaan data baik dari dan ke komputer dapat diterima dengan benar oleh pengolah

kemudian dikembalikan. Dapat dikatakan sistem komunikasi serial yang digunakan dapat

bekerja dengan baik.

Page 49: MONITORING SISTEM TELEMETRI BERBASIS PC

33

Tabel 4.2. Hasil pengujian komunikasi serial

No.

Kirim

data

Terima

data

1 0 0

2 0Fh 0Fh

3 F0h F0h

4 3Ch 3Ch

5 FFh FFh

4.3 Bagian Keluaran

PC dengan menggunakan software Visual Basic sebagai bagian akhir dari aplikasi

ini. Pengujian meliputi penghitungan frekuensi, konversi besaran dan proses penyimpanan

data.

4.3.1 Penghitungan Frekuensi Dikarenakan proses frequency counter tidak berhasil maka penulis membuat

program simulasi cacahan pada mikrokontroler sehingga seolah - olah ada nilai periode

sesuai dengan range frekuensi yang sudah ditetapkan untuk masing-masing besaran ukur.

Didalam range frekuensi tersebut nilai periode dinaikkan sampai maksimal kemudian

diturunkan sampai minimal. Range frekuensi tersebut ditunjukkan pada Tabel 4.3.

Tabel 4.3. Range Frekuensi yang terpakai

Besaran ukur Range frekeunsi

(kHz)

Range periode

(µS)

suhu 2 sampai 7 500 sampai 142

tekanan 8 sampai 13 125 sampai 76

kelembaban 14 sampai 20 71 sampai 50

Proses pengiriman dilakukan dalam format string, nilai periode terlebih dahulu

dibuat dalam bentuk BCD 5 digit. Nilai BCD kemudian dirubah menjadi karakter. Pada

perancangan masing-masing besaran ukur mempunyai pengenal yaitu “s” untuk suhu, “k”

untuk kelembaban dan “t” untuk tekanan. Pengenal ini mengawali karakter nilai periode,

kemudian diakhiri dengan katakter “OK”.

Page 50: MONITORING SISTEM TELEMETRI BERBASIS PC

34

Pada pembuatannya proses pengiriman dibuat dengan cara ketiga nilai dari besaran

ukur digabungkan menjadi satu untuk dikirimkan ke PC dan untuk membedakan ketiga

nilai besaran ukur, dibedakan dengan jarak spasi pada tiap nilai besaran ukur. Pengenal

diawali dengan karakter “S” bahwa data telah dikirim lalu diikuti oleh data besaran ukur,

dan diakhiri dengan karakter “OK” bahwa data telah terkirim. Potongan program untuk

proses menaikkan dan menurunkan nilai periode adalah sebagai berikut: switch(mode_suhu)

{

case 1:

if (suhu==500)

{mode_suhu=0;}

else

{suhu=suhu+1;}

break;

case 0:

if (suhu==142)

{mode_suhu=1;}

else

{suhu=suhu-1;}

break; }

Potongan program untuk proses BCD adalah sebagai berikut: code unsigned char numeric[10] ={"0123456789"};

void make_string(unsigned int temp)

{

digit[4]=temp/10000;

digit[3]=(temp-(digit[4]*10000))/1000;

digit[2]=(temp-((digit[4]*10000)+(digit[3]*1000)))/100;

digit[1]=(temp-

((digit[4]*10000)+(digit[3]*1000)+(digit[2]*100)))/10;

digit[0]=temp-

((digit[4]*10000)+(digit[3]*1000)+(digit[2]*100)+(digit[1]*10));

digit[4]=numeric[digit[4]];

digit[3]=numeric[digit[3]];

digit[2]=numeric[digit[2]];

digit[1]=numeric[digit[1]];

digit[0]=numeric[digit[0]];

}

Page 51: MONITORING SISTEM TELEMETRI BERBASIS PC

35

Potongan program untuk pengiriman nilai periode ukur adalah sebagai berikut: code unsigned char OK[2] ={"OK"};

make_string(suhu); j=4;

uart_to_c('s');

for (i=0;i<5;i++)

{uart_to_c(digit[j]); j=j-1;}

for (i=0;i<2;i++)

{uart_to_c(OK[i]);}

Pada komputer penerima data dibuat program untuk menerima data dan mendeteksi

akhir satu format data, potongan program untuk proses tersebut adalah sebagai berikut: Private Sub MSComm_OnComm()

Select Case MSComm.CommEvent

Case comEvReceive

buffer_rx = buffer_rx & MSComm.Input

For i = 1 To Len(buffer_rx)

check = Mid(buffer_rx, i, 2)

If check = "OK" Then

End if

Next

End select

End sub

Selanjutnya program mencari pengenal data untuk diarahkan pada masing-masing

peruntukannya. Potongan program untuk proses tersebut adalah sebagai berikut: For j = 1 To Len(buffer_rx)

check = Mid(buffer_rx, j, 1)

If check = "s" Or check = "k" Or check = "t" Then

char_c = 0

For k = j To 10

check_OK_2 = Mid(buffer_rx, k, 2)

If check_OK_2 = "OK" Then

Value = Mid(buffer_rx, j + 1, char_c - 1)

Value = Val(Value)

Select Case check

Case "s"

freq_suhu = Value

Case "k"

Page 52: MONITORING SISTEM TELEMETRI BERBASIS PC

36

Case "t"

End Select

make_chart

GoTo clear_buffer_rx

End If

char_c = char_c + 1

Next

End If

Next

Hasil pengujian ditunjukkan pada tampilan potongan program dibawah ini.

Gambar 4.2. Tampilan program pengukuran frekuensi

Kolom paling kiri merupakan tampilan pengukuran frekuensi suhu, kolom tengah

merupakan frekuensi tekanan dan kolom kanan adalah frekuensi kelembaban. Dapat dilihat

bahwa nilai masing-masing frekuensi terdapat dalam range frekuensi yang tealah

ditetapkan, dengan demikian proses pengiriman dan pengambilan nilai dapat dilakukan

dengan baik.

4.3.2 Konversi Besaran Konversi besaran merupakan proses untuk mendapatan kembali nilai besaran

terukur dari nilai frekuensi yang telah didapatkan. Proses ini dilakukan dengan melakukan

perkalian silang. Proses mendapatkan nilai suhu diwujudkan dalam potongan program

berikut:

For j = 1 To Len(buffer_rx)

freq_suhu = Value

freq_suhu = 1 / (Value * duty_cycle)

Page 53: MONITORING SISTEM TELEMETRI BERBASIS PC

37

suhu = (((freq_suhu - 2000) * 80) / 5000) + 15

lbl_suhu.Caption = suhu

Proses mendapatkan nilai kelambaban diwujudkan dalam potongan program berikut: freq_kelembaban = Value

freq_kelembaban = 1 / (Value * duty_cycle)

kelembaban = (((freq_kelembaban - 14000) * 60) / 6000) + 20

lbl_kelembaban.Caption = kelembaban

Proses mendapatkan nilai tekanan diwujudkan dalam potongan program berikut: freq_tekanan = Value

freq_tekanan = 1 / (Value * duty_cycle)

tekanan = (((freq_tekanan - 8000) * 60) / 5000) + 30

lbl_tekanan.Caption = tekanan

Tampilan program seluruhnya ditunjukan pada Gambar

Gambar 4.3. Tampilan program keseluruhan

Nilai tertampil saat konversi teraktual untuk nilai suhu 24, tekanan 36 dan

kelembaban 76, kolom dibawah masing-masing nilai tersebut merupakan nilai pergeseran

frekuensi. Grafik yang tertampil berwarna merah merupakan nilai suhu, grafik warna biru

adalah tekanan dan grafik warna hijau adalah kelembaban.

Tombol grafik suhu berfungsi untuk menampilkan grafik suhu dalam ukuran yang

lebih besar, demikian pula dengan tombol grafik kelembaban dan grafik tekanan. Tombol

Page 54: MONITORING SISTEM TELEMETRI BERBASIS PC

38

start untuk memulai konversi, reset untuk mengeset kembali nilai tampilan pada keadaan

awal dan stop untuk menghentikan dan tombol keluar untuk keluar program.

Secara manual dengan menggunakan persamaan 3.2 yang telah dibahas pada bab

sebelumnya. Maka dapat diperoleh:

Tabel 4.4 Data perbandingan secara teoritis dengan data yang ditampilan (frekuensi ke

suhu)

Suhu (°C) frekuensi (kHz) frekuensi (kHz) Galat

secara teoritis dalam tampilan (%)

15 2 2.003 0.15

16 2.0625 2.062 0.02

17 2.125 2.128 0.14

18 2.1875 2.185 0.09

19 2.25 2.25 0

20 2.3125 2.313 0.04

25 2.625 2.619 0.22

30 2.9375 2.928 0.31

35 3.25 3.26 0.31

40 3.5625 3.571 0.25

45 3.875 3.868 0.18

50 4.1875 4.179 0.19

55 4.5 4.502 0.04

60 4.8125 4.808 0.08

65 5.125 5.128 0.05

70 5.4375 5.44 0.05

75 5.75 5.77 0.34

80 6.0625 6.065 0.04

85 6.375 6.382 0.11

90 6.875 6.871 0.06

95 7 7 0

Page 55: MONITORING SISTEM TELEMETRI BERBASIS PC

39

Tabel 4.5 Data perbandingan secara teoritis dengan data yang ditampilan (frekuensi ke

tekanan)

Tekanan

(kPa)

frekuensi (kHz) frekuensi (kHz) Galat

secara teoritis dalam tampilan (%)

30 8 8 0

31 8.0833 8.091 0.09

32 8.1666 8.158 0.1

33 8.2499 8.252 0.02

34 8.3332 8.338 0.05

35 8.4165 8.417 0.006

40 8.833 8.828 0.05

45 9.2495 9.244 0.06

50 10.666 10.669 0.03

55 10.0825 10.083 0.005

60 10.499 10.501 0.02

65 10.9155 10.915 0.004

70 11.332 11.333 0.009

75 11.7485 11.747 0.013

80 12.165 12.158 0.06

85 12.5815 12.578 0.03

90 12.998 13 0.015

Tabel 4.6. Data perbandingan perhitungan manual konversi dengan data yang ditampilan

(frekuensi ke kelembaban)

Kelembaban

(%)

frekuensi (kHz) frekuensi (kHz) Galat error

secara teoritis dalam tampilan (%)

20 14 14 0

21 14.1 14.115 0.1

22 14.2 14.233 0.2

23 14.3 14.318 0.12

Page 56: MONITORING SISTEM TELEMETRI BERBASIS PC

40

Tabel 4.6. (Lanjutan) Data perbandingan perhitungan manual konversi dengan data yang

ditampilan (frekuensi ke kelembaban)

Kelembaban

(%)

frekuensi (kHz) frekuensi (kHz) Galat

secara teoritis dalam tampilan (%)

24 14.4 14.421 0.14

25 14.5 14.551 0.3

30 15 15.02 0.13

35 15.5 15.524 0.15

40 16 16.001 0.06

45 16.5 16.511 0.07

50 17 17.05 0.3

55 17.5 17.532 0.18

60 18 18.021 0.11

65 18.5 18.522 0.11

70 19 19.008 0.04

75 19.5 19.501 0.05

80 20 20 0

Dengan membandingkan antara data hasil pengamatan dan data perhitungan

manual dapat dikatakan alat / program berjalan dengan baik walaupun nilai frekuensi pada

pengamatan dan nilai frekuensi pada perhitungan manual tidak sama, hal ini dikarenakan

adanya proses pembulatan angka pada saat konversi

4.3.3 Penyimpanan Data Aplikasi yang dibuat penulis dengan menggunakan Visual Basic menyediakan fitur

untuk menyimpan data dalam database. Fitur tersebut dapat dilihat pada gambar 4.3

dimana apabila tombol simpan ditekan maka tulisan di atas tombol akan berubah menjadi

simpan dan proses penyimpanan data dimulai sedangkan tombol delete berfungi untuk

menghapus data hasil penyimpanan apabila data sudah tidak diperlukan. Namun pada saat

pengujian proses penyimpanan tidak berhasil, hal ini dikarenakan kesalahan pada

pembuatan program. Bentuk tampilan hasil penyimpanan data pengamatan dapat dilihat

pada gambar 4.4.

Page 57: MONITORING SISTEM TELEMETRI BERBASIS PC

41

Gambar 4.4. Tampilan database hasil penyimpanan data pengamatan

Page 58: MONITORING SISTEM TELEMETRI BERBASIS PC

42

BAB V

KESIMPULAN DAN SARAN Kesimpulan

Berdasarkan perancangan dan pengujian monitoring telemetri berbasis PC dapat

diambil kesimpulan sebagai berikut :

1. Mikrokontroler AT89S52 sebagai frekuency counter tidak berhasil

2. Secara simulasi proses pengiriman dan penerimaan data berhasil dengan baik.

3. Nilai frekuensi perancangan dengan yang diamati masih terdapat galat, yaitu :

- Suhu, rata-rata sebesar 0.,118 %.

- Kelembaban, rata-rata sebesar 0,121 %.

- Tekanan, rata-rata sebesar 0,033%.

Hal ini disebabkan adanya pembulatan dari persamaan yang digunakan.

4. Nilai hasil dari pengamatan didapat dengan menggunakan simulasi.

5. Proses penyimpanan data tidak berhasil.

Saran 1. Selain menggunakan PC, penampil dapat juga menggunakan media lain..

2. PC penampil tidak hanya terbatas pada satu PC tetapi bias pada beberapa PC.

Page 59: MONITORING SISTEM TELEMETRI BERBASIS PC

43

DAFTAR PUSTAKA [1] Primawan, A.Bayu, Martanto, Dian M.Mulya, 2005, Implementasi Pemancar

Telemetri Suhu Termodulasi Frekuensi, Seminar Nasional Mekatronika 2005, Fak.Teknik

USD, Yogyakarta

[2] Martanto, A.Bayu Primawan, Dian M.Mulya , 2005, Implementasi Penerima

Telemetri Suhu Termodulasi Frekuensi, Seminar Nasional Mekatronika 2005, Fak.Teknik

USD, Yogyakarta

[3] Usman.Teknik Antarmuka dan Pemrograman Mikrokontroler AT89S52. Yogyakarta:

Andi, 2008

[4] Prasetia, Retna dan Catur Edi Widodo. Interfacing Port Paralel dan port Serial dengan

Visual Basic 6.0. Yogyakarta : Andi, 2004

[5] Komputer, Wahana. Tutorial Membuat Program Dengan Visual Basic. Jakarta :

Salemba Infotek, 2004

Page 60: MONITORING SISTEM TELEMETRI BERBASIS PC

L1

LIST PROGRAM MIKROKONTROLER #include <REG51Ix2.h> //Include file for 8051 #include <stdio.h> #include <stdlib.h> unsigned int bdata flag; sbit Int_t0 = flag ^ 0; //1 sbit Int_serial = flag ^ 1; //1 unsigned char timer_20x, count_detect, mode_suhu, mode_kelembaban, mode_tekanan, s_buf; unsigned int suhu, kelembaban, tekanan, temp; unsigned char digit[5]; code unsigned char OK[2] ={"OK"}; code unsigned char numeric[10] ={"0123456789"}; #define FALSE 0 void make_string(unsigned int temp) { digit[4]=temp/10000; digit[3]=(temp-(digit[4]*10000))/1000; digit[2]=(temp-((digit[4]*10000)+(digit[3]*1000)))/100; digit[1]=(temp-((digit[4]*10000)+(digit[3]*1000)+(digit[2]*100)))/10; digit[0]=temp-((digit[4]*10000)+(digit[3]*1000)+(digit[2]*100)+(digit[1]*10)); digit[4]=numeric[digit[4]]; digit[3]=numeric[digit[3]]; digit[2]=numeric[digit[2]]; digit[1]=numeric[digit[1]]; digit[0]=numeric[digit[0]]; } char uart_to_c(unsigned char s_buf) // Get Character from UART { EA=0; SBUF=s_buf; while(!TI); TI=0; EA=1; return FALSE; } void timer0_ISR(void) interrupt 1 // per 10ms {

Page 61: MONITORING SISTEM TELEMETRI BERBASIS PC

L2

TL0=0xAF; TH0=0x3C; Int_t0=1; timer_20x=timer_20x+1; if (timer_20x==5) {Int_t0=1; timer_20x=0;} } void serial_ISR(void) interrupt 4 // per 10ms { while(!RI); RI=0; s_buf=SBUF; Int_serial=1;} void wait(void) { unsigned int i,j; for(i=0;i<50;i++) {for(j=0;j<50;j++); } } void uart_int_init(void) // Set UART Baud Rate to 9600 bps { TH1=0xFD; //0xFD Set Baud Rate to 9600 bps TMOD=0x21; SCON=0x50; //ET0=1; ES=1; EA=1; timer_20x=0; count_detect=0; suhu=499; tekanan=100; kelembaban=60; TR1=1; //TR0=1; } void main() { unsigned char i, j; wait(); uart_int_init();

Page 62: MONITORING SISTEM TELEMETRI BERBASIS PC

L3

// (2kHz -> t=500uS) (7kHz -> 142uS) s 1.4285714285714285714285714285714e-4 // (8kHz -> t=125uS) (13kHz -> 76uS) t 7.6923076923076923076923076923077e-5 // (14kHz -> t=71uS) (20kHz -> 50uS) k 0.00005 loop: if (Int_serial==1) {Int_serial=0; if (s_buf=='S') { switch(mode_suhu) { case 1: if (suhu==500) {mode_suhu=0;} else {suhu=suhu+1;} break; case 0: if (suhu==142) {mode_suhu=1;} else {suhu=suhu-1;} break; } switch(mode_tekanan) { case 1: if (tekanan==125) {mode_tekanan=0;} else {tekanan=tekanan+1;} break; case 0: if (tekanan==76) {mode_tekanan=1;} else {tekanan=tekanan-1;} break; } switch(mode_kelembaban) { case 1: if (kelembaban==71)

Page 63: MONITORING SISTEM TELEMETRI BERBASIS PC

L4

{mode_kelembaban=0;} else {kelembaban=kelembaban+1;} break; case 0: if (kelembaban==50) {mode_kelembaban=1;} else {kelembaban=kelembaban-1;} break; } uart_to_c('S'); uart_to_c(' '); for (i=0;i<5;i++) {uart_to_c(digit[j]); j=j-1;} make_string(suhu); j=4; uart_to_c(' '); for (i=0;i<5;i++) {uart_to_c(digit[j]); j=j-1;} make_string(tekanan); j=4; uart_to_c(' '); for (i=0;i<5;i++) {uart_to_c(digit[j]); j=j-1;} make_string(kelembaban); j=4; uart_to_c(' '); for (i=0;i<2;i++) {uart_to_c(OK[i]);} } } goto loop; }

Page 64: MONITORING SISTEM TELEMETRI BERBASIS PC

L5

LIST PROGRAM VISUAL BASIC

Dim data_suhu(59) As Integer Dim data_kelembaban(59) As Integer Dim data_tekanan(59) As Integer Dim freq_suhu As Long Dim freq_kelembaban As Long Dim freq_tekanan As Long Dim suhu As Long Dim kelembaban As Long Dim tekanan As Long Const duty_cycle As Single = 1 / (12000000 / 12) Dim temp As Integer Dim buffer_rx As String Dim run_monitoring As Boolean Dim db_telemetri As Database Dim tbl_telemetri As Recordset Dim save_to_db As Boolean Dim count_test As Integer Dim count_test_max As Integer ' Private Sub cmd_simpan_Click() If save_to_db = True Then lbl_saving.Caption = "tidak simpan" save_to_db = False Else lbl_saving.Caption = "simpan" save_to_db = True End If End Sub Private Sub Form_Load() Set db_telemetri = OpenDatabase("db_telemetri.mdb") Set tbl_telemetri = db_telemetri.OpenRecordset("tbl_telemetri") count_show_graphic = 0 run_monitoring = False

Page 65: MONITORING SISTEM TELEMETRI BERBASIS PC

L6

MSComm.PortOpen = True End Sub Private Sub cmd_grafik_suhu_Click() form_grafik.lbl_title = "grafik suhu" count_show_graphic = 1 form_grafik.Show End Sub Private Sub cmd_grafik_kelembaban_Click() form_grafik.lbl_title = "grafik kelembaban" count_show_graphic = 2 form_grafik.Show End Sub Private Sub cmd_grafik_tekanan_Click() form_grafik.lbl_title = "grafik tekanan" count_show_graphic = 3 form_grafik.Show End Sub Private Sub cmd_keluar_Click() MSComm.PortOpen = False form_grafik.out Unload Me End Sub Private Sub cmd_start_Click() run_monitoring = True count_test = 0 count_test_max = 100 timer_intrerval.Enabled = True End Sub Private Sub cmd_stop_Click() run_monitoring = False End Sub Private Sub Label5_Click() End Sub

Page 66: MONITORING SISTEM TELEMETRI BERBASIS PC

L7

Private Sub MSComm_OnComm() Select Case MSComm.CommEvent Case comEvReceive If run_monitoring = True Then buffer_rx = buffer_rx & MSComm.Input For i = 1 To Len(buffer_rx) '1234567890123456789012 If Mid(buffer_rx, i, 2) = "OK" Then 'S 00000 00000 00000 OK If Mid(buffer_rx, 1, 1) = "S" Then freq_suhu = Mid(buffer_rx, 3, 5) freq_tekanan = Mid(buffer_rx, 9, 5) freq_kelembaban = Mid(buffer_rx, 15, 5) freq_suhu = 1 / (freq_suhu * duty_cycle) suhu = (((freq_suhu - 2000) * 80) / 5000) + 15 lbl_suhu.Caption = suhu freq_tekanan = 1 / (freq_tekanan * duty_cycle) tekanan = (((freq_tekanan - 8000) * 60) / 5000) + 30 lbl_tekanan.Caption = tekanan freq_kelembaban = 1 / (freq_kelembaban * duty_cycle) kelembaban = (((freq_kelembaban - 14000) * 60) / 6000) + 20 lbl_kelembaban.Caption = kelembaban make_chart If save_to_db = True Then save_db End If GoTo clear_buffer_rx End If clear_buffer_rx: buffer_rx = "" End If Next GoTo out_rx End If out_rx: End Select End Sub

Page 67: MONITORING SISTEM TELEMETRI BERBASIS PC

L8

Sub make_chart() frame_info_aktual.Caption = "info per " & Date & " jam " & Time j = 9 For i = 1 To 9 lbl_suhu_array(j).Caption = lbl_suhu_array(j - 1).Caption j = j - 1 Next i lbl_suhu_array(0).Caption = CInt(freq_suhu) j = 9 For i = 1 To 9 lbl_tekanan_array(j).Caption = lbl_tekanan_array(j - 1).Caption j = j - 1 Next i lbl_tekanan_array(0).Caption = CInt(freq_tekanan) j = 9 For i = 1 To 9 lbl_kelembaban_array(j).Caption = lbl_kelembaban_array(j - 1).Caption j = j - 1 Next i lbl_kelembaban_array(0).Caption = CInt(freq_kelembaban) 'geser array frekuensi suhu j = 59 For i = 1 To 59 data_suhu(j) = data_suhu(j - 1) j = j - 1 Next i data_suhu(0) = CInt(suhu) 'geser array frekuensi tekanan j = 59 For i = 1 To 59 data_tekanan(j) = data_tekanan(j - 1) j = j - 1 Next i data_tekanan(0) = CInt(tekanan)

Page 68: MONITORING SISTEM TELEMETRI BERBASIS PC

L9

'geser array frekuensi kelembaban j = 59 For i = 1 To 59 data_kelembaban(j) = data_kelembaban(j - 1) j = j - 1 Next i data_kelembaban(0) = CInt(kelembaban) If count_show_graphic = 0 Then With all_chart .RowCount = 3 .ColumnCount = 50 j = 0 For i = 1 To 50 .Row = 1 .Column = i .Data = data_suhu(i) .ColumnLabel = i j = j + 1 Next j = 0 For i = 1 To 50 .Row = 2 .Column = i .Data = data_kelembaban(i) .ColumnLabel = i j = j + 1 Next j = 0 For i = 1 To 50 .Row = 3 .Column = i .Data = data_tekanan(i) .ColumnLabel = i j = j + 1 Next End With Else With form_grafik.all_chart Select Case count_show_graphic Case 1 .RowCount = 1

Page 69: MONITORING SISTEM TELEMETRI BERBASIS PC

L10

.ColumnCount = 50 j = 0 For i = 1 To 50 .Row = 1 .Column = i .Data = data_suhu(i) .ColumnLabel = i j = j + 1 Next Case 2 .RowCount = 1 .ColumnCount = 50 j = 0 For i = 1 To 50 .Row = 1 .Column = i .Data = data_kelembaban(i) .ColumnLabel = i j = j + 1 Next Case 3 .RowCount = 1 .ColumnCount = 50 j = 0 For i = 1 To 50 .Row = 1 .Column = i .Data = data_tekanan(i) .ColumnLabel = i j = j + 1 Next End Select End With End If End Sub Sub save_db() tbl_telemetri.AddNew tbl_telemetri!date_ = Date tbl_telemetri!time_ = Time tbl_telemetri!suhu = suhu tbl_telemetri!kelembaban = kelembaban tbl_telemetri!tekanan = tekanan tbl_telemetri.Update End Sub

Page 70: MONITORING SISTEM TELEMETRI BERBASIS PC

L11

Private Sub cmd_reset_Click() MSComm.Output = "R" End Sub Private Sub cmd_delete_Click() On Error Resume Next tbl_telemetri.MoveFirst For i = 1 To tbl_telemetri.RecordCount tbl_telemetri.Edit tbl_telemetri.Delete tbl_telemetri.Update tbl_telemetri.MoveNext Next End Sub Private Sub timer_intrerval_Timer() count_test = count_test + 1 If count_test = count_test_max Then run_monitoring = False count_test = 0 End If MSComm.Output = "S" End Sub

Page 71: MONITORING SISTEM TELEMETRI BERBASIS PC

frekuensi suhufrekuensi kelembabanfrekuensi tekanan

AT89S53

P3.1/TXD11

P3.2/INT012

P3.3/INT113

P3.4/T014

P3.5/T115

P3.6/WR16

P3.7/RD17

XTAL218

XTAL119

P2.0/A821

P2.1/A922

P2.2/A1023

P2.3/A1124

P2.4/A1225

P2.5/A1326

P2.6/A1427

P2.7/A1528

PSEN29

ALE/PROG30

EA/VPP31

P0.7/AD732 P0.6/AD633 P0.5/AD534 P0.4/AD435 P0.3/AD336 P0.2/AD237 P0.1/AD138 P0.0/AD039

VCC40

P1.0/T21

P1.1/T2EX2

P1.23

P1.34

P1.4/SS5

P1.5/MOSI6

P1.6/MISO7

P1.7/SCK8

RST9

P3.0/RXD10

33px

2

12MH

z

MAX232

C1+1

C1-3

C2+4

C2-5

VCC16

GND15

V+2

V-6

R1OUT12

R2OUT9

T1IN11

T2IN10

R1IN13

R2IN8

T1OUT14

T2OUT7

10uF

10uF

10uF

10uF

CONNECTOR DB9

594837261 5V

10uF

5V

U12

4051EN

6

A11

B10

C9

VDD16

VEE7

X3

X013

X114

X215

X312

X41

X55

X62

X74

5V