25
BAB IV
RANCANG BANGUN PERANGKAT KERAS DAN
PERANGKAT LUNAK SISTEM TELEMETRI BERBASIS GSM
4.1 Sistem Perangkat Keras
Sistem telemetri yang dirancang dan dibangun pada tugas akhir ini
memiliki delapan kanal masukan analog yang dirancang untuk menangani suatu
sistem sensor. Sensor yang digunakan pada tugas akhir ini adalah sensor LM35
yang berfungsi untuk mengukur suhu. Kedelapan kanal masukan analog tersebut
dihubungkan langsung ke perangkat sistem dengan masukan sinyal antara 0
sampai 3,3 volt.
Gambar 4.1 merupakan deskripsi secara lengkap dari sistem telemetri yang
dikembangkan pada tugas akhir ini dengan berbagai macam perangkat
pendukung.
Gambar 4.1 Implementasi perangkat keras stasiun ukur dan stasiun kontrol
26
Stasiun kontrol yang digunakan pada tugas akhir ini berupa sebuah
perangkat mobile yang mendukung salah satu platform Java yaitu Java 2 Micro
Edition (J2ME). Salah satu contoh perangkat mobile tersebut adalah Personal
Digital Assistant (PDA). PDA ini berfungsi untuk memberi perintah kepada
stasiun ukur untuk melakukan pengukuran sekaligus menampilkan data hasil
pengukuran.
Stasiun ukur terdiri dari sistem akusisi data, sistem kontrol sekunder,
tampilan LCD, sistem komunikasi serial, dan protokol layanan pesan singkat
(SMS). Di bawah ini akan dijelaskan berbagai sistem yang membangun sebuah
stasiun ukur pada sistem telemetri yang dikembangkan.
4.1.1 Sistem Akusisi Data
Sistem akusisi data yang dirancang seperti pada Gambar 4.2 terdiri sistem
sensor, pengkondisi sinyal, multiplekser, dan ADC. Masukan disediakan dengan
rentang 0 hingga 3,3 volt. Masukan tersebut berupa tegangan analog yang
kemudian akan diubah menjadi tegangan digital oleh ADC sehingga data
pengukuran dapat diolah oleh mikrokontroler dan dikirimkan ke stasiun kontrol.
Gambar 4.2 Sistem akusisi data
27
4.1.1.1 Sistem Sensor
Sistem sensor dalam Gambar 4.3, yang diimplementasikan pada sistem
akusisi data, terdiri dari sensor suhu LM35 dan sebuah LM324 yang merupakan
quad operational amplifier. Sensor LM35 memiliki karakteristik perubahan
tegangan terhadap suhu sebesar 10 mv/oC. Sinyal keluaran dari sensor ini
kemudian dikuatkan oleh salah satu op-amp pada LM324 sebesar empat kali
penguatan sehingga perubahan tegangan terhadap suhu sensor LM35 menjadi 40
mv/oC. Untuk menjaga agar sinyal keluaran tidak mengalami jatuh tegangan maka
sinyal tersebut dilewatkan pada buffer (penyangga) yang berupa sebuah op-amp
dengan konfigurasi penguatan sebesar satu kali.
Gambar 4.3 Sistem sensor
Keluaran dari sensor diperkuat empat kali oleh op-am sesuai dengan
persamaan di bawah ini:
⎟⎠⎞
⎜⎝⎛ +==
211
RR
ViVoAv ....................................(4.1)
dengan Av adalah penguatan, R1 = 30 kΩ dan R2 = 10 kΩ .
28
4.1.1.2 Multiplekser
Untuk menentukan kanal pengukuran mana yang aktif, maka digunakan
digunakan multiplekser analog 8 kanal. Multiplekser yang digunakan dalam
perancangan sistem telemetri ini adalah multiplekser CD4051 seperti tampak pada
Gambar 4.4.
Gambar 4.4 Skematik multiplekser CD4051
Tabel 4.1 Logika kebenaran multiplekser analog CD4051
Kontrol Masukan
Inhibit C B A Kanal Aktif
L L L L X0
L L L H X1
L L H L X2
L L H H X3
L H L L X4
L H L H X5
L H H L X6
L H H H X7
H X X X Tidak Ada
Input 1 Input 2 Input 3 Input 4 Input 5 Input 6 Input 7 Input 8
A B C
MultiplekserCD4051
Output X
INTR Inhibit
X0X1X2X3X4X5X6X7
29
Delapan kanal masukan pada multiplekser CD4051 dihubungkan dengan
delapan masukan analog dengan pemilihan kanal yang aktif dilakukan oleh kaki
A, B, dan C, yang masing-masing terhubung ke kaki P1.0, P1.1, dan P1.2 pada
mikrokontroler AT89S52. Aktif tidaknya multiplekser ini ditentukan oleh kaki
inhibit. Konfigurasi untuk kaki inhibit pada perancangan sistem telemetri ini
diletakkan pada tegangan 0 volt (ground) sehingga pada keadaan awal
multiplekser ini selalu aktif.
4.1.1.3 Analog to Digital Converter (ADC)
Untuk menangani berbagai macam masukan analog termasuk masukan
dari sensor temperatur, maka digunakan divais untuk mengkonversi data analog
menjadi data digital. Hal ini dilakukan karena mikrokontroler yang berfungsi
sebagai pengontrol sekunder merupakan divais digital yang hanya menangani
masukan digital. Pada sistem telemetri yang dikembangkan, ADC yang digunakan
merupakan ADC serial 12-bit yang menggunakan komunikasi Serial Peripheral
Interface (SPI) yaitu ADS7822 (Gambar 4.5).
GND4 OUT 6
CS/SD 5
DCLK 7
IN-3 IN+2
VREF1 V+ 8U7
ADS7822P
C110.1uF
C1310uF
DCLKOUTCSD
Gambar 4.5 Skematik ADS7822
30
Data hasil konversi ADC tersebut dikirimkan secara serial ke
mikrokontroler melalui kaki P1.4. Data tersebut kemudian akan diproses sesuai
dengan kebutuhan pengguna. Aktif tidaknya ADC ini ditentukan oleh pin Chip
Select Device (CSD) yang terhubung pada kaki P3.5 mikrokontroler.
4.1.2 Sistem Kontrol Sekunder
Sistem kontrol sekunder merupakan perangkat yang dibutuhkan untuk
melakukan pengontrolan terhadap stasiun ukur berdasarkan perintah dari stasiun
kontrol. Pada sistem telemetri ini, sistem kontrol sekunder yang ada pada stasiun
ukur menggunakan mikrokontroler AT89S52.
Gambar 4.6 Gambar mikrokontroler AT89S52
Mikrokontroler AT89S52 memiliki 32 pin yang multifungsi antara lain
sebagai I/O, Jalur kontrol atau bagian dari sistem pengalamatan atau bus data.
Beberapa keistimewaan dari mikrokontroler ini di antaranya:
31
• Kompatibel dengan mikrokontroler keluarga MCS-51
• 8K Byte of In-System Reprogrammable Downloadable Flash Memory
• Antar muka serial SPI untuk mendownload program
• Ketahanan: 1000 kali Baca / Tulis
• Tegangan operasi 4,0V s.d. 5,5 V
• Beroperasi pada 0 Hz s.d. 33 MHz
• Tiga level penguncian memori program
• 256 x 8-bit RAM Internal
• 32 bit I/O yang dapat diprogram
• Tiga buah Timer/Counter 16-bit
• Delapan sumber interupsi
• UART full dupleks
• Mode hemat daya Idle and Power Down
• Watchdog Timeryang dapat diprogram
• Dua Data Pointer
• Flag Power Off
Mikrokontroler ini terhubung dengan sistem akusisi yang terdiri dari
masukan analog, pengkondisi sinyal, ADC, dan multiplekser. Selain terhubung
dengan sistem akusisi data, mikrokontroler ini juga terhubung dengan sistem
komunikasi serial yang digunakan untuk mengirimkan data ke transceiver yang
berupa handphone atau Mobile Station (MS). Data yang ada pada transceiver
tersebut selanjutnya akan transmisikan melalui protokol SMS pada jaringan GSM
32
ke stasiun kontrol. Sebelum dikirimkan, data pengukuran ditampilkan terlebih
dahulu pada LCD. Gambar 4.7 di bawah ini menunjukkan sistem kontrol
sekunder.
Gambar 4.7 Antar muka sistem kontrol sekunder
Pada gambar di atas, mikrokontroler diantarmukakan dengan sistem
akusisi data melalui komunikasi paralel. Pada sistem akusisi data ini
mikrokontroler berfungsi untuk mengatur pemilihan masukan analog melalui kaki
A, B, dan C pada multiplekser yang dihubungkan dengan kaki P1.0, P1.1, dan
P1.2 pada mikrokontroler. Selain mengatur pemilihan masukan analog pada
multiplekser, mikrokontroler ini juga berfungsi untuk mengatur proses konversi
data analog menjadi data digital pada ADS7822.
Pada sistem telemetri yang dikembangkan pada tugas akhir ini digunakan
sistem pewaktuan internal dengan menggunakan Timer yang terdapat pada
register TCON (Timer Control Register, memori data internal alamat 88h, bisa
dialamati perbit) dan register TMOD (Timer Mode Register, memori data internal
33
alamat 89 h, tidak bisa dialamati perbit). Timer ini digunakan untuk menentukan
interval pengukuran pada stasiun ukur.
4.1.3 Tampilan LCD
Untuk menampilkan data hasil pengukuran di stasiun ukur digunakan
tampilan LCD seperti tampak pada Gambar 4.8. Tampilan LCD juga memberikan
informasi kepada pengguna mengenai proses pengukuran yang sedang
berlangsung. Setelah stasiun kontrol mengirimkan perintah ke stasiun ukur, maka
pada LCD akan ditampilkan sensor mana yang sedang melakukan pengukuran dan
besarnya suhu yang terukur. LCD yang digunakan pada tugas akhir ini merupakan
LCD 16x2 yang dapat menampilkan 32 karakter dalam 2 baris.
Gambar 4.8 Tampilan LCD 16x2
LCD tersebut memiliki 16 buah pin untuk mengatur konfigurasi yang
terdiri dari 2 buah pin power supply, 8 buah pin I/O sebagai jalur data antara
mikrokontroler dengan LCD, 3 buah pin sebagai pengatur konfigurasi yang
dihubungkan ke mikrokontroler, 1 buah pin untuk mengatur kekontrasan layar
LCD, dan dua buah pin untuk mengatur blinking. Tabel 4.2 menunjukkan nama-
nama pin pada LCD beserta fungsinya.
34
Tabel 4.2 Nama dan fungsi pin pada LCD 16x2
Dalam melakukan penulisan dan pembacaan karakter pada LCD perlu
diperhatikan diagram waktu (timing diagram) operasi pembacaan dan penulisan
LCD. Diagram waktu tersebut berfungsi sebagai sinkronisasi antara
mikrokontroler dengan LCD. Diagram waktu operasi pembacaan dan penulisan
LCD ditunjukkan pada Gambar 4.9 di bawah ini.
Gambar 4.9 Digram waktu operasi penulisan dan pembacaan LCD
35
Tabel 4.3 Diagram waktu aplikasi LCD
Untuk menjalankan fungsi LCD, maka terlebih dahulu harus dilakukan
Inisialisasi. Inisialisasi dilakukan untuk mengatur konfigurasi dan aplikasi LCD
yang digunakan. Tabel 4.4 di bawah ini menunjukkan inisialisasi dan penulisan
aplikasi pada LCD.
Tabel 4.4 Inisialisasi dan penulisan aplikasi pada LCD
36
Gambar 4.10 adalah rangkaian LCD yang diaplikasikan pada tugas akhir
ini.
Gambar 4.10 Implementasi LCD 16x2 pada sistem telemetri GSM
4.1.4 Komunikasi Serial
Mikrokontroler AT89S52 mempunyai 4 macam mode operasi (mode 0 –
mode 3) untuk serial komunikasi. Untuk memilih mode disediakan register bit
SM0 dan SM1. Mode 0 adalah tipe register geser. Mode 1 merupakan 8 bit data
UART dengan baudrate yang dapat diatur dengan register timer. Mode 2 yaitu 9
bit data UART dengan baudrate yang sudah pasti besarnya. Mode 3 adalah 9 bit
data UART yang baudratenya dapat diatur dengan timer. Untuk melakukan
pengaturan pada komunikasi serial digunakan register SCON (Serial Control
Register).
37
Tabel 4.5 Register SCON pada mikrokontroler AT89S52
BIT Simbol Deskripsi SCON.7 SM0 Pilihan Mode SCON.6 SM1 Pilihan Mode SCON.5 SM2 Untuk komunikasi multiprosessor dalam mode 2 dan 3 SCON.4 REN mengaktifkan mikrokontroler untuk menerima data SCON.3 TB8 jika 1 maka bit ke 9 dari mode 2 dan 3 telah dikirim SCON.2 RB8 jika 1 maka bit ke 9 dari mode 2 dan 3 telah diterima SCON.1 TI jika 1 berarti mikrokontroler telah selesai mengirim satu data SCON.0 RI jika 1 berarti ada satu data telah diterima
Mode komunikasi serial yang digunakan pada tugas akhir ini adalah mode
1 yang merupakan mode 8 bit data UART dengan baudrate yang dapat diatur
dengan register timer. Pengaturan baudrate menggunakan register timer sehingga
bergantung dari frekuensi kristal yang dipakai. Frekuensi kristal 12 MHz dalam
hal ini lebih buruk dari kristal 11,059 MHz. Mode operasi timer untuk baudrate
digunakan mode 2 karena secara otomatis mengulang terus pencacahan waktu.
Register bendera timer, TF (Timer Flag), adalah penentu sebenarnya dari
baudrate tersebut.
Baudrate = waktu register bendera Timer 1 berubah : 32 (atau 16 bergantung
SMOD)
Tabel 4.6 Pengaturan baudrate pada mikrokontroler AT89S52
BAUD RATE FREKUENSI XTAL (MHz) SMOD TH1 ERROR 9600 12 1 F9H 7% 2400 12 0 F3H 0.16% 1200 12 0 E6H 0.16%
19200 11.059 1 FDH 0 9600 11.059 0 FDH 0 2400 11.059 0 F4H 0 1200 11.059 0 E8H 0
38
Mikrokontroler sebagai sistem kontrol sekunder terhubung dengan sistem
komunikasi serial yang digunakan untuk mengirimkan data ke transceiver yang
berupa handphone atau Mobile Station (MS). Gambar 4.11 di bawah ini
menunjukkan rangkaian dari komunikasi serial yang menggunakan RS232.
Rangkaian ini menggunakan IC MAX232 yang berfungsi untuk menyamakan
level tegangan antara mikrokontroler dengan transceiver atau komputer.
Gambar 4.11 Komunikasi serial RS232
4.1.5 Transceiver
Transceiver pada stasiun ukur berfungsi sebagai transmitter (pemancar)
dan receiver (penerima). Pemancar mengirimkan data pengukuran yang
terenkapsulasi oleh protokol SMS ke stasiun kontrol. Pada saat stasiun kontrol
mengirimkan perintah untuk melakukan pengukuran, maka transceiver pada
stasiun ukur berfungsi sebagai penerima. Transceiver yang diimplementasikan
pada tugas akhir ini adalah sebuah telepon seluler Siemens seri C55.
Beberapa jenis telepon selular dapat berkomunikasi dengan peralatan
lainnya melalui port yang tersedia pada telepon selular tersebut. Telepon selular
39
yang digunakan sebagai transceiver pada tugas akhir ini memiliki port serial
sebagai jalur komunikasi stasiun ukur. Media penghubung antara stasiun ukur
dengan transceiver tersebut adalah RS-232. Melalui komunikasi RS-232 ini,
stasiun ukur dapat mengirimkan data dan perintah pada telepon selular. Fasilitas
ini memungkinkan kita untuk mengirimkan data pengukuran melalui telepon
selular.
4.1.6 Stasiun Kontrol
Stasiun kontrol berfungsi untuk memberi perintah kepada stasiun ukur
untuk melakukan pengukuran sekaligus menampilkan data hasil pengukuran.
Stasiun kontrol yang digunakan pada tugas akhir ini berupa sebuah perangkat
mobile yang mendukung salah satu platform Java yaitu Java 2 Micro Edition
(J2ME). Salah satu contoh perangkat mobile tersebut adalah Personal Digital
Assistant (PDA).
40
(a)
(b)
41
(c)
Gambar 4.12 GSM Telemetry System versi 2.0:
(a) Tampak Depan, (b) Tampak Belakang, (c) Tampak Dalam
42
4.2 Perangkat Lunak pada Stasiun Ukur dan Stasiun Kontrol
4.2.1 Perangkat Lunak Stasiun Ukur
Perangkat lunak di stasiun ukur yang dirancang dan diimplementasikan
terdiri dari sebuah program utama dan dua buah program yang berfungsi sebagai
interupsi Timer. Dalam program utama terdapat berberapa subrutin. Subrutin
tersebut adalah pengecekan perintah yang berasal dari SMS datang. PDU yang
dikirimkan tranceiver ke mikrokontroler di simpan dalam array InputSerial[i].
Data dari array tersebut digunakan untuk menentukan sensor atau kanal mana
yang aktif. Setelah itu dilakukan konversi hasil ADC ke suhu dalam desimal dan
ditampilkan pada LCD. Subrutin berikutnya adalah konversi data dari 8 bit ke
tujuh 7 bit. Data 7 bit digabungkan dengan protokol data pengukuran. Pada
akhirnya, protokol data pengukuran tersebut dienkapsulasi dengan protokol SMS
dan dikirimkan ke stasiun kontrol.
Program interupsi diimplementasikan untuk melakukan interupsi secara
periodik dengan interval pengukuran ditentukan dalam inisialisasi interupsi Timer
0 dan Timer 1. Kedua interupsi ini terjadi ketika timer flag (TF) mengalami
overflow. Interupsi Timer 0 digunakan untuk mengecek perintah pengukuran yang
dienkapsulasi dengan protokol SMS yang datang pada transceiver stasiun ukur.
Interupsi Timer 1 digunakan untuk menentukan interval pengukuran pada stasiun
ukur. Pada tugas akhir ini, pengukuran suhu dilakukan setiap 30 detik sekali.
Gambar 4.13 di bawah ini memperlihatkan implementasi perangkat lunak pada
stasiun ukur.
43
Mulai
Tampilan awal LCD
Int_T0_Flag = 1
SBUF != ‘OK’
Cek perintah SMS
InputSerial[i] = PDU datang
Inisialisasi SerialInisialisasi Interupsi Timer 0Inisialisasi Interupsi Timer 1
Inisialisasi LCDInt_T0_Flag = 0, PT0 = 1
Konversi Hasil ADCke suhu (desimal)
Tampilkan di LCD
Pilih Channel(MUX)
A
A
Ambil Data SuhuTemperatur[20] = HasilADC()*0.02015;
Konversi Data 8 bit ke 7 bit
Enkapsulasi Protokol DataPengukuran dengan
Protokol SMS
Set Perintah Kirim SMSAT+CMGS = n
<enter> + PDU data
Selesai
Penggabungan ProtokolData Pengukuran
(a)
44
Mulai
Int_T0_Flag = 1Static int data = 0
Data ++
Data =10000
Data = 0
Selesai
Mulai
Static long int waktu = 0Static int cacah = 0
Waktu ++
Waktu =300000
Waktu = 0
Selesai
Cacah = 20
Temperatur[cacah++] =HasilADC()*0.02015;
Cacah = 0
(b)
Gambar 4.13 Implementasi perangkat lunak pada stasiun ukur: (a) Program Utama,
(b) Program interupsi Timer 0 (kiri) dan Timer 1 (kanan)
4.2.2 Protokol Layanan Pesan Singkat dan Protokol Data Pengukuran
Data hasil pengukuran yang diperoleh dikirimkan beserta protokol
pengukuran menuju stasiun kontrol melalui data layanan pesan singkat. Untuk
dapat mengirimkan data pengukuran dalam format SMS, maka data pengukuran
45
harus dienkapsulasi dengan protokol SMS seperti terlihat pada Gambar 4.14 dan
Gambar 4.15 di bawah ini. Susunan protokol data pengukuran ditempatkan pada
elemen User Data (UD) pada protokol SMS tersebut.
TP-MTI TP-RD ……. TP-VP TP-UDTP-UDL
Gambar 4.14 Protokol layanan pesan singkat (SMS)[2]
PenandaAwal (1byte)
ID Sensor(1 byte) Data Pengukuran Penanda
Akhir (1 byte)
Gambar 4.15 Susunan protokol data pengukuran pada paket SMS
4.2.3 Perangkat Lunak pada Stasiun Kontrol
Implementasi perangkat lunak pada stasiun kontrol terbagi menjadi dua
bagian, yaitu pengiriman perintah ke stasiun ukur untuk mengaktifkan salah satu
sensor dan dekapsulasi data telemetri dari protokol SMS untuk mendapatkan data
pengukuran.
4.2.3.1 Pengiriman Perintah ke Stasiun Ukur
Untuk mengirimkan perintah ke stasiun ukur, terlebih dahulu harus
didefiniskan yang MIDlet sebagai perluasan dari implementasi CommandListener
dan harus diset runable. Pada StarApp() dibuat suatu list yang terdiri 8 kanal
sensor. List tersebut berjenis Exclusive List agar kita hanya dapat memilih satu
buah sensor yang aktif.
46
Pada fungsi runable dilakukan inisialisasi Message Connection dan
dimasukkan nomor tujuan pengiriman SMS.
47
Pada akhirnya dilakukan terminasi dengan metode:
4.2.3.2 Penerimaan Data Pengukuran oleh Stasiun Kontrol
Implementasi penerimaan data pengukuran melibatkan salah satu paket
opsional pada J2ME yaitu WMA (Wireless Messaging API). WMA terdiri dari
paket-paket pengembangan aplikasi untuk melakukan pengiriman dan penerimaan
pesan. WMA ini dikembangkan oleh Java Specification Request (JSR) 120.
Kelas-kelas dalam paket ini tersimpan dalam paket javax.
wireless.messaging.
Connector
MessageConnection
TextMessage BinaryMessageMessageListener
Message
Gambar 4.16 Interface pada paket WMA[3]
Untuk menerima data pengukuran dari stasiun ukur, terlebih dahulu harus
didefiniskan yang MIDlet sebagai perluasan dari implementasi CommandListener,
Runable, MessageListenere. Pada StarApp() dilakukan pengaturan alamat koneksi
48
untuk penerimaan data. Alamat koneksi ini berkaitan dengan port SMS yang diset
pada transceiver stasiun ukur. Dengan kata lain, port SMS yang ada pada
transceiver stasiun ukur harus sama dengan port SMS yang diset pada MIDlet.
Pada perangkat lunak yang dirancang dan diimplementasikan dalam
stasiun kontrol, nilai port SMS yang diset adalah 16001. Nilai port tersebut
merupakan port SMS yang diimplementasikan pada transceiver stasiun ukur.