Syringe Pump otomatis berbasis mikrokontroler arduino uno.

(1)

i

TUGAS AKHIR

SYRINGE PUMP

OTOMATIS BERBASIS

MIKROKONTROLER ARDUINO UNO

Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik

Program Studi Teknik Elektro

Oleh :

PRAYADI SULISTYANTO NIM : 115114040

PROGRAM STUDI TEKNIK ELEKTRO

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA


(2)

ii

FINAL PROJECT

AUTOMATIC SYRINGE PUMP BASED

ARDUINO UNO MICROCONTROLLER

Presented as Partial Fulfillment of the Requirements To Obtain the Sarjana Teknik Degree

In Electrical Engineering Study Program

PRAYADI SULISTYANTO NIM : 115114040

ELECTRICAL ENGINEERING STUDY PROGRAM

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

2013


(3)

(4)

(5)

v

PERNYATAAN KEASLIAN KARYA

Saya menyatakan dengan sesungguhnya bahwa tugas akhir ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka sebagaimana layaknya karya ilmiah.

Yogyakarta, 17 Juli 2013


(6)

vi

HALAMAN MOTTO HIDUP DAN PERSEMBAHAN

MOTTO :

Tuhan Akan Memeluk Mimpi-mimpi Orang Yang Mau

Berusaha

Skripsi ini kupersembahkan untuk,

Tuhan YME yang selalu menyertaiku

Ani Sulistyawati Ibunda yang tercinta,

M.Bakhrun Ayahanda tercinta, Marsupiyanti


(7)

vii

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI

KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS

Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma :

Nama : Prayadi Sulistyanto

Nomor Mahasiswa : 115114040

Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah ini yang berjudul :

SYRINGE PUMP

OTOMATIS BERBASIS MIKROKONTROLER

ARDUINO UNO

Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengolahnya dalam bentuk pangkalan data, mendistribusikan secara terbatas, dan mempublikasikan di Internet atau media lain untuk kepentingan akademis tanpa perlu memnita ijin dari saya maupun memberikan royalti kepada saya selama tetap mencantumkan nama saya sebagai penulis.

Demikian pernyataan ini saya buat dengan sebenarnya.

Yogyakarta, 18 Juli 2013


(8)

viii

INTISARI

Syringe pump merupakan peralatan medis yang berfungsi untuk memasukkan obat berwujud cairan ke dalam tubuh pasien dengan ukuran dan waktu tertentu secara otomatis. Prinsip kerja syringe pump adalah mengatur laju cairan yang dimasukan ke dalam tubuh dengan satuan ml/jam.

Syringe pump otomatis berbasis mikrokontroler arduino uno terdiri dari tiga bagian yaitu : unit input, unit pengolah dan unit output. Unit input tersusun atas tombol navigasi “start”, “stop”, “reset”, dan keypad matrik 4x3 sebagai pengatur laju aliran dan sensor linear scale yang digunakan sebagai sensor posisi dari pendorong tabung suntik. Unit pengolah tersusun atas mikrokontroler arduino uno. Unit outputtersusun atas drivermotor stepper, motor stepperyang berfungsi sebagai penggerak pendorong tabung suntik, buzzer yang berfungsi untuk memberi peringatan ke pengguna apabila tabung suntik kosong dan LCD yang berfungsi sebagai penampil nilai laju cairan. Prinsip kerja syringe pump otomatis berbasis mikrokontroler arduino uno yaitu dengan mengolah nilai input laju aliran yang dimasukkan dan mengkonversi menjadi jeda setiap langkah motor stepper dan banyak langkah motor stepper. Motor stepperdigunakan untuk mendorong tabung suntik. Semakin besar nilai jeda tiap langkah motor stepper, semakin kecil laju aliran yang dihasilkan oleh syrnge pumpotomatis berbasis mikrokontroler arduino uno.

Syringe pump otomatis berbasis mikrokontroler arduino uno berhasil dibuat dan dapat bekerja dengan baik dan rentang pengaturan laju cairan 0,1 – 999 ml/jam dengan ketelitian 0,1 ml. Syringe pump otomatis berbasis mikrokontroler arduino uno memiliki errordibawah 5%.


(9)

ix

ABSTRACT

Syringe pump is a medical equipment that used to inject automatically for size and time drugs fluid into patient body. The working principle of syringe pump is to set rate of fluid that entered into the body of the ml/hour unit.

There are three main units of automation syringe pump based Arduino Uno microcontroller such as, the input unit, the processing unit, and the output unit. On the input unit, there are some navigation buttons such as start button, stop button, and reset button. Besides that inpu unit also contain a 4x3 matrix keypad and a linier scale sensor. The 4 x 3 matrix keypad used to control fluid flow rate and a linier scale sensor used to control position of the syringe plunger. The processing unit contain an Arduino Uno microcontroller. A stepper motor, buzzer, and LCD display are parts o an output unit. A stepper motor driver used to drive a syringe plunger. Buzzer used to warn the user when the syringe is empty. A LCD display used to display a fluid speed value. The working principle of automation syringe pump based Arduino Uno microcontroller is to process the flow rate input value and convert the value to give how many delay and step for motor stepper output. Stepper motor used to drive the syringe. If the greater delay value every step of stepper motor then the flow rate generated by automation syringe pump based on microcontroller Arduino Uno is smaller.

Automated syringe pump based on Arduino Uno has been successfully created and work correctly based on the range adjustment liquid rate from 0.1 until 999 ml/hour with 0,1 ml precision. Syringe pump based on microcontroller Arduino Uno has an error less than 5%.


(10)

x

KATA PENGANTAR

Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa atas rahmat dan karunia-Nya sehingga tugas akhir dengan judul “Syringe Pump Otomatis Berbasis Mikrokontroler Arduino Uno” ini dapat diselesaikan dengan baik. Selama menulis tugas akhir ini, penulis menyadari bahwa ada banyak pihak yang telah memberikan bantuan dan dukungan pada penulis. Oleh karena itu, penulis ingin mengucapkan terima kasih kepada :

1. Ibu Ani Sulistyawati, Bapak M. Bakhrun, Mbak Sulis, Mas Agung dan saudara-saudara penulis yang senantiasa memberikan doa, semangat serta dukungan kepada penulis.

2. Ibu Ir. Prima Ari Setiyani. M.T. selaku dosen pembimbing yang dengan penuh kesabaran membimbing, memberi saran, dan kritik kepada penulis.

3. Seluruh Dosen Teknik Elektro dan seluruh Laboran Teknik Elektro yang telah memberikan ilmu dan pengetahuan kepada penulis selama kuliah.

4. Seluruh Dosen dan Karyawan Politeknik Mekatronika Sanata Dharma yang telah memberikan ilmu dan pengetahuan kepada penulis selama kuliah.

5. Sdri. Marsupiyanti yang telah memberikan semangat dan dukungan pada penulis. 6. Teman-teman alumni Politeknik Mekatronika Sanata Dharma yang sedang

menempuh studi di Teknik Elektro yang telah memberikan doa, semangat dan dukungan kepada penulis.

7. Teman-teman Teknik Elektro semua angkatan yang telah memberikan semangat pada penulis.

Penulis menyadari bahwa laporan tugas akhir ini masih sangat jauh dari sempurna, oleh karena itu penulis mengharapkan saran dan kritik yang membangun dari pembaca agar dalam proses penulisan dikemudian hari dapat semakin baik. Semoga tugas akhir ini bermanfaat bagi semua pihak, baik bagi penulis maupun bagi pembaca. Terima kasih.

Yogyakarta, 21 Juni 2013


(11)

xi

DAFTAR ISI

HALAMAN JUDUL ... i

HALAMN JUDUL (Bahasa Inggris)... ii

HALAMAN PERSETUJUAN ... iii

HALAMAN PENGESAHAN ... iv

PERNYATAAN KEASLIAN KARYA ... v

HALAMAN MOTTO HIDUP DAN PERSEMBAHAN... vi

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS... vii

INTISARI... viii

ABSTRACT ... ix

KATA PENGANTAR ... x

DAFTAR ISI ... xi

DAFTAR GAMBAR ... xv

DAFTAR TABEL ... xviii

DAFTAR LAMPIRAN ... xx

BAB I PENDAHULUAN ... 1

1.1. Latar Belakang ... 1

1.2. Tujuan dan Manfaat ... 2

1.3. Batasan Masalah ... 2

1.4. Metodologi Penelitian ... 3

BAB II DASAR TEORI ... 4


(12)

xii

2.2. Modul Mikrokontroler Arduino Uno... 4

2.2.1. Mikrokontroler ATmega328 ... 6

2.2.2.Timer/Counterpada Mikrokontroler Arduino Uno ... 7

2.3. Tombol ... 8

2.4. KeypadMatrik 4x3 ... 10

2.5. Pembagi Tegangan ... 12

2.6.Linear Scale ... 12

2.7. LCD (Liquid Crystal Display) ... 13

2.8. Motor Stepper... 15

2.9.ICL298 ... 17

2.10. Buzzer ... 19

2.11. Jenis Ulir Menurut Jumlah Ulir Tiap Gang (Pitch) ... 19

BAB III PERANCANGAN ALAT ... 21

3.1. Layout Perancangan ... 21

3.2. Cara KerjaSyringe PumpOtomatis Berbasis Mikrokontroler Arduino Uno .... 23

3.3. Perancangan Perangkat Keras ... 24

3.3.1. Modul Mikrokontroler Arduino Uno ... 24

3.3.2. Sensor Posisi dengan Linear Scale... 25

3.3.3. Tombol Navigasi ... 27

3.3.4.KeypadPengatur Laju Cairan ... 28

3.3.5.DriverMotor Stepper ... 29


(13)

xiii

3.3.7.Buzzer ... 31

3.4. Perancangan Perangkat Lunak ... 31

3.4.1. Diagram Utama ... 31

3.4.2. Diagram Alir Tombol Navigasi ... 33

3.4.3. Diagram Alir KeypadPengatur Laju Aliran ... 34

3.4.4. Diagram Alir Input Linear Scale... 34

3.4.5. Diagram Alir Peringatan Buzzer... 35

3.4.6. Penentuan Laju Aliran dan Diagram Alir Gerakan Motor Stepper... 35

BAB IV HASIL DAN PEMBAHASAN... 37

4.1. Hasil Implementasi Alat ... 37

4.2. Perancangan Ulang untuk Koreksi Error ... 41

4.2.1. Koreksi ErrorMenggunakan Perangkat Keras ... 41

4.2.2. Koreksi ErrorMenggunakan Perangkat Lunak ... 46

4.3. Hasil Perancangan Perangkat Keras ... 52

4.4. Hasil Pengujian ... 54

4.4.1. Pengujian Tombol Navigasi ... 54

4.4.2. Pengujian KeypadPengatur Laju Aliran ... 54

4.4.3. Pengujian DriverMotor Stepper... 55

4.4.4. Pengujian Buzzer ... 56

4.5. Analisa Perangkat Lunak ... 57

4.5.1. Implementasi Diagram Utama ... 57


(14)

xiv

4.5.3. Implementasi Diagram Alir KeypadPengatur Laju Aliran ... 61

4.5.4. Implementasi Diagram Alir Input Linear Scale... 64

4.5.5. Implementasi Diagram Alir Peringatan Buzzer ... 64

4.5.6. Implementasi Diagram Alir Gerakan Motor Stepper ... 65

BAB V KESIMPULAN DAN SARAN ... 67

5.1. Kesimpulan ... 67

5.2. Saran ... 67


(15)

xv

DAFTAR GAMBAR

Gambar 2.1. Bentuk Fisik Syringe PumpTE-331 Terumo ... 4

Gambar 2.2. Modul Mikrokontroler Arduino Uno ... 5

Gambar 2.3. Konfigurasi Pin ATmega328/ATmega168 pada Arduino Uno ... 5

Gambar 2.4. Perangkat Lunak Arduino ... 5

Gambar 2.5. Rangkaian Tombol dengan Pull-upResistor ... 10

Gambar 2.6. Bentuk Fisik KeypadMatrik 4x3 ... 11

Gambar 2.7. Rangkaian Keypad Matrik 4x3 ... 11

Gambar 2.8. Rangkaian Pembagi Tegangan ... 12

Gambar 2.9. Slide Pot-Motorized(10k Linear Taper) ... 13

Gambar 2.10. Bentuk Fisik Modul LCDTopway... 14

Gambar 2.11. Ilustrasi Motor StepperTipe Variable Reluctance(VR) ... 15

Gambar 2.12. Ilustrasi Motor StepperTipe PermanentMagnet (PM) ... 16

Gambar 2.13. Ilustrasi Motor StepperTipe Hybrid (HB) ... 16

Gambar 2.14. Prinsip Kerja Motor Stepper... 16

Gambar 2.15. ICL298N ... 18

Gambar 2.16. Rangkaian IC L298 ... 19

Gambar 2.17. Simbol Buzzer ... 19

Gambar 2.18. Bentuk Fisik Buzzer ... 19

Gambar 2.19. Ulir Tunggal dan Ulir Ganda ... 20

Gambar 3.1. Diagram Blok Sistem Secara Keseluruhan Syringe Pump ... 21


(16)

xvi

Gambar 3.3. Dimensi Syringe PumpOtomatis Tampak Atas ... 23

Gambar 3.4. Dimensi Syringe PumpOtomatis Tampak Samping ... 23

Gambar 3.5. Rangkaian Pemanfaatan Pin Mikrokontroler Arduino Uno ... 24

Gambar 3.6. Rangkaian Linear Scale... 25

Gambar 3.7. Rangkaian Tombol Navigasi ... 27

Gambar 3.8. Rangkaian KeypadMatrik 4x3 ... 28

Gambar 3.9. Rangkaian Driver Motor Stepper ... 29

Gambar 3.10. Rangkaian LCD ... 30

Gambar 3.11. Rangkaian Buzzer... 31

Gambar 3.12. Diagram Utama ... 32

Gambar 3.13. Diagram Alir Input Navigasi ... 33

Gambar 3.14. Diagram Alir Keypad Pengatur Laju Aliran ... 34

Gambar 3.15. Diagram Alir Input Linear Scale ... 35

Gambar 3.16. Diagram Alir Peringatan Buzzer ... 35

Gambar 3.17. Diagram Alir Gerakan Motor Stepper... 36

Gambar 4.1. Blok Kontrol pada Alat Syringe PumpOtomatis Berbasis Mikrokontroler Arduino Uno ... 52

Gambar 4.2. Konstruksi Alat Syringe PumpOtomatis Berbasis Mikrokontroler Arduino Uno ... 53

Gambar 4.3. Inisialisasi Program ... 58

Gambar 4.4. Program Utama ... 58

Gambar 4.5. Diagram Alir Tombol Navigasi ... 59


(17)

xvii

Gambar 4.7. Hasil Penekanan Tombol Navigasi “start” ... 60

Gambar 4.8. Hasil Penekanan Tombol Navigasi “stop” ... 60

Gambar 4.9. Hasil Penekanan Tombol Navigasi “reset” ... 61

Gambar 4.10. Diagram Alir KeypadPengatur Laju Cairan ... 61

Gambar 4.11. Implementasi Diagram Alir Keypad Pengatur Laju Cairan ... 62

Gambar 4.12. Diagram Alir Perkalian ... 63

Gambar 4.13. Implementasi Diagram Alir Perkalian ... 63

Gambar 4.14. Hasil Penekanan Tombol Keypad Pengatur Laju Aliran ... 63

Gambar 4.15. Implementasi Diagram Alir Input Linear Scale ... 64

Gambar 4.16. Implementasi Diagram Alir Peringatan Buzzer ... 64

Gambar 4.17. Hasil CodingPeringatan Buzzer ... 64

Gambar 4.18. Diagram Alir Gerakan Motor Stepper... 65 Gambar 4.19. Implementasi Diagram Alir Gerakan Motor Stepper Step1 dan Step2 . 66


(18)

xviii

DAFTAR TABEL

Tabel 2.1. Konfigurasi dan Diskripsi Pin ATmega328... 6

Tabel 2.2. Konfigurasi Alternatif Port D ... 7

Tabel 2.3.Timerpada Mikrokontroler Arduino Uno ... 8

Tabel 2.4. Macam-macam Saklar berdasar Konstruksinya ... 9

Tabel 2.5. Spesifikasi Slide Pot-Motorized(10k Linear Taper) ... 13

Tabel 2.6. Konfigurasi Pin LCDTopway ... 14

Tabel 2.7. Pemberian Pulsa Motor Stepper ... 17

Tabel 2.8. Konfigurasi Pin ICL298 ... 18

Tabel 2.9. Ulir ISO Metrik Normal ... 20

Tabel 3.1. Pengalamatan Input Output Mikrokontroler Arduino Uno ... 25

Tabel 3.2. Tombol Navigasi ... 28

Tabel 3.3. Nilai Resistansi Tombol KeypadMatrik 4x3 ... 28

Tabel 3.4. Pengalamatan Driver Motor Stepper ... 29

Tabel 3.5. Informasi yang Tertampil Dalam LCD ... 30

Tabel 3.6. Pengalamatan LCD ... 30

Tabel 3.7. Deklarasi Pin Arduino Uno ... 31

Tabel 4.1. Data Hasil Pengujian Syringe Pump Otomatis Berbasis Mikrokontroler Arduino Uno ... 38

Tabel 4.2. Data Hasil Pengujiann Laju Aliran 20 ml/jam dalam Waktu Tertentu ... 40

Tabel 4.3. Data Hasil Pengujiann Laju Aliran 50 ml/jam dalam Waktu Tertentu ... 41

Tabel 4.4. Data Hasil Pengujiann Laju Aliran 120 ml/jam dalam Waktu Tertentu ... 41


(19)

xix

Tabel 4.6. Data Hasil Pengujiann Laju Aliran 999 ml/jam dalam Waktu Tertentu ... 41

Tabel 4.7. Data Hasil Pengujian Linear Scale ... 42

Tabel 4.8. Data pembacaan Linear Scale Tiap Satu Putaran Motor Stepper... 42

Tabel 4.9. Nilai ErrorRata-rata dan Laju Aliran Tiap Langkah Motor Stepper... 46

Tabel 4.10. Data Hasil Pengujian setelah Koreksi ErrorPertama ... 47

Tabel 4.11. Nilai ErrorRata-rata dan Laju aliran Tiap Langkah Motor Stepper... 49

Tabel 4.12. Data Hasil Pengujian seteleah Koreksi ErrorKedua ... 49

Tabel 4.13. Bagian dari Blok Kontrol dan Fungsi dari Rangkaian ... 49

Tabel 4.14. Bagian dan Fungsi dari Alat ... 53

Tabel 4.15. Data Hasil Pengujian Tombol Navigasi ... 54

Tabel 4.16. Data Hasil Pengujian KeypadPengatur Laju Cairan ... 54

Tabel 4.17. Data Hasil Pengujian Driver Motor Stepper ... 56

Tabel 4.18. Data Hasil Pengujian Buzzer dengan Laju aliran 1,2 ml/jam ... 57

Tabel 4.19. Data Hasil Pengujian Buzzerdengan Laju aliran 4,8 ml/jam ... 57


(20)

xx

DAFTAR LAMPIRAN

1. LAMPIRAN LISTINGPROGRAM UTAMA ... L1 2. LAMPIRAN RANGKAIAN KESELURUHAN ... L2 3. LAMPIRAN TABEL PENGAMBILAN DATA ... L3 4. DATASHEETL298 ... L4 5. DATASHEET SLIDE POT-MOTORIZED... L5


(21)

BAB I

PENDAHULUAN

1.1.

Latar Belakang

Peralatan kesehatan yang digunakan di rumah sakit terkemuka di Indonesia sudah menggunakan teknologi yang canggih. Peralatan medis yang canggih sangat membantu tenaga medis dalam penanganan pasien karena proses pengobatan dan perawatan dapat dilakukan dengan cepat dan akurat. Berbagai macam penyakit yang diderita oleh pasien kadang membutuhkan penanganan khusus seperti penanganan nyeri pasca bedah menggunakan teknik regional epidural dengan meletakan kateter epidural (meletakan tabung elastis diantara kedua selaput keras dari sumsum belakang [2]) dan memberikan obat–obat anestetik lokal, opioid dan adjuvant lainnya pada masa pasca bedah baik secara intermittent maupun kontinyu [1] sehingga tenaga medis harus secara rutin memberikan obat dengan dosis tertentu kepada pasien secara tepat. Opioidadalah semua zat sintetik atau natural yang dapat berikatan dengan reseptor morfin. Opioid disebut juga sebagai analgetik narkotika yang sering dalam anesthesia untuk mengendalikan nyeri saat pembedahan dan nyeri pasca pembedahan [3].

Penggunaan komponen elektronika, mekanika dan mikrokontroler sangat dibutuhkan dalam dunia kesehatan untuk mendapatkan tingkat akurasi dan kepresisian yang diharapkan. Peralatan medis yang menggunakan perpaduan antara elektronika, mekanika dan mikrokontroler sudah banyak dijumpai dirumah sakit terkemuka seluruh Indonesia, misalnyasyringe pump yang berfungi untuk memasukan obat berwujud cairan ke dalam tubuh pasien dengan ukuran dan waktu tertentu secara otomatis. Pada penanganan nyeri pasca bedah, pasien membutuhkan obat dengan dosis tertentu secara intermittent dan kontinyu [1]. Dengan menggunakan syringe pump maka pemberian obat ke pasien dapat dilakukan dengan mudah dengan tingkat kepresisian yang tinggi. Hal ini sangat membantu pasien dalam proses penyembuhan dari sakit yang dideritanya.

Prinsip kerja syringe pump adalah mengatur laju cairan yang dimasukan ke dalam tubuh dengan satuan ml/jam yang berarti menyatakan jumlah cairan dalam milliliterdalam satuan jam.Syringe pumpotomatis berbasis mikrokontroler Arduino Uno yang akan dibuat dalam penelitian ini, merupakan alat bantu kesehatan yang akan mengatur laju cairan yang dikontrol dengan mikrokontroler Arduino Uno. Pengaturan dilakukan dengan mengatur


(22)

pendorong syringeyang digerakkan menggunakan motor stepper. Dengan mengatur step motor steppermaka laju cairan dapat dikendalikan.

Syringe pump yang saat ini ada dipasaran adalah Syringe Pump TE-331 Terumo memiliki rentang pengaturan laju cairan 0,1 - 999 ml/jam untuk syringe ukuran 50 ml dengan ketelitian 0,1 ml pada rentang pengaturan laju cairan 0,1 - 99 ml/jam dan ketelitian 1ml pada rentang pengaturan laju cairan 100 - 999 ml/jam [4]. Syringe pump otomatis berbasis mikrokontroler Arduino Uno yang akan dibuat dalam penelitian ini memiliki rentang pengaturan laju cairan 0,1 - 999 ml/jam dengan ketelitian 0,1 ml.

Keunggulan dari syringe pump otomatis berbasis mikrokontroler Arduino Uno yang akan dibuat dalam penelitian ini dibandingkan dengan syringe pump yang ada dipasaran saat ini adalah laju cairan yang tetap pada ketelitian 0,1 ml.

1.2.

Tujuan dan Manfaat

Tujuan yang akan dicapai adalah :

Merancang dan mengimplementasikan syringe pump otomatis berbasis mikrokontroler Arduino Uno sebagai alat medis dengan rentang pengaturan laju cairan 0,1 – 999 ml/jam dengan ketelitian 0,1 ml.

Manfaat yang akan dicapai adalah :

Membantu tenaga medis memasukan obat berwujud cair kedalam tubuh secara tepat dan akurat dalam jumlah dan waktu tertentu.

1.3.

Batasan Masalah

Batasan masalah pada penelitian ini :

a. Merancang dan mengimplementasikan syringe pump otomatis berbasis mikrokontroler Arduino Uno.

b. Menggunakan tabung suntik produk TERUMO berukuran 60ml.

c. Rentang pengaturan laju cairan antara 0.1 ml/jam sampai dengan 999 ml/jam d. Ketelitian syringe pumpyang dibuat adalah 0.1 ml/jam.

e. Setpoint diatur menggunakan keypad matrik dan nilai dari setpoint akan ditampilkan dalam LCD 16x2.


(23)

1.4.

Metodologi Penelitian

Metode yang digunakan dalam penelitian ini adalah :

a. Mengumpulkan referensi-referensi mengenai alat syringe pump. b. Mengumpulkan referensi-referensi mengenai modul Arduino Uno.

c. Merancang desain sistem alat syringe pump otomatis berbasis mikrokontroler Arduino Uno.

d. Merancang desain hardware syringe pump otomatis berbasis mikrokontroler Arduino Uno.

e. Membuat hardware dari desain hardware syringe pump otomatis berbasis mikrokontroler Arduino Uno.

f. Merancang flowchart syringe pump otomatis berbasis mikrokontroler Arduino Uno.

g. Coding program dengan menggunakan softwarearduino.

h. Melakukan pengambilan data menggunakan gelas ukur dengan ketelitian 0,1 ml dari outputlaju cairan yang dihasilkan alat syringe pump otomatis berbasis mikrokontroler Arduino Uno dengan nilai setpoint.

i. Melakukan pengambilan data waktu yang dibutuhkan untuk mendapatkan laju cairan sesuai dengan setpoint menggunakan stopwatch.

j. Melakukan analisa dari hasil pengambilan data alat syringe pump otomatis berbasis mikrokontroler Arduino Uno.

k. Melakukan pengambilan kesimpulan dari alat syringe pump otomatis berbasis mikrokontroler Arduino Uno yang dibuat dalam penelitian ini.


(24)

BAB II

DASAR TEORI

Bab ini menjelaskan tentang dasar teori yang akan dicapai dalam melakukan perancangan syringe pump otomatis berbasis mikrokontroler Arduino Uno. Dasar teori yang akan diterapkan dalam bab ini meliputi : syringe pump, mikrokontroler Arduino Uno, tombol input, keypad matrik, linear scale, LCD, motor stepper, ICL298 dan buzzer.

2.1.

Syringe Pump

Syringe pump merupakan salah satu peralatan elektromedis yang berfungsi untuk memasukan cairan obat kedalam tubuh pasien dalam jangka waktu tertentu secara teratur [5]. Prinsip kerja syringe pump adalah mengatur laju cairan yang dimasukan ke dalam tubuh dengan satuan ml/jam yang berarti menyatakan jumlah cairan dalam milliliterdalam satuan jam. Bentuk fisik syringe pump dapat dilihar pada gambar 2.1.

Gambar 2.1 Bentuk Fisik Syringe Pump TE-331 Terumo [4]

Peralatan elektromedis fungsinya sama dengan syringe pump adalah infusion pump. Meskipun kedua peralatan ini mempunyai fungsi yang sama, kedua jenis pump ini ternyata mempunyai jenis atau karakteristik yang berbeda. Pada infusion pump jenis larutan obat yang dimasukan ke dalam tubuh pasien maksimal sebesar 500 cc. Sedangkan untuksyringe pump hanya sebesar 50 cc [6].

2.2. Modul Mikrokontroler Arduino Uno

Arduino Uno merupakan sebuah perangkat keras dari arduino berupa sistem minimum dengan mikrokontroler ATmega328 [7]. Hardware mikrokontroler Arduino Uno dapat dilihat pada gambar 2.2.


(25)

Gambar 2.2. Modul Mikrokontroler Arduino Uno [7]

Mikrokontroler Arduino Uno memiliki 14 pin digital (6 pin diantaranya dapat digunakan sebagai output Pulse Width Modulation atau PWM ), input/output dan 6 pin input analog, osilator 16 MHz, koneksi USB, konektor inputtegangan, ICSP header dan tombol reset. Modul mikrokontroler Arduino Uno ditunjukan pada gambar 2.1, sedangkan gambar 2.3 menunjukan konfigurasi pin ATmega 328pada Arduino Uno.

Gambar 2.3. Konfigurasi pin ATmega328/ATmega168pada Arduino Uno [7]

Pemprograman modul mikrokontroler Arduino Uno menggunakan perangkat lunak arduino (gambar 2.4). ATmega328 pada arduno uno sudah terpasang bootloader yang memungkinkan pengguna untuk mengunggah kode tanpa menggunakan perangkat keras tambahan.


(26)

Fasilitas komunikasi yang dimiliki mikrokontroler Arduino Uno meliputi komunikasi antara Arduino Uno dengan komputer, Arduino Uno dengan arduino lain, dan Arduino Uno dengan mikrokontroler yang lain. ATmega328 menyediakan fasilitas USART (Universal Synchronus and Asynchronus Serial Receiverand Transmitter) pada pin D0 (Rx) dan pin D1 (Tx).

2.2.1. Mikrokontroler

ATmega328

Dalam penelitian ini mikrokontroler yang digunakan adalah mikrokontroler ATmega328 karena kompatibilasnya dengan modul mikrokontroler Arduino Uno. ATmega328 memiliki fitur 32 kByte downloadable flash memory, 1 kByte Electrically Erasable Programmable Read-Only Memory(EEPROM), 2 kByte internal Static Random-AcessMemory (SRAM), 2 Timer/Counter 8 bit dan1 Timer/Counter 16 bit, 6 kanal PWM, serial USART yang dapat diprogram dan frekuensi kerja dapat mencapai 20MHz [8].

ATmega328memiliki fungsi masing-masing pin yang dapat dilihat pada gambar 2.3 sedangkan untuk penjelasan masing-masing pin dapat dilihat pada tabel 2.1 dan konfigurasi alternatif portD dapat dilihat pada tabel 2.2.

Tabel 2.1. Konfigurasi dan diskripsi pin ATmega328[8]

No Pin Nama Pin Keterangan

7 VCC Sumer tegangan positif

8, 22 GND Ground

9,10, 14, 15,16,17,18,19

Port B ( PB7:0 )

Masing-masing pin pada port B memiliki resistor pull-up internal dan dapat digunakan sebagai 8 bit I/O digital. Pin PB6 dan PB7 terhubung dengan Kristal 16Mhz, tidak digunakan sebagai I/O. Pin PB1- pin PB3 dapat digunakan sebagai output PWM.

1, 23, 24,25, 26, 27, 28

Port C ( PC6:0 )

Masing-masing pin pada port C memiliki resistor pull-up internal dan dapat digunakan sebagai 7 bit I/O analog. Pin PC6 digunakan sebagai input reset, tidak digunakan sebagai I/O

2, 3, 4, 5, 6, 11, 12, 13

Port D

( PD7:0 ) Konfigurasi alternatif port D dapat dilhat pada tabel 2.2 20 AVcc Sumber tegangan positif untuk konversi analog ke digital 21 Aref Tegangan referensi untuk konversi analog ke digital


(27)

Tabel 2.2. Konfigurasi Alternatif Port D [8]

No Pin Nama Pin Keterangan

13 PD7 AIN1 (Analog Comparator Negative Input) PCINT23 (Pin Charge Interrupt 2 )

12 PD6

AIN0 (Analog Comparator Negative Input )

OC0A (Timer/Counter 0 Output Compare Match A Output)

PCINT22 (Pin Change Interupt 22)

11 PD5

T1 (Timer/Counter 1 External Counter Input)

OC0B (Timer/Counter 0 Output Compare Match B Output) PCINT21 (Pin Change Interupt 21)

10 PD4

XCK (USART External Clock Input/Output) T0 (Timer/Counter 0 External Counter Input) PCINT20 (Pin Change Interupt 20)

9 PD3

INT1 (Extenal Interupt 1 Input)

OC2B (Timer/Counter 2 Output Compare Match B Output) PCINT19 (Pin Change Interupt 19)

8 PD2 INT0 (Extenal Interupt 0 Input) PCINT18 (Pin Change Interupt 18)

7 PD1 TXD (USART Output Pin)

PCINT17 (Pin Change Interupt 17)

6 PD0 RXD (USART Input Pin)

PCINT16 (Pin Change Interupt 16)

2.2.2.

Timer/Counter

pada Mikrokontroler Arduino Uno

Ada tiga buah timer yang tersedia di mikrokontroler ATmega328 dan dapat dikonfigurasi untuk memenuhi kebutuhan penggunanya [9]. Fungsi dari ketiga timer tersebut dapat dilihat pada tabel 2.3.


(28)

Tabel 2.3. Timerpada Mikrokontroler Arduino Uno

Timer Fungsi Pin Output

Timer0  Waktu delay dengan satuan millisecond

 Pengendali outputPWM

Pin 5 dan 6

Timer1 Pengendali outputPWM Pin 9 dan 10

Timer2 Pengendali output PWM Pin 3 dan 11

Dari ketiga timer tersebut, hanya timer 0 yang dilengkapi dengan ISR (Interrupt Service Routine) sehingga untuk keperluan PWM(Pulse Width Modulation) menggunakan timer 1 yang akan mengatur pin 9 dan 10 sedangkan untuk timer2 akan mengatur pin 3 dan 11.

Hal yang perlu diperhatikan dalam penggunaan timeradalah sebagai berikut:

1. Inisialisasi

Inisialisasi dilakukan pertama kali untuk menentukan periode timer karena secara defaultbernilai satu detik.

2. Pengaturan periode

Mikrokontroler Arduino memiliki periode minimal satu mikrodetik atau 1MHz dan periode maksimal 8388480 mikrodetik atau 8,3 detik. Pengaturan periode ini akan merubah interruptdan frekuensi kedua output PWM.

3. PWM

Pin output untuk timer1 adalah pin 9 dan 10 sedangkan timer2 memliki output pin 3 dan 11. Duty cycle yang dimiliki adalah 10 bit sehingga dapat diatur mulai dari nol sampai 1023.

4. Fungsi interrupt

Pemanggilan fungsi interrupt dalam mikrodetik. Perlu diperhatikan dalam penggunaan fungsi interrupt karena akan berjalan pada frekuensi tinggi, atau CPU tidak akan pernah masuk ke program utama dan program akan terkunci di fungsi interrupt.

5. Mematikan pin PWM

Dengan mematikan PWM maka pin tersebut dapat digunakan untuk fungsi yang lain

2.3. Tombol

Tombol adalah sebuah alat yang berfungsi sebagai penghubung dan pemutus arus listrik. Dalam rangkaian elektronika dan rangkaian listrik, tombol atau saklar berfungsi untuk menghubungkan dan memutuskan arus listrik yang mengalir dari sumber tegangan


(29)

menuju beban (output) atau dari sebuah sistem ke sistem lainya [10]. Macam-macam tombol atau saklar berdasar konstruksinya dapat dilihat pada tabel 2.4.

Tabel 2.4. Macam-macam Saklar berdasar Konstruksinya [8]

Jenis Saklar (Switch) Simbol Saklar Contoh fisik

SPST (Single Pole, Single Throw)

Saklar On-Off sederhana

Saklar Push-Off

Kedua terminal akan terputus selama ditekan

SPDT (Single Pole, Double Throw)

Terminal sentral (COM) akan terhubung ke salah satu terminal dan akan terputus ke terminal lainnnya dalam satu kondisi.

DPST (Double Pole, Single Throw)

Dalam kondisi On ("1") dua terminal sentral akan terhubung ke terminal pasangannya dan akan terputus ketika kondisi Off ("0")

DPDT (Double Pole, Double Throw)

Dua terminal sentral akan terhubung ke salah satu terminal pasangannya dan teputus ke terminal pasangannya yang lain dalam satu kondisi.


(30)

Dalam perancangan alat elektronika yang menggunakan IC digital, perlu memperhatikan mengenai resistor pull-up dan resistor pull-down pada input. Tujuan dari resistor ini adalah untuk menghindari kondisi mengambang pada masukan IC. Pada IC jenis TTL, jika kaki tidak terhubung maka akan dianggap selalu mendapat logic satu (high) atau menggunakan pull-up resistor [11].

Pull-up resistorberarti menghubungkan masukan ICsupaya secara defaultmendapat logic satu, ketika mendapat trigger maka akan berubah menjadi logic nol atau sering disebut dengan aktif low. Gambar rangkaian tombol dengan pull-up resistor dapat dilihat pada gambar 2.5.

Gambar 2.5. Rangkaian Tombol dengan Pull-up Resistor

Besarnya resistansi resistor dalam rangkaian pull-up resistor harus diperhatikan karena akan menentukan besarnya arus yang mengalir ke mikrokontroler. Sesuai dengan hukum Ohm, besarnya resistansi resistor dapat dihitung dengan persamaan:

R = V / I ... (2.1) dengan : R= resistansi resistor ( Ohm )

V= tegangan catu daya (Volt)

I = arus yang diijinkan masuk ke pin mikrokontroler ( Ampere )

2.4.

Keypad

Matrik 4x3

Tombol keypad matrik 4x3 adalah susunan dari beberapa buah saklar tekan (push button) yang disusun secara matrik. Dipasaran terdapat beberapa jenis tombol keypad, dan yang paling sering digunakan diantaranya adalah tombol keypad matrik 4x3 dan keypad matrik 4x4. Tombol keypad ini banyak digunakan dalam aplikasi sistem berbasis mikrokontroler seperti untuk memasukan password atau data ke sebuah sistem. Cara mengakses tombol keypadini dilakukan dengan cara scaning, yaitu memberi logika 0 pada

Vcc

Resistor

Switch


(31)

salah satu pin (baik baris atau kolom) kemudian membaca titik yang lain [12]. Bentuk fisik fisik keypad matrik 4x3 dapat dilihat pada gambar 2.6.

Gambar 2.6. Bentuk Fisik Keypad Matrik 4x3 [13]

Dalam perancangan ini, keypad matrik yang digunakan adalah keypad matrik 4x3 dengan memanfaatkan satu pin analog Arduino Uno. Gambar rangkaian keypad matrik 4x3, dapat dilihat pada gambar 2.7.

Gambar 2.7 Rangkaian KeypadMatrik 4x3 [14]

Pada gambar 2.7, semua baris dan kolom terhubung ke beberapa resistor. Setiap penekanan tombol akan memberikan nilai resistansi yang berbeda yaitu antara 0kΩ sampai 11kΩ[14].


(32)

2.5. Pembagi Tegangan

Rangkaian pembagi tegangan biasanya digunakan untuk membuat suatu tegangan referensi dari sumber tegangan yang lebih besar, titik tegangan referensi pada sensor, untuk memberikan bias pada rangkaian penguat atau untuk memberi bias pada komponen aktif. Rangkaian pembagi tegangan pada dasarnya dapat dibuat dengan dua buah resistor, contoh rangkaian dasar pembagi tegangan dengan output Vo dari tegangan sumber Vi menggunakan resistor pembagi tegangan R1 dan R2 seperti pada gambar berikut [15].

Gambar 2.8. Rangkaian Pembagi Tegangan [15]

Besarnya Vo dapat dirumuskan sebagai berikut :

Vo = ோଶ

ோଵାோଶxVi ...( 2.2)

dengan : R1= resistansi resistor pertama ( Ohm ) R2= resistansi resistor kedua ( Ohm ) Vi= tegangan input(Volt)

Vo= tegangan output(Volt)

2.6.

Linear Scale

Linear scale merupakan sensor yang digunakan untuk mendeteksi posisi. Slide Pot-Motorized (10klinear Taper) merupakan potensiometer berpenggerak motor servo. Slide menggunakan dua buah potensiometer yang terpisah sehingga untuk membaca posisi dapat menggunakan salah satu potensiometer saja. Potensiometer bermotor berguna juga ketika dibutuhkan kemampuan untuk lompat menuju titik tertentu secara tepat [16]. Gambar 2.9 menunjukan bentuk fisik dari Slide Pot-Motorized(10klinear Taper).


(33)

Gambar 2.9. Slide Pot-Motorized(10klinear Taper) [16]

Slide Pot-Motorizeddapat difungsikan sebagai sensor posisi (line track) dan actuator (servo track). Jika Slide Pot-Motorized difungsikan sebagai actuator maka perpindahan posisi dapat dilakukan dengan mengaktifkan motor servosedangkan feedbackposisi dapat menggunakan potensiometer (Line track). Spesifikasi dari Slide Pot-Motorized(10klinear Taper) dapat dilihat pada tabel 2.5.

Tabel 2.5. Spesifikasi Slide Pot-Motorized(10klinear Taper) [16]

Keterangan Spesifikasi

Tegangan operasional 6 – 11 Vdc

Arus operasional 800mA

Kecepatan perpindahan posisi 20mm/0.1 sec

Jangkauan 100mm

Total resistansi potensiometer 10kΩ ±20 % Daya operasional Line Track : 0,5 W

Servo track : 0,5 W

2.7. LCD (

Liquid Crystal Display

)

Liquid Crystal Dysplay (LCD) merupakan material yang mengalir seperti cairan, tetapi memiliki struktur molekul dengan sifat-sifat yang bersesuaian dengan padatan (solid). Ada 2 tipe utama LCD yang dikembangkan, yaitu field effect dan dynamic scattering. Keunggulan LCD dibandingkan dengan LED adalah daya yang diperlukan lebih rendah, tampilan yang lebih lengkap (angka, huruf grafis dan warna) dan kemudahan dalam memprogram. Kerugian LCD dibandingkan dengan LED adalah waktu hidup


(34)

(lifetime) yang lebih singkat, waktu tanggap yang lebih lambat dan memerlukan sumber cahaya baik internal atau eksternal [17].

LCD yang dipakai adalah LCD Topway LMB162AFC 2x16 karakter yang kompatibel dengan Hitachi tipe HD44780U. LCD memerlukan tiga jalur kontrol dan delapan jalur data (untuk mode 8 bit) atau empat jalur data (untuk mode 4 bit). Ketiga jalur kontrol yang dimaksud adalah pin E, RS, dan R/W. Bentuk fisik LCD dapat dilihat pada gambar 2.10, dan konfigurasi pin 1-16 pada LCD Topwaydapat dilihat pada tabel 2.6 .

Gambar 2.10. Bentuk fisik modul LCD Topway[18]

Tabel 2.6. Konfigurasi pin LCD Topway[19]

No Pin Nama Pin Fungsi Pin Keterangan

1 VSS Sumber tegangan Ground

2 VDD Sumber tegangan Sumber tegangan positif

3 V0 Sumber tegangan Sumber tegangan referensi untuk mengatur kontras LCD

4 RS Sumber tegangan Register select

5 R/W Input Read / Write control bus 6

7 E Input Data Enable, biasanya juga disebut “EN”

8 DB0

I/O Bi-directional tri-state data bus

9 DB0

10 DB0

11 DB0

12 DB0

13 DB0


(35)

Tabel 2.6. (Lanjutan) Konfigurasi pin LCD Topway[19]

No Pin Nama Pin Fungsi Pin Keterangan

15 BLA Sumber tegangan Sumber tegangan positif backlight 16 BLK Sumber tegangan Sumber tegangan negatif backlight

Pin Enable (E) digunakan untuk mengaktifkan LCD. Sebelum mengirim data ke LCD pin E harus berlogika satu (high). Data yang dikirim terletak pada jalur data. Transisi dari logika satu (high) ke logika nol (low) memberitahu LCD untuk mengambil data pada jalur kontrol dan jalur data. Pin RS adalah pin register select. Saat pin RS berlogika nol (low), data yang dikirim adalah perintah-perintah seperti membersihkan layar, posisi kursor, dan lain-lain. Jika pin RS berlogika satu (high), maka data yang dikirim adalah teks data dimana teks ini yang harus ditampilkan pada layar. Pin R/W adalah pin Read/Write. Pada saat pin R/W berlogika nol (low), informasi pada jalur data berupa pengiriman data ke LCD (write). Sedangkan saat pin R/W berlogika high, informasi pada jalur data berupa pengambilan data dari LCD (read) [17].

2.8. Motor

Stepper

Motor stepper adalah perangkat elektromekanis yang bekerja dengan mengubah pulsa elektronis menjadi gerakan mekanis diskrit [20]. Motor stepper bergerak berdasarkan urutan pulsa yang diberikan kepada motor sehingga diperlukan pengendali motor stepper yang membangkitkan pulsa-pulsa periodik. Ada tiga tipe motor stepper yaitu : Motor stepper tipe variable reluctance (VR) yang ilustrasinya dapat dilihat pada gambar 2.11, motor stepper tipe permanent magnet (PM) yang ilustrasinya dapat dilihat pada gambar 2.12, dan motor stepper tipe hybrid(HB) yang ilustrasinya dapat dilihat pada gambar 2.13.


(36)

Gambar 2.12. Ilustrasi Motor StepperTipe Permanent Magnet (PM) [20]

Gambar 2.13. Ilustrasi Motor StepperTipe Hybrid (HB) [20]

Motor stepper memiliki prinsip kerja yang hampir sama dengan motor induksi lainnya. Hal yang membedakan motor stepper dengan motor induksi biasa adalah motor stepper memiliki beberapa lilitan pada rotor yang jumlahnya ditunjukkan oleh jumlah bit motor stepper tersebut dan juga menunjukan besar derajat pada setiap langkah putaran [21]. Pada motor stepper empat bit terdapat empat lilitan yang menentukan gerakan rotor. Dengan menggunakan gambar 2.14, prinsip kerja dari motor stepper akan dijelaskan pada paragraphberikutnya.

Gambar 2.14. Prinsip Kerja Motor Stepper[21]

Suatu lilitan induktor dengan arah tertentu dialiri arus listrik searah, akan timbul medan magnet berkutub utara-selatan pada ujung-ujung inti besinya. Medan magnet pada keempat lilitan stator motor stepper SA, SB, SC, dan SD, dapat diaktifkan masing-masing.

Pengaktifan medan magnet pada satu lilitan stator akan menarik ujung rotor R untuk mensejajarkan dirinya dengan stator penarik. Dimisalkan gambar di atas menunjukkan


(37)

kondisi awal suatu motor stepper yang salah satu ujung rotor R sedang sejajar dengan lilitan stator SA. Jika dalam keadaan tersebut aktivitas pemberian arus dipindahkan ke

lilitan SB, maka ujung rotor R yang terdekat dengan SBakan segera mensejajarkan diri

dengan SB. Berarti, rotor akan berputar searah jarum jam sejauh 18o. Sebaliknya, jika dari

kondisi awal lilitan pada stator SDyang diaktifkan, maka rotor akan berputar berlawanan

dengan arah jarum jam sejauh 18o, hingga ujung rotor yang terdekat menjadi sejajar dengan SD. Jadi, untuk memutar rotor sejauh 360osearah jarum jam, diperlukan 20 langkah

aktivasi (360o= 20 x 18o), yaitu SB, SC, SD, SA, SB, ... dst [21].

Pada tabel 2.7 diperlihatkan contoh cara pemberian pulsa jika diinginkan gerakan motor stepper ( gambar 2.14) yang bergerak empat langkah searah jarum jam, kemudian dilanjutkan motor berbalik arah berlawanan jarum jam sejuah empat langkah [21].

Tabel 2.7. Pemberian Pulsa Motor Stepper[21]

SA SB SC SD Gerakan

0 1 0 0 CW

0 0 1 0 CW

0 0 0 1 CW

1 0 0 0 CW

0 0 0 1 CCW

0 0 1 0 CCW

0 1 0 0 CCW

1 0 0 0 CCW

2.9

. IC

L298

IC L298 adalah jenis IC driver yang dapat digunakan untuk mengendalikan arah putaran dan kecepatan motor DC ataupun motor stepper. IC L298 dapat memberikan output tegangan untuk motor dc dan motor stepper sebesar 50 volt. IC l298 terdiri dari transistor-transistor logik (TTL) dengan gerbang AND yang memudahkan dalam menentukan arah putaran suatu motor DC dan motor stepper. Dapat mengendalikan 2 untuk motor DC namun pada hanya dapat mengendalikan satu motor stepper [22].

Bentuk fisik IC L298 dapat dilihat pada gambar 2.15. Konfigurasi pin ICL298 dapat dilihat pada tabel 2.8.


(38)

Gambar 2.15. IC L298N [23]

Tabel 2.8. Konfigurasi Pin IC L298 [24]

No Pin Nama Keterangan

1, 15 SenseA, SenseB Kontrol besar arus dari beban dengan menggunakan resistor yang dihubungkan ke ground

2,3 Out1, Out2 Output bridgeA, arus yang mengalir ke beban di kontrol oleh pin 1.

4 Vs Inputtegangan untuk motor. Diperlukan penambahan capasitor 100nF yang dihubungkan ke ground. 5, 7 Input 1, Input 2 Input bridgeA

6,11 Enable A, EnableB EnableA digunakan untuk mengaktifkan bridgeA EnableB digunakan untuk mengaktifkan bridgeB

8 GND Ground.

9 Vss Inputtegangan untuk blok logika. Diperlukan penambahan capasitor 100nF yang dihubungkan ke ground.

10,12 Input 3, Input 4 Input bridgeB

13,14 Out3, Out4 Output bridgeB, arus yang mengalir ke beban di kontrol oleh pin 15.

Dalam perancangan ini, IC L298 digunakan sebagai driver motor stepper yang di kontrol oleh mikrokontroler Arduino Uno. Gambar rangkaian IC L298 dapat dilihat pada gambar 2.16.


(39)

Gambar 2.16. Rangkaian IC L298 [24]

2.10

.

Buzzer

Buzzer merupakan alat yang dapat digunakan untuk merubah sinyal listrik menjadi sinyal suara. Pada umumnya buzzerdigunakan untuk alarm, karena penggunaannya cukup mudah yaitu dengan memberikan tegangan inputmaka buzzer akan mengeluarkan bunyi. Frekuensi suara yang di keluarkan oleh buzzer yaitu antara 1-5 KHz [25]. Simbol buzzer dapat dilihat pada gambar 2.17 dan bentuk fisik buzzer dapat dilihat pada gambar 2.18.

Gambar 2.17. Simbol Buzzer

Gambar 2.18. Bentuk Fisik Buzzer [26]

2.11

.

Jenis Ulir Menurut Jumlah Ulir Tiap Gang (

Pitch

)

Dilihat dari banyaknya ulir tiap gang (pitch) maka ulir dapat dibedakan menjadi ulir tunggal dan ulir ganda. Ulir ganda artinya dalam satu putaran (dari puncak ulir yang satu ke puncak ulir yang lain) terdapat lebih dari satu ulir, misalnya dua ulir, tiga ulir dan empat ulir. Untuk ulir ganda ini biasanya disebutkan berdasarkan jumlah ulirnya, misalnya ganda dua, ganda tiga dan ganda empat. Gambar 2.19 menunjukkan bagan dari ulir tunggal dan ulir ganda. Melihat bentuknya, maka satu putaran pada ulir ganda dapat memindahkan jarak yang lebih panjang dari pada satu putaran ulir tunggal [27].

+12V +5V U1 L298 5 7 10 12 6 11 2 3 13 14 1 15 9 4 8 1A1 1A2 2A1 2A2 1EN 2EN 1Y 1 1Y 2 2Y 1 2Y 2 1E 2E VCC1 VCC2 G N D MOTOR STEPPER 1 2 3 4 D2 D3 D1 D4 D5 C6 100nF C7 100nF C8 470uF D7 D6 D8 0.5 0.5 Pin D.7 Pin D.5 Pin D.4 Pin D.6 LS1 BUZZER 1 2


(40)

Dalam perancangan ini, ulir yang digunakan menggunakan diameter enam (M6) yang memiliki pitch sebesar 1mm sesuai tabel ulir ISO matrik dapat dilihat pada tabel 2.9.

Gambar 2.19. Ulir Tunggal dan Ulir Ganda [27]


(41)

BAB III

RANCANGAN PENELITIAN

Syringe pumpotomatis berbasis mikrokontroler Arduino Uno terdiri dari tiga bagian

yaitu : unit input, unit pengolah dan unit output. Unit input tersusun atas tombol navigasi,

keypad pengatur laju cairan dengan menggunakan keypad matrik 4x3 dan sensor linear scale. Unit pengolah tersusun atas mikrokontroler Arduino Uno. Unit output tersusun atas

driver motor stepper, motor stepper, buzzer dan LCD. Diagram blok sistem dapat dilihat pada gambar 3.1.

Gambar 3.1. Diagram Blok Sistem Secara Keseluruhan Syringe Pump

Tombol input terdiri dari 3 tombol navigasi dan keypad pengatur laju cairan

menggunakan keypad matrik. Tombol navigasi terdiri dari tombol start, stop, dan reset

yang dihubungkan dengan mikrokontroler Arduino Uno pin A.1 sampai pin A.3. Keypad

matrik sebagai pengatur laju cairan dihubungkan dengan mikrokontroler Arduino Uno pin

A.4. Sensor linear scale dihubungkan dengan mikrokontroler Arduino Uno pin A.0.

Outputdari syringe pumpotomatis berbasis mikrokontroler Arduino Uno yaitu LCD 16x2,

buzzer dan motor stepper. Driver motor stepper dihubungkan dengan mikrokontroler Arduino Uno pin 3 sampai pin 7. LCD 16x2 dihubungkan dengan mikrokontroler Arduino

Uno pin 2, pin 3, dan pin 9 sampai pin 12. Buzzer dihubungkan dengan mikrokontroler

Arduino Uno pin 8.

3.1. Layout Perancangan

Syringe pumpotomatis berbasis mikrokontroler Arduino Uno tersusun atas : Tombol Input

Navigasi

Keypad pengatur laju

cairan

Linier scale

Mikrokontroler Arduino Uno

DriverMotor Stepper

Motor Stepper

INPUT PENGOLAH OUTPUT

LCD 16x2

Buzzer


(42)

1. Tabung suntik produk TUREMO berukuran 60ml. 2. Linear scale sebagai sensor posisi dari tabung suntik

3. LCD 16x12 sebagai display dari Syringe Pump Otomatis Berbasis

Mikrokontroler Arduino Uno 4. Tiga buah tombol navigasi

5. Dua buah tombol untuk mengatur laju aliran

Bentuk Fisik dari Syringe Pump Otomatis Berbasis Mikrokontroler Arduino Uno dapat dilihat pada gambar 3.2. Sedangkan dimensi dari Syringe Pump Otomatis Berbasis Mikrokontroler Arduino Uno dapat dilihat pada gambar 3.3 dengan skala yang digunakan

pada perancangan ini menggunakan skala satuan millimeter.

Gambar 3.2. Bentuk Fisik Syringe Pump Otomatis

Keterarangan :

1. Tabung Suntik 5. Dudukan tabung suntik

2. Linear Scale 6. LCD

3. Ulir pendorong tabung suntik 7. Keypad pengatur laju aliran

4. Motor Stepper 8. Tombol navigasi

2 1

3

6 5 4

7 8


(43)

Gambar 3.3 Dimensi Syringe Pump Otomatistampak atas

Gambar 3.4 Dimensi Syringe Pump Otomatistampak samping

3.2.

Cara Kerja

Syringe Pump

Otomatis Berbasis Mikrokontroler

Arduino Uno

Cara kerjaSyringe PumpOtomatis Berbasis Mikrokontroler Arduino Uno dilakukan


(44)

laju aliran akan tertampil di LCD. Setelah nilai laju aliran selesai dimasukan, dilanjutkan

dengan menekan tombol navigasi “start” sehingga syringe pump otomatis akan berjalan.

Pada saat syringe pump otomatis berjalan, tombol pengatur laju aliran tidak dapat

dioperasikan sebelum tombol navigasi “stop” ditekan. Tombol navigasi “reset” hanya akan

berfungsi jika syringe pump otomatis tidak dalam kondisi berjalan. Tombol navigasi

reset” digunakan untuk mengembalikan nilai laju aliran ke posisi nol.

Pada saat laju aliran diatur lebih besar dari 60ml/jam dan cairan dalam tabung

kosong, maka LCD akan menampilkan “Standby”. Standby menginstruksikan ke user

untuk mengganti atau mengisi cairan sampai penuh 60 ml. Setelah cairan diisikan ke

tabung suntik dengan penuh (60 ml), maka dengan menekan tombol navigasi “start” maka

proses akan dilanjutkan kembali.

3.3. Perancangan Perangkat Keras

3.3.1. Modul Mikrokontroler

Arduino Uno

Pada perancangan ini, mikrokontroler Arduino Uno digunakan sebagai pengontrol

dari seluruh sistem syringe pump otomatis. Gambar rangkaian pemanfaatan pin

mikrokontroler dapat dilihat pada gambar 3.5 dan pengalamatan input output

mikrokontroler Arduino Uno dapat dilihat pada table 3.1.

Gambar 3.5. Rangkaian Pemanfaatan Pin Mikrokontroler Arduino Uno

D ri v e r 1 2 3 4 L C D 1 2 3 4 5 6 T o m b o l 1 2 3 L in e a r s c a le 1 B u z z e r 1 Power D i g i t a l I n p u t / o u t p u t A n a l o g I n p u t J2

A

R

D

U

IN

O

3 V 3 5 V V in RST AREF A0 A1 A2 A3 A4 A5 G N

D D0D1

D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 K e y p a d p e n g a tu r 1 M o to r S te p p e r L a ju a li ra n N a v ig a s i


(45)

Tabel 3.1. Pengalamatan Input OutputMikrokontroler Arduino Uno

Nama I/O Tipe Pengalamatan di Arduino Uno

Linier Scale Input Pin A.0

Tombol Navigasi Input Pin A.1 – 3

Keypad Pengatur Laju Aliran Input Pin A.4

Driver Motor Stepper Output Pin D.4 – 7

Buzzer Output Pin D8

LCD Output Pin D.2 – 3 dan Pin D.9 - 12

3.3.2. Sensor Posisi dengan

Linear Scale

Pada perancangan Syringe Pump otomatis berbasis mikrokontroler Arduino Uno,

linear scale digunakan sebagai feedback. Linear scale dikaitkan pada ujung pendorong tabung suntik sehingga setiap perubahan posisi dari pendorong tabung suntik akan terbaca

oleh linear scale.

Linear scale memiliki output berupa data analog dan data analog dari linear scale

akan dibaca oleh mikrokontroler Arduino Uno pin A.0. Gambar rangkaian dapat dilihat pada gambar 3.6.

Gambar 3.6. Rangkaian Linear Scale

Slide Pot-Motorized (10k linear Taper) pada posisi maksimal akan diasumsikan

sebagai posisi tabung suntik penuh terisi cairan (60ml). Posisi maksimal linear scale akan

memberikan resistansi maksimal yaitu sebesar 10kΩ dan tegangan output analog yang

dihasilkan dapat dihitung sesuai persamaan 2.2 yaitu:

Vout = x Vin

= Ω

Ω Ωx 5 V

= 4,545 Volt

+5V

1k

Linear Scale

1 3

2

Pin A.0


(46)

Panjang tabung suntik adalah 91 mm, maka pada posisi minimal tabung suntik

(tidak ada cairan) maka nilai resistansi yang dihasilkan linear scaleadalah sebesar :

Resistansi (kosong) = x < Rmax >

= x 10kΩ

= 0,9 kΩ

Tegangan outputanalog yang dihasilkan pada saat tabung suntik kosong adalah sebesar:

Vout(kosong)= x Vin

= Ω

Ω 5Ω

= 2,368 Volt

Besar perubahan tegangan yang dihasilkan setiap 1millilitercairan adalah:

Vout =

= , ,

= 0,0363 V / ml

Pitchulir yang digunakan dalam perancangan ini adalah 1mm sehingga satu putaran

motor stepper akan mendorong tabung sejauh 1mm. Satu putaran motor stepper

memerlukan 20 langkah sehingga tiap langkah motor stepper akan mendorong tabung

suntik sejauh 0,05 mm.

Laju aliran yang dihailkan tiap langkah motor stepper dapat dihitung dengan cara:

Laju aliran tiap langkah = x < Volume Tabung >

= . x 60 ml

= 0,033 ml

Besar perubahan tegangan yang dihasilkan setiap 1 langkah motorstepper adalah:


(47)

= ,

x0,0363 V = 1,197 mV

3.3.3. Tombol Navigasi

Perancangan tombol menggunakan rangkaian aktif low. Tombol akan mengirimkan

sinyal ke mikrokontroler Arduino Uno ketika tombol tersebut ditekan. Saat ditekan, tombol

tersebut akan memberikan logika low ke mikrokontroler Arduino Uno. Rangkaian tombol

dapat dilihat pada gambar 2.4.

Gambar rangkaian tombol navigasi dan pengalamatan di pin mikrokontroler Arduino Uno dapat dilihat pada gambar 3.7 dan tabel 3.2, sedangkan tombol pengatur laju aliran dapat dilihat pada gambar 3.8 dan table 3.3. Pada rangkaian digunakan juga resistor sebagai pembatas arus yang hanya mengijinkan arus yang masuk ke mikrokontroler

Arduino Uno maksimal yaitu 40 mA, sedangkan nilai resistor dapat dihitung sesuai dengan

persamaan 2.1 :

R = V / I

R = 5 / ( 40 x 10-3)

R = 125 Ω

Pada rangkaian ini menggunakan resistor sebesar 10kΩ sehingga arus yang masuk

ke pin mikrokontroler Arduino Uno tidak terlalu besar yaitu sebesar 0.5 mA.

Gambar 3.7. Rangkaian Tombol Navigasi

+5V

R3 10k R2 10k R1 10k

SW2

1 2

SW1

1 2

SW3

1 2

Pin A.1

Pin A.2


(48)

Tabel 3.2. Tombol Navigasi

Nomor Tombol Fungsi Tombol Pengalamatan Tombol

SW 1 Sebagai tombol navigasi Start Pin A.1

SW 2 Sebagai tombol navigasi Stop Pin A.2

SW 3 Sebagai tombol navigasi Reset Pin A.3

3.3.4.

Keypad

Pengatur Laju Cairan

Perancangan keypad pengatur laju cairan menggunakan keypad matrik 4x3 sehingga

memudahkan dalam pengaturan nilai laju aliran. Keypad matrik 4x3 hanya pemanfaatkan

satu pin mikrokontroler Arduino Uno yaitu pada pin A.4. Gambar rangkaian keypadmatrik

4x3 dapat dilihat pada gambar 3.8 yang merupakan modifikasi dari rangkaian gambar 2.7 dan gambar 2.8. Nilai resistansi masing-masing tombol dapat dilihat pada tabel 3.3 dan besar tegangan output dapat dihitung sesuai dengan persamaan 2.2.

Gambar 3.8. Rangkaian KeypadMatrik 4x3

Tabel 3.3. Nilai Resistansi Tombol KeypadMatrik 4x3

Nomor Switch NomorKeypad Nilai Resistansi Keypad Vout

SW1 1 1kΩ 4,54 Volt

SW2 2 0kΩ 5 Volt

+5V Pin A.4 SW4 SW7 SW2 SW5 SW3 SW6 SW1 SW11 SW9 SW12 SW10 SW8 R10 1k R11 2k R12 3k R13 3k R14 3k R15 3k R16 3k R17 3k R18 10k


(49)

Tabel 3.3. (Lanjutan) Nilai Resistansi Tombol KeypadMatrik 4x3

Nomor Switch NomorKeypad Nilai Resistansi Keypad Vout

SW3 3 2kΩ 4,17 Volt

SW4 4 4kΩ 3,57 Volt

SW5 5 3kΩ 3,85 Volt

SW6 6 5kΩ 3,33 Volt

SW7 7 7kΩ 2,94 Volt

SW8 8 6kΩ 3,12 Volt

SW9 9 8kΩ 2,78 Volt

SW11 0 9kΩ 2,63 Volt

SW12 , 11kΩ 2,38 Volt

3.3.5.

Driver

Motor

Stepper

Driver motor stepperyang digunakan pada perancangan ini menggunakan IC L298. Untuk gambar rangkaian dapat dilihat pada gambar 3.9 dan pengalamatan pin Arduino Uno dapat dilihat di tabel 3.4.

Gambar 3.9. Rangkaian DriverMotor Stepper[24]

Tabel 3.4. Pengalamatan Driver motorStepper

Pin L298 Pengalamatan L298

1A1 Pin D.4

1A2 Pin D.5

2A1 Pin D.6

2A2 Pin D.7

Pada rangkaian driver motor stepper dipasang delapan buah dioda yang berfungsi

sebagai pengaman motor atau freeweeling diodebila terjadi lonjakan arus yang disebabkan

+12V +5V U1 L298 5 7 10 12 6 11 2 3 13 14 1 15 9 4 8 1A1 1A2 2A1 2A2 1EN 2EN 1Y 1 1Y 2 2Y 1 2Y 2 1E 2E VCC1 VCC2 G N D MOTOR STEPPER 1 2 3 4 D4 D1 D2 D3

D5 D6 D7 D8 0.5 0.5 C6 100nF C7 100nF C8 470uF Pin D.7 Pin D.5 Pin D.4 Pin D.6


(50)

oleh induksi lilitan motor. Dioda yang digunakan adalah 1N5401 yang memiliki arus

maksimal sebesar 3Amparedan tegangan maksimal 100 Volt[24].

3.3.6.

Liquid Crystal Display

(LCD)

LCD yang digunakan pada perancangan syringe pump otomatis berbasis

mikrokontroler Arduino Uno menggunakan LCD 16x2 (enam belas kolom, dua baris). LCD digunakan untuk memberikan informasi ke pengguna mengenai cepat laju aliran dan

status (running atau stop) dari syringe pump otomatis berbasis mikrokontroler Arduino

Uno. Informasi yang akan ditampilkan dapat lihat pada tabel 3.5.

Tabel 3.5. Informasi yang tertampil dalam LCD

Kondisi LCD Baris Pertama LCD baris Kedua

Stop Stop 0 ml

Running Running < nilai dari laju aliran >

Standby Standby < nilai dari laju aliran >

Rangkaian LCD dapat dilihat pada gambar 3.9, sedangkan pengalamatan LCD di pin Arduino Uno dapat dilihat pada tabel 3.6.

Gambar 3.10. Rangkaian LCD Tabel 3.6. Pengalamatan LCD

Pin LCD Pengalamatan LCD

RS Pin D.12

R/W GND

E Pin D.11

DB4 Pin D.10

Power D i g i t a l I n p u t / o u t p u t A n a l o g I n p u t J2 A R D U IN O 3 V

3 5V

V in RST AREF A0 A1 A2 A3 A4 A5 G N D D0 D1 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 L C D 1 (VSS) 3 (Vo) 5 (R/W) 7 (DB0) 9 (DB2) 11 (DB4) 13 (DB6) 15 (LED+) 2 (VCC) 4 (RS) 6 (E) 8 (DB1) 10 (DB3) 12 (DB5) 14 (DB7) 16 (LED-) 10k 1 3 2


(51)

Tabel 3.6. (Lanjutan) Pengalamatan LCD

Pin LCD Pengalamatan LCD

DB4 Pin D.10

DB5 Pin D.9

DB6 Pin D.3

DB7 Pin D.2

3.3.7.

Buzzer

Pada perancangan alat syringe pump otomatis berbasis Arduino Uno ini, dipasang

buzzer sebagai output yang digunakan untuk indikator bahwa proses telah selesai atau

tabung suntik dalam kedaan kosong. Buzzer dihubungkan pada pin D.8 mikrokontroler

Arduino Uno. Gambar rangkaian buzzerdapat dilihat pada gambar 3.10.

Gambar 3.11. Rangkaian Buzzer

3.4. Perancangan Perangkat Lunak

3.4.1. Diagram Utama

Diagram utama sistem syringe pump otomatis berbasis mikrokontroler Arduino Uno

dapat dilihat pada gambar 3.11. Pada diagram utama terdapat proses inisialisasi yaitu proses pendeklarasian pin-pin Arduino Uno. Pendeklarasian ini dilakukan untuk menentukan pemanfaatan dari pin-pin tersebut. Deklarasi pin Arduino Uno dapat dilihat pada table 3.7.

Tabel 3.7. Deklarasi pin Arduino Uno

Nomor Pin Arduino Uno Tipe Keterangan

A0 Input Analog Input Linear Scale

A1 Input Digital Input tombol Navigasi “Start

A2 Input Digital Input tombol Navigasi “Stop

A3 Input Digital Input tombol Navigasi “Reset

A4 Input Digital Input tombol Laju Aliran “Up

A5 Input Digital Input tombol Laju Aliran “Down

LS1 BUZZER

1

2 Pin D.8


(52)

Tabel 3.7. (Lanjutan) Deklarasi pin Arduino Uno

Nomor Pin Arduino Uno Tipe Keterangan

D2 Output Digital Output ke LCD pin DB7

D3 Output Digital Output ke LCD pin DB6

D4 Output Digital Output ke driver motor Stepper 1A1

D5 Output Digital Output ke driver motor Stepper 1A2

D6 Output Digital Output ke driver motor Stepper 2A1

D7 Output Digital Output ke driver motor Stepper 2A2

D8 Output Digital Output ke Buzzer

D9 Output Digital Output ke LCD pin DB5

D10 Output Digital Output ke LCD pin DB4

D11 Output Digital Output ke LCD pin E

D12 Output Digital Output ke LCD pin RS

Inisialisasi pin pada mikrokontroler Arduino Uno dilakukan dengan cara:

pinMode(<pin>,<tipe>);

Contoh:

pinMode(1,INPUT)// menjadikan pin 1 sebagai input [29].

Pada gambar 3.11 dapat dilihat juga pengambilan data linear scaleyang berfungsi

untuk memantau volume dari cairan yang berada pada tabung suntik. Pada saat volume

cairan nol atau kosong maka syringe pumpakan memberikan peringatan ke pengguna.


(53)

3.4.2. Diagram Alir Tombol Navigasi

Pada tombol navigasi, tombol akan memberikan instruksi pada mikrokontroler Arduino Uno dan mikrokontroler akan memproses instruksi berdasar dengan fungsi masing-masing tombol navigasi. Diagram alir untuk tombol navigasi dapat dilihat pada gambar 3.12.


(54)

3.4.3. Diagram Alir

Keypad

Pengatur Laju Aliran

Pada keypad pengatur laju aliran, tombol akan memberikan instruksi pada

mikrokontroler Arduino Uno dan mikrokontroler akan memproses instruksi berdasar

dengan fungsi masing-masing tombol pengatur laju aliran. Diagram alir untuk keypad

pengatur laju aliran, dapat dilihat pada gambar 3.13.

Gambar 3.14. Diagram Alir KeypadPengatur Laju Aliran

3.4.4. Diagram Alir Input Linear Scale

Pada input linear scale, mikrokontroler Arduino Uno akan menerima tegangan


(55)

10-bit dan akan membaca perubahan tegangan menjadi angka antara 0 hingga 1023 [30].

Perintah analogRead () menghasilkan sebuah nilai antara 0 hingga 1023 yang sebanding

dengan jumlah tegangan yang diterapkan ke pin. Diagram alir untuk input linear scale,

dapat dilihat pada gambar 3.14.

Gambar 3.15. Diagram Alir Input Linear Scale

3.4.5. Diagram Alir Peringatan Buzzer

Pada diagram alir peringatan buzzer, mikrokontoler Arduino Uno akan mematikan

motor stepper dan dilanjutkan dengan menyalakan buzzer. Hal ini bertujuan untuk

memberikan informasi kepengguna bahwa syringe pump berhenti bekerja. Diagram alir

dapat dilihat pada gambar 3.15.

Gambar 3.16. Diagram Alir Peringatan Buzzer

3.4.6. Penentuan Laju Aliran dan Diagram Alir Gerakan Motor

Stepper

Laju aliran dalam sistem syringe pump otomatis berbasis mikrokontroler Arduino

Uno akan menentukan cepat lambat motor stepper dalam berputar. Untuk mengatur

kecepatan motor stepper, diperlukan jeda (delay) dalam setiap langkah motor stepper.

Penentuan jeda dalam tiap langkah motor stepper dilakukan dengan perhitungan seperti

berikut:

Contoh 1: Laju aliran yang diinginkan adalah 0,1 ml/jam

Banyak langkah motor stepperyang diperlukan untuk mendapatkan laju aliran 0,1 ml/jam


(56)

Banyak langkah = (laju yang diinginkan) / (laju aliran tiap langkah motor stepper) = 0,1 ml/jam : 0,033 ml

= 3,03 langkah per jam ( 3 langkah motor stepper)

Jeda = 3600 detik / (langkah motor stepperyang diperlukan)

= 3600 detik / 3 = 1200 detik

Contoh 2 : Laju aliran yang diinginkan adalah 999 ml/jam

Banyak langkah motor stepperyang diperlukan untuk mendapatkan laju aliran 999 ml/jam

adalah :

Banyak langkah = (laju yang diinginkan) / (laju aliran tiap langkah motor stepper) = 999 ml/jam : 0,033 ml

= 30272,73 langkah per jam ( 30273 langkah motor stepper)

Jeda = 3600 detik / (langkah motor stepperyang diperlukan)

= 3600 detik / 30273

= 0,119 detik ( 119 millisecond )

Dari perhitungan diatas, besar jeda sangat mempengaruhi laju aliran. Semakin besar

nilai laju aliran, jeda tiap langkah motor stepperakan menjadi semakin kecil. Diagram alir

drivermotor stepper, dapat dilihat pada gambar 3.16.

Gambar 3.17. Diagram Alir Gerakan Motor Stepper

Pada diagram alir gerakan motor stepper(gambar 3.17), 1A1 sampai 1A4 merupakan


(57)

BAB IV

HASIL DAN PEMBAHASAN

4.1 Hasil Implemetasi Alat

Implementasi alat syringe pumpotomatis berbasis mikrokontroler Arduino Uno yang

dirancang pada BAB III mengalami kegagalan. Laju aliran yang dihasilkan tidak sesuai dengan yang diharapkan, sehingga pada implemetasi pertama tidak berhasil dilakukan.

Pada perancangan tersebut, untuk dapat menghasilkan satu putaran penuh motor stepper

memerlukan20 pulsa, sedangkan motor stepper yang diimplemetasikan membutuhkan 200 pulsa sehingga perhitungan laju aliran dilakukan perubahan sebagai berikut:

Pergeseran tiap langkah =

=

= 0,005 mm/pulsa

Laju aliran tiap langkah = x < Volume Tabung >

= . x 60 ml

= 0,003296 ml

Penentuan jeda dalam tiap langkah motor stepper dapat dilakukan dengan perhitungan

seperti berikut:

Contoh 1: Laju aliran yang diinginkan adalah 0,1 ml/jam

Banyak langkah motor stepperyang diperlukan untuk mendapatkan laju aliran 0,1 ml/jam

adalah :

Banyak langkah = (laju yang diinginkan) / (laju aliran tiap langkah motor stepper) = 0,1 ml/jam : 0,003296 ml

= 30,3398 langkah

Jeda = 3600000 / (langkah motor stepperyang diperlukan)

= 3600000 / 30,3398 langkah

= 118656 millisecond.


(58)

Contoh 2: Laju aliran yang diinginkan adalah 999 ml/jam

Banyak langkah motor stepperyang diperlukan untuk mendapatkan laju aliran 999 ml/jam

adalah :

Banyak langkah = (laju yang diinginkan) / (laju aliran tiap langkah motor stepper) = 999 ml/jam : 0,003296 ml

= 303094,6602 langkah

Jeda = 3600000 / (langkah motor stepperyang diperlukan)

= 3600000 / 303094,6602 langkah

= 11,87 millisecond.

Pada percobaan kedua, setelah dilakukan perubahan perhitungan jeda, maka diperoleh hasil laju aliran sesuai dengan yang diharapkan. Pengujian dilakukan dengan

memasukan ujung syringe kedalam gelas ukur berukuran 10 ml. Pada pengaturan laju

aliran diatas 10 ml/jam, digunakan gelas ukur berukuran 1000 ml sebagai tempat penampungan hasil laju aliran apabila gelas ukur berukuran 10 ml sudah penuh. Data hasil

pengujian dari syringe pump otomatis berbasis mikrokontroler Arduino Uno dapat dilihat

pada tabel 4.1.

Tabel 4.1. Data Hasil Pengujian Syringe Pump Otomatis Berbasis Mikrokontroler Arduino Uno

No Set Point

(ml/jam) Start time End Time

Laju Aliran yang dihasilkan (ml/jam)

Error

(ml)

Error

(%)

1 0,1 18:56 19:56 0,1 0 0

2 0,2 18:29 19:29 0,2 0 0

3 0,3 18:16 19:16 0,3 0 0

4 0,4 23:12 00:12 0,4 0 0

5 0,5 9::49 10:49 0,5 0 0

6 0,7 9:21 10:21 0,7 0 0

7 1,1 18:32 19:32 1,1 0 0

8 2,1 17:54 18:54 2,1 0 0

9 5 21:23 22:23 5 0 0

10 5,5 20:51 21:51 5,5 0 0

11 6,2 22:25 23:25 6,2 0 0


(59)

Tabel 4.1. (lanjutan) Data Hasil Pengujian Syringe Pump Otomatis Berbasis Mikrokontroler Arduino Uno

No Set Point

(ml/jam) Start time End Time

Laju Aliran yang dihasilkan (ml/jam)

Error

(ml)

Error

(%)

13 12,2 21:07 22:07 12,2 0 0

14 15 22:29 23:29 15 0 0

15 17,8 19:28 20:28 17,8 0 0

16 25,2 21:01 22:01 25,2 0 0

17 32,4 00:24 01:24 32,2 0 0

18 43,5 01:50 02:50 43,5 0 0

19 57,6 18:21 19:21 57,6 0 0

20 76,5 08:34 09:34 76,5 0 0

21 91,5 10:01 11:01 91,5 0 0

22 103,2 11:49 12:49 103,2 0 0

23 121,5 21:55 22:55 121,5 0 0

24 150 23:01 00:01 150 0 0

25 187,2 00.23 01:23 187,2 0 0

26 194,4 01:31 02:31 195,2 0,8 0,46

27 200 07:10 08:10 204.8 4,8 2,4

28 208,8 08:15 09:15 202,4 6,4 3,06

29 223,2 10:12 11:12 216 7.2 3,22

30 241,2 11:40 12:40 229,2 12 4,97

31 273,6 13:45 14:45 259,6 14 5,12

32 302,4 14:55 15:55 280,8 21,6 7,14

33 331,2 17:22 18:22 309,6 21,6 6,52

34 374,4 18:34 19:34 349,2 25,2 6,73

35 396 20:58 21:58 367,2 28.8 7,27

36 410,4 22:15 23:15 374,4 36 8,77

37 439,2 23:32 00:32 374,4 64,8 14,75

38 482,4 00:49 01:49 417,6 64,8 13,43

39 511,2 01:58 02:58 432 79,2 15,49


(60)

Tabel 4.1. (lanjutan) Data Hasil Pengujian Syringe Pump Otomatis Berbasis Mikrokontroler Arduino Uno

No Set Point

(ml/jam) Start time End Time

Laju Aliran yang dihasilkan (ml/jam)

Error

(ml)

Error

(%)

41 590,4 07:34 08:34 460,8 129,6 21,95

42 626,4 08:55 09:55 518,4 108 17,24

43 667,4 17:10 18:10 553,8 113,6 17,02

44 695,8 18:39 19:39 556 139,8 20,09

45 724,2 20:33 21:33 582,2 142 19,61

46 766,8 21:46 22:46 596,4 170,4 22,22

47 795,2 22:50 23:50 596,4 198,8 25

48 823,6 00:05 01:05 610,6 213 25,86

49 866,2 01:21 02:21 624,8 241,4 27,87

50 894,6 17:30 18:30 653,2 241,4 26,98

51 923 18:55 19:55 667,4 255,6 27,69

52 965,6 20:14 21:14 681,6 284 29,41

53 999 21:31 22:31 702 297 29,73

Laju aliran yang dihasilkan oleh alat syringe pumpotomatis berbasis mikrokontroler

Arduino Uno sesuai dengan yang dimasukkan oleh pengguna untuk pengaturan laju aliran dibawah 200 ml/jam. Penyimpangan laju aliran mulai terjadi pada laju aliran diatas 200ml/jam.

Pengujian alat syringe pump otomatis berbasis mikrokontroler Arduino Uno juga

dilakukan dengan pengamatan besar laju aliran dalam waktu tertentu. Hasil pengujian besar laju aliran dalam waktu tertentu dapat dilihat pada tabel 4.2 untuk laju aliran 20 ml/jam, tabel 4.3 untuk laju aliran 50 ml/jam, tabel 4.4 untuk laju aliran 120 ml/jam, tabel 4.5 untuk laju aliran 500 ml/jam, tabel 4.6 untuk laju aliran 999 ml/jam.

Tabel 4.2. Data Hasil Pengujian Laju Aliran 20 ml/jam dalam Waktu Tertentu

Waktu (Menit) Volume Cairan (ml) Laju Aliran (ml/jam) Error(%)

3 1 20 0

6 2 20 0

10 3,3 19,8 1


(61)

Tabel 4.3. Data Hasil Pengujian Laju Aliran 50 ml/jam dalam Waktu Tertentu

Waktu (Menit) Volume Cairan (ml) Laju Aliran (ml/jam) Error(%)

3 2,5 50 0

6 5 50 0

10 8,3 49,8 0,4

20 16,6 49,8 0,4

Tabel 4.4. Data Hasil Pengujian Laju Aliran 120 ml/jam dalam Waktu Tertentu

Waktu (Menit) Volume Cairan (ml) Laju Aliran (ml/jam) Error(%)

3 6 120 0

6 12 120 0

10 20 120 0

20 40 120 0

Tabel 4.5. Data Hasil Pengujian Laju Aliran 500 ml/jam dalam Waktu Tertentu

Waktu (Menit) Volume Cairan (ml) Laju Aliran (ml/jam) Error(%)

3 24,6 492 1,6

6 49,2 492 1,6

10 81,8 490,8 1,84

20 163,8 491,4 1,72

Tabel 4.6. Data Hasil Pengujian Laju Aliran 999 ml/jam dalam Waktu Tertentu

Waktu (Menit) Volume Cairan (ml) Laju Aliran (ml/jam) Error(%)

3 48,4 968 3,10

6 97,2 972 2,70

10 162 972 2,70

20 325,2 975,6 2,34

4.2. Perancangan Ulang untuk Koreksi

Error

4.2.1 Koreksi

Error

Menggunakan Perangkat Keras

Koreksi error menggunakan perangkat keras dilakukan dengan linear scale yang


(62)

scale pada alat ini selain digunakan untuk koreksi error, juga digunakan untuk mendeteksi volume cairan yang ada dalam tabung suntik. Data hasil pengujian dari linear scale untuk

mendeteksi volumecairan dalam tabung suntik dapat dilihat pada tabel 4.7.

Tabel 4.7. Data Hasil Pengujian Linear Scale

Kondisi Volume Cairan (ml) Nilai Resistansi (Ohm) Tegangan Masukan (Volt)

Penuh 60 10000 4,52

Kosong 0 100 0,46

Pada tabel 4.7. dapat dilihat bahwa saat tabung suntik berisi cairan penuh maka tegangan masukan pin mikrokontroler Arduino Uno adalah 4,52 volt dan sesuai dengan perancangan. Pada saat tabung suntik kosong, tegangan masukan pada pin mikrokontroler Arduino Uno adalah 0,46 volt sedangkan pada perancangan, tegangan yang dihasilkan adalah 2,368 Volt. Nilai resistansi pada saat cairan kosong adalah 100 ohm sedangkan

pada perancangan adalah sebesar 900 ohm. Besar error resistansi yang dihasilkan pada

saat cairan kosong adalah sebesar 800 ohm dan besar error dari tegangan yang dihasilkan pada saat kosong adalah 1,908 volt.

Pengujian linear scale dalam pembacaan setiap satu putaran motor stepper yang akan

digunakan untuk koreksi error dapat dilihat pada tabel 4.8. Pengujian dilakukan dengan

memberi 200 pulsa ke motor stepper secara berurutan dan mengamati perubahan nilai ADC

dari linear scale.

Tabel 4.8. Data Pembacaan Linear Scalesetiap Satu Putaran Motor Stepper

Putaran ke : Nilai ADC Linear Scale Nilai Perubahan ADC Linear Scale

1 935

-2 932 3

3 933 -1

4 932 1

5 931 1

6 929 2

7 929 0

8 928 1

9 927 1


(63)

Tabel 4.8. (lanjutan)Data Pembacaan Linear Scalesetiap Satu Putaran Motor Stepper

Putaran ke : Nilai ADC Linear Scale Nilai Perubahan ADC Linear Scale

11 925 1

12 924 1

13 923 1

14 921 2

15 922 -1

16 919 3

17 918 1

18 916 2

19 915 1

20 914 1

21 912 2

22 911 1

23 909 2

24 908 1

25 906 2

26 905 1

27 903 2

28 901 2

29 900 1

30 898 2

31 896 2

32 894 2

33 892 2

34 890 2

35 888 2

36 886 2

37 884 2

38 881 3

39 879 2


(64)

Tabel 4.8. (lanjutan)Data Pembacaan Linear Scalesetiap Satu Putaran Motor Stepper

Putaran ke : Nilai ADC Linear Scale Nilai Perubahan ADC Linear Scale

41 876 1

42 871 5

43 869 2

44 866 3

45 863 3

46 860 3

47 857 3

48 854 3

49 851 3

50 848 3

51 844 4

52 839 5

53 836 3

54 833 3

55 828 5

56 824 4

57 819 5

58 814 5

59 810 4

60 805 5

61 799 6

62 791 8

63 788 3

64 779 9

65 774 5

66 768 6

67 759 9

68 751 8

69 742 9


(65)

Tabel 4.8. (lanjutan)Data Pembacaan Linear Scalesetiap Satu Putaran Motor Stepper

Putaran ke : Nilai ADC Linear Scale Nilai Perubahan ADC Linear Scale

71 722 13

72 712 10

73 700 12

74 687 13

75 673 14

76 660 13

77 643 17

78 626 17

79 606 20

80 582 24

81 564 18

82 537 27

83 509 28

84 480 29

85 439 41

86 398 41

87 354 44

88 297 57

89 239 58

90 148 91

91 36 112

92 14 22

93 14 0

94 15 -1

95 14 1

Pada tabel 4.8 dapat dilihat perubahan nilai ADC linear scale yang tidak konstan


(66)

4.2.2 Koreksi

Error

Menggunakan Perangkat Lunak

Mengacu pada tabel 4.1, error terjadi pada saat laju cairan diatur diatas 200 ml/jam.

Koreksi errordilakukan dengan mengambil nilai errorrata-rata setiap kenaikan laju cairan

100 ml/jam. Errorrata-rata akan digunakan untuk mengurangi nilai laju aliran tiap langkah

motor stepper. Perhitungan error rata-rata untuk laju aliran 200,01 ml/jam sampai 300

ml/jam yang mengacu pada tabel 4.1 adalah sebagai berikut :

Error rata-rata = , % , % , % , % x 100% Error rata-rata = 3,59 %

Laju aliran tiap langkah motor stepper= 0,003296 ml – (3,59% x 0,003296 ml)

Laju aliran tiap langkah motor stepper= 0,003296 ml – 0,0001183 ml

Laju aliran tiap langkah motor stepper= 0,003177 ml

Nilai error rata-rata dan laju aliran tiap langkah motor stepper untuk range laju

aliran yang lain yang mengacu pada tabel 4.1 dapat dilihat pada tabel 4.9.

Tabel 4.9. NilaiErrorRata-rata dan Laju Aliran Tiap Langkah Motor Stepper

Rangelaju aliran (ml/jam)

Error Rata-rata (%)

Laju Aliran Tiap Langkah Motor Stepper

(ml)

200,1 – 300 3,59 0,003177

300,1 – 400 6,915 0,003068

400,1 – 500 12,316 0,002890

500,1 – 600 18,283 0,002693

600,01 – 700 18,386 0,002690

700,1 – 800 22,276 0,002562

800,1 – 900 26,903 0,002409

900,1 – 999 28,943 0,002342

Data hasil pengujian alat syringe pump otomatis berbasis mikrokontroler Arduino


(67)

Tabel 4.10. Data Hasil Pengujian setelah Koreksi ErrorPertama

No Set Point

(ml/jam) Start time End Time

Laju Aliran yang dihasilkan (ml/jam)

Error

(ml)

Error

(%)

1 0,1 06:05 07:05 0,1 0 0

2 0,2 07:10 08:10 0,2 0 0

3 0,3 08:18 09:18 0,3 0 0

4 0,4 09:25 10:25 0,4 0 0

5 0,5 10:31 11:31 0,5 0 0

6 0,7 11:40 12:41 0,7 0 0

7 1,1 15:04 16:04 1,1 0 0

8 2,1 16:15 17:15 2,1 0 0

9 5 17:20 18:20 5 0 0

10 5,5 18:26 19:26 5,5 0 0

11 6,2 19:32 20:32 6,2 0 0

12 10 20:40 21:40 10 0 0

13 12,2 21:48 22:48 12,2 0 0

14 15 22:52 23:52 15 0 0

15 17,8 23:58 00:58 17,8 0 0

16 25,2 01:05 02:05 25,2 0 0

17 32,4 02:15 03:15 32,2 0 0

18 43,5 07:15 08:15 43,5 0 0

19 57,6 08:23 09:23 57,6 0 0

20 76,5 17:18 18:18 76,5 0 0

21 91,5 18:25 19:25 91,5 0 0

22 103,2 19:35 20:35 103,2 0 0

23 121,5 20:42 21:42 121,5 0 0

24 150 21:46 22:46 150 0 0

25 187,2 22:51 23:51 187,2 0 0

26 194,4 00:00 01:00 195,2 0,6 0,31

27 200 01:06 02:06 202,8 2,8 1,4

28 208,8 02:30 03:30 210,2 1,4 0,67


(1)

L1L5-2

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI


(2)

L1L5-3

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI


(3)

L1L5-4

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI


(4)

L1L5-5

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI


(5)

viii

INTISARI

Syringe pump merupakan peralatan medis yang berfungsi untuk memasukkan obat berwujud cairan ke dalam tubuh pasien dengan ukuran dan waktu tertentu secara otomatis. Prinsip kerja syringe pump adalah mengatur laju cairan yang dimasukan ke dalam tubuh dengan satuan ml/jam.

Syringe pump otomatis berbasis mikrokontroler arduino uno terdiri dari tiga bagian yaitu : unit input, unit pengolah dan unit output. Unit input tersusun atas tombol navigasi “start”, “stop”, “reset”, dan keypad matrik 4x3 sebagai pengatur laju aliran dan sensor

linear scale yang digunakan sebagai sensor posisi dari pendorong tabung suntik. Unit pengolah tersusun atas mikrokontroler arduino uno. Unit outputtersusun atas drivermotor

stepper, motor stepperyang berfungsi sebagai penggerak pendorong tabung suntik, buzzer

yang berfungsi untuk memberi peringatan ke pengguna apabila tabung suntik kosong dan LCD yang berfungsi sebagai penampil nilai laju cairan. Prinsip kerja syringe pump

otomatis berbasis mikrokontroler arduino uno yaitu dengan mengolah nilai input laju aliran yang dimasukkan dan mengkonversi menjadi jeda setiap langkah motor stepper dan banyak langkah motor stepper. Motor stepperdigunakan untuk mendorong tabung suntik. Semakin besar nilai jeda tiap langkah motor stepper, semakin kecil laju aliran yang dihasilkan oleh syrnge pumpotomatis berbasis mikrokontroler arduino uno.

Syringe pump otomatis berbasis mikrokontroler arduino uno berhasil dibuat dan dapat bekerja dengan baik dan rentang pengaturan laju cairan 0,1 – 999 ml/jam dengan ketelitian 0,1 ml. Syringe pump otomatis berbasis mikrokontroler arduino uno memiliki

errordibawah 5%.

Kata kunci : Syringe pump otomatis, mikrokontroler, Arduino Uno

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI


(6)

ix

ABSTRACT

Syringe pump is a medical equipment that used to inject automatically for size and time drugs fluid into patient body. The working principle of syringe pump is to set rate of fluid that entered into the body of the ml/hour unit.

There are three main units of automation syringe pump based Arduino Uno microcontroller such as, the input unit, the processing unit, and the output unit. On the input unit, there are some navigation buttons such as start button, stop button, and reset button. Besides that inpu unit also contain a 4x3 matrix keypad and a linier scale sensor. The 4 x 3 matrix keypad used to control fluid flow rate and a linier scale sensor used to control position of the syringe plunger. The processing unit contain an Arduino Uno microcontroller. A stepper motor, buzzer, and LCD display are parts o an output unit. A stepper motor driver used to drive a syringe plunger. Buzzer used to warn the user when the syringe is empty. A LCD display used to display a fluid speed value. The working principle of automation syringe pump based Arduino Uno microcontroller is to process the flow rate input value and convert the value to give how many delay and step for motor stepper output. Stepper motor used to drive the syringe. If the greater delay value every step of stepper motor then the flow rate generated by automation syringe pump based on microcontroller Arduino Uno is smaller.

Automated syringe pump based on Arduino Uno has been successfully created and work correctly based on the range adjustment liquid rate from 0.1 until 999 ml/hour with 0,1 ml precision. Syringe pump based on microcontroller Arduino Uno has an error less than 5%.

Keywords : Automatic syringe pump, microcontroller, Arduino Uno

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI