2 Desember 2005
ABSTRAK
Dalam kegiatan ini telah dibuat suatu sistem pencacah berbasis berbasis komputer dengan
memanfaatkan kemajuan teknologi mikro-kontroler dan perangkat lunak yang bersifat user friendly
sehingga kegiatan pencacahan berulang dapat dilakukan dengan mudah, menyenangkan dan akurasi
yang tinggi.
26
Hendriyanto HT, Sistem Pencacah Berbasis Komputer
• Pengaturan batas bawah (lower level) Pada sistem pencacah berbasis komputer
dan batas atas (upper level) diskriminasi rangkaian diskriminator dilengkapi dengan
yang dilakukan dengan cara memutar komponen DAC (digital to analog converter) yang
potensiometer yang ada di diskriminator. dapat dikendalikan oleh mikro-kontroler
sedangkan counter dan timer digantikan oleh
• Pengaturan selang waktu pencacahan mikro-kontroler. Sebuah komputer personal
yang dilakukan dengan memutar diperlukan untuk keperluan human interface
potensiometer atau saklar putar yang sehingga semua pengendalian dapat dilakukan
ada di timer. melalui komputer.
• Memulai pencacahan dengan menekan
tombol yang ada di counter dan timer, Gambar 2 menunjukkan konfigurasi sistem
juga bila akan menghentikan mikro-kontroler yang digunakan untuk
pencacahan sebelum waktunya, ataupun menggantikan fungsi diskriminator, counter, dan
bila akan menghapus nilai cacahan. timer pada sistem pencacah konvensional.
Rangkaian lengkap dari blok diagram tersebut
• Mencatat nilai cacahan setelah waktu terdapat pada lampiran.
pencacahan telah tercapai.
Pulsa
dari Amplifier
Ko.....au.sl
Serial
27
-=--' _ ------ _ ,-'"
Pulsa masukan (analog) yang berasal dari Komputer personal yang digunakan untuk
amplifier dibandingkan terhadap dua batas, yaitu memberikan masukan ke mikrokontroler dan
batas atas (UL) dan batas bawah (LL), pada dua sebaliknya menerima data dari mikrokontroler,
buah komparator. Hasil komparasi tersebut yang dihubungkan menggunakan jalur komunikasi
berupa sinyal TTL dikirimkan ke mikrokontroler serial (UART).
melalui pin IntO dan CounterO. Berdasarkan
prinsip kerja diskriminasi secara normal, maka
Bates Atas
Batas Bawah
Waktu
~
~
"compile" I
28
Hendriyanto HT, Sistem Pencacah Berbasis Komputer
Rl "k7
Pembuatan program aplikasi mikrokontroler program lain bila akan dianalisis dan diolah lebih
tersebut dilakukan dengan komputer personal. lanjut.
Pada awalnya, program untuk mikrokontroler
hanya dapat disusun menggunakan bahasa EKSPERIMEN
asembly, akan tetapi beberapa tahun terakhir ini
telah banyak bahasa pemrograman "tingkat
tinggi" yang dapat digunakan dengan hasil yang Mikrokontroler
tidak berbeda dengan bahasa asembly.
Mikrokontroler yang digunakan dalam sisem
pencacah ini adalah AT89C52 buatan ATMEL
yang mempunyai feature sebagai berikut.
Source code disusun menggunakan bahasa • 8 kbyte code memory yang dapat
pemrograman tertentu, misalnya dengan ditulis dan dihapus berulang kali
program asembly, bascom, atau C untuk menggunakan programer yang
mikrokontroler, dan kemudian di compile menjadi sesuai.
suatu file dengan format hex. Penulisan source • 256 byte memory untuk data
code dan proses compile dilakukan dalam • 4 buah jalur pararel 8 bit
komputer personal. File dengan format hex • 3 buah fasilitas timer/counter
tersebut kemudian di download ke dalam code • 2 jalur interupt eksternal
memory dari mikrokontroler. Terdapat beberapa • jalur komunikasi serial
pendekatan untuk melakukan download, salah
satunya adalah menggunakan programmer Mikrokontroler AT89C52 tersebut di atas disusun
mikrokontroler. membentuk suatu sistem minimum
mikrokontroler dengan beberapa komponen lain
Progam berikutnya yang harus disusun adalah sebagaimana blok diagram berikut ini.
program human interface yang dijalankan di
komputer untuk mengoperasikan sistem Jalur paralel yang digunakan hanya 2, yaitu port
pencacah. Saat ini banyak paket program yang P1 yang dihubungkan ke DAC2 untuk
dapat digunakan untuk membuat program menghasilkan tegangan batas atas dan port P2
pengendalian dengan relatif mudah, sebagai yang dihubungkan ke DAC1 untuk menghasilkan
contoh, program Visual Basic, Visual C dan tegangan batas bawah. Masukan counter TO
LabVlEW. digunakan untuk mencatat pulsa dari komparator
bawah sedangkan masukan interupt INTO
Selain untuk mengendalikan pengoperasian digunakan untuk mendeteksi adanya pulsa dari
sistem pencacah, program komputer tersebut komparator atas. Dua buah gerbang NAND
harus dapat "menyimpan" hasil pengukuran digunakan untuk menyesuaikan sinyal
dalam format ASCII agar dapat dibaca oleh paket komunikasi serial RS232 antara mikrokontroler
(TTL) dan komputer personal (+/- 12 Volt).
29
Widyanuklida VoL 6 No.2 Desember 2005
Mulai
Inlslalls ••
d
StartT"""~
Start Coun1eril
Kirim
NIIaI CacaJum
UbahNiiai
DAC
NIIoI Co<aban
MiIlus 1
Penyusunan source code dan proses kompilasi • Setiap ada interupt yang berasal dari INTO
menggunakan paket program Ride yang (interupt eksternal) maka nilai counter 0
dikeluarkan oleh perusahaan RIGEL. Program ini dikurangi 1.
merupakan bahasa pemrograman tingkat tinggi
30
Hendriyanto HT, Sistem Pencacah Berbasis Komputer
'<lUd<~:
To keep an object proportional to Is original SiZe as you resize t, press the
<SIift> key whIe you drag the 'e5IZI"IQ hancIes or ci'des.
LAbVIEWTutoriaI f
Ext ,
31
Wldyanuklida Vol. 6 No.2 Desember 2005
Seberapa kegiatan pengukuran berulang Dari data pengujian di atas terlihat bahwa ·timing
dilakukan untuk menguji unjuk kerja sistem accuracy" sistem pencacah ini cukup baik dan
pencacah berbasis komputer ini. Pengujian layak untuk digunakan dalam aplikasi
pertama adalah pengujian akurasi waktu pencacahan radiasi nuklir.
pencacahan (timing accuracy). Pengujian ini
dilakukan dengan mencacah pulsa listrik yang Pengujian kedua adalah ·chi square tes!".
dihasilkan oleh pembangkit pulsa presisi Metode ini digunakan untuk menguji apakah
(precision pulser) dengan frekuensi 50 Hz. Data sekumpulan data random mengikuti distribusi
hasil pencacahan disajikan pada tabel berikut. Gauss atau tidak. Karena intensitas radiasi yang
dipancarkan oleh sumber radiasi nuklir bersifat
random mengikuti distribusi Gauss maka hasil
pencacahannya juga harus mengikuti distribusi
Gauss. Sila data hasil pengukuran tidak
mengikuti distribusi Gauss maka "kestabilan"
sistem pencacah tidak baik.
32
Hendriyanto HT. Sistem Pencacah Berbasis Komputer
kondisi yang tidak berubah. Jumlah pengulangan Berdasarkan tabel Chi Square. 100 data random
100 kali, masing-masing diukur selama 60 detik. masih dianggap mengikuti distribusi Gauss bila
Data hasil pengukuran disajikan pada tabel 2. mempunyai nilai x! antara 82,4 sampai 118,5.
Dapat disimpulkan bahwa data pengukuran
Nilai Chi Square dapat dihitung menggunakan berulang tersebut di atas mengikuti distribusi
persamaan berikut. Gauss, sehingga kestabilan sistem pencacah
dapat diterima.
---.---
..--------- ---------- ..----------..._ ._.-_-_.__.. I
1---------·-1
Waktu (menlt)
33
Wldyanuklida Vol. 6 No.2 Desember 2005
. .
(f~·····
.....
PLN
Pada gambar 10 dapat diamati bahwa fluktuasi mempunyai tegangan kerja antara 900 - 1.000
nilai hasil pencacahan tidak mempunyai Volt, sedangkan komputer personalnya
kecenderungan tertentu (naik ataupun turun) mempunyai komunikasi serial RS 232.
sehingga dapat disimpulkan bahwa selama kurun
waktu 100 menit sistem pencacah dalam kondisi Koneksi perangkat keras untuk menginstalasi
yang stabil. sistem pencacah ini adalah sebagaimana
gambar 11.
PENGOPERASIAN SISTEM PENCACAH
34
Hendriyanto HT, Sistem Pencacah Berbasis Komputer
Instalasi Perangkat Lunak Batas atas dan batas bawah: adalah saklar
putar untuk menentukan nilai batas atas dan
Program aplikasi untuk menjalankan sistem batas bawah diskriminator. Skalar ini dapat
pencacah ini dibuat dengan program LabVIEW diputar menggunakan mouse sampai ke nilai
versi 6.1 maka, untuk menjalankannya, program yang diinginkan. Untuk batas atas dapat dipilih
run time LabVIEW 6.1 harus di install terlebih dari 1 sampai dengan 10 Volt sedangkan untuk
dahulu. Hal ini dapat dilakukan dengan cara batas bawah antara 0,5 sampai dengan 9,5 Volt.
mengaktifkan file instalasi yang bernama
LVRunTimeEng.msi yang terdapat pada CD Waktu cacah: digunakan untuk mengatur waktu
instalasi. pencacahan dalam satuan detik. Pengaturan
dapat dilakukan baik menggunakan mouse, yaitu
Setelah program run time LabVIEW 6.1. ter dengan meng "click" tombol panah kecil ke atas
install maka program aplikasi sistem pencacah atau ke bawah, maupun menggunakan keyboard
dapat diaktifkan. Program aplikasi ini, yang yaitu dengan mengetikkan nilai yang diinginkan
bernama SCA.exe, dapat dijalankan langsung dalam kotak nilat.
dari CD atau di copy terlebih dahulu ke hard-disk.
Jumlah ulangan: digunakan untuk mengatur
jumlah pengulangan proses pencacahan.
Front Panel Program Aplikasi Pengaturan dapat dllakukan baik menggunakan
mouse, yaitu dengan meng "click" tombol panah
Ketika program aplikasi SCA dijalankan maka kecil ke atas atau ke bawah, maupun
setelah beberapa saat (tergantung pada menggunakan keyboard yaitu dengan
kecepatan komputer yang digunakan) akan mengetikkan nilai yang diinginkan dalam kota
muncul front panel sebagai mana gambar 13. nilai.
Terdapat beberapa fasilitas untuk mengatur Waktu tunda: digunakan untuk mengatur wa
setting pencacahan, yang dapat diatur baik tunda (interval) antara satu pencacahan dengan
menggunakan mouse maupun keyboard, dan pencacahan berikutnya dalam satuan de
beberapa fasilitas tampilan yang menunjukkan Pengaturan dapat dilakukan baik menggunaka
mouse, yaitu dengan meng "click" tombol pana
35
Widyanuklida Vol. 6 No.2 Desember 2005
DAFTAR PUSTAKA
36
Hendriyanto HT. Sistem Pencacah Berbasis Komputer
Lampiran
#include <stdio.h>
#include <stdlib.h>
#include "E:\My Experiments\Inc\DT52.h"
WORD Cacahan = 0;
BYTE Tik, Cek;
BYTE BatasAtas = 255, BatasBawah 10;
void SetTimerO(void)
(
TMOD 1= Ox05; IITimerO sbg counter 16 bit, gate internal
THO TLO OxOO; Ilreset nilai counter
TRO 1; IIStart counterO
void SetTimer2{void)
(
T2CON OxOO; IITimer2 sbg timer 16 bit, gate internal, auto reload
TH2 RCAP2H HIBYTE(-61440); Ilkristal 11.0592 MHz dengan
internal 1/12 clock
TL2 RCAP2L LOBYTE(-61440); Iinilai awal 61440 akan
overflow IllS detik
EA 1; II enable semua Interrupts
ET2 1; II enable interrupt timer2
TR2 1; II Start timer2
37
Widyanuklida Vol. 6 No.2 Desember 2005
angka
Cek = _getkey();
Nilai[Indeks) = Cek;
Indeks ++;
Cek = getkey();
Nilai[Indeks) = Cek;
Indeks ++;
while (1)
{
if (RI == 1)
{
Cek = _getkey ();
if (Cek == 74) AmbilBatasBawah(); IlL untuk
mengambil dan kirim Batas Bawah ke DAC1
if (Cek == 85) AmbilBatasAtas(); IIU untuk
mengambil dan kirim Batas Atas ke DAC2
38