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.
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 FEEDBACK ?
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
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 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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; PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
sprintf data1,s,dataString Menyimpan data suhu pada data1
getString; sprintf
data2,s,dataString 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 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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;itwi_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
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