• Tidak ada hasil yang ditemukan

Perancangan Sistem Pengendali Infus Dengan Menggunakan Sensor Infra Merah Berbasis Mikrokontroller AT89S51

N/A
N/A
Protected

Academic year: 2016

Membagikan "Perancangan Sistem Pengendali Infus Dengan Menggunakan Sensor Infra Merah Berbasis Mikrokontroller AT89S51"

Copied!
100
0
0

Teks penuh

(1)

PERANCANGAN SISTEM PENGENDALI INFUS DENGAN

MENGGUNAKAN SENSOR INFRA MERAH BERBASIS

MIKROKONTROLLER AT89S51

SKRIPSI

SARAH

101421026

PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

(2)

PERANCANGAN SISTEM PENGENDALI INFUS DENGAN

MENGGUNAKAN SENSOR INFRA MERAH BERBASIS

MIKROKONTROLLER AT89S51

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer

SARAH 101421026

PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA MEDAN

(3)

PERSETUJUAN

Judul : Perancangan Sistem Pengendali Infus Dengan Menggunakan Sensor Infra Merah Berbasis Mikrokontroller AT89S51

Kategori : SKRIPSI

Nama : SARAH

Nomor Induk Mahasiswa : 101421026

Program Studi : EKSTENSI S1 ILMU KOMPUTER

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI UNIVERSITAS SUMATERA UTARA

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Drs. Dahlan Sitompul Dr. Poltak Sihombing,

M.Kom NIP 1967072 520050 1 1002 NIP 19620317 199103 1 001

Diketahui/disetujui oleh

Program Studi Ekstensi S1 Ilmu Komputer

Ketua,

Dr. Poltak Sihombing, M.Kom.

NIP 19620317 199103 1 001

(4)

PERANCANGAN SISTEM PENGENDALI INFUS DENGAN MENGGUNAKAN SENSOR INFRA MERAH BERBASIS

MIKROKONTROLLER AT89S51

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Januari 2014

SARAH

NIP.101421026

(5)

Puji dan syukur ke hadirat Allah SWT karena atas segala rahmat dan karunia-Nya penulis dapat menyelesaikan skripsi ini dalam waktu yang telah ditetapkan sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer, Program Studi Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, serta Shalawat dan Salam penulis hadiahkan kepada Nabi Besar Muhammad SAW.

Pada kesempatan ini, penulis menyampaikan ucapan terima kasih, antara lain kepada:

1. Bapak Prof. Dr. Muhammad Zarlis, M.Kom sebagai Dekan Fakultas Ilmu Komputer dan Teknologi Informasi.

2. Bapak Dr. Poltak Sihombing, M.Kom sebagai Ketua Program Studi S1 Ilmu Komputer dan sekaligus sebagai Dosen Pembimbing I yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.

3. Ibu Maya Silvi Lydia, B.Sc, M.Sc Sekertaris Program Studi S1 Ilmu Komputer.

4. Drs. Dahlan Sitompul M.Eng selaku Dosen Pembimbing II yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.

5. Bapak Agus Salim Harahap, M.Si selaku Dosen Penguji I yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.

6. Bapak Andri Budiman, ST,M.Comp.Sc,MEM selaku Dosen Penguji II telah memberikan kritik dan saran dalam penyempurnaan skripsi ini. 7. Teristimewa Orang tua yang penulis sayangi, ibunda Ellyzar dan ayahanda

Zulkarnain yang telah mendukung penulis dengan penuh. Serta saudara-saudara penulis Albar S.sos, Haviz, Zaura, dan Raihan Nadilla,terima kasih atas semua doa, dukungan dan motivasi yang tak ternilai harganya. 8. Sahabat penulis khususnya Anika Wafi Lubis Amd, Dina Syafitri S.Kom,

(6)

Amd, Madaniyah Amd, dan sahabat-sahabat seperjuangan lainnya yang telah memberikan dukungan, semangat untuk menyelesaikan skripsi ini. 9. Yang Terkasih Mirza Ilhami S.Kom yang telah memberikan dukungan dan

omelan-omelan demi terselesainya skripsi ini.

10.Semua pihak yang terlibat langsung ataupun tidak langsung yang tidak dapat penulis ucapkan satu per satu yang telah membantu menyelesaikan skripsi ini.

Penulis menyadari bahwa skripsi ini masih banyak kekurangan. Oleh karena itu, penulis menerima kritik dan saran yang bersifat membangun demi kesempurnaan skripsi ini. Semoga skripsi ini dapat bermanfaat bagi penulis dan pembaca, khususnya rekan-rekan mahasiswa lainnya yang mengikuti perkuliahan di Universitas Sumatera Utara.

Medan, January 2014

(7)

ABSTRAK

Dalam rangkaian ini penulis mencoba untuk merekayasa suatu sistem elektronika yang menggunakan Mikrokontroller AT89S51, keluaran produk atmel ini merupakan suatu terobosan teknologi yang hadir untuk memenuhi kebutuhan pasar dan dengan harga yang relatif murah. Oleh karena itu penulis mencoba merancang suatu alat yaitu sistem pengendali infus dengan menggunakan sensor infra merah berbasis Mikrokontroller AT89S51, yang bertujuan untuk mengendalikan tetesan infus serta memberi tanda berupa bunyi alarm jika cairan infus akan habis. Dalam proses perancangan, penulis menggunakan sensor infra merah dan phorotransistor sebagai sensor yang merupakan Input dari mikrokontroller. Rangkaian sensor terbagi dua (2) bagian. Sensor pertama dipasang pada bagian badan tabung infus yang pada rangkaian ini disebut sensor level, dan sensor kedua dipasang pada ujung bawah tabung infus yang disebut sensor tetesan. Deteksi tetesan infus dengan menggunakan sensor ini juga dilengkapi mekanisme penjepit selang infus. Mekanisme ini akan bergerak tertutup dan terbuka sesuai masukan set point yang diberikan pada keypad. Dalam operasinya motor stepper akan memutar baut melalui gigi transisi dan menyebabkan baut bergerak linier sehingga mengakibatkan pangkal rambut dapat menjepit atau merenggangkan selang infus, sehingga kecepatan aliran infus dapat dikendalikan.

(8)

INFUSION CONTROL SYSTEM DESIGN USING INFRARED SENSORS BASED ON MICRO CONTROLLER AT89S51

ABSTRACT

In this series the authors try to design an electronic system that uses a microcontroller AT89S51, Atmel product output is a breakthrough technology that exists to satisfy market demand and with relatively low prices. Therefore, the writer tries to design a device that is controlling infusion system using infrared sensors based Microcontroller AT89S51, which aims to control the drip and gave a sign of an alarm signal if the fluid infusion will be exhausted. In the design process, the author uses infrared sensors and phototransistor as a sensor that is input from the microcontroller. Sensor circuit is divided into two (2) parts. The first sensor mounted on the body of the infusion tube is called the sensor-level circuit, and a second sensor mounted on the lower end of sensor tube called a drip infusion. Detection of drip infusion with using sensor also features a hose clamp mechanism infusion. This mechanism will move closed and opened according to a given set point input on the keypad. In the operation of stepper motor will rotate the bolt through the transition teeth and cause the bolt to move linearly so that the resulting base of the hair to loosen the hose clamp or infusion, so the infusion flow rate can be controlled.

(9)
(10)

2.3 LED Infra Merah 31

(11)

DAFTAR TABEL

2.1 Fungsi Pin pada port 3 22

4.1 Hasil Pengukuran Mikrokontroller 54

4.3 Titik Pengukuran Rangkaian Display 59

4.4 Data Hasil Pengukuran Rangkaian Alarm 60

4.5 Data Pengukuran Rangkaian Driver Motor Stepper 62

(12)

DAFTAR GAMBAR

2.1 Arsitektur Mikrokontroller AT89S51 11

2.2 Konfigurasi Pin ICAT89S51 20

2.3 kontruksi AT89S51 21

2.4 Software 8051 editor,assembly,simulator (IDE) 30

2.5 ISP-flashProgrammer 3.0a 31

2.6 (a) Simbol LED (Light Emiting Dioda) Infra Merah

(b) Wujud LED (Light Emiting Dioda) Infra Merah 33 2.7 (a) Simbol Phototransistor

(b) Wujud Phototransistor 35

2.9 Wujud Motor Langkah (stepper) 36

2.10 Diagram Motor Langkah(stepper) 37

2.11 Pemberian data/pulsa pada motor stepper 38

2.12 Wujud Buzzer 39

3.1 Diagram Blok Sistem Pengendali Infus Dengan Menggunakan Sensor Pototransistor Berbasis Mikrokontroller At89S51 40

3.2 Rangkaian Sistem Pengendali infus 42

3.3 Rangkaian Sensor 44

3.4 Rangkaian Tombol 45

3.5 Rangkaian Driver Stepper Motor 46

3.6 Rangkaian Display 7-Segment 48

3.7 Driver Buzzer 50

3.8 Flowchart 52

(13)

ABSTRAK

Dalam rangkaian ini penulis mencoba untuk merekayasa suatu sistem elektronika yang menggunakan Mikrokontroller AT89S51, keluaran produk atmel ini merupakan suatu terobosan teknologi yang hadir untuk memenuhi kebutuhan pasar dan dengan harga yang relatif murah. Oleh karena itu penulis mencoba merancang suatu alat yaitu sistem pengendali infus dengan menggunakan sensor infra merah berbasis Mikrokontroller AT89S51, yang bertujuan untuk mengendalikan tetesan infus serta memberi tanda berupa bunyi alarm jika cairan infus akan habis. Dalam proses perancangan, penulis menggunakan sensor infra merah dan phorotransistor sebagai sensor yang merupakan Input dari mikrokontroller. Rangkaian sensor terbagi dua (2) bagian. Sensor pertama dipasang pada bagian badan tabung infus yang pada rangkaian ini disebut sensor level, dan sensor kedua dipasang pada ujung bawah tabung infus yang disebut sensor tetesan. Deteksi tetesan infus dengan menggunakan sensor ini juga dilengkapi mekanisme penjepit selang infus. Mekanisme ini akan bergerak tertutup dan terbuka sesuai masukan set point yang diberikan pada keypad. Dalam operasinya motor stepper akan memutar baut melalui gigi transisi dan menyebabkan baut bergerak linier sehingga mengakibatkan pangkal rambut dapat menjepit atau merenggangkan selang infus, sehingga kecepatan aliran infus dapat dikendalikan.

(14)

INFUSION CONTROL SYSTEM DESIGN USING INFRARED SENSORS BASED ON MICRO CONTROLLER AT89S51

ABSTRACT

In this series the authors try to design an electronic system that uses a microcontroller AT89S51, Atmel product output is a breakthrough technology that exists to satisfy market demand and with relatively low prices. Therefore, the writer tries to design a device that is controlling infusion system using infrared sensors based Microcontroller AT89S51, which aims to control the drip and gave a sign of an alarm signal if the fluid infusion will be exhausted. In the design process, the author uses infrared sensors and phototransistor as a sensor that is input from the microcontroller. Sensor circuit is divided into two (2) parts. The first sensor mounted on the body of the infusion tube is called the sensor-level circuit, and a second sensor mounted on the lower end of sensor tube called a drip infusion. Detection of drip infusion with using sensor also features a hose clamp mechanism infusion. This mechanism will move closed and opened according to a given set point input on the keypad. In the operation of stepper motor will rotate the bolt through the transition teeth and cause the bolt to move linearly so that the resulting base of the hair to loosen the hose clamp or infusion, so the infusion flow rate can be controlled.

(15)

BAB I

PENDAHULUAN

1. Latar Belakang.

Kemajuan teknologi yang semakin pesat, membuat kehidupan manusia

semakin lebih mudah dan praktis. Begitu pula dengan sarana lembaga kesehatan

saat ini, dimana kita membutuhkan suatu alat yang mampu membantu manusia

bekerja dalam bidang kesehatan. Dalam permasalahan ini, kita banyak melihat di

setiap lembaga kesehatan masih kesulitan dalam hal mengawasi tetesan pada

tabung infus yang terkadang terlalu cepat ataupun terlalu lambat tetesannya serta

belum lagi mengetahui apakah tabung infus sudah habis atau belum.

Dikarenakan alat yang digunakan berada di dalam ruangan maka

diperlukan suatu sistem kontrol yang akurat dan dapat mengingatkan setiap saat.

Sehingga jika terjadi suatu masalah langsung dapat diketahui dan dengan segera

dapat diatasi sehingga tidak berdampak pada kesehatan pasien

Bedasarkan keadaan tersebut peneliti mempunyai ide untuk membuat

(16)

ini menggunakan Mikrokontroller AT89S51 yang dapat mengingatkan seorang

pekerja (perawat) apabila tabung infus akan segera habis dengan menggunakan

Sensor Inframerah yang sangat mudah didapat dipasaran dan cara

pemrogramannya relatif lebih mudah dipahami, yang peneliti tuangkan dalam

skripsi dengan judul ”Perancangan Sistem Pengendali Infus Dengan

Menggunakan Sensor Infra Merah Berbasis Mikrokontroller AT89S51 ”.

1.2 Perumusan Masalah.

Adapun rumusan masalah dalam tugas akhir ini adalah:

a. Bagaimana membuat sebuah perangkat yang dapat mengendalikan tetesan

infus pada tabung infus agar dapat membantu pekerja lembaga kesehatan

(perawat) dalam menjalankan tugasnya.

b. Bagaimana mengendalikan tetesan infus pada tabung infus dengan

mengatur berapa tetes infus yang diperlukan pasien per 1 detik.

c. Bagaimana mengatur sensor pada tabung infus agar tidak terjadi

kekosongan pada tabung infus

1.3 Batasan Masalah.

Karena terbatasnya sarana dan prasarana dalam pembuatan alat penguji

ini, maka yang dikaji dan dibahas lebih mendalam adalah:

1. Perancangan sensor pada tabung infus dan pembuatan panel control

(17)

2. Cara kerja mikrokontroller terhadap tetesan infus yang diatur.

1.4 Tujuan Penulisan.

Adapun tujuan penulisan adalah:

Untuk membuat sebuah perangkat yang dapat mengendalikan tetesan infus

pada tabung infus agar dapat membantu pekerja lembaga kesehatan (perawat)

dalam menjalankan tugasnya.

1.5 Manfaat Penulisan.

Manfaat alat ini adalah sebagai berikut:

1. Untuk mengurangi faktor kelalaian dari manusia, sehingga mengakibatkan

gangguan kesehatan pada pasien.

2. Untuk mengurangi resiko kekurangan cairan infus pada pasien.

3. Keefisienan dalam mengatur tetesan infus.

1.6 Tinjauan Pustaka

1.6.1 Sensor

1. Sensor

(18)

Sensor yang digunakan pada rancangan ini adalah sensor photodioda yang terdiri dari sebuah pemancar infra merah dan sebuah penerima infra merah. Pemancar infra merah berupa sebuah LED infra merah yang akan memancarkan cahaya infra merah ke penerima. Sedangkan sebagai penerima infra merah digunakan sebuah photo dioda yang dirancang sedemikian rupa untuk mengubah besaran cahaya infra merah menjadi arus listrik,

1.7 Sistematika Penulisan.

Sistematika penulisan merupakan garis besar penyusunan skripsi yang

memudahkan jalan pemikiran dalam memahami keseluruhan isi skripsi.

Sistematika skripsi dalam penelitian ini adalah:

BAB I PENDAHULUAN

Bab ini membahas tentang alasan pemilihan judul, permasalahan,

pembatasan masalah, tujuan penelitian, manfaat penelitian, dan sistematika

skripsi.

BAB II LANDASAN TEORI

Bab ini menjelaskan kajian teori tentang Mikrokontroller , komponen dan

kelengkapan yang berhubungan dengan perencanaan dan pembuatan alat

pengendalian infus.

(19)

Perencanaan dan pembuatan alat, baik yang berupa perangkat lunak seperti

pembuatan program Mikrokontroller yang ditampilkan pada bahasa Assembly,

membuat blok diagram rangkaian dan skema rangkaian. Juga membahas tentang

perakitan komponen.

BAB IV PENGUKURAN, PEMBAHASAN DAN KETERBATASAN

ALAT

Data pengukuran dan pengujian alat dianalisis apakah sudah sesuai dengan

spesifikasi yang diinginkan serta menentukan spesifikasi alat setelah jadi.

BAB V PENUTUP

(20)

BAB II

LANDASAN TEORI

II.1. PERANGKAT KERAS

II.1.1 Mikrokontroller

Mikrokontroller, sesuai namanya adalah suatu alat pengontrol / pengendali yang berukuran kecil (mikro). Sebelum mikrokontroller ada, terlebih dahulu muncul yang disebut mikroprosesor. Bila dibandingkan dengan mikroprosesor, mikrokontroller jauh lebih unggul dengan alasan sebagai berikut :

• Tersedia I/O

I/O dalam mikrokontroller sudah tersedia, bahkan untuk AT89S51 ada 32 jalur I/O, sementara pada mikroprosesor dibutuhkan IC tambahan untuk menangani I/O tersebut (PPI 8255).

• Memori internal

(21)

Meski memiliki berbagai kelemahan, mikroprosesor tetap digunakan sebagai dasar dalam mempelajari mikrokontroller. Dengan memiliki dasar pengetahuan yang cukup tentang mikroprosesor, maka kita akan lebih cepat dan mudah memahami mikrokontroller dengan sempurna. Inti kerja mikroprosesor dan mikrokontroller adalah sama, yaitu sebagai pengendali atau pengontrol utama suatu rangkaian.

Mikrokontroller keluarga MSC-51 merupakan mikrokontroller yang paling banyak digunakan saat ini karena memiliki berbagai kelebihan seperti arsitektur yang sederhana, software pemograman yang mudah, harga terjangkau, literature banyak, dll. Generasi awal MSC-51 adalah mikrokontroller generasi C, yaitu AT89C51 dan AT89C52. Namun pada generasi C ini terdapat beberapa kelemahan :

• Mikrokontroller hanya dapat diprogram secara parallel, sehingga untuk

memogramnya kita membutuhkan pemograman khusus.

• Tidak praktis karena selalu mencabut – pasang IC, sehingga IC mudah rusak dan

kemungkinan terjadinya salah posisi dalam pemasangannya.

• Downloader-nya agak sulit untuk dibuat sendiri, terutama di daerah yang

fasilitasnya masih kurang, dan jika dibeli harganya relatif mahal.

(22)

II.1.2 Sistem Mikrokontroller

Mikrokontroller merupakan sebuah sistem komputer yang seluruh atau sebagian besar elemenya dikemas dalam satu chip IC, sehingga sering disebut single chip

microcomputer. Sistem mikrokontroller adalah sebuah sistem yang dibentuk dari beberapa elemen dasar, yaitu CPU (Central Processing Unit), Unit memori, Unit Input/Output, Bus, dan Clock.

Central Processing Unit (CPU).

merupakan bagian paling penting dalam sistem mikrokontroller,karena CPU-lah yang mengeksekusi, mengolah data, serta melakukan fungsi aritmatika dan logika.

• Memori

Memori merupakan media penyimpanan data atau program. Ada dua jenis memori yang terdapat pada sistem mikrokontroller, yaitu memori volatile (mudah

hilang) contohnya RAM (Random Access Memory), dan memori nonvolatile

(tetap) contohnya ROM (Read Only Memory).

• Input/Output

Setiap sistem mikrokontroller memerlukan sistem input dan output yang merupakan media keluar - masuknya data dari mikrokontroller.

(23)

Bus adalah sebuah jalur semikonduktor yang memiliki fungsi sama. Bus berfungsi menghubungkan antara CPU, memori, dan I/O. Bus dapat dikelompokkan berdasarkan fungsinya, yaitu bus data (data bus), bus alamat (address bus) dan bus kendali (control bus).

• Clock

Clock atau pewaktuan berfungsi memberikan referensi waktu dan sinkronisasi antar elemen.

II.1.3 Mikrokontroller AT89S51

AT89S51 adalah mikrokontroller keluaran Atmel dengan 4 Kbyte Flash PEROM (Programmable and Erasable Read Only Memory), AT89S51 merupakan memori dangan teknologi nonvolatile memory, artinya isi tersebut dapat diisi ulang ataupun dihapus secara berkali – kali.

Mikrokontroller AT89S51 memiliki fitur sebagai berikut :

• Kompatibel dengan produk MSC-51

• Memori flash 8 KB yang bisa diprogram ulang sampai 1000 kali pemograman

• Berkerja pada frekwensi sampai 33 MHz

• 256 x 8 bit RAM internal

• 32 saluran input-output

• tiga tingkatan program memori lock

• 2 buah timer / counter 16 bit

• 8 sumber interupsi

(24)

Jenis mikrokontroller AT89S51 pada perinsipnya dapat digunakan untuk mengolah data per bit ataupun data 8 bit sacara bersamaan. Pada mikrokontroller ini dapat berkerja bila dalam mikrokontroller tersebut terdapat sebuah program yang berisi instruksi-instruksi yang akan digunakan untuk menjalankan sistem mikrokontroller tersebut. Pada prinsipnya bahwa program mikrokontroller dijalankan secara bertahap, jadi program itu sendiri terdapat beberapa set instruksi dan tiap instruksi itu dijalankan secara bertahap ataupun berurutan.

(25)

II.1.4 Arsitektur Mikrokontroller

(26)

Gambar 2.1 Arsitektur Mikrokontroller AT89S51

(Sumber : Hendra

Keterangan gambar 2.1. arsitektur mikrokontroller AT89S51 :

Register

SpecialFunction Register (SFR) adalah register-register yang mempunyai fungsi khusus, diantaranya ada yang digunakan untuk mengatur input/output data dari mikrokontroller. Misalnya saja register P0, P1, P2, dan P3 digunakan sebagai register untuk menampung data input/output. Selain itu, ada juga SpecialFunction Register (SFR) yang digunakan untuk mengatur dan memantau kondisi UART, yaitu pada register SCON. Register yang digunakan untuk mengatur kerja timer adalah TCON.

Special Function Register (SFR) terdapat pada ruangan memori RAM yang mempunyai alamat 80H sampai FFH. Tidak semua alamat itu dipakai oleh Special Function Register (SFR). Untuk menghindari hal yang tidak diinginkan dalam program, sebaiknya alamat yang tidak dipakai tersebut tidak digunakan.

Pada Special Function Register (SFR) terdapat beberapa alamat yang bisa dialamati secara bit dan ada yang tidak bisa dialamati secara bit. Pada Special Function Register yang bisa dialamati secara bit, alamat pada digit keduanya adalah digit 0 atau 8, misalnya 80H, 88H, 90H, 98H, dan F8H. Special Function Register Akumulator adalah salah satunya yang sering dipakai untuk dialamati secara bit dan mempunyai alamat E0H, misalnya A0, A1, A2, A3, A4, A5, A6, A7.

(27)

Accumulator merupakan register yang berfungsi untuk menyimpan data sementara. Register Accumulator ini sering digunakan dalam proses operasi aritmatika, logika, pengambilan data dan pengiriman data. Register ini juga dapat dialamati secara bit.

Register B

Register B dapat digunakan untuk proses aritmatika dan juga dapat difungsikan sebagai sebuah register biasa.

Register Port

Pada register ini terdapat 4 buah yaitu register Port 0, Port 1, Port 2, dan Port 3. register port ini digunakan sebagai sarana input/output untuk menyimpan data dari atau ke port untuk masing-masing P0, P1, P2, P3.

Register Timer

Mikrokontroller AT89S51 mempunyai 16 bit timer, yaitu timer 0 dan timer 1. timer 0 dibentuk oleh register TH0 dan TL0. dan timer 1 dibentuk oleh register TH1 dan TL1. Perilaku dari register TH0, TH1, TL0, dan TL1 diatur oleh register TMOD dan register TCON.

Register Control

(28)

(Interrupt Priority), IE (interrupt Enable), TMOD (Timer Mode), SCON (Serial

Control), dan PCON (Power Control).

 Register IP digunakan untuk mengatur prioritas dari masing-masing intrupsi.  Register IE digunakan untuk mengaktifkan atau menonaktifan sarana

intrupsi. IE.0 sampai IE.6 mengatur masing-masing sumber intrupsi, sedangkan IE.7 mengatur intrupsi secara keseluruhan. Jika IE7 bernilai 0 maka sistem intrupsi akan menonaktifkan atau keadaan dari IE.0 sampai IE.6 tidak diperhatikan.

 Register TMOD digunakan untuk mengatur mode kerja dari timer 0 dan

timer 1. Dengan mengatur mode kerja timer, register ini dapat mengatur masing-masing timer untuk diatur menjadi timer 16 bit, timer 13 bit, atau timer 8 bit yang dapat diisi ulang otomatis. Selain itu, register ini juga dapat mengatur agar proses pencacah timer dapat dikendalikan melalui sinyal dari luar mikrokontroller.

 Register TCON digunakan untuk memulai atau menghentikan proses

pencacah timer, mengatur sinyal intrupsi dari INT0 atau INT1, serta memantau apakah ada sinyal yang masuk ke INT0 atau INT1.

 Register SCON digunakan untuk mengatur prilaku dari UART yang

diantaranya memantau proses pengiriman dan penerimaan data seri.  Register PCON digunakan untuk mengatur pemakaian daya pada IC.

Program Status Word (PSW)

(29)

Data Pointer

Register data pointer atau DPTR merupakan register 16 bit yang terdiri dari data pointer low byte (DPL).

Serial Data Buffer

Serial Data Buffer terletak pada lokasi 99H yang dibagi menjadi dua register yang terpisah, yaitu transmit buffer dan receive buffer. Saat data disalin ke serial data buffer maka data sesungguhnya diterima dan diteruskan ked an dari serial port.

Program Counter

Merupakan salah satu register khusus yang berfungsi sebagai pencacah atau penghitung eksekusi program mikrokontroller.

ALU (Arithmetic and Logic Unit)

(30)

Clock Circuits

Mikrokontroller adalah rangkaian logika sekuensial, dimana proses kerjanya berjalan melalui sikronisasi clock. Karenanya diperlukan clock circuits yang menyediakan clock bagi seluruh bagian rangkaian.

Stack Pointer

Stack adalah bagian dari RAM yang memiliki metode penyimpanan dan pengambilan data secara khusus. Data yang disimpan dan dibaca tidak dapat dilakukan dengan metode acak. Karena data yang masuk kedalam stack pada urutan yang terakhir adalah data yang pertama kali dibaca kembali. Stack pointer berisi offset dimana posisi data stack yang terakhir masuk (atau yang pertama kali dapat diambil).

RAM (Random Acces Memory)

RAM merupakan memori yang dapat dibaca dan ditulis. RAM biasanya digunakan untuk menyimpan data atau sering disebut dengan memori data saat program berkerja. Data yang ada pada RAM akan hilang bila catu daya dari RAM dimatikan sehingga RAM hanya dapat digunakan untuk menyimpan data sementara.

(31)

tidaknya muatan yang ada pada kapasitor dijadikan acuan oleh RAM dinamik sebagai system bilangan biner 1 atau 0. oleh karena kapasitor memiliki kecenderungan alami untuk mengosongkan muatan, RAM dimanik memerlukan pengisian muatansecara periodic untuk memelihara penyimpanan data. Pada RAM static, nilai biner disimpan menggunakan konfigurasigate logika flip-flop. RAM static akan menyimpan data selama aliran daya diberikan padanya.

ROM (Read Only Memory)

ROM merupakan memori yang hanya dapat dibaca. Data yang disimpan oleh ROM tidak akan hilang meskipun tegangan supply dimatikan. Dari sifatnya itu maka ROM sering dipakai untuk menyimpan program. Ada beberapa jenis ROM diantaranya ROM, PROM, EPROM, dan EEPROM. ROM merupakan memori yang sudah di program oleh pabrik. PROM dapat deprogram oleh pemakai tapi hanya dapat ditulis sekali saja.

(32)

I/O (Input/Output) Port

Merupakan sarana yang digunakan mikrokontroller untuk mengakses peralatan-peralatan lain diluar dirinya, berupa pin-pin yang dapat berfungsi untuk mengeluarkan data digital ataupun menginput data.

Port 0

Port 0 merupakan Port keluaran/masukan (I/O) bertipe open drain bidirectional. Sebagai Port keluaran, masing-masing kaki dapat menyerap arus delapan masukan TTL (sekitar 3,8 mA). Pada saat “I” dituliskan ke kaki-kaki Port 0 ini, maka kaki-kaki Port 0 dapat digunakan sebagai masukan-masukan berinpedansi tinggi. Port 0 juga dapat dikonfigurasikan sebagai bus alamat/data bagian rendah (low byte) selama proses pengaksesan memori data dan program eksternal.

Jika digunakan dalam metode ini Port 0 memiliki pull-up internal (tapi rendah). Port 0 juga menerima kode-kode yang dikirimkan kepadanya selama proses pengisian program mengeluarkan kode-kode selama proses verifikasi program yang telah disimpan dalam flash. Dalam hal ini dibutuhkan pull-up eksternal selama verifikasi program.

Port 1

(33)

pull-high oleh internal pull-up yang dapat digunakan sebagai pin input. Sebagai input, Port 1 pin yang diberi pull-low secara eksternal akan memberikan arus (IIL) dikarenakan adanya internal pull-up. Port 1 juga menerima low-order address byte selama Flash Programming dan verifikasi program.

Port 2

Port 2 merupakan bi-directional I/O port 8-bit dengan pull-up internal.

Setiap buffer output port 2 dapat menahan/memberikan arus kepada 4 buah TTL input. Saat logika “1” diberikan kepin port 2 ini, maka pin tersebut akan diberi pull-high oleh internal pull-up yang dapat digunakan sebagai pin input. Sebagai input, Port 2 pin yang diberi pull-low secara eksternal akan memberikan arus (IIL) dikarenakan adanya internal pull-up.

Port 2 juga menerima high-order address byte selama terjadi fetch program memori eksternal dan selama mengakses data memori eksternal menggunakan pengalamatan 16 bit (MOVX @DPTR). Pada aplikasai ini Port 2 akan memberikan pull-up internal saat menghasilkan logika “1”. Selama terjadi pengaksesan data memori eksternal yang menggunakan pengalamatan 8 bit (MOVX @R1), Port 2 mengeluarkan isi dari Special Fungtion Register (SFR) P2. Port 2 juga menerima high-order address byte dan beberapa sinyal contoh selama Flash Programming dan verifikasi program.

Port 3

(34)

input, Port 3 pin yang diberi pull-low secara eksternal akan memberikan arus (IIL) dikarenakan adanya internal pull-up. Port 3 juga menyediakan beberapa fungsi khusus dari kaki pin AT89S51.

Interrupt Circuits

Adalah rangkaian yang memiliki fungsi untuk mengendalikan sinyal-sinyal intrupsi baik internal maupun eksternal. Adanya sinyal-sinyal intrupsi akan menghentikan eksekusi normal program mikrokontroller untuk selanjutnya menjalankan sub-program untuk melayani intrupsi tersebut.

II.1.5 Konfigurasi Pin IC AT89S51

Gambar 2.2 Konfigurasi Pin IC AT89S51

(35)

II.1.6 Konstruksi AT89S5

Gambar 2.3 Konstruksi At89S51

( Sumber : Hendra

Mikrokontroller AT89S51 memiliki 40 kaki, 32 kaki digunakan untuk keperluan port parallel. Setiap port terdiri dari 8 pin, sehingga terdapat 4 port, yaitu Port 0, Port 1, Port 2, Port 3, masing-masing pin Mikrokontroller AT89S51 mempunyai kegunaan sebagai berikut :

• VCC

(36)

Dihubungkan ke ground.

• Port 1

Merupakan salah satu port yang berfungsi sebagai general purpose I/O dengan lebar 8 bit.

• RST

Pin ini berfungsi sebagai input untuk melakukan reset terhadap mikrokontroller, dan jika nilai RST bernilai high selama minimal 2 siklus mesin, maka nilai internal register akan kembali seperti awal mulai bekerja.

• Port 3

Merupakan port yang terdiri dari 8 bit masukan dan keluaran. Disamping berfungsi sebagai masukan dan keluaran, port 3 juga memiliki fungsi khusus yang lain.

Tabel 2.1. Fungsi Pin pada Port 3

Nama pin Fungsi

P3.0 (pin 10) RXD (Port input serial)

P3.1 (pin 11) TXD (Port output serial)

P3.2 (pin 12) INT0 (interrupt 0 eksternal)

P3.3 (pin 13) INT1 (interrupt 1 eksternal)

(37)

P3.5 (pin 15) T1 (input eksternal timer 1)

P3.6 (pin 16) WR (menulis untuk eksternal data memori)

P3.7 (pin 17) RD (untuk membaca eksternal data memori)

• XTAL 1 dan XTAL 2

Merupakan pin masukan untuk Kristal Osilator.

• Port 2

Merupakan salah satu port yang berfungsi sebagai general purpose I/O dengan lebar 8 bit. Fungsi lainya adalah sebagai high byte address bus (pada penggunaan memori eksternal).

PSEN

PSEN (Program Store Enable) adalah pulsa pengaktif untuk membaca program memori luar.

• ALE / PROG

Pulsa output ALE akan low byte selama mikrokontroller melakukan pengaksesan ke memori eksternal. Pin ini juga berfungsi sebagai input pulsa program selama Flash

Programing. Pada operasi normal, ALE mengeluarkan nilai konstan 116 frekwensi

osilator. Satu pulsa ALE dilewati akses kememori data eksternal. Jika mengoperasikan ALE, dapat disable oleh seting bit 0 dari SFR dengan lokasi BEH.

(38)

External Access Enable atau EA harus dihubungkan ke Vcc untuk mengeksekusi program internal.

• Port 0

Merupakan salah satu port yang berfungsi sebagai general purpose I/O (dapat digunakan sebagai masukan dan juga keluaran) dengan lebar 8 bit. Fungsi lainya adalah sebagai multiplexed address/data bus (pada saat mengakses memori eksternal).

II.2. PERANGKAT LUNAK

II.2.1 Bahasa Assembly MCS-51

Bahasa yang digunakan untuk memogram IC mikrokontroller AT89S51 adalah bahasa assembly untuk MCS-51. angka 51 adalah jumlah instruksi pada bahasa ini hanya ada 51 instruksi. Dari 51 instruksi yang sering digunakan untuk mikrokokntroller hanya ada 10 intruksi. Instruksi-intruksi tersebut antara lain :

1. Instruksi MOV

Perintah ini merupakan perintah untuk mengisikan nilai ke alamat atau register tertentu. Pengisian nilai dapat secara langsung atau tidak langsung.

Contoh pengisian nilai secara langsung

MOV R0,#20h

Perintah di atas berarti : isikan nilai 20 Heksadesimal ke register 0 (R0).

Tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah nilai.

(39)

MOV 20h,#80h

...

...

MOV R0,20h

Perintah di atas berarti : isikan nilai yang terdapat pada alamat 20 Heksadesimal ke register 0 (R0).

Tanpa tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah alamat.

2. Instruksi DJNZ

Decreament Jump If Not Zero (DJNZ) ini merupakan perintah untuk mengurangi nilai register tertentu dengan 1 dan lompat jika hasil pengurangannya belum nol. Contoh ,

MOV R0,#80h

Loop: ...

...

DJNZ R0,Loop

...

(40)

3. Instruksi ACALL

Instruksi ini berfungsi untuk memanggil suatu rutin tertentu. Contoh :

...

ACALL TUNDA

...

TUNDA:

...

4. Instruksi RET

Instruksi RETURN (RET) ini merupakan perintah untuk kembali ke rutin pemanggil setelah instruksi ACALL dilaksanakan. Contoh,

ACALL TUNDA

...

TUNDA:

...

RET

5. Instruksi JMP (Jump)

(41)

Loop:

...

...

JMP Loop

6. Instruksi JB (Jump if bit)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika high (1). Contoh,

Loop:

JB P1.0,Loop

...

7. Instruksi JNB (Jump if Not bit)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika Low (0). Contoh,

Loop:

JNB P1.0,Loop

...

(42)

Instruksi ini berfungsi untuk membandingkan nilai dalam suatu register dengan suatu nilai tertentu. Contoh,

Loop:

...

CJNE R0,#20h,Loop

...

Jika nilai R0 tidak sama dengan 20h, maka program akan lompat ke rutin Loop. Jika nilai R0 sama dengan 20h,maka program akan melanjutkan instruksi selanjutnya.

9. Instruksi DEC (Decreament)

Instruksi ini merupakan perintah untuk mengurangi nilai register yang dimaksud dengan 1. Contoh,

MOV R0,#20h R0 = 20h

...

DEC R0 R0 = R0 – 1

...

(43)

Instruksi ini merupakan perintah untuk menambahkan nilai register yang dimaksud dengan 1. Contoh,

MOV R0,#20h R0 = 20h

...

INC R0 R0 = R0 + 1

...

dll

II.2.2 Software 8051 Editor

Instruksi – instruksi yang merupakan Bahasa Assembly tersebut dituliskan pada sebuah editor, yaitu 8051 editor, assembler, simulator IDE, MCS 51. tampilannya seperti gambar di bawah ini :

(44)

Setelah program selesai ditulis, kemudian di-save dan kemudian di-Assemble

(di-compile). Pada saat di-assemble akan tampil pesan peringatan dan kesalahan. Jika masih ada kesalahan atau peringatan, itu berarti ada kesalahan dalam penulisan perintah atau ada nama subrutin yang sama, sehingga harus diperbaiki terlebih dahulu sampai tidak ada pesan kesalahan lagi.

Software 8051IDE ini berfungsi untuk merubah program yang kita tuliskan ke dalam bilangan heksadesimal, proses perubahan ini terjadi pada saat peng-compile-an. Bilangan heksadesimal inilah yang akan dikirimkan ke mikrokontroller.

II.2.3 Software Downloader

(45)

Gambar 2.5 ISP-flash Programmer 3.0a

Cara menggunakannya adalah dengan meng-klik Open File untuk mengambil file heksadesimal dari hasil kompilasi 8051IDE, kemudian klik Write untuk mengisikan hasil kompilasi tersebut ke mikrokontroller.

II.3. LED INFRA MERAH

Sinar infra merah adalah termasuk cahaya monokromatis yang tidak tampak oleh mata manusia. Spektrum frekuensi cahaya secara umum dibagi menjadi tiga bagian yaitu (Wilson & Hawkes, 1989:2) :

1. Infra merah, mempunyai panjang gelombang 0,85 mm – 0,78 µm. 2. Cahaya tampak, mempunyai panjang gelombang 0,7 µm – 0,4 µm. 3. Ultra Violet, mempunyai panjang gelombang 0,4 µm – 0,03 µm.

Gelombang elektromagnetik merupakan penyusundari cahaya yang berada dalam spektrum elektromagnetik yang mempunyai jangkauan yang sangat lebar. Pada jarak yang sama, seluruh spektrum elektromagnetik tersebut mempunyai kecepatan yang sama tetapi frekuensinya berbeda sesuai dengan panjang gelombangnya (Sears and Zemansky, 1994:704).

Dalam hal ini berlaku :

e = λ.f ... (2.1)

keterangan :

(46)

λ = panjang gelombang (m)

f = frekuensi (Hz)

Suatu spektrum frekuensi cahaya disebut infra merah jika panjang gelombangnya 0,78 µm – 0,85 µm. Sedangkan spektrum frekuensi infra merah yang sering dignakan

adalah 3,84.1014 Hz – 3,75.1014 Hz (Skoog and Leary, 1992:253).

(a) (b)

Gambar 2.6 (a) Simbol LED (Light Emitting Dioda) Infra Merah

(b) Wujud LED (Light Emitting Dioda) Infra Merah

LED infro merah merupakan jenis semi konduktor p-n junction yang berkerja pada kondisi forward bias, yang dapat memancarkan radiasi dalam daerah ultra violet, sinar tampak, dan infra merah. Radiasi cahaya yang dihasilkan LED infra merah ini sebanding dengan arus forward bias yang diberikan pada LED tersebut.

(47)

LED ini akan menyerap arus yang lebih besar dari pada LED biasa, semakin besar arus yang mengalir maka semakin besar daya pancarnya. Cahaya infra merah tidak mudah terkontaminasi atau teresonansi dengan cahaya lain sehingga dapat digunakan baik siang ataupun malam.

Karakteristik LED infra merah adalah pada saat tegangan forward bias yang diberikan masih dibawah tegangan ambang (0,7 V), maka arus belum dapat mengalir, tetapi setelah tegangan forward yang diberikan pada LED melebihi tegngan ambang (0,7 V) maka pertambahan arus akan meningkat dengan cepat dan tegangan mendekati keadaan konstan.

Harga arus yang melewaati LED sebanding dengan intensitas cahaya yang dipancarkan, jika arus semakin besar maka intensitas cahaya akan naik, ini berarti arus yang dihasilkan oleh LED infra merah dipengaruhi oleh tegangan dan tahanan. Semakin besar tegangan maka arus yang dihasilkan akan semakin besar dan sebaliknya semakin besar tahanan yang diberikan maka arus yang dihasilkan akan semakin kecil.

(48)

Kolektor C

Basis

B

Emitor E II.4. PHOTOTRANSISTOR

Phototransistor adalah suatu alat semi konduktor cahaya yang lebih peka dari foto dioda P-N. Phototransistor yang sering dijumpai adalah transistor bipolar jenis NPN dengan sambungan kolektor-basis PN yang peka cahaya. Apa bila sambungan tersebut dikenai cahaya melalui lensa yang membuka pada bungkus transistor, maka timbul aliran arus control yang menghidupkan transistror ON. Aksi ini sama dengan yang terjadi pada arus basis-emitor dari transistor PNP biasa.

Phototransistor dapat sebagai alat dengan dua kaki atau tiga kaki. Kaki basis dapat dibawa keluar sehingga alat dapat digunakan sebagai transistor bipolar konvesional, dengan atau tanpa tambahan keistimewaan kepekaan cahaya. Apabila cahaya mengenai sambungan PN kolektor-basis, arus basisyang dihasilkan berbanding langsung dengan intensitas cahaya, aksi tersebut menghasilkan arus kolektor yang dikuatkan. Kecuali untuk arus basis dibangkitkan, phototransistor bertindak seperti transistor bipolar konvensional.

(49)

2.5. MOTOR STEPPER

Motor langkah (stepper) banyak digunakan dalam berbagai aplikasi, dipergunakan apabila dikehendaki jumlah putaran yang tepat atau diperlukan sebagaian dari putaran motor. Suatu contoh dapat dijumpai pada disk drive, untuk proses pembacaan dan/atau penulisan data ke/dari cakram (disk), head baca-tulis ditempatkan pada tempat yang tepat diatas jalur atau track pada cakram, untuk head tersebut dihubungkan dengan sebuah motor langkah.

Gambar 2.9 Wujud Motor Langkah (stepper)

(50)

U

dilakukan oleh sebuah robot yang memerlukan ketepatan posisi dalam gerakan lengannya dan lain-lain.

Pada gambar 2.10 dibawah ditunjukan dasar susunan sebuah motor langkah (stepper).

Gambar 2.10 Diagram Motor Langkah (stepper)

(51)

B A

C

D

Motor langkah yang akan digunakan memiliki 4 fasa (pole atau kutub), pengiriman pulsa dari mikrokontroller ke rangkaian motor langkah dilakukan secara bergantian, masing-masing 4 data (sesuai dengan jumlah fasanya), sebagian ditunjukan pada gambar 2.11, dibawah ini :

Gambar 2.11 Pemberian data /pulsa pada motor stepper

(52)

2.6. BUZZER

Buzzer merupakan alat yang mengeluarkan bunyi alarm. Alat ini sering digunakan sebagai alat peraga berupa suara atau bunyi sebagai penanda. Buzzer ini menggunakan transistor jenis PNP dengan catu daya 5 V yang akan “on” jika diberi tegangan forward dan akan “off” jika diberi tegangan reverse.

(53)

BAB III

REKAYASA

3.1 Perekayasaan Diagram Blok Sistem

Perekayasaan sistem keseluruhan diperlihatkan pada gambar blok diagram

berikut:

Gambar 3.1 : Diagram Blok Sistem Pengendali Infus Dengan Menggunakan

Sensor Phototransistor Berbasis Mikrokontroller AT89S51

Display

Mikro

kontroller

Stepper Motor Driver

Stepper Motor Sensor Detect

Cairan Infus

Tombol

(54)

Pada gambar diatas terdapat beberapa blok yang masing-masing berfungsi

membentuk suatu kordinasi hingga mencapai tujuan yang diinginkan, yaitu Input,

Proses, dan Output.

Input merupakan masukan ke pemeroses yang berupa besaran-besaran

baku sedangkan proses berfungsi sebagai bagian yang melakukan pengolahan

masukan menjadi suatu keluaran yang diinginkan, masukan pada rancangan ini

berupa sensor dan masukan set point dalam hal ini adalah sensor yang mendeteksi

level air atau cairan dalam botol infus. Tombol juga berfungsi sebagai input yaitu

yang memberikan masukan set point pada pemeroses. Sedangkan sebagai out put

sistem adalah pengendali posisi dengan motor penggerak dan penampil (display).

Fungsi pengendali posisi adalah pengendalian posisi jepitan selang infus sehingga

diperoleh tetesan yang diinginkan. Output display berfungsi menampilkan status

(55)

3.2. Perekayasaan Masing-masing Rangkaian Pendukung Sistem

Rangkaian Sistem Pengendali Infus dapat dilihat seperti gambar berikut :

(56)

Terdapat beberapa bagian sistem, yaitu bagian-bagian rangkaian yang

terhubung membentuk suatu sistem. Adapun bagian-bagian rangkaian tersebut adalah

:

1. Sensor

2. Tombol

3. Driver Stepper Motor

4. Display 7 Segment

5. Driver Buzzer

6. Kontroler.

2. Sensor

Yang dimaksud sebagai sensor dalam rangkaian ini adalah, suatu piranti yang

berfungsi mengubah besaran fisik menjadi suatu besaran listrik, dan dalam hal ini

adalah mengubahan level air menjadi besaran listrik.

Sensor yang digunakan pada rancangan ini adalah sensor photodioda yang

terdiri dari sebuah pemancar infra merah dan sebuah penerima infra merah. Pemancar

infra merah berupa sebuah LED infra merah yang akan memancarkan cahaya infra

merah ke penerima. Sedangkan sebagai penerima infra merah digunakan sebuah photo

dioda yang dirancang sedemikian rupa untuk mengubah besaran cahaya infra merah

(57)

Gambar 3.3 Rangkaian Sensor

Bila tidak terdapat halangan diantara pemancar dan penerima maka cahaya

infra merah langsung mengenai photodioda, hal ini menyebabkan photodioda

mendapat bias maju sehinga mencapai titik jenuh dan mengalirkan arus ke basis dari

transistor BC547, sehingga logika pada kolektor adalah logika 0 (nol), dan sebaliknya

bila terdapat halangan pada photo dioda menyebabkan terputusnya bias sehingga

photo dioda mengalami fase cut off dan menyebabkan putusnya arus ke basis

transistor BC547 sehingga logika keluaran kolektor berlogika 1 (satu).

3. Tombol

Fungsi tombol adalah sebagai pemberi masukan kepada mikrokontroller

(58)

berupa masukan set point yaitu jumlah tetes infus persatuan waktu yang diinginkan.

Sehingga tiap penekanan tombol akan terbaca oleh prosessor atau mikrokontroller.

Gambar 3.4 Rangkaian Tombol

Ketika tombol ditekan maka data berlogika rendah akan masuk ke masing-masing port

(59)

Pada rangkaian ini menggunakan tombol tipe push-on yang salah satu pin

nya dihubungkan ke ground (pin akan berlogika 0) , sehingga jika salah satu tombol

ini di tekan maka akan terhubung antara ground dengan salah satu pin dari

mikrokontroller sedangkan jika tidak mengalami penekanan maka port

mikrokontroller akan tetap berlogika 1.

4. Driver Motor

Yang dimaksud driver motor adalah rangkaian penguat arus yang berfungsi

menguatkan arus sehingga dapat mengendalikan atau menjalankan sebuah stepper

(60)

Gambar 3.4 Rangkaian Driver Stepper Motor

Driver stepper motor dirancang dengan menggunakan sebuah transistor dan

resistor. Jenis transistor yang digunakan adalah jenis NPN dengan tipe BD139.

Transistor ini akan berkerja sebagai switch atau saklar. Dengan memberikan arus bias

jenuh pada basis transistor, akan menyebabkan transistor jenuh atau ON sehingga

mengalir arus kolektor ke emitor.

Pengaturan bias dilakukan oleh mikrokontroller dengan mengeluarkan logika 0

(nol) atau 1 (satu). Yaitu bila diberikan logika 0 pada basis transistor menyebabkan

arus basis sama dengan 0, dengan demikian transistor berada dalam keadaan cut off.

Dan sebaliknya bila logika 1 akan menyebabkan transistor mendapat bias maju

sehingga transistor jenuh atau ON. Resistor pada basis transistor berfungsi menambah

arus bias sehingga cukup untuk membuat transistor jenuh pada keadaan logika 1.

Terdapat 4 buah transistor penguat untuk menggerakkan sebuah stepper motor

(single volt 4 fasa) karena terdapat 4 buah kumparan dalam sebuah motor stepper jenis

tersebut, sedangkan cara menggerakkan motor adalah dengan memberikan pulsa

bergantian ditiap kumparan secara beraturan. Pengaturan urutan pulsa motor melalui

(61)

5. Display 7-Segment

(62)

Pada perancangan ini digunakan satu buah driver 7447 dan 1 buah ULN2803.

IC7447 ini berfungsi untuk mengaktifkan segment-segment pada rangkaian display

sesuai dengan data yang dikirimkan. Sedangkan IC ULN2803 berfungsi untuk

menaikkan arus agar 7-segment dapat hidup lebih terang (menggunakan 7-segment

2,3 Inch). Pada rangkaian driver ini digunakan IC 7447 yang merupakan tipe TTL

yang berfungsi sebagai decoder atau driver bilangan BCD ke bilangan seven-segment.

Pada perancangan ini digunakan display seven-segment common anoda. Input dari 7447 diambil dari output mikrokontroler pada port p0.0 hingga p0.3. IC 7447

mempunyai 4 buah input sebagai data bilangan BCD atau hexa. Input pada 7447 yaitu

A, B, C, dan D yang masing-masing berada pada pin 7, 1, 2, dan 6. Sedangkan

outputnya ada 7 yaitu a hingga g yang berada pada pin 9 hingga pin 15.

6. Driver Buzzer

Pada perancangan rangkaian driver buzzer ini menggunakan buzzer. Buzzer

ini akan berbunyi jika ada cairan infus sudah kosong. Untuk rangkaian ini digunakan

transistor BC 557 sebagai driver (saklar) . Dari gambar rangkaian dapat dilihat bahwa

jika input base BC557 diberi logika 0, maka BC557 akan ON atau berfungsi sebagai

saklar, sehingga arus tersebut akan mengalir ke buzzer dan akan mengaktifkan buzzer.

(63)

Gambar 3.6 Driver Buzzer

7. Kontroler

Kontroler adalah piranti berupa IC yang berfungsi melakukan pengontrolan

terhadap seluruh proses kerja sistem. Kontroler yang digunakan adalah jenis

AT89S51. kerja mikrokontroller tersebut tersusun atau terprogram sedemikian rupa,

berupa suatu algoritma dan perintah-perintah sehingga membentuk suatu kerja sesuai

dengan yang diinginkan. Penysunan program dilakukan dengan menggunakan bahasa

assembly yang kemudian dikompele menjadi bahasa mesin dan disuntikkan kedalam

IC dengan peralatan khusus yaitu downloader.

Kerja mikrokontroller pada perancangan adalah membaca masukan set point

kemudian melakukan pengaturan terhadap kecepatan tetesan infus dengan membuka

(64)

mikrokontroller adalah melalui sensor yaitu sensor batas atau level dan sensor tetesan

infus.

3.3. Perekayasaan Sistem Keseluruhan

Perinsip kerja sistem keseluruhan adalah pada saat sistem diaktifkan,

mikrokontroller akan direset keposisi awal atau start kemudian dilanjutkan dengan

membaca masukan set point. Bila masukan telah diberikan melalui tombol, kontroler

akan mulai melakukan pengaturan, yaitu dengan membaca sensor-sensor dan

mengendalikan kancing penjepit pada selang infus dengan menggunakan motor

stepper. Pengaturan akan terus dilakukan sampai tercapai keadaa konstan, yaitu

kecepatan tetesan infus sama dengan set point yang diminta. Proses pembacaan

tombol akan ditampilkan pada display 7-segment. Bila kondisi level cairan infus telah

minimal maka alarm akan berbunyi.

3.4. Perekayasaan Flow Chart / Algoritma Kerja Sistem

Sistem digerakkan oleh algorima atau susunan perintah-perintah yang

membentuk program yang berkerja dengan interaksi antara komponen-komponen

(65)

perintah-perintah tersebut dapat digambarkan berupa sebuah diagram alir yang

menggambarkan kerja sisem secara keseluruhan.

Diagram alir dapat dilihat pada gambar dibawah.

Gambar 3.6 Flow Chart

Kerja diagram alir di atas adalah sebgai berikut :

Mulai dari start program dibuat untuk memeriksa tombol apakah ada

(66)

tetesan infus dengan cara melakukan penekanan ataupun pelepasan penjepitan saluran

infus sesuai dengan setpoint jumlah tetesan infus. Jika tidak ada penekanan pada

tombol maka program akan memeriksa isi dari cairan infus apakah dalam kondisi

kosong, jika kosong maka program akan menghidupkan alarm, namun jika tidak maka

(67)

BAB IV

PENGUKURAN DAN PENGUJIAN

IV.1. Pengukuran Rangkaian

Setelah perencanaan dan pembuatan alat selesai, maka dilakukan pengukuran. Pengukuran ini merupakan bagian terpenting dalam perakitan suatu alat. Pengujian dan pengukuran ini dilakukan untuk mengetahui apakah peralatan dapat beroprasi dengan normal dan untuk menunjukan bahwa alat telah berkerja sesuai dengan yang diharapkan.

Pengukuran dilakukan pada setiap blok rangkaian untuk mempermudah dan menganalisa hasil pengujian dan pengukuran.

IV.1.I. Pengukuran Rangkaian Mikrokontroller

Pengukuran pada rangkaian Mikrokontroller dilakukan dengan mengukur tegangan setiap pin mikrokontroller, dari pengukuran yang dilakukan diperoleh hasil sebagai berikut :

(68)

Mikrokontroller Volt

Pin 1 0,28

Pin 2 0,28

Pin 3 0,29

Pin 4 0,28

Pin 5 4,79

Pin 6 4,79

Pin 7 4,79

Pin 8 0

Pin 9 0

Pin 10 0

Pin 11 4,79

Pin 12 4,79

Pin 13 4,79

Pin 14 4,79

Pin 15 0

(69)

Pin 17 0

Pin 18 1,88

Pin 19 2,05

Pin 20 0

Pin 21 4,8

Pin 22 4,8

Pin 23 4,8

Pin 24 4,8

Pin 25 4,8

Pin 26 4,8

Pin 27 4,8

Pin 28 4,8

Pin 29 4,9

Pin 30 1,05

Pin 31 4,9

Pin 32 4,8

(70)

Pin 34 4,8

Pin 35 4,8

Pin 36 0,25

Pin 37 0,23

Pin 38 0,3

Pin 39 0,24

Pin 40 4,89

IV.1.2. Pengukuran Rangkaian Driver 7-Segment

Untuk menampilkan data yang akan ditampilkan, maka dibutuhkan komponen yang dapat menampilkan angka-angka dari angka 0 sampai dengan angka 9, sehingga komponen yang dipilih adalah 7 segment common anoda. Input dari 7-segment tersebut berupa bilangan biner 7-segment (dimulai dari a,b,c,d,e,f dan g).

Agar mikrokontroller dapat dengan mudah memberikan data ke 7-segment

berupa tampilan angka-angka 0 hingga angka 9, maka dibutuhkan sebuah decoder

untuk melakukannya. Berhubung 7-segment yang digunakan berupa Common Anoda,

maka pilihan yang tepat adalah menggunakan IC decoder 7447. IC ini dapat merubah

(71)

biner. Pada aplikasi ini, dibutuhkan sebanyak 1 buah IC 7447 untuk 1 buah 7-segment.

Cara yang digunakan adalah dengan memasukkan setiap data yang akan ditampilkan.

Selanjutnya output dari IC 7447 akan menjadi masukan ke IC ULN2803 agar arus

yang masuk menjadi lebih besar, hingga membuat tampilan 7-segment tampil menjadi

lebih terang.

Setiap masukan ke input dari IC 7447 maka akan di konversi menjadi data 7-segment pada outputnya, output tersebut akan dikirimkan ke 7-segment.

(72)

Gambar. 4.3. Rangkaian Pengukuran Driver

Tabel 4.3. Titik Pengukuran Rangkaian Display

DESIMAL

A B C D a b C d e f G

(73)

IV.1.3. Pengukuran Rangkaian Alarm

0 0 0 0 0 0 0 0 0 0 1 0

0 0 0 1 1 0 0 1 1 1 1 1

0 0 1 0 0 0 1 0 1 1 0 2

0 0 1 1 0 0 0 0 1 1 0 3

0 1 0 0 1 0 0 1 1 0 0 4

0 1 0 1 0 1 0 0 1 0 0 5

0 1 1 0 1 1 1 0 0 0 0 6

0 1 1 1 0 0 0 1 1 1 1 7

1 0 0 0 0 0 0 0 0 0 0 8

(74)

Rangkaian alarm dihubungkan dengan port P2.7 dari mikrokontroller, dimana alarm yang digunakan adalah sebuah buzzer yang dihubungkan dengan sebuah driver transistor tipe PNP (BC557). Transistor BC557 akan aktif jika diberi logika 0 oleh mikrokontroller.

Gambar 4.5. Rangkaian Alarm

Dari hasil pengujian didapat hasil sebagai berikut:

Tabel 4.4 Data Hasil Pengukuran Rangkaian Alarm

IV.1.4. Pengukuran Rangkaian Driver Stepper Motor KONDISI Port P2.7

BUNYI 0.3 mV

(75)

Setiap kumparan pada motor stepper akan aktif apabila menerima tegangan atau mendapat logika 1 dan 0 pada satu kumparan. maka akan dibangkitkan kutub magnet yang berlawanan dengan kutub magnet tetap pada rotornya. Sehingga posisi magnet rotor akan ditarik mendekati lilitan yang menghasilkan kutub magnet tadi. Langkah berikutnya yaitu lilitan bersebelahan diberi tegangan sedangkan tegangan sebelumnya dilepas maka kutub tetap pada rotor akan berpindah posisi menjadi kutub magnet yang dihasilkan sekarang.

Gambar 4.4 Titik Pengukuran pada Driver Stepper Motor

Tabel 4.3. Data Pengukuran Rangkaian Driver Motor Stepper

Driver Stepper Motor

(76)

TP5 TP6 TP7 TP8 TP9 TP10 TP11 TP12

1 0 0 0 0 1 1 1

0 1 0 0 1 0 1 1

0 0 1 0 1 1 0 1

0 0 0 1 1 1 1 0

IV.2. Pengujian Keseluruhan Sistem

Langkah-lanagkah pengujian keseluruhan adalah sebagai berikut :

1. Siapkan semua komponen sistem yang akan diuji

2. Periksa semua komponen apakah telah terhubung dengan baik 3. Aktifkan Catu Daya

4. Amati pesan pada tampilan 7segment, apakah berfungsi dengan baik 5. Berikan masukan set point ke sistem melalui keypad

6. Jalankan sistem dengan tombol ENTER 7. Perhatikan apakah sistem berkerja dengan baik

8. Lakukan perbaikan atau penyempurnaan bila terdapat kekurangan-kekurangan

Keterangan :

(77)

Dari hasil pengamatan tersebut diperlihatkan bahwa motor penjepit selang infus senantiasa bergerak melakukan penyesuaian hingga diperoleh hasil sama dengan set point. Adapun kesalahan yang ditimbulkan adalah kesalahan mekanisme pergerakan penjepit selang.

IV.3. Pengujian Perangkat Lunak Sistem

Untuk memudahkan pengenalan masing-masing port dalam pemograman, dibutuhkan sebuah inisialisasi masing-masing port tersebut, adapun port-port yang digunakan haruslah diberi alamat dari masing-masing port tersebut. Untuk port p0 memiliki alamat 080h sedangkan port p3 alamatnya 0b0h.

p0 equ 080h

Pada proses pembuatan program selalu diawali dengan penempatan awal dari program, hal ini dilakukan dengan pemberian alamat awal 0000h seperti pada perintah dibawah ini :

(78)

Kemudian pada rutin setting, pertama-tama program akan melakukan pengecekan terhadap tombol, jika port p3.0 ditekan maka program akan lompat ke rutin set_tekan, namun jika tidak maka program akan memeriksa port p3.1, jika berlogika 0 maka program akan lompat ke rutin set_lepas, demikian seterusnya hingga port p3.2, jika tidak ada yang berlogika 0 maka program akan memasukkan data 00h ke port p1 dan dilanjutkan dengan lompat ke rutin setting.

Kemudian pada rutin set_tekan, program akan melakukan pengecekan terhadap port

p3.0, jika port p3.0 masih berlogika 0 maka program akan terus menerus memeriksa

port p3.0 namun jika tidak mengalami penekanan maka program akan lompat ke rutin

tekan dan dilanjutkan dengan lompat ke rutin setting.

set_tekan: jnb p3.0,$

call tekan

jmp setting

Pada rutin set_lepas, program akan melakukan pengecekan terhadap port p3.1,

jika port p3.1 masih berlogika 0 maka program akan terus menerus memeriksa port

p3.1 namun jika tidak mengalami penekanan maka program akan lompat ke rutin

lepas dan dilanjutkan dengan lompat ke rutin setting.

set_lepas: jnb p3.1,$

call lepas

jmp setting

Pada rutin check_1, program akan melakukan pengecekan terhadap port p3.2,

(79)

p3.2 namun jika tidak mengalami penekanan maka program akan lompat ke rutin

delay dan dilanjutkan dengan lompat ke rutin beep.

check_1: jnb p3.2,$

call delay

call beep

Pada rutin check_1again, program akan melakukan pengecekan terhadap port

p3.0, jika port p3.0 berlogika 0 maka program akan lompat ke rutin tekan1, jika

berlogika 1 maka program akan memeriksa port p3.1 sedangkan jika port p3.1

berlogika 0 maka program akan lompat ke rutin lepas1, jika berlogika 1 maka program

akan memeriksa port p3.2, apakah berlogika 0 atau 1, jika berlogika 0 maka program

akan lompat ke rutin setting_zero, sedangkan jika berlogika 1 aka data 00h

dimasukkan ke port p1 dan dilanjutkan dengan lompat ke rutin check_1again.

check_1again:jnb p3.0,tekan1 jnb p3.1,lepas1 jnb p3.2,setting_zero

mov p1,#00h

jmp check_1again

Pada subrutin tekan program memasukkan data 11111000b (f8h) ke port 1 (P1). Lalu diikuti dengan lompat ke rutin dly_lo. Hal yang sama dilakukan untuk data 11110100b (f4h), 11110010b (f2h) dan 11110001b (f1h) dimasukkan ke port p1 lalu lompat ke rutin dly_lo kemudian di akhir program akan lompat ke rutin yang memanggil.

tekan: mov p1,#11111000b call dly_lo

(80)

mov p1,#11110001b call dly_lo

mov p1,#00h

ret

Pada subrutin lepas program memasukkan data 11110001b (f1h) ke port 1 (P1). Lalu diikuti dengan lompat ke rutin dly_lo. Hal yang sama dilakukan untuk data 11110010b (f2h), 11110100b (f4h) dan 11111000b (f8h) dimasukkan ke port p1 lalu lompat ke rutin dly_lo kemudian di akhir program akan lompat ke rutin yang memanggil.

lepas: mov p1,#11110001b

Pada rutin tekan1, program akan melakukan pengecekan terhadap port p3.0,

jika port p3.0 masih berlogika 0 maka program akan terus menerus memeriksa port

p3.0 namun jika tidak mengalami penekanan maka program akan memasukkan data

step1 ke akumulator lalu dibandingkan dengan data 00h, jika tidak sama maka

program akan lompat ke rutin get_tekan namun jika sama maka program akan lompat

ke rutin check_1again.

tekan1: jnb p3.0,$

mov a,step1

cjne a,#00h,get_tekan

jmp check_1again

Pada rutin get_tekan data dari step1 dimasukkan ke akumulator lalu isi dari

step1 dikurangkan dengan 1 lalu dimasukkan ke dalam step1 dan dibandingkan

(81)

sama maka program akan memasukkan data 00h ke step1 dan dilanjutkan dengan

lompat ke check_1again.

get_tekan: mov a,step1

dec a

mov step1,a

cjne a,#0ffh,tekanj

mov step1,#00h

jmp check_1again

Pada rutin tekanj program akan lompat ke rutin tekan, lalu lompat ke rutin

check_1again.

tekanj: call tekan

jmp check_1again

Pada rutin lepas1, program akan melakukan pengecekan terhadap port p3.1,

jika port p3.1 masih berlogika 0 maka program akan terus menerus memeriksa port

p3.1 namun jika tidak mengalami penekanan maka program akan memasukkan data

step1 ke akumulator lalu dibandingkan dengan data 0ffh, jika tidak sama maka

program akan lompat ke rutin get_lepas namun jika sama maka program akan lompat

ke rutin check_1again.

lepas1: jnb p3.1,$

mov a,step1

cjne a,#0ffh,get_lepas

jmp check_1again

Pada rutin get_lepas data dari step1 dimasukkan ke akumulator lalu isi dari

step1 dikurangkan dengan 1 lalu dimasukkan ke dalam step1 dan dibandingkan

dengan angka 00h, jika tidak sama maka program akan lompat ke lepasj namun jika

(82)

get_lepas: mov a,step1

Pada rutin lepasj program akan lompat ke rutin lepas, lalu lompat ke rutin

check_1again.

lepasj: call lepas

jmp check_1again

Pada rutin setting_zero data dari step1 dimasukkan ke akumulator lalu isi dari

akumulator dimasukkan ke register one lalu program lompat ke rutin tekan, kemudian

isi dari register one dikurangkan dengan 1 lalu dibandingkan dengan angka 00h, jika

tidak sama maka program akan lompat ke next_tekan namun jika sama maka program

akan memasukkan data 00h ke port p1 dan dilanjutkan dengan lompat ke

check_tombol.

setting_zero:mov a,step1

mov one,a

next_tekan: call tekan

mov a,one

Pada rutin check_tombol, program akan melakukan pengecekan terhadap port

p3.0, jika port p3.0 berlogika 0 maka program akan lompat ke rutin satu, jika

berlogika 1 maka program akan memeriksa port p3.1 sedangkan jika port p3.1

berlogika 0 maka program akan lompat ke rutin dua, jika berlogika 1 maka program

(83)

akan lompat ke rutin tiga, demikan seterusnya hingga port p2.0 dicek apakah

berlogika 0 atau berlogika 1namun jika berlogika 1 maka program akan lompat ke

rutin check_tombol.

Pada rutin satu, program akan melakukan pengecekan terhadap port p3.0, jika

port p3.0 masih berlogika 0 maka program akan terus menerus memeriksa port p3.0

namun jika tidak mengalami penekanan maka program akan memasukkan data 01h ke

status lalu memasukkan data 01h ke port p0 kemudian program akan lompat ke rutin

check_tombol.

satu: jnb p3.0,$

mov status,#01h

mov p0,#01h

jmp check_tombol

Pada rutin dua, program akan melakukan pengecekan terhadap port p3.1, jika

port p3.1 masih berlogika 0 maka program akan terus menerus memeriksa port p3.1

namun jika tidak mengalami penekanan maka program akan memasukkan data 02h ke

status lalu memasukkan data 02h ke port p0 kemudian program akan lompat ke rutin

check_tombol.

dua: jnb p3.1,$

(84)

Pada rutin tiga, program akan melakukan pengecekan terhadap port p3.2, jika

port p3.2 masih berlogika 0 maka program akan terus menerus memeriksa port p3.2

namun jika tidak mengalami penekanan maka program akan memasukkan data 03h ke

status lalu memasukkan data 03h ke port p0 kemudian program akan lompat ke rutin

check_tombol.

tiga: jnb p3.2,$

mov status,#03h

mov p0,#03h

jmp check_tombol

Pada rutin empat, program akan melakukan pengecekan terhadap port p3.3,

jika port p3.3 masih berlogika 0 maka program akan terus menerus memeriksa port

p3.3 namun jika tidak mengalami penekanan maka program akan memasukkan data

04h ke status lalu memasukkan data 04h ke port p0 kemudian program akan lompat ke

rutin check_tombol.

empat: jnb p3.3,$

mov status,#04h

mov p0,#04h

jmp check_tombol

Pada rutin lima, program akan melakukan pengecekan terhadap port p3.4, jika

port p3.4 masih berlogika 0 maka program akan terus menerus memeriksa port p3.4

namun jika tidak mengalami penekanan maka program akan memasukkan data 05h ke

status lalu memasukkan data 05h ke port p0 kemudian program akan lompat ke rutin

check_tombol.

lima: jnb p3.4,$

mov status,#05h

mov p0,#05h

(85)

Pada rutin enam, program akan melakukan pengecekan terhadap port p3.5,

jika port p3.5 masih berlogika 0 maka program akan terus menerus memeriksa port

p3.5 namun jika tidak mengalami penekanan maka program akan memasukkan data

06h ke status lalu memasukkan data 06h ke port p0 kemudian program akan lompat ke

rutin check_tombol.

enam: jnb p3.5,$

mov status,#06h

mov p0,#06h

jmp check_tombol

Pada rutin infus_kosong program akan lompat ke rutin beep, kemudian

program akan memeriksa apakah port p2.0 berlogika 0 atau 1, jika berlogika 0 maka

program akan lompat ke rutin infus_kosong, namun jika berlogika 1 maka program

akan lompat ke rutin check_tombol.

infus_kosong:call beep

jnb p2.0,infus_kosong

jmp check_tombol

Pada rutin action data pada status dimasukkan ke akumulator lalu

dibandingkan dengan data 01h, jika tidak sama maka program lompat ke rutin act2,

jika sama maka program akan lompat ke rutin satutetes. Demikian halnya untuk rutin

act2 hingga act6 hal yang sama akan dilakukan namun jika tidak sama maka program

akan lompat ke rutin check_tombol.

Gambar

Tabel 2.1. Fungsi Pin pada Port 3
Gambar 2.7 (a) Simbol Phototransistor                (b) Wujud Phototransistor
Gambar 2.10 Diagram Motor Langkah (stepper)
Gambar 2.11 Pemberian data /pulsa pada motor stepper
+7

Referensi

Dokumen terkait

Menurut IGAK Wardhani dan Kuswaya Wihardit (2008: 1.4), penelitian tindakan kelas adalah penelitian yang dilakukan guru di dalam kelasnya sendiri melalui refleksi diri, dengan

Pada kategori ‘sering’ yakni pernah mengalami kekerasan lebih dari 6 kali selama pacaran, proporsi jenis kekerasan terbanyak yang dialami responden laki- laki adalah

Berlangsungnya kegiatan pembinaan kerohanian keagamaan masyarakat yang dilaksanakan secara rutin seminggu satu kali yang bertempat di Masjid Pesantren Baitus Mukhlisin Desa

Kapal dimiliki oleh PT.PANN (Persero) di Jakarta, dilengkapi dengan Surat Ukur Internasional (1969) Nomor 1747/PPm, Surat Laut Nomor PK.674/1075/SL-PM/DK-08, Sertifikat

Untuk membatasi luasnya pembahasan, maka dalam makalah ini hanya akan dibahas 2 metode, yaitu quick sort dan merge sort .Pembahasan untuk tiap metode

Sebaiknya hubungan koordinasi Fakultas Kedokteran UNPAD dengan Rumah Sakit Hasan Sadikin dengan hubungan funsionalnya bersifat integratif yaitu di tingkat UPF / laboratorium ,

Selain itu daging kelinci (yang disebut juga sebagai daging putih) memiliki tingkat keempukan yang lebih baik dibandingkan dengan daging merah.. Hal ini dikarenakan seratnya

Berdasarkan hasil wawancara yang telah dilakukan dengan pengunjung diketahui bahwa kejernihan air laut, keindahan pantai dan kondisi pasir masih dalam keadaan