Membuat Sendiri Frekuensi Meter Digital

2
PLATOGEOSAINS | Aplikasi Sistem Mikrokontroler 1 MEMBUAT SENDIRI FREKUENSI METER DIGITAL Aplikasi Sistem Mikrokontroler Zainal Abidin 1) 1) Divisi Sistem Mikrokontroler, PLATOGEOSAINS Meteorologi, FITB – ITB – Indonesia Kamis, 3 Desember 2009 PENDAHULUAN Frekuensi meter adalah alat yang digunakan untuk mengukur frekuensi suatu sinyal listrik. Frekuensi yang dimaksud adalah banyaknya pulsa tiap satuan waktu. Satuan frekuensi adalah Hz atau s -1 . Frekuensi meter biasanya ditambahkan pada multimeter digital yang cukup mahal. Salah satu contohnya adalah UT60A buatan Hongkong. Frekuensi meter dapat dibuat sendiri dengan memanfaatkan piranti counter (pencacah) pada mikrokontroler (μC) ATMEGA 32. ATMEGA 32 merupakan sistem mikroprosesor 8 bit berbasis RISC (Reduced Instruction Set Computing) dengan kecepatan maksimal 16 MHz. Counter akan menghitung banyaknya pulsa dalam interval waktu tertentu yang dapat diatur oleh pemrogram μC. Perhitungan tersebut didasarkan pada perubahan kondisi level tegangan TTL, yaitu Falling dan Rising Edge. ATMEGA 32 memiliki dua buah counter melalui pin PB0 dan PB1. Pin PB0 terhubung dengan counter 0 dan PB1 dengan counter 1. Counter 0 berukuran 8 bit yang ditampung oleh sebuah register, yaitu TCNT0. Sedangkan counter 1 berukuran 16 bit yang ditampung oleh dua buah register, yaitu TCNT1L dan TCNT1H. TCNT1L menampung 8 bit hasil perhitungan pertama, sedangkan TCNT1H menampung 8 bit hasil perhitungan selanjutnya. Tipe data kedua register tersebut adalah unsigned character dengan format heksadesimal. Sehingga untuk mendapatkan hasil perhitungan counter 1, nilai TCNT1H harus digabungkan dengan TCNT1L yang kemudian dikonversi menjadi desimal. ATMEGA 32 juga menyediakan fitur overflow interrupt, yaitu penghentian program utama sementara untuk menjalankan sub-program akibat melimpahnya nilai counter. Jika counter 1 diaktifkan, interupsi tersebut akan tereksekusi setelah gabungan TCNT1H dan TCNT1L menghasilkan bilangan desimal sebesar (2 16 -1) = 65535. Walaupun counter 1 memiliki ketelitian lebih tinggi (~1/65535) dibandingkan counter 0 (~1/255), tetapi penggunaan counter 1

description

Aplikasi Sistem Mikrokontroler

Transcript of Membuat Sendiri Frekuensi Meter Digital

Page 1: Membuat Sendiri Frekuensi Meter Digital

PLATOGEOSAINS | Aplikasi Sistem Mikrokontroler 1

MEMBUAT SENDIRI FREKUENSI METER DIGITAL Aplikasi Sistem Mikrokontroler

Zainal Abidin1) 1) Divisi Sistem Mikrokontroler, PLATOGEOSAINS

Meteorologi, FITB – ITB – Indonesia

Kamis, 3 Desember 2009

PENDAHULUAN

Frekuensi meter adalah alat yang digunakan untuk mengukur frekuensi suatu sinyal

listrik. Frekuensi yang dimaksud adalah banyaknya pulsa tiap satuan waktu. Satuan frekuensi

adalah Hz atau s-1. Frekuensi meter biasanya ditambahkan pada multimeter digital yang cukup

mahal. Salah satu contohnya adalah UT60A buatan Hongkong.

Frekuensi meter dapat dibuat sendiri dengan memanfaatkan piranti counter (pencacah)

pada mikrokontroler (µC) ATMEGA 32. ATMEGA 32 merupakan sistem mikroprosesor 8 bit

berbasis RISC (Reduced Instruction Set Computing) dengan kecepatan maksimal 16 MHz.

Counter akan menghitung banyaknya pulsa dalam interval waktu tertentu yang dapat diatur oleh

pemrogram µC. Perhitungan tersebut didasarkan pada perubahan kondisi level tegangan TTL,

yaitu Falling dan Rising Edge. ATMEGA 32 memiliki dua buah counter melalui pin PB0 dan

PB1. Pin PB0 terhubung dengan counter 0 dan PB1 dengan counter 1. Counter 0 berukuran 8 bit

yang ditampung oleh sebuah register, yaitu TCNT0. Sedangkan counter 1 berukuran 16 bit yang

ditampung oleh dua buah register, yaitu TCNT1L dan TCNT1H. TCNT1L menampung 8 bit

hasil perhitungan pertama, sedangkan TCNT1H menampung 8 bit hasil perhitungan selanjutnya.

Tipe data kedua register tersebut adalah unsigned character dengan format heksadesimal.

Sehingga untuk mendapatkan hasil perhitungan counter 1, nilai TCNT1H harus digabungkan

dengan TCNT1L yang kemudian dikonversi menjadi desimal.

ATMEGA 32 juga menyediakan fitur overflow interrupt, yaitu penghentian program

utama sementara untuk menjalankan sub-program akibat melimpahnya nilai counter. Jika

counter 1 diaktifkan, interupsi tersebut akan tereksekusi setelah gabungan TCNT1H dan

TCNT1L menghasilkan bilangan desimal sebesar (216-1) = 65535. Walaupun counter 1 memiliki

ketelitian lebih tinggi (~1/65535) dibandingkan counter 0 (~1/255), tetapi penggunaan counter 1

Page 2: Membuat Sendiri Frekuensi Meter Digital

PLATOGEOSAINS | Aplikasi Sistem Mikrokontroler 2

kurang efektif untuk aplikasi sistem µC. Oleh karena itu, penulis menggunakan counter 0 untuk

membuat frekuensi meter digital.

PRINSIP KERJA

Frekuensi meter ini akan menghitung banyaknya pulsa suatu sinyal listrik tiap lima detik.

Counter 0 berukuran 8 bit, hal ini berarti TCNT0 hanya mampu menampung (28-1) = 255 pulsa.

Agar frekuensi meter yang dibuat dapat menjangkau frekuensi seluas mungkin, maka penulis

mengaktifkan interupsi overflow. Variabel count merupakan penampung untuk penanda jumlah

kejadian interupsi. Formula konversi timer 01 dapat digunakan untuk mendapatkan jumlah total

pulsa, yaitu:

pulsa = (256*count) + TCNT0

Sedangkan frekuensi dapat diperoleh dari formula berikut:

frekuensi = pulsa/5

Firmware (program) dapat didownload di http://www.ziddu.com/download/7584735/

frekuensimeter.7z.html. Penulis menggunakan CodeVisionAVR C 2.03.4 sebagai editor

sekaligus kompiler kode program µC. CodeVisionAVR dapat memrogram waktu tunda mulai

dari 0.25 µs hingga 1000 ms (dengan X-TAL 4 MHz). Agar µC dapat melakukan penundaan

waktu hingga lima detik, penulis mengetikkan lima baris perintah delay_ms (1000);. Selain itu,

reset nilai count dan TCNT0 juga dilakukan setelah frekuensi ditampilkan pada terminal.

Jangkauan frekuensi meter mulai dari 1/5 = 0.2 Hz hingga [(256*65535)+255]/5 ~ 3.4MHz.

Sebelum program diatas dibuat, penulis melakukan sebuah eksperimen. Eksperimen

tersebut bertujuan untuk menyelidiki respon counter 0 ATMEGA 32. Penulis ingin mengetahui

tingkat kestabilan counter 0 dan kekonsistenan hasil perhitungan matematis pada µC. Tingkat

kestabilan counter 0 mirip ADC2 (Analog to Digital Converter = Konverter Analog ke Digital),

yaitu ± 1-2 LSB (Least Significant Bit). Hal ini merupakan bukti dari keterbatasan sistem

mikroprosesor 8 bit. Hasil perhitungan frekuensi di µC dan PC (Personal Computer)

menunjukkan hasil yang sama persis pada frekuensi 0.2–540 Hz (dengan waktu tunda satu

detik). Namun ketidakkonsistenan perhitungan mulai muncul pada frekuensi > 5 kHz. 1 Abidin, Zainal. 2009. Eksperimen Mikrokontroler (Timer). PLATOGEOSAINS: Bandung

2 Abidin, Zainal. 2009. Membuat Sendiri Volt Meter Digital. PLATOGEOSAINS: Bandung