BAB 3
PERANCANGAN ALAT DAN PROGRAM
3.1. DIAGRAM BLOK
display
keypad AT89S51
relay
Penguat sinyal
Sensor 1
Penguat sinyal
Sensor 5
alarm
pompa
Keterangan diagram blok: Sensor air yang berfungsi untuk mengetahui tingkat ketinggian air terhubung ke penguat sinyal. Output dari penguat sinyal masuk ke mikrokontroler AT89S51. keypad berfungsi sebagai input data ke mikrokontroler AT89S51. Pompa berfungsi sebagai pengisi dan pengosong tangki terhubung ke relay dan terhubung ke mikro AT89S51. display berfungsi sebagai penampil input data dari keypad.
Universitas Sumatera Utara
Sistem kerja rangkaian: Mikrokontroller akan memerintahkan pompa untuk mengisi penuh tangki apabila ada input data untuk mengisi tangki dan akan mengosongkan tangki apabila mendapat perintah pengosongan tangki sesuai dengan tingkat pengosongan.
3.2. FLOWCHART
start
tdk tdk
ya
Cek tombol kosong
cek tombol isi
ya
tdk
tdk
Cek tombol 1
Cek tombol 1
ya
Cek tombol 2
ya tdk
Cek tombol 2
Tampil angka 1
ya
Cek tombol 6
Tampil angka 1
tdk ya
Tampil angka 2
tdk tdk
tdk
ya Tampil angka 2
Tampil angka 6
Cek tombol 6
ya
kosongkan air sampai level 1
Isi air sampai level 1
Tampil angka 6
kosongkan air sampai level 2
Isi air sampai level 2 Isi air sampai Level 6
Kosogkan air sampai level 6
Universitas Sumatera Utara
Program di awali dengan start. Kemudian program akan mengecek penekanan tombol isi jika ada penekanan pada tombol isi maka program akan membandingkan data apakah ada penekanan tombol untuk pengisian sampai level 1 jika ada maka program akan menampilkan tampilan angka 1 pada display dan memerintahkan pompa untuk mengisi air sampai level 1 jika tidak ada penekanan tombol satu maka program akan akan mengecek penekana tombol 2 jika ada penekanan tombol 2 maka program akan menampilkan tampilan angka 2 pada display dan memerintahkan pompa untuk mengisi air sampai level 2 perlakuan yang sama terus dilakukan sampai tombol lima.
Jika tidak ada penekanan pada tombol isi maka program akan mengecek penekanan tombol pengosongan tangki jika ada penekanan pada tombol isi maka program akan membandingkan data apakah ada penekanan tombol untuk pengosongan sampai level 1 jika ada maka program akan menampilkan tampilan angka 1 pada display dan memerintahkan pompa untuk mengeluarkan air sampai level 1 jika tidak ada penekanan tombol satu maka program akan akan mengecek penekanan tombol pengosongan 2 jika ada penekanan tombol 2 maka program akan menampilkan tampilan angka 2 pada display dan memerintahkan pompa untuk mengosongkan air sampai level 2 .perlakuan yang sama terus dilakukan sampai tombol lima. Jika tidak ada penekanan pada tombol isi dan tombol pengosongan maka program akan kembali ke awal.
Universitas Sumatera Utara
3.3. Rangkaian Power Supplay ( PSU )
Rangkaian ini berfungsi untuk mensupplay tegangan ke seluruh rangkaian yang ada. Rangkaian PSA yang dibuat terdiri dari dua keluaran, yaitu 5 volt dan 12 volt, keluaran 5 volt digunakan untuk mensupplay tegangan ke seluruh rangkaian, sedangkan keluaran 12 volt digunakan untuk mensuplay tegangan ke relay. Rangkaian power supplay ditunjukkan pada gambar 3.3 berikut ini :
Gambar 3.3. Rangkaian Power Supplay ( PSU )
Universitas Sumatera Utara
3.4. Rangkaian Mikrokontroler AT89S51
Rangkaian ini berfungsi sebagai pusat kendali dari seluruh system yang ada. Rangkaian mikrokontroler ditunjukkan pada gambar berikut ini:
Gambar.3.4. Rangkaian Mikrokontroller AT89S51
Pin 31 External Access Enable (EA) diset high (H). Ini dilakukan karena mikrokontroller AT89S8253 tidak menggunakan memori eskternal.
Pin 18 dan 19
Universitas Sumatera Utara
dihubungkan ke XTAL 12 MHz dan capasitor 33 pF. XTAL ini akan mempengaruhi kecepatan
mikrokontroller AT89S8253 dalam mengeksekusi setiap perintah dalam
program. Pin 9 merupakan masukan reset (aktif tinggi). Pulsa transisi dari rendah ke tinggi akan mereset mikrokontroller ini. Pin 32 sampai 39 adalah Port 0 yang merupakan saluran/bus I/O 8 bit open collector dapat juga digunakan sebagai multipleks bus alamat rendah dan bus data selama adanya akses ke memori program eksternal. Pada port 0 ini masing masing pin dihubungkan dengan resistor 4k7 ohm. Resistor 4k7 ohm yang dihubungkan ke port 0 befungsi sebagai pull up ( penaik tegangan ) agar output dari mikrokontroller dapat mentrigger transistor.
Pin 1 sampai 8 adalah port 1. Pin 21 sampai 28 adalah port 2. Dan Pin 10 sampai 17 adalah port 3. Pin 39 yang merupakan P0.0 dihubungkan dengan sebuah resistor 330 ohm dan sebuah LED. Ini dilakukan hanya untuk menguji apakah rangkaian minimum mikrokontroller AT89S51 sudah bekerja atau belum. Dengan memberikan program sederhana pada mikrokontroller tersebut, dapat diketahui apakah rangkaian minimum tersebut sudah bekerja dengan baik atau tidak. Jika LED yang terhubung ke Pin 39 sudah bekerja sesuai dengan perintah yang diberikan, maka rangkaian minimum tersebut telah siap digunakan. Pin 20 merupakan ground dihubungkan dengan ground pada power supplay. Pin 40 merupakan sumber tegangan positif dihubungkan dengan + 5 volt dari power supplay.
Universitas Sumatera Utara
3.5.Rangkaian Alarm
Rangkaian alarm pada alat ini berfungsi untuk memutuskan atau menghubungkan sumber tegangan 12 volt dengan buzzer. Gambar rangkaian alarm ini ditunjukkan pada gambar 3.5 berikut ini :
Gambar 3.5. Rangkaian alarm Output dari relay yang satu dihubungkan ke sumber tegangan 12 volt dan yang lainnya dihubungkan ke buzzer. Hubungan yang digunakan adalah normally close. Prinsip kerja rangkaian ini pada dasarnya memanfaatkan fungsi transistor sebagai saklar elektronik. Tegangan atau sinyal pemicu dari transistor berasal dari mikrokontroller Port 0.1. Pada saat logika port 0.1 tinggi (high), maka transistor mendapat tegangan bias dari kaki basis. Dengan adanya tegangan bias ini maka transistor akan aktip (saturation), sehingga ada arus yang mengalir ke kumparan relay. Hal ini akan menyebabkan saklar
Universitas Sumatera Utara
pada relay menjadi tertutup, sehingga hubungan sumber tegangan 12 volt ke buzzer akan terhubung dan buzzer akan berbunyi. Begitu juga sebaliknya pada saat logika Port 0.1 rendah (low) maka relay tidak dialiri arus. Hal ini akan menyebabkan saklar pada relay terputus, sehingga sumber tegangan 12 volt dengan buzzer akan terputus dan buzzer tidak berbunyi.
3.6.Ranagkaian seven segment
Untuk menampilkan nilai level ketinggian air yang akan diisikan ke dalam tangki diperlukan suatu rangkaian display yang dapat menampilkan nilai level tersebut Rangkaian display yang digunakan untuk menampilkan nilai terlihat pada ganbar berikut:
Gambar.3.6. Rangkaian Seven Segment
Universitas Sumatera Utara
Display ini menggunakan 1buah seven segment yang dihubungkan ke IC HEF 4094BP yang merupakan IC serial to paralel. IC ini akan merubah 8 bit data serial yang masuk menjadi keluaran 8 bit data paralel. Rangkaian ini dihubungkan dengan P3.0 dan P3.1 AT89S51.P3.0 merupakan fasilitas khusus pengiriman data serial yang disediakan oleh mikrokontroler AT89S51. Sedangkan P3.1 merupakan sinyal clock untuk pengiriman data serial. Pada rangkaian display ini digunakan dua buah dioda yang berfungsi untuk menurunkan tegangan supply untuk seven segment. Satu buah dioda dapat menurunkan tegangan sekitar 0,6 volt. Jadi, apabila dioda yang digunakan dua buah maka tegangan yang dapat diturunkannya adalah 1,8 volt. Tegangan ini diturunkan agar umur seven segment lebih tahan lama dan karena tegangan maksimum seven segment adalah 3,7 volt
3.7. Rrangkaian Pengendali Pompa Air
Rangkaian pengendali pompa air pada alat ini berfungsi untuk mengisi dan mengosongkan air pada tangki. Gambar rangkaian pengendali pompa air ini ditunjukkan pada gambar 3.7 berikut ini:
Gambar 3.7. Rrangkaian Pengendali Pompa Air
Universitas Sumatera Utara
Output dari relay yang satu dihubungkan ke sumber tegangan 12 volt dan yang lainnya dihubungkan ke pompa. Hubungan yang digunakan adalah normally open. Prinsip kerja rangkaian ini pada dasarnya memanfaatkan fungsi transistor sebagai saklar elektronik. Tegangan atau sinyal pemicu dari transistor berasal dari mikrokontroler Port 0.1 (P0.1). Pada saat logika pada port 0.1 adalah tinggi (high), maka transistor mendapat tegangan bias dari kaki basis. Dengan adanya tegangan bias ini maka transistor akan aktip (saturation), sehingga adanya arus yang mengalir ke kumparan relay. Hal ini akan menyebabkan sakar pada relay menjadi tertutup, sehingga hubungan sumber tegangan 12 volt ke pompa akan terhubung dan pompa akan menyala. Begitu juga sebaliknya pada saat logika pada P0.1 adalah rendah (low) maka relay tidak dialiri arus. Hal ini akan menyebabkan saklar pada relay terputus, sehingga sumber tegangan 12 volt dengan pompa akan terputus dan pompa tidak menyala.
Universitas Sumatera Utara
3.8. Rangkaian Tombol
Rangkaian Keypad berfungsi sebagai tombol untuk memasukan nilai level ketinggian air yang akan diisikan ke dalam tangki. data yang diketikkan pada keypad akan diterima oleh mikrokontroler AT89S51 untuk kemudian diolah dan diotampilkan pada display seven segmen. Rangkaian keypad ditunjukkan pada gambar berikut ini :
Gambar 3.8. Rangkaian Tombol Rangkaian keypad ini terdiri dari sebuah keypad yang salah satu pinnya dihubungkan ke ground dan pin yang lain dihubungkan ke VCC dan AT89S51.
Universitas Sumatera Utara
3.9. Perancangan Rangkaian sensor dan pengolah sinyal
Sensor ini berfungsi untuk mengetahui ketika ada air yang mengenai sensor. Sensor ini terdiri dari dua lempeng logam, dimana lempeng 1 dihubungkan ke Vcc 5 volt dan yang lainnya dihubungkan ke input dari rangkaian pengolah sinyal. Sensor yang terkena air akan mengalami perubahan tegangan kemudian akan diolah oleh rangkaian penerima agar menghasilkan data biner, dimana jika sensor terkena air maka output dari rangkaian penerima ini akan mengeluarkan logika low (0), namun jika tidak terkena air, maka output dari rangkaian penerima akan mengeluarkan logika high (1). Rangkaian sensor dan penguat sinyal seperti gambar di bawah ini:
air
Gambar. Rangkaian sensor dan penguat sinyal
Ke mikrokontroler
Gambar 3.9. Prancangan Rangkaian sensor dan pengolah sinyal
Universitas Sumatera Utara
Pada rangkaian di atas, output dari sensor diumpankan ke Op Amp, di Op Amp tegangan akan dikuatkan sesuai dengan yang diinginkan. Output Op Amp akan diinputkan ke basis dari transistor tipe NPN C945, ini berari untuk membuat transistor tersebut aktip maka tegangan yang keluar dari Op Amp harus lebih besar dari 0,7 volt. Syarat ini akan terpenuhi jika sensor terkena air.
3.10. Perancangan Program ;= = = = = = = = = = = = = = = =; ; water level indicator program ; ;= = = = = = = = = = = = = = = =;
; = = initialisasi angka = = ;
bil0
equ
20h
bil1
equ
0ech
bil2
equ
18h
bil3
equ
88h
bil4
equ
0c4h
bil5
equ
82h
bil6
equ
02h
Universitas Sumatera Utara
;===========; ; initialisasi port
;
;===========; ; = = isi = = ; key1
bit
p1.0
key2
bit
p1.1
key3
bit
p1.2
key4
bit
p1.3
key5
bit
p1.4
key6
bit
p1.5
; = = kosong = = ; key7
bit
p1.6
key8
bit
p1.7
key9
bit
p3.5
key10 bit
p3.6
key11 bit
p3.7
key12 bit
p3.4
; = = pompa = = ; pompa1
bit
p2.1
pompa2
bit
p2.0
Universitas Sumatera Utara
; = = sensor = = ; sensor1
bit
p0.0
sensor2
bit
p0.1
sensor3
bit
p0.2
sensor4
bit
p0.3
sensor5
bit
p0.4
sensor6
bit
p0.5
utama: clr pompa1 clr pompa2 call angka0 call delay call delay call delay jmp start mulai: start: jb key1,cek_key2
; jika ada penekanan pada tombol 1pada keypet
call angka1
; tampilkan angka 1 pada seven segment
call isi_level1
; isi sampai level 1
call angka1
; tampilkan angka 1 pada seven segment
jmp mulai
; lompat ke alamat selanjutnya
Universitas Sumatera Utara
cek_key2: jb key2,cek_key3
; jika ada penekanan pada tombol 2pada keypet
call angka2
; tampilkan angka 2 pada seven segment
call isi_level2
; isi sampai level 2
call angka2
; tampilkan angka 2 pada seven segment
jmp mulai
; lompat ke alamat selanjutnya
cek_key3: jb key3,cek_key4
; jika ada penekanan pada tombol 3 pada keypet
call angka3
; tampilkan angka 3 pada seven segment
call isi_level3
; isi sampai level 3
call angka3
; tampilkan angka 3 pada seven segment
jmp mulai
; lompat ke alamat selanjutnya
cek_key4: jb key4,cek_key5
; jika ada penekanan pada tombol 4 pada keypet
call angka4
; tampilkan angka 4 pada seven segment
call isi_level4
; isi sampai level 4
call angka4
; tampilkan angka 4 pada seven segment
jmp mulai
; lompat ke alamat selanjutnya
cek_key5: jb key5,cek_key6
; jika ada penekanan pada tombol 5 pada keypet
call angka5
; tampilkan angka 5 pada seven segment
call isi_level5
; isi sampai level 5
Universitas Sumatera Utara
call angka5
; tampilkan angka 5 pada seven segment
jmp mulai
; lompat ke alamat selanjutnya
cek_key6: jb key6,cek_key12
; jika ada penekanan pada tombol 6pada keypet
call angka6
; tampilkan angka 6 pada seven segment
call isi_level6
; isi sampai level 6
call angka6
; tampilkan angka 6 pada seven segment
jmp mulai
; lompat ke alamat selanjutnya
; = = kosong = = ;
cek_key12: jb key12,cek_key7
; jika ada penekanan pada tombol 0 pada keypet
call angka0
; tampilkan angka 0 pada seven segment
call kosong_level1
; kosongkan sampai level 0
call angka0
; tampilkan angka 0 pada seven segment
jmp mulai
; lompat ke alamat selanjutnya
cek_key7: jb key7,cek_key8
; jika ada penekanan pada tombol 1pada keypet
call angka1
; tampilkan angka 1 pada seven segment
call kosong_level1
; kosongkan sampai level 1
call angka1
; tampilkan angka 1 pada seven segment
jmp mulai
; lompat ke alamat selanjutnya
Universitas Sumatera Utara
cek_key8: jb key8,cek_key9
; jika ada penekanan pada tombol 2 pada keypet
call angka2
; tampilkan angka 2 pada seven segment
call kosong_level2
; kosongkan sampai level 2
call angka2
; tampilkan angka 1 pada seven segment
jmp mulai
; lompat ke alamat selanjutnya
cek_key9: jb key9,cek_key10
; jika ada penekanan pada tombol 3pada keypet
call angka3
; tampilkan angka 3 pada seven segment
call kosong_level3
; kosongkan sampai level 3
call angka3
; tampilkan angka 3 pada seven segment
jmp mulai
; lompat ke alamat selanjutnya
cek_key10: jb key10,cek_key11
; jika ada penekanan pada tombol 4pada keypet
call angka4
; tampilkan angka 4 pada seven segment
call kosong_level4
; kosongkan sampai level 4
call angka4
; tampilkan angka 1 pada seven segment
jmp mulai
; lompat ke alamat selanjutnya
Universitas Sumatera Utara
cek_key11: jb key11,balik_mulai
; jika ada penekanan pada tombol 5pada keypet
call angka5
; tampilkan angka 5 pada seven segment
call kosong_level5
; kosongkan sampai level 5
call angka5
; tampilkan angka 5 pada seven segment
jmp mulai
; lompat ke alamat selanjutnya
balik_mulai: ljmp mulai ret
; = =pompa isi = =; isi_level1: setb pompa2
; hidupkan pompa isi
jb sensor1,isi_level1
; isi hingga level 1
clr pompa2
; matikan pompa isi
ret
; kembali keawal
Universitas Sumatera Utara
isi_level2: setb pompa2
; hidupkan pompa isi
jb sensor2,isi_level2
; isi hingga level 2
clr pompa2
; matikan pompa isi
ret
; kembali keawal
isi_level3: setb pompa2
; hidupkan pompa isi
jb sensor3,isi_level3
; isi hingga level 3
clr pompa2
; matikan pompa isi
ret
; kembali keawal
isi_level4: setb pompa2
; hidupkan pompa isi
jb sensor4,isi_level4
; isi hingga level 4
clr pompa2
; matikan pompa isi
ret
; kembali keawal
isi_level5: setb pompa2
; hidupkan pompa isi
jb sensor5,isi_level5
; isi hingga level 5
clr pompa2
; matikan pompa isi
ret
; kembali keawal
Universitas Sumatera Utara
isi_level6: setb pompa2
; hidupkan pompa isi
jb sensor6,isi_level6
; isi hingga level 6
clr pompa2
; matikan pompa isi
ret
; kembali keawal
; = = pompa kosong = = ; kosong_level1: setb pompa1
; hidupkan pompa kosong
jnb sensor1,kosong_level1
; kosongka hingga level 1
clr pompa1
; matikan pompa kosong
ret
; kembali keawal
kosong_level2: setb pompa1
; kembali keawal
jnb sensor2,kosong_level2
; kosongka hingga level 2
clr pompa1
; matikan pompa kosong
ret
; kembali keawal
Universitas Sumatera Utara
kosong_level3: setb pompa1
; kembali keawal
jnb sensor3,kosong_level3
; kosongka hingga level 3
clr pompa1
; matikan pompa kosong
ret
; kembali keawal
kosong_level4: setb pompa1
; kembali keawal
jnb sensor4,kosong_level4
;kosongka hingga level 4
clr pompa1
; matikan pompa kosong
ret
; kembali keawal
kosong_level5: setb pompa1
; kembali keawal
jnb sensor5,kosong_level5
;kosongka hingga level 1
clr pompa1
; matikan pompa kosong
ret
; kembali keawal
angka0: mov sbuf,#bil0
; tampilkam angka 0 pada seven segment
jnb ti,$
; lomapt kalamat tertentu
clr ti
; hapus angka 0
ret
; kembali keawal
Universitas Sumatera Utara
angka1: mov sbuf,#bil1
; tampilkam angka 1pada seven segment
jnb ti,$
; lomapt kalamat tertentu
clr ti
; hapus angka 1
ret
; kembali keawal
angka2: mov sbuf,#bil2
; tampilkam angka 2 pada seven segment
jnb ti,$
; lomapt kalamat tertentu
clr ti
; hapus angka 2
ret
; kembali keawal
angka3: mov sbuf,#bil3
; tampilkam angka 3 pada seven segment
jnb ti,$
; lomapt kalamat tertentu
clr ti
; hapus angka 3
ret
; kembali keawal
angka4: mov sbuf,#bil4
; tampilkam angka 4 pada seven segment
jnb ti,$
; lomapt kalamat tertentu
clr ti
; hapus angka 4
ret
; kembali keawal
Universitas Sumatera Utara
angka5: mov sbuf,#bil5
; tampilkam angka 5 pada seven segment
jnb ti,$
; lomapt kalamat tertentu
clr ti
; hapus angka 5
ret
; kembali keawal
angka6: mov sbuf,#bil6
; tampilkam angka 6 pada seven segment
jnb ti,$
; lomapt kalamat tertentu
clr ti
; hapus angka 5
ret
; kembali keawal
delay: mov r7,#0ffh
; masukan nilai ff keregister 7
djnz r7,$
; untuk mengurangi nilai register tertentu
ret
; kembali keawal
end
Universitas Sumatera Utara
BAB 4
PENGUJIAN RANGKAIAN DAN SENSOR
4.1. Pengujian Rangkaian Power Supplay (PSU)
Pengujian pada bagian rangkaian power supplay ini dapat dilakukan dengan mengukur tegangan keluaran dari rangkaian ini dengan menggunakan volt meter digital. Pada power supplay ini terdapat dua keluaran. Dari hasil pengujian diperoleh tegangan keluaran pertama sebesar + 5,1 volt. Tegangan ini dipergunakan untuk mensupplay tegangan ke seluruh rangkaian. Mikrokontroler AT89S52 dapat bekerja pada tegangan 4,0 sampai dengan 5,5 volt, sehingga tegangan 5,1 volt ini cukup untuk mensupplay tegangan ke mikrokontroler AT89S52. Sedangkan tegangan keluaran kedua sebesar 12 volt. Pada alat ini dipergunakan untuk rangkaian alarm dan rangkaian pompa air.
4.2. Pengujian Rangkaian Mikrokontroller AT89S52
Untuk mengetahui apakah rangkaian mikrokontroller AT89S52 telah bekerja dengan baik, maka dilakukan pengujian.Pengujian bagian ini dilakukan dengan memberikan program sederhana pada mikrokontroller AT89S52. Programnya adalah sebagai berikut : Loop: Setb P0.0 Acall tunda Clr P0.0 Acall tunda
Universitas Sumatera Utara
Sjmp Loop Tunda: Mov r7,#255 Tnd: Mov r6,#255 Djnz r6,$ Djnz r7,tnd Ret
Program di atas bertujuan untuk menghidupkan LED yang terhubung ke P0.0 beberapa saat dan kemudian mematikannya. Perintah Setb P0.0 akan menjadikan P0.0 berlogika high yang menyebabkan LED menyala. Acall tunda akan menyebabkan LED ini hidup selama beberapa saat. Perintah Clr P0.0 akan menjadikan P0.0 berlogika low yang menyebabkan LED akan mati. Perintah Acall tunda akan menyebabkan LED ini mati selama beberapa saat. Perintah Sjmp Loop akan menjadikan program tersebut berulang, sehingga akan tampak LED tersebut tampak berkedip.
Jika program tersebut diisikan ke mikrokontroller AT89S52, kemudian mikrokontroller dapat berjalan sesuai dengan program yang diisikan, maka rangkaian minimum mikrokontroller AT89S52 telah bekerja dengan baik.
Perintah di atas akan memberikan logika high pada P0.1, sehingga P0.1 akan mendapatkan tegangan 5 volt. Tegangan 5 volt ini akan mengaktipkan transistor C945, sehingga relay juga menjadi aktip dan alarm berbunyi. Berikutnya memberikan program sederhana untuk menonaktipkan relay. Programnya sebagai berikut : Clr P0.1 . . . . . . . .
Universitas Sumatera Utara
Perintah di atas akan memberikan logika low pada P0.1, sehingga P0.1 akan mendapatkan tegangan 0 volt. Tegangan 0 volt ini akan menonaktipkan transistor C945, sehingga relay juga menjadi tidak aktip dan alarm tidak berbunyi.
4.3. Pengujian Rangkaian relay
Pengujian rangkaian relay dapat dilakukan dengan memberikan tegangan 5 volt dan 0 volt pada basis transistor C945. Transistor C945 merupakan transistor jenis NPN, transistor jenis ini akan aktif jika pada basis diberi tegangan > 0,7 volt dan tidak aktif jika pada basis diberi tegangan < 0,7 volt. Aktifnya transistor akan mengaktipkan relay. Pada rangkaian ini relay digunakan untuk memutuskan hubungan buzzer dengan sumber tegangan 12 volt, dimana hubungan yang digunakan adalah normally open (NO), dengan demikian jika relay aktip maka hubungan buzzer ke sumber tegangan akan terhubung, sebaliknya jika relay tidak aktif, maka hubungan
buzzer ke sumber tegangan akan
terputus.
Pengujian dilakukan dengan memberikan tegangan 5 volt pada basis transistor, jika relay aktif dan buzzer berbunyi, maka rangkaian ini telah berfungsi dengan baik.
Pengujian selanjutnya dilakukan dengan menghubungkan input rangkaian ini ke mikrokontroler pada P0.1
Universitas Sumatera Utara
Gambar 4.3. Rangkaian Relay
kemudian memberikan program sederhana pada mikrokontroler AT89S52. Program yang diberikan adalah sebagai berikut: Setb P0.1 . . . . . . . . Perintah di atas akan memberikan logika high pada P0.1, sehingga P0.1 akan mendapatkan tegangan 5 volt. Tegangan 5 volt ini akan mengaktifkan transistor C945,
Universitas Sumatera Utara
sehingga relay juga menjadi aktif dan heater menyala. Berikutnya memberikan program sederhana untuk menonaktifkan relay. Programnya sebagai berikut: Clr P0.1 . . . . . . . . Perintah di atas akan memberikan logika low pada P0.1, sehingga P0.1 akan mendapatkan tegangan 0 volt. Tegangan 0 volt ini akan menonaktifkan transistor C945, sehingga relay juga menjadi tidak aktif dan heater tidak menyala.
4.4.
Pengujian rangkaian pengendali pompa air
Pengujian rangkaian pengendali pompa ini dapat dilakukan dengan memberikan tegangan 5 volt dan 0 volt pada basis transistor C945. Transistor C945 merupakan transistor jenis NPN, transistor jenis ini akan aktip jika pada basis diberi tegangan > 0,7 volt dan tidak aktip jika pada basis diberi tegangan < 0,7 volt. Aktipnya transistor akan mengaktipkan relay. Pada rangkaian ini relay digunakan untuk memutuskan hubungan pompa dengan sumber tegangan 220 volt, dimana hubungan yang digunakan adalah normally close (NO), dengan demikian jika relay aktip maka hubungan pompa ke sumber tegangan akan terhubung, sebaliknya jika relay tidak aktip, maka hubungan pompa ke sumber tegangan akan terputus.
Pengujian dilakukan dengan memberikan tegangan 5 volt pada basis transistor, jika relay aktip dan pompa akan bekerja, maka rangkaian ini telah berfungsi dengan baik. Pengujian selanjutnya dilakukan dengan menghubungkan input rangkaian ini ke mikrokontroler pada P0.0.
Universitas Sumatera Utara
Gambar 4.4.Rangkaian pengendali pompa air
kemudian memberikan program sederhana pada mikrokontroler AT89S52. Program yang diberikan adalah sebagai berikut: Setb P0.0 . . . . . . . . Perintah di atas akan memberikan logika high pada P0.0, sehingga P0.0 akan mendapatkan tegangan 5 volt. Tegangan 5 volt ini akan mengaktipkan transistor C945, sehingga relay juga menjadi aktip dan pompa menyala. Berikutnya memberikan program sederhana untuk menonaktipkan relay. Programnya sebagai berikut:
Universitas Sumatera Utara
Clr P0.0 . . . . . . . . Perintah di atas akan memberikan logika low pada P0.0, sehingga P0.0 akan mendapatkan tegangan 0 volt. Tegangan 0 volt ini akan menonaktipkan transistor C945, sehingga relay juga menjadi tidak aktip dan pompa tidak menyala.
4.5. Pengujian Rangkaian Tombol
Pengujian rangkaian ini dapat dilakukan dengan cara menekan keypad, dan mengukur tegangan outputnya. Pada saat keypad tidak ditekan, maka tegangan output dari rangkaian ini sebesar 5,00. Namun saat keypad ditekan, maka tegangan output dari rangkaian ini sebesar 0,01 volt. Dengan demikian maka rangkaian ini telah berfungsi dengan baik
4.6. Pengujian Rangkaian Alarm
Pengujian rangkaian alarm dapat dilakukan dengan memberikan tegangan 5 volt dan 0 volt pada basis transistor C945. Transistor C945 merupakan transistor jenis NPN, transistor jenis ini akan aktip jika pada basis diberi tegangan > 0,7 volt dan tidak aktip jika pada basis diberi tegangan < 0,7 volt. Aktipnya transistor akan mengaktipkan relay. Pada rangkaian ini relay digunakan untuk memutuskan hubungan alarm dengan sumber tegangan 12 volt, dimana hubungan yang digunakan adalah normally close (NO), dengan demikian jika relay aktip maka hubungan alarm ke sumber tegangan akan terhubung,
Universitas Sumatera Utara
sebaliknya jika relay tidak aktip, maka hubungan
alarm ke sumber tegangan akan
terputus. Pengujian dilakukan dengan memberikan tegangan 5 volt pada basis transistor, jika relay aktip dan buzzer berbunyi, maka rangkaian ini telah berfungsi dengan baik. Pengujian selanjutnya dilakukan dengan menghubungkan input rangkaian ini ke mikrokontroller pada P0.1.
Gambar 4.6. Pengujian rangkaian alarm
kemudian memberikan program sederhana pada mikrokontroller AT89S51. Program yang diberikan adalah sebagai berikut : Setb P0.1 . . . . . . . .
Universitas Sumatera Utara
Perintah di atas akan memberikan logika high pada P0.1, sehingga P0.1 akan mendapatkan tegangan 5 volt. Tegangan 5 volt ini akan mengaktipkan transistor C945, sehingga relay juga menjadi aktip dan alarm berbunyi. Berikutnya memberikan program sederhana untuk menonaktipkan relay. Programnya sebagai berikut : Clr P0.1 . . . . . . . . Perintah di atas akan memberikan logika low pada P0.1, sehingga P0.1 akan mendapatkan tegangan 0 volt. Tegangan 0 volt ini akan menonaktipkan transistor C945, sehingga relay juga menjadi tidak aktip dan alarm tidak berbunyi.
4.7. Pengujian Rangkaian Sensor air
Pengujian pada rangkaian sensor air ini dapat dilakukan dengan cara menghubungkan rangkaian ini dengan sumber tegangan 5 volt, kemudian meletakkan dua buah kabel secara berdampingan. Jika kabel terkena air maka kedua kabel akan terhubung sehingga menyebabkan LED indikator pada rangkaian penerima akan menyala, dan tegangan output rangkaian sebesar 0,2 volt. Namun ketika kabel tidak terkena air maka kabel tidak terhubung , hal ini menyebabkan LED indikator pada rangkaian penerima tidak menyala dan tegangan output dari rangkaian ini sebesar 4,8 volt. Pengujian selanjutnya dilakukan dengan cara menghubungkan rangkaian ini dengan rangkaian mikrokontroler AT89S51, dan memberikan program tertentu pada mikrokontroler AT89S51.Untuk mendeteksi adanya sinyal yang dikirimkan oleh sensor, maka mikrokontroler harus diprogram untuk untuk dapat mengecek sinyal apa yang dikirimkan oleh sensor. Jika sinyal yang dikirimkan adalah sinyal high (1), berarti tidak
Universitas Sumatera Utara
ada air yang mengena sensor, namun jika sinyal yang dikirimkan adalah sinyal low, maka ini berarti ada air yang mengenai sensor. Program untuk mendeteksi pengiriman sinyal dari rangkaian sensor ini adalah,
sensor_1
Bit
Sensor_2r
Bit
P1.3 P1.2
Cek_sensor_1: Jnb sensor_1,Cek_sensor_2 Clr P3.7 . . . . . . . .
Cek_sensor_2: Jnb sensor_2,Cek_sensor_3 Setb P3.7 . . . . . . . .
Di awal program dibuat inisialisasi port, dimana rutin ini menunjukkan bahwa sensor 1 dihubungkan ke P1.3 dan sensor 2 dihubungkan ke P1.2. Kemudian program akan dilanjutkan dengan rutin cek sensor 1. Pada rutin ini program akan melihat kondisi P1.3 yang dihubungkan ke sensor 1, dengan menggunakan perintah JnB (jump if not bit), jika kondisi P1.3 bit (high), yang berarti tidak ada air yang mengenai sensor, maka program akan lompat ke rutin cek sensor keluar. Namun jika kondisi P1.3 notbit (low), maka program akan melanjutkan ke rutin Clr P3.7. Perintah ini akan menyebabkan LED
Universitas Sumatera Utara
yang terhubung ke P3.7 mati. Jika rangkaian telah berjalan sesuai dengan program yang diberikan, maka rangkaian telah bekerja dengan baik.
4.8.
Pengujian Rangkaian Display Seven Segment
Pengujian pada rangkaian ini dapat dilakukan dengan menghubungkan rangkaian ini dengan rangkaian mikrokontroller, kemudian memberikan data tertentu pada port serial dari mikrokontroller. Seven segment yang digunakan adalah common anoda, dimana segment akan menyala jika diberi logika 0 dan sebaliknya segment akan mati jika diberi logika 1.
Gambar 4.8 Pengujian rangkaian display seven segment
Universitas Sumatera Utara
Dari hasil pengujian diperoleh data yang harus dikirimkan ke port serial untuk menampilkan angka desimal adalah sebagai berikut : Tabel 4.8 Hasil pengujian rangkaian display seven segment Angka
Data yang dikirim
1
0ECH
2
18H
3
88H
4
0C4H
5
82H
6
02H
7
0E8H
8
0h
9
80H
0
20H
Program yang diisikan pada mikrokontroller untuk menampilkan nilai-nilai tersebut adalah sebagai berikut : bil0
equ
20h
bil1
equ
0ech
bil2
equ
18h
bil3
equ
88h
bil4
equ
0c4h
bil5
equ
82h
bil6
equ
02h
bil7
equ
0e8h
bil8
equ
0h
bil9
equ
80h
Loop:
Universitas Sumatera Utara
mov sbuf,#bil0 Jnb ti,$ Clr ti sjmp loop Delay: mov r7,#255 delay1: mov r6,#255 djnz r6,$ djnz r7,delay1 ret
Program di atas akan menampilkan angka 0 pada semua seven segment. Sedangkan untuk menampilkan 3 digit angka yang berbeda pada seven segment adalah dengan mengirimkan ke 3 data angka yang akan ditampilkan pada seven segment. Programnya adalah sebagai berikut : Loop: mov sbuf,#bil1 Jnb ti,$ Clr ti mov sbuf,#bil2 Jnb ti,$ Clr ti mov sbuf,#bil3 Jnb ti,$ Clr ti sjmp loop
Universitas Sumatera Utara
Delay: mov r7,#255 delay1: mov r6,#255 djnz r6,$ djnz r7,delay1 ret
Program di atas akan menampilkan angka 1 pada seven segment , angka 2 pada seven segment dan angka 3 pada seven pertama.segment
Universitas Sumatera Utara
BAB 5 KESIMPULAN DAN SARAN
5.2.Kesimpulan
1.
Keypad berfungsi sebagai tombol untuk memasukan nilai level ketinggian air yang akan diisikan ke dalam tangki. data yang diketikkan pada keypad akan diterima oleh mikrokontroler AT89S51 untuk kemudian diolah dan diotampilkan pada display seven segmen. Rangkaian keypad ditunjukkan pada gambar berikut ini :
2.
Rangkaian sensor dan pengolah sinyal berfungsi untuk mengetahui ketika ada air yang mengenai sensor. Sersor ini terdiri dari dua lempeng logam, dimana lempeng 1 dihubungkan ke Vcc 5 volt dan yang lainnya dihubungkan ke input dari rangkaian pengolah sinyal
3.
Relay adalah suatu rangkaian switch magnetik yang bekerja bila mendapat catu daya dan suatu rangkaian trigger
Universitas Sumatera Utara
5.2.Saran
1.
Semoga alat ini dapat bermanfaat untuk mempermudah dalam mengaturpengoprasian pada tangki yang terdapat pada industri yang membutuhkannya
2.
Alangkah baiknya jika mahasiswa yamg akan datang dapat mengembangkan lebih baik dari pada yang sekarang guna mengembangkan teknologi dan inovasi dikalangan mahasiswa.
3.
Untuk menjaga sistem dan rangkaian tersebut agar tetap efektif lebih baik alat tersebut dikemas dalam bentuk yang aman.
Universitas Sumatera Utara