monitoring sistem telemetri berbasis pc
Post on 22-Oct-2021
13 Views
Preview:
TRANSCRIPT
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
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
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
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.
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
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
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
: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
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
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.
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
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
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
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
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
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
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.
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 :
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.
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.
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).
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.
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
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.
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.
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
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
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
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
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
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
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.
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]
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
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
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
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
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
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
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
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
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
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
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.
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
30
Gambar 3.18 Tampilan Grafik Tekanan Yang diperjelas
Gambar 3.19 Tampilan Grafik Kelembababan Yang diperjelas
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.
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.
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”.
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]];
}
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"
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)
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
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
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
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.
41
Gambar 4.4. Tampilan database hasil penyimpanan data pengamatan
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.
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
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 {
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();
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)
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; }
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
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
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
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)
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
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
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
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
top related