DUAL CHANNEL DIGITAL VOLTMETER

46
ABSTRAK Multimeter yang selama ini digunakan masih terbatas pada sistem pembacaan analog saja. Dengan kondisi yang demikian ini factor human error atau subyektifitas pembacaan oleh manusia sangat dominan, maka tidak jarang bila data yang dihasilkan tidak sesuai kondisi sebenarnya. Berkaitan dengan hal tersebut, makalah ini menjelaskan tentang perancangan multimeter dengan tampilan display seven segment dual channel. Secara umum multimeter dengan output display seven segment ini menggunakan system mekanik dan peralatan yang digunakan pada multimeter analog yang selama ini berkembang. Untuk proses penampilan secara display pada alat ini menggunakan ADC ICL7135 sebagai pengolah data analog menjadi digital yang kemudian dialamatkan oleh IC mikrokontroler AT89C52 sehingga dapat ditampilkan oleh IC MAX7219 berupa display ke seven segment. 1

description

Dual Channel Digital Voltmeter adalah voltmeter dengan 2 buah channel (channel 1 dan channel 2) yang berfungsi sebagai input untuk mengukur tegangan dengan output digital pada display 7 segment untuk masing-masing channel sebagai penunjuk besar nilai tegangan yang terukur.

Transcript of DUAL CHANNEL DIGITAL VOLTMETER

Page 1: DUAL CHANNEL DIGITAL VOLTMETER

ABSTRAK

Multimeter yang selama ini digunakan masih terbatas pada sistem pembacaan

analog saja. Dengan kondisi yang demikian ini factor human error atau

subyektifitas pembacaan oleh manusia sangat dominan, maka tidak jarang bila data

yang dihasilkan tidak sesuai kondisi sebenarnya. Berkaitan dengan hal tersebut,

makalah ini menjelaskan tentang perancangan multimeter dengan tampilan display

seven segment dual channel. Secara umum multimeter dengan output display seven

segment ini menggunakan system mekanik dan peralatan yang digunakan pada

multimeter analog yang selama ini berkembang. Untuk proses penampilan secara

display pada alat ini menggunakan ADC ICL7135 sebagai pengolah data analog

menjadi digital yang kemudian dialamatkan oleh IC mikrokontroler AT89C52

sehingga dapat ditampilkan oleh IC MAX7219 berupa display ke seven segment.

1

Page 2: DUAL CHANNEL DIGITAL VOLTMETER

KATA PENGANTAR

Puji syukur kehadirat Tuhan Yang Maha Esa atas segala karunia dan

kemurahan-Nya, sehingga penulis dapat menyelesaikan program dan laporan tugas

matakuliah PFSE ini.

Tugas matakuliah ini disusun untuk memenuhi kewajiban sebagai syarat tugas

praktikum PFSE pada Politeknik Negeri Bandung Jurusan Teknik Elektro Program

Studi Teknik Elektronika.

Dalam menyelesaiakan tugas ini, penulis mendapat bantuan dari berbagai pihak.

Dan penulis pun mengucapkan banyak terimaksih kepada semua yang membantu pada

proses pengerjaan tugas ini.

Penulis mengharapkan Laporan Tugas Mata kuliah PFSE ini dapat bermanfaat

bagi semua pihak yang membacanya, walaupun penulis menyadari bahwa laporan tugas

ini masih banyak kekurangan masih jauh dari kata sempurna. Karena itu segala kritik

dan saran sangat kami harapkan demi perbaikan Laporan Tugas ini.

Bandung, 16 Mei 2013

Penulis

2

Page 3: DUAL CHANNEL DIGITAL VOLTMETER

BAB I

PENDAHULUAN

1.1 Latar Belakang

Saat ini semua peralatan yang menunjukan indikator terhadap suatu

besaran fisik diproduksi untuk peningkatan kualitas pelayanan dengan lebih cepat dan

baik. Secara spesifik peralatan elektronika saat ini khususnya piranti ukur masih

terbatas pada sistem pembacaan analog saja, sehingga hanya orang-orang tertentu

yang pernah mempelajari metode pengukuran saja yang dapat membacanya.

Berawal dari latar belakang ini membuat ketertarikan penulis untuk merancang alat

ukur khususnya volt dan ohm meter dengan display seven segmen dual channel,

sehingga semua orang tahu dengan mudah pembacaan yang dilakukan oleh alat

ukur hanya melalui display seven segmen dual channel. Dengan system yang

diusulkan ini dimaksudkan alat ukur Volt-Ohm meter bisa menjangkau bagi semua

kalangan masyarakat yang belum bisa membaca terhadap suatu pembacaan alat ukur

yaitu dengan menampilkan suatu hasil pengukuran dengan display seven segmen

dual channel. Multimeter dengan output display seven segmen dirancang dengan

menggunakan mekanik dan sistem dari multimeter analog yang yang sudah beredar

dipasaran sedangkan untuk menampilkannya dalam bentuk display seven segmen,

keluaran multimeter ini diolah terlebih dahulu menjadi besaran digital melalui ADC

dan diolah secara asembler melalui mikrokontroller, sedangkan untuk ouput display

digunakan IC MAX 7219. Diharapkan dengan metode yang diusulkan ini alat ini

bermanfaat bagi semua kalangan masyarakat dan mampu dikembangkan dengan

kualitas yang lebih baik.

3

Page 4: DUAL CHANNEL DIGITAL VOLTMETER

1.2 Tujuan dan Manfaat

Realisasi alat ini mempunyai tujuan terhadap jangkauan yang luas untuk

mencapai semua kalangan pengguna peralatan Voltmeter digital Dual Channel

DC, bahkan tidak terbatas pada orang-orang tertentu saja yang telah mengenal

metode pengukuran listrik. Selain itu kontribusi alat ini diharapkan semakin luas

sehingga kalangan masyarakat yang belum bisa membaca alat ukur listrik bisa

mengerti dengan mudah mengenai nilai-nilai besaran listrik atau elektronika yang

diukur.

Dengan aplikasi alat ini diharapkan mempunyai manfaat yang lebih baik untuk

meningkatkan kualitas pembacaan alat ukur sehingga meminimalis kesalahan

pembacaan seseorang karena kelelahan mata dalam membaca alat ukur. Sebab tanpa

harus membacapun alat ini sudah mengeluarkan tampilan pada seven segmen yang

hasil pengukurannya bisa langsung dilihat.

1.3 Rumusan Masalah

Dalam proses penyelesaian Laporan Tugas ini dilaksanakan dalam dua

pelaksanaan kegiatan yaitu penyelesaian perancangan alat dan penyelesaian Laporan

Tugas ini. Dalam kedua proses pelaksanaan kegiatan tersebut masing-masing

permasalahan dibatasi, untuk penyelesaian perancangan alat tugas akhir permasalahan

dibatasi pada keluarnya tampilan dari d i s p l a y s e v e n s e g m e n alat ini dalam

melakukan pembacaan terhadap kalibrasi yang diberikan. Sedangkan pada proses

penyelesaian laporan permasalahan dibatasi pada analisa sederhana mengenai cara

kerja dan ketidaktepatan pembacaan alat ukur setelah melalui proses pengujian

secara kuantitatif terhadap kualitas pembacaan alat ini.

4

Page 5: DUAL CHANNEL DIGITAL VOLTMETER

BAB II

KAJIAN TEORI

2.1 Voltmeter

Volt meter dibedakan menjadi dua jenis yaitu untuk pengukuran tegangan AC

dan untuk pengukuran tegangan DC. Pada kedua jenis pengukuran tegangan ini

berlaku metode pembacaan yang sama, yang membedakan adalah perlunya

dipasang sebuah dioda penyearah setengah dan filter kapasitor pada sistem

pembacaan tegangan DC. Dari sini dihasilkan tegangan DC yang nilainya sebesar

Hasil pembacaan tegangan DC tersebut kemudian dilewatkan melalui rangkaian

penggali pada sistem volt meter sehingga menghasilkan kembali nilai AC yang

diukur.

Dengan menghubungkan suatu tahanan seri terhadap kumparan putar dari

alat ukur, maka akan menghasilkan pengukuuran tegangan sebab dengan metode

ini arus akan secara langsung masuk pada kumparan putar, sehingga akan mengubah

gerakan d’Arsonal menjadi pengukur tegangan. Sehingga pada prinsipnya volt meter

mengukur beda potensial antara dua titik tegangan dalam sebuah rangkaian arus.

Sedangkan untuk menghasilkan pengukuran tegangan pada range yang lebih lebar

dilakukan dengan menambahkan tahanan pengali diatas dengan sebuah saklar

(range switch). Metode ini juga sering disebut rangkaian shunt ayrton,

pengukuran dilakukan dengan mengalikan beberapa tegangan secara paralel.

5

Page 6: DUAL CHANNEL DIGITAL VOLTMETER

2.2 ADC ICL7135

Spesifikasi ICL7135

1. Membaca Nol untuk 0-V input

2. Presisi Null Deteksi Dengan Polaritas Benar di Nol

3. 1-pA arus tipikal input

4. Diferensial input benar

5. Multiplexing Binary Coded-Decimal-(BCD)output

6. Roll over Rendah Kesalahan: ± 1 Jumlah Max

6

Page 7: DUAL CHANNEL DIGITAL VOLTMETER

7. Sinyal control Memungkinkan WUARTs Interfacing atauMikroprosesor

8. Auto ranging Kemampuan Dengan Over-Under-Range Sinyal

9. TTL-Kompatibel Output

10. Langsung Penggantian untuk Teledyne TSC7135,

11. Intersil ICL7135, ICL7135 Maxim, dan

12. Siliconix Si7135

13. Teknologi CMOS

Konverter ICL7135C dan TLC7135C diproduksi dengan teknologi CMOS Texas

Instruments yang sangat efisien. Ini 4 1/2-digit, dual-slope-mengintegrasikan, analog-

ke-digital converter (ADC) yang dirancang untuk menyediakan antarmuka untuk ke dua

mikroprosesor dan tampilan visual. Angka-drive output D1 melalui D4 dan

multiplexing kode-biner-desimal output B1 , B2, B4, dan B8 menyediakan sebuah

interface untuk LED atau LCD decoder / driver serta mikroprosesor.

ICL7135C dan TLC7135C menawarkan 50-ppm (satu bagian dalam 20.000)

resolusi dengan kesalahan linearitas maksimum satu hitungan.Kesalahan nol adalah

kurang dari 10 μV dan nol penyimpangan kurangdari 0,5μV / ° C. Sumber-impedansi

kesalahan diminimalisir dengan input rendah saat ini (kurangdari 10 pA). Kesalahan

roll over terbatas ± 1 hitungan. Rentang input + /-1.9999V dengan sensitivitas 100 uV.

ICL7135 menyediakan output BCD multiplexing dan sinyal strobe (STRB).

The STROBE, BUSY, RUN / HOLD, LEBIH RANGE, dan UNDER RANGE

sinyal control mendukung mikroprosesor berbasis system pengukuran. Sinyal control

juga dapat mendukung system akuisisi data jarak jauh dengan transfer data melalui

pemancar penerima asynchronous universal (UART).

ADC ICL7135C dan TLC7135C ditandai untuk operasi dari 0 ° C sampai 70 ° C.

7

Page 8: DUAL CHANNEL DIGITAL VOLTMETER

2.3 Dasar Mikrokontroller AT89C52

Mikrokontroller tipe Atmel AT89S52 termasuk kedalam keluarga MCS51

merupakan suatu mikrokomputer CMOS 8-bit dengan daya rendah, kemampuan

tinggi, memiliki 8K byte Flash Programable and Erasable Read Only Memory

(PEROM). Perangkat ini dibuat menggunakan teknologi memori nonvolatile

(tidak kehilangan data bila kehilangan daya listrik). Set instruksi dan kaki

keluaran AT89S52 sesuai dengan standar industri 80C51 dan 80C52. Atmel

AT89S52 adalah mikrokomputer yang sangat bagus dan fleksibel dengan harga

yang rendah untuk banyak aplikasi sistem kendali.

Fasilitas yang terdapat dalam AT89S52 antara lain:

1. Sesuai dengan produk-produk MCS-51.

2. Terdapat memori flash yang terintegrasi dalam sistem. Dapat ditulis ulang

hingga 1000 kali.

3. Beroperasi pada frekuensi 0 sampai 24MHz.

4. Tiga tingkat kunci memori program.

5. Memiliki 256 x 8 bit RAM internal.

6. Terdapat 32 jalur masukan/keluaran terprogram.

7. Tiga pewaktu/pencacah 6-bit (untuk 52) & dua pewaktu/pencacah 16-bit

(untuk51)

8. Delapan sumber interupsi(untuk 52) & 6 untuk 51

9. Kanal serial terprogram.

10. Mode daya rendah dan mode daya mati.

8

Page 9: DUAL CHANNEL DIGITAL VOLTMETER

Konfigurasi Mikrokontroller AT89C52

Mikrokontroller keluarga MCS 51 memiliki port-port yang lebih banyak (40

port I/O) dengan fungsi yang bisa saling menggantikan sehingga

mikrokontroller jenis ini menjadi sangat digemari karena hanya dalam sebuah

chip sudah bisa mengkafer untuk banyak kebutuhan. Konfigurasi dan Deskripsi

kaki-kaki mikrokomputer AT89x5x adalah sebagai berikut:

Gambar 2.12 Konfigurasi Kaki Mikrokomputer AT89C52.

Port 0

Port 0 adalah port dua arah masukan/keluaran 8-bit saluran terbuka.

Sebagai port keluaran, tiap kaki dapat menerima masukan TTL. Ketika logika 1

dimasukkan ke kaki-kaki port 0, kaki-kaki dapat digunakan sebagai masukan

impedansi tinggi. Port 0 juga dapat diatur sebagai bus alamat/data saat mengakses

program dan data dari memori luar. Pada mode ini port 0 memiliki pull-up

internal. Port 0 juga menerima byte-byte kode saat pemprograman Flash dan

mengeluarkan byte kode saat verifikasi. Pull-up eksternal diperlukan saat

memverifikasi program.

9

Page 10: DUAL CHANNEL DIGITAL VOLTMETER

Port 1

Port 1 adalah port dua arah masukan/keluaran 8-bit dengan pull-up

internal. Sebagai tambahan, P1.0 dan P1.1 dapat diatur sebagai pewaktu/

pencacah-2 eksternal masukan pencacah (P1.0/T2) dan pewaktu/pencacah-2 masukan

pemicu (P1.1/T2EX). Port 1 juga menerima byte-byte alamat saat pemrograman dan

verifikasi flash.

Port 2

Port 2 adalah port masukan/keluaran dua arah 8-bit dengan internal pull- up.

Port 2 juga menerima bit-bit alamat dan beberapa sinyal kendali saat pemrograman

dan verifikasi flash.

Port 3

Port 3 adalah port masukan/keluaran dua arah 8-bit dengan internal pull- up.

Port 3 juga menyediakan fasilitas berbagai fungsi khusus dari AT89C51. Port

2 juga menerima beberapa sinyal kendali saat pemrograman dan verifikasi flash.

3

RST Masukan reset. Masukan tinggi pada kaki ini selama dua siklus instruksi

mesin akan me-reset perangkat.

ALE/ PROG Address Latch Enable (ALE) adalah pulsa keluaran untuk mengunci bit

rendah dari alamat saat mengakses memori eksternal. Kaki ini juga digunakan sebagai

masukan pulsa ( PROG ) saat pemprograman Flash. Pada operasi biasa, ALE

mengeluarkan rata-rata 1/6 kali frekuensi osilator dan mungkin digunakan sebagai

pewaktu atau denyut. Catatan, satu pulsa ALE diabaikan saat setiap pengaksesan data

memori eksternal. Jika diinginkan, operasi ALE dapat di-disable dengan menseting

bit 0 dari SFR pada lokasi 8EH. Dengan bit yang diset, ALE aktif hanya saat

menjalankan perintah MOVX dan MOVC. Selain itu, kaki ini dapat juga di-pull

10

Page 11: DUAL CHANNEL DIGITAL VOLTMETER

tinggi. Setting bit ALE-disable tidak berpengaruh jika mikrokomputer pada mode

eksekusi eksternal.

PSEN Program Store Enable (PSEN) adalah strobe pembacaan program pada

memori eksternal. Ketika AT89C52 melakukan eksekusi program dari memori

eksternal, PSEN diaktifkan dua kali setiap siklus instruksi mesin, kecuali bahwa

dua aktifasi PSEN diabaikan setiap mengakses data memori eksternal.

EA / Vpp External Access Enable. EA harus dihubungkan ke GND supaya

memfungsikan perangkat untuk mengambil kode program dari lokasi memori

eksternal dimulai dari 0000H hingga FFFFH. Catatan, jika lock-bit diprogram, EA

akan dikunci secara internal pada saat reset. EA harus dihubungkan dengan Vcc untuk

eksekusi program internal. Kaki ini juga menerima tegangan yang memungkinkan

pemrograman 12 Volt saat memprogram flash bila pemrograman

12 Volt dipilih.

XTAL1 Masukan inverting (pembalikan) penguat osilator dan masukan untuk

operasi rangkaian denyut internal.

XTAL2 Keluaran dari inverting (pembalikan) penguat osilator.

11

Page 12: DUAL CHANNEL DIGITAL VOLTMETER

BAB III

PERANCANGAN DIGITAL VOLTMETER DUAL CHANNEL

V – O meter digital ini dirancang untuk menampilkan pengukuran volt meter DC dan

yang ditampilkan secara digital dengan adanya tampilan display 7 segmen dual untuk

menampilkan pembacaan pengukurannya. Aplikasi ini memanfaatkan bagian dari multi meter

analog sebagai pengolah sinyal yang terukur, sinyal keluaran pembacaan data analog ini

kemudian dilewatkan pada ADC sebagai data masukan digital bagi pengolahan mikrokontroller.

Dalam mikrokontroller dilakukan pengalamatan data untuk memanggil alamat sinyal. Untuk

pembacaan tegangan dan tahanan ini dilengkapi dengan range selector sebagai pengali

pembacaan volt/ohm meter.

Gambar. Diagram blok sistem Digital Voltmeter Dual Channel

3.1 Perancangan Rangkaian Power Supply

Rangkaian Power Supply adalah rangkaian yang menghasilkan sebuah output tegangan

yang telah di tentukan dan di desain untuk men-supply beberapa keperluan, contohnya

seperti pada rangkaian Digital Voltmeter Dual Channel. Dibawai ini terdapat desai

perangcangan dari rangkaian power supply DVM.

12

Page 13: DUAL CHANNEL DIGITAL VOLTMETER

Gambar. Rangkaian Skematik Power Supply DVM

Gambar. Layout PCB DVM

Perancangan Rangkaian Power Supply ini mempunya range output sebesar 5 V untuk logika digital. Output +5 VA untuk rangkaian analog dan -5 VA untuk rangkaian analog.

3.2 Perancangan Rangkaian ADC DVM

Rangkaian ADC ICL7135 adalah suatu rangkaian dimana fungsinya adalah sebagai

pengubah sinyal analog menjadi digital. ICL7135 ini untuk menginterface kan ke

mikrokontroller AT89C52. Gambar dibawah ini adalah perancangan rangkaian ADC

ICL7135.

Gambar. Rangkaian skematik ADC ICL 7135.

13

Page 14: DUAL CHANNEL DIGITAL VOLTMETER

Gambar. Layout PCB ADC DVM.

3.3 Perancangan Rangkaian SISMIN Mikrokontroller AT89C52.

Rangkaian SISMIN (Sistem Minimum) Mikrokontroller AT89C52 adalah suatu

rangkaian yang terdapat komponen mikrokontroller AT89C52 yang fungsinya untuk

memproses semua sistem rangkaian DVM yang sudah di program sebelumnya dengan

bahasa assembler. Gambar dibawah ini adalah rangkaian Mikrokontroler AT89C52.

Gambar. Rangkaian SISMIN mikrokontroller AT89C52 DVM

14

Page 15: DUAL CHANNEL DIGITAL VOLTMETER

Gambar. Layout PCB SISMIN AT89C52 DVM

3.4 Perancangan Display 7 segment Digilal Voltmeter dengan IC MAX7219

Rangkaian Display ini adalah tampilan dari alat ini dengan 7 segment berupa

tampilan digit numerik yang di konversikan oleh mikrokontroller dari ADC. Dibawah ini

terdapat perancangan rangkaian Display 7 segment dengan IC MAX7219.

\

Gambar. Rangkaian skematik Display IC MAX7219

15

Page 16: DUAL CHANNEL DIGITAL VOLTMETER

Gambar. Layout PCB Display IC MAX 7219

3.5 Perancangan Sistem Software

Pada sistem perangkat lunak ini berisi tahap-tahap perancangan program pada

mikrokontroller AT89C51. Dimana didalam IC program ini merupakan otak dari sistem

yang ingin dijalankan pada perancangan alat Voltmeter digital ini. Untuk merancang

suatu pengalamatan program terlebih dahulu harus disusun suatu diagram alir agar

pengalamatan program terorganisir dengan baik didalamnya. Diagram alir dalam

perancangan sofware V/O meter digital ini sebagai berikut :

16

Page 17: DUAL CHANNEL DIGITAL VOLTMETER

Gambar. Diagram blok sistem Digital Voltmeter Dual Channel

Pada diagram blok sistem diatas terdapat beberapa perintah yaitu adanya selektor

tegangan yang diatur agar rang pengukuaran pada tampilan display suauai yang diharapkan

memliki batas ukur maksimal 2 – 2000V. Setelah mode dipilih ADC akan membaca

besaran masukan baik tegangan maupun tahanan untuk dialamatkan pada

mikrokontroller AT89C51. Pada IC program ini dilakukan pengolahan data biner

tersebut menjadi alamat BCD untuk mengaktifkan 7 segment. Untuk melakukan

pengukuran kembali hanya dengan melpaskan probe ketika pengukuran karena berjalan

secara otomatis begitu pula polaritasnya tegangan negative atau positif.

17

Page 18: DUAL CHANNEL DIGITAL VOLTMETER

BAB IV

PENGUJIAN DAN ANALISA

4.1 Pengujian Rangkaian Power Supply DVM

Header Nilai tegangan pada regulator

Tegangan rangkaian yang

sebenarnya

1

5 V 4,98 V

+5 VA +4,99 V

-5 VA -5,00 V

2

5 V 4,95 V

+5 VA +4,98 V

-5 VA -4,99V

4.2 Pengujian Pengukuran batas ukur DVM

1 Pengujian batas ukur Voltmeter

Pada sistem shunt ayrton dilakukan dengan memasang resistor pembagi

tegangan secara seri dan range pembacaan dilakukan diantara resistor-resistor tersebut

dengan metode pembagi tegangan. Pada aplikasi pembacaan tegangan (DC) ini

seharusnya dipasang menggunakan resistor R1 100Ω, R2 1kΩ, dan R3 10kΩ sedangkan

tegangan ADC ICL7135 adalah 1 volt sebagai VO voltmeter. Sehingga dengan metode

rangkaian ganda diperoleh range pembacaan volt meter

sebesar :

18

Page 19: DUAL CHANNEL DIGITAL VOLTMETER

Vin = 10 Volt

Jadi berdasarkan pemilihan komponen resistor diatas dan referensi tegangan yang harus

dimasukkan pada ADC I C L 7 1 3 5 maka volt meter ini mempunyai batas ukur

pembacaan tegangan baik AC ataupun DC sebesar 10 volt untuk range rendah dan

hingga 111 volt untuk range tertingginya.

Pada tabel berikut terdapat beberapa hasil perbandingan pengukuran DVM.

Nama barang yangDiujikan

Hasil pengukuran padaVoltmeter

Hasil pengukuran pada DVM

Batere 1.5V 1.48V 0.9VAdaptor DC input 1.5 V 1.5V 1.2V

Pada table diatas dapat ditarik kesimpulan bahwa DVM mempunyai kesalahan pembacaan yang disebabkan oleh internal error.

19

Page 20: DUAL CHANNEL DIGITAL VOLTMETER

4.3 Pengujian ADC ICL7135

ADC MC 14433 memiliki prinsip kerja yang sama dengan ADC jenis lain hanya

saja bentuk keluarannya bukan berupa bit-bit digital seperti pada ADC lain melainkan

berupa logika BCD dengan kode keluaran D-C-B-A dan empat keluaran lainnya

berupa scanning untuk melewatkan logika tinggi sebagai pemicu anoda 7 segment

yang akan dinyalakan. Untuk menjalankan IC ini juga diperlukan pengaturan

step konversi analog ke desimal dengan referensi kerja maksimal sebesar 1,999 volt

yang dalam hal ini diatur pada nilai referensi 1 volt.

Berbeda dengan ADC lain yang berkerja berdasarkan konversi volt/step, ADC ini

melakukan konversi analog menjadi digital melalui pengaturan clock

dengan perhitungan sebagai berikut :

Dimana 16400 merupakan Clock cycle dari range kerja EOC pada IC ADC

ICL7135 ini. Jika pada pemilihan komponen pembentuk clock pada pin 4,5 dan 6

menggunakan resistor 470K dan capasitor 0,1uF maka clock pada IC ini sebesar

20

Page 21: DUAL CHANNEL DIGITAL VOLTMETER

4.4 Sistem Pengalamatan Memori Terprogram AT89C52

Mikrokontroller AT89C52 ini mendapatkan data masukan dari ADC ICL7135,

rangkaian mengeluarkan data untuk mengalamatkan 7 segment. Untuk membaca ADC

ICL7135 dapat dilakukan dengan metode pemrograman berikut :

Program dalam program Bahasa C

/*

DVM7135 Project

*/

#include "AT89X52.H"

#include "stdio.h"

sbit CLK= P1^7;

sbit DIN= P1^6;

sbit LOAD= P1^5;

sbit D5 = P0^4;

sbit P2D5 = P2^4;

int digit=5;

int digit2=5;

char sbuffer[8];

char sbuffer2[8];

unsigned char buffer[16];

char command;

short ready=0;

short ready2=0;

21

Page 22: DUAL CHANNEL DIGITAL VOLTMETER

short terminal=1;

int V1=0;

int tV1,tV2;

unsigned int temp16;

unsigned long temp32=0;

sbit RUN = P1^1;

char code convert[10] = 0x7e,0x30,0x6d,0x79,0x33,0x5b,0x5f,0x70,0x7f,0x7b;

/* 7-segment pattern converting array

a

__ register data

f |__| b D7 D6 D5 D4 D3 D2 D1 D0

e |__| c.DP DP a b c d e f g

d

*/

char code prompt[] = "\n\r >";

short pol,ov;

short pol2,ov2;

#define POLARITY 0x20

#define OVERRANGE 0x40

// shift 32-bit data to 7219 serially

shift(long n)

char j;

22

Page 23: DUAL CHANNEL DIGITAL VOLTMETER

CLK = LOAD = 0;

for(j=0; j<32; j++)

DIN = n&0x80000000; // send data to 7219

CLK =1; // pulse CLK

CLK =0;

n<<=1; // shift left one bit

LOAD =1; // pulse LOAD

LOAD =0;

init7219()

shift(0x0a010a01); /* intensity (middle) */

shift(0x0b070b07); /* scan limit 8 digits */

shift(0x09000900); /* no decode mode */

shift(0x0f000f00); /* disable test mode */

shift(0x0c010c01); /* normal operation */

update7219()

//init7219(); /* reinitialize everytime entering to this function */

temp32=0;

temp32 |= buffer[0];

23

Page 24: DUAL CHANNEL DIGITAL VOLTMETER

temp32<<=16;

temp32|= buffer[8];

shift(0x01000100|temp32);

temp32=0;

temp32 |= buffer[1];

temp32<<=16;

temp32|= buffer[9];

shift(0x02000200|temp32);

temp32=0;

temp32 |= buffer[2];

temp32<<=16;

temp32|= buffer[10];

shift(0x03000300|temp32);

temp32=0;

temp32 |= buffer[3]|0x80; // put decimal point

temp32<<=16;

temp32|= buffer[11]|0x80;

shift(0x04000400|temp32);

temp32=0;

temp32 |= buffer[4];

temp32<<=16;

temp32|= buffer[12];

shift(0x05000500|temp32);

temp32=0;

temp32 |= buffer[5];

24

Page 25: DUAL CHANNEL DIGITAL VOLTMETER

temp32<<=16;

temp32|= buffer[13];

shift(0x06000600|temp32);

temp32=0;

temp32 |= buffer[6];

temp32<<=16;

temp32|= buffer[14];

shift(0x07000700|temp32);

temp32=0;

temp32 |= buffer[7];

temp32<<=16;

temp32|= buffer[15];

shift(0x08000800|temp32);

void ex0_isr (void) interrupt 0 using 1

if(D5) digit=5;

sbuffer[digit]= P0&0x0F;

buffer[8-digit]=convert[sbuffer[digit]];

digit--;

if(digit==0) ready=1;

// read polarity, over range and under range

if(P0&POLARITY) pol=1;

else pol=0;

if(P0&OVERRANGE) ov=1;

25

Page 26: DUAL CHANNEL DIGITAL VOLTMETER

else ov=0;

void ex1_isr (void) interrupt 2 using 2

if(P2D5) digit2=5;

sbuffer2[digit2]= P2&0x0F;

buffer[16-digit2]=convert[sbuffer2[digit2]];

digit2--;

if(digit2==0) ready2=1;

// read polarity, over range and under range

if(P2&POLARITY) pol2=1;

else pol2=0;

if(P2&OVERRANGE) ov2=1;

else ov2=0;

void over_display()

buffer[3]=0x7E;

buffer[4]=0x0E;

buffer[5]=0;

buffer[6]=0;

buffer[7]=0;

void over_display2()

26

Page 27: DUAL CHANNEL DIGITAL VOLTMETER

buffer[11]=0x7E;

buffer[12]=0x0E;

buffer[13]=0;

buffer[14]=0;

buffer[15]=0;

void print_channel1()

// float temp;

if(ready)

// ready=0;

V1=0;

V1 = sbuffer[5]*10000;

V1 += sbuffer[4]*1000;

V1 += sbuffer[3]*100;

V1 += sbuffer[2]*10;

V1 += sbuffer[1];

//RUN=0;

// display on LED

if(pol==0) buffer[2]= 0x01; // put minus sign

else buffer[2]=0x00;

buffer[3] |=0x80; // put dot to buffer[3]

if(ov) over_display();

update7219();

27

Page 28: DUAL CHANNEL DIGITAL VOLTMETER

// also send to PC via serial port 9600 8n1

if(pol==0) V1*=-1;

tV1= V1;

// printf("\n%.4f,",temp);

void print_channel2()

// float temp;

if(ready2)

// ready2=0;

V1=0;

V1 = sbuffer2[5]*10000;

V1 += sbuffer2[4]*1000;

V1 += sbuffer2[3]*100;

V1 += sbuffer2[2]*10;

V1 += sbuffer2[1];

//RUN=0;

// display on LED

if(pol2==0) buffer[10]= 0x01; // put minus sign

else buffer[10]=0x00;

buffer[11] |=0x80; // put dot to buffer[3]

28

Page 29: DUAL CHANNEL DIGITAL VOLTMETER

if(ov2) over_display2();

update7219();

// also send to PC via serial port 9600 8n1

if(pol2==0) V1*=-1;

tV2= V1;

//printf("%.4f",temp);

void pause()

unsigned int i;

for(i=0; i<50000;i++)

continue;

void print_7135()

//buffer[1]=0x06;

//buffer[2]=0x4E;

//buffer[3]=0x0E;

buffer[12]=convert[7];

buffer[13]=convert[1];

buffer[14]=convert[3];

buffer[15]=convert[5];

update7219();

pause(); // wait for a while

29

Page 30: DUAL CHANNEL DIGITAL VOLTMETER

void print_terminal()

if(ready&&ready2)

ready=0;

ready2=0;

printf("\n%dE-4,%dE-4",tV2,tV1);

char getchar(void)

char c;

while(!RI);

RI =0;

c = SBUF;

putchar(c); // echo to terminal

return SBUF;

void getcommand()

if (RI) command = getchar(); //

else command = -1; /* no cammand has entered */

30

Page 31: DUAL CHANNEL DIGITAL VOLTMETER

void escape_command()

if(command== 0x27)

//terminal^=1;

void main (void)

SCON = 0x50; /* SCON: mode 1, 8-bit UART, enable rcvr */

TMOD |= 0x20; /* TMOD: timer 1, mode 2, 8-bit reload */

TH1 = 0xfd; /* TH1: reload value for 9600 baud */

TR1 = 1; /* TR1: timer 1 run */

TI = 1; /* TI: set TI to send first char of UART */

T2CON = 0x00; // timer 2 is used to produce 120KHz for 60Hz and 125kHz for 50Hz

T2MOD |= 0x02;

TR2 =1;

RCAP2H= 0xFF;

RCAP2L= 0xEA; // E9 for 120kHz, EA for 125kHz

IT0 = 1; // Configure interrupt 0 for falling edge on /INT0 (P3.2)

IT1 =1; // falling edge of INT1

EX0 = 1; // Enable EX0 Interrupt

EX1 = 1; // enable EX1 interrupt

31

Page 32: DUAL CHANNEL DIGITAL VOLTMETER

EA = 1; // Enable Global Interrupt Flag

RUN=1; // hold

init7219();

printf("\nDual Channel Digital VoltMeter");

print_7135();

buffer[0] = convert[2];

buffer[8]= convert[1];

while(1)

getcommand();

escape_command();

print_channel1();

print_channel2();

print_terminal();

Setelah Program diatas di compile dan dijadikan format HEX file untuk di download ke

AT89C52 dengan menggunakan downloader universal SuperPro.

32

Page 33: DUAL CHANNEL DIGITAL VOLTMETER

BAB V

PENUTUP

5.1 Kesimpulan

1. Perancangan alat digital voltmeter dual channel dengan tampilan 7 segment

menggunakan mikrokontroler ini telah memenuhi syarat, tetapi kemampuan membaca

nilai-nilai tegangan yang diukur, dan pada tampilan 7 segment tidak/belum sesuai dengan

yang diharapkan.

2. Pemanfaatan ADC ICL 7135 yang merupakan sebuah chip Ic 28 pin yang memiliki

kegunaan multi fungsi sebagai pengubah data analog menjadi digital sekaligus bisa

menampilkan data digitalnya dalam bentuk BCD counter yang kemudian

menampilkannya kedalam 7 segment 4 1/2 digit angka digital dan dapat menampilkan

angka hingga 1999.

3. Penggunaan Mikrokontroller khususnya AT89C52 sangat vital sekali dan penggunaannya

yang sangat luas terutama dalam perancangan yang berhubungan dengan kontrol yang

memiliki keakurasian dan keamanan yang bisa diandalkan.

4. Pemanfaatan MAX7219, setiap chip drive 8-digit 7-sement LED. Data serial keluar dari

MAX7219 1 terkait dengan data dari MAX7219 2. Konfigurasi ini membentuk register

32-bit pergeseran (byte kontrol dan byte data 16-bit kata).

33

Page 34: DUAL CHANNEL DIGITAL VOLTMETER

5.2 Saran

Dari kesimpulan yang dapat ditarik pada perancangan alat ini maka penulis

mempunyai saran sebagai berikut :

1. Dengan perancangan alat ini dapat memberikan kontribusi bagi

perkembangannya dan mampu menciptakan teknologi yang lebih baru

2. Aplikasi alat ini lebih tepat jika digunakan untuk pengukuran yang lebih

sempurna dan teliti dalam ketepatan pembacaan, Sehingga dengan bantuan alat

ini dapat diketahui nilai tegangan atau resistor dengan cepat dan akurasi pembacaan

yang lebih baik.

3. Untuk aplikasi yang lebih luas dan lebih spesifik alat ini dapat dikembangkan

dengan menambah range dalam pengukuran dengan tujuan agar dapat

mengukur tegangan yang lebih besar. Misalnya untuk mengukur tegangan yang

mencapai nilai kilo ataupun mega volt.

4. Meskipun alat ini belum memenuhi nilai presisi dari kalibrasi tegangan voltmeter namun

alat ini bisa lebih di kembangkan lagi dan di sempurnakan kembali agar mendapatkan

hasil yang diharapkan dan di manfaatkan oleh masyarakat.

34

Page 35: DUAL CHANNEL DIGITAL VOLTMETER

DAFTAR PUSTAKA

Johnson David E., Johnson Johnny R., Hilburn John L., Scott Peter D., Electric Circuit

Analysis, Third Edition, Prentice Hall, Inc., 1997

Malvino, Albert Paul. Prinsip– Prinsip Elektronika, diterjemahkan oleh Joko Santoso, Jilid 1 dan 2.

jakarta, Salemba Teknika, 2003.

Budiman M. Dodi,ST.,MT.,”Perancangan Sistem Digital I & II. Bandung, 2009.

http://www.kmitl.ac.th/~kswichit/DVM7135/DVM7135.htm

H tt p ://ww w. da tas hee t 4 U.co m

H t t p :// ww w . A l l D a t a s hee t .Co m

35