24
BAB III RANCANGAN PENELITIAN
3.1. Proses Kerja Sistem
Bab ini menjelaskan tentang perancangan alat secara umum dari
hardware
dan
software
. Perancangan alat ini terdiri dari beberapa bagian utama, yaitu IC Atmega16, IC
MAX 232, LCD 2x16. Kegunaan IC MAX232 atau lebih dikenal dengan RS232 adalah sebagai
driver
, yang akan mengkonversi tegangan atau kondisi logika TTL dari
hardware
agar sesuai dengan tegangan pada mikrokontroler sehingga data dapat dibaca. Mikrokontroler Atmega16 berfungsi untuk mengatur dan memproser input data yang
diterima dari sistem boiler. LCD yang digunakan adalah tipe LCD 2x16. LCD berfungsi untuk menampilkan data-data yang telah diatur dan diterima. Sistem ini merupakan
fullduplex
atau komunikasi dua arah yakni pengirimin Tx dan penerima Rx. Bagian utama dari sistem tersebut memggunakan dua buah mikro dimana fungsinya sebagai
master dan slave. Arsitektur umum sistem ditunjukan seperti diagram blok pada gambar 3.1.
Gambar 3.1. Diagram Blok Keseluruhan Sistem
3.2. Kebutuhan Perangkat Keras
Ada beberapa komponen dalam perancangan sub sistem keras komunikasi serial diantaranya adalah sebagai berikut :
1. Minimun sistem ATmega16
2. LCD 2x16
3. Minimum sistem IC MAX 232
4. Kabel RS-232
3.3. Perancangan Perangkat Keras Mekanik
Perancangan ini merupakan desain modul komunikasi serial akan dibuat dengan bentuk gambar 3 dimensi, yang nantinya akan menjadi panduan untuk membuat alat yang
sebenarnya. Pada perancangan boks untuk tempat model komunikasi serial, bahan yang digunakan adalah bahan jenis mika plastik keras. Pada gambar 3.2 ditunjukkan desain
untuk komunikasi serial dengan ukuran panjang x lebar x tinggi adalah 25cm x 15cm x 5cm.
Didalam boks tersebut akan terpasang minimum sistem ATmega16 dan rangkaian RS232. Sementara untuk meletakkan koneksi port serial USART dan SPI disamping kotak
boks. Untuk LCD 2x16 posisinya dapat diletakkan di atap boks. Desain boks di tunjukkan pada gambar 3.2 a dan b.
a. Gambar Tampak Atas b. Gambar Tampak Samping
3.4. Perancangan Perangkat Keras Elektronika 3.4.1. Perancangan Minimum Sistem dan Display LCD 2x16
Minimum sistem merupakan pusat kontrol dan pengolahan data dari simulator boiler.
Display
LCD merupakan perangkat
interface
untuk menampilkan hasil data yang diterima dari simulator boiler.
Dalam perancangan ini terdapat dua buah IC ATmega16 yaitu mikrokontroler A dan mikrokontroler B yang memiliki fungsi masing-masing. Mikrokontroler A fungsinya
digunakan untuk menerima data dari model simulator boiler. Data yang diterima berupa data parameter boiler. Mikrokontroler B fungsinya digunakan untuk menerima data dari
mikrokontroler A dan data tersebut akan ditampilkan pada LCD 2x16. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 3.2 merupakan minimum sistem dengan IC mikrokontroler ATmega16 sebagai komponen utama. Pada minimum sistem ditambahkan rangkaian
clock
ekstrnal. Nilai kapasitor C1=C2=C4=C5= 22pF dan C3=C6= 100nF sesuai dengan
datasheet
ATmega16, yang berfungsi mengoptimalkan
clock
yang dihasilkan dari
Crystal
11.0592 MHz. Nilai kapasitor dan resistor R1=R2=10K dimana fungsinya sebagai pembatas arus
yang mengalir ke rangkaian, serta
push button
merupakan bagian dari rangkaian
reset
.. Gambar minimum sistem dan display LCD 2x16 seperti ditunjukan pada gamabar 3.2.
Gambar 3.3. Minimum Sistem dan Display LCD 2x16
3.4.2. Perancangan Rangkaian RS-232
RS232 adalah
standard
komunikasi serial yang digunakan untuk koneksi periperal ke periperal. Biasa juga disebut dengan jalur IO
input output
. Fungsi dari serial
port
RS232 adalah untuk menghubungkan koneksi dari perangkat yang satu dengan perangkat yang lain, atau peralatan
standard
yang menyangkut komunikasi data antara mikrokontroler. Pada IC MAX232 terdapat
pin
untuk komunikasi
PB0T0XCK 1
PB1T1 2
PB2AIN0INT2 3
PB3AIN1OC0 4
PB4SS 5
PB5MOSI 6
PB6MISO 7
PB7SCK 8
RESET 9
XTAL2 12
XTAL1 13
PD0RXD 14
PD1TXD 15
PD2INT0 16
PD3INT1 17
PD4OC1B 18
PD5OC1A 19
PD6ICP1 20
PD7OC2 21
PC0SCL 22
PC1SDA 23
PC2TCK 24
PC3TMS 25
PC4TDO 26
PC5TDI 27
PC6TOSC1 28
PC7TOSC2 29
PA7ADC7 33
PA6ADC6 34
PA5ADC5 35
PA4ADC4 36
PA3ADC3 37
PA2ADC2 38
PA1ADC1 39
PA0ADC0 40
AREF 32
AVCC 30
U1
ATMEGA16 D
7 1
4 D
6 1
3 D
5 1
2 D
4 1
1 D
3 1
D 2
9 D
1 8
D 7
E 6
R W
5 R
S 4
V S
S 1
V D
D 2
V E
E 3
LCD1
16_X_2_LCD
PB0T0XCK 1
PB1T1 2
PB2AIN0INT2 3
PB3AIN1OC0 4
PB4SS 5
PB5MOSI 6
PB6MISO 7
PB7SCK 8
RESET 9
XTAL2 12
XTAL1 13
PD0RXD 14
PD1TXD 15
PD2INT0 16
PD3INT1 17
PD4OC1B 18
PD5OC1A 19
PD6ICP1 20
PD7OC2 21
PC0SCL 22
PC1SDA 23
PC2TCK 24
PC3TMS 25
PC4TDO 26
PC5TDI 27
PC6TOSC1 28
PC7TOSC2 29
PA7ADC7 33
PA6ADC6 34
PA5ADC5 35
PA4ADC4 36
PA3ADC3 37
PA2ADC2 38
PA1ADC1 39
PA0ADC0 40
AREF 32
AVCC 30
U2
ATMEGA16
X1
CRYSTAL
C1
22pF
C2
22pF
C3
100nF
R1
10k
X2
CRYSTAL
C4
22pF
C5
22pF
C6
100nF
R2
10k 1
2 3
4
J1
Connector SPI ERROR
TXD 3
RXD 2
CTS 8
RTS 7
DSR 6
DTR 4
DCD 1
RI 9
P1
COMPIM_PCB T1IN
11 R1OUT
12 T2IN
10 R2OUT
9 T1OUT
14 R1IN
13 T2OUT
7 R2IN
8 C2+
4 C2-
5 C1+
1 C1-
3 VS+
2 VS-
6
U3
MAX232
C7
10uF
C8
10uF
C9
10uF
C10
10uF
Micro A Micro B
serial yaitu Rx dan Tx. Rx digunakan untuk mengirimkan data secara serial sedangkan Tx digunakan untuk menerima data secara serial.
Pada mikrokontroler ATmega16, pin D0 dan D1 digunakan untuk komunikasi serial usart
Universal Synchronous and Asynchronous Serial Receiver And Transmiter
yang mendukung komunikasi
full duplex
komunikasi dua arah. Dengan fasilitas Rx dan Tx ini mikrokontroler bisa berkomunikasi secara serial usart baik antara devais. Sistem
komunikasi ini, jumlah data yang diterima merupakan data 8 bit dan data yang akan diterima dari model simultor boiler ada lima buah parameter sebagai berikut :
1. Temperatur
2. Tekanan
3. Level air
4. Level oli
5.
Blower
Nilai komponen C7=C8=C9=C10=10uF pada rangkaian RS232 mengacu pada
datasheet
IC MAX232. Gambar rangkaian RS232 seperti ditunjukkan pada gambar 3.3.
Gambar 3.4. Rangkaian RS232
3.5. Perancangan Perangkat Lunak
Rancangan program ini dibuat kedalam bentuk
flowchart
, guna mempermudah proses pembuataan
listing
program. Program mikrokontroler yang akan dibuat menggunakan bahasa C, kemudian program tersebut disusun
compile
secara otomatis ke dalam bentuk
file
.hex untuk dimasukan ke dalam IC ATmega16.
Listing
program yang akan dibuat meliputi:
1. Komunikasi Serial Usart
2. Komunikasi I2C
3. Komunikasi SPI
3.5.1. Diagram Alir Utama
Diagram alir utama ditunjukkan pada gambar 3.5. Program utama menunjukkan proses mikrokontroler keseluruhan.
START
INISIALISASI
TERIMA DATA DARI MODEL SISTEM
BOILER
KOMUNIKASI DENGAN SISTEM PENAMPIL
KIRIM PAKET DATA
APAKAH ADA DATA
F EEDBACK ?
KOMUNIKASI DENGAN SISTEM
MODEL SIMULATOR BOILER
END YA
TIDAK
Gambar 3.5. Diagram Alir Utama Setelah
start
, program melakukan inisialisasi terhadap
port-port
mikrokontroler yang digunakan untuk proses pengendalian alat. Proses pengiriman data dari sistem model boiler
akan diterima oleh mikrokontroler A dan program tersebut selanjutnya diteruskan ke PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
sistem panampil dan sistem
monitoring
boiler
.
Data yang di terima oleh sistem
monitoring
berupa sebuah paket data. Pada saat data parameter yang diterima oleh sistem
monitoring
boiler melebihi atau kurang dari batas yang ditentukan
set point ,
maka sistem
monitoring
dapat melakukan umpan balik
feedback
ke model sistem boiler.
Timing
pewaktuan yang dibutuhkan untuk proses pengiriman dan penerimaan harus sinkron supaya tidak terdapat ada
kesalahan atau
error.
3.5.2. Diagram Alir Komunikasi Serial Dengan Sistem Boiler
Diagram alir modul serial komunikasi dengan sistem boiler, data yang akan dikirim dengan menggunakan cara komunikasi serial USART. Setelah
start
, program melakukan inisialisasi terhadap
port-port
mikrokontroler A. Setelah data parameter dari sistem model boiler diterima kemudian data tersebut dapat diproses lebih lanjut oleh mikrokontroler A.
Ketika pemrosesan data parameter pada mikrokontroler A sudah selesai maka data tersebut akan dikirim ke mikrontroler B. Gambar diagram alir model serial komunikasi
dengan sistem boiler dapat ditunjukkan pada gambar 3.6.
START
INISIALISASI
TERIMA DATA
DATA DI KIRIM ?
MIKRO B
END TIDAK
YA
Gambar 3.6. Diagram Alir Model Serial Komunikasi dengan Sistem Bolier PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.5.3. Diagram Alir Komunikasi Serial Dengan Sistem Penampil
Berikut ini menjelaskan komunikasi serial antara mikrokontroler A dengan mikrokontroler B menggunakan cara komunikasi serial I2C. Untuk komunikasi ini sendiri
merupakan komunikasi satu arah dimana mikrokontroler A sebagai pemancar TX dan mikrokontroler B sebagai penerima RX.
Setelah
start
, program melakukan inisialisasi terhadap
port-port
mikrokontroler B. Saat proses penguraian data parameter pada mikrokontroler B sudah selesai dan data
tersebut akan ditampilkan pada LCD 2x16. Gambar 3.7 merupakan diagram alir serial komunikasi sistem penampil.
START
INISIALISASI
PROSES PENGURAIA
N DATA
MENAMPILKAN DATA
END
Gambar 3.7. Diagram Alir Komunikasi Serial dengan Sistem Penampil Proses penguraian data dari sistem model simulator boiler akan dilakukan secara
berurutan atau satu per satu. Parameter yang akan diterima langsung tampil di LCD. Data yang diterima pada sistem penampil ini akan sama dengan data yang akan dikirimkan dari
sistem model simulator boiler. Setiap parameter akan diberi kode seperti terlihat pada tabel 3.1.
Tabel 3.1. Kode parameter boiler
No Parameter
Kode Satuan
1 Temperatur
T C C
2 Tekanan
P bar b
3 Level Air
A ton t
4 Level Oli
O meter kubikm3
5 Blower
B -
Setiap parameter yang diterima akan diberikan kode ASCII
American Standard Code for Information Interchange.
Contohnya untuk kondisi
blower
di LCD akan ditampilkan “B=1”, dimana B merupakan kode dari
blower
dan 1 menunjukan kondisi
blower
sedang
ON
. Kode ASCII
American Standard Code for Information Interchange
dari B=1 dalam bentuk desimal dan biner ditunjukan pada tabel 3.2. Tabel 3.2. Karakter ASCII “B=1” dalam desimal dan biner
ASCII Desimal
Biner B
11 00001011
= 61
00111101 1
1 00000001
Data yang terima lebih dahulu adalah LSB
least significant bit
. LSB merupakan bit yang paling kana
n. Dengan demikian, gambaran paket data dari “B=1” yang akan diterima diperlihatkan seperti pada gambar 3.8.
Gambar 3.8. Paket data serial “B=1” Karena data diterima dengan kecepatan 9600 bitdetik, maka setiap bitnya
memerlukan waktu selama 19600 = 104 mikrodetikbit. Satu paket data untuk satu karakter terdiri dari 10 bit 8-bit data, 1-bit start dan 1-bit stop. Dengan demikian,
penerimaan satu karakter yang terdiri dari 10-bit akan membutuhkan waktu selama 10 x 104 mikrodetik = 1.040 mikrodetik atau menjadi 1,04 milidetik. Pengiriman kata B=1 akan
membutuhkan waktu sekitar 3 milidetik pada kecepatan 9600 bps. Jika ingin mengirim karakter yang lain, dapat mengacu pada tabel 3.8. untuk tiap-tiap karakter ASCII.
Untuk menerima dan menampilkan data parameter yang diatur menggunakan LCD 2x16. Data yang akan ditampilkan pada sistem penampil sama dengan data yang akan
dikirim oleh model simulator boiler. Data yang akan diterima merupakan parameter yang sudah diatur oleh model simulator boiler. Setiap parameter akan diberi simbol atau kode
sebagai berikut : 1.
Temperatur : T dengan satuan
C C 2.
Tekanan : P dengan satuan bar b 3.
Level Air : A dengan satuan ton t 4.
Level Oli : O dengan satuan liter L 5.
Blower : B dengan kondisi
OFF
: 0 dan
ON
: 1 Pada gambar 3.9. merupakan contoh dari tampilan data yang diharapkan pada LCD.
Gambar 3.9. Contoh Data yang Akan Ditampilkan Tabel 3.3. Karakter ASCII dalam format heksa dan desimal
Tujuan pemberian kode agar data yang sudah dikirim oleh model simulator boiler dapat dikenali atau dibaca oleh mikrokontroler dari modul komunikasi serial sebelum data
tersebut ditampilkan pada LCD.
3.5.4. Diagram Alir Komunikasi Serial Dengan Sistem Monitoring
Diagram alir komunikasi serial dengan sistem
monitoring
menggunakan cara komunikasi serial SPI dan komunikasi ini merupakan komunikasi dua arah. Disebut
sebagai komunikasi dua arah karena komunikasi sistem yang satu berfungsi sebagai pemancar TX dan yang satu sebagai penerima RX dan begitu sebaliknya. Setelah
start
, program melakukan inisialisasi terhadap
port-port
mikrokontroler A. Jadi parameter data
input
dari sistem boiler akan diterima oleh mikrokontroler A, selanjutnya data pada mikrokontroler A tersebut akan dikirim dan ditampilkan di bagian sistem
monitoring
. Pada saat data parameter nilainya melebihi atau kurang dari batas yang ditentukan
set point,
sehingga sistem
monitoring
akan melakukan umpan balik
feedback
ke model simulatorboiler untuk mematikan
blower.
Gambar diagram alir modul serial komunikasi dengan sistem
monitoring
dapat ditunjukkan pada gambar 3.10.
STAR
INISIALISASI
INPUT BOILER
AMBIL DATA ?
KIRIM DATA KE SISTEM
MONITORING
DATA DITAMPILKAN
ADA DATA FEEDBACK ?
END TIDAK
YA
TIDAK YA
Gambar 3.10. Diagram alir modul serial komunikasi dengan Sistem
Monitoring
34
BAB IV HASIL DAN PEMBAHASAN
Bab ini berisi tentang gambar fisik
hardware
yang dibuat.
Hardware
yang dibuat bertujuan untuk mengimplementasikan rancangan dari alat yang sudah dibahas dalam bab
III. Setiap perangkat mengambil bagian penting dari sebuah sistem secara keseluruhan. Berikut ini merupakan hasil implemetasi dari perancangan alat dan bagian-bagian
komponen yang merupakan satu kesatuan dari keseluruhan sistem.
4.1. Bentuk Fisik
Hardware
Elektronika 4.1.1. Bentuk Fisik Minimum System ATmega16
Bentuk fisik minimum system ATmega16 terdapat dua buah minimum sistem, yakni minimum system A yang secara keseluruhan ditunjukkan pada pada gambar 4.1 dan
minimum system B yang secara keseluruhan ditunjukkan pada gambar 4.2. Minimum sistem A terdiri dari IC ATmega16, IC Max232, port A, port B, port C, port D, port female
rs232, dan
connector
Vcc, sedangkan minimum system B terdiri dari IC ATmega 16, port A, port B, port C, port D dan
connector
Vcc Minimum system A fungsinya digunakan untuk menerima data dari model simulator boiler. Data yang diterima berupa data
parameter boiler. Minimum system B fungsinya digunakan untuk menerima data dari minimum
system
A dan data tersebut akan ditampilkan pada LCD .
Gambar 4.1. Minimum System A PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4.2. Minimum System B
4.1.2. Bentuk Fisik LCD 2x16
Bentuk Fisik LCD 2x16 secara keseluruhan terdapat pada gambar 4.3. LCD berfungsi untuk menampilkan data-data yang telah diatur dan diterima. Data yang ingin ditampilkan
berupa data parameter yang diolah oleh minimum
system
B. Port yang digunakan yakni port D.
Gambar 4.3. LCD 2x16 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4.4. Rangkaian Keseluruhan Modul Komunikasi Serial
Gambar 4.5. Bentuk Fisik Modul Komunikasi Serial PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tabel 4.1. Penggunaan Port Pada
Mynsis
Mikrokontroler No
Saluran Fungsi
1 PA0
BUZZER
2 PA1
LED Indikator 3
PB0 RS LCD
4 PB1
RW LCD 5
PB2
Enable
LCD 6
PB4 D4 LCD
7 PB5
D5 LCD 8
PB6 D6 LCD
9 PB7
D7 LCD 10
PC0 SCL
11 PC1
SDA 12
PD0 RXD
13 PD1
TXD
4.1.4. Cara Penggunaan Alat
Hardware
modul komunikasi serial akan langsung hidup secara otomatis ketika mendapatkan tegangan dari
power supply
.
User
dapat mengatur kecerahan LCD dengan mengatur potensiometer. Pada hardware ini terdapat dua buah potensiometer untuk
mengatur masing-masing kecerahan LCD. Selain itu terdapat dua buah tombol reset dimana fungsinya untuk merestart program, sehingga kembali ke program awal.
4.2. Pengujian Keberhasilan 4.2.1. Pengujian Penerimaan Data Temperatur
Pengujian untuk penerimaan data temperatur dilakukan dengan mengamati apakah data yang dikirim dari model simulator boiler dan data yang diterima di modul komunikasi
serial USART dan I2C akan di tampilkan pada LCD sudah sama atau berbeda. Untuk pengujian percobaan ini diharapkan data yang diterima akan di tampilkan pada tiap
LCD harus sinkron semua. Untuk pengujian penerimaan data temperatur dilakukan sebanyak 11 percobaan sama dengan jumlah pengujian yang dilakukan pada bagian model
simulator boiler. Hasil pengujian penerimaan data temperatur pada modul komunikasi serial ditunjukan pada tabel 4.2.
Tabel 4.2. Hasil Pengujian Penerimaan Data Temperatur Data Dari Model
Simulator Boiler LCD 1
USART LCD 2
I2C Error
24 24
24 55
55 55
79 79
79 109
109 109
134 134
134 160
160 160
184 184
184 211
211 211
233 233
233 254
254 254
4.2.2. Pengujian Penerimaan Data Tekanan
Pengujian untuk penerimaan data tekanan dilakukan dengan mengamati apakah data yang dikirim dari model simulator boiler dan data yang diterima di modul komunikasi serial
USART dan I2C akan di tampilkan pada LCD sudah sama atau berbeda. Untuk pengujian percobaan ini diharapkan data yang diterima akan di tampilkan pada tiap
LCD harus sinkron semua. Untuk pengujian penerimaan data tekanan dilakukan sebanyak 11 percobaan sama dengan jumlah pengujian yang dilakukan pada bagian model simulator
boiler. Hasil pengujian penerimaan data tekanan pada modul komunikasi serial ditunjukan pada tabel 4.3.
Tabel 4.3. Hasil Pengujian Penerimaan Data Tekanan Data Dari Model
Simulator Boiler LCD 1
USART LCD 2
I2C Error
0,9 0,9
0,9 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tabel 4.3. Lanjutan Hasil Pengujian Penerimaan Data Tekanan 2,1
2,1 2,1
3,1 3,1
3,1 4,3
4,3 4,3
5,2 5,2
5,2 6,3
6,3 6,3
7,3 7,3
7,3 8,3
8,3 8,3
9,1 9,1
9,1 9,9
9,9 9,9
4.2.3. Pengujian Penerimaan Data Level Air
Pengujian untuk penerimaan data level air dilakukan dengan mengamati apakah data yang dikirim dari model simulator boiler dan data yang diterima di modul komunikasi serial
USART dan I2C akan di tampilkan pada LCD sudah sama atau berbeda. Untuk pengujian percobaan ini diharapkan data yang diterima akan di tampilkan pada tiap
LCD harus sinkron semua. Untuk pengujian penerimaan data level air dilakukan sebanyak 11 percobaan sama dengan jumlah pengujian yang dilakukan pada bagian model simulator
boiler. Hasil pengujian penerimaan data level air pada modul komunikasi serial ditunjukan pada tabel 4.4.
Tabel 4.4. Hasil Pengujian Penerimaan Data Level Air Data Dari Model
Simulator Boiler LCD 1
USART LCD 2
I2C Error
0,7 0,7
0,7 2,1
2,1 2,1
3,3 3,3
3,3 4,2
4,2 4,2
5,2 5,2
5,2 6,6
6,6 6,6
7,2 7,2
7,2 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tabel 4.4. Lanjutan Hasil Pengujian Penerimaan Data Level Air 8,2
8,2 8,2
9,0 9,0
9,0 9,9
9,9 9,9
4.2.4. Pengujian Penerimaan Data Level Oli
Pengujian untuk penerimaan data level oli dilakukan dengan mengamati apakah data yang dikirim dari model simulator boiler dan data yang diterima di modul komunikasi serial
USART dan I2C akan di tampilkan pada LCD sudah sama atau berbeda. Untuk pengujian percobaan ini diharapkan data yang diterima akan di tampilkan pada tiap
LCD harus sinkron semua. Untuk pengujian penerimaan data level oli dilakukan sebanyak 11 percobaan sama dengan jumlah pengujian yang dilakukan pada bagian model simulator
boiler. Hasil pengujian penerimaan data level oli pada modul komunikasi serial ditunjukan pada tabel 4.5.
Tabel 4.5. Hasil Pengujian Penerimaan Data Level Oli Data Dari Model
Simulator Boiler LCD 1
USART LCD 2
I2C Error
9 9
9 19
19 19
27 27
27 37
37 37
44 44
44 52
52 52
61 61
61 71
71 71
77 77
77 85
85 85
4.3. Pembahasan
Software
Pada tugas akhir ini
software
yang digunakan adalah
Code Vision AVR Compiler
bahasa C. Software ini digunakan untuk membuat program pada IC mikrokontroler yang akan digunakan. IC yang akan digunakan pada modul komunikasi serial adalah
mikrokontroler ATmega16. Berikut ini merupakan pembahasan dari program modul komunikasi serial USART dan I2C.
4.3.1. Program USART
Berikut ini merupakan pembahasan dari program modul komunikasi serial untuk bagian usart.
Pada program kode diatas merupakan library yang akan digunakan. Berhubung yang akan digunakan adalah IC ATmega16, delay, LCD dan fungsi
sprintf
maka dituliskan include librarinya masing-masing.
Ini adalah bagian dari inisialisasi USART untuk ATmega16, penulisan programnya otomatis setelah melakukan setting awal pada codevision AVR
Nilai
baud rate
dapat diatur dengan menggunakan standar kecepatan yang disediakan, diantaranya 1.200, 2.400, 4.800, 9600, 19.200, 38.400, 57.600, dan 115.200 bps. Salah satu
kecepatan yang paling umum digunakan adalah 9.600
bps
. Umumnya
baud rate
yang digunakan dalam pengiriman data antar mikrokontroler adalah 9600
bps
. Karena baud rate 9600
bps
merupakan standar unuk komunikasi serial. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
char tx_buffer
[80] Transmisi Data untuk I2C,
char rx_buffer
[80] Data Yang diterima dari I2C,
char dataString
[16] Penampung untuk komunikasi USART,
char data1
[33],data2[33],data3[33],data4[33] penampung untuk setiap data yang diterima int suhu,oli, variabel untuk memeriksa kondisi suhu dan level oli ,
float tekanan,air Variabel untuk memeriksa kondisi tekanan dan level air.
Membersihkan variabel penampung untuk menerima data selanjutnya yang dikirim
Menerima dan memeriksa karakter kemudian mengubahnya kedalam
string
getString;
sprintf
data1,s,dataString Menyimpan data suhu pada data1
getString; sprintf
data2,s,data
String
Menyimpan data tekanan pada data2 suhu=atoidata1 Ubah data1 menjadi
integer
untuk suhu tekanan=atofdata2 Ubah data2 menjadi
float
untuk tekanan
Periksa kondisi boiler jika nilai suhu 20 atau suhu 200 maka
buzzer
akan bunyi
on
, jika nilai tekanan 4 atau tekanan 9 maka
buzzer
akan bunyi
on
PORTA.0=1
buzzer
akan aktif
on
, PORTA.0=0
buzzer
akan
non
aktif
off
.
Menampilkan data yang diambil pada LCD Tampilkan data untuk suhu, tampilkan data untuk tekanan,
PORTA.1=0 merupakan kondisi awal dari
buzzer
sprintftx_buffer, T= sC P= sb\n A= st O= sm3,data1,data2,data3,data4
Untuk mengirimkan data boiler ke slave menggunakan komunikasi serial I2C.
if twi_master_transTWI_SLAVE_ADDR,tx_buffer,strlentx_buffer,rx_buffer,sizeofrx_buff
er {
Mengirim data ke slave dan menunggu respon dari slave
if twi_rx_index
{ Respon yang akan dilakukan jika I2C tidak
error if twi_rx_index
{
rx_buffer[twi_rx_index] = NULL;
} }
} Pastikan data terakhir
NULL
karakter
4.3.2. Program I2C
Berikut ini merupakan pembahasan dari program modul komunikasi serial untuk bagian I2C.
char rx_buffer
[32] variabel untuk menampung data yang diterima
char tx_buffer
[32] variabel untuk mengirim respon
slave
bool slave_rx_handlerbool rx_complete
{
if twi_result= = TWI_RES_OK received_ok= true; else
{ Ini merupakan bagian program untuk mengecek I2C terlebih dahulu jika ada data yang
dikirim tanpa
error
. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
else {
lcd_clear; lcd_putsfReceive error:\n;
lcd_putsfstatus_msg[twi_result] ; received_ok= false;
return false;
} Program ini untuk membaca jika ada data yang diterima error, maka sinyal akan
dikirimkan dengan pesan error untuk menghentikan pengecekan
unsigned char slave_tx_handlerbool tx_complete {
unsigned char i; if tx_complete= = false
{ strcpyftx_buffer,Data diterima OK\n\r;
return strlentx_buffer; }
if received_ok {
lcd_clear;
for i= 0;i twi_rx_index;i+ + { lcd_putcharrx_buffer[i] ;
} }
return 0;
} Bagian ini merupakan proses program pengiriman atau transmisi data dari
master
ke
slave
dimulai. Kemudian pindahkan data yang diterima ke
tx_buffer.
Setelah pengiriman data atau transmisi data dari
slave
ke
master
sudah siap, dan tidak ada lagi
byte
yang dikrim.
4.4. Pembahasan Komunikasi Serial
Untuk menguji komunikasi serial yang dilakukan antara model simulator boiler dan modul komunikasi serial alat yang digunakan adalah osiloskop. Dengan osiloskop
penerima data parameter boiler dapat diamati. Bentuk gelombang tersebut dapat diidentifikasi dan disesuaikan dengan data yang diterima pada program mikrokontroler.
Pengujian komunikasi serial menggunakan osiloskop dilakukan sebanyak 27 kali percobaan. Setiap parameter boiler dilakukan percobaan sebanyak 6 sampai 7 kali
percobaan. Untuk analisis pengujian komunikasi serial hanya menggunakan data temperatur karena temperatur merupakan data pertama data1, tekanan merupakan data
kedua data2, level air merupakan data ketiga data3, dan level oli merupakan data terakhir data4. Data parameter yang lain tidak dapat dianalisis karena keterbatasan
kemampuan osiloskop untuk menampilkan seluruh data yang diterima. Ada 2 percobaan yang akan dianalsis untuk mewakili setiap percobaan yang telah dilakukan, yaitu :
1. Data Temperatur T=50C PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4.6. Komunikasi serial data temperatur T=50C
Gambar 4.7. Data temperatur pada osiloskop T=50C Gambar 4.7. merupakan komunikasi serial yang dilakukan oleh bagian model simulator
boiler dengan bagian modul komunikasi serial. Data temperatur yang diatur oleh
user
menunjukan nilai temperatur adalah T=50C, sedangkan nilai parameter yang lain tidak PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
diubah karena pada percobaan ini hanya akan melihat perubahan bentuk data temperatur pada osiloskop.
Gambar 4.7. merupakan gelombang dari data temperatur pada osiloskop dengan nilai T=50C. Pada bagian program mikrokontroler
software
hanya nilai data saja yang diterima, contohnya T=50C maka yang akan diterima hanya data 50. Pengiriman data yaitu
per karakter kemudian dikumpulkan menjadi sebuah kalimat. Setiap data yang diterima akan dipisahkan dengan karakter data1data2data3data4. Data yang diterima lebih
dahulu adalah LSB
least significant bit
. LSB merupakan bit yang paling kanan. Dari bentuk gelombang pada gambar 4.7. terdapat 5 buah karakter dan dapat dilihat pada tabel
4.6. Tabel 4.6. Biner dari T=50 dalam hex dan karakter
Biner Hex
Karakter 1010 1100 = 0011 0101
35 5
0000 1100 = 0011 0000 30
1100 0100 = 0010 0011 23
0001 1100 = 0011 1000 38
8
0111 0100 = 0010 1110 2E
.
Dari tabel 4.6 dapat dilihat bahwa pengujian pengiriman data parameter boiler yang dilakukan dengan menggunakan osiloskop membuktikan jika data yang diterima sesuai
dengan program mikrokontoler
software
yang telah dibuat.
2. Data Temperatur T=200C PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4.8. Komunikasi serial data temperatur T=200C
Gambar 4.9. Data temperatur pada osiloskop T=200C Gambar 4.8. merupakan komunikasi serial yang dilakukan oleh bagian model
simulator boiler dengan bagian modul komunikasi serial. Data temperatur yang diatur oleh
user
menunjukan nilai temperatur adalah T=200C, sedangkan nilai parameter yang lain tidak diubah karena pada percobaan ini hanya akan melihat perubahan bentuk data
temperatur pada osiloskop. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4.9. merupakan gelombang dari data temperatur pada osiloskop dengan nilai T=200C. Pada bagian program mikrokontroler
software
hanya nilai data saja yang diterima, contohnya T=200C maka yang akan diterima hanya data 200. Pengiriman data
yaitu per karakter kemudian dikumpulkan menjadi sebuah kalimat. Setiap data yang dikirimkan akan dipisahkan dengan karakter data1data2data3data4. Data yang
terkirim lebih dahulu adalah LSB
least significant bit
. LSB merupakan bit yang paling kanan. Dari bentuk gelombang pada gambar 4.9. terdapat 5 buah karakter dan dapat dilihat
pada tabel 4.7. Tabel 4.7. Biner dari T=200 dalam hex dan karakter
Biner Hex
Karakter 1010 1100 = 0011 0101
32 2
0000 1100 = 0011 0000 30
0000 1100 = 0011 0000 30
1100 0100 = 0010 0011 23
0001 1100 = 0011 1000 38
8
Dari tabel 4.7 dapat dilihat bahwa pengujian penerima data parameter boiler yang dilakukan dengan menggunakan osiloskop membuktikan jika data yang diterima sesuai
dengan program mikrokontoler
software
yang dibuat.
4.5. Pembahasan Komunikasi I2C