PERANCANGAN PROTOTIPE PEMANTAU PERNAFASAN BERBASIS KOMPUTER
ARIO FITRIANTO
DEPARTEMEN FISIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR 2010
ABSTRAK Ario Fitrianto. Perancangan Prototipe Pemantau Pernafasan Berbasis Komputer. Dibimbing oleh Dr. Ir. Irmansyah, M.Si dan Dr. Pratondo Busono. Gangguan pernafasan merupakan masalah kesehatan yang sangat sering dialami oleh masyarakat di seluruh dunia dan oleh karenanya menarik perhatian berbagai pihak. Oleh karena itu dibutuhkan perangkat yang dapat membantu proses pemantauan pernafasan sebagai salah satu cara untuk mendeteksi munculnya gangguan pernafasan. Perancangan sensor berbasis termistor diharapkan dapat menjadi alternatif bagi sensor pernafasan yang lebih terjangkau. Instrumen yang digunakan dalam alat ini terdiri dari termistor sebagai sensor, rangkaian pengolah sinyal, mikrokontroler, dan sebagai tampilan menggunakan grafik pada program yang telah dibuat. Prototipe pemantau pernafasan ini bekerja berdasarkan perubahan temperatur pada saat bernafas yang diterima oleh termistor. Perubahan temperatur tersebut akan meyebabkan nilai resistansi termistor berubah dan mempengaruhi besar tegangan yang melewatinya. Perubahan tegangan ini lalu diolah oleh rangkaian pengolah sinyal sebelum diubah menjadi data digital dengan Analog to Digital Converter yang terdapat pada mikrokontroler ATmega32. Data digital tersebut kemudian diteruskan ke komputer dan diolah dengan menggunakan perangkat lunak sehingga dapat ditampilkan dalam bentuk grafik penafasan. Selain menampilkan grafik, perangkat lunak yang dibuat juga menampilkan jumlah frekuensi pernafasan. Kata kunci: termistor, pernafasan, mikrokontroler, temperatur
PERANCANGAN PROTOTIPE PEMANTAU PERNAFASAN BERBASIS KOMPUTER
ARIO FITRIANTO
Skripsi sebagai salah satu syarat untuk memperoleh gelar Sarjana Sains pada Departemen Fisika
DEPARTEMEN FISIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR 2010
Judul : Perancangan Prototipe Pemantau Pernafasan Berbasis Komputer Nama : Ario Fitrianto NIM : G74050749
Menyetujui Pembimbing I,
Pembimbing II,
(Dr. Ir. Irmansyah, M.Si) NIP. 19680916 199403 1 001
(Dr. Pratondo Busono) NIP. 19620808 198803 1 001
Mengetahui: Ketua Departemen Fisika,
(Dr. Ir. Irzaman, M.Si) NIP. 19630708 199512 1 001
Tanggal Lulus:
PRAKATA Alhamdulillahirrabbil’alamin Puji syukur penulis panjatkan kepada Allah SWT atas segala izin, rahmat, kekuatan dan karuniaNya sehingga penulis dapat menyelesaikan skripsi yang berjudul “Perancangan Prototipe Pemantau Pernafasan Berbasis Komputer” sebagai salah satu syarat untuk memperoleh gelar Sarjana Sains (S.Si) pada Departemen Fisika. Penulis memahami bahwa skripsi ini jauh dari sempurna, namun penulis harap semoga skripsi ini dapat bermanfaat bagi perkembangan ilmu pengetahuan. Pada kesempatan ini penulis ingin mengucapkan terima kasih kepada: 1. Bapak Dr. Ir. Irmansyah, M.Si dan Bapak Dr. Pratondo Busono, selaku Dosen pembimbing yang telah membimbing, mengarahkan dan senantiasa memberikan motivasi sehingga tersusunnya skripsi ini. 2. Bapak Dr. Kiagus Dahlan dan Bapak Dr. Husin Alatas, selaku Dosen penguji atas saran dan kritiknya demi sempurnanya skripsi ini. 3. Keluarga di rumah (Papah, Mamah, Teteh, Eyang), terima kasih atas segala limpahan kasih sayang dan do’a yang senantiasa diberikan. 4. Staf dan laboran Departemen Fisika IPB . 5. Tim ALKES (nani, mena, neneng) dan staf ALKES dan TFM (Pak Arif, Pak Teguh, Pak Rony, Pak Denny, Pak Adi, Mbak Nur, Mbak Lastri, Mbak Tika, Mbak Ulfa, dll). 6. Teman-teman Fisika 42 (gita, ais, nani, nita, neneng, mena, amel, eka, dewi, lili, jessi, linda, faiz, obi, astri, azam, azki, rizal, deni, hartip, wenny, fahmi, pipit, gres, agung, roni, andre, mitha, hasan, aji, andri, cucu, dian, niken, ahmad, mahe, radot, dahrul), terima kasih untuk segala bantuan, semangat dan kebersamaan selama ini. 7. Dhika, Cendiq, Dimas, Indah, Dhavid, dan semuanya untuk dukungannya. 8. Rendra dan kaskusers yang telah memberikan pencerahan tentang pemrograman. 9. Serta semua pihak yang tidak dapat penulis sebutkan satu per satu. Penulis menyadari akan keterbatasan yang dimiliki. Oleh karena itu, segala kritik dan saran sangat dibutuhkan untuk mencapai hasil yang lebih baik.
Bogor, Juni 2010
Penulis
UCAPAN TERIMA KASIH Skripsi yang berjudul “Perancangan Prototipe Pemantau Pernafasan Berbasis Komputer” telahberhasil diselesaikan dengan bantuan berbagai pihak. Penulis mengucapkan terima kasih banyak kepada Pusat Teknologi Farmasi dan Medika (PTFM), Teknologi Agroindustri dan Bioteknologi (TAB), Badan Pengkajian dan Penerapan Teknologi (BPPT) karena telah memberikan kesempatan untuk melakukan penelitian dan memfasilitasi penelitian tersebut. Terima kasih juga kepada pihak-pihak Lab. Instrumentasi Medis atas dukungan, semangat, dan bantuannya selama proses penelitian dan penulisan skripsi ini. Penulis juga berterima kasih kepada Bapak Pratondo Busono selaku Kepala Bidang Teknologi Rekayasa Biomedika dan pembimbing kedua dalam penulisan skripsi ini atas kesempatan, bimbingan, dukungan, dan bantuannya selama penelitian dan penyusunan skripsi.
RIWAYAT HIDUP Penulis dilahirkan di Koeln, Jerman pada tanggal 29 Mei 1987 sebagai anak pertama dari pasangan Ir. Arif Nurtjahjo, M.T. dan Dra. Elza S. Sadjad. Penulis mengikuti Pendidikan Dasar di SDN Puspiptek, Serpong Tangerang dan lulus pada tahun 1999. Pendidikan Tingkat Menengah dapat diselesaikan penulis pada tahun 2002 di SLTP N 4 Puspiptek Serpong, Tangerang. Pendidikan Tingkat Atas dapat diselesaikan penulis pada tahun 2005 di SMAN 1 Cisauk, Tangerang. Pada tahun yang sama penulis diterima di Institut Pertanian Bogor melalui jalur USMI, kemudian pada tahun 2006 penulis diterima di Program Studi Fisika, Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor melalui program mayor-minor. Selama mengikuti perkuliahan, penulis pernah aktif sebagai anggota dan pengurus Himpunan Mahasiswa Fisika (HIMAFI) periode 2006-2008. Penulis juga pernah menjadi Asisten Praktikum untuk mata kuliah Elektronika Dasar, Elektronika Lanjut, dan Fisika Lanjut.
i
DAFTAR ISI Halaman DAFTAR ISI ..................................................................................................... DAFTAR GAMBAR ....................................................................................... DAFTAR TABEL ............................................................................................ DAFTAR LAMPIRAN ...................................................................................... PENDAHULUAN Latar Belakang .............................................................................................. Tujuan Penelitian .......................................................................................... Manfaat Penelitian ........................................................................................ TINJAUAN PUSTAKA Proses Pernafasan .......................................................................................... Pemantauan Pernafasan ................................................................................. Frekuensi Pernafasan .................................................................................... Perancangan Prototipe Monitor Pernafasan Berbasis Komputer ................... Termistor ....................................................................................................... Jembatan Termistor ............................................................................... Pengolah Sinyal .............................................................................................. Rangkaian Penguat ................................................................................ Rangkaian Filter ..................................................................................... Rangkaian Buffer .................................................................................... Mikrokontroler ............................................................................................... Perangkat Antarmuka ..................................................................................... Perangkat Lunak............................................................................................. BAHAN DAN METODE Waktu dan Tempat Penelitian ....................................................................... Alat dan Bahan .............................................................................................. Metode Penelitian Penentuan Spesifikasi Alat ........................................................................ Karakterisasi Sensor ................................................................................... Perancangan Perangkat Keras .................................................................... Jembatan Termistor ............................................................................... Penguat Instrumentasi ........................................................................... Low-pass filter .......................................................................................... Notch filter................................................................................................ Mikrokontroler ......................................................................................... Perancangan Perangkat Lunak ................................................................... Pembuatan Prototipe .................................................................................. Integrasi Sistem dan Pengujian .................................................................. HASIL DAN PEMBAHASAN Pengujian Rangkaian ........................................................................................ Pengujian Termistor ................................................................................... Pengujian Penguat Instrumentasi .............................................................
i iii iv v 1 1 1 2 2 3 3 3 4 5 5 5 6 6 6 6 7 7 7 7 7 7 7 8 8 8 9 9 9 9 9 10
Pengujian Low-pass filter......................................................................... Pengujian Notch filter .............................................................................. Pengujian Perangkat Lunak............................................................................ Pengujian Prototipe Pemantau Pernafasan .................................................... KESIMPULAN DAN SARAN Kesimpulan ................................................................................................... Saran .............................................................................................................. DAFTAR PUSTAKA ....................................................................................... LAMPIRAN ......................................................................................................
10 11 11 12 14 14 14 15
ii i
iii
DAFTAR GAMBAR Halaman 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Penampang organ pernafasan atas ............................................................... Paru-paru ..................................................................................................... Hasil pengamatan pernafasan dengan termistor .......................................... Diagram blok rangkaian ............................................................................. Kurva karakteristik termistor ....................................................................... Beberapa bentuk termistor ........................................................................... Rangkaian jembatan termistor .................................................................... Rangkaian termistor dengan penguat instrumentasi .................................... (a) Rangkaian low-pass filter ...................................................................... (b) Rangkaian notch filter ............................................................................ Rangkaian buffer .......................................................................................... IC ATMEGA32 ........................................................................................... Pin IC ATmega32 ........................................................................................ Rangkaian analog ........................................................................................ Rangkaian jembatan termistor ..................................................................... Rangkaian penguat instrumentasi ................................................................ Rangkaian low-pass filter............................................................................. Rangkaian notch filter ................................................................................. Instalasi prototipe pemantau pernafasan ...................................................... Kondisi ketika pengambilan data ................................................................. Tampilan awal perangkat lunak ................................................................... Grafik nilai resistansi termistor terhadap perubahan temperatur ................. Grafik temperature terhadap waktu nafas .................................................... Grafik besar penguatan terhadap ulangan kombinasi tegangan masukan .... Grafik perbandingan tegangan keluaran dan tegangan masukan ................. Grafik respon rangkaian low-pass filter terhadap perubahan frekuensi....... Grafik respon rangkaian notch filter terhadap perubahan frekuensi ........... Grafik respon rangkaian gabungan low-pass dan notch filter terhadap perubahan frekuensi .................................................................................... Tampilan perangkat lunak ketika melakukan pengujian di dalam ruangan . Tampilan perangkat lunak ketika melakukan pengujian di luar ruangan .... Tampilan perangkat lunak untuk pengujian kepada subjek uji kedua ......... Tampilan perangkat lunak untuk pengujian kepada subjek uji ketiga .........
2 2 3 4 4 4 4 5 6 6 6 6 6 7 8 8 8 8 9 9 9 10 10 10 10 11 11 11 12 13 13 13
iv
DAFTAR TABEL Halaman 1 Tahapan dalam pemantauan pernafasan.......................................................
3
v
DAFTAR LAMPIRAN Halaman 1 Diagram Alir Penelitian .............................................................................. 2 Skema Rangkaian ........................................................................................ 3 Data Pengujian Termistor ........................................................................... 4 Data Perubahan Temperatur ........................................................................ 5 Data Pengujian Penguat Instrumentasi......................................................... 6 Data Pengujian Low-Pass filter ................................................................... 7 Data Pengujian Notch filter .......................................................................... 8 Gambar ......................................................................................................... 9 Source Code Program Mikrokontroler ......................................................... 10 Source Code Program Monitor Pernafasan ................................................ 11 Datasheet Termistor ................................................................................... 12 Datasheet ATMega32 ................................................................................ 13 Datasheet TL084 ........................................................................................
16 17 18 19 19 19 19 20 21 24 29 34 37
1
PENDAHULUAN Latar Belakang Pernafasan merupakan esensi dari kehidupan. Dalam setiap nafas, paru-paru berfungsi untuk menyediakan oksigen sebagai bahan bakar untuk metabolisme dan untuk mengeluarkan karbondioksida. Karena tubuh memiliki kapasitas yang terbatas untuk menyimpan oksigen dan karbondioksida, pertukaran gas-gas ini harus berlangsung secara terus menerus dengan lingkungan. Proses bernafas yang sederhana melibatkan interaksi yang kompleks antara sensor tubuh dan otak, menghasilkan impuls saraf yang ditransmisikan ke otot pernafasan, yang menggerakkan paru-paru. Adanya urutan yang tidak sempurna pada titik manapun, mulai dari sistem saraf hingga otot pernafasan, dapat menimbulkan gangguan pernafasan (Adams 1998). Gangguan pernafasan merupakan masalah kesehatan yang sangat sering dialami oleh masyarakat di seluruh dunia dan oleh karenanya menarik perhatian berbagai pihak. Salah satu alasan dari besarnya perhatian terhadap gangguan pernafasan adalah semakin meningkatnya kesadaran akan hubungan antara lingkungan dan timbulnya gangguan pernafasan. Tingginya polusi udara secara langsung meningkatkan angka gangguan pernafasan yang muncul, sebagai contoh asma. Informasi ini menambah daftar penyebab gangguan pernafasan, yang sebelumnya lebih banyak mengaitkan masalah gangguan pernafasan dengan rokok. Adanya fakta bahwa gangguan pernafasan dapat dicegah perkembangannya membuat pemerintah memperketat peraturan yang membahas masalah rokok dan lingkungan. Pemantauan jangka panjang terhadap pernafasan manusia sangat penting untuk beberapa kondisi medis yang ditimbulkan oleh gangguan pernafasan tersebut (Jovanov et al. 2001). Pemantauan yang dilakukan saat ini pada umumnya menggunakan sensor tekanan berupa pita elastis yang dipasang di dada pasien. Perubahan yang terjadi pada pita elastis tersebut menunjukkan proses pernafasan yang terjadi. Selain dengan menggunakan pita elastis, proses pemantauan pernafasan juga dapat dilakukan dengan menggunakan gelombang mikro, impedansi elektrik, serta matras udara. Akan tetapi, pemantauan dengan alat-alat di atas memerlukan biaya yang cukup tinggi dan
bukan merupakan alat yang sifatnya portabel sehingga tidak dapat dilakukan di mana saja. Untuk mengatasi keterbatasan di atas, saat ini mulai dikembangkan sensor berbasis termistor yang dapat menjadi alternatif bagi sensor pernafasan. Dengan bentuk yang kecil dan harga yang relatif lebih murah, sensor berbasis termistor mulai dikembangkan. Keluaran dari sensor tersebut dapat ditransmisikan secara langsung dengan menggunakan kabel data maupun melalui jaringan nirkabel. Jika digabungkan dengan teknologi nirkabel, maka alat ini dapat menjadi alat yang sifatnya portabel dan berfungsi selama masih dalam radius operasi jaringan nirkabel tersebut. Tujuan Penelitian Tujuan penelitian ini adalah merancang prototipe pemantau pernafasan berbasis komputer dan menguji kerja sistem yang telah dibuat. Prototipe yang akan dibuat memiliki karakteristik sebagai berikut : 1. Mengamati perubahan temperatur yang timbul pada proses pernafasan dan dapat diubah menjadi bentuk grafik. 2. Memberikan tampilan antar muka yang familiar dan mudah digunakan. Manfaat Penelitian Prototipe yang dihasilkan dari penelitian ini diharapkan dapat dikembangkan dan dimanfaatkan sebagai alternatif bagi pengukuran pernafasan pada bidang kesehatan maupun bidang lainnya seperti olahraga.
2
TINJAUAN PUSTAKA Proses Pernafasan Proses pernafasan merupakan proses pertukaran O2 dan CO2 antara udara yang terdapat di atmosfer dengan yang terdapat dalam tubuh manusia. Proses ini dimulai dengan masuknya O2 dari atmosfer melalui lubang hidung, lalu melalui faring, laring, trakea, kemudian masuk ke paru-paru (Adams 1998). Organ-organ pernafasan tersebut dapat dilihat pada Gambar 1. Paru-paru manusia berhubungan dengan trakea, yang terdapat di bawah laring (kotak suara). Seperti yang terlihat pada Gambar 2, paru-paru sebelah kanan sedikit lebih besar dari sebelah kiri dan memiliki tiga gelambir, sedangkan sebelah kiri memiliki dua gelambir. Bagian trakea kemudian bercabang menjadi dua, saluran kanan dan kiri, yang disebut cabang bronkus utama. Setelah udara yang dihirup mencapai bronkus, kemudian udara tersebut dialirkan ke cabang-cabang bronkiolus yang terhubung dengan kantung udara yang disebut alveolus. Di dinding alvoelus ini terdapat pembuluh darah kapiler, yang merupakan tempat bertukarnya O2 dari atmosfer dan CO2 yang merupakan hasil metabolisme tubuh (Adams 1998).
Gambar 1. Penampang organ pernafasan atas
Gambar 2. Paru-paru
Sebagaimana yang telah kita ketahui, proses menghirup udara disebut inspiration (inspirasi). Pergerakan udara terjadi karena kontraksi otot-otot pernafasan, meliputi diafragma dan otot-otot antara tulang rusuk (otot intercoastal). Kontraksi otot ini menimbulkan pembesaran rongga dada dan paru-paru. Rongga dada yang membesar menimbulkan perbedaan tekanan antara atmosfer dan paru-paru sehingga udara bergerak masuk. Sedangkan ketika menghembuskan udara atau expiration (ekspirasi), proses yang terjadi merupakan kebalikannya. Diafragma dan otot intercoastal mengalami relaksasi sehingga ukurannya mengecil. Dengan demikian terjadi perubahan volume paru-paru yang mengakibatkan perubahan tekanan sehingga udara bergerak dari paru-paru keluar menuju atmosfer. Pemantauan Pernafasan Dalam dunia kedokteran, pemantauan terhadap pernafasan manusia sering dilakukan dalam beberapa tahapan (Tabel 1). Tahapan paling dasar merupakan pemantauan secara visual (Visual observation). Pemantauan ini merupakan hal dasar yang harus dikuasai oleh praktisi kesehatan. Tahapan selanjutnya adalah pemantauan yang obyektif secara periodik (Intermittent objective measurements). Pada tahapan ini, selain hasil pemantauan secara visual juga didapatkan hasil berupa data obyektif mengenai kasus tertentu. Contoh pemantauan pada tahap ini adalah pemantauan gas darah pada arteri untuk menentukan pO2, pCO2, dan pH secara periodik atau pemantauan volume gas yang dihirup dan dihembuskan. Tahapan berikutnya adalah pemantauan secara terusmenerus (Continous or automated mesurements). Pemantauan ini biasanya dilakukan pada pasien yang menderita sakit yang cukup serius sehingga perlu pemantauan secara terus-menerus. Tahapan terakhir adalah penggunaan algoritma komputer (Computerized analysis with treatment algorithms) yang tidak hanya berfungsi untuk memantau pernafasan tetapi dapat juga melakukan penyesuaian terhadap kondisi pasien (Webster 2006].
3
Tabel 1. Tahapan dalam Pemantauan Pernafasan
Parameter-parameter yang sering digunakan dalam pemantauan terhadap pernafasan di antaranya adalah frekuensi pernafasan, volume udara paru-paru yang dihirup dan dihembuskan, serta kandungan gas dalam udara yang dihirup dan dihembuskan. Frekuensi Pernafasan Frekuensi pernafasan didefinisikan sebagai jumlah nafas untuk setiap satuan waktu (pada umumnya dalam jumlah nafas per menit). Pada manusia, frekuensi pernafasan biasanya diukur ketika seseorang berada dalam kondisi istirahat dan dilakukan dengan menghitung jumlah nafas selama satu menit dengan cara menghitung berapa kali dada mengembang. Frekuensi pernafasan ini dapat bertambah ketika dalam keadaan demam, sakit, atau keadaan medis lainnya (Anonim 2009). Frekuensi pernafasan rata-rata pada orang dewasa yang sehat dalam keadaan istirahat dilaporkan sebesar 12 nafas per menit (12⁄60 Hz), akan tetapi beberapa sumber lain menyebutkan bahwa nilai tersebut bervariasi dengan kisaran 10-20 nafas per menit. Dengan frekuensi yang rendah, pembacaan yang lebih akurat didapat dengan menghitung jumlah nafas selama satu menit penuh (Anonim 2009) Berikut ini merupakan frekuensi nafas rata-rata berdasarkan umur: Bayi baru lahir: 44 nafas per menit Balita: 20–40 nafas per menit Anak pra-sekolah: 20–30 nafas per menit Anak - remaja: 16–25 nafas per menit Orang dewasa: 12–20 nafas per menit Atlet dalam kondisi puncak: 60–70 nafas per menit (Anonim 2009) Tampilan dari frekuensi pernafasan yang didapat dengan sensor temperatur dapat dilihat pada Gambar 3.
Gambar 3. Hasil pengamatan pernafasan dengan termistor [Jovanov, E, 2001] Berdasarkan tampilan pada Gambar 3, kondisi ketika seseorang menghembuskan udara ditunjukkan oleh puncak (peak) grafik sedangkan kondisi ketika menghirup udara ditunjukkan oleh lembah (valley) grafik. Interval untuk satu kali bernafas dapat dilihat dari jarak antar puncak atau lembah (BI). Sedangkan amplitudo grafik (BAL) merupakan perbedaan tegangan yang muncul akibat perbedaan temperatur antara saat menghirup udara dan menghembuskan udara. Perancangan Prototipe Pemantau Pernafasan Berbasis Komputer Perangkat pemantau pernafasan berbasis komputer ini terdiri dari beberapa perangkat keras dan perangkat lunak. Perangkat keras yang dibutuhkan antara lain termistor, penguat, filter, mikrokontroler, dan komputer. Gambar 4 merupakan diagram blok rangkaian mulai sinyal dari termistor hingga komputer. Termistor Resistor termal merupakan elemen yang dapat menghantarkan listrik yang dirancang untuk mengubah nilai resistansinya secara teratur seiring dengan perubahan temperatur yang timbul. Secara umum, resistor termal dapat dibagi menjadi dua kelas dasar, Resistance Temperature Devices (RTDs) dan termistor (Carr 1993). Besar perubahan resistansi ditunjukkan oleh koefisien temperatur dari material yang digunakan, yang diukur dalam satuan ohm per perubahan temperatur (pada umumnya ohm per derajat Celcius). Perangkat jenis Positive Temperature Coefficient (PTC) menunjukkan peningkatan nilai resistansi seiring dengan meningkatnya temperatur.
4
Sinyal
Pengolah Sinyal
Komputer
Mikrokontoler
Hubungan antara perubahan temperatur dengan nilai resistansi pada termistor dapat dirumuskan dengan persamaan berikut: (Carr 1993) 1
Gambar 4. Diagram blok rangkaian Sebaliknya, Negative Temperature Coefficient (NTC) menunjukkan penurunan nilai resistansi seiring dengan meningkatnya temperatur. Karakteristik ini ditunjukkan pada Gambar 5. Termistor merupakan resistor termal yang berbentuk semikonduktor. Perangkat ini pada umumnya memiliki karakteristik perubahan temperatur sebesar 4% hingga 6% per C dan merupakan jenis NTC. Gambar 6 menunjukkan beberapa bentuk termistor (Carr 1993). Dalam perancangan prototipe ini, termistor yang digunakan harusnya memiliki sensitivitas yang tinggi pada rentang temperatur 20C hingga 37C. Hal ini dikarenakan temperatur ketika menghirup udara sekitar 22C dan ketika menghembuskan udara sekitar 37C (Farré et al 1998).
RT R0 e
1 T T0
………………. (1)
dengan RT = Nilai resistansi pada temperatur T () R0 = Nilai resistansi pada temperatur referensi () T = Nilai temperatur baru (K) T0 = Nilai temperatur referensi (K) = Nilai karakteristik temperatur material Sensitivitas termistor dapat dilihat dari rasio perubahan resistansi terhadap perubahan temperatur (dR/dT). Jembatan Termistor Pengukuran perubahan nilai termistor yang diakibatkan oleh perubahan temperatur dapat dilakukan dengan beberapa cara. Salah satunya adalah dengan menggunakan rangkaian jembatan termistor. Pada rangkaian ini termistor dipasang seri dengan sebuah resistor dan kemudian diparalelkan dengan dua buah resistor yang dipasang secara seri. Sebagai masukannya diberikan tegangan referensi dari rangkaian catu daya (Gambar 7). Dari rangkaian tersebut, didapatkan nilai tegangan keluaran yang terjadi akibat pengaruh perubahan temperatur pada termistor dan dapat dihitung dengan persamaan berikut:
Rbias Vbias ………….. (2) V A Rbias X th RB Vbias …………… (3) V B R R A B Gambar 5. Kurva karakteristik termistor
Gambar 6. Beberapa bentuk termistor
Gambar 7. Rangkaian jembatan termistor [http://www.ecircuitcenter.com/Circuits/t herm_preamp/therm_preamp.htm]
5
Pengolah Sinyal Keluaran dari termistor berupa sinyal analog dan membutuhkan pengolahan sebelum diteruskan ke mikrokontroler. Rangkaian pengolah sinyal yang digunakan adalah penguat instrumentasi, low-pass filter, notch filter, serta buffer. Rangkaian Penguat Pengolahan tahap pertama adalah dengan menggunakan penguat. Hal ini dibutuhkan karena pada umumnya sinyal analog yang dihasilkan oleh jembatan termistor memiliki amplitudo rendah. Rangkaian penguat yang digunakan yaitu penguat instrumentasi yang terlihat pada Gambar 8. Tegangan masukan yang diberikan ke rangkaian penguat ini berasal dua buah sumber (V1 dan V2), kemudian diselisihkan dan mengalami penguatan (gain) yang besarnya ditentukan oleh konfigurasi resistor yang terdapat pada rangkaian. Jika diasumsikan R1 = R3 dan R4 = R5 = R6 = R7, maka besar penguatan dapat dihitung dengan persamaan berikut:
Gain 2
R1 1 ………………….. (4) R2
Rangkaian Filter Setelah melewati rangkaian penguat, sinyal kemudian dilewatkan pada rangkaian filter. Rangkaian filter ini berfungsi untuk menghilangkan gangguan-gangguan (noise) yang terdapat pada sinyal tersebut. Gangguan ini dapat berasal dari sumber tegangan AC (listrik PLN) ataupun akibat dari penggunaan komponen yang kurang tepat. Prinsip kerja dari rangkaian filter adalah melewatkan atau meredam amplitudo sinyal dengan selang frekuensi tertentu (Kularatna 2008). Titik batas frekuensi tersebut dinamakan frekuensi cut-off, yaitu titik frekuensi dengan amplitudo yang telah mengalami penurunan sebesar 3dB dari amplitudo masukannya (amplitudo menjadi 0,7 kali amplitudo masukan). Nilai frekuensi cut-off dapat ditentukan dengan menggunakan persamaan berikut:
fc
1 ……………………….. (5) 2RC
Jenis filter yang akan digunakan adalah low-pass filter dan notch filter dengan rangkaian seperti pada Gambar 9a dan b. Low-pass filter merupakan filter yang berfungsi meredam amplitude sinyal yang frekuensinya berada di atas frekuensi cut-off yang telah ditentukan. Nilai frekuensi cut-off dapat ditentukan dengan menggunakan persamaan (5) dengan nilai R1=R2 dan C1=C2. Notch filter merupakan filter yang melewatkan sinyal di hampir semua frekuensi dan hanya meredam amplitudo sinyal di frekuensi stop-band yang telah ditentukan. Penentuan nilai frekuensi stop-band dapat menggunakan Persamaan (5). Rangkaian Buffer
(b) Gambar 8. Rangkaian instrumentasi [http://www.ecircuitcenter.com/Circuits/t herm_preamp/therm_preamp.htm]
Setelah melewati rangkaian penguat dan filter, sinyal kemudian dilewatkan pada rangkaian buffer yang terdiri dari satu buah Op-Amp. Rangkaian ini berfungsi untuk mencegah agar sinyal keluaran tidak jatuh (drop) ketiga dihubungkan dengan mikrokontroler. Ketika melewati rangkaian buffer, sinyal tidak mengalami penguatan sehingga nilai masukan sama dengan nilai keluarannya. Rangkaian buffer dapat dilihat pada Gambar 10.
6
(a)
Gambar 11. IC ATmega32 [http://shop.embedit.de/product__103.php]
(b) Gambar 9. (a) Rangkaian low-pass filter [http://www.radio-electronics.com/info/ circuits/opamp_low_pass_filter/op_amp_low passfilter.php] (b) notch filter [http://www.circuitsarchive.org/index.php/Fil ter_Sallen-Key_(SK)_ Second_Order_Notch _non-inverting]
Gambar 12. Pin IC ATmega32 [Anonim, 2008] Perangkat Antarmuka
Gambar 10. Rangkaian buffer [http://en.wikipedia.org/wiki/Buffer_amplifier] Mikrokontroler Untuk menghubungkan rangkaian sensor dengan komputer diperlukan mikrokontroler. Hal ini dikarenakan sinyal analog dari rangkaian sebelumnya harus diubah menjadi sinyal digital agar dapat diproses oleh komputer. Perubahan sinyal ini dilakukan oleh fungsi Analog to Digital Converter yang dimiliki oleh mikrokontroler. Mikrokontroler yang akan digunakan adalah ATmega 32 (Gambar 11) yang diproduksi oleh ATMEL Corporation. ATmega 32 memiliki spesifikasi diantaranya sebagai berikut: 32K bytes In-System Programmable Flash dengan kemampuan Read-While-Write, 1024 bytes EEPROM, 2K bytes SRAM, 32 jalur I/O yang terbagi dalam 4 port (Port A, B, C, dan D), ADC 8-channel 10-bit, dan sebuah port serial SPI (Anonim 2008). Keterangan mengenai pin pada ATmega32 dapat dilihat pada Gambar 12.
Untuk menampilkan data dari sinyal yang telah diproses pada mikrokontroler diperlukan sebuah perangkat antarmuka. Perangkat yang akan digunakan adalah komputer. Data tersebut ditransmisikan dari mikrokontroler dengan menggunakan port serial yang kemudian dikoneksikan dengan port USB (Universal Serial Bus) pada komputer. Perangkat Lunak Penggunaan mikrokontroler membutuhkan perangkat lunak tertentu yang dibuat dengan menggunakan bahasa C. Perangkat lunak ini diperlukan agar data yang diperoleh dari termistor dapat ditransmisikan ke penerima di komputer. Selain itu, perangkat lunak lain juga diperlukan agar data yang telah diterima di komputer dapat digunakan. Untuk itu perlu dibuat perangkat lunak antarmuka yang dapat menampilkan data dengan disertai keterangan sehingga dapat dimengerti oleh penggunanya. Perangkat lunak antarmuka ini dibuat dengan menggunakan bahasa pemrograman Visual Basic.Net.
7
BAHAN DAN METODE
Karakterisasi sensor
Waktu dan Tempat Penelitian Penelitian ini dilaksanakan pada bulan Maret 2009 sampai dengan bulan Juni 2010. bertempat di Laboratorium Instrumentasi Medis - LAPTIAB, BPPT, Puspiptek, Serpong. Alat dan Bahan Alat-alat yang digunakan pada penelitian ini adalah solder, penyedot timah, multimeter digital Beamex MC2-MF, Sanwa CD800a, osiloskop GDS-810S, USB to Serial Converter, AVR ISP Programmer, termokopel, komputer, dan pembangkit sinyal GFG-8255A. Bahan-bahan yang digunakan pada penelitian ini adalah termistor TDC05C250-5; resistor 1k, 2k2, 4k7kk, 68k trimpot 20k kapasitor 10F, 47nF; PCB (Printed Circuit Board), mikrokontroler ATmega32 beserta protoboard, IC Op-Amp TL084, saklar, jumper, timah solder, blackhousing, kabel, masker. Metode Penelitian Penentuan spesifikasi alat Penentuan spesifikasi ini didasarkan pada hasil penelusuran literatur serta kajian komprehensif dari alat yang menjadi fokus penelitian maupun pengembangan. Berdasarkan literatur yang ada, didapatkan dat spesifikasi sebagai berikut: - Tegangan referensi untuk jembatan termistor 5 V - Tegangan kerja untuk IC = +/- 12 V - Frekuensi cut-off untk rangkaian filter = 50 Hz dan 60 Hz - Temperatur yang diukur berkisar antara 25°C hingga 37°C.
Karakterisasi sensor dilakukan untuk menentukan spesifikasi perangkat keras yang sesuai dengan sensor yang digunakan. Termistor yang digunakan sebagai sensor pada penelitian ini adalah termistor TDC05C250-5. Pengujian dilakukan dengan mengukur nilai resistansi termistor untuk setiap perubahan temperatur yang terjadi dengan menggunakan multimeter digital Sanwa serta termokopel pada multimeter Beamex MC2-MF. Perancangan perangkat keras Perancangan perangkat keras diawali dengan membuat rancangan konseptual dan membuat rancangan rinci dari alat. Rangkaian analog yang dibuat terdiri dari rangkaian jembatan termistor, rangkaian penguat instrumentasi, rangkaian filter, dan rangkaian buffer yang secara keseluruhan terlihat pada Gambar 13. Sinyal keluaran dari rangkaian analog lalu akan diolah pada mikrokontroler sebelum diteruskan ke komputer. Jembatan termistor Jembatan termistor dibuat berdasarkan rangkaian pada Gambar 7 dengan meletakkan termistor pada jumper untuk sensor dan diseri dengan resistor 4k7kemudian diparalel dengan trimpot 20kyang diseri dengan resistor 10k(Gambar 14)Tegangan referensi yang diberikan pada rangkaian sebesar 5 V. Dari rangkaian diperoleh dua tegangan keluaran yaitu VA dan VB yang akan diolah pada rangkaian pengolah sinyal. Pengukuran nilai VA dan VB dilakukan dengan menggunakan multimeter. Penguat instrumentasi Rangkaian penguat instrumentasi dibuat berdasarkan rangkaian pada Gambar 8 dengan menggunakan 1 buah IC Op-Amp TL084 dan menggunakan resistor R1 = R3 = R4 = R5 = R6 = R7 sebesar 10kdan Rgain sebesar 2k2(Gambar 15).
Gambar 13. Rangkaian analog
8
Gambar 14. Rangkaian jembatan termistor Gambar 16. Rangkaian low-pass filter
Gambar instrumentasi
15.
Rangkaian
penguat
Tegangan keluaran dari jembatan termistor kemudian diperkuat sebesar 10 kali dan kemudian diselisihkan sehingga didapatkan nilai tegangan keluaran baru Vout. Pengukuran nilai Vout dilakukan dengan menggunakan multimeter. Low-pass Filter Low-Pass filter yang dibuat harus memiliki frekuensi cut-off sebesar 60 Hz, sehingga akan menahan amplitude sinyal yang tidak diinginkan (noise) yang memiliki frekuensi di atas 60 Hz. Berdasarkan persamaan (5) diperoleh kombinasi resistor yang digunakan sebesar 47kdan kapasitor sebesar 47nF yang dihubungkan dengan IC Op-Amp TL084 (Gambar 16). Pengujian fungsi low-pass filter dilakukan dengan melihat perubahan amplitudo sinyal terhadap perubahan frekuensi sinyal dari pembangkit sinyal dengan menggunakan osiloskop. Notch Filter Notch filter yang dibuat harus memiliki frekuensi stop-band sebesar 50 Hz, sehingga akan menahan amplitude sinyal yang memiliki frekuensi 50 Hz. Berdasarkan persamaan (5) diperoleh kombinasi resistor yang digunakan
Gambar 17. Rangkaian notch filter sebesar 10k dan k dan kapasitor sebesar 47nF yang dihubungkan dengan IC Op-Amp TL084 (Gambar 17). Pengujian fungsi notch filter dilakukan dengan melihat perubahan amplitudo sinyal terhadap perubahan frekuensi sinyal dari pembangkit sinyal dengan menggunakan osiloskop. Mikrokontroler Keluaran dari rangkaian analog harus diubah menjadi sinyal digital dengan menggunakan Analog to Digital Converter (ADC) yang terdapat pada mikrokontroler ATmega32. Dari seluruh pin yang terdapat pada ATmega32 (Gambar 12), keluaran dari rangkaian analog dihubungkan ke pin ADC0 atau PA0 dan ground rangkaian analog dihubungkan dengan pin GND. Tegangan referensi yang diberikan pada pin AREF sebesar 5 V. Hasil pengolahan ADC berupa data digital ditransmisikan ke komputer dan diterima kembali dengan melalui pin TX dan RX yang terhubung dengan port serial.
9
Perancangan perangkat lunak Perancangan perangkat lunak mencakup pembuatan perangkat lunak untuk mikrokontroler dan perangkat lunak untuk tampilan antar muka. Perangkat lunak untuk mikrokontroler dibuat dengan menggunakan CodevisionAVR C dan memiliki fungsi untuk mengubah data hasil pengolahan Analog to Digital Converter pada mikrokontroler menjadi protokol yang akan diteruskan ke perangkat lunak pada komputer. Perangkat lunak untuk tampilan antar muka dibuat dengan menggunakan Visual Basic.NET. Pada perangkat lunak ini akan ditampilkan grafik pernafasan, jumlah total nafas selama waktu uji, frekuensi nafas, serta penghitung waktu uji.
Gambar 18. Instalasi prototipe pemantau pernafasan
Pembuatan prototipe Dalam pembuatan prototipe ini desain rangkaian elektronik yang dibuat dan telah disimulasikan selanjutnya diwujudkan menjadi perangkat keras yang sebenarnya. Integrasi sistem dan pengujian Integrasi sistem dilakukan dengan menghubungkan seluruh rangkaian dengan komputer seperti yang terlihat pada Gambar 18. Proses selanjutnya adalah melakukan pengujian alat. Pengujian prototipe dilakukan dengan menguji fungsi dari masing-masing blok rangkaian perangkat keras serta fungsi dari perangkat lunak yang telah dibuat. Terakhir, dilakukan uji coba secara menyeluruh baik perangkat keras maupun perangkat lunak. Gambar ketika pengambilan data dapat dilihat pada Gambar 19 sedangkan tampilan perangkat lunak terdapat pada Gambar 20. Langkah-langkah pengoperasian prototipe adalah sebagai berikut: 1. Pastikan perangkat keras sudah terkoneksi dengan baik. 2. Subjek uji mengenakan masker yang tersedia. 3. Catu daya, rangkaian analog, dan perangkat lunak dihidupkan secara berurutan. 4. Pemilihan port dilakukan dengan menekan tombol scan dan memilih port pada combo box yang tersedia. 5. Perangkat lunak diaktifkan dengan menekan tombol start, kemudian penghitungan frekuensi nafas dimulai dengan menekan tombol start counting. 6. Penghentian penghitungan dilakukan dengan menekan tombol stop.
Gambar 19. Kondisi ketika pengambilan data
Gambar 20. Tampilan awal perangkat lunak HASIL DAN PEMBAHASAN Pengujian Rangkaian Pengujian Termistor Pengujian termistor NTC yang digunakan pada prototipe ini dilakukan dengan memberikan perubahan temperatur dalam rentang 26,5°C hingga 37°C kemudian mengukur perubahan nilai resistansi yang terjadi. Gambar 21 menunjukkan grafik nilai resistansi termistor terhadap perubahan temperatur yang diberikan. Semakin tinggi temperatur yang diberikan maka nilai resistansinya akan semakin menurun, sesuai
10
dengan tipe termistor yang digunakan yaitu NTC. Garis biru menunjukkan nilai hasil pengukuran dengan menggunakan multimeter digital dan termokopel sedangkan garis merah merupakan hasil perhitungan berdasarkan persamaan (1). Jika diperhatikan terjadi perbedaan nilai antara hasil pengukuran dengan hasil perhitungan untuk setiap kondisi temperatur. Akan tetapi, secara keseluruhan untuk rentang temperatur yang diujikan hasilnya memiliki linearitas yang hampir sama sehingga NTC tetap dapat digunakan. Nilai sensitivitas dari termistor yang digunakan dapat dilihat dari persamaan garis yang terdapat pada Gambar 21 yaitu y = -0,1568x+9,783 untuk hasil pengukuran dan y = -0,1641x+8,98381 untuk hasil perhitungan (dengan nilai sumbu y dalam k). Berdasarkan persamaan garis tersebut, nilai sensitivitas termistor (dR/dT) berdasarkan pengukuran sebesar -156,8 °C sedangkan berdasarkan perhitungan sebesar -164,1°C. Untuk melihat rentang nilai temperatur pada saat bernafas maka dilakukan pengujian dengan menggunakan termokopel yang dipasang pada masker dengan hasil yang terdapat pada Gambar 22. Berdasarkan gambar tersebut, rentang temperatur pada saat bernafas sekitar 27,9°C hingga 32,8°C. Sedangkan adanya perbedaan rentang temperatur selama bernafas dapat disebabkan oleh adanya perbedaan durasi waktu menghirup dan menghembuskan nafas ataupun pola nafas yang berubah-ubah.
Gambar 21. Grafik nilai resistansi termistor terhadap temperatur
Gambar 22. Grafik temperatur terhadap waktu nafas
Gambar 23. Grafik besar penguatan terhadap ulangan kombinasi tegangan masukan
Gambar 24. Grafik perbandingan tegangan keluaran dan tegangan masukan Pengujian Penguat Instrumentasi Penguat instrumentasi digunakan memperkuat sinyal analog yang dihasilkan karena besarnya berada di kisaran 20-200 mV. Agar dapat lebih jelas terlihat pada grafik, maka sinyal tersebut diperkuat 10 kali. Gambar 23 menunjukkan grafik antara besar penguatan terhadap ulangan kombinasi dari tegangan masukan ke rangkaian penguat instrumentasi. Besar penguatan yang diharap kan adalah 10 kali. Dari 10 kombinasi tegangan masukan, hasil yang didapat cenderung berfluktuasi dengan selang nilai penguatan 9,70 hingga 10,50 kali dan rata-rata 10,11 kali. Adanya fluktuasi dapat disebabkan oleh keterbatasan alat pengukuran sehingga kata yang didapat menjadi kurang akurat. Apabila membandingkan nilai tegangan keluaran dan tegangan masukan dari penguat instrumentasi, diperoleh hasil sebgaimana yang terlihat dalam Gambar 24. Gradien dari grafik menunjukkan nilai 9,9921 yang sangat mendekati nilai 10 sehingga dapat dikatakan bahwa rangkaian penguat instrumentasi yang dirancang bekerja dengan baik. Pengujian Low-pass Filter Pengujian low-pass filter dilakukan dengan memberikan sinyal masukan dengan amplitudo sebesar 2V pada rangkaian kemudian mengubah frekuensi sinyal mulai dari 0 Hz hingga 150 Hz. Kemudian dilakukan pengamatan terhadap amplitudo dari sinyal keluaran yang dihasilkan. Penentuan frekuensi
11
cut-off pada titik 60 Hz dimaksudkan agar gangguan sinyal yang muncul pada frekuensi di atas 60 Hz dapat ditekan atau dihilangkan. Gambar 25 menunjukkan grafik respon rangkaian filter terhadap perubahan frekuensi yang diberikan. Hasil pengujian pada rangkaian menghasilkan frekuensi cut-off pada 55 Hz. Adanya perbedaan dapat disebabkan oleh penggunaan komponen yang kurang presisi. Akan tetapi perbedaan ini tidak terlalu mempengaruhi hasil yang ditampilkan pada perangkat lunak. Pengujian Notch Filter Pengujian low-pass filter dilakukan dengan memberikan sinyal masukan dengan amplitudo sebesar 2V pada rangkaian kemudian mengubah frekuensi sinyal mulai dari 0 Hz hingga 105 Hz. Kemudian dilakukan pengamatan terhadap amplitudo dari sinyal
Gambar 25. Grafik respon rangkaian low-pass filter terhadap perubahan frekuensi
keluaran yang dihasilkan. Penentuan frekuensi stop-band pada titik 50 Hz dimaksudkan untuk menekan atau menghilangkan gangguan sinyal yang diakibatkan oleh sumber tegangan AC (PLN). Gambar 26 menunjukkan grafik respon rangkaian filter terhadap perubahan frekuensi yang diberikan. Hasil pengujian pada rangkaian menghasilkan frekuensi stop-band pada 50 Hz. Dengan menggabungkan low-pass filter dan notch filter akan didapat rentang frekuensi kerja 0 Hz hingga 50 Hz. Sedangkan frekuensi di atas 50 Hz akan mengalami pelemahan amplitudo (Gambar 27). Konfigurasi ini berhasil menghasilkan grafik pada perangkat lunak dengan tanpa gangguan sinyal. Pengujian Perangkat Lunak Pengujian perangkat lunak dilakukan terhadap perangkat lunak yang telah dibuat, baik untuk mikrokontroler maupun untuk tampilan. Perangkat lunak pada mikrokontroler berfungsi untuk mengirimkan data digital hasil pengolahan ADC ke komputer dengan potongan kode sebagai berikut. temp=read_adc(0); //suhu=read_adc(1); itoa(temp,buffer); //itoa(suhu,buffsuhu); printf("#A%s$",buffer); delay_ms(10);
Data yang dikirimkan kemudian akan diterima oleh komputer dan diproses oleh program dengan potongan kode sebagai berikut. Private Sub plotterTimer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles plotterTimer.Tick If Me.com.BytesToRead >= 11 Then buffer = Me.com.ReadExisting
Gambar 26. Grafik respon rangkaian notch filter terhadap perubahan frekuensi
For Me.i = 0 To buffer.Length - 1 If buffer.Substring(i, 2) = "#A" Then position1 = i Exit For End If Next For Me.j = position1 + 2 To buffer.Length - 1 If buffer.Substring(j, 1) = "$" Then position2 = j Exit For End If Next
Gambar 27. Grafik respon rangkaian gabungan low-pass dan notch filter terhadap perubahan frekuensi
Me.length = position2 - position1 - 2 ADC1 = buffer.Substring(position1 + 2, length) angka1 = Val(ADC1) tegangan = ((angka1 / 1023) * 5.02)
12
Call drawgraph(tegangan) If Me.btnCount.Text = "Start Counting" Then Else If Me.btnCount.Text = "Counting" Then Call counter(angka1) End If End If End If End Sub
Potongan kode di atas akan memisahkan serangkaian data menjadi data angka yang akan diplot pada grafik. Potongan kode yang berfungsi untuk memplot data pada grafik adalah sebagai berikut. Private Sub drawgraph(ByVal Channel1 As Double) Plotter1.Channels(0).CurrentValue = Channel1 Plotter1.UpdateDisplay() End Sub
Selain membentuk grafik, juga dilakukan perhitungan terhadap banyaknya frekuensi gelombang yang merupakan frekuensi nafas berdasarkan kecenderungan perubahan nilai yang diterima oleh program. Potongan kode yang berfungsi untuk melakukan perhitungan adalah sebagai berikut. Private Sub counter(ByVal nilai1 As Double) average = average + nilai1 average = average / 2 If (nilai1 < y_prev And nilai1 < average) Then y_prev = nilai1 If (status <> "Turun") Then '-- terjadi perubahan arah grafik -count = count + 0.5 Else '-- do nothing -End If status = "Turun" lblCount.Text = count
mendeteksi temperatur nafas selama pengujian. Setelah seluruh perangkat keras terkoneksi, perangkat lunak dapat dijalankan. Tampilan dari perangkat lunak dapat dilihat pada Gambar 20. Pada bagian atas terdapat panel yang akan menampilkan grafik pernafasan. Sedangkan pada bagian bawah terdapat panel yang menampilkan jumlah total nafas, frekuensi nafas, durasi pengujian, serta beberapa tombol kontrol. Hasil pengujian perangkat lunak yang terdapat pada Gambar 28 menunjukkan grafik pernafasan selama 1 menit terakhir pengujian dengan durasi pengujian selama 2 menit. Jumlah nafas selama durasi tersebut terekam sebanyak 28,5 kali dengan frekuensi nafas sebanyak 14 kali nafas setiap menitnya. Frekuensi nafas sebanyak 14 kali setiap menitnya menunjukkan bahwa subjek uji yaitu orang dewasa bernafas dengan normal. Hasil ini didapat dengan melakukan pengujian di dalam ruangan. Dari grafik yang terlihat pada Gambar 28 terlihat puncak yang menunjukkan kondisi menghembuskan nafas dan lembah yang menunjukkan kondisi menghirup nafas dengan amplitudo sekitar 0,5 V dengan interval nafas sekitar 4 detik untuk satu kali bernafas. Sebagai data pembanding, dilakukan uji yang sama di luar ruangan dengan hasil yang terlihat pada Gambar 29. Jumlah nafas selama durasi pengujian terekam sebanyak 45,5 kali dengan frekuensi nafas sebanyak 14,5 kali nafas setiap menitnya. Frekuensi nafas sebanyak 14,5 kali setiap menitnya menunjukkan bahwa subjek uji yaitu orang dewasa bernafas dengan normal.
ElseIf (nilai1 > y_prev And nilai1 > average) Then y_prev = nilai1 If (status <> "Naik") Then '-- terjadi perubahan arah grafik -count = count + 0.5 Else '-- do nothing -End If status = "Naik" lblCount.Text = count Else End If End Sub
Pengujian Prototipe Pemantau Pernafasan Pengujian prototipe dilakukan dengan menghubungkan perangkat keras dan komputer menggunakan kabel serial dan Serial to USB Converter seperti terlihat pada Gambar 18. Selain itu, catu daya sebesar +/- 12 V digunakan sebagai sumber tegangan rangkaian dan termokopel digunakan untuk
Gambar 28. Tampilan perangkat lunak ketika melakukan pengujian di dalam ruangan
13
Gambar 29. Tampilan perangkat lunak ketika melakukan pengujian di luar ruangan
Gambar 31. Tampilan perangkat lunak untuk pengujian kepada subjek uji ketiga
Jika dibandingkan antara Gambar 28 dengan Gambar 29, terlihat bahwa amplitudo grafik yang dihasilkan pada pengujian di luar ruangan lebih rendah. Hal ini dikarenakan temperatur ambang di luar ruangan lebih tinggi daripada temperatur ambang di dalam ruangan sehingga selisih temperatur yang diperoleh ketika menghirup dan menghembuskan nafas menjadi lebih rendah. Ketika dilakukan uji dengan subjek uji anak-anak, maka didapatkan hasil grafik seperti pada Gambar 30. Jumlah nafas selama durasi pengujian terekam sebanyak 50 kali dengan frekuensi nafas sebanyak 22,5 kali nafas setiap menitnya. Jika berdasarkan pada data mengenai frejuensi pernafasan umum yang terdapat pada tinjauan pustaka, maka nilai frekuensi pernafasan subjek uji kedua tergolong normal untuk anak-anak. Hasil dengan subjek uji yang berbeda juga terlihat seperti pada Gambar 31. Jumlah nafas selama durasi pengujian terekam sebanyak 35 kali dengan frekuensi nafas sebanyak 11,3 kali nafas setiap menitnya. Jika hanya mengacu pada data mengenai frejuensi pernafasan umum yang terdapat pada tinjauan pustaka, maka nilai frekuensi pernafasan subjek uji ketiga tergolong tidak normal karena lebih rendah dari nilai frekuensi ratarata untuk orang dewasa.
Penting untuk diketahui bahwa prototipe ini masih perlu dikembangkan lebih lanjut sehingga masih belum dapat digunakan untuk menentukan secara langsung normal atau tidaknya kondisi subjek uji. Untuk itu perlu dilakukan diagnosa lebih lanjut oleh dokter.
Gambar 30. Tampilan perangkat lunak untuk pengujian kepada subjek uji kedua
14
KESIMPULAN DAN SARAN Kesimpulan Prototipe yang telah dibuat dapat menunjukkan perubahan tegangan yang timbul selama proses pernafasan berdasarkan perubahan temperatur sehingga dapat diolah menjadi grafik. Perangkat lunak yang telah dibuat mampu menampilkan grafik perubahan tegangan terhadap waktu pernafasan dan menghitung frekuensi pernafasan serta jumlah total nafas yang dilakukan selama periode pengujian. Pengujian prototipe menunjukkan perbedaan hasil untuk subjek uji yang berbeda. Hal ini karena setiap subjek uji memiliki ciri khas tersendiri dalam bernafas.
Saran Penelitian ini perlu dikembangkan lebih lanjut agar prototipe dan perangkat lunak dapat bekerja dengan lebih baik. Diharapkan komponen yang digunakan dapat memiliki tingkat presisi yang lebih tinggi agar hasil pengukuran menjadi lebih akurat. Selain itu, perlu dikembangkan adanya interpretasi terhadap grafik yang muncul sehingga dapat diketahui apabila terjadi gangguan pada pernafasan. Penggunaan analisis Fast-Fourier Transform dapat menjadi alternatif untuk melakukan interpretasi.
DAFTAR PUSTAKA [Anonim]. 2008. 8-bit AVR Microcontroller with 32K Bytes In-System Programmable Flash. ATMEL Corporation. [15 Maret 2009]. [Anonim]. 2009. Respiratory Rate. http://en.wikipedia.org/wiki/Respiratory_r ate [9 Maret 2009]. Adams, Francis V. 1998. The Breathing Disorders Sourcebook. NTC Contemporary. Carr, Joseph J. 1993. Sensors and circuits: sensors, transducers, and supporting circuits for electronic instrumentation, measurement, and control. Prentice Hall: New Jersey. Farré R, Montserrat JM, Rotger M, Ballester E, Navajas D. 1998. Accuracy of thermistors and thermocouples as flowmeasuring devices for detecting hypopnoeas. Eur Respir J; 11:179–182. Jovanov, E, Raskovic, D, Hormigo, R. 2001. Thermistor-based Breathing Sensor for Circadian Rhythm Evaluation. Biomed Sci Instrum. 37:493-7. Kularatna, N. 2008. Electronic circuit design: from concept to implementation. CRC Press. Webster, John G. 2006. Encylopedia of medical devices & instrumentation, Secon Edition, Volume 6. John Wiley & Sons.
15
LAMPIRAN
16
Lampiran 1. Diagram alir penelitian
Penentuan spesifikasi alat yang akan dibuat
. Karakterisasi sensor
Perancangan perangkat keras .
Perancangan perangkat lunak
Pembuatan prototipe
Integrasi sistem dan pengujian
Hasil
Skripsi
Lampiran 2. Skema rangkaian
17
18
Lampiran 3. Data Pengujian Termistor Hasil Pengukuran temperatur (°C) resistansi (k) 26.5 5.57 27 5.5 27.5 5.45 28 5.33 28.5 5.23 29 5.18 29.5 5.09 30 5 30.5 4.98 31 4.83 31.5 4.76 32 4.7 32.5 4.61 33 4.53 33.5 4.46 34 4.39 34.5 4.31 35 4.24 35.5 4.16 36 4.09 36.5 4.01 37 3.94
Lampiran 4. Data Perubahan temperatur waktu (s) temperatur (°C) waktu (s) 1 30.6 31 2 32.4 32 3 32.6 33 4 32.8 34 5 32.2 35 6 28.3 36 7 27.9 37 8 28.2 38 9 32.4 39 10 32.7 40 11 32.5 41 12 30.3 42 13 28.8 43 14 28.2 44 15 29.5 45 16 32.2 46 17 32.5 47 18 31.1 48 19 29.5 49 20 28.1 50 21 30.5 51 22 31.9 52 23 32.5 53
Hasil Perhitungan temperatur (°C) 25 26.5 27 27.5 28 28.5 29 29.5 30 30.5 31 31.5 32 32.5 33 33.5 34 34.5 35 35.5 36 36.5 37
temperatur (°C) 28.8 29.1 31.7 32.4 32.3 30.8 29.5 29.2 32 32.5 31.5 30.6 29.6 29.9 31.9 32.5 31.8 30.1 29.2 29.6 32.2 32.5 32
waktu (s) 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
resistansi (k) 5 4.67 4.56 4.46 4.36 4.26 4.17 4.08 3.99 3.90 3.81 3.73 3.65 3.57 3.49 3.42 3.34 3.27 3.20 3.13 3.07 3.00 2.94
temperatur (°C) 28.9 28.5 32.1 32.6 32.5 31.4 28.7 28.5 29.4 32.2 32.6 31.7 29.4 28.9 28.5 30.9 32.4 32.6 31.2 29.4 29.1 30.4 32.1
19
Lanjutan Lampiran 4 waktu (s) temperatur (°C) 24 32 25 28.9 26 28.2 27 31.8 28 32.3 29 31.6 30 29.5
waktu (s) 54 55 56 57 58 59 60
temperatur (°C) 30.3 29.3 28.9 31.8 32.5 32.5 31.8
waktu (s) 84 85 86 87 88 89 90
temperatur (°C) 32.5 31.1 29.8 29.3 29.5 31.6 32.3
Lampiran 5. Data Pengujian Penguat Instrumentasi Ulangan 1 2 3 4 5 6 7 8 9 10
VA (V) 2.28 2.32 2.46 2.57 2.43 2.38 2.47 2.37 2.43 2.41
VB (V) VA - VB (V) 2.33 -0.05 2.34 -0.02 2.35 0.11 2.35 0.22 2.34 0.09 2.36 0.02 2.34 0.13 2.35 0.02 2.34 0.09 2.34 0.07 Rata-rata
Lampiran 6. Data Pengujian Low Pass Filter Vin 2 V Frekuensi (Hz) Vout (V) 5 2 10 2 15 2 20 1.98 25 1.96 30 1.92 35 1.8 40 1.72 45 1.64 50 1.52 55 1.4 60 1.28 65 1.16 70 1.04 75 0.96 85 0.76 95 0.64 105 0.52 125 0.4 150 0.32
Vout (V) -0.51 -0.21 1.08 2.18 0.92 0.21 1.32 0.20 0.91 0.68
Penguatan 10.20 10.50 9.82 9.91 10.22 10.50 10.15 10.00 10.11 9.71 10.11
Lampiran 7. Data Pengujian Notch Filter Vin 2 V Gain 1.5 Frekuensi (Hz) Vout (V) 0 3 2 3 5 3 10 2.94 15 2.9 20 2.85 25 2.65 30 2.4 35 2 40 1.4 45 0.9 50 0.1 55 0.4 60 0.9 65 1.3 70 1.6 75 1.9 80 2.2 85 2.3 90 2.4 95 2.5 100 2.54 105 2.62
20
Lampiran 8.Gambar
Instalasi prototipe pemantau pernafasan
Multimeter digital Sanwa CD800a
Termokopel dan multimeter digital Beamex MC2-MF
Rangkaian analog dan mikrokontroler
Pembangkit sinyal GFG-8255A
Osiloskop GDS-810S
21
Lampiran 9. Source Code Program Mikrokontroler /***************************************************** This program was produced by the CodeWizardAVR V2.03.4 Standard Automatic Program Generator © Copyright 1998-2008 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com Project : Version : Date : Author : Company : Comments:
Chip type : ATmega32 Program type : Application Clock frequency : 4.000000 MHz Memory model : Small External RAM size : 0 Data Stack size : 512 *****************************************************/ #include <mega32.h> // Standard Input/Output functions #include <stdio.h> #include <stdlib.h> #include <delay.h> #define ADC_VREF_TYPE 0x00 // Read the AD conversion result unsigned int read_adc(unsigned char adc_input) { ADMUX=adc_input | (ADC_VREF_TYPE & 0xff); // Delay needed for the stabilization of the ADC input voltage delay_us(10); // Start the AD conversion ADCSRA|=0x40; // Wait for the AD conversion to complete while ((ADCSRA & 0x10)==0); ADCSRA|=0x10; return ADCW; } // Declare your global variables here void main(void) { // Declare your local variables here unsigned int temp; //unsigned int suhu; //unsigned char buffsuhu[8]; unsigned char buffer[8]; // Input/Output Ports initialization
22
// Port A initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTA=0x00; DDRA=0x00; // Port B initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTB=0x00; DDRB=0x00; // Port C initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0x00; DDRC=0x00; // Port D initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0x00; DDRD=0x00; // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=FFh // OC0 output: Disconnected TCCR0=0x00; TCNT0=0x00; OCR0=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer 1 Stopped // Mode: Normal top=FFFFh // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off // Input Capture on Falling Edge // Timer 1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 2 initialization // Clock source: System Clock
23
// Clock value: Timer 2 Stopped // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00; // External Interrupt(s) initialization // INT0: Off // INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00; // USART initialization // Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On // USART Transmitter: On // USART Mode: Asynchronous // USART Baud Rate: 19200 UCSRA=0x00; UCSRB=0x18; UCSRC=0x86; UBRRH=0x00; UBRRL=0x0C; // Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80; SFIOR=0x00; // ADC initialization // ADC Clock frequency: 62.500 kHz // ADC Voltage Reference: AREF pin ADMUX=ADC_VREF_TYPE & 0xff; ADCSRA=0x86; while (1) { // Place your code here temp=read_adc(0); //suhu=read_adc(1); itoa(temp,buffer); //itoa(suhu,buffsuhu); printf("#A%s$",buffer); delay_ms(10); }; }
24
Lampiran 10. Source Code Program Monitor Pernafasan Imports System.Threading Imports System.IO.Ports Imports System.Threading.Interlocked Public Class MainForm Dim com As New SerialPort Dim portname As String Dim tabung As String Dim position1 As Integer Dim position2 As Integer Dim length As Integer Dim i, j, k, l, m, n, o, time As Integer Dim tegangan As Double Dim flag As Boolean Dim buffer As String Dim ADC1 As String Dim ADC2 As String Dim suhu As Single Dim angka1 As Double Dim angka2 As Integer Dim count As Double = 0 Dim average As Double = 0 Dim status As String = "" Dim y_prev As Double = 0
Public Sub New() ' This call is required by the Windows Form Designer. InitializeComponent() ' Add any initialization after the InitializeComponent() call. Me.Plotter1.Channels.Item(0).Enabled = True Me.Plotter1.Channels.Item(0).YAxisName = "Voltage (V)" Me.Plotter1.Channels.Item(0).ChannelColor = Color.Blue Me.Plotter1.Channels.Item(0).MinimumValue = 0 Me.Plotter1.Channels.Item(0).MaximumValue = 5 Me.plotterTimer.Enabled = False 'AddHandler Me.plotterTimer.Elapsed, New ElapsedEventHandler(AddressOf Me.plotterTimer_Elapsed) 'AddHandler Me.Plotter1.PlotterStateChanged, New PlotterEventHandler(AddressOf Me.plotter_PlotterStateChanged) Me.yAxisLabel.Text = Me.Plotter1.ActiveChannel.YAxisName Me.yAxisLabel.ForeColor = Me.Plotter1.ActiveChannel.ChannelColor Me.btnStop.Enabled = False End Sub Public Sub reset2() ' This call is required by the Windows Form Designer. InitializeComponent() ' Add any initialization after the InitializeComponent() call. Me.Plotter1.Channels.Item(0).Enabled = True
25
Me.Plotter1.Channels.Item(0).YAxisName = "Voltage (V)" Me.Plotter1.Channels.Item(0).ChannelColor = Color.Blue Me.Plotter1.Channels.Item(0).MinimumValue = 0 Me.Plotter1.Channels.Item(0).MaximumValue = 5 Me.plotterTimer.Enabled = False 'AddHandler Me.plotterTimer.Elapsed, New ElapsedEventHandler(AddressOf Me.plotterTimer_Elapsed) 'AddHandler Me.Plotter1.PlotterStateChanged, New PlotterEventHandler(AddressOf Me.plotter_PlotterStateChanged) Me.yAxisLabel.Text = Me.Plotter1.ActiveChannel.YAxisName Me.yAxisLabel.ForeColor = Me.Plotter1.ActiveChannel.ChannelColor Me.btnStop.Enabled = False Me.scancommport() If cboCommPort.Items.Count <> 0 And com.IsOpen = False Then com.PortName = cboCommPort.Items(0).ToString() com.Open() End If count = 0 average = 0 status = "" End Sub Private Sub MainForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.scancommport() If cboCommPort.Items.Count <> 0 And com.IsOpen = False Then com.PortName = cboCommPort.Items(0).ToString() com.Open() End If End Sub Private Sub scancommport() Try If com.IsOpen = True Then Me.com.Close() End If Me.cboCommPort.Items.Clear() flag = False For Each sp As String In My.Computer.Ports.SerialPortNames cboCommPort.Items.Add(sp) cboCommPort.Text = cboCommPort.Items(0) portname = cboCommPort.Items(0) Next com.PortName = Me.cboCommPort.Text com.BaudRate = 19200 com.DataBits = 8 com.Parity = IO.Ports.Parity.None com.ReadBufferSize = 32 flag = True Catch ex As Exception
26
MessageBox.Show(ex.Message, "Kesalahan", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try End Sub Private Sub btnScan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnScan.Click Me.scancommport() End Sub Private Sub cboCommPort_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboCommPort.SelectedIndexChanged If (com.IsOpen = True) And flag = True Then com.Close() com.PortName = cboCommPort.Items(cboCommPort.SelectedIndex) com.Open() ElseIf flag = True Then com.PortName = cboCommPort.Items(cboCommPort.SelectedIndex) com.Open() End If End Sub Private Sub btnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.Click Me.plotterTimer.Enabled = True Me.Plotter1.Start() Me.tslblConnection.Text = "Connected on " & com.PortName Me.tslblConnection.ForeColor = Color.Blue Me.cboCommPort.Enabled = False Me.btnScan.Enabled = False Me.btnStart.Enabled = False Me.btnStop.Enabled = True End Sub Private Sub btnStop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStop.Click Me.plotterTimer.Enabled = False Me.Plotter1.Stop() Me.tslblConnection.Text = "Disconnected" Me.tslblConnection.ForeColor = Color.Red Me.cboCommPort.Enabled = True Me.btnScan.Enabled = True Me.btnStop.Enabled = False Me.btnStart.Enabled = True Me.btnCount.Enabled = True Me.btnCount.Text = "Start Counting" stopwatch.Enabled = False End Sub Private Sub counter(ByVal nilai1 As Double) average = average + nilai1 average = average / 2 If (nilai1 < y_prev And nilai1 < average) Then y_prev = nilai1
27
If (status <> "Turun") Then '-- terjadi perubahan arah grafik -count = count + 0.5 Else '-- do nothing -End If status = "Turun" lblCount.Text = count ElseIf (nilai1 > y_prev And nilai1 > average) Then y_prev = nilai1 If (status <> "Naik") Then '-- terjadi perubahan arah grafik -count = count + 0.5 Else '-- do nothing -End If status = "Naik" lblCount.Text = count Else End If End Sub Private Sub drawgraph(ByVal Channel1 As Double) Plotter1.Channels(0).CurrentValue = Channel1 Plotter1.UpdateDisplay() End Sub Private Sub plotterTimer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles plotterTimer.Tick If Me.com.BytesToRead >= 11 Then buffer = Me.com.ReadExisting '==================grafik==================== For Me.i = 0 To buffer.Length - 1 If buffer.Substring(i, 2) = "#A" Then position1 = i Exit For End If Next For Me.j = position1 + 2 To buffer.Length - 1 If buffer.Substring(j, 1) = "$" Then position2 = j Exit For End If Next Me.length = position2 - position1 - 2 ADC1 = buffer.Substring(position1 + 2, length) angka1 = Val(ADC1) tegangan = ((angka1 / 1023) * 5.02) Call drawgraph(tegangan) If Me.btnCount.Text = "Start Counting" Then Else If Me.btnCount.Text = "Counting" Then Call counter(angka1)
28
End If End If End If End Sub Private Sub btnReset_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReset.Click Me.panelPlotter.Dispose() Me.panelSettings.Dispose() StatusStrip1.Dispose() Call reset2() End Sub Private Sub btnCount_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCount.Click If Me.btnStart.Enabled = True Then Else stopwatch.Enabled = True lblAngka1.Text = 0 lblAverage1.Text = 0 Me.btnCount.Text = "Counting" Me.btnCount.Enabled = False End If End Sub Private Sub stopwatch_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles stopwatch.Tick If stopwatch.Enabled Then lblAverage1.Text += 1 If lblAverage1.Text > 59 Then lblAverage1.Text = 0 lblAngka1.Text += 1 lblAverage.Text = Math.Round((count / lblAngka1.Text), 1) End If End If End Sub Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click Me.Close() End Sub End Class
Lampiran 11. Datasheet Termistor
29
30
31
32
33
Lampiran 12. Datasheet ATMega32
34
35
36
Lampiran 13. Datasheet TL084
37
38
39