BAB 3 PERANCANGAN
3.6. Perancangan Perangkat Lunak(Sofware)
3.6.2. Perancangan Program
Pembuatan bahasa program dirancang pada sofware extreme burner dengan menggunakan bahasa basic computer.
Adapun perancangan bahasa program tersebut adalah sebagai berikut : Tabel III.4 Program Perintah Rancangan Kerja
Perintah Program Keterangan
$regfile = “m16Adef.dat” Mendeklarasikan Mikrokontroler atau tipe mikrokontroler yang digunakan
$crystal = 12000000 Mendeklarasikan Kristal yang
digunakan dengan tipe Kristal 12Mhz
$baud =9600 Komunikasi serial dengan bandrate
9600
Pin_dt Alias PortC.0 Mengatur Pin PortC.0 untuk data
38
Pin_clk Alias PortC.1 Mengatur Pin PortC.1 untuk Clock Pin_str Alias PortC.2 Mengatur Pin PortC.2 untuk Strobe
Time_dly Alias 10 Lamanya waktu Scanning ditentukan
oleh delay
‘Init Pin Pendeklarasian Pin Input/Output
Config Portb.0 =Input
Konfigurasi Pin IC 4094yang digunakan sebagai keluaran
Deklarasi function Bagian yang terpisah dari program dan dapat dipanggil dimanapun didalam program
Declare Sub Set_data(byval Dtb As Byte) Menyatakan bagian data yang di set Declare Sub send_data(byval Dtst As String*8) Menyatakan bagian data yang dikirim Declare sub Digit(byval Dgt As Byte) Menyatakan jumlah bagian data Config Adc = Single, Prescaler = Auto ,
Reference = Internal
Konfigurasi pemilihan Counter yang digunakan
Start Adc Counter Adc yang dijalankan
Deklarasi Variable Pendeklarasian variable
Dim Set_suhu As Byte Channel = 0 Set_suhu = 35
Pendeklarasian variable 35 derajat Dim J As Integer Kode dari program, pendeklarasian J
bertipe Integer
If Tombol 1=0 Then Blok pernyataan 1 yang dikerjakan bila kondisi 1 terpenuhi
End If Akhir dari Akhir dari pernyataan
kondisi awal Alrm 1=Set_suhu +2
Alrm 1=Set_suhu -2
Program alarm bunyi ketika suhu pengaturannya melebihi 2 derajat atau dibawah 2 derajat dari suhu yang di setting
If Temp>Arlm 1 Then Alrmon=1
Rly_heater=1
Program perintah Alrm 1 hidup ketika Relay, dan Heater tetap hidup dan melebihi suhu yang di atur
If Temp<Arlm 2 Then Alrmon=1
Rly_heater=1
Program perintah Alarm 2, Heater hidup ketika kondisi suhu dibawah suhu yang di atur
Do Awal dari jalannya program
Loop Looping menuju awal program
Wait 1 Untuk pewaktuan, tunda waktu 1
Select Case Sat
Case 0 : Call Send_data(“00111111”)
Program untuk menampilkan angka satuan 0 yang di konversikan dan ditampilakn pada sevent segment Select Case Pul
Case 0 : Call Send_data(“00111111”)
Program untuk menampilkan angka puluhan yang di konversikan dan ditampilakn pada sevent segment Sub Send_data(byval Dtst As String *8) Bagian data yang dikirim
End Akhir dari program
40 BAB 4
HASIL DAN PEMBAHASAN 4.1. Metode Pengujian, Pengukuran dan Pengambilan Data
Untuk melakukan pengukuran dan pengambilan data telah di tetapkan metode yang akan di lakukan adalah sebagai berikut :
4.1.1. Metode Pengujian Alat
Pada perancangan rangkaian sistem heater dengan tampilan big display pada alat infant warmer ini metode pengujian alat dilakukan dengan menghubungkan alat kecatu daya untuk mengamati serta uji fungsi setiap rangkaian.
Prosedur pengujian alat dilakukan dengan cara sebagai berikut:
1. Catu daya dihubungkan untuk mensupply tegangan ke rangkaian dan mengaktifkan heater.
2. Hidupkan unit dengan menekan tombol ON/OFF pada posisi ON.
3. Setting suhu dengan menekan tombol setting suhu (35℃, 36℃, 37℃).
4. Heater akan bekerja sesuai dengan suhu yang diatur.
5. Selanjutnya hasil kinerja heater akan dikontrol oleh sensor suhu dan akan ditampilkan pada Display Sevent Segment.
6. Lakukan prosedur ke 3 dan ke 4 untuk pengaturan suhu selanjutnya.
4.1.2. Metode Pengukuran
Pada perancangan rangkaian sitem heater dengan tampilan big display pada alat infant warmer ini metode pengukuran dilakukan dengan menggunakan alat ukur multimeter pada range DCV, posisi probe hitam pada grounding dan
probe merah pada tiap titik pengukuran ( TP1,2,3,4,5, & TP 6 ) terhadap variable yang ditentukan dan mengamati secara langsung tegangan dan output yang ditampilkan pada display sevent segment.
a. Pengamatan tampilan display : Dilakukan untuk mengamati informasi yang dihasilkan pada tampilan display terhadap variabel perubah yang di berikan.
b. Pengukuran tegangan : dilakukan untuk mengetahui dan mengukur besar tegangan keluaran yang dihasilkan terhadap variabel perubah yang diberikan.
c. Pengamatan pulse : dilakukan untuk mengetahui panjang gelombang yang Terjadi pada suatu keluaran terhadap variabel perubah yang diberikan.
4.1.3. Metode Pengambilan Data
Pada perancangan rangkaian system heater dengan tampilan big display pada alat infant warmer terhadap pengukuran yang di lakukan pada titik pengukuran, Pengambilan dilakukan dengan menggunakan Osiloscope dan Multimeter yang digunakan untuk mengukur panjang gelombang dan perubahan tegangan dengan ketentuan sebagai berikut:
Pengambilan data dilakukan pada titik pengukuran yang di tetapkan pada titik pengukuran:
1. Tp1 untuk mengukur keluaran dari LM 35 yang menjadi masukan dari U1 ( Mikrokontroler Atmega 16 ) pin 40.
2. Tp2 untuk mengukur keluaran dari U1 ( Mikrokontroler Atmega 16 ) pin 22 (PC0 / SCL ) yang menjadi masukan dari U2a pin 2 (D) IC 4094.
42
3. Tp3 untuk mengukur keluaran dari U1 ( Mikrokontroler Atmega 16 ) pin 23 (PC1 / SDA) yang menjadi masukan dari U2a dan U2b pin 3 (CLK) IC 4094.
4. Tp4 untuk mengukur keluaran dari U1 ( Mikrokontroler Atmega 16 ) pin 24 (PC2 / TCK) yang akan menjadi masukan dari U2a dan U2b pin 1 (STB) IC 4094..
5. Tp5 untuk mengukur keluaran dari U1 ( Mikrokontroler Atmega 16 ) pin 26 (PC4 / TD0) yang menjadi masukan dari U4 sebagai poto coupler.
6. Tp6 untuk mengukur keluaran dari U1 ( Mikrokontroler Atmega 16 ) pin 27 (PC5 / TD1) untuk melihat kondisi tegangan pada buzzer.
4.1.4. Penyajian Data Pengukuran
Tabel IV.1. pengukuran menggunakan Multimeter pada range DCV:
Temperatur
℃
Titik Pengukuran ke volt Output Display
TP1 TP2 TP3 TP4 TP5 TP6
32℃ 315 mV 0 0 5 V 5 V 5V 32℃
35℃ 336 mV 1,18mV 1,18mV 5 V 5 V 0 35℃
36℃ 377 mV 1,18mV 1,18mV 5 V 5 V 0 36℃
37℃ 380 mV 1,18mV 1,18mV 5 V 5 V 0 37℃
40℃ 400 mV 0 0 5 V 5 V 5V 40℃
Tabel IV.2. pengukuran suhu 32℃ menggunakan alat ukur Oscilloscope:
Temperatur Titik
Pengukuran
Vpp dan Frekuensi (Hz) Osiloscope
32℃ TP1
TP2
TP3
44
TP4
TP5
TP6
Tabel IV.3. pengukuran suhu 35℃ menggunakan alat ukur Oscilloscope:
Temperatur Titik
Pengukuran
Vpp dan Frekuensi (Hz) Osiloscope
35℃ TP1
TP2
TP3
46
TP4
TP5
TP6
Tabel IV.4. pengukuran suhu 36℃ menggunakan alat ukur Oscilloscope:
Teperature Titik
Pengukuran
Vpp dan Frekuensi (Hz) Osiloscope
36℃ TP1
TP2
TP3
48
TP4
TP5
TP6
Tabel IV.5. pengukuran suhu 37℃ menggunakan alat ukur Oscilloscope:
Teperature Titik
Pengukuran
Vpp dan Frekuensi (Hz) Osiloscope
37℃ TP1
TP2
TP3
50
TP4
TP5
TP6
Tabel IV.6. pengukuran suhu 40℃ menggunakan alat ukur Oscilloscope:
Teperature Titik
Pengukuran
Vpp dan Frekuensi (Hz) Osiloscope
40℃ TP1
TP2
52
TP3
TP4
TP5
TP6
4.1.5. Analisa Data
Konversi Tegangan terhadap Temperature output dari sensor suhu LM 35 pada titik pengukuran ( Tp1 ) dengan variable (32,35, 36, 37,40)℃:
Vout = 10 mV / 1℃, Vout = 10 mV / perubahan mV satu derajat celcius
Jika terbaca tegangan Vout = 300mV, Maka temperature nya = 300mV / 10mV = 30℃.
Tabel IV.7. Analisa data Tp1 dengan variable 32, 35,36,37,40℃:
Variabel Vout Vout = 10 mV / 1 Derajat Celcius(℃)
32℃ 315mV 31,5 ℃
35℃ 366mV 36,6 ℃
36℃ 377mV 37,7 ℃
37℃ 380mV 38 ℃
40℃ 400mV 40 ℃
Konversi bilangan biner terhadap output Mikrokontroler ATmega 16 yang menjadi input dari Shift Register 4094 yang di konversikan ke bilangan decimal (BCD) terhadap Display Sevent Segment terhadap variable (32,35, 36, 37,40)℃.
54
Tabel IV.8. Tp2 dengan variabel 32,35,36,37,40℃:
Variabel Output Mikrokontroler Shift Register 4094
Display Sevent Segment 32℃ 01001111, 01011011 01001111 -3
01011011 -2
32
35℃ 01001111, 01101101 01001111 -3 01101101 -5
35
36℃ 01001111, 01111101 01001111 -3 01111101 -6
36
37℃ 01001111, 00000111 01001111 -3 00000111 -7
37
40℃ 01100110, 00111111 01001111 -4 00111111 -0
40
Pada tabel diatas Sinyal data bit (01001111, 01011111) dari Mikrokontroler ATmega 16 secara serial akan diterima Shift register 4094 dan akan dikeluarkan secara pararel Display sevent segment untuk menampilkan angka 32, sinyal data bit serial (01001111, 01101101) dari ATmega 16 diterima Shift register 4094 dan diparelkan untuk menampilkan angka 35, sinyal data bit serial (01001111, 01111101) dari ATmega 16 diterima Shift register 4094 dan diparelkan untuk menampilkan angka 36, sinyal data bit serial (01001111, 00000111) dari ATmega 16 diterima Shift register 4094 dan diparelkan untuk
menampilkan angka 37, sinyal data bit serial (01100110, 00111111) dari ATmega 16 diterima Shift register 4094 dan diparelkan untuk menampilkan angka 40.
Tabel IV.9. Kebenaran BCD 8 bit
Logic Biner Decimal
h g F E D c b a
Tabel IV.10. Analisa kondisi heater pada Tp5 terhadap variable 35℃:
Variabel Relay Heater
35℃ NO Tidak mendapat supply tegangan
33℃ NC Mendapat supply tegangan
Pada saat suhu sudah mencapai suhu 35℃, maka relay akan memutus supply tegangan 220 VAC pada heater atau relay pada posisi NO (Normaly open). Dan pada saat suhu turun pada suhu 33℃, maka relay berada pada posisi NC (Normaly Close) dan supply tegangan 220 VAC akan masuk ke heater.
Tabel IV.11. Analisa kondisi heater pada Tp5 terhadap variable 36℃:
Variabel Relay Heater
36℃ NO Tidak mendapat supply tegangan
34℃ NC Mendapat supply tegangan
56
Pada saat suhu sudah mencapai suhu 36℃, maka relay akan memutus supply tegangan 220 VAC pada heater atau relay pada posisi NO (Normaly open). Dan pada saat suhu turun pada suhu 34℃, maka relay berada pada posisi NC (Normaly Close) dan supply tegangan 220 VAC akan masuk ke heater.
Tabel IV.12. Analisa kondisi heater pada Tp5 terhadap variable 37℃:
Variabel Relay Heater
37℃ NO Tidak mendapat supply tegangan
35℃ NC Mendapat supply tegangan
Pada saat suhu sudah mencapai suhu 37℃, maka relay akan memutus supply tegangan 220 VAC pada heater atau relay pada posisi NO (Normaly open). Dan pada saat suhu turun pada suhu 34℃, maka relay berada pada posisi NC (Normaly Close) dan supply tegangan 220 VAC akan masuk ke heater.
Tabel IV.13. Analisa kondisi buzzer pada Tp6 dengan variable (32,35,36,37 40)℃:
Variabel Output tegangan(Volt) Buzzer
32℃ 5V ON
35℃ 0 OFF
36℃ 0 OFF
37℃ 0 OFF
40℃ 5V ON
Pada tabel diatas buzzer akan aktif pada suhu 32℃ untuk alrm low ketika mendapat supply tegangan 5 VDC dan pada suhu 40℃ untuk alrm high ketika mendapat supply tegangan 5 VDC.
57 BAB 5
KESIMPULAN DAN SARAN 5.1. Kesimpulan
1. Mikrokontroler ATMega 16 sebagai pusat kendali untuk menerima data bit, memproses, dan mengeluarkannya.
2. Sensor Suhu LM35 berfungsi sebagai pengubah dari besaran fisis suhu ke besaran tegangan yang memiliki koefisien sebesar 10 mV /°C yang berarti bahwa kenaikan suhu 1°C maka akan terjadi kenaikan tegangan sebesar 10mV.
3. Pada alat Infant Warmer yang dirancang, pada suhu 32℃ akan terjadi alarm Low, dan pada suhu 40℃ akan terjadi alarm high.
5.2. Saran
1. Pembuatan modul sebaiknya dipersiapkan jauh hari supaya pemantapan modul semakin baik.
2. Pada saat melakukan pengukuran terhadap modul rangkaian Sistem Heater dengan tampilan Big Display pada alat Infant Warmer sebaiknya menggukan alat ukur sesuai satuan keluaran dari masing masing titik pengukuran.
3. Buku pegangan yang terdapat di perpustakaan perlu ditambah terutama sekali buku data sheet yang sangat diperlukan saat pembuatan modul.
4. Ketika melakukan proses pengukuran pada modul,ada baiknya di persiapkan dokumentasi sebagai bukti bahwasannya pengukuran memang betul betul dilakukan.
58 DAFTAR PUSTAKA
Andrianto, Heri. 2013. “Pemrograman Mikrokontroler AVR ATmega16 menggunakan Bahasa C (Code Vision AVR) edisirevisi”.Penerbit Informatika Rm.Francis.D.Yuri. (Desember 2001). Belajar Elektronika Tanpa Guru.
PenerbitM2S Bandung : Anggota IKAPI
Benedictus,JR.2020,Infant Warmer, https://www.academia.edu/6688717/Infant-Warmer/,28 Januari 2020
Copyright,2019,Teknik Elektronika, https://teknikelektronika.com/pengertian-seven-segment-display-layar-tujuh-segmen/,30 Januari 2020
Copyright,2019, Teknik Elektronika, https://teknikelektronika.com/pengertian-relay-fungsi-relay/,29 Januari 2020
Copyrigth,2013,Elektronika Dasar, https://elektronika-dasar.web.id/sensor-suhu-ic-lm35/,30 Januari 2020
Fisher&Paykel,Healthcare,2006, IW900 Series Warmer and Accessoris Technical Manual, Auckland,New Zealand
Wijayanto,I.2014, Mikrokontroler Almel AVR ATmega16, https://iwijayanto.staff.telkomuniversity.ac.id/mikrokontroler-atmel-avr-atmega-16/, 30 January 2020
LAMPIRAN
Lampiran 1. Wiring Diagram
PB0/T0/XCK
Lampiran 2. Listing Program
$regfile = "m16Adef.dat"
$crystal = 12000000
$baud = 9600
$hwstack = 32
$swstack = 10
$framesize = 40
Deklarasi PIN ============================
Led Alias Portd.7 Pin_dt Alias Portc.0 Pin_clk Alias Portc.1 Pin_str Alias Portc.2 Time_dly Alias 10 Tombol1 Alias Pinb.2 Tombol2 Alias Pinb.1 Tombol3 Alias Pinb.0 Buzzer Alias Portc.5 Rly_heater Alias Portc.3
' Init PIN =====================================
Config Rly_heater = Output Config Buzzer = Output Config Led = Output Config Portb.0 = Input
Config Portb.1 = Input Config Portb.2 = Input
Portb = 255 Rly_heater = 1
Config Pin_dt = Output Config Pin_clk = Output Config Pin_str = Output
Deklarasi fucntion ============================
Dim A As Byte Dim Dts As String * 5
Declare Sub Set_data(byval Dtb As Byte)
Declare Sub Send_data(byval Dtst As String * 8) Declare Sub Digit(byval Dgt As Byte)
Config Adc = Single , Prescaler = Auto , Reference = Internal Start Adc
Deklarasi Variabel ============================
Dim W As Word Dim Channel As Byte
Dim Nil As Single
Dim Nil_str As String * 4 Dim Temp As Byte Dim Set_suhu As Byte Channel = 0
Set_suhu = 35
Dim Tmr_sedetik As Integer Dim Tmr_alarm As Integer Dim Dt As Bit
Dim I As Integer Dim J As Integer Dim Cnt As Byte Dim Alarmon As Byte Dim Alrm1 As Byte Dim Alrm2 As Byte Print "START"
Tmr_sedetik = 1000
'Program Utama =================================
Do
'Led = 1
If Tombol1 = 0 Then ' 5 menit 'Led = 0
Set_suhu = 35
End If
If Tombol2 = 0 Then ' 10 menit 'Led = 0
Set_suhu = 36 End If
If Tombol3 = 0 Then ' 15 menit 'Led = 0
Set_suhu = 37 End If
Tmr_sedetik = Tmr_sedetik + 1 If Tmr_sedetik > 1000 Then Tmr_sedetik = 0
W = Getadc(channel) Nil = W * 5
Nil = Nil / 10 'Nil = W * 0.489
If Nil > 99.0 Then Nil = 99.0 If Nil < 0.0 Then Nil = 0.0 'Nil_str = Fusing(nil , "#.&") Temp = Nil
Call Digit(temp) Alrm1 = Set_suhu + 2 Alrm2 = Set_suhu - 2 If Temp > Alrm1 Then Alarmon = 1
Rly_heater = 1
Elseif Temp > Set_suhu Then Alarmon = 0
Rly_heater = 1
Elseif Temp < Alrm2 Then Alarmon = 1
Rly_heater = 0
Elseif Temp < Set_suhu Then Alarmon = 0
Rly_heater = 0 Else
Alarmon = 0 Rly_heater = 1 End If
'Led = Not Led End If
Tmr_alarm = Tmr_alarm + 1
If Tmr_alarm > 200 Then Tmr_alarm = 0
If Alarmon = 1 Then Buzzer = Not Buzzer Led = Not Led Else
Buzzer = 0 Led = 0 End If End If
Waitms 1 Loop
Do
Cnt = Cnt + 1
If Cnt >= 100 Then Cnt = 0 Call Digit(cnt)
Waitms 300 Loop
Do
For I = 1 To 16
Call Set_data(1) Wait 1
Next
For I = 1 To 16 Call Set_data(0) Wait 1
Next Loop
'Funtion area ====================================
Sub Digit(byval Dgt As Byte) Dim Pul As Byte
Dim Sat As Byte If Dgt < 10 Then Pul = 0
Sat = Dgt Else
Pul = Dgt / 10 Sat = Dgt Mod 10 End If
Pin_str = 0 Waitus Time_dly Select Case Sat
Case 0 : Call Send_data( "00111111") 'hgfedcba
Case 1 : Call Send_data( "00000110") Case 2 : Call Send_data( "01011011") Case 3 : Call Send_data( "01001111") Case 4 : Call Send_data( "01100110") Case 5 : Call Send_data( "01101101") Case 6 : Call Send_data( "01111101") Case 7 : Call Send_data( "00000111") Case 8 : Call Send_data( "01111111") Case 9 : Call Send_data( "01101111") End Select
Select Case Pul
Case 0 : Call Send_data( "00111111") Case 1 : Call Send_data( "00000110") Case 2 : Call Send_data( "01011011") Case 3 : Call Send_data( "01001111") Case 4 : Call Send_data( "01100110") Case 5 : Call Send_data( "01101101") Case 6 : Call Send_data( "01111101") Case 7 : Call Send_data( "00000111") Case 8 : Call Send_data( "01111111") Case 9 : Call Send_data( "01101111") End Select
Pin_str = 1
Waitus Time_dly End Sub
Sub Send_data(byval Dtst As String * 8) Dim Jlh As Byte
Jlh = Len(dtst) For J = 1 To Jlh
If Mid(dtst , J , 1) = "1" Then Call Set_data(0)
Else
Call Set_data(1) End If
Next End Sub
Sub Set_data(byval Dtb As Byte) If Dtb = 1 Then
Pin_dt = 1 Else
Pin_dt = 0 End If
Waitus Time_dly Pin_clk = 1 Waitus Time_dly Pin_clk = 0
Waitus Time_dly End Sub
End
Lampiran 6. Tampilan Pengukuran Dengan Osiloscope
Lampiran 7. Gambar pada saat melakukan pengukuran dengan Osiloscope