• Tidak ada hasil yang ditemukan

SISTEM KONTROL ALAT UKUR FLUIDA MENGGUNAKAN WATER FLOW SENSOR YF-S201 TUGAS AKHIR ROIS ALGHAFAR SITANGGANG

N/A
N/A
Protected

Academic year: 2022

Membagikan "SISTEM KONTROL ALAT UKUR FLUIDA MENGGUNAKAN WATER FLOW SENSOR YF-S201 TUGAS AKHIR ROIS ALGHAFAR SITANGGANG"

Copied!
59
0
0

Teks penuh

(1)

SISTEM KONTROL ALAT UKUR FLUIDA MENGGUNAKAN WATER FLOW SENSOR YF-S201

TUGAS AKHIR

ROIS ALGHAFAR SITANGGANG 132411023

PROGRAM STUDI D-3 METROLOGI DAN INSTRUMENTASI DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN

2016

(2)

SISTEM KONTROL ALAT UKUR FLUIDA MENGGUNAKAN WATER FLOW SENSOR YF-S201

TUGAS AKHIR

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh Ahli Madya

ROIS ALGHAFAR SITANGGANG 132411023

PROGRAM STUDI D-3 METROLOGI DAN INSTRUMENTASI DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN

2016

(3)

PERSETUJUAN

Judul : Sistem Kontrol Alat Ukur Fluida Menggunakan Water Flow Sensor Yf-S201

Kategori : Tugas Akhir

Nama : Rois Alghafar Sitanggang

Nomor Induk Mahasiswa : 132411023

Program Studi : D3 Metrologi Dan Instrumenntasi

Departemen : Fisika

Fakultas : Matematika Dan Ilmu Pengetahuan Alam Universitas Sumatera Utara

Medan, 25 Juli 2016

Mengetahui Menyetujui

Ketua Program Studi Dosen Pembimbing

D3 Metrologi Dan Instrumentasi Tugas Akhir

Dr. Diana A. Barus, M.Sc Junedi Ginting, S.Si., M.Si NIP. 19660729 199203 2 002 NIP. 197306222003121001

(4)

PERNYATAAN

SISTEM KONTROL ALAT UKUR FLUIDA MENGGUNAKAN WATER FLOW SENSOR YF-S201

TUGAS AKHIR

Saya mengakui bahwa tugas akhir ini adalah hasil karya sendiri.Kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Juli 2016

Rois Alghafar Sitanggang 132411023

(5)

PENGHARGAAN

Alhamdulillahirobbil’alamin, segala puji dan syukur bagi Allah Subhanahuwata’ala yang telah melimpahkan barokah, rahmat, hidayah-Nya dan menganugerahkan kemudahan serta kelancaran sehingga penulis dapat menyelesaikan penulisan Tugas Akhir ini sesuai waktu yang telah di tetapkan yang merupakan salah satu syarat dalam mencapai gelar Ahli Madya pada Program Studi D3 Metrologi dan Instrumentasi. Tak lupa pula sholawat dan salam semoga senantiasa tercurahkan kepada Rasulullah Sallallahu’alaihiwassalam sang pembawa petunjuk dan selalu menjadi inspirasi dan tauladan bagi penulis.

Demi kelancaran dalam penyelesaian laporan Tugas Akhir ini tidak lepas dari bantuan berbagai pihak terutama kepada Ayahanda Kasiruddin Sitanggang dan Ibunda Renni Wati, yang telah memberikan bantuan moril maupun materil, semangat dan do’a yang begitu besar kepada penulis.

Terima kasih penulis sampaikan kepada Bapak Junedi Ginting, M.Si selaku pembimbing 1 dan Dr. Diana A Barus, M.Sc selaku Ketua Program Study D3 Metrologi & Instrumentasi FMIPA USU yang sekaligus pembimbing 2 saya, Dekan dan Wakil Dekan FMIPA USU, seluruh Staff dan Dosen D3 Metrologi &

Instrumentasi FMIPA USU, Pegawai D3 Metrologi & Intrumentasi FMIPA USU dan seluruh teman teman D3 Metrologi & Intrumentasi angkatan 2013 yang telah membantu penulis menyelesaikan Tugas Akhir.

(6)

ABSTRAK

Telah dibuat alat ukur dan pengontrol debit air berbasis mikrokontroller ATMega16. Alat ini dibuat untuk mengukur dan mengontrol aliran air pada suatu penampungan cairan supaya mempermudah pekerjaan dalam bidang industri serta mengetahui nilai kebenaran cairan yang di kontrol.Dalam penggunaan dan pemanfaatan sistem Instrumentasi ini pekerjaan manusia akan terselesaikan dengan waktu yang cepat, tepat dan akurat.

(7)

ABSTRACK

Has made a measuring instrument and birth-control discharge of water based mikrokontroller atmega16 .This instrument is made to measure and control the flow of water in a shelter ease a liquid so that the work in the field of industrial and knowing the value of the truth of a liquid in control .In the use and utilization of instrumentation system this work will be intractable human with time fast , proper and accurate .

(8)

DAFTAR ISI

Persetujuan ... i

Pernyataan ... ii

Penghargaan ... iii

Abstrak ... iv

Abstrack ... v

Daftar Isi ... vi

Daftar Tabel ... viii

Daftar Gambar ... ix

Daftar Lampiran ... x

BAB 1. PENDAHULUAN 1.1 Latar Belakang ... 1

1.2 Rumusan Masalah ... 2

1.3 Tujuan Penulisan ... 2

1.4 Batasan Masalah ... 2

1.5 Sistematika Penulisan ... 3

BAB 2. LANDASAN TEORI 2.1 Water Flow Sensor Yf-S201 ... 4

2.2 Mikrokontroller ATMega16 ... 6

2.2.1 Konfigurasi Pin ATMega16 ... 7

2.2.2 Port Sebagai Input/output Digital ... 8

2.2.3 Peta Memori ... 9

2.2.4 Pulse Width Modulation (PWM) ... 10

2.3 Relay ... 12

2.4 Key Pad 3x4 ... 13

(9)

2.5 LCD 16X2 ... 14

2.6 IC Regulator 7805... 15

BAB 3 PERANCANGAN DAN PEMBUATAN 3.1 Perancangan Blok Diagram ... 16

3.2 Flow Chart Sistem ... 17

3.31 Perancangan Rangkaian Minimum Sistem ... 18

3.3.1 Rangkaian Mikrokontroller ATMega16 ... 18

3.3.2 Rangkaian LCD (Liquid Crystal Display) ... 18

3.3.3 Rangkaian Relay ... 19

3.3.4 Rangkaian Water Flow Sensor... 20

3.3.5 Rangkaian Kypad 3x4 ... 21

3.4 Rangkaian Keseluruhan Sistem ... 22

3.5 Pemrograman Sistem ... 23

BAB 4 HASIL DAN PEMBAHASAN 4.1 Hasil ... 33

4.2 Pembahasan ... 33

BAB 5 KESIMPULAN DAN SARAN 5.1 Kesimpulan ... 34

5.2 Saran ... 34

Daftar Pustaka ... 35

(10)

DAFTAR TABEL

3.1 Tombol Key Pad Perancangan ... 21 4.1 Tabel Hasil Pengujian ... 33

(11)

DAFTAR GAMBAR

2.1 Water Flow Sensor Yf-S201 ... 5

2.2 ATMega16 ... 6

2.3 Port Input/Output Digital ... 9

2.4 Peta Memori ... 10

2.5 Key Pad 3x4 ... 13

2.5 LCD 16x2 ... 14

3.1 Diagram Blok ... 16

3.2 Rangkaian Minimum ATMega16 ... 18

3.3 Rangkaian LCD ... 19

3.4 Rangkaian Relay ... 20

3.5 Rangkaian Water Flow Sensor ... 20

3.6 Rangkaian Key Pad ... 21

3.7 Rangkaian Keseluruhan ... 22

(12)

LAMPIRAN

(13)

BAB 1 PENDAHULUAN 1.1 Latar Belakang

Berbagai jenis teknologi telah banyak diciptakan oleh manusia untuk mempermudah pekerjaan yang dilakukan.Salah satu teknologi yang berkembang ialah teknologi di bidang pengukuran suatu aliran fluida.Aplikasi pengendali aliran air ini sangat banyak dibutuhkan dalam hal hal tertentu.Contohnya, pada pompa bensin bbm untuk mengBetahui banyak bensin yang di gunakan, pengisian minuman botol dipabrik, pada instalasi saluran pipa air dari PDAM ke rumah warga dan masih banyak aplikasi lainnya.

Berangkat dari hal tersebut penulis ingin membuat alat ukur aliran suatu fluida dan pengendali aliran air dengan menggunakan water flow sensor YF-S201 sebagai sensor yang mendeteksi kecepatan aliran fluida dan di ubah menjadi pengendali aliran air, mikrokontroller ATMega16 sebagai pusat kontrol sensor, LCD sebagai display dari output sensor, relay, pompa air. Hasilmenunjukkkan Mikrokontroler ATMega16 mempunyai input sensor flow (sensor aliran), dan sensor ini akan mendeteksi kecepatan aliran suatu fluida yang di konfrensikan menjadi volume air dan menampilkannyapada LCD. Alat ini menggunakan sebuah pompa air yang berfungsi untuk sebagai aliran zat cair atau sebagai aliran fluida yang akan di deteksi sensor sekaligus dalam mengontrol aliran air yang di kendalikan oleh mikrokontroller.

Alat ini bekerja secara otomatis dengan merespon aliran air yang dideteksi oleh water flow sensor YF-S201. Mikrokontroler ATmega16 kemudianmemproses output sensor yang berbentuk frekuensi signal analog (atau berbentuk pulsa) dan mengubah signal tersebut ke digital atau sering disebut analog to digital. Setelah output sensor diproses oleh mikrokontroller kemudian ditampilkanpadaLCD. Dengan demikian kita dapat menggunakan alat ini dengan mudah untuk mengendalikan aliran air hanya cukup menekan keypad sesuai volume air yang kita inginkan dengan satuan milli liter (ml), dan batas maksimum 5000 milli liter.

(14)

1.2. Rumusan Masalah

Laporan Tugas Akhirini membahas tentang perangkat lunak yang meliputiperakitan water flow sensor YF-S201 sebagai sitem kontrol aliran air secara otomatis, yang terdiri dari water flow sensor YF-S201 sebagai pengendali volume level air, Mikrokontroler ATMega16 sebagai pusat kendalinya beserta software pemrograman dasar dari mokrokontroller, LCD sebagaitampilannya, Pompa air sebagai aliran fluida, dan PSA.

1.3. Tujuan Penulisan

Adapun tujuan penulisan laporan Tugas Akhir ini adalah untuk:

1. Sebagai salah satu syarat untuk dapat menyelesaikan program Diploma Tiga(D-III) Metrologi & Intrumentasi FMIPA Universitas Sumatera Utara.

2. Pengembangan kreatifitas mahasiswa dalam bidang ilmu instrumentasipengontrolan danelektronika sebagai bidang diketahui.

3. Membuat rangkaian Sistem Kontrol Aliran Air Dengan Mikrokontroler ATMega16.

1.4. Batasan Masalah

Mengacu pada hal diatas Penulis Pengujian rangkaian Sistem Kontrol Aliran Air Dengan Mikrokontroler Atmega16 Dan Pemograman C, dengan batasan- batasan sebagaiberikut :

1. Pembahasan mikrokontroler ATMega16.

2. Sensor yang digunakan adalah waterflow sensor YF-S201 sebagai sensor pengendali volume air dan sekaligus sebagai pengukuran kecepatan aliran fluida.

3. Pembahasan hanya meliputi rangkaian Mikrokontroler ATMega16, water flow sensor YF-S201, rangkaian pendukung, analisa pengukuranbeserta program dasarnya.

(15)

1.5. Sistematika Penulisan

Untuk mempermudah pembahasan dan pemahaman, maka penulis membuat sistematika penulisan laporan ini sebagai berikut :

BAB 1 PENDAHULUAN

Meliputi latar belakang masalah, rumusan masalah, tujuan penulisan, batasan masalah, dan sistematika penulisan.

BAB 2 LANDASAN TEORI

Dalam bab ini akan dijelaskan tentang teori pendukung yang digunakan untuk pembahasan dan cara kerja rangkaian.

BAB 3 PERANCANGAN DAN PEMBUATAN

Meliputi tentang perancangan rangkaian dan program yang digunakan.

BAB 4 HASIL DAN PEMBAHASAN

Meliputi pengujian alat dan analisanya.

BAB 5 KESIMPULAN DAN SARAN

Mengenai kesimpulan yang didapat setelah membuat tugas akhir ini dan saran yang diberikan demi pengembangan tugas akhir ini di masa mendatang.

(16)

BAB 2

LANDASAN TEORI 2.1 Water Flow Sensor Yf-S201

Sensor aliran air ini terbuat dari palstik dimana didalamnya terdapat rotor dan sensor hall effect.Saat mengalir melewati rotor, rotor akan berputar.

Kecepatan putaran ini akan sesuai dengan besarnya aliran air. Sensor berbasis hall effectini dapat digunakan untuk mendeteksi aliran air hingga 30 liter/menit (1.800 L/hour), dapat digunakan dalam pengendalian aliran air pada sistem distribusi air, sistem pendinginan berbasis air, dan aplikasi lainnya yang membutuhkan pengecekan terhadap debit air.

Prinsip kerja sensor ini adalah dengan memanfaatkan fenomena hall effect..hall effect ini didasarkan pada efek medan magnetik terhadap partikel bermuatanyang bergerak. Ketika ada arus listrik yang mengalir pada divais hall effectyang ditempatkan dalam medan magnet yang arahnya tegak lurus arus listrik, pergerakan pembawa muatan akan berbelok ke salah satu sisi dan menghasilkan medan listrik. Medan listrik terus membesar hingga gaya Lorentz yang bekerja pada partikel menjadi nol. Perbedaan potensial antara kedua sisi divais tersebut disebut potensial Hall. Potensial Hall ini sebanding dengan medan magnet dan arus listrik yang melalui divais.

Ketika mengukur aliran bahan yangmempunyai tekanan, aliran volumetrik tidak terlalu berarti, kecuali kepadatan adalah konstan. Ketika kecepatan (volumetric aliran) dari cairan mampat diukur,factor gelembung udara akan menyebabkan kesalahan, karena itu, udara dan gasharus dipindahkan sebelum mencapai fluida meter, Tidak semua fluida yang berpindah dinamakan fluida bergerak.Yangdimaksud fluida bergerak adalah jika fluida tersebut bergerak lurus terhadapsekitar.Aliran fluida dikatakan aliran garis lurus apabila aliran fluida yangmengalir mengikuti suatu garis (lurus melengkung) yang jelas ujung pangkalnya.Aliran garis lurus juga disebut aliran berlapis atau aliran laminar (laminar flow).

(17)

Gambar 2.1 water flow sensor Yf-S201 Fitur:

Debit air yang dapat diukur: 1 - 30 Ltr / menit

Maksimum tekanan air: 2 MPa

Tekanan hidrostatik / Hydrostatic Pressure: ≤ 1,75 MPa

Catu daya antara 4,5 Volt hingga 18 Volt DC

Arus: 15 mA (pada Vcc = 5V)

Kapasitas beban: kurang dari 10 mA (pada Vcc = 5V)

Maksimum suhu air (water temperature usage): 80°C

Rentang Kelembaban saat beroperasi: 35% - 90% RH (no frost)

Duty Cycle: 50%±10%

Periode signal (output rise / fall time): 0.04µs / 0.18µs

Diameter penampang sambungan: 0,5 inch (1,25 cm)

Amplitudo: Low ≤ 0,5V, High ≥ 4,6 Volt

Kekuatan elektrik (electric strength): 1250 V / menit

Hambatan insulasi: ≥ 100 MΩ

Material: PVC

Tipe sensor hall effect

Akurasi ±10%

Berat sensor 43g

(18)

2.2 Mikrokontroller8 ATMega16

Microcontrollermerupakan suatu sistem komputer yang seluruh atau sebagian besar elemennya dikemas dalam satu chip IC,sehingga sering juga disebut dengan single chip microcomputer.Microcontroller biasa dikelompokkan dalam satu keluarga, masing-masing microcontroller mempunyai spesifikasi tersendiri namun masih kompatibel daam pemrogramannya.

ATMega16 merupakan mikrokontroler CMOS 8-bit buatan Atmel keluarga AVR. AVR mempunyai 32 register general-purpose, timer/counter dengan metode compare, interrupt eksternal dan internal, serial UART, progammable Watchdog Timer, ADC dan PWM internal.AVR dapat dikelompokkan menjadi empat kelas, yaitu keluarga Attiny, keluarga AT902xx, keluarga Atmega, dan keluarga AT86RFxx.Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral, dan fungsinya.Silahkan buka www.atmel.com untuk informasi lebih lanjut tentang berbagai variasi AVR.Untuk mikrokontroler AVR yang berukuran lebih kecil, silahkan mencoba Atmega8, Attiny2313 dengan ukuran Flash Memory 2KB dengan dua input analog.Mikrokontroler pada dasarnya diprogram dengan bahasa assembler.tetapi saat ini mikrokontroler dapat diprogram dengan menggunakan bahasa tingkat tinggi sepert BASIC, PASCAL atau C.

Gambar 2.2 ATMega 16

(19)

Didalam mikrokontroler Atmega16 terdiri dari:

• Saluran I/O ada 32 buah, yaitu Port A, Port B, Port C, dan Port D.

• ADC (Analog to Digital Converter) 10 bit sebanyak 8 channel.

• Tiga buah Timer/Counter dengan kemampuan perbandingan.

• CPU yang terdiri dari 32 register.

• 131 intruksi andal yang umumnya hanya membutuhkan 1 siklus clock.

• Watchdog Timer dengan oscilator internal.

• Dua buah Timer/Counter 8 bit.

• Satu buah Timer /Counter 16 bit.

• Tagangan operasi 2.7 V - 5.5 V pada Atmega16.

• Internal SRAM sebesar 1KB.

• Memory Flash sebesar 16KB dengan kemampuan Read While Write.

• Unit interupsi internal dan eksternal.

• Port antarmuka SPI.

• EEPROM sebesar 512 byte dapat diprogram saat operasi.

• Antar muka komparator analog.

• 4 channel PWM.

• 32x8 general purpose register.

• Hampir mencapai 16 MIPS pada Kristal 16 MHz.

• Port USART programmable untuk komunikasi serial.

2.2.1 Konfigurasi Pin ATmega16

Atmega 16 memepunyai kaki standart 40 pin PID yang mempunyai fungsi sendiri-sendiri.

1. VCC merupakan pin masukan positif catudaya. Setiap peralatan elektronika digital tentunya butuh sumber catu daya yang umumnya sebesar 5 V, itulah sebabnya di PCB kit rangkaian mikrokontroler selalu dipasang IC regulator 7805.

2. GND sebagai PIN ground.

3. Port A (PA0 ... PA7) merupakan pin I/O dua arah dan dapat diprogram sebagai pin masukan ADC.

(20)

4. Port B (PB0 ... PB7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu Timer/Counter, Komparator Analog, dan SPI.

5. Port C (PC0 ... PC7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu TWI, komparator analog, dan Timer Oscilator.

6. Port D (PD0 ... PD7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu komparator analog, interupsi eksternal, dan komunikasi serial.

7. Reset merupakan pin yang digunakan untuk me-reset mikrokontroler ke kondisi semula.

8. XTAL 1 dan XTAL 2 sebagai pin masukan clock eksternal. Suatu mikrokontroler membutuhkan sumber detak (clock) agar dapat mengeksekusi intruksi yang ada di memori. Semakin tinggi nilai kristalnya, maka semakin cepat pula mikrokontroler tersebut dalam mengeksekusi program.

9. AVCC sebagai pin masukan tegangan untuk ADC.

10. AREF sebagai pin masukan tegangan referensi.

2.2.2 Port Sebagai Input/Output Digital

ATMega16 mempunyai empat buah port yang bernama PortA, PortB, PortC, dan PortD. Keempat port tersebut merupakan jalur bidirectional dengan pilihan internal pull-up. Tiap port mempunyai tiga buah register bit, yaitu DDxn, PORTxn, dan PINxn. Huruf ‘x’mewakili nama huruf dari port sedangkan huruf

‘n’ mewakili nomor bit. Bit DDxn terdapat pada I/O address DDRx, bit PORTxn terdapat pada I/O address PORTx, dan bit PINxn terdapat pada I/O address PINx.

Bit DDxn dalam register DDRx (Data Direction Register) menentukan arah pin.

Bila DDxn diset 1 maka Px berfungsi sebagai pin output. Bila DDxn diset 0 maka Px berfungsi sebagai pin input. Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin input, maka resistor pull-up akan diaktifkan. Untuk mematikan resistor pull-up, PORTxn harus diset 0 atau pin dikonfigurasi sebagai pin output.

Pin port adalah tri-state setelah kondisi reset.

Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika 1. Dan bila PORTxn diset 0 pada saat pin terkonfigurasi

(21)

sebagai pin output maka pin port akan berlogika 0. Saat mengubah kondisi port dari kondisi tri-state (DDxn=0, PORTxn=0) ke kondisi output high (DDxn=1, PORTxn=1) maka harus ada kondisi peralihan apakah itu kondisi pull-up enabled (DDxn=0, PORTxn=1) atau kondisi output low (DDxn=1, PORTxn=0).

Biasanya, kondisi pull-up enabled dapat diterima sepenuhnya, selama lingkungan impedansi tinggi tidak memperhatikan perbedaan antara sebuah strong high driver dengan sebuah pull-up. Untuk lebih jelasnya, dapat dilihat pada gambar berikut.

Gambar 2.3 Port Input/Output Digital 2.2.3 Peta Memori

AVR ATMega16 memiliki ruang pengalamatan memori data dan memori program yang terpisah. Memori data terbagi menjadi 3 bagian, yaitu 32 buah register umum, 64 buah register I/O, dan 1kb SRAM internal.

Register keperluan umum menempati space data pada alamat terbawah, yaitu

$00 sampai $1F. Sementara itu, register khusus untuk menangani I/O dan kontrol terhadap mikrokontroler menempati 64 alamat berikutnya, yaitu mulai dari $20 hingga $5F. Register tersebut merupakan register yang khusus digunakan untuk

(22)

mengatur fungsi terhadap berbagai peripheral mikrokontroler, seperti kontrol register, timer/counter, fungsi – fungsi I/O, dan sebagainya.

Alamat memori berikutnya yang digunakan untuk SRAM 1kb, yaitu pada lokasi

$60 sampai dengan $45F.Konfigurasi memori data ditunjukan pada gambar berikut.

Gamabar 2.4 Peta Memori

Mikrokontroler disini digunakan sebagai komunikasi antara komputer dengan Plant, dimana digunakan komunikasi serial RS232 sebagai komunikasi antara Mikrokontroler dengan Komputer.

2.2.4 Pulse Width Modulation (PWM)

PWM atau modulasi lebar pulsa adalah salah satu keunggulan dari Timer/Counter yang terdapat pada ATMega16.Ketiga jenis Timer/Counter pada ATMega32 dapat menghasilkan pulsa PWM.Pulsa PWM adalah sederetan pulsa yang lebar pulsanya dapat diatur.Pulsa PWM berfungsi mengatur kecepatan motor DC, mengatur gelap terang LED dan lain sebagainya.

Untuk memahami penggunaan PWM, disini digunakan Timer/Counter 1 sebagai PWM. PWM adalah Timer Mode Output Compare yang canggih.Mode PWM timer juga dapat mencacah turun yang berlawanan dengan mode Timer lainya yang hanya mencacah naik. Pada mode PWM tersebut,

(23)

Timer mencacahnaik hingga mencapai nilai TOP, yaitu 0xFF untuk PWM 8 bit.

Timer/Counter 1 memiliki PWM 9 bit dan PWM 10 bit, selain PWM 8 bit.

Pemilihan Timer Mode PWM diseting melalui bit WGM01 dan bit WGM00 pada register TCCR0. Tabel Konfigurasi Bit WGM01 dan WGM00 dapat dilihat pada tabel berikut.

Sebagai penggunaan mode PWM Timer / Counter 0, keluaran sinyal PWM terletak pada pin OC0 sehingga pada contoh ini LED diletakkan pada pin OC0.

Ketika nilai TCNT0 sama dengan nilai pada OCR0, maka output pada OC0 akan berlogika nol atau berlogika satu, tergantung pada pemilihan mode PWM. Anda dapat memilih mode normal atau mode inverted PWM. Pemilihan mode PWM diseting melalui bit COM01 dan bit COM00 pada register TCCR0 yang konfigurasinya seperti tabel berikut.

Tabel Konfigurasi Bit COM01 dan COM00 Compare Output Mode Phase Correct PWM

Dari tabel diatas dapat diketahui saat COM00 clear dan COM01 set, pin OC0 clear saat timer mencacah diatas Compare Match dan pin OC0 set saat timer mencacah dibawah Compare Match atau non-inverting PWM. Kebalikannya, saat

(24)

COM00 set dan COM01 juga set, maka pin OC0 set saat timer mencacah diatas Compare Match dan pin OC0 clear saat mencacah dibawah Compare Match atau disebut juga inverting PWM.

2.3 Relay

Relay adalah Saklar (Switch) yang dioperasikan secara listrik dan merupakan komponen Electromechanical (Elektromekanikal) yang terdiri dari 2 bagian utama yakni Elektromagnet (Coil) dan Mekanikal (seperangkat Kontak Saklar/Switch). Relay menggunakan Prinsip Elektromagnetik untuk menggerakkan Kontak Saklar sehingga dengan arus listrik yang kecil (low power) dapat menghantarkan listrik yang bertegangan lebih tinggi.

Relay terdiri dari 4 komponen dasar yaitu : 1. Electromagnet (Coil)

2. Armature

3. Switch Contact Point (Saklar) 4. Spring

(25)

Beberapa fungsi Relay yang telah umum diaplikasikan kedalam peralatan Elektronika diantaranya adalah :

• Relay digunakan untuk menjalankan Fungsi Logika (Logic Function)

• Relay digunakan untuk memberikan Fungsi penundaan waktu (Time Delay Function)

• Relay digunakan untuk mengendalikan Sirkuit Tegangan tinggi dengan bantuan dari Signal Tegangan rendah.

• Ada juga Relay yang berfungsi untuk melindungi Motor ataupun komponen lainnya dari kelebihan Tegangan ataupun hubung singkat (Short).

2.4 Key Pad 3x4

Keypad merupakan komponen elektronik yang digunakan sebagai masukan, disususun dari beberapa tombol/switch dengan teknik matrix.keypad merupakan tombol-tombol yang dirangkai menjadi sebuah paket dengan teknik menghubungkan satu tombol dengan tombol yang la15in dengan teknik matrix.

Teknik matrix adalah bisa dikatakan array, memiiki kolom dan baris lebih dari satu.

Penyusun tombol pada keypad dapat dibuat dari bermacam-macam bahan/komponen, seperti switch metal, switch karbon, dan resistif/kapasitif (touch panel). Penggunaan bahan tersebut disesuaikan dengan kebutuhan akan sensifitas, aksi penekanan, dan kebutuhan akan suatu tombol khusus.

Gambar 2.5 Key Pad 3x4

(26)

2.5 LCD 16X2

LCD 16×2 adalah salah satu penampil yang sangat populer digunakan sebagai interface antara mikrokontroler dengan user nya. Dengan penampil LCD 16×2 ini user dapat melihat/memantau keadaan sensor ataupun keadaan jalanya program. Penampil LCD 16×2 ini bisa di hubungkan dengan mikrokontroler apa saja. Salah satunya dari keluarga AVR ATMega baik ATMega32,ATMega16 ataupun ATMega8535 dan ATMega 8.

Gambar 2.6 LCD 16x2

Berikut ini adalah skematik diagram / rangkaian LCD 16×2 :

dari gambar tersebut dapat dilihat bahwa LCD 16×2 mempunya 16 pin. sedangkan pengkabelanya adalah sebagai berikut :

1. Kaki 1 dan 16 terhubung dengan Ground (GND) 2. Kaki 2 dan 15 terhubung dengan VCC (+5V)

(27)

3. Kaki 3 dari LCD 16×2 adalah pin yang digunakan untuk mengatur kontras kecerahan LCD. Jadi kita bisa memasangkan sebuah trimpot 103 untuk mengatur kecerahanya.Pemasanganya seperti terlihat pada rangkaian tersebut. Karena LCD akan berubah kecerahanya jika tegangan pada pin 3 ini di turunkan atau dinaikan.

4. Pin 4 (RS) dihubungkan dengan pin mikrokontroler 5. Pin 5 (RW) dihubungkan dengan GND

6. Pin 6 (E) dihubungkan dengan pin mikrokontroler

7. Sedangkan pin 11 hingga 14 dihubungkan dengan pin mikrokontroler sebagai jalur datanya.

2.6 IC Regulator 7805

Regulator ini menghasilkan tegangan output stabil 5 Volt dengan syarat tegangan input yang diberikan minimal 7-8 Volt (lebih besar dari tegangan output) sedangkan batas maksimal tegangan input yang diperbolehkan dapat dilihat pada datasheet IC 78XX karena jika tidak maka tegangan output yang dihasilkan tidak akan stabil atau kurang dari 5 Volt.

(28)

BAB 3

PERANCANGAN DAN PEMBUATAN 3.1 Perancangan Blok Diagram

Diagram merupakan pernyataan hubungan yang berurutan dari suatu atau lebih komponen yang memiliki kesatuan kerja tersendiri, dan setiap blok komponen mempengaruhi komponen yang lainnya. Diagram blok merupakan salah satu cara yang paling sederhana untuk menjelaskan cara kerja dari suatu sistem. Dengan diagram blok kita dapat menganalisa cara kerja rangkaian dan merancang hardware yang akan dibuat secara umum.

Adapun diagram blok dari sistem yang dirancang,seperti berikut:

ATMEGA16 KEYPAD

FLOWMETER RELAY POMPA AIR

LCD

Gambar 3.1 Diagram Blok Fungsi Tiap Blok:

1. Blok keypad : Sebagai input data

2. Flow meter : Untuk menghitung aliran air yang lewat

3. Blok mikrokontroller : Mengolah data dari sensor flow meter dan keypad 4. Blok LCD : Penampil data hasil akhir

5. Relay : Sebagai saklar

6. Pompa Air : Sebagai pemompa air dari wadah

(29)

Dari diagram blok di atas menggambarkan bahwa sistem yang penulis rancang akan mengkontrol cairan dengan menggunakan sensor flow meter untuk mengkontrol cairan. Ketika sensor telah mendapatkan jarak yaitu dengan menerjemahkan sifat fisis jarak menjadi sinyal listrik yaitu perubahan tegangan output sensor, maka kemudian output ini dibaca oleh ADC internal dari mikrokontroler ATMega 16. Nilai ketebalan yang sedang di pantau oleh sensor akan ditampilkan ke display LCD (Liquid Crystal Display).

3.2 Flow Chart Sistem

START

INIT

Baca Keypad

Tampilkan ke LCD

Proses pengisian

END

\\\\

(30)

3.3 Perancangan Rangkaian Minimum Sistem 3.3.1 RangkaianMikrokontroller ATMega 16

Minimum sistem merupakan bagian utama dari pembuatan alat ini supaya berfungsi dengan baik. Pada pin 12 dan 13 adalah pin Kristal eksternal yang harus dirangkai dengan Kristal sebagai sumber clockATMega16. Pada pin 9 adalah pin RESET yang harus dirangkai dengan rangkaian reset, yang berfungsi sebagai pe- resetprogram apabila terjadi error saat program berjalan.

Gambar 3.2 Rangkaian minimum ATMega 16 3.3.2 RangkaianLCD (Liquid Crystal Display)

Pada alat ini, display yang digunakan adalah LCD (Liquid Crystal Display) 16 x 2. Untuk blok ini tidak ada komponen tambahan karena mikrokontroler dapat member data langsung ke LCD, pada LCD Hitachi - M1632 sudah terdapat driver untuk mengubah data ASCII output mikrokontroler menjadi tampilan karakter.

(31)

Pemasangan potensio sebesar 5 KΩ untuk mengatur kontras karakter yang tampil.Gambar 3.4 berikut merupakan gambar rangkaian LCD yang dihubungkan ke mikrokontroler.

Gambar 3.3 Rangkaian LCD

3.3.3 Rangkaian Relay

Relay merupakan salah satu komponen elektronik yang terdiri dari lempengan logam sebagai saklar dan kumparan yang berfungsi untuk menghasilkan medan magnet. Pada rangkaian ini digunakan relay 12 volt, ini berarti jika positif relay (kaki 1) dihubungkan ke sumber tegangan 12 volt dan negative relay (kaki 2) dihubungkan ke ground, maka kumparan akan menghasilkan medan magnet, dimana medan magnet ini akan menarik logam yang mengakibatkan saklar terhubung.

(32)

Gambar 3.4 Rangkaian Relay 3.3.4 Rangkaian Water Flow Sensor

Water flow sensor yang digunakan adalah Yf-S201, sensor bekerja dengan sistem hall effect. Sensor hall effect akan mengeluarkan output pulsa sesuai dengan besarnya aliran air. Pulsa pulsa tersebut akan di olah oleh mikrokontroller berupa counter volume air yang melewati sensor. Rangkaian bekerja pada rangkaian 5 volt sampai 24 volt DC. Arus maksimum pada tegangan 5volt DC adalah sebesar 15 mA.

Gambar 3.5 Rangkaian Water Flow Sensor

(33)

3.3.5 Rangkaian Keypad 3x4

Gambar 3.6 menunjukkan rangkaian ATMega16 ke keypad. Baris A, B, C dan D sebagai input ke mikrokontroller pada portd D0 sampai D3. Kolom 1, 2, 3 dan 4 sebagai output dari mikrokontroller port D4 sampai D7.

Gambar 3.6 Rangkaian keypad Tabel 3.1 Tombol Keypad Perancangan

NO Tombol Tombol Pilihan Keterangan

1 Angka 0 sampai 9 Untuk input angka

2 Khusus

* Untuk menjalankan perintah

# Untuk membatalkan perintah

Mode khusus merupakan mode utama yang disedia kan untuk melanjutkan atau membatalkan perintah yang telah di input, dimana tombol (*) untuk

melanjutkan perintah dan tombol (#) untuk membatalkan perintal, sedangkan mode angka digunakan untuk menginput data.

(34)

3.4 Rangkaian Keseluruhan Sistem

Rangkaian sistem elektronik atau perangkat keras dalam sistem pengukur debit air ini meliputi rangkaian keypad, display LCD, sensor dan relay yang dirangkai secara utuh dan saling terhubung ke mikrokontroller.

3.7 Rangkaian Keseluruhan Sitem

Dari gambar diatas penulis menjelaskan bahwa rangkaian yang dibuat menggunakan mikrokontroller ATMega16, water flow sensor YF-S201, keypad 4x3 dan LCD. ATMega16 sebagai papan board yang merupakan pemograman dari alat ini, water flow sensor YF-S201 sebagai sensor yang dapat menjadi pengirim sinyal dan penerima sinyal, keypad berfungsi sebagai tempat menginput data, Liquid Crystal Display (LCD) berfungsi menampilkan data yang dikirim mikrokontroller ATMega16

(35)

3.5 Pemograman Sistem

Bahasa Pemrograman (programming language) adalah sebuah instruksi standar untuk memerintah komputer agar mempunyai fungsi tertentu. Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer. Bahasa ini memungkinkan seorang programmer dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan jenis langkah apa secara persis yang akan diambil dalam berbagai situasi.

Fungsi bahasa pemrograman yaitu memerintah komputer untuk mengolah data sesuai dengan alur berpikir yang kita inginkan. Keluaran dari bahasa pemrograman tersebut berupa program/aplikasi.

Bahasa pemograman yang penulis gunakan disini adalah bahasa pemograman Basic Compiler.Bahasa pemograman ini merupakan suatu program sistem yang digunakan sebagai alat bantu dalam pemrogaman.Perangkat lunak yang melakukan proses penterjemahan code (yang dibuat programmer) ke dalam bahasa mesin.Compiler menggabungkan keseluruhan bahasa program, mengumpulkannya dan kemudian menyusunnya kembali.

Compiler memerlukan waktu untuk membuat suatu program dapat di eksekusi oleh computer, program yang dieksekusi oleh compiler adalah dapat berjalan lebih cepat disbanding program yang diperoduksi oleh interpreter, disamping itu juga bersifat independen.Contoh program yang menggunakan compiler adalah Visual Basic, Visual Delvi, dan Pascal.

Tahap Kompilasi:

1. Pertama source code (program yang ditulis) dibaca kememori computer).

2. Source code tersebut diubah menjadi objek code (bahasa Assembly).

3. Objek code di hubungkan dengan liberary yang dibutuhkan untuk membentuk file yang bisa dieksekusi.

(36)

Berikut adalah program yang penulis input:

' =============================

' 1 liter = 380 data ' 100 ml = 38 data ' 10 ml = 3.8 data '

' =============================

$large

$regfile = "m16def.dat"

$crystal = 12000000 ' used crystal frequency

$baud = 9600 ' use baud rate

$hwstack = 32

$swstack = 16

$framesize = 32

' INIT LCD 16X2

Config Lcdpin = Pin , Rs = Porta.0 , E = Porta.1 , Db4 = Porta.2 , Db5 = Porta.3 , Db6 = Porta.4 , Db7 = Porta.5

Config Lcd = 16 * 2 Cursor Off

Declare Function Cek_tombol() As Byte

'INIT KEYPAD 4x3

Config Kbd = Portb , Debounce = 100 , Rows = 3

(37)

Config Int0 = Rising On Int0 Int0_int

'init Timer 1 ke 1 detik

Config Timer1 = Timer , Prescale = 256 Enable Timer1

On Timer1 Int_timer1 Enable Interrupts Timer1 = &HFB8D Enable Int0

Declare Sub Blinkled(byval Lama As Integer)

Led Alias Portd.7 Pump Alias Portc.7

Config Led = Output Config Pump = Output

Dim Nil As Byte

Dim Dt_flow As Integer

Dim Tekan As String * 1 Dim Press As String * 10

Dim I As Integer

Dim Filter As String * 10

(38)

Dim Proses As Byte Dim Cek As Byte

Dim Cek_sensor As Bit Dim Volset As Integer Dim Dataset As Integer Dim Dataset_l As Long

Filter = "0123456789"

Cls

Lcd " DEBIT AIR "

Led = 1 Wait 1 Cls

Lcd " ROIS ALGHAFAR "

Lowerline

Lcd " 132411023 "

Wait 1 Cls

Lcd "Input debit air:"

Led = 0 Proses = 0 Cek_sensor = 1

Do

Select Case Proses Case 0:

Proses = 5

(39)

' Cek keypad Case 5:

Cek = Cek_tombol() If Cek <> 255 Then

If Len(press) < 5 Then

I = Instr(filter , Tekan) If I > 0 Then

Press = Press + Tekan Proses = 10

End If End If

' jika tekan * maka menuju ke case 20 If Tekan = "*" Then

Proses = 20

' jika tekan # maka menuju ke case 10 Elseif Tekan = "#" Then

Press = ""

Proses = 10 End If

End If

' Hapus data Case 10:

Cls

Lcd "Tekan :" ; Press Waitms 200

Proses = 15

(40)

Case 15:

If Cek_tombol() = 255 Then Proses = 0

'Cek data valid dan kalibrasi data sensor ke mililiter Case 20:

Volset = Val(press)

If Volset < 100 Then Volset = 100 ' batasan minimum

If Volset > 10000 Then Volset = 10000 ' batasan maximum

Dataset_l = Volset / 100

Dataset_l = Dataset * 38 ' kalibrasi

Dataset = Dataset_l Cls

Lcd "Pesan:" ; Volset ; "ml"

Lowerline

Lcd "Data:" ; Dataset Wait 5

Cls

Proses = 50 Dt_flow = 0 Cek_sensor = 1

'Aktifkan pompa Case 50:

Pump = 1 Proses = 55

(41)

Case 55:

' tunggu hingga perhitungan sensor selesai maka matikan pompa

If Dt_flow > Dataset Then Cek_sensor = 0

Pump = 0 Proses = 60 End If

' tampilkan ke lcd hasil perhitungan Locate 2 , 1

Lcd " "

Locate 2 , 1 Lcd Dt_flow

' pengisian selesai Case 60:

Cls

Lcd "Pesan:" ; Volset ; "lm"

Lowerline

Lcd "Selesai, tekan #"

Wait 1 Proses = 70

'tunggu hingga pencet # Case 70:

If Cek_tombol() = 14 Then Proses = 75

Cls

(42)

Lcd "Input debit air:"

Wait 1 Dt_flow = 0 End If

' kembali ke awal Case 75:

If Cek_tombol() = 255 Then Proses = 0

' TESTING Case 100:

Cek = Cek_tombol() If Cek <> 255 Then If Tekan = "1" Then Pump = 1

Elseif Tekan = "2" Then Pump = 0

Elseif Tekan = "3" Then Dt_flow = 0

Elseif Tekan = "4" Then Cek_sensor = 0 Elseif Tekan = "5" Then Cek_sensor = 1 End If

Proses = 120 End If

Case 120:

(43)

Proses = 100 Waitms 200

End Select

Waitms 10 Loop

' sub program pengolahan penekanan keypad Function Cek_tombol() As Byte

Local X As Byte

Cek_tombol = Getkbd() Tekan = ""

If Cek_tombol <= 15 Then

Cek_tombol = Lookup(cek_tombol , Dtkeypad) Select Case Cek_tombol

Case 1 : Tekan = "1"

Case 2 : Tekan = "2"

Case 3 : Tekan = "3"

Case 4 : Tekan = "4"

Case 5 : Tekan = "5"

Case 6 : Tekan = "6"

Case 7 : Tekan = "7"

Case 8 : Tekan = "8"

Case 9 : Tekan = "9"

Case 10 : Tekan = "A"

Case 11 : Tekan = "B"

Case 12 : Tekan = "C"

(44)

Case 13 : Tekan = "D"

Case 14 : Tekan = "*"

Case 15 : Tekan = "#"

Case 0 : Tekan = "0"

End Select Else

Cek_tombol = 255 End If

End Function

End

Int0_int: ' interups 0 aktif

If Cek_sensor = 1 Then Dt_flow = Dt_flow + 1 ' reset nilai i

Return

Int_timer1: ' jika timer 1 aktif

Timer1 = &HB71A Return

' Data keypad Dtkeypad:

Data 13 , 15 , 0 , 14 , 12 , 9 , 8 , 7 , 11 , 6 , 5 , 4 , 10 , 3 , 2 , 1

(45)

BAB 4

HASIL DAN PEMBAHASAN 4.1 Hasil

Pengujian dilakukan untuk mengambil data volume keluaran air dari alat yang kemudian diukur dengan alat ukur standar, ini dilakukan untuk melihat tingkat akurasi alat.

Berikut tabel hasil pengujian yang dilakukan:

No Input (ml) Output (ml) Kesalahan (ml)

1 1000 995 -5

2 900 890 -10

3 800 795 -5

4.1 Tabel hasil pengujian 4.2 Pembahasan

1. 𝑜𝑢𝑡𝑝𝑢𝑡−𝑖𝑛𝑝𝑢𝑡

𝑖𝑛𝑝𝑢𝑡 𝑥 100% = 995−1000

1000 𝑥 100% = 5%

2. 𝑜𝑢𝑡𝑝𝑢𝑡−𝑖𝑛𝑝𝑢𝑡

𝑖𝑛𝑝𝑢𝑡 𝑥 100% = 890−900

900 𝑥 100% = 10%

3. 𝑜𝑢𝑡𝑝𝑢𝑡−𝑖𝑛𝑝𝑢𝑡

𝑖𝑛𝑝𝑢𝑡 𝑥 100% = 795−800

800 𝑥 100% = 5 %

% Ralat = 5%+10%+5%

3 = 6.66%

Dari data diatas bisa disimpulkan bahwa alat tersebut memiliki tingkat akurasi yang cukup baik.

(46)

BAB 5

KESIMPULAN DAN SARAN 5.1 Kesimpulan

Dari hasil perancangan dan pengujian pada alat pengukur debit air berbasis mikrokontroller dapat diambil kesimpulan

1. Sistem pengukur debit air yang dirancang telah bekerja dengan baik 2. Alat ini memiliki tingkat kesalahan mencapai 10%

3. Kesalahan pengukuran dapat diakibatkan oleh pengaruh hembusan angin pada rotor yang mempengaruhi sensitivitas putaran baling baling

4. penggunaanMikrokontroller ATMega8535 dapat mengontrol volume air yang diukur oleh water flow sensor.

5.2 Saran

1. Agar debit air lebih maksimum maka diperlukan untuk mengubah sistem deteksi pada water flow sensor

2. Untuk dimasa yang akan datang, agar dapat mengaplikasikan alat ini dengan perkembangan instrumentasi di pabrik atau pun di kehidupan sehari-hari yang lebih maju.

(47)

LAMPIRAN

(48)

Features

2. High-performance, Low-power AVR® 8-bit Microcontroller 3. Advanced RISC Architecture

– 131 Powerful Instructions – Most Single-clock Cycle Execution

– 32 x 8 General Purpose Working Registers

– Fully Static Operation

– Up to 16 MIPS Throughput at 16 MHz

– On-chip 2-cycle Multiplier

4. Nonvolatile Program and Data Memories

– 16K Bytes of In-System Self-Programmable Flash

Endurance: 10,000 Write/Erase Cycles

– Optional Boot Code Section with Independent Lock Bits In- System Programming by On-chip Boot Program True Read-While-Write Operation

– 512 Bytes EEPROM

Endurance: 100,000 Write/Erase Cycles

– 1K Byte Internal SRAM

– Programming Lock for Software Security

4. JTAG (IEEE std. 1149.1 Compliant) Interface

– Boundary-scan Capabilities According to the JTAG Standard

– Extensive On-chip Debug Support

– Programming of Flash, EEPROM, Fuses, and Lock Bits through the JTAG Interface

5. Peripheral Features

– Two 8-bit Timer/Counters with Separate Prescalers and Compare Modes

– One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture Mode

(49)

– Real Time Counter with Separate Oscillator

– Four PWM Channels

– 8-channel, 10-bit ADC

8 Single-ended Channels

7 Differential Channels in TQFP Package Only

2 Differential Channels with Programmable Gain at 1x, 10x, or 200x

– Byte-oriented Two-wire Serial Interface

– Programmable Serial USART

– Master/Slave SPI Serial Interface

– Programmable Watchdog Timer with Separate On-chip Oscillator

– On-chip Analog Comparator

Special Microcontroller Features

– Power-on Reset and Programmable Brown-out Detection

– Internal Calibrated RC Oscillator

– External and Internal Interrupt Sources

– Six Sleep Modes: Idle, ADC Noise Reduction, Power-save, Power-down, Standby and Extended Standby

I/O and Packages

– 32 Programmable I/O Lines

– 40-pin PDIP, 44-lead TQFP, and 44-pad MLF

Operating Voltages

– 2.7 - 5.5V for ATmega16L

– 4.5 - 5.5V for ATmega16

(50)

Speed Grades

– 0 - 8 MHz for ATmega16L

– 0 - 16 MHz for ATmega16

The AVR core combines a rich instruction set with 32 general purpose working registers.

All the 32 registers are directly connected to the Arithmetic Logic Unit (ALU), allowing

two independent registers to be accessed in one single instruction executed in one clock

cycle. The resulting architecture is more code efficient while achieving throughputs up to

ten times faster than conventional CISC microcontrollers.

The ATmega16 provides the following features: 16K bytes of In-System Programmable

Flash Program memory with Read-While-Write capabilities, 512 bytes EEPROM, 1K

byte SRAM, 32 general purpose I/O lines, 32 general purpose working registers, a

JTAG interface for Boundary-scan, On-chip Debugging support and programming, three

flexible Timer/Counters with compare modes, Internal and External Interrupts, a serial

programmable USART, a byte oriented Two-wire Serial Interface, an 8-channel, 10-bit

ADC with optional differential input stage with programmable gain (TQFP package only),

a programmable Watchdog Timer with Internal Oscillator, an SPI serial port, and six

software selectable power saving modes. The Idle mode stops the CPU while allowing

the USART, Two-wire interface, A/D Converter, SRAM, Timer/Counters, SPI port, and

interrupt system to continue functioning. The Power-down mode saves the register con-

tents but freezes the Oscillator, disabling all other chip functions until the next External

Interrupt or Hardware Reset. In Power-save mode, the Asynchronous Timer

(51)

continues

to run, allowing the user to maintain a timer base while the rest of the device is sleeping.

The ADC Noise Reduction mode stops the CPU and all I/O modules except Asynchro-

nous Timer and ADC, to minimize switching noise during ADC conversions. In Standby

mode, the crystal/resonator Oscillator is running while the rest of the device is sleeping.

This allows very fast start-up combined with low-power consumption. In Extended

Standby mode, both the main Oscillator and the Asynchronous Timer continue to run.

The device is manufactured using Atmel’s high density nonvolatile memory technology.

The On-chip ISP Flash allows the program memory to be reprogrammed in- system

through an SPI serial interface, by a conventional nonvolatile memory programmer, or

by an On-chip Boot program running on the AVR core. The boot program can use any

interface to download the application program in the Application Flash memory.

Soft-

ware in the Boot Flash section will continue to run while the Application Flash section is

updated, providing true Read-While-Write operation. By combining an 8-bit RISC CPU

with In-System Self-Programmable Flash on a monolithic chip, the Atmel ATmega16 is

a powerful microcontroller that provides a highly-flexible and cost-effective solution to

many embedded control applications.

The ATmega16 AVR is supported with a full suite of program and system development

tools including: C compilers, macro assemblers, program debugger/simulators, in-circuit

emulators, and evaluation kits.

(52)

Digital supply voltage.

Ground.

Port A serves as the analog inputs to the A/D Converter.

Port A also serves as an 8-bit bi-directional I/O port, if the A/D Converter is not used.

Port pins can provide internal pull-up resistors (selected for each bit). The Port A output

buffers have symmetrical drive characteristics with both high sink and source capability.

When pins PA0 to PA7 are used as inputs and are externally pulled low, they will source

current if the internal pull-up resistors are activated. The Port A pins are tri- stated when

a reset condition becomes active, even if the clock is not running.

(53)

3. Block Diagram of the AVR MCU Architecture

Data Bus 8-bit

Flash

Program Status

Counter and Control

Program

Memory

32 x 8

Interrupt

Instruction

Unit

General

Register Purpose

SPI Registrers

Unit

Instruction Watchdog

Decoder

DirectAddre ssing IndirectAddressing

Timer

ALU

Analog

Control Lines Comparator

I/O Module1

Data

I/O Module 2

SRAM

I/O Module n

EEPROM

I/O Lines

In order to maximize performance and parallelism, the AVR uses a Harvard architecture

– with separate memories and buses for program and data. Instructions in the program memory are executed with a single level pipelining. While one instruction is being exe-cuted, the next instruction is pre-fetched from the program memory. This concept enables instructions to be executed in every clock cycle. The program memory is In-System Reprogrammable Flash memory.

(54)

The fast-access Register file contains 32 x 8-bit general purpose working registers with a single clock cycle access time. This allows single-cycle Arithmetic Logic Unit (ALU) operation. In a typical ALU operation, two operands are output from the Register file, the operation is executed, and the result is stored back in the Register file – in one clock cycle.

Six of the 32 registers can be used as three 16-bit indirect address register pointers for Data Space addressing – enabling efficient address calculations. One of the these address pointers can also be used as an address pointer for look up tables in Flash Pro-gram memory. These added function registers are the 16-bit X-, Y-, and Z-register, described later in this section.

The ALU supports arithmetic and logic operations between registers or between a con-stant and a register. Single register operations can also be executed in the ALU.

This section describes the general access timing concepts for instruction execution. The AVR CPU is driven by the CPU clock clkCPU, directly generated from the selected clock source for the chip. No internal clock division is used.

Figure 6 shows the parallel instruction fetches and instruction executions enabled by the Harvard architecture and the fast-access Register file concept. This is the basic pipelin-ing concept to obtain up to 1 MIPS per MHz with the corresponding unique results for functions per cost, functions per clocks, and functions per power-unit.

Figure 6.The Parallel Instruction Fetches and Instruction Executions

T1 T2 T3 T4

clkCPU

1st Instruction Fetch

1st Instruction Execute 2nd Instruction Fetch 2nd Instruction Execute 3rd Instruction Fetch 3rd Instruction Execute 4th Instruction Fetch

(55)

Figure 7 shows the internal timing concept for the Register file. In a single clock cycle an ALU operation using two register operands is executed, and the result is stored back to the destination register.

Figure 7.Single Cycle ALU Operation

T1 T2 T3 T4

clkCPU Total Execution Time

Register Operands Fetch

ALU Operation Execute

Result Write Back

The AVR provides several different interrupt sources. These interrupts and the separate reset vector each have a separate program vector in the program memory space. All interrupts are assigned individual enable bits which must be written logic one together with the Global Interrupt Enable bit in the Status Register in order to enable the interrupt. Depending on the program counter value, interrupts may be automatically disabled when Boot Lock bits BLB02 or BLB12 are programmed. This feature improves software security. See the section

“Memory Programming” on page 254 for details.

The lowest addresses in the program memory space are by default defined as the Reset and Interrupt Vectors. The complete list of vectors is shown in “Interrupts” on page 42. The list also determines the priority levels of the different interrupts. The lower the address the higher is the priority level. RESET has the highest priority, and next is INT0

Bit 1 – EEWE: EEPROM Write Enable

(56)

The EEPROM Write Enable Signal EEWE is the write strobe to the EEPROM. When address and data are correctly set up, the EEWE bit must be written to one to write the value into the EEPROM. The EEMWE bit must be written to one before a logical one is written to EEWE, otherwise no EEPROM write takes place. The following procedure should be followed when writing the EEPROM (the order of steps 3 and 4 is not essential):

1. Wait until EEWE becomes zero.

2. Wait until SPMEN in SPMCR becomes zero.

3. Write new EEPROM address to EEAR (optional).

4. Write new EEPROM data to EEDR (optional).

5. Write a logical one to the EEMWE bit while writing a zero to EEWE in EECR.

6. Within four clock cycles after setting EEMWE, write a logical one to EEWE.

The EEPROM can not be programmed during a CPU write to the Flash memory. The software must check that the Flash programming is completed before initiating a new EEPROM write.

Step 2 is only relevant if the software contains a Boot Loader allowing the CPU to program the Flash. If the Flash is never being updated by the CPU, step 2 can be omitted. See “Boot Loader Support – Read-While-Write Self-Programming”

on page 241 for details about boot programming.

Caution: An interrupt between step 5 and step 6 will make the write cycle fail, since the EEPROM Master Write Enable will time-out. If an interrupt routine accessing the EEPROM is interrupting another EEPROM Access, the EEAR or EEDR reGister will be modified, causing the interrupted EEPROM Access to fail. It is recommended to have the global interrupt flag cleared during all the steps to avoid these problems.

(57)

When the write access time has elapsed, the EEWE bit is cleared by hardware. The user software can poll this bit and wait for a zero before writing the next byte. When EEWE has been set, the CPU is halted for two cycles before the next instruction is executed.

Bit 0 – EERE: EEPROM Read Enable

The EEPROM Read Enable Signal – EERE – is the read strobe to the EEPROM. When the correct address is set up in the EEAR register, the EERE bit must be written to a logic one to trigger the EEPROM read. The EEPROM read access takes one instruction, and the requested data is available immediately. When the EEPROM is read, the CPU is halted for four cycles before the next instruction is executed.

The user should poll the EEWE bit before starting the read operation. If a write operation is in progress, it is neither possible to read the EEPROM, nor to change the EEAR register.

The calibrated Oscillator is used to time the EEPROM accesses. Table 1 lists the typical programming time for EEPROM access from the CPU.

3 X 4 Keypad Module

3 x 4 Keypad Module merupakan suatu modul keypadberukuran 3 kolom x 4 baris. Modul ini dapat difungsikan sebagai input dalam aplikasi seperti pengaman digital, datalogger, absensi, pengendali kecepatan motor, robotik, dan sebagainya.

Spesifikasi Hardware

1. Memiliki 12 tombol (fungsi tombol tergantung aplikasi).

(58)

2. Memiliki konfigurasi 4 baris (input scanning) dan 3 kolom (output scanning).

3. Kompatibel penuh dengan DT-51™ Low Cost Series dan DT-AVR Low Cost Series.

Mendukung DT-51™ Minimum System (MinSys) ver 3.0, DT-51™ PetraFuz, DT-BASIC Series, dan lain-lain.

Tata Letak

(59)

Alokasi Pin J3

R4 R3

R2 R1

NC C3

C2 C1

VCC NC

1 2

NC = tidak terhubung ke mana-mana

Cx = kolom ke-x Rx = baris ke-x

Contoh Koneksi

Pada dasarnya pin Cx dan Rx pada J3 bebas dihubungkan ke pin input/output manapun pada mikrokontroler. Koneksi berikut ini hanya contoh dan tidak mutlak.

DT-51™ Low Cost Series DT-I/O 3x4 dan DT-AVR Low Cost Series Keypad Module

VCC (Pin 2 PORT1) atau

+5VDC VCC (J3)

P1.0 (Pin 3 PORT1) C1 (J3)

Gambar

Gambar 2.1 water flow sensor Yf-S201  Fitur:
Gambar 2.2 ATMega 16
Gambar 2.3 Port Input/Output Digital  2.2.3 Peta Memori
Tabel Konfigurasi Bit COM01 dan COM00 Compare Output Mode Phase Correct  PWM
+7

Referensi

Dokumen terkait

GOVERNANCE DAN PENGUNGKAPAN TANGGUNG JAWAB SOSIAL TERHADAP PROFITABILITAS PADA PERUSAHAAN YANG TERDAFTAR DI BURSA EFEK INDONESIA PERIODE 2008- 2012” adalah benar hasil karya

akan ditunjuk untuk melaksanakan pekerjaan Jasa Penyelenggaraan Assessment Center Bagi. Para Pejabat Eselon II dan III di

Jakarta, 9 Agustus 2012 tanggal 9 Agustus 2012, dengan ini kami umumkan Pemenang dan Calon Pemenang Cadangan 1 Jasa Lainnya untuk kegiatan tersebut di atas, sebagai berikut:.

Ruang Rapat Panitia Pengadaan Barang dan Jasa Ditjen Pengelolaan Utang di Gedung Frans Seda Lantai I Jl Dr Wahidin Raya No.1 Jakarta Pusat, telah dilaksanakan

Jumlah Penyedia yang telah mendaftar untuk mengikuti Pelelangan Umum Dengan. Pascakualifikasi Pekerjaan Pengadaan Belanja Modal Peralatan dan Mesin pada

karena itu, objek yang diatur dalam HKI adalah karya yang timbul atau.. lahir dari kemampuan

Sebagai sebuah orientasi seksual, heteroseksualitas merujuk pada ‚suatu pola atau watak tetap untuk mengalami ketertarikan seksual, kasih saying, fisik atau romantic

Sebuah penelitian terhadap kasus-kasus ensefalopati bilirubin klasik di Amerika Serikat dan beberapa negara lainnya, serta laporan-laporan terbaru tentang neuropati auditorik