• Tidak ada hasil yang ditemukan

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

Dokumen terkait