TUGAS AKHIR RANCANG BANGUN ALAT KALIBRASI SUHU, TEKANAN UDARA, DAN KECEPATAN PUTARAN PADA INSTRUMEN MEDIK Diajukan Guna Melengkapi Sebagian Syarat Dalam mencapai Gelar Sarjana Strata Satu (S1)
Disusun Oleh : Nama NIM Program Studi
: Deddy Purnama K : 4140411 - 111 : Teknik Elektro
PROGRAM STUDI TEKNIK ELEKTRONIKA FAKULTAS TEKNOLOGI INDUSTRI UNIVERSITAS MERCU BUANA JAKARTA 2008
LEMBAR PERNYATAAN
Yang bertanda tangan di bawah ini,
Nama N.I.M Jurusan Fakultas Judul Skripsi
: Deddy Purnama Kusfernadi : 4140411 -111 : Teknik Elektro : Teknologi Industri : Rancang Bangun Alat Kalibrasi Suhu, Tekanan Udara, dan Kecepatan Putaran Pada Instrumen Medik
Dengan ini menyatakan bahwa hasil penulisan Skripsi yang telah saya buat ini merupakan hasil karya sendiri dan benar keasliannya. Apabila ternyata di kemudian hari penulisan Skripsi ini merupakan hasil plagiat atau penjiplakan terhadap karya orang lain, maka saya bersedia mempertanggungjawabkan
sekaligus
bersedia
menerima
sanksi
berdasarkan aturan tata tertib di Universitas Mercu Buana. Demikian, pernyataan ini saya buat dalam keadaan sadar dan tidak dipaksakan.
Penulis,
[
ii
]
LEMBAR PENGESAHAN
RANCANG BANGUN ALAT KALIBRASI SUHU, TEKANAN UDARA, DAN KECEPATAN PUTARAN PADA INSTRUMEN MEDIK
Disusun Oleh : Nama NIM Jurusan
: Deddy Purnama Kusfernadi : 4140411 - 111 : Teknik Elektro
Mengetahui Koordinator TA / KaProdi
Pembimbing
( Ir. Eko Ihsanto, M.Eng )
( Yudhi Gunardi MT. )
iii
ABSTRAKSI
RANCANG BANGUN ALAT KALIBRASI SUHU, TEKANAN UDARA, DAN KECEPATAN PUTARAN PADA INSTRUMEN MEDIK
Dengan semakin meningkatnya kesejahteraan masyarakat, maka tuntutan pelayanan di bidang kesehatan semakin meningkat pula. Hal tersebut tidak hanya ditunjang dari kecanggihan teknologi instrumen yang dimiliki, tetapi tidak kalah pentingnya adalah keakurasian dari instrumen yang digunakan. Peneraan atau pengkalibrasian instrumen medik secara berkala mutlak dilakukan untuk menjaga keakurasian pengukuran. Tujuan penulisan adalah membuat alat yang dapat menjadi acuan untuk melakukan peneraan alat medik yang memiliki pengukuran parameter suhu, tekanan udara, dan kecepatan putaran. Adapun pada setiap parameter terdiri dari beberapa satuan yang umum digunakan pada beberapa alat medik. Pada parameter suhu terdiri atas satuan Celcius, Fahrenheit, Kelvin dan Reamur, untuk parameter tekanan terdiri atas kiloPascal (kPa), mmHg dan Psi. Sedangkan untuk parameter kecepatan hanya menampilkan dalam satuan RPM Pada perancangan pembuatan alat kalibrasi dengan parameter suhu, tekanan dan kecepatan ini, penulis membaginya kedalam beberapa blok diagram, yaitu blok sensor suhu, blok sensor tekanan, blok sensor kecepatan, blok saklar pemilihan, blok ADC, blok mikrokontroller dan blok display dan indikator. Satuan standar hasil pembacaan sensor suhu dan tekanan adalah Celcius dan kPa, sedangkan untuk satuan yang lain adalah hasil konversi yang dilakukan oleh mikrokontroller sesuai persamaan yang sudah ditetapkan secara internasional. Untuk sensor kecepatan putaran dibuat berdasarkan resolusi yang diinginkan dalam hal ini penulis membuat sensor yang memiliki resolusi 10. Pengujian dilakukan dengan mengukur pada titik-titik pengukuran yang sudah ditetapkan pada alat yang dibuat kemudian membandingkan hasil pengukuran tersebut dengan beberapa alat standar sebagai acuan diantaranya, thermometer air raksa, DPM-3, spygmomanometer aneroid, osiloskop, dan tachometer digital. Analisa data dilakukan dengan dua cara yaitu membandingkan berdasarkan hasil teori atau hasil perhitungan dan dengan membandingkan pembacaan pada alat acuan.
iv
KATA PENGANTAR Bismillahirrahmanirrahim, Alhamdulillah, segala puji dan syukur bagi Allah SWT yang telah melimpahkan rahmat, hidayah dan karunia-Nya kepada hamba-hamba-Nya terutama kepada penulis sehingga penulis dapat menyelesaikan karya tulis ini. Tidak lupa Sholawat dan Salam penulis sampaikan kepada junjungan kita Nabi Besar Muhammad SAW. Penyusunan karya tulis ini merupakan salah satu syarat untuk dapat menyelesaikan pendidikan Strata I pada Universitas Mercu Buana. Adapun judul karya tulis ini adalah: “RANCANG BANGUN ALAT KALIBRASI SUHU, TEKANAN UDARA, DAN KECEPATAN PUTARAN PADA INSTRUMEN MEDIK ” Pada kesempatan ini penulis ingin mengucapkan terima kasih kepada semua pihak yang telah membantu baik secara materil maupun moril dalam menyelesaikan semua tugas akhir yang salah satunya adalah karya tulis ini, antara lain ditujukan kepada : 1. Bapak Eko Ihsanto selaku pembimbing yang telah memberikan bimbingannya sehingga penulis dapat menyelesaikan karya tulis ini. 2. Ayahanda, Ibunda, kakak-kakak dan adik yang telah memberikan dorongan semangat dan doa kepada penulis. 3. Rekan-rekan Universitas Mercu Buana yang telah memberikan dorongan dan inspirasi kepada penulis 4. PT. Trikomsel Oke, yang telah meminjamkan osiloskop untuk proses pendataan. 5. Ibu Rahma, RS MH Thamrin Salemba, yang telah meminjamkan DPM-3 dan tachometer digitalnya untuk proses pendataan. Dengan segenap kerendahan hati dan keterbatasan yang dimiliki, penulis menyadari bahwa karya tulis ini jauh dari kesempurnaan, oleh karena itu penulis
v
mengharapkan segala kritik dan saran yang membangun untuk penyempurnaan pembuatan karya tulis lainnya di masa mendatang.
Jakarta,
Maret 2008
Penulis
vi
DAFTAR ISI Halaman Judul ..........................................................................................
i
Halaman Pernyataan .................................................................................
ii
Halaman Pengesahan ................................................................................
iii
Abstraksi ...................................................................................................
iv
Kata Pengantar ............…………………………………………………..
v
Daftar Isi ….......…………………………………………………………. vii Daftar Gambar ….........………………………………………………….. x Daftar Tabel .............…………………………………………………….. xii BAB I
PENDAHULUAN ………………………………………. 1 1.1 Latar Belakang Masalah …………………………….. 1 1.2 Tujuan Penulisan .. …..………………………………
2
1.3 Pembatasan Masalah…………………………………. 2 1.4 Metode Penulisan ……………………………………. 2 1.5 Sistematika Penulisan ……………………………….. 3 BAB II
TEORI DASAR …………………………………………. 5 2.1 Gambaran Umum Alat Kalibrasi Medik ………….…. 5 2.2 Sensor ..……… ………………………………….….. 6 2.2.1 Sensor Tekanan Udara MPX5050 ........... …...… 7 2.2.2 Sensor Temperatur LM35 ................…………… 9 2.2.3 Sensor Kecepatan Putaran .....................…..…… 10 2.3 Penguat Operasional (Operational Amplifier)………... 11 2.3.1 Penguat Tak Membalik …............................…..
12
2.3.2 Tapis Lolos Bawah ( Low Pass Fillter ) ………. 14 2.4 Mikrokontroller AT89C51 …………………………..
16
2.4.1 Fungsi Penyemat Mikrokontroller AT89C51 …. 18 2.4.2 Organisasi Memori …………………………….. 20 2.4.3 Pewaktu CPU …………………………………... 20 2.4.4 Special Function Register ……………………… 21
vii
2.4.5 Sistem Penyelaan (Interupt) …………………… 24 2.5 Analog to Digital Converter 0804 ...…………………. 24 2.6 Schmitt Triger 74LS14 …………….………………… 28 2.7 Multiplexer Analog 4051 …………...……………….. 29 2.8 LCD (Liquid Crystal Display) ….…………………… 30 2.8.1 Konfigurasi Pin LCD ………………………….. 31 2.8.2 Pemrograman LCD ……………………………. 31 2.8.3 Memori Display LCD ......................................... 33 BAB III
PERANCANGAN ALAT ………………………………
34
3.1 Spesifikasi Sistem ………………………….………... 34 3.1.1 Spesifikasi Fungsional …………………………
34
3.1.2 Spesifikasi Teknis ……………………………… 34 3.2 Perencanaan Blok Diagram ………………………….
35
3.2.1 Blok Rangkaian Sensor Tekanan Udara ……….. 36 3.2.2 Blok Rangkaian Sensor Temperatur .................... 36 3.2.3 Blok Rangkaian Sensor Kecepatan ...................... 36 3.2.4 Blok Saklar Pemilihan .......................................... 36 3.2.5 Blok Analog to Digital Converter ........................ 37 3.2.6 Blok Rangkaian Mikrokontroller .......................... 37 3.2.7 Blok Rangkaian Display dan Indikator ................ 37 3.3 Perencanaan Rangkaian Sensor …………………....... 37 3.3.1 Perencanaan Rangkaian Sensor Temperatur .….. 37 3.3.2 Perencanaan Rangkaian Sensor Tekanan ……...
39
3.3.3 Perencanaan Rangkaian Sensor Kecepatan …… 41 3.4 Perencaaan Rangkaian ADC ………………………… 42 3.5 Perencanaan Rangkaian Mikrokontroller ……………
44
3.6 Perencanaan Rangkaian Pemilihan Sensor ………….. 45 3.7 Perencanaan Rangkaian Display ……………...……... 46 3.8 Perencanaan Perangkat Lunak (Software)…………… BAB IV
47
PENGUJIAN ALAT .…………….……………………… 50
viii
4.1 Persiapan Alat Pengujian…………………………….. 50 4.2 Pengujian Alat …...…………………………………..
50
4.2.1 Pengujian Rangkaian Mikrokontroller ……….. 51 4.2.2 Pengujian Rangkaian LCD …………………… 52 4.2.3 Pengujian Rangkaian Sensor Suhu …………… 53 4.2.4 Pengujian Rangkaian Sensor Tekanan ………..
54
4.2.5 Pengujian Rangkaian Sensor Kecepatan ……… 55 4.3. Analisa Data ………………………………………... 56 4.3.1 Analisa Pengukuran Temperatur ........................ 56 4.3.2 Analisa Pengukuran Tekanan ............................ 57 4.3.3 Analisa Pengukuran Parameter Kecepatan ........ 57 4.4 Persentase Kesalahan………………………………… 58 BAB V
PENUTUP ………………………………………………
59
5.1 Kesimpulan ………………………………………….
59
5.2 Saran-saran ………………………………………….
59
DAFTAR PUSTAKA …………………………………………………… 60 LAMPIRAN ……………………………………………………………..
ix
61
DAFTAR GAMBAR Gambar 2.1
Universal Biometer Model DPM – III ……………...... 6
Gambar 2.2
Penggunaan sekat berongga untuk mengukur tekanan .. 7
Gambar 2.3
Proses pengukuran perbedaan tekanan menggunakan sekat berongga …………………………………….… 8
Gambar 2.4
Sensor Suhu LM 35 ......……………….…………….. 9
Gambar 2.5
Simbol optocoupler ………………………………….. 10
Gambar 2.6
Simbol Operasional Amplifier ……………………....
11
Gambar 2.7
Op-Amp Sebagai Penguat Tak Membalik ………….
13
Gambar 2.8
Tapis Lolos Bawah ………………………………….. 14
Gambar 2.9
Kurva Tanggapan Frekuensi Tapis Lolos Bawah .......
Gambar 2.10
Diagram Blok Mikrokontroler AT89C51 ………….... 17
Gambar 2.11
Konfigurasi Pin Mikrokontroler AT89C51………….. 18
Gambar 2.12
Osilator Internal sebagai Sumber Pendetak ………… 20
Gambar 2.13
Digram Blok ADC dengan Metode Succesive
15
Approximation …………………………………….... 26 Gambar 2.14
Konfigurasi Pena ADC 0804…….…………………... 27
Gambar 2.15
Gangguan pada sinyal digital ….…………………….. 28
Gambar 2.16
Contoh sinyal digital yang sempurna ………………..
28
Gambar 2.17
Konfigurasi Penyemat IC 74LS14 ...………………...
29
Gambar 2.18
Konfigurasi Penyemat IC 4051 ....…………………...
29
Gambar 2.19
Konfigurasi Penyemat LCD .....……………………...
31
Gambar 3.1
Diagram Blok Instrumen Kalibrasi Tekanan Udara, Temperatur, dan Kecepatan Putaran ……………….... 35
Gambar 3.2
Rancangan Rangkaian Sensor Temperatur ………….
38
Gambar 3.3
Rancangan Rangkaian Sensor Tekanan ......................
39
Gambar 3.4
Rangkaian Sensor Kecepatan .....................................
42
Gambar 3.5
Rangkaian ADC 0804 ................................................
43
Gambar 3.6
Rangkaian Mikrokontroller ………………………....
44
Gambar 3.7
Rangkaian Pemilihan Sensor ………………………... 45
x
Gambar 3.8
Rangkaian Display .......................……………….......
46
Gambar 3.9
Diagram Alur Program Alat Kalibrasi ……………....
48
xi
DAFTAR TABEL Tabel 2.1
Tabel Kebenaran IC 4051 ……………..………..........….. 30
Tabel 3.1
Contoh Hasil Perhitungan Masing-Masing keluaran ........
39
Tabel 3.2
Pemilihan Sensor ..............................................................
46
Tabel 4.1
Hasil Pendataan Suhu oC ................................................... 54
Tabel 4.2
Hasil Pendataan Satuan kPa ............................................... 54
Tabel 4.3
Hasil Pendataan Pengukuran Kecepatan ............................ 55
Tabel 4.4
Analisa Pada TP 1 ............................................................. 56
Tabel 4.5
Analisa Pada TP 2 ............................................................. 57
Tabel 4.6
Analisa Pada TP 3 ............................................................. 57
xii
BAB I PENDAHULUAN 1.1
Latar Belakang Masalah Dengan semakin meningkatnya kesejahteraan masyarakat, maka tuntutan
pelayanan di bidang kesehatan semakin meningkat pula. Hal tersebut tidak hanya ditunjang dari kecanggihan teknologi instrumen yang dimiliki, tetapi tidak kalah pentingnya adalah keakurasian dari instrumen yang digunakan. Pada bidang kedokteran, alat-alat kesehatan penunjang medik atau yang biasa disebut instrumen medik adalah salah satu bagian terpenting di dalam proses pendiagnosaan atau pemeriksaan penyakit yang diderita pasien. Untuk itu peranan instrumen medik ini di rumah sakit ataupun tempat pelayanan medik lainnya sangatlah vital dan penggunaannya harus dilakukan secara benar sehingga akan didapat hasil pengukuran yang tepat dan akurat. Instrumen medik tidaklah sama dengan instrumen-instrumen lainnya. Instrumen medik memiliki tanggung jawab moral yang besar, karena secara langsung maupun tidak langsung berhubungan dengan manusia sebagai objeknya. Keamanan dan keakuratan menjadikannya sangat penting dalam penggunaan. Kesalahan pendiagnosaan seorang dokter sangat mungkin terjadi karena tidak akuratnya instrumen yang digunakan. Hal ini tentu akan berlanjut dengan salahnya pengambilan keputusan untuk melakukan tindakan medik yang harus dilakukan terhadap pasien. Hal-hal tersebut dapat saja dihindari dengan melakukan peneraan atau pengkalibrasian alat secara berkala. Peneraan atau pengkalibrasian tersebut dilakukan guna memastikan bahwa instrumen yang digunakan masih berada dalam batas toleransi acuan yang telah ditetapkan. Dari latar belakang tersebut penulis tertarik untuk membuat dan membahas alat tersebut. Adapun judul karya tulis tersebut adalah:
2
“RANCANG BANGUN ALAT KALIBRASI SUHU, TEKANAN UDARA, DAN KECEPATAN PUTARAN PADA INSTRUMEN MEDIK” Dalam hal ini penulis berusaha membuat atau merancang alat kalibrasi medik dengan parameter suhu, tekanan udara, dan kecepatan. Adapun setiap parameter tersebut memiliki beberapa satuan yang banyak digunakan di dalam alat-alat medik. 1.2
Tujuan Penulisan Membuat atau merancang bangun alat kalibrasi instrumen medik dengan
parameter
suhu,
tekanan
udara,
dan
kecepatan
dengan
menggunakan
mikrokontroller AT89C51. Menganalisa dan menguji alat yang dibuat kemudian membandingkan hasil pengujian dengan teori yang relevan, selain itu juga membandingkan hasil pengukuran dari alat yang dibuat dengan alat sesungguhnya berdasarkan parameter yang diukur. 1.3
Pembatasan Masalah Dalam perencanaan dan penyusunan serta penyajian karya tulis ini, penulis
membatasi pokok-pokok pembahaasan yang berkaitan dengan pembahasan rangkaian yang sesuai dengan judul yang diajukan. Hal ini dimaksudkan agar tidak terjadi kerancuan atau penyimpangan dalam memahami uraian tentang fungsi-fungsi komponen baik itu komponen aktif maupun komponen pasif yang menyusun rangkaian alat kalibrasi instrumen medik. 1.4
Metode Penulisan Dalam penulisan karya tulis ini, penulis melakukan langkah-langkah
sebagai berikut: 1. Studi pustaka Dilaksanakan dengan mencari dan mempelajari buku-buku dari sumber literature yang ada sebagai sumber bahan analisa yang sangat erat kaitannya dengan perancangan modul serta penulisan karya tulis. 2. Perancangan alat
3
Perancangan dibagi menjadi dua, yaitu perancangan perangkat lunak (software) dan perancangan perangkat keras (hardware) 3. Melakukan pembuatan modul alat kalibrasi instrumen medik dengan mikrokontroller AT89C51 4. Uji coba Modul yang telah jadi diuji coba agar didapat data-data untuk laporan. 5. Analisa data Data-data yang telah didapat dari hasil uji coba akan dianalisa dan dibandingkan dengan teori yang telah didapat berdasarkan studi literature. 1.5
Sistematika Penulisan Untuk mempermudah dalam pemahaman karya tulis ini maka penulis
menyajikan tulisan ini dalam beberapa pokok bahasan dengan sistematika sebagai berikut. BAB
I
PENDAHULUAN Memberikan gambaran secara umum mengenai latar belakang
masalah
sebagai
dasar
pemilihan
judul,
pembatasan masalah, motede penulisan, tujuan penulisan, dan sistematika penulisan. BAB
II
TEORI DASAR Menguraikan tentang dasar-dasar teori dari rangkaian yang dibahas serta komponen-komponen penunjangnya.
BAB
III
PERANCANGAN ALAT Penjelasan tentang perencanaan-perencanaan yang dibuat dalam membuat modul baik perangkat keras (hardware) maupun perangkat lunak (software).
BAB
IV
PENGUJIAN ALAT Menyajikan hasil pendataan terhadap beberapa titik pengukuran yang telah ditetapkan sebelumnya kemudian membandingkan hasil pengukuran dengan teori yang ada. Pada bab ini alat juga dibandingkan dengan instrumen lain
4
yang sering digunakan untuk pengukuran parameter suhu, tekanan udara dan kecepatan. BAB
V
PENUTUP Berisi ringkasan penting
dari bab-bab
sebelumnya,
kesimpulan dari hasil pembahasan secara keseluruhan, dan saran-saran untuk pengembangan alat tersebut di masa yang akan datang.
BAB II TEORI DASAR
2.1
Gambaran Umum Alat Kalibrasi Medik Secara umum alat kalibrasi berfungsi sebagai acuan dalam melakukan
peneraan terhadap alat-alat ukur. Metode yang digunakan adalah dengan cara membandingkan hasil pengukuran antara alat kalibrasi yang bertindak sebagai acuan dengan alat ukur yang hendak ditera. Sebuah alat ukur dapat dikatakan baik apabila selisih nilai pengukuran dengan acuan masih berada dalam batas toleransi yang diizinkan. Dalam peralatan medik banyak sekali parameter-parameter yang dapat diukur diantarannya tekanan, temperatur, kelembaban, kecepatan, dan lainlainnya. Dalam membuat modul ini penulis hanya mempergunakan tiga parameter, yaitu tekanan udara, temperatur, dan kecepatan. Adapun aplikasi pada peralatan medik dengan parameter tekanan udara antara lain Ventilator, NIBP, Manometer Aneroid, Pressure Tranduser dan Pressure Gauge. Untuk parameter temperatur diantaranya Temperature Monitors, Radiant Warmer, Hypo/Hyper Thermia dan Infant Incubators. Sedangkan untuk parameter kecepatan putaran diantaranya Centrifuge. Ide yang didapat penulis dalam memilih judul tugas akhir ini memang banyak diilhami dari alat kalibrasi Universal Biometer Model DPM – III yang dibuat oleh Bio-Tek Instruments, Inc dengan penambahan parameter, yaitu kecepatan. Gambar 2.1 memperlihatkan panel depan dari Universal Biometer dengan delapan posisi pemilihan (selector swicth). Pembacaan dengan tampilan LCD sebuah pengatur nol (zero knob) digunakan untuk adjusment pada tekanan atmosfir (khusus untuk tekanan udara). Sumber tekanan udara masuk melalui luler lock sedangkan untuk probes temperatur (700 series) melalui phono plug.
6
Gambar 2.1 Universal Biometer Model DPM – III5 Untuk pengoperasian atur swicth pada posisi on, tunggu beberapa saat selanjutnya pilih selector swicth untuk pengukuran temperatur atau tekanan. Untuk tekanan udara atur zero knob hingga menunjukkan “000” pada tekanan atmosphere, kemudian pilih satuan pengukuran yang dikehendaki (mmHg, cmH2O, inH2O, kPa atau Psi). Untuk temperatur pilih satuan pengukuran menggunakan °C atau °F. Sumber tekanan masuk pada luer lock. Untuk melakukan peneraan temperatur dengan memasang sensor pada phono jacks, selanjutnya bandingkan hasil pengukuran pada DPM III dengan instrumen yang ditera. 2.2
Sensor Sensor merupakan sebuah piranti yang amat penting dari sebuah alat ukur.
Karena piranti ini melakukan pengindraan, yaitu dengan mendeteksi perubahan parameter fisika dan mengkonversinya ke dalam isyarat-isyarat listrik. 5
Universal Biometer Model DPM III, User’s Guide, Bio-Tek Instruments. Inc, hal 4
7
2.2.1 Sensor Tekanan Udara MPX5050 Prinsip kerja dari sensor tekanan udara adalah dengan mengukur pergeseran yang terjadi pada suatu sekat berongga akibat tekanan udara yang diberikan pada sekat tersebut. Hal ini dapat dilihat pada gambar 2.2.
ρ1
A
B
ρ2
Gambar 2.2 Penggunaan sekat berongga untuk mengukur tekanan 2 Berdasarkan gambar 2.2, A adalah kondisi saat tekanan 1 sama dengan tekanan 2 (ρ1 = ρ2) sedangkan B adalah kondisi saat tekanan 1 lebih besar dari tekanan 2 (ρ1 > ρ2). Dan besarnya gaya tekan yang diterima oleh sekat tersebut adalah:
F = ( ρ1 − ρ 2 ) ⋅ A …………………………………………… (2.1) F
= Gaya yang diterima oleh sekat (N)
A
= luas sekat / diaphragm (m 2)
ρ1 - ρ2 = Tekanan (N/m2 atau Pascal) Seperti yang telah dijelaskan sebelumnya bahwa sekat akan bergeser apabila ada tekanan yang diberikan padanya. Pergeseran tersebut kemudian dideteksi oleh sebuah kawat silikon yang bersifat piezoresistive sehingga setiap pergeseran yang terjadi pada sekat akan mengakibatkan perubahan tegangan. Sebelum dikeluarkan tegangan ini dikuatkan terlebih dahulu oleh amplifier. Umpan balik pada keluaran amplifier ke induktor dimaksudkan untuk menjaga agar tidak terjadi pergerakan pada sekat (diaphragm) pada saat tekanan yang diterima adalah sama. Perubahan antara pergeseran sekat dengan perubahan tegangan hampir mendekati linier, dan karena perubahan pergeseran dengan perubahan 2
Curtis D. Johnson. Process Control Instrumentation Technology. Prentice Hall, 1997, hal 236.
8
tegangan (∆V) adalah linear maka antara perubahan tegangan (∆V) dengan perubahan tekanan udara (∆ρ ) juga bisa dikatakan linear3. Amplifier Output
Tranduser jarak Induktor Titik Tumpu
ρ1
Sekat
ρ2
Gambar 2.3 Proses pengukuran perbedaan tekanan menggunakan sekat berongga4 Adapun sensor tekanan yang penulis gunakan dalam pembuatan alat ini adalah MPX 5050 yang memiliki sensitivitas 90 mV/kPa yang artinya setiap perubahan 1 kPa akan merubah tegangan sebesar 90 mV. Seperti yang telah kita ketahui tekanan adalah gaya yang diberikan per satuan luas. Menurut satuan internasional didefinisikan sebagai newton per meter persegi (N/m2) satuan ini dimanai pascal (Pa), dengan demikian 1 N/m2 = 1 Pa. Dalam sistem satuan Inggris satuan tekanan yang umum digunakan adalan pound per square inch (lb/in2), satuan ini juga sering disebut sebagai psi. Hubungan antara satuan pascal (Pa) dengan satuan psi diberikan pada persamaan berikut: 1 psi = 6.895 kPa atau 1 kPa = 0,145 psi ……………………….. (2-2) 3 4
ibid. ibid
9
Sedangkan untuk satuan mmHg diberikan oleh: 1 mmHg = 0,133 kPa atau 1 kPa = 7,5 mmHg ………………….. (2-3) 2.2.2 Sensor Temperatur LM35 Pada perancangan alat kalibrasi ini penulis menggunakan sensor suhu LM 35. LM 35 adalah sebuah piranti yang mampu untuk megindra perubahan temperatur dan mengkonversinya kedalam sinyal listrik secara linier. Setiap perubahan satu derajat celcius, maka tegangan keluaran akan berubah sebesar 10 mV. LM 35 dapat digunakan dengan catu daya tunggal atau dengan catu daya ganda. Dengan konsumsi arus yang sangat kecil (60µA) menyebabkan panas yang dihasilkan rendah (+ 0,1oC). LM 35 rata-rata digunakan sebagai sensor temperatur dengan jangkauan antara –55oC sampai + 150oC.
VS+ GND
1
Vcc
3
OUT
2
V out
LM35DZ
Gambar 2.4 Sensor Suhu LM 35 Selain satuan celcius dikenal juga beberapa satuan di dalam besaran suhu, yaitu Fahrenheit (F), Kelvin (K), dan Reamur (R). Adapun hubungan antara satuan celcius dengan yang lainnya adalah sebagai berikut: Fahrenheit, F = ( 9/5 x oC ) + 32 ……..........………….................. (2-4) Kelvin, K = 273 + oC ………………………..........……………… (2-5) Reamur, R = 4/5 x oC ..................................................................... (2-6)
10
2.2.3 Sensor Kecepatan Putaran5 Sensor kecepatan yang penulis gunakan adalah optocoupler/optotransistor dan roda cacah/piringan bercelah. Optocoupler merupakan salah satu jenis komponen isolator dan dapat juga difungsikan sebagai sensor cahaya. Optocoupler tersusun atas sebuah LED infra merah dan sebuah fototransistor. LED infra merah berfungsi sebagai sumber cahaya dan phototransistor berfungsi sebagai detektor cahaya. fototransistor ini sangat peka sehingga bila terjadi perubahan sedikit saja intensitas cahaya yang mengenainya, maka akan terjadi perubahan tegangan pada kaki kolektornya.
Gambar 2.5 Simbol optocoupler Untuk menghasilkan sinyal digital pada kaki kolektor fototransistor makan dirancang sebuah roda cacah/piringan bercelah. Roda cacah adalah sebuah piringan yang ditepiannya memiliki beberapa lubang/celah yang akan meloloskan sinar LED inframerah ke fototransistor sehingga terjadi perubahan tegangan pada kaki kolektornya. Jumlah celah pada sekeliling motor berpengaruh terhadap perhitungan pulsa-pulsa digital untuk menentukan resolusi dari perhitungan kecepatan putaran motor. Semakin kecil resolusi yang diinginkan maka semakin banyak lubang/celah yang harus dibuat. Adapun hubungan antara jumlah lubang pada cakram dengan resolusi pembacaan adalah sebagai berikut: L = f ( R, Tw) ………………………………………......……… 5
(2-7)
Link, Wolfgang. Pengukuran, Pengendalian, dan Pengaturan dengan PC. 1993. Gramedia, Jakarta, hal.102
11
dimana: L
= jumlah lubang pada cakram
R
= resolusi pembacaan
Tw
= time window (waktu pengukuran = 0,5s)
Pulsa-pulsa cahaya yang timbul ketika motor berputar akan menghasilkan sinyal digital pada kaki kolektor fototransistor. Sinyal digital ini yang akan dihitung oleh mikrokontroller yang merupakan representasi dari kecepatan yang diukur. 2.3
Penguat Operational (Operational Amplifier) Penguat operasional (op-amp) adalah piranti elektronik yang mempunyai
dua terminal masukan dan mampu memperkuat selisih kedua sinyal masukannya. Op-amp dirancang untuk melaksanakan operasi matematika seperti penjumlahan, pengurangan, perkalian dan pembagian. Adapun bentuk simbol dari op-amp dinyatakan dengan sebuah segitiga yang dapat dilihat pada gambar di bawah ini : + Vcc V2
Vout
V1
- Vcc
Gambar 2.66 Simbol Operasional Amplifier Keterangan gambar :
6
-
Terminal masukan non inverting ( V1 )
-
Terminal masukan inverting ( V2 )
-
Terminal catu daya positif ( + Vcc )
-
Terminal catu daya negatif ( - Vcc )
-
Terminal keluaran ( Vo )
Fredrick. W. Hughes, Panduan Op-Amp (terj.) Jakarta 1990, hal 3
12
Apabila sinyal diberikan pada terminal masukan inverting, maka sinyal keluaran akan berlawanan fasa dengan sinyal masukannya. Sedangkan apabila sinyal diberikan pada terminal masukan non inverting, maka sinyal keluaran akan sefasa dengan sinyal masukan7. Karakteristik dan parameter op-amp yang ideal : a. Impedansi masukan amat tinggi, sehingga arus masukan praktis diabaikan. b. Impedansi keluaran amat rendah, sehingga keluaran penguat tidak 0terpengaruh oleh pembebanan. c. Penguatan loop terbuka ( AOL ) amat tinggi. d. Lebar pita ( Band Width ) tak terhingga, artinya penguatan dari dc sampai frekuensi tak terhingga akan tetap sama. e. Rise time sama dengan nol, artinya waktu yang dibutuhkan untuk mencapai harga puncak pada sinyal keluaran akan sama pada sinyal masukan. f. Tidak peka terhadap perubahan tegangan catu daya atau perubahan temperatur. Akan tetapi pada kenyataannya sebuah op-amp tidaklah sangat ideal, karena pada umumnya : a. Walaupun impedansi masukan relatif tinggi, tetapi terbatas antara 106 sampai 1012 Ohm. b. Impedansi keluaran terbatas, tidak sampai sama dengan nol. c. Band Width terbatas tidak seluruh band frekuensi. d. Rise time tidak sama dengan nol. e. Jika perubahan catu daya atau temperatur cukup besar, kinerja dari op-amp akan terganggu. 2.3.1 Penguat Tak Membalik ( Non Inverting Amplifier ) Telah dijelaskan sebelumnya, bahwa sifat utama penguat tak membalik adalah dimana sinyal keluaran akan sefasa dengan sinyal masukan. Metodenya 7
Robert. F. Coughlin & Frederick. F. Driscoll, Penguat Operasional Dan Rangkaian Terpadu Linier ( terj. ), Jakarta ; 1992, hal 15
13
adalah dengan menempatkan sinyal masukan pada terminal tak membalik (non inverting). Tahanan Ri dipasang pada terminal membalik (inverting), sedangkan tahanan Rf diumpan balik ke terminal keluaran. Untuk lebih jelas dapat dilihat pada gambar II.7 Rf If + Vcc Ri Vout
Ii
V1
- Vcc
Gambar 2.78 Op-Amp Sebagai Penguat Tak Membalik Dengan asumsi selisih tegangan masukan ( + ) dan masukan ( - ) pada dasarnya nol dan arus yang dialirkan oleh terminal masukan ( + ) atau ( - ) dapat diabaikan maka, dapat diturunkan persamaan sebagai berikut : I=
Vi …………………………………………………………. ......(2.8) Ri
Vf = I ⋅ (Rf ) =
Rf Ri
⋅ Vi .....................................................................(2.9)
Berdasarkan gambar 2.7 di atas maka besarnya Vout (Vo) adalah penjumlahan penurunan tegangan pada R1 dan Rf V 0 = V 1 + Vf Vo = Vi +
Rf Ri
⋅ Vi atau
Rf ⋅ Vi Vo = 1 + Ri
8
Ibid, hal 47.
……………………………………………… (2.12)
14
2.3.2 Tapis Lolos Bawah ( Low Pass Fillter )
Vcc
Vin
R
Vout Vcc
C
Gambar 2.8 Tapis Lolos Bawah Tapis lolos bawah adalah sebuah rangkaian yang dirancang untuk memperlemah semua isyarat di atas frekuensi cut-off tertentu dan melewatkan semua isyarat yang frekuensinya di bawah frekuensi cut-off. Rangkaian tapis ini menggunakan op-amp di samping penambahan komponen pasif tahanan dan kapasitor. Rangkaian pada gambar 2.8 di atas merupakan rangkaian tapis lolos bawah yang umum digunakan. Perbedaan tegangan antara kedua masukan adalah nol, oleh karena itu tegangan yang melintasi Kapasitor (C) sama dengan tegangan keluaran (Vout) sebab rangkaian ini merupakan sebuah pengikut tegangan. Vin terbagi antara Resistor (R) dan Kapasitor (C), tegangan Kapasitor sama dengan Vout adalah: Vout =
1 / jω C × E1 ..................................................................(2.10) R + 1 / jωC
dimana ω adalah frekuensi dari Vin dalam Radian / detik (ω = 2πf ) dan j =
− 1 . Dengan menuliskan kembali persamaan (2.10) untuk memperoleh
gain tegangan untaian tertutup ACL, kita mempunyai ACL =
Vout 1 = ................................................................(2.11) Vin 1 + jωRC
Terjadinya fekuensi cut-off adalah pada saat besarnya kapasitor Xc sama besarnya resistansi R.
15
Xc = ½ πf.c. Bila Xc = R, maka fc = ½ πRC ...............................(2.12)
Gambar 2.99 Kurva Tanggapan Frekuensi Tapis Lolos Bawah Gambar 2.9 memperlihatkan kurva tanggapan frekuensi sebuah tapis lolos bawah. Garis putus-putus menyatakan batas penyumbatan ideal. Namun karena tidak efisien kurva tanggapan cenderung terjadi peluruhan / pelonjakan diikuti peluruhan kembali. Dalam prakteknya fc diambil pada titik separuh daya 70,7 % tergantung keluaran maksimum. Keadaan ini dapat dinyatakan sebagai berikut : dB = 20 log Vout / Vin = 20 log 0,7107 V / 1 V = 20 (- 0,15059 ) =-3
9
Ibid, hal 262-263
16
Disertakannya penyangga setelah fillter diharapkan akan menjadi transfer beban maksimum tanpa adanya kerugian karena efek pembebanan. Hal tersebut sesuai dengan sifat op-amp yang mempunyai impedansi masukan yang besar dan impedansi keluaran yang kecil. 2.4
Mikrokontroller AT89C51 Mikrokontroller adalah suatu unit yang terdiri dari mikroprosessor yang
dikombinasikan dengan I/O dan memori (RAM/ROM) dalam satu kemasan. Dengan
kelengkapan-kelengkapan
tersebut,
maka
mikrokontroller
tidak
memerlukan unit pendukung seperti halnya pada mikroprosessor untuk dapat bekerja. Mikrokontroller AT89C51 adalah mikrokontroller yang termasuk dalam keluarga MCS-51 yang diproduksi oleh perusahaan elektronika Atmel. Mikrokontroller ini terdiri dari sebuah CPU (Central Processing Unit), osilator eksternal, RAM internal 128 byte, EPROM internal 4 Kbyte, empat buah programmable port I/O yang masing-masing terdiri dari delapan jalur I/O (8 bit), dua buah timer counter 16 byte, sebuah port serial dengan kontrol serial full duplex UART, lima buah jalur interupsi (dua buah interupsi eksternal dan tiga buah interupsi internal), serta dua puluh satu register internal yang disebut sebagai Special Function Register (SFR). Untuk dapat bekerja dengan baik, mikrokontroler AT89C51 hanya membutuhkan catu daya tunggal sebesar +5 Volt.
17
Gambar 2.10 Diagram Blok Mikrokontroler AT89C51
18
2.4.1 Fungsi Penyemat Mikrokontroler AT89C51 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RESET RXD TXD INT0 INT1 T0 T1 WR RD Xtal 2 Xtal 1 VSS
VCC P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 EA/VP ALE/P PSEN P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0
40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21
8951
Gambar 2.11 Mikrokontroler AT8C951 Susunan penyemat mikrokontroler AT89C51 diperlihatkan pada gambar 2.11. Berikut ini adalah penjelasan dari fungsi penyemat dari mikrokontroler AT89C51 tersebut. a. Penyemat 1 sampai 8 (port 1) merupakan port parallel 8 bit dua arah (bi-directional) yang dapat digunakan untuk berbagai keperluan (general purpose). b. Penyemat adalah masukan reset aktif tinggi. Pulsa transisi dari rendah ke tinggi pada penyemat ini akan mereset AT89C51. c. Penyemat 10 sampai 17 (port 3) merupakan port yang mempunyai fungsi ganda, yakni sebagai port parallel 8 bit serbaguna, dan fungsi lainnya meliputi TxD (Transmitt Data), RxD (Recieve Data), INT0 (interrupt 0), INT1 (interrupt 1), T0 (timer 0), T1 (timer 1), WR (Write) dan RD (Read).
19
d. Penyamat 18 (XTAL 1) adalah masukan ke rangkaian osilator internal. Sebuah osilator kristal atau sumber osilator luar dapat digunakan sebagai sinyal pendetak melalui penyemat ini. e. Penyemat 19 (XTAL 2) adalah penyemat masukan bagi rangkaian osilator. Penyemat ini digunakan bersama penyemat XTAL 1 jika digunakan osilator kristal. f. Penyemat 20 adalah penghubung serpih potensial ground catu daya. g. Penyemat 21 samapi 28 adalah port parallel 8 bit dua arah serbaguna. Port dua ini akan berfungsi sebagai bus alamat Most Signifikan Byte (A15 s/d A8) bila dilakukan pengaksesan memori eksternal. h. Penyemat 29 adalah penyemat PSEN (Program Store Enable) yang merupakan signal pengontrol yang memperbolehkan program dari memori eksternal masuk ke dalam bus selama proses pengambilan instruksi (fetch cycle). i.
Penyemat 30 adalah penyemat ALE (Adress Latch Enable) yang dugunakan untuk menahan alamat bagi memori eksternal selama pelaksanaan instrusi ( membaca atau menulis).
j.
Penyemat 31 adalah penyemat (EA), penyemat ini berfungsi untuk memilih pemakaian memori internal atau memori eksternal. Bila pada penyemat ini akan dikenakan logika tinggi, mikrokontrolel akan melaksanakan instruksi dari EPROM internal serta menggunakan RAM internal. Bila penyemat ini digunaka logika rendah, mikrokontroler akan melaksanakan instruksi dari memori eksternal.
k. Penyemat 32 sampai 39 (port 0) merupakan port parallel 8 bit open drain dua arah serbaguna. Bila digunakan untuk mengakses memori eksternal, maka port ini akan memultiplekskan alamat memori least signifikan byte (AD7 s/d AD 0) dengan data 8 bit. Karena port ini memiliki keluaran open drain, maka untuk memfungsikannya sebagai port parallel 8 bit diperlukan resistor pull up eksternal, sedangkan bila diperlukan untuk mengakses memori eksternal tidak diperlukan resistor pull up internal.
20
l. Penyemat 40 merupakan penghubung serpih ke catu daya +5 volt bagi AT89C51. 2.4.2 Organisasi Memori Mikrokontroler AT89C51 memiliki pembagian ruang alamat (address space) untuk program dan data. Mikrokontroler AT89C51 ini akan dapat mengakses 64 Kbyte alamat program melalui PSPN dan 64 Kbyte alamat data memori
melalui WR dan RD bila digunakan untuk mengakses memori
eksternal sedangkan bila digunakan memori internal, mikrokontroler akan dapat mengakses 4 Kbyte alamat program memori pada EPROM internal dan 256 Byte alamat data memori pada RAM internal yang dibagi menjadi alamat bagi register bang (00H s/d 1FH), bit addressable RAM (20H s/d 2FH), RAM serbaguna (30H s/d 7FH), dan special function register (80H s/d FFH). 2.4.3 Pewaktuan CPU C1
+5 V 31 19
33 pF Y1 CRYSTAL 18 C2
EA/VP X1 X2
33 pF 9 13 14 15 1 2 3 4 5 6 7 8
P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 RD WR
RESET INT1 T0 T1 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 PSEN ALE/P RXD TXD INT0
8951
Gambar 2.12 Penggunaan Osilator Internal sebagai Sumber Pendetak
39 38 37 36 35 34 33 32 17 16 21 22 23 24 25 26 27 28 29 30 10 11 12
21
Mikrokontroler AT89C51 memiliki sebuah osilator internal (on chip osilator) yang dapat digunakan sebagai sumber pendetak 1 clock bagi CPU. Untuk menggunakan osilator internal diperlukan sebuah kristal antara penyemat XTAL1 dan XTAL2 serta kapasitor yang terhubung ke ground seperti yang terlihat pada gambar 2.12 di atas. Frekuensi kristal yang dapat digunakan adalah antara 6 samapai dengan 12 Mhertz. Kapasitor di atas berfungsi untuk menstabilkan frekuensi kristal dari gangguan luar, nilai kapasitansi yang dapat digunakan adalah antara 27 pf sampai 33pf. 2.4.4 Special Function Register Mikrokontroler AT89C51 memiliki register-register internal yang dinamakan dengan special function register (SFR). Ada 21 buah SFR pada mikrokontroler AT89C51 yang terletak pada internal RAM pada alamat memori 80H sampai FFH. Karena register-register SFR terletak pada RAM, maka ke semua register tersebut akan dapat diakses melalui pengalamatan langsung. Dan beberapa SFR dapat diakses baik melalui pengalamatan bit maupun pengalamatan byte. Berikut ini adalah penjelasan mengenai special function register tersebut. a. Program Status Word (PSW) Program status word adalah sebuah register yang menyimpan status dari proses pada unit aritmatika dan logika (ALU). Untuk menyimpan status tersebut maka dalam register PSW ini terdapat bitbit status yang tergambar sebagai berikut : Nomer Bit 7
6
5
4
3
2
1
0
CY
AC
F0
RSI
RSO
OV
-
P
CY adalah Carry Flag. AC adalah Auxiliary Carry. F0 adalah Flag 0, RSI dan RSO adalah bit-bit pemilih register bank. OV adalah Over Vlow Flag dan P adalah Parity Flag. Bit satu pada PSW ini
22
tidak digunakan (-). Karena setiap bit pada register ini berfungsi untuk menunjukkan status dari hasil proses aritmatika dan logika maka register ini disebut juga sebagai register flag. Berikut ini adalah penjelasan mengenai fungsi dari setiap bit dalam register PSW : Bit Carry (C) Bit Carry (bit ke 8) berfungsi ganda, yakni menunjukan apakah operasi penjumlahan menghasilkan pindahan dari pin 7 (carry) atau pada opersi pengurangan menghasilkan pinjaman (borrow). Selain itu bit ini juga berfungsi sebagai 1 bit register untuk melaksanakan instruksi Boolean. Bit Auxilliary Carry (AC) Bit AC adalah bit yang berfungsi untuk menunjukkan adanya pindahan (carry) dari bit 3 menuju bit 4 pada operasi penambahan bilangan BCD. Bit Flag 0 (F0) Merupakan bit yang dapat dipakai untuk pemakaian serbaguna. Bit Pemilih Register bank (RS0 dan RS1) Merupakan bit-bit pemilih register bank mana yang aktif dari empat buah register bank yang tersedia, yakni bank 0, bank 1, bank 2 serta bank 3 Bit Overlow (OV) Merupakan bit yang menunjukkan adanya pindahan (carry) atau pinjaman (borrow) pada saat dilakasanakan operasi penambahan atau pengurangan bilangan bertanda. Bit Parity (P) Merupakan bit yang menunjukkan paritas dari bit-bit di dalam accumulator. Bit ini akan di set bila bit-bit di dalam accumulator
23
memiliki jumlah bit-bit logika tinggi yang ganjil dan direset bila sebaliknya. b. B Register Register
B
ini
digunakan
bersama
accumulator
untuk
melaksanakan opersi pengalian dan pembagian. c. Stack Pointer Stack pointer (SP) adalah register 8 bit yang mengandung alamat dari data yang disimpan pada tumpukan (stack) di dalam memori. d. Data Pointer Data pointer (DPTR) adalah register 16 bit yang digunakan untuk mengakses program atau data pada memori eksternal. e. Port Register Pada mikrokontroler AT89C51 terdapat 4 buah port register yang berjumlah sama dengan port I/O pada mikrokontroler ini, yakni port 0, port 1, port 2 dan port 3. Port register tersebut digunakan untuk mengakses keempat port I/O tersebut untuk melaksanakan instruksi penulisan data atau pembacaan data pada port-port I/O tersebut. Namun bila digunakan memori eksternal maupun fungsi khusus seperti interupsi, port serial, maka port 0,2 dan 3 tidak dapat diakses melalui port register tersebut. f. Register Timer Register timer ini terdiri dari register kontrol timer (TCON) dan register timer mode (TMOD) yang berfungsi untuk mengontrol dan mengatur mode operasi dari dua buah timer/counter 16 bit di dalam mikrokontroler AT89C51. g. Register Port Serial Register ini terdiri dari register serial data buffer (SBUF) yang berfungsi untuk menerima dan mengeluarkan data serial, serta
24
register kontrol port serial (SCON) untuk mengatur mode pemindahan dan penerimaan data serial. h. Register Interupsi Register ini terdiri dari register interrupt enable (IE) yang berfungsi untuk mengaktifkan atau menonaktifkan suatu sinyal interrupsi, serta register interrupt priority yang berfungsi untuk mengontrol prioritas sinyal-sinyal interupsi. i.
Register Power Control (PCON) Register
ini
berfungsi untuk
mengontrol kondisi dari
mikrokontroler apakah mikrokontroller akan berada pada mode power down atau mode idle. Selain itu register ini juga digunakan untuk mengalirkan baundrate dari timer 1 ketika port serial digunakan dalam mode 1, 2, dan 3. 2.4.5 Sistem Penyelaan (Interrupt) Apabila CPU pada mikrokontroller AT89C51 sedang mengeksekusi suatu program, pelaksaan program tersebut dapat secara sementara dihentikan melalui permintaan interupsi. Apabila CPU mendapat perintah interupsi, pencacah program (PC) akan diisi alamat dari vektor interupsi CPU kemudian akan melaksanakan rutin pelayanan interupsi mulai dari alamat tersebut. Bila rutin pelayanan interupsi selesai dilaksanakan, CPU AT89C51 akan kembali kepelaksanaan program utama yang dihentikan sementara tersebut. AT89C51 memiliki sistem interrupt yang berasal dari lima sumber, dua dari luar atau sumber eksternal melalui pin INT0 dan INT1, satu dari masingmasing counter internal (dua buah) dan satu dari serial I/O port. Kelima sistem Interrupt tersebut dapat diaktifkan sendiri-sendiri. 2.5
Analog to Digital Converter 0804 Konverter analog ke digital digunakan untuk mengkonversi sinyal-sinyal
analog ke dalam format digital agar dapat dibaca dan diolah oleh rangkaian digital termasuk di dalamnya mikrokontroller.
25
Proses pengubahan sinyal analog menjadi sinyal digital ini dapat dilakukan dengan berbagai cara atau metode antara lain : • Succesive Aproximation (pendekatan beruntun) • Tracking Converter (perbandingan langsung) • Counter Comparator • Paralel Conversion Dari ke-4 metode di atas, metode pendekatan beruntun merupakan metode yang paling sering digunakan dengan mikroprosessor, karena metode ini mempunyai kecepaatan tinggi dan resolusi yang tinggi serta harga yang relatif murah. Metode ini mirip dengan metode pencacah, perbedaannya terletak pada proses yang ditempuh register SAR (Succesive Approximation Register) dalam mencapai nilai ekivalen digitalnya. Apabila sinyal mulai konversi menjadi rendah, register SAR akan dikosongkan dan Vout menurun menjadi nol. Ketika sinyal mulai konversi kembali pada tegangan tinggi, maka operasi konversi segera dimulai. Pada pulsa detak pertama rangkaian kendali akan mengisi nilai Most Significant Bit (MSB) tinggi kedalam register SAR sehingga bit keluaran akan menjadi 1000 0000. Segera setelah nilai keluaran muncul maka DAC akan mengkonversi menjadi nilai Vout (128/255 dikali skala penuh). Kemudian nilai Vout ini akan dibandingkan dengan nilai Vin pada komparator. Bila ini lebih besar dari Vin maka keluaran negatif dari komparator akan mereset MSB dan mengeset bit D6 kemudian dibandingkan lagi, demikian seterusnya hingga nilainya sama. Di pihak lain jika Vout kurang dari Vin maka keluaran positif dari pembanding akan menunjukan bahwa MSB tetap diset dan mengeset bit D6 untuk dibandingkan lagi. Dalam beberapa desain konverter ini, pemasangan dan pemeriksaan MSB berlangsung dalam pulsa detak yang pertama menyusul sinyal mulai konversi. Dalam desain-desain yang lain diperlihatkan beberapa pulsa detak untuk mereset MSB.
26
Pembanding Vin + _ MSB
Vout
Mulai konversi CLK Selesai konversi
Kendali
Konverter D/A 8-bit
LSB
Register SAR
Register buffer
D7D6D5D4D3D2D1D0
Gambar 2.1310 Digram Blok ADC dengan Metode Succesive Approximation Jika diandaikan dalam operasi A/D tersebut didapat nilai MSB yang tidak direset, maka register SAR Sekarang akan mengandung isi 1000 0000. Pulsa detak yang berikutnya akan memasang bit D6 dan memberikan keluaran digital 1100 000. Sehingga Vout akan melangkah pada harga 192/255 dikalikan skala penuh. Kemudian nilai Vout dibandingkan dengan Vin untuk menguji apakah nilai bit D6 tetap diset atau akan direset. Dalam pulsa detak selanjutnya, secara berturut-turut bit-bit yang lain akan diset dan diuji. Untuk rangkaian yang paling cepat, konversi akan selesai setelah delapan pulsa detak dan keluaran D/A merupakan nilai analog yang ekivalen dari isi register. Desain rangkaian yang lebih lambat memerlukan waktu yang lebih lama, oleh karena lebih banyak pulsa yang diperlukan guna mengeset, menguji dan mereset setiap bit. Apabila konversi telah selesai dilaksanakan, rangkaian kendali akan mengirim sinyal selesai konversi yang rendah. Tepi turun sinyal ini akan
10
Albert Paul Malvino, Elektronika Komputer Digital (terj.) Erlangga 1993 hal 344
27
mengisikan data digital yang ekivalen ke dalam register buffer. Dengan demikian keluaran digital akan tetap tersimpan sekalipun kita memulai siklus konversi baru. Frekuensi clock internal ADC 0804 dapat ditentukan dengan cara menghubungkan komponen pewaktuan eksternal (R dan C) pada pin 4 dan pin 19. Nilai R dan C eksternal menentukan frekuensi osilasi yang besarnya ditentukan oleh persamaan berikut: f CLK =
1 …………….........………………………………… (2.19) 1,1 ⋅ RC
1 2 3 4 5 6 7 8 9 10
CS
VccREF
RD
CLK-R
WR
lsbDB0
CLK-IN
DB1
INTR
DB2
Vin(+)
DB3
Vin(-)
DB4
A-GND
DB5
Vref/2
DB6
GND
msbDB7
20 19 18 17 16 15 14 13 12 11
ADC0804
Gambar 2.14 Konfigurasi Pena ADC 0804 Tegangan referensi untuk ADC 0804 dapat menggunakan tegangan acuan (Vref) yang secara internal terhubung ke Vcc atau dengan memberikan tegangan acuan eksternal (Vref/2) sesuai dengan kebutuhan jangkauan tegangan dan resolusi yang diinginkan. Resolusi ADC 0804 =
Jangkauan Tegangan ∑ Variasi Bit − 1
……………………. (2.20)
Dimana resolusi adalah nilai perubahan tegangan terkecil pada masukan yang menyebabkan perubahan nilai data digital sebesar satu langkah pada
28
keluaran, jangkauan tegangan merupakan besar tegangan masukan maksimal yang menyebabkan hasil data keluaran digital 1111 1111 yaitu sebesar tegangan acuan (Vref atau Vref/2 x 2). 2.6
Schmitt Triger 74LS14 Bila sinyal digital dikirimkan dan kemudian diterima oleh pihak lain,
kadang-kadang sinyal tersebut terganggu oleh derau, ripple, atenuasi, atau faktor lain dan berakhir dalam bentuk gelombang gerigi saperti terlihat pada gambar 2.15.
Gambar 2.15 Gangguan pada sinyal digital Untuk menghilangkan gangguan tersebut maka diperlukan suatu rangkaian lagi yang dapat membersihkan gerigi sehingga menghasilkan transisi hampir vertikal antara keadaan rendah dan tinggi, seperti pada gambar berikut :
Gambar 2.16 Contoh sinyal digital yang sempurna Oleh karena itu digunakan IC Schmit Triger 74LS14 pada sistem ini yang terdiri dari enam buah inverter pemicu Schmitt dalam satu kemasan seperti terlihat pada gambar di bawah ini.
29
Gambar 2.17 Konfigurasi Penyemat IC 74LS14 2.7
Multiplexer Analog 4051 Multiplexer atau disebut juga data selector adalah suatu rangkaian logika
yang mampu memilih sebuah data/bit masukan dari sejumlah sumber yang berlainan dan mengarahkan data/bit yang terpilih ini ke suatu keluaran. Data/bit yang terpilih ditentukan oleh saluran-saluran pengendali yang sesuai. IC 4051 adalah IC multiplexer yang mampu memilih satu diantara delapan data analog yang ada dengan tiga buah saluran pengendali. 1 2 3 4 5 6 7 8
X4
VCC
X6
X2
X
X1
X7
X0
X5
X3
INH
A
VEE
B
GND
C
16 15 14 13 12 11 10 9
4051
Gambar 2.18 Konfigurasi Penyemat IC 4051
30
Gambar 2.18 menggambarkan konfigurasi penyemat IC 4051 dan tabel 2.1 adalah tabel kebenaran IC 4051. Tabel 2.1 Tabel Kebenaran IC 4051 INPUT
2.8
SALURAN YANG TERHUBUNG
INH
C
B
A
L
L
L
L
X0 – X
L
L
L
H
X1 – X
L
L
H
L
X2 – X
L
L
H
H
X3 – X
L
H
L
L
X4 – X
L
H
L
H
X5 – X
L
H
H
L
X6 – X
L
H
H
H
X7 – X
H
X
X
X
None
LCD (Liquid Crystal Display) Display merupakan indikator yang sering digunakan pada peralatan sistem
digital. Salah satu contohnya yaitu LCD, tampilan yang dapat digunakan untuk menampilkan angka atau karakter. LCD pertama ditemukan oleh Friedrich Reinitzer, seorang ahli botani dari Austria, pada tahun 1888. Pada saat itu ia melelehkan suatu zat yang msih belum umum saat itu, cholesteryl benzoate, yang menjadi keruh kemudian bening ketika temperatur naik. Ketika proses pendinginan, cholesteryl benzoate menjadi berwarna biru sebelum akhirnya mengkristal. Pada aplikasi mikroprosessor LCD sangat diminati karena tampilannya yang menarik tetapi dikarenakan LCD memiliki sudut pandang (paralaks) yang cukup sempit, pada aplikasi tertentu tampilan seven segment lebih disukai.
31
2.8.1 Konfigurasi Pin LCD Pada umumnya LCD memiliki 16 pin, adapun fungsi dari masing-masing pin adalah sebagai berikut. 7 8 9 10 11 12 13 14
DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7
4 6 5
RS EN R/W
Vcc
2
Vee
3
Vss
1
BPL
15
GND
16
Liquid Crystal Display
Gambar 2.19 Konfigurasi Penyemat LCD VSS
:
Tegangan Ground dari modul
VCC
:
Tegangan +5 Volt
VEE
:
Tegangan kontras, berfungsi mengatur kekontrasan LCD
RS
:
Register Select 0 = Data DB0-DB7 akan dianggap sebagai instruksi untuk inisialisasi LCD 1 = Data akan DB0-DB7 akan dianggap sebagai data yang akan ditampilkan.
R/W
:
0 = Data DB0-DB7 akan dituliskan pada LCD 1 = Data dari memori LCD akan dikirim ke DB0-DB7
EN
:
0 = Data DB0-DB7 dilacth pada LCD 1 = LCD akan non aktif
DB0-DB7
:
Jalur data 8 bit
BPL
:
Back Plane Light
GND
:
Tegangan Ground
2.8.2 Pemrograman LCD Sebelum digunakan untuk menampilkan angka atau karakter yang dapat dilihat pada LCD maka LCD harus diberikan instruksi-instruksi awal sebelum mikroprosessor mengirimkan data yang ingin ditampilkan ke LCD.
32
Display karakter pada LCD diatur oleh pin EN, RS dan RW. Melalui ketiga pin ini LCD akan membedakan mana instruksi untuk inisialisasi dan mana instruksi untuk menampilkan karakter. Beberapa perintah dasar yang sering digunakan untuk inisialisasi LCD adalah sebagai berikut: a) Set Fungsi Instruksi ini berfungsi untuk mengatur lebar data, jumlah baris dan ukuran font karakter RS
R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0
0
0
0
1
DL
N
F
X
X
b) EntryMode Set Instruksi ini berfungsi untuk mengatur increment atau decrement dan mode geser RS
R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0
0
0
0
0
0
0
1
I/D
S
c) Display On/Off Cursor Instruksi ini berfungsi untuk mengatur status display ON atau OFF, cursor ON/OFF dan fungsi Cursor Blink. RS
R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0
0
0
0
0
0
1
D
C
B
d) Clear Display Instruksi ini digunakan untuk menghapus layar RS 0
R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0
0
0
0
0
0
0
0
1
e) Geser Kursor dan Display Instruksi ini berfungsi untuk menggeser posisi kursor atau display ke kanan atau ke kiri tanpa menulis atau membaca data display. Fungsi ini digunakan untuk koreksi atau pencarian display.
33
RS
R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0
0
0
0
0
1
S/C
R/L
X
X
f) Set Alamat Memori Instruksi ini berfungsi untuk menentukan alamat RAM yang akan dipilih yaitu dari 00 sampai dengan 7fh RS
R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0
0
A
A
A
A
A
A
A
A
2.8.3 Memory Display LCD Modul LCD terdiri sejumlah memory yang digunakan untuk display, semua text yang dituliskan tersimpan dalam memory ini. Berikut adalah peta memory untuk LCD 16x2 00
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
0F
40
41
42
43
44
45
46
47
48
49
4A
4B
4C
4D
4E
4F
Untuk mengatur letak posisi kursor pada LCD kita harus menuliskan sebuah instruksi. Instruksi set posisi kursor adalah 80h. untuk itu kita perlu menambhakan alamat dimana kita akan menempatkan posisi kursor. Sebagai contoh jika kita ingin menempatkan kursor pada baris pertama kolom ketiga atau alamat 02h maka instruksi yang dikirimkan adalah 80h + 04h = 84h. Sehingga dengan mengirimkan perintah 84h, kursor akan ditempatkan pada LCD baris pertama kolom ketiga.
BAB III PERANCANGAN ALAT Pada bab ini akan dijelaskan langkah-langkah yang digunakan dalam merealisasikan dan merencanakan dari karya ilmiah yang dibuat. Adapun pelaksanaannya adalah dengan menentukan spesifikasi secara umum dan mengimplementasikan dari hasil perencanaan secara terperinci. 3.1
Spesifikasi Sistem Spesifikasi sistem yang dirancang dan direalisasikan dibagi menjadi
spesifikasi fungsional dan spesifikasi teknis. 3.1.1 Spesifikasi Fungsional Instrumen kalibrasi adalah instrumen yang berfungsi sebagai standar acuan dalam melakukan peneraan alat-alat ukur. Parameter yang direncanakan adalah, tekanan udara, temperatur, dan kecepatan. Tekanan udara akan dibatasi pada satuan kPa, mmHg, dan Psi. Untuk temperatur satuan yang dimunculkan adalah oC, K, R dan F. Dan untuk kecepatan satuan yang dimunculkan adalah RPM (Rotation Per Minutes). Karena terbatasnya kemampuan piranti sensor tekanan maka jangkauannya pun disesuaikan dengan kemampuannya. 3.1.2 Spesifikasi Teknis Adapun spesifikasi teknis dari karya ilmiah yang dibuat adalah sebagai berikut: Tekanan Udara Jangkauan
: 0 kPa sampai + 50 kPa
Sensitifitas
: 90 mV / kPa
Temperatur Jangkauan
: 0 oC sampai 100 oC
Sensitifitas
: 10 mV / oC
35
Kecepatan
3.2
Jangkauan
: 0 – 9990 RPM
Resolusi
:10
Perencanaan Blok Diagram Blok diagram ini dimaksudkan untuk dapat memudahkan penulis dalam
melakukan perancangan dari karya ilmiah yang dibuat. Secara umum blok diagram dari alat kalibrasi tekanan udara, temperatur, dan kecepatan putaran adalah seperti pada gambar 3.1. Diagram blok di bawah dipandang dari satuan parameter dapat diklasifikasikan menjadi tiga rangkaian blok besar. Pertama adalah rangkaian blok pengukur tekanan udara, kedua adalah rangkaian blok pengukur temperatur dan ketiga adalah rangkaian pengukur kecepatan. Selain itu terdapat pula blok pemilihan sensor, yang mana akan memilih hasil pengukuran mana yang akan masuk ke ADC untuk diproses di mikroprosessor dan ditampilkan ke LCD.
RANGKAIAN SENSOR TEKANAN
Multiplexer
A/D
MIKRO
DISPLAY DAN
Analog
KONVERTER
KONTROLLER
INDIKATOR
RANGKAIAN
SENSOR
SENSOR SUHU
KECEPATAN
Gambar 3.1 Diagram Blok Rancangan Instrumen Kalibrasi Tekanan Udara, Temperatur, dan Kecepatan Putaran
36
Adapun prinsip kerja dari ketiga rangkaian blok besar ini adalah. 3.2.1 Blok Rangkaian Sensor Tekanan Udara Sensor tekanan udara akan mendeteksi setiap perubahan tekanan yang terjadi kemudian mengkonversikannya ke dalam sinyal listrik. Sinyal tersebut akan masuk ke low pass filter untuk menekan seluruh frekuensi yang masuk dalam rangkaian. Sebelum masuk ke blok saklar pemilihan sinyal yang keluar dari low pass filter terlebih dahulu dikondisikan sehingga memiliki sensitivitas yang sama dengan rangkaian blok pengukur suhu, rangkaian pengondisi ini terdiri dari rangkaian penguat tegangan dan rangkaian pembagi tegangan. 3.2.2 Blok Rangkaian Sensor Temperatur Sensor temperatur akan mendeteksi setiap perubahan temperatur yang terjadi dan mengkonversikannya ke dalam sinyal listrik. Untuk menekan seluruh frekuensi asing yang masuk kedalam rangkaian digunakan low pass filter. Sinyal kemudian akan melewati penguat non inverting dan pembagi tegangan sebagai pengkondisi sinyal sebelum masuk ke blok saklar pemilihan. 3.2.3 Rangkaian Blok Pengukur Kecepatan Sensor
kecepatan
yang
menggunakan
optocoupler
celah
akan
menghasilkan sinyal digital yang kemudian akan masuk ke dalam blok mikrokontroller untuk dicacah dan hasil cacahan akan ditampilkan pada display dalam satuan RPM. Sebelum masuk ke dalam mikrokontroller sinyal digital yang dihasilkan oleh optocoupler celah akan masuk ke dalam IC Schmitt trigger agar dihasilkan sinyal digital yang sempurna. 3.2.4 Rangkaian Blok Saklar Pemilihan Rangkaian saklar pemilihan berfungsi untuk memilih hasil pengukuran yang akan masuk ke ADC untuk diproses dalam hal ini berasal dari sensor sensor tekanan atau blok sensor suhu. Untuk memilih hasil pengukuran mana yang akan masuk ke ADC, rangkaian pada blok saklar pemilihan ini mendapat sinyal kontrol dari mikrokontroller.
37
3.2.5 Blok Analog to Digital Converter Pada blok ini sinyal analog akan dirubah menjadi sinyal digital agar dapat dibaca oleh rangkaian mikrokontroller. 3.2.6 Blok Rangkaian Mikrokontroller Pada blok ini sinyal digital yang masuk dari ADC atau sensor kecepatan diolah untuk dapat ditampilkan ke LCD, termasuk didalamnya proses aritmatika untuk mendapatkan berbagai macam satuan pengukuran. 3.2.7 Blok Rangkaian Display dan Indikator Blok display dan indikator terdiri dari LCD dan LED. LCD berfungsi untuk menampilkan hasil pengukuran yang sudah diolah oleh mikrokontroller dan led digunakan sebagai indikator berfungsi untuk menandakan sensor mana yang sedang dibaca. 3.3
Perencanaan Rangkaian Sensor Sensor yang digunakan dalam pembuatan alat ini terdiri dari 3 macam, yaitu
sensor temperatur, sensor tekan dan sensor kecepatan putaran 3.3.1 Perencanaan Rangkaian Sensor Temperatur Sensor temperatur yang digunakan pada karya ilmiah ini adalah LM 35 DZ. Dipilihnya LM 35 DZ karena mudah didapat, mudah untuk diaplikasikan serta memiliki tingkat kepresisian yang baik. Penjelasan lebih rinci mengenai sensor ini dapat dilihat pada teori dasar. Sensor temperatur LM 35 DZ memiliki kepekaan sebesar 10 mV/oC sehingga keluaran dari LM 35 DZ dapat langsung masuk ke dalam ADC 0804 karena resolusi keluaran LM 35 sama dengan resolusi ADC. Namun dalam pembuatan rangkaian sensor temperature, penulis akan merancang sebuah rangkaian yang dapat menjadi toleransi agar dapat dilakukan penyesuaian pada saat kalibrasi. Rangkaian ini terdiri atas penguat operasional (operational amplifier) dan pembagi tegangan (voltage devider)
38
7
+5 V
1
+5 V
VS+ GND
U1 OUT
2
R1
R2
100 K
100 K
U1 3 6 2
VR2 10 K
LM35DZ(3) C1 10
C2 10
-5 V
5
4 1
3
LF356
+5 V VR1 10 K
R4
Multiplexer
R5 10 K
10 K R3 10 K
Gambar 3.2 Rancangan Rangkaian Sensor Temperatur (0C) Sinyal yang didapat dari sensor LM 35 DZ akan masuk pada rangkaian Low Pass Fillter kemudian dikuatkan sebesar dua kali, sehingga pada keluaran U2 kepekaan sensor menjadi 20 mV / oC. Selanjutnya akan dibagi dua dengan toleransi VR2. Penjabaran secara matematis dari hal tersebut adalah sebagai berikut : ACL = 1 +
R4 R3
ACL= 1 +
10ΚΩ =1+1 =2 10ΚΩ
Berikutnya sinyal tersebut akan masuk pada rangkaian pembagi tegangan, untuk dibagi dua. Vout = 1=
R5 ⋅ V1 VR2 + R5
470Ω ⋅2 VR2 + 470Ω
VR2 + 470Ω =
470Ω ⋅ 2 1
VR2 = 940Ω - 470 Ω
==>
R5 Vout 1 = = Vi VR2 + R5 2
==>
1 470Ω = 2 VR2 + 470Ω
==> VR2 + 470Ω = 940Ω ==> VR2 = 470Ω (untuk Vout ½ dariVin)
39
Tabel 3.1 Contoh Perhitungan Untuk Masing-Masing Keluaran Suhu
Vout SENSOR
Vout PENGUAT
Vout PEMBAGI TEGANGAN
32
320 mV
640 mV
320 mV
35
350 mV
700 mV
350 mV
37
370 mV
740 mV
370 mV
40
400 mV
800 mV
400 mV
3.3.2 Perencanaan Rangkaian Sensor Tekanan Sensor tekanan yang digunakan pada karya ilmiah yang dibuat adalah MPX5050.
Dipilihnya sensor
tersebut
karena keluarannya
langsung
bereferensi terhadap ground bukan tegangan diferensial. Sensor tekanan yang penulis gunakan memiliki sensitifitas 90 mV/kPa, artinya setiap kenaikan tekanan sebesar 1 kPa maka tegangan output akan naik 90 mV. +5 V 7
+5 V
Sen sor
R6
R7
1 00 K
1 00 K
7
U2
U3
3 6
3
2
6 2
VR6 25 K
LF35 6 LF3 56
-5 V
5
4 1
5
C5 1 uF
4 1
C4 1 uF
+5 V -5 V
Multip lexer
+5 V R10 10 K
VR4 10 K R9 R8 10 K
VR5 10 K
1K
Gambar 3.3 Rancangan Rangkaian Sensor Tekanan (kPa) Untuk menyesuaikan sensitivitas sensor tekanan dengan resolusi pada ADC, maka sebelum masuk ke ADC 0804 tegangan akan masuk ke dalam rangkaian pengkodisi signal yang akan membuat sensitivitas tekanan sensor 90 mV/kPa menjadi 10 mV/kPa. Rangkaian ini terdiri atas rangkaian penguat (operational amplifier) dan rangkaian pembagi tegangan (voltage devider). Di bawah ini adalah perhitungan untuk menentukan nilai resistor yang akan dipakai dalam rangkaian penguat dan pembagi tegangan
40
R VOUT = F + 1VIN R IN 2 VOUT = + 1VIN 10 VOUT = 1, 2 ⋅ VIN VOUT = 1, 2 ⋅ 90mV VOUT = 108mV Setelah keluaran MPX5050 dikuatkan 1,2 kali maka agar didapatkan sensitivitas sebesar 10 mV/kPa maka keluaran Vout akan masuk ke pembagi tegangan agar didapat keluaran yang akan masuk ke ADC sebesar 10 mV untuk setiap kPa., Di bawah ini adalah perhitungan nilai Resistansi untuk mendapatkan keluaran yang diinginkan. VOUT R10 = VIN R10 + VR6 VOUT 10kΩ = VIN 10kΩ + VR6 1 10kΩ = 10,8 10kΩ + VR6 VR6 = 108kΩ − 10kΩ VR6 = 98kΩ VR6 ≈ 100kΩ Dari perhitungan di atas untuk menghasilkan keluaran pembagi tegangan sebesar 10 mV dari keluaran sensor sebesar 90 mV diperlukan resistor 10 kΩ dan variabel resistor 100 kΩ. Penyertaan rangkaian tapis lolos bawah pada rangkaian sensor tekanan ini diharapkan agar frekuensi-frekuensi yang menginterfensi rangkaian di atas fc (cut off) dapat ditekan semaksimal mungkin. Pada modul yang dibuat kita menghendaki meredam seluruh frekuensi yang lewat, sehingga memerlukan fc
41
yang kecil. Diharapkan pula agar sinyal tetap terjaga dengan baik, tidak terpengaruh akibat pembebanan. Dari rancangan di atas, perancangan dengan menggunakan jenis fillter aktif. Ini ditandai dengan adanya penyangga (buffer) setelah komponen pasif R dan C. Hal ini diperlukan sebagai transfer beban maksimum tanpa adanya kerugian karena adanya efek pembebanan. Kita tetapkan saja frekuensi pancung sebesar + 1 Hz (hanya sinyal dc yang akan dilewatkan) dan R (resistor) sebesar 100 KΩ, maka dibutuhkan C (kapasitor) sebesar : 1 1 fc = RC = 6,28 2πRC 1 C= 6, 28.R. fc 1 C= 6, 28.(100.10 3 ).1 C = 1,592.10-6 ( digunakan C yang ada dipasaran sebesar 1 µF ) Filter orde dua dengan dua buah resistor dan kapasitor akan membantu frekuensi pancung semakin mendekati ideal. 3.3.3 Perencanaan Rangkaian Sensor Kecepatan Pada perancangan sensor kecepatan putaran digunakan roda cacah/cakram dengan lubang-lubang pada tepiannya sebagai sensor putaran dan optocoupler yang berfungsi untuk menghasilkan pulsa digital hasil pembacaan dari putaran roda cacah/cakram yang diputar oleh poros benda yang akan diukur kecepatannya. Pada perencaan pengukuran kecepatan, resolusi yang digunakan adalah 10 RPM, artinya setiap pulsa yang dicacah oleh optocoupler dihargai 10 RPM, dengan demikian jumlah lubang yang harus dibuat pada roda cacah akan mengikuti persaman berikut: L = f ( R, Tw)
42
Dimana: L = jumlah lubang pada cakram R = resolusi pembacaan Tw = time window (waktu pengukuran = 0,5s) L=
60 R ⋅ Tw
L=
60 = 12 10 ⋅ 0,5 +5 V
+5 V
R10 330
R11 330 U3A U6
1
2
Port 3.4
74LS14 Optocoupler
Gambar 3.4 Rangkaian Sensor Kecepatan Putaran Sebelum masuk ke rangkaian mikrokontroller, sinyal digital yang dihasilkan oleh optocoupler sebagai hasil pembacaan dari roda cacah yang berputar akan terlebih dahulu masuk kedalam rangkaian penghalus pulsa schmitt trigger 7414. IC ini akan menyempurnakan bentuk sinyal digital yang akan masuk ke mikrokontroller sehingga proses penghitungan pulsa yang dilakukan oleh counter T0 akurat. 3.4
Perencanaan Rangkaian ADC Rangkain ini berfungsi mengubah sinyal-sinyal yang telah dikuatkan oleh
rangkaian penguat menjadi data digital untuk dapat diproses oleh rangkaian mikrokontroller AT89C51. rangkaian ini menggunakan IC 0804 yang merupakan konverter 8 bit.
43
+5 V 20
+5 V
VccREF
Vin(+)
CLK-R
INTR A- GND
3 1 2
Vref/2
WR CS RD U4 ADC0804
CLK-IN Vin(-)
Rref
9 6
19
Input
R4 10 K
C1 150 pF
4 7
8
5
lsbDB0 DB1 DB2 DB3 DB4 DB5 DB6 msbDB7
R3
Rref
To Mikrokontroler 18 17 16 15 14 13 12 11
R2 Rref
R1
Gambar 3.5 Rangkaian ADC 0804 Sesuai dengan karakteristik ADC 0804 yang penulis telah terangkan pada bab II, maka tegangan referensi ADC 0804 mengacu pada persamaan dibawah: Jangkauan Tegangan = Resolusi ADC 0804 x (Σ Variasi bit – 1) = 10 mV . 255 = 2550 mV = 2,55 V Vref
= Jangkauan tegangan / 2 = 2,55 / 2 = 1,275 Volt
Sedangkan frekuensi clock yang diperlukan untuk mengaktifkan ADC 0804 dapat dicari dengan menggunakan persamaan dibawah: f CLK =
1 1,1 ⋅ 10k ⋅ 150 pF = 606kHz
f CLK = f CLK
1 1,1 ⋅ RC
44
3.5
Perencanaan Rangkaian Mikrokontroller
+5 V 31
C1
19 33 pF Y1 CRYSTAL 18
+5 V C2 R9 1K
EA/VP X1 X2
33 pF 9
S2 13 14 15
pilih parameter Sensor Kecepatan
C12 100 nF
R570 330
R57 330
R59 330
1 2 3 4 5 6 7 8
LCD
U1 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 RD WR
RESET INT1 T0 T1 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 PSEN ALE/P RXD TXD INT0
39 38 37 36 35 34 33 32 17 16 21 22 23 24 25 26 27 28 29 30 10 11 12
ADC
Multiplexer
87C51 led 1 suhu
led 2 tekanan
led 3 kec
+5 V
Gambar 3.6 Rangkaian Mikrokontroller Rangkaian utama dari modul ini adalah rangkaian mikrokontroller AT89C51.
Penulis
menggunakan
mikrokontroller
AT89C51
agar
dapat
meminimalisasi rangkaian pendukungnya selain itu dalam penggunaannya mikrokontroller ini cukup mudah dan harganya pun relatif murah. Untuk mengaktifkan mikrokontroller AT89C51 ini penulis menggunakan sumber clock internal dengan menngunakan kristal yang memiliki frkuensi 12 MHz. Penulis juga hanya menggunakan program memori internal karena sudah mecukupi untuk menampung semua program yang dibuat untuk menjalankan alat. Karena penulis hanya menggunakan program memori internal maka pin 31 diberi logika tinggi sehingga mikrokontroller hanya akan mengeksekusi program memori internal.
45
Berikut ini adalah pengalokasian jalur-jalur data P0, P1, P2, dan P3 pada mikrokontroller seperti terlihat pada gambar diatas. P0.0 – P0.7
: Digunakan sebagai jalur data ke LCD
P2.0 – 2.7
: Digunakan sebagai jalur data dari ADC 0804
P3.6 dan P3.7 : Digunakan sebagai jalur kontrol LCD
3.6
P3.0 – P3.2
: Digunakan sebagai jalur kontrol multiplexer analog 4051
P3.3
: Digunakan untuk membaca tombol pemilihan
P3.4
: Digunakan untuk input sensor kecepatan (T0)
P1.0 – P1.2
: Digunakan untuk menyalakan indikator pemilihan sensor
Perencanaan Rangkaian Pemilihan Sensor Rangkaian pemilihan sensor ini berfungsi untuk memilih data mana yang
akan dibaca oleh ADC, apakah dari pembacaan sensor temperature atau sensor tekanan. Rangkaian ini menggunakan multiplexer analog 4051 yang akan memasukkan data antara X0 dengan X1 sesuai dengan data pada kontrolnya A, B, dan C. U7 ADC 0804
Port 3. 0 Port 3. 1 Port 3. 2
3
11 10 9 6
X
X0 X1 X2 X3 X4 X5 X6 X7
A B C
VEE
13 14 15 12 1 5 2 4
Sensor Suhu Sensor Tekanan
7
INH 4051
Gambar 3.7 Rangkaian Pemilihan Sensor Tabel dibawah menjelaskan kontrol yang harus diberikan ke IC 4051 untuk memilih sensor yang akan masuk ke ADC 0804
46
Tabel 3.2 Pemilihan Sensor Input B
A
(P3.2)
(P3.1)
(P3.0)
L
L
L
L
Sensor Suhu
L
L
L
H
Sensor Tekanan
INH
3.7
Sensor yang dipilih
C
Perencanaan Rangkaian Display Rangkaian display menggunakan LCD yang berfungsi menampilkan hasil
pembacaan dari tiap-tiap sensor dan juga satuan pengukurannya. LCD yang digunakan adalah LCD 16 x 2 yang menggunakan kontroler HD44780U buatan Hitachi. +5V LCD1
Port 0 7 8 9 10 11 12 13 14 Port 3.6 Port 3.7
4 6 5
DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7
Vcc
2
Vee
3
Vss
1
BPL
15
GND
16
R1 1K
Liquid Crystal Display
RS EN R/W
Gambar 3.8 Rangkaian Display Untuk menghubungkan mikrokontroller dengan LCD maka P0.0 – P0.7 pada mikrokontroller digunakan sebagai jalur data 8 bit yang akan mengirimkan data ke LCD (DB0 – DB7), sedangkan port 3.6 dan 3.7 pada mikrokontroller digunakan sebagai jalur kendali RS dan EN sedangkan pin R/W pada LCD diberi tegangan ground
karena
mikroprosessor.
LCD
hanya
digunakan
untuk
menampilkan
data
dari
47
Sebelum dapat digunakan maka LCD harus terlebih dahulu di inisialisasi oleh mikrokontroller agar dapat menampilkan sesuai dengan yang diinginkan. Pada perancangan rangkaian LCD penulis menginginkan penggunaan kedua baris LCD dengan 8 bit jalur data, sehingga data yang harus dikirimkan adalah: clr RS mov P0,#38h setb EN lcall tunda3 clr EN Penulis juga menginginkan display selalu On dan tidak menampilkan kursor, sehingga data yang dikirmkan adalah sebagai berikut: clr RS mov P0,#0Ch setb EN lcall tunda3 clr EN Dan untuk inisialisasi yang terakhir penulis menginginkan agar kursor otomatis bergeser ke kanan setelah menuliskan data pada kolom tertentu, sehingga data yang dikirimkan adalah sebagai berikut: clr RS mov P0,#06h setb EN lcall tunda3 clr EN ret 3.8
Perencanaan Perangkat Lunak Di dalam proses pembuatan program ini penulis terlebih dahulu membuat
diagram alur (flow chart), hal ini dilakukan agar dalam pembuatan program tidak
48
terjadi kerumitan hal ini dikarenakan telah adanya acuan dalam pembuatan program yaitu dengan bantuan diagram alir tersebut. START
INISIALISASI
T Switch Aktif
Pilih Sensor
Y
Apakah R1 ≥ 03d
Y
Pilih Sensor Suhu
T Sensor Suhu
Y
Nyalakan indikator
Baca ADC suhu
Konversi satuan F, K, R
Y
Nyalakan indikator
Baca ADC Tekanan
Konversi satuan Psi, mmHg
Y
Nyalakan indikator kec
Baca Sensor Kec
T Sensor Tekanan
Sensor Kecepatan
T
Tampilkan hasil pengukuran
Gambar 3.9 Diagram Alur Program Alat Kalibrasi Diagram tersebut menggambarkan cara kerja dari pesawat keseluruhan. Cara kerja pesawat menurut diagram alir tersebut yaitu ketika pesawat dihubungkan dengan catu daya dari tegangan jala-jala, maka mikrokontroler AT89C51 akan melakukan program reset secara otomatis. Pada proses inisialisasi penulis
49
memberikan instruksi kepada mikrokontroler untuk menginisialisasi LCD dan menampilkan STAND BY. Setelah itu mikrokontroller akan mengecek status R1 yang digunakan sebagai tanda parameter yang akan diukur. Nilai Register 1 (R1) akan ditambah satu apabila saklar pemilihan ditekan dan apabila nilai R1 sama dengan 4h, maka R1 akan diisi dengan 0h. Adapun hubungan nilai R1 dengan satuan parameter yang diukur adalah sebagai berikut: 1.
R1 = 0 adalah nilai untuk menyatakan kondisi stand by
2.
R1 = 1h adalah nilai untuk pengukuran suhu
3.
R1 = 2h adalah nilai untuk pengukuran tekanan
4.
R1 = 3h adalah nilai untuk pengukuran kecepatan Pada saat nilai R1 = 1h maka mikrokontroller akan memilih sensor suhu
untuk masuk ke ADC yang kemudian dibaca oleh mikrokontroller. Sebelum ditampilkan hasil pembacaan tersebut dikonversikan kedalam berbagai satuan (oF, o
R, dan K) kemudian hasil konversi tersebut ditampilkan ke LCD Pada saat nilai R1 = 2h maka mikrokontroller akan memilih sensor tekanan
untuk masuk ke ADC yang kemudian dibaca oleh mikrokontroller. Sebelum ditampilkan hasil pembacaan tersebut dikonversikan kedalam berbagai satuan (mmHg dan Psi) kemudian hasil konversi tersebut ditampilkan ke LCD Pada saat nilai R1 = 3h maka mikrokontroller akan memilih sensor kecepatan dan mulai menghitung pulsa yang masuk pada P3.4 (timer 0). Hasil penghitungan tersebut kemudian di tampilkan ke LCD.
BAB IV PENGUJIAN ALAT Pada bab ini penulis akan memaparkan hasil pengujian berdasarkan perancangan yang telah dibuat dan pengujian alat secara keseluruhan. Hasil pengukuran ini disusun dalam bentuk tabel pendataan dengan beberapa kondisi perlakuan yang diberikan pada rangkaian sesuai dengan permasalahan yang akan dibahas. Hal ini bertujuan untuk lebih memperlihatkan sejauh mana pengaruh perlakuan atau masukan yang berbeda terhadap kerja rangkaian secara keseluruhan. Pendataan yang dilakukan penulis dilaksanakan secara berulang-ulang agar didapat hasil data yang lebih presisi. Keakuratan hasil pendataan banyak dipengaruhi oleh beberapa hal antara lain dari komponen yang kita rakit maupun alat penunjang yang digunakan dalam pendataan. 4.1
Persiapan Alat Pengujian Sebagai penunjang dalam melakukan pendataan, penulis menggunakan
beberapa peralatan sebagai berikut : a. Multimeter Analog Sanwa YX-360 TRD b. Multimeter Digital Sanwa CS721 c. Digital Storage Oscilloscope Instek GDS-810S d. Termometer Air Raksa e. Motor Gear Box DC 12 VDC f. Spygmomanometer Aneroid g. Tachometer Digital Sanwa SE-100 h. Universal Biometer DPM-III, BioTek Instrumens i. 4.2
Power Supply Protek 0 – 24 Vdc
Pengujian Alat Sebelum melakukan pengujian alat secara keseluruhan terlebih dahulu
dilakukan pengujian alat per bagian sesuai dengan perancangan pada Bab III. Penulis juga menentukan beberapa titik pengukuran (TP), yaitu sebagai berikut.
51
TP 1 : Pin 13 dari IC 4051 yang merupakan tegangan keluaran dari pengukuran temperatur TP 2 : Pin 14 dari IC 4051 yang merupakan tegangan keluaran dari pengukuran tekanan TP 3: Pin 14 dari IC AT89C51 yang merupakan keluaran dari pengukuran kecepatan 4.2.1 Pengujian Rangkaian Mikrokontroller Untuk menguji rangkaian mikrokontroller maka penulis membuat program sederhana untuk membaca saklar dan menyalakan led. Adapun saklar yang dimaksud adalah saklar yang digunakan untuk memilih parameter yang akan diukur sedangkan lednya adalah indikator parameter yang sedang diukur. Berikut ini adalah program sederhana yang dibuat baca:
jb p3.3, ready ljmp switch
switch:
lcall tunda jnb p3.3,baca inc R1 cjne R1,#03h, ready mov R1,#00h ljmp ready
ready:
cjne R1,#00h,cek_1 mov A,#11111110 mov P1,A ljmp baca
cek_1:
cjne R1,#01h,cek_2 mov A,#11111101 mov P1,A ljmp baca
cek_2:
cjne R1,#02h,baca mov A,#11111011 mov P1,A ljmp baca
;ganti tanda R1
52
Dari potongan program diatas bahwa mikrokontroller akan mengecek apakah saklar di P3.3 ditekan, setiap penekanan saklar akan menambah nilai pada register 1 (R1) mikrokontroller, apabila nilai R1 = 0h maka led yang berada pada P1.0 akan menyala, jika R1=1h maka led yang berada pada P1.1 akan menyala sedangkan jika R1=2h maka led yang berada pada P1.2 akan menyala. Jika R1=3h maka nilai R1 akan direset kembali menjadi 0h. 4.2.2 Pengujian Rangkaian LCD Untuk menguji apakah rangkaian LCD dapat menampilkan data dari mikrokontroller maka penulis membuat program untuk menampilkan huruf A pada seluruh kolom baris pertama dan huruf B pada seluruh kolom baris kedua. Berikut adalah potongan program sederhana untuk pengujian LCD init_lcd:
clr RS
; Display 8 bit, 2 baris
mov P0,#38h setb EN lcall tunda clr EN clr RS
; Display=On, Cursor=off
mov P0,#00001100b setb EN lcall tunda clr EN clr RS
; Automatic geser kanan
mov P0,#06h setb EN lcall tunda clr EN clr RS mov P0,#01h setb EN lcall tunda clr EN tampil_1:
mov R1, #0Fh
; clear LCD
53
lcall baris_1 huruf_A:
mov A,#'A' lcall write_lcd djnz R1, huruf_A mov R1, #0Fh lcall baris_2
huruf_B:
mov A,#'B' lcall write_lcd djnz R1, huruf_B ljmp tampil_1
write_lcd: setb RS mov P0,A setb EN lcall tunda clr EN ret baris_1:
mov p0,#80h clr RS setb EN lcall tunda clr EN ret
baris_2:
mov p0,#0C0h clr RS setb EN lcall tunda clr EN ret
4.2.3 Pengujian Rangkaian Sensor Suhu Untuk pendataan satuan temperatur penulis menggunakan alat bantu berupa thermometer air raksa dan DPM-III sebagai standar pengukuran.
54
Penulis mengukur pada titik pengukuran 1 (TP 1) guna mendapatkan tegangan masukan ADC pada saat pembacaan suhu tertentu.oleh alat yang dijadikan refernsi dan membandingkannya dengan tampilan alat yang dibuat.. Tabel 4.1 Hasil Pendataan Suhu (oC) Suhu (oC)
TP 1 (mV)
Tampilan
Tampilan
Tampilan
Tampilan
C
K
F
R
9
96,8
9
282
48,2
7,2
19
192,8
19
292
66,2
15,2
25
254,5
25
297
77
20
31
315
31
304
87,8
24,8
42
425
42
315
107,6
33,6
4.2.4 Pengujian Rangkaian Sensor Tekanan Untuk pengujian rangkaian sensor tekanan penulis menggunakan alat bantu yaitu spygmomanometer aneroid dan DPM-III sebagai pembanding antara alat yang dibuat dengan alat yang umum dipakai untuk melakukan pengukuran tekanan udara pada instrument medik. Penulis mengukur pada titik pengukuran 2 (TP 2) guna mendapatkan tegangan masukan ADC pada saat pembacaan tekanan tertentu.oleh alat yang dijadikan refernsi dan membandingkannya dengan tampilan alat yang dibuat Tabel 4.2 Hasil Pendataan Tekanan (kPa) Tekanan (kPa)
TP 2 (mV)
Tampilan
Tampilan
Tampilan
kPa
mmHg
Psi
5
57,3
5
37,5
0,725
8
84,4
8
60
1,160
10
102,7
10
75
1,450
12
123,2
12
90
1,740
16
158,7
15
120
2,320
55
4.2.5 Pengujian Rangkaian Sensor Kecepatan Untuk pendataan satuan kecepatan penulis menggunakan alat Bantu berupa motor gearbox DC dengan power supply yang dapat diatur keluarannya sehingga akan menghasilkan kecepatan putaran yang berbedabeda. Sebagai acuan pengukuran penulis mempergunakan osiloskop dan tachometer digital untuk membandingkan antara alat yang dibuat dengan alat yang umum dipakai untuk melakukan pengukuran kecepatan putaran. Penulis mengukur pada titik pengukuran 3 (TP 3) guna mendapatkan pulsa digital hasil pembacaan sensor dan membandingkan antara alat yang dijadikan refernsi dan membandingkannya dengan tampilan alat yang dibuat. Tabel 4.3 Hasil Pendataan Pengukuran Kecepatan Putaran Tegangan Motor
8V
10 V
Bentuk Pulsa (TP 3)
Keterangan
time/div
: 25 ms
volt/div
:2V
frekuensi
: 25,64 Hz
display
: 120 RPM
tacho
: 125 RPM
time/div
: 25 ms
volt/div
:2V
frekuensi
: 32,27 Hz
display
: 160 RPM
tacho
: 158RPM
56
12 V
14 V
16 V
4.3
time/div
: 25 ms
volt/div
:2V
frekuensi
: 38,46 Hz
display
: 190 RPM
tacho
: 197 RPM
time/div
: 25 ms
volt/div
:2V
frekuensi
: 45,42 Hz
display
: 220 RPM
tacho
: 219 RPM
time/div
: 25 ms
volt/div
:2V
frekuensi
: 49,99 Hz
display
: 250 RPM
tacho
: 245 RPM
Analisa Data Pada bagian ini akan diuraikan data-data yang dianalisa berdasarkan dari hasil pengujian dengan perhitungan secara teori dan juga pembacaan alat standar. hasil teori – hasil data Kesalahan ( % ) =
x 100 % hasil teori
57
4.3.1 Analisa Pengukuran Temperatur (TP1) VTP1 = 10 mV /o C . Temperatur Tabel 4.4 Analisa Pada TP 1 Temperatur
Teori
Data
Selisih
Kesalahan
( C)
( mV )
( mV )
( mV )
(%)
9
90,0
93,2
3,2
3,5
19
190,0
192,8
2,8
1,4
25
250,0
254,5
4,5
1,8
31
310
315
5
1,6
42
420
425
5
1,1
o
Rata-rata kesalahan
=
3,5 + 1,4 + 1,8 + 1,6 + 1,1 5
= 1,8% 4.3.2 Analisa Pengukuran Tekanan (TP2) VTP1 = Sensitifitas . Tekanan
Tabel 4.5 Analisa Pada TP 2 Tekanan (kPa)
Teori (mV)
Data (mV)
Selisih (mV)
Kesalahan ( % )
5
50
57,3
7,3
14,6
8
80
84,4
4,4
5,5
10
100
102,7
2,7
2,7
12
120
123,2
3,2
2,6
16
160
157,7
2,3
1,4
Rata-rata kesalahan
=
14,6 + 5,5 + 2,7 + 2,6 + 1,4 5
= 5,3%
58
4.3.3 Analisa Pengukuran Kecepatan Putaran (TP3) Tabel 4.6 Analisa Pada TP 3 Tegangan
Alat
Selisih
8
125
120
5
4
10
158
160
2
1,2
12
197
190
7
3,5
14
219
220
1
0,4
16
245
250
5
2
Adaptor
Rata-rata kesalahan
=
4 + 1,2 + 3,5 + 0,4 + 2 5
= 2,22%
4.4
Kesalahan
Tachometer
Persentase Kesalahan Per Parameter a. Persentase kesalahan pada pengukuran temperatur % Kesalahan = 1,8% b. Persentase kesalahan pada pengukuran tekanan: % Kesalahan = 5,3% c. Persentase kesalahan pada pengukuran kecepatan: % Kesalahan = 2,22%
(%)
BAB V PENUTUP 5.1
Kesimpulan Dari hasil perancangan dan realisasi instrumen kalibrasi tekanan udara,
temperatur dan kecepatan, maka pada bagian penutup dari karya tulis ini penulis dapat menarik kesimpulan antara lain : 1. Hasil realisasi pembuatan alat acuan kalibrasi suhu, tekanan udara, dan kecepatan putaran, secara umum telah dapat berjalan sesuai dengan yang direncanakan. 2. Adapun persentase kesalahan untuk tiap-tiap satuan pengukuran adalah sebagai berikut: a. Persentase kesalahan pada pengukuran tekanan : 5,3 % b. Persentase kesalahan pada pengukuran temperatur : 1,8 % c. Persentase kesalahan pada pengukuran kecepatan : 2,22 % Penyimpangan-penyimpangan tersebut di atas dimungkinkan terjadi karena penggunaan komponen-komponen yang kurang presisi, penggunaan alat ukur yang digunakan sebagai acuan atau kurang sempurnanya perancangan alat yang dibuat. 5.2
Saran Implementasi dari karya ilmiah yang dibuat masih dapat dikembangkan
lebih lanjut, yaitu dengan memberikan pilihan-pilihan yang lebih banyak pada satuan pengukuran, disesuaikan dengan parameter-parameter yang dikehendaki oleh instrumen medik atau dapat juga dengan menambah parameter yang akan ditera seperti kelembaban, arus, tegangan, dan lain-lain
59
DAFTAR PUSTAKA
Link, Wolfgang alih bahasa Margunadi. 1993. Pengukuran, Pengendalian, Dan Pengaturan Dengan PC. Jakarta: Elex Media Komputindo. Malvino, Albert Paul. 1994. Elektronika Komputer Digital (Pengantar Mikroprosessor). Edisi Kedua, Jakarta: Erlangga. Moh. Ibnu Malik dan Anistardi. 1999. Bereksperimen Dengan Mikrokontroller 8031. Jakarta: Elex Media Komputindo. Robert F Coughlin, Frederick F. Oriscoll. 1994. Penguat Operasional dan Rangkaian Terpadu Linier. Steeman J.P.M. 1996. Data Sheet Book 2. Jakarta: Elex Media Komputindo. Universal Biometer DPM – III. 1989. User’s Guide. Winooski: Biotek Instrumen. Incorporation Wasito. 1985. Data Sheet Book 1. Jakarta: PT Multimedia. Webster. G. john. 1992. Medical Instrumentation Application and Design. Boston www.mytutorialcafe.com
START
INISIALISASI
T Y
Switch Aktif
Pilih Sensor
Apakah R1 ≥ 04d
Y
Stand By
Aktif T
Sensor Suhu
Y
Nyalakan indikator suhu
Baca ADC suhu
Konversi satuan F, K, R
Y
Nyalakan indicator tek
Baca ADC Tekanan
Konversi satuan Psi, mmHg
Y
Nyalakan indikator kec
Baca Sensor Kec
Konversi satuan RPS -RPM
T Sensor Tekanan
Sensor Kecepatan
T
Tampilkan hasil pengukuran
Diagram Alur Program Alat Kalibrasi
1
2
3
4
5
6
D
D
18
C2
X2
100 nF 33 pF
S1
9 C
reset
R8 1K
13 14 15
+5 V
1 2 3 4 5 6 7 8
R9 1K S2 pilih parameter C12
RESET INT1 T0 T1 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 PSEN ALE/ P RXD TXD INT0
39 38 37 36 35 34 33 32 17 16 21 22 23 24 25 26 27 28 29 30 10 11 12
1 2 3 4 5 6 7 8 9 10 LCD
+5 V
C5
+5 V
18 17 16 15 14 13 12 11 5 3 1 2
87C51
lsbDB0 DB1 DB2 DB3 DB4 DB5 DB6 msbDB7
U4 ADC080 4
10 uF R6
Rref Vref/ 2
Rref
9
C U7
Vin(+)
CLK-R
INTR WR CS RD
R7 Rref
R5
20
Y1 CRYSTAL
C11
X1
P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 RD WR
VccREF
19 33 pF
EA/VP
A- GND
+5 V
J77
U1
CLK-IN Vin (-)
6
19
3
X
X0 X1 X2 X3 X4 X5 X6 X7
A B C
VEE
C4
R4 10 K
150 pF
4 7
11 10 9
13 14 15 12 1 5 2 4
Sensor Suhu Sensor Tekanan
7
8
+5 V 31
C1
100 nF
6
INH 4051
U3A Sens or Kecepatan B
1
2 B
74LS14
R570 R5 80 R57 R58 R59 R60 R61 R62 330 330 330 330 330 330 330 330
D100 kmr 1
D200 kmr 2
D1 kamar 3
D6 kmr 8
+5 V
A
A
1
2
3
4
5
6
1
2
3
4
6
5
D
D
7
+5 V
1
+5 V
VS+ GND
U1 OUT
2
U2
R1
R2
100 K
100 K
3 6 2
VR2
LM3 5DZ(3) C2 10
C1 10
-5 V
5
4 1
3
LF356 VR1 +5 V
RPOT_2 To ADC
RPOT_ 2
R5 10 K
R4 10 K C
C
R3 10 K
+5 V
Sen sor B
R1 0
R11
100 K
1 00 K
7
7
+5 V U4
U5
3 6
3
2 C5 1 uF
B
6 2
VR6
LF35 6 LF356
-5 V
VR4 +5 V -5 V
5
4 1
5
4 1
C4 1 uF
VR5 +5 V
25 K
To ADC
R1 4 22 K 10 K 10 K
R13 R12 10 K
1K
A
A
1
2
3
4
5
6
DPM-III Universal Biometer
Measure pressure and temperature with a device that fits in your pocket. SPECIFICATIONS OVERVIEW
•
Pressure Ranges -698 to 776 mmHg (±1% of
The Universal Biometer provides
reading)
pressure and temperature
-949 to 1055 cmH2O (±1% of
measurements. It is a unique test
reading)
instrument able to measure pneumatic
-374 to 415 in. H2O (±1% of
or hydraulic pressures (both positive or
reading)
negative) in a variety of ranges
-93 to 103 kPa (±1% of
including: millimeters of mercury,
reading)
centimeters of water, inches of water,
-13.5 to 15 psi (±1% of
kilopascals, and pounds per square
reading)
inch. We've also added the ability to
-13.5 to 100 psi (±2% of
measure temperature in degrees Centigrade and Fahrenheit accurately and fast.
reading) •
Over Pressure 150 psi
•
Temperature Range 0 to 50oC (32 to 122oF ± 1.5oC
Some possible applications:
or ±1 LSD, whichever is greater)
Pressure: •
Opthamological lasers
•
Dialysis machines
•
Resolution 0.1oC/oF
•
Temperature Probe Jack 1/4 inch phone jack, designed
•
Automatic tourniquets
for use with Yellow Springs
•
Drainage devices
700 series probes.
•
IV pumps
•
Diagnostic, surgical suction
1/4 inch phone jack, full range
•
Ventilators
= 1 v for temperature and
•
Pressure gauges
pressure
•
•
High Level Output
Operating Temperature 10 to 40oC
•
Temperature: •
Temperature monitors
•
Electronic thermometers
•
Humidifiers/nebulizers
•
Blood warmers
•
Hypo/hyperthermia machines
•
Infant incubator
•
Radiant warmers
•
Hemodialysis machines
Power One 9 v alkaline battery (lifetime 35 hour continuous)
•
Weight 10 oz (280 g)
•
Dimensions 5.7 x 3.5 x 2.1 in. (14.6 x 8.9 x 5.4 cm)
piece of software rev7 ;=============================================================================== ==== ;Program Alat Kalibrasi Instrumen Medik Parameter Temperatur,Tekanan,Dan Kecepatan ;=============================================================================== ==== $MOD51 RS EQU P3.7 EN EQU p3.6 Window EQU 10 ;setara dgn 500 ms Slot EQU R6 ;setara dgn 50 ms ;***************************************************** DSEG ORG 30H Loop: DS 2 ;untuk DJNZ bersarang Angka: DS 4 ;4 digit angka Pulsa: DS 2 ;menampung 16-bit index: DS 1 ADC1: DS 1 ADC_: DS 3 var4: DS 1 satuan: DS 1 puluhan: DS 1 ratusan: DS 1 ribuan: DS 1 vara: DS 1 varb: DS 1 varc: DS 1 vard: DS 1 vare: DS 1 varf: DS 1 ;***************************************************** CSEG LJMP Start ORG 1BH LJMP Timer1_ISR ORG 30H start: lcall init_lcd mov A,#11111111b mov P1,A mov R1,#00h ;set reg 1 pada 00 mov R2,#00h mov R3,#00h mov R4,#00h mov R5,#00h lcall kosong setb p3.0 setb p3.1 setb p3.2 ljmp ready ;====================Baca Saklar=================================================== baca:
jb p3.3, ready ljmp switch
switch:
lcall tunda2 jnb p3.3,baca inc R1 cjne R1,#04h,ready mov R1,#00h ljmp ready
ready:
cjne R1,#00h,cek_1 mov A,#11111111b mov P1,A mov R2,#00h mov R3,#00h mov R4,#00h
;cek apakah saklar ditekan
;ganti tanda R1
;matikan indikator
Page 1
piece of software rev7 cjne R5,#01h,terus4 sjmp jez4 terus4:
lcall clear_lcd
jez4:
lcall welcome inc R5 cjne R5,#02h,set4 mov R5,#01h
set4: cek_1:
ljmp baca cjne R1,#01h,cek_2 mov IE,#00h mov A,#11111110b mov P1,A mov R3,#00h mov R4,#00h mov R5,#00h lcall pilih_suhu lcall tunda lcall baca_ADC cjne R2,#01h,terus1 sjmp jez1
terus1:
lcall lcall lcall lcall lcall
jez1:
lcall copy lcall angka_1 lcall rubahf lcall angka_12 lcall rubahk lcall angka_13 lcall rubahr lcall angka_14 inc R2 cjne R2,#02h,set1 mov R2,#01h
set1:
ljmp baca
cek_2:
cjne R1,#02h,cek_3 mov IE,#00h mov A,#11111011b mov P1,A mov R2,#00h mov R4,#00h mov R5,#00h lcall pilih_tekanan lcall tunda lcall baca_ADC cjne R3,#01h,terus2 sjmp jez2
;tampilkan stand by
;cek apakah tanda pengukuran celcius
;pilih sensor temperatur ;baca ADC
clear_lcd tampil_1 tampil_12 tampil_13 tampil_14
terus2:
lcall lcall lcall lcall
clear_lcd tampil_2 tampil_22 tampil_23
jez2:
lcall lcall lcall lcall lcall lcall
copy angka_2 rubahm angka_22 rubahp angka_23
;cek apakah tanda pengukuran tekanan
;pilih sensor tekanan ;baca ADC
Page 2
piece of software rev7 inc R3 cjne R3,#02h,set2 mov R3,#01h set2:
ljmp baca
cek_3:
cjne R1,#03h,loncat1 lcall pilih_kec mov A,#11101111b mov P1,A mov R2,#00h mov R3,#00h mov R5,#00h lcall clear_lcd ljmp start_kec
loncat1:
ljmp baca
;cek apakah tanda RPM
;=====================Pemilihan sensor dan pembacaan ADC=========================== pilih_suhu:
clr p3.0 clr p3.1 clr p3.2 ret
;pilih input sensor suhu C
pilih_tekanan:
clr p3.1 clr p3.2 setb p3.0 ret
;pilih input sensor tekanan kPa
pilih_kec:
setb p3.0 setb p3.1 setb p3.2 ret
baca_ADC:
mov mov mov div mov mov mov div mov mov ret
A,P2 ADC1,A B,#100d AB ADC_+2,A A,B B,#10d AB ADC_+1,A ADC_,B
;baca ADC
;======================== konversi satuan pengukuran ============================== rubahm:
mov mov mul mov div mov mov mov mov mul add mov div mov mov
A,ADC_ B,#5d AB B,#10d AB var4,A satuan,B A,ADC_+1 B,#5d AB A,var4 B,#10d AB vara,A varb,B
; kPa --> mmHg = 7,5 x kPa
;alamat satuan
Page 3
piece of software rev7
rubahp:
mov mov mul mov div mov mov add mov div mov mov mov mov mul add add add mov div mov mov ret
A,ADC_ B,#7d AB B,#10d AB varc,A A,B A,varb B,#10d AB vard,A puluhan,B A,ADC_+1 B,#7d AB A,vara A,vard A,varc B,#10d AB ribuan,A ratusan,B
mov mov mul mov div mov mov mov mov mul add mov div mov mov mov add mov div mov mov mov mov mul add mov div mov mov mov mov mul add add mov div mov mov mov add add mov div mov ret
A,ADC_ B,#5d AB B,#10d AB var4,A satuan,B A,ADC_ B,#4d AB A,var4 B,#10d AB vara,A varb,B A,ADC_ A,vara B,#10d AB vard,A varc,B A,ADC_+1 B,#5d AB A,varb B,#10d AB vare,A puluhan,B A,ADC_+1 B,#4d AB A,vare A,varc B,#10d AB ratusan,B varf,A A,ADC_+1 A,vard A,varf B,#10d AB ribuan,B
;alamat puluhan
;alamat ribuan ;alamat ratusan ; kPa --> Psi = 0,145 x kPa
;alamat satuan
;alamat puluhan
;alamat ratusan
;alamat ribuan Page 4
piece of software rev7 rubahf: 32
rubahk:
rubahr:
copy:
mov A,ADC_
; Celcius --> Fahrenheit = (1,8 x C) +
mov mul mov div mov mov mov mov mul add add add mov div mov mov mov div mov mov ret
B,#8d AB B,#10d AB satuan,B var4,A A,ADC_+1 B,#8d AB A,var4 A,ADC1 A,#32d b,#100d AB ribuan,A A,B B,#10d AB ratusan,A puluhan,B
mov add mov div mov mov mov add add mov div mov mov mov add add mov ret
A,ADC_ A,#3d B,#10d AB satuan,B var4,A A,ADC_+1 A,#7h A,var4 B,#10d AB puluhan,B var4,A A,ADC_+2 A,#2d A,var4 ratusan,A
; Celcius --> Kelvin = 273 + C
mov mov mul mov div mov mov mov mov mul add mov div mov mov mov div mov mov ret
A,ADC_ B,#8d AB B,#10d AB satuan,B var4,A A,ADC_+1 B,#8d AB A,var4 b,#100d AB ribuan,A A,B B,#10d AB ratusan,A puluhan,B
; Celcius --> Reamur = 0,8 x C
;alamat satuan
;alamat ribuan
;alamat ratusan ;alamat puluhan
;alamat satuan
;alamat puluhan
;alamat ratusan
;alamat satuan
;alamat ribuan
;alamat ratusan ;alamat puluhan
mov ratusan,ADC_+2 mov puluhan,ADC_+1 Page 5
piece of software rev7 mov satuan,ADC_ mov ribuan,#00h ret kosong:
mov mov mov mov ret
ribuan,#00h ratusan,#00h puluhan,#00h satuan,#00h
;====================== Display LCD ================================ init_lcd:
clr RS mov P0,#38h setb EN lcall tunda3 clr EN
; Display 8 bit, 2 baris
clr RS mov P0,#00001100b setb EN lcall tunda3 clr EN
; Display=On, Cursor=off
clr RS mov P0,#06h setb EN lcall tunda3 clr EN ret
; Automatic geser kanan
clear_LCD:
clr RS mov P0,#01h setb EN lcall tunda3 clr EN ret
write_lcd:
setb RS mov P0,A setb EN lcall tunda3 clr EN ret
baris_suhu1:
mov p0,#80h clr RS setb EN lcall tunda3 clr EN ret
angka_suhu1:
mov p0,#83h clr RS setb EN lcall tunda3 clr EN ret
baris_suhu2:
mov p0,#87h clr RS setb EN lcall tunda3 clr EN ret Page 6
piece of software rev7 angka_suhu2:
mov p0,#8Ah clr RS setb EN lcall tunda3 clr EN ret
baris_suhu3:
mov p0,#0C0h clr RS setb EN lcall tunda3 clr EN ret
angka_suhu3:
mov p0,#0C3h clr RS setb EN lcall tunda3 clr EN ret
baris_suhu4:
mov p0,#0C7h clr RS setb EN lcall tunda3 clr EN ret
angka_suhu4:
mov p0,#0CAh clr RS setb EN lcall tunda3 clr EN ret
baris_tek1:
mov p0,#82h clr RS setb EN lcall tunda3 clr EN ret
baris_tek2:
mov p0,#8Ch clr RS setb EN lcall tunda3 clr EN ret
baris_tek3:
mov p0,#0CCh clr RS setb EN lcall tunda3 clr EN ret
baris_rpm:
mov P0,#0C4h clr RS setb EN lcall tunda3 clr EN ret
;======================== menampilkan hasil pengukuran suhu ============= asci:
orl orl orl orl
satuan,#30h puluhan,#30h ratusan,#30h ribuan,#30h Page 7
piece of software rev7 ret tampil_1:
lcall baris_suhu1 mov A,#'C' lcall write_lcd mov A,#'=' lcall write_lcd ret
angka_1:
lcall angka_suhu1 lcall asci mov A,ratusan lcall write_lcd mov A,puluhan lcall write_lcd mov A,satuan lcall write_lcd ret
tampil_12:
lcall baris_suhu2 mov A,#'F' lcall write_lcd mov A,#'=' lcall write_lcd ret
angka_12:
lcall angka_suhu2 lcall asci mov A,ribuan lcall write_lcd mov A,ratusan lcall write_lcd mov A,puluhan lcall write_lcd mov A,#',' lcall write_lcd mov A,satuan lcall write_lcd ret
tampil_13:
lcall baris_suhu3 mov A,#'K' lcall write_lcd mov A,#'=' lcall write_lcd ret
angka_13:
lcall angka_suhu3 lcall asci mov A,ratusan lcall write_lcd mov A,puluhan lcall write_lcd mov A,satuan lcall write_lcd ret
tampil_14:
lcall baris_suhu4 mov A,#'R' lcall write_lcd mov A,#'=' lcall write_lcd ret
angka_14:
lcall angka_suhu4 lcall asci mov A,ratusan lcall write_lcd Page 8
piece of software rev7 mov A,puluhan lcall write_lcd mov A,#',' lcall write_lcd mov A,satuan lcall write_lcd ret ;======================== menampilkan hasil pengukuran tekanan ============= angka_2:
lcall baris_suhu1 lcall asci mov A,puluhan lcall write_lcd mov A,satuan lcall write_lcd ret
tampil_2:
lcall baris_tek1 mov A,#'k' lcall write_lcd mov A,#'P' lcall write_lcd mov A,#'a' lcall write_lcd ret
angka_22:
lcall baris_suhu2 lcall asci mov A,ribuan lcall write_lcd mov A,ratusan lcall write_lcd mov A,puluhan lcall write_lcd mov A,#',' lcall write_lcd mov A,satuan lcall write_lcd ret
tampil_22:
lcall baris_tek2 mov A,#'m' lcall write_lcd mov A,#'m' lcall write_lcd mov A,#'H' lcall write_lcd mov A,#'g' lcall write_lcd ret
angka_23:
lcall baris_suhu4 lcall asci mov A,ribuan lcall write_lcd mov A,#',' lcall write_lcd mov A,ratusan lcall write_lcd mov A,puluhan lcall write_lcd mov A,satuan lcall write_lcd ret
tampil_23:
lcall baris_tek3 mov A,#'P' Page 9
piece of software rev7 lcall write_lcd mov A,#'s' lcall write_lcd mov A,#'i' lcall write_lcd ret tampil_3:
lcall baris_rpm mov A,angka+3 lcall write_lcd mov A,angka+2 lcall write_lcd mov A,angka+1 lcall write_lcd mov A,angka lcall write_lcd mov A,#' ' lcall write_lcd mov A,#'R' lcall write_lcd mov A,#'P' lcall write_lcd mov A,#'M' lcall write_lcd ret
welcome:
mov P0, #0C4h clr RS setb EN lcall tunda3 clr EN mov A,#'S' lcall write_lcd mov A,#'T' lcall write_lcd mov A,#'A' lcall write_lcd mov A,#'N' lcall write_lcd mov A,#'D' lcall write_lcd mov A,#' ' lcall write_lcd mov A,#'B' lcall write_lcd mov A,#'Y' lcall write_lcd ret
;=========================program tunda============================ tunda: delay: lagi1:
mov 20h,#5d mov 21h,#20d djnz 21h,lagi1 djnz 20h,delay ret
;program tunda 1
tunda2: delay2: lagi2:
mov 22h,#40d mov 23h,#15d djnz 23h,lagi2 djnz 22h,delay2 ret
;program tunda 2
tunda3: delay3: lagi3:
mov 20h,#15d mov 21h,#50d djnz 21h,lagi3 djnz 20h,delay3 ret
;program tunda 3
Page 10
piece of software rev7 mov 20h,#5d ;program tunda 4 mov 21h,#8d djnz 21h,lagi4 djnz 20h,delay4 ret ;========================== Kecepatan =============================== loncat2: ljmp baca start_kec: MOV TMOD,#00010101B ; set mode timer 1 = timer 16 bit, timer 0 = counter 16 bit MOV IE,#88H ;Timer1 interrupt MOV SLOT,#0 MOV A,#'0' ;Angka '0' MOV Angka,A MOV Angka+1,A MOV Angka+2,A MOV Angka+3,A CLR TR0 MOV TH0,#0 ;counter1 = 0 MOV TL0,#0 SETB TR0 ;buka counter1 CLR TR1 MOV TH1,#HIGH -50000 MOV TL1,#LOW -50000 CLR TF1 SETB TR1 ScanDisplay: lcall tampil_3 JNB P3.3, loncat2 SJMP ScanDisplay ;Ulangi Scan ;****************************************************** Timer1_ISR: PUSH ACC PUSH PSW PUSH 0 CLR TR1 MOV TH1,#HIGH -50000 MOV TL1,#LOW -50000 CLR TF1 SETB TR1 tunda4: delay4: lagi4:
end_ISR:
INC MOV CJNE MOV
slot A,slot A,#window,end_ISR slot,#0
CLR CLR MOV MOV MOV MOV CLR SETB ACALL SETB
EA TR0 pulsa,TL0 pulsa+1,TH0 TL0,#0 TH0,#0 TF0 TR0 calculate_speed EA
;4-digit speed to LCD_buffer
POP 0 POP PSW POP ACC RETI ;***************************************** calculate_speed: PUSH 0 MOV HasilBagi,Pulsa MOV HasilBagi+1,Pulsa+1 MOV HasilBagi+2,#0 MOV Pembagi,#10 MOV Pembagi+1,#0 MOV Pembagi+2,#0 MOV index,#Angka+1 Page 11
;puluhan
piece of software rev7 MOV Loop,#3 NextDigit: MOV Operand,HasilBagi MOV Operand+1,HasilBagi+1 MOV Operand+2,HasilBagi+2 ACALL Pembagian ORL sisabagi,#30h ;string MOV R0,index MOV @R0,sisabagi INC index ;index DJNZ Loop,NextDigit POP 0 RET ;***************************************** ;***** Multi Byte Arithmatic routine ***** ;***************************************** SizeX EQU 3 ;16-bit DSEG Operand: DS SizeX Pembagi: DS SizeX HasilBagi: DS SizeX SisaBagi: DS SizeX Pengali: DS SizeX HasilKali: DS 2*SizeX+1 LoopX: DS 4 ;****** Multi Byte divider *************** ;Operand/pembagi = HasilBagi*Pembagi + SisaBagi ;***************************************** CSEG Pembagian: PUSH 00 PUSH 01 MOV R0,#HasilBagi ACALL HapusNilai MOV R0,#SisaBagi ACALL HapusNilai MOV LoopX+1,#SizeX*8 LoopPembagian: CLR C MOV R0,#Operand ACALL GeserKiri1X MOV R0,#SisaBagi ACALL GeserKiri1X MOV R0,#SisaBagi MOV R1,#Pembagi ACALL Perbandingan JC JanganDikurangi MOV R0,#SisaBagi MOV R1,#Pembagi ACALL Pengurangan JanganDikurangi: CPL C MOV R0,#HasilBagi ACALL GeserKiri1X DJNZ LoopX+1,LoopPembagian POP 01 POP 00 RET GeserKiri1X: MOV LoopX,#SizeX LeftShift: MOV A,@R0 RLC A MOV @R0,A INC R0 DJNZ LoopX,LeftShift RET ;****** Multi Byte Multiplier ************ ;Operand*Pengali = HasilKali ;***************************************** Perkalian: PUSH 00 PUSH 01 MOV R0,#HasilKali ACALL HapusNilai MOV LoopX+1,#SizeX*8 Page 12
piece of software rev7 CLR C MOV R0,#Pengali+SizeX-1 MOV LoopX,#SizeX GeserKanan_: MOV A,@R0 RRC A MOV @R0,A DEC R0 DJNZ LoopX,GeserKanan_ JNC JanganDitambah MOV R0,#HasilKali MOV R1,#Operand ACALL Penambahan JanganDitambah: CLR C MOV R0,#Operand ACALL GeserKiri1X DJNZ LoopX+1,LoopPerkalian POP 01 POP 00 RET ;********** Multi Byte Adder ************* ; @R0 = @R0 + @R1 ;***************************************** Penambahan: CLR C MOV LoopX,#SizeX LoopPenambahan: MOV A,@R0 ADDC A,@R1 MOV @R0,A INC R0 INC R1 DJNZ LoopX,LoopPenambahan RET ;******** Multi Byte Comparator ********** ;@R0 banding @R1, jika carry flag = 0 berarti sama ;***************************************** Perbandingan: CLR C MOV LoopX,#SizeX LoopPerbandingan: MOV A,@R0 SUBB A,@R1 INC R1 INC R0 DJNZ LoopX,LoopPerbandingan RET ;******** Multi Byte Substractor ********* ; @R0 = @R0 - @R1 ;***************************************** Pengurangan: CLR C MOV LoopX,#SizeX LoopPengurangan: MOV A,@R0 SUBB A,@R1 MOV @R0,A INC R0 INC R1 DJNZ LoopX,LoopPengurangan RET ;********** Multi Byte Eraser ************ ;@R0 = 0 ;***************************************** HapusNilai: MOV LoopX,#SizeX CLR A LoopHapus: MOV @R0,A INC R0 DJNZ LoopX,LoopHapus RET ;********** Multi Byte Copier ************ ;@R1 = @R0 ;***************************************** Copy_: MOV LoopX,#SizeX LoopCopy: MOV A,@R0 MOV @R1,A Page 13 LoopPerkalian:
INC INC DJNZ RET
piece of software rev7 R0 R1 LoopX,LoopCopy
END
Page 14