Syringe Pump otomatis berbasis mikrokontroler arduino uno.
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 ND 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