Anda di halaman 1dari 174

LAPORAN PROYEK AKHIR

SISTEM PENCACAH KEHADIRAN UNTUK PENGATUR SUHU RUANGAN OTOMATIS BERBASIS MIKROKONTROLER ATMEGA16

Disusun Oleh : FREDY INDRA OKTAVIANSYAH NIM : 08 / 272256 / NT / 13138

PROGRAM DIPLOMA TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS GADJAH MADA YOGYAKARTA 2011

LEMBAR PENGESAHAN

Judul

Nama Nim Konsentrasi Pembimbing Waktu Pendadaran

:SISTEM PENCACAH KEHADIRAN UNTUK PENGATUR SUHU RUANGAN OTOMATIS BERBASIS MIKROKONTROLER ATMEGA16 : Fredy Indra Oktaviansyah : 08/272256/NT/13138 : Teknik Telekomunikasi : Nur Sulistyawati, S.T.,M.T. : 21 Oktober 2011

Sudah disetujui oleh Program Diploma Teknik Elektro, Fakultas Teknik, Universitas Gadjah Mada, sebagai bagian dari syarat kelulusan untuk memperoleh gelar Ahli Madya (A.Md.)

Ketua Program Diploma :M. Arrofiq, S.T., M.T., Ph.D NIP.197311271999031001

..............

Pembimbing PA

:Nur Sulistyawati, S.T.,M.T. NIP.195408181987031001

..............

TIM PENGUJI Ketua :Hidayat Nur Isnianto, S.T.,M.Eng NIP. 197305282002121001 ..

Sekretaris

:Ir. Sri Lestari, M.T. NIP. 195908281986022001

..............

Penguji Utama

: Budi Bayu Murti, S.T.,M.T. NIP. 197212231999031001

..............

Penguji Kedua

: Ir. Lukman Subekti, M.T. NIP. 1962210301993031002


iii

..............

ABSTRAK

Pesatnyakemajuanteknologimengakibatkantimbulnyabermacammacamprodukyang dapatbekerjasecaraotomatissehinggadapatmembantumeringankanaktivitasmanusia . Salah satu contoh paling penting dalam kehidupan sehari-hari yaitu pendingin ruangan (kipas angin, AC, dan lain-lain). Penggunaan pendingin ruangan tersebut tentunya membuang banyak energi listrik jika penggunaannya tidak diatur secara optimal sesuai kebutuhan. Maka dengan adanya alat sistem pengatur pendingin ruangan otomatis, diharapkan dapat lebih menghemat penggunaan energi listrik.Sistem Pencacah Kehadiran dan Pengatur Suhu Ruangan Otomatis Berbasis Mikrokontroler merupakan alat yang dapat mendeteksi dan menampilkan jumlah orang dan suhu dalam ruanganserta mengatur nyala pendingin ruangan. Pendingin ruangan akan menyala ketika terdapat orang dalam ruangan dan suhu ruangan melebihi set point suhu yang telah diatur sesuai yang diinginkan. Alat ini terdiri dari mikrokontroler sebagai pengendali utama, photodiode sebagai pendeteksi orang yang masuk dan keluar ruangan, LM35 sebagai sensor suhu, 7-segmen sebagai penampil jumlah orang dan suhu dalam ruangan, push button sebagai pengatur set point suhu yang diinginkan dalam ruangan, LCD sebagai penampil pengaturan set point suhu yang diinginkan.

Kata kunci point, LCD

: mikrokontroler, photodiode, LM35, 7-segmen, push button, set

iii

ABSTRACT

The rapidadvances of technology resulted inthe emergence ofa variety ofproducts thatcanwork automaticallyso that it canhelpalleviatehuman activities. One ofthe mostimportantexamplesineveryday lifethat isair-conditioning (fan, air conditioning, etc.). The use ofair conditioningis certainlywasting a lot ofelectricalenergyifthe userdoes notset optimallyas needed. So

withthetoolautomaticair conditioningcontrol systems, is expected tomoreefficient useof electrical energy. The countersystemAttendanceandNon-Automatic

TemperatureController-Based Microcontrolleris atool that candetect anddisplay thenumber of people andthe roomtemperatureand adjust theflame ofair conditioning.Air conditionerwill turn onwhenthere arepeoplein the roomandthe room temperatureexceeds theset pointtemperaturehas been setas desired. This device consistsofa microcontrollerasthe main controller, a photodiodeas a detectorof peoplewhoenter and exitthe room, the LM35astemperature sensor, 7segment as theviewerandthe number of peoplein the roomtemperature, push buttonas a regulator ofthe desiredset pointtemperatureinthe room, the

LCDasviewersettingthe desiredtemperatureset point.

Keywords

:microcontroller, photodiode, LM35, 7-segment display, push

button,set point, LCD

iv

KATA PENGANTAR

Puji dan syukur senantiasa dipanjatkan kehadirat Allah SWT yang karena barokah, rahmat, hidayah dan segala nikmat - nikmat-Nya sehingga penulis dapat menyusun proposal tugas akhir dengan judul, SISTEM PENCACAH KEHADIRAN UNTUKPENGATUR SUHU RUANGAN OTOMATIS

BERBASIS MIKROKONTROLER ATMEGA16. Penulisan laporan tugas akhir ini adalah penjelasan dari pembuatan alat dimana pembuatan alat ini merupakan salah satu syarat yang harus diselesaikan untuk mencapai jenjang Diploma Teknik Elektro (D3) pada Perguruan Tinggi Diploma Teknik Elektro, Fakultas Teknik, Universitas Gadjah Mada. Harapan yang besar semoga laporan ini dapat bermanfaat bagi penulis khususnya dan bagi pembaca umumnya. Penulis akui bahwa dalam pembuatan laporan ini masih terdapat banyak kekurangan. Saran dan keritik dari pembaca diharapkan dapat menyempurnakan dalam penulisan dan perancangan alat yang telah dibuat. Mohon maaf, sekian dan terima kasih.

Yogyakarta, September 2011

Penulis

vi

DAFTAR ISI

HALAMAN JUDUL HALAMAN PENGESAHAN ABSTRAK ABSTRACT HALAMAN PERSETUJUAN KATA PENGANTAR DAFTAR ISI DAFTAR GAMBAR DAFTAR TABEL BAB I PENDAHULUAN 1.1 1.2 1.3 1.4 1.5 1.6 Latar Belakang Maksud dan Tujuan Manfaat Batasan Masalah Metode Pengumpulan Data Sistematika Penulisan 5 7 3 3 4 4 vii x xii

i ii iii iv v vi

1 1

BAB II DASAR TEORI 2.1 2.1.1 2.1.2 2.1.3 Mikrokontroler ATMega16 Arsitektur AVR ATMega16 Konfigurasi Kaki-kaki/Pin ATMega16 Deskripsi Mikrokontroler ATMega16

7 7 8 8

vii

2.1.4 2.1.5

Port Sebagai Input/Output Digital Organisasi Memori AVR ATMega16 12

11

2.1.5.1 Program Memori 2.1.5.2 Peta Memori ATMega16 2.1.5.3 Interupsi 2.1.5.4 Timer / Counter0 2.1.6 ADC (Analog to Digital Converter) 2.1.7 PWM (Pulse Width Modulation) 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 Sensor Suhu LM35 LED ( Light Emiting Dioda ) Infra Merah Photodiode LCD Seven Segment Catu Daya IC Regulator Transistor Sebagai Saklar 24

13 13 14 17 19 20 21 23

25 29 31 35 36 39 39 40 40 45 48 48

BAB III PERANCANGAN SISTEM 3.1 3.2 3.2.1 3.2.2 3.2.3 3.2.4 Blok Diagram Sistem Perancangan Perangkat Keras Rangkaian Catu daya Sistem Minimum Mikrokontroler ATMega16 Perancangan Tombol Perancangan Penampil LCD 16x2

viii

3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 3.3 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5

Perancangan Penampil 7-Segmen Perancangan Sensor Photodiode Perancangan Relay DC5 Volt Perancangan Sensor Suhu LM35 Perancangan Rangkaian Pendingin (Kipas) Perancangan Perangkat Lunak Inisialisasi LCD Inisialisasi ADC (Analog to Digital Converter) Inisialisasi PWM Inisialisasi Masukan dan Keluaran (I/O) Program Keseluruhan 62 62 62

49 51 52 53 54 55 56 57 57 58 59

BAB IV PENGUJIAN SISTEM DAN PEMBAHASAN 4.1 4.1.1 4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 4.1.7 4.2 Pengujian Fungsional Pengujian Rangkaian Catu Daya Pengujian Unit Mikrokontroler Pengujian Tombol Pengujian 7-Segmen Pengujian Sensor Suhu LM35 Pengujian Sensor Photodiode Pengujian Kipas Pengujian Keseluruhan Alat 71

63 65 66 69

74 77 86 86

BAB V PENUTUP 5.1 Kesimpulan

ix

5.2

Saran

86 88 90

DAFTAR PUSTAKA LAMPIRAN

DAFTAR GAMBAR

Gambar 2.1Konfigurasi Pin Mikrokontroler ATMega16 Gambar 2.2Pemetaan Data Memori Gambar 2.3General Interrupt Control Register GICR Gambar 2.4Register TCCR0 Gambar 2.5 Contoh Sinyal PWM Gambar 2.6Bentuk LM35 Tampak Bawah Gambar 2.7 Bentuk Fisik LM 35 Gambar 2.8 Bentuk Fisik LED Infrared Gambar 2.9 Bentuk Fisik Photodiode Gambar 2.10 Bentuk Fisik LCD 16x2 Gambar 2.11 Konfigurasi Pin dari LCD Gambar 2.12 (a) Tampilan 7-segment (b) Diagram Skematik 7-segment Gambar 2.13 Bentuk Fisik 7-segmen 2 Digit Gambar 2.14Diagram Proses Catu Daya Gambar 2.15Penyearah Setengah Gelombang Gambar 2.16Rangkaian Penyearah Gelombang Penuh Trafo CT Gambar 2.17 Rangkaian Penyearah Gelombang Penuh Trafo Non CT 14 17 18 20 22 23 24 25 26 27 30 30 31 31 32 32 33

Gambar 2.18 Rangkaian Penyearah Setengah Gelombang dengan Filter C.. 34 Gambar 2.19Bentuk gelombang dengan filter kapasitor Gambar 2.20Rangkaian Penyearah Gelombang Penuh dengan Filter C 34 35

Gambar 2.21Bentuk Fisik dari Regulator 78xx Gambar 2.22Kurva Karakteristik Transistor Gambar 3.1Blok Diagram Sistem Gambar 3.2 Skematik Catu Daya DC 5Volt Gambar 3.3 Skematik Catu Daya 12 Volt Gambar 3.4 Skematik Sistem Minimum ATmega16 Gambar 3.5 Skematik Tombol Pengatur Set Suhu Gambar 3.6 Skematik Rangkaian LCD 16x2 Gambar 3.7 Skematik Untai 7-segmen 4 digit (2x2) Gambar 3.8 Skematik Sensor Photodiode dan Infrared Gambar 3.9 Rangkaian Pencatu dan Saklar Otomatis untuk Relay Gambar 3.10 Skematik Sensor LM35 Gambar 3.11 Skematik Rangkaian Saklar Otomatis untuk Kipas Gambar 3.12 BASCOM AVR Compiler Gambar 3.13 Flow Chart Gambar 4.1Blok Pengujian Sistem Minimum ATMega16 Gambar 4.2Hasil Pengujian Mikrokontroler dan Penampil LCD Gambar 4.3 Flow Chart Kalibrasi Sensor Gambar 4.3 Pengujian Sensor Suhu Gambar 4.4Prototype Sistem Pencacah Kehadiran dan Pengatur Suhu Ruangan Otomatis Berbasis Mikrokontroller Gambar 4.5 Tampilan Awal 7-Segmen

36 37 39 41 42 46 48 49 51 52 53 54 55 56 61 64 64 70 71

79 84

xi

Gambar 4.6 Tampilan Awal LCD

84

xii

DAFTAR TABEL

Tabel 2.1Konfigurasi Pin Port Tabel 2.2Daftar Alamat Vektor Interupsi Tabel 2.3Konfigurasi bit ISC01 dan ISC00 Tabel 2.4Konfigurasi bit ISC11 dan ISC10 Tabel 2.5Konfigurasi Bit Clock Select untuk Memilih Sumber Detak Tabel 2.6 Konfigurasi Pin LCD Tabel 2.7Karakteristik Elektrik Regulator LM78XX Tabel 3.1Koneksi antara modul LCD dengan mikrokontroller Tabel 4.1 Tabel Pengkuran Keluaran Regulator 7805 dan 7812 Tabel 4.2 Hasil Pengujian Tombol pada LCD Tabel 4.3 Hasil Pengujian 7-Segmen Tabel 4.4 Pengujian Suhu oleh Sensor LM35 Tabel 4.4 Pengujian Sensor Photodiode Tabel 4.5 Hasil Pengujian PWM pada Putaran Kipas Tabel 4.6 Hasil Pengujian Sistem Keseluruhan 66 68 36 16

12 15

16 19 28

49 63

71 74 77 85

xiii

BAB I PENDAHULUAN

1.1

Latar Belakang Dalam kehidupan sehari - hari kita menjalankan segala aktifitas yang padat,

baik aktifitas yang berat maupun yang ringan. Sudahtentu kita akan memerlukan energi untuk melakukan segala aktivitas tersebut, baik energi yang kita butuhkan ataupun energi yang akan kita keluarkan bila kita melakukan aktivitas yang berlebihan ataupun tidak. Selain tenaga/energi yang kita butuhkan masih banyak lagi energi yang lain yang diperlukan untuk menjalankan/menghidupkan segala peralatan elektronik. Akan tetapi, energi-energi tersebut berbeda dengan energi yang dibutuhkan oleh manusia. Antara energi yang dibutuhkan oleh manusia dan energi yang dibutuhkan oleh peralatan elektronik, berbeda bentuknya. Energi yang diperlukan untuk manusia dapat diperoleh dengan mengkonsusmsi makanan dan minuman yang bergizi. Sedangkan energi yang diperlukan untuk peralatan elektronik merupakan energi listrik yang berasal dari sumber-sumber energi yang dapat menghasilkan listrik. Untuk itu kita sebagai manusia yang menggunakan energi terutama energi listrik tersebut, harus dapat memanfaatkan dan menggunakannya sesuai dengan kebutuhan. Sedangkan untuk kehidupan sehari-hari, kita sebagai mahasiswa, dosen, petugas kampus danlain sebagainya sebagai bagian dari aktivitas di lingkungan kampus, kita juga harus dapat mengatur energi untuk peralatanperalatan yang ada di lingkungan kampus kita terutama ruangan kuliah.

Sedangkan di dalam ruangan kuliah juga terdapat banyak peralatan-peralatan elektronik yang dipergunakan untuk melakukan kegiatan perkuliahan. Untuk itu kita harus menggunakannya dengan sebaik-baiknya sesuai dengan kebutuhan kita. Hematlah penggunaan energi dan tidak membuang energi dengan sia-sia. Peralatan-peralatan yang ada di sekitar kita dapat dijalankan atau dihidupkan secara otomatis, sehingga tidak akan terjadi lagi pemborosan energi. Oleh karena itu, saya sebagai penulis akan menjelaskan atau menerangkan dan merancang sebuah alat yang dapatdiaplikasikan dalam kehidupan sehari-hari baik untuk kegiatan perkuliahan ataupun aplikasi lainnya agar tidak ada lagi pemborosan energi listrik. Selain itu penulis merancang alat tersebut sebagai Tugas Akhir penulis dalam menyelesaikan program studi Diploma Teknik Elektro, dengan judul SISTEM PENCACAH KEHADIRAN UNTUKPENGATUR SUHU

RUANGAN OTOMATIS BERBASIS MIKROKONTROLER ATMEGA16. Dalam perancangan alat ini penulis menggunakan suatu sensor sebagai input untuk pengendali ruangan, yang kemudian akan menggerakkan peralatan pendingin ruangan, dalam hal ini menggunakan kipas angin, secara otomatis. Ketika seseorang memasuki ruangan tersebut dan melewati sensor photodiode yang terpasang di pintu masuk,sensor tersebut menginformasikan data orang masuk ke mikrokontroler lalu diproses dan ditampilkan ke 7-segment dan LCD. Suhu dalam ruangan dideteksi oleh sensor suhu LM35 setelah terdapat orang masuk. Ketika suhunya kurang dari set suhu yang ditentukan, maka pendingin ruangan tidak menyala. Namun ketika suhu ruangan lebih dari set suhu yang

ditentukan, maka pendingin ruangan akan menyala sampai pada suhu yang telah ditentukan oleh mikrokontroler, sehingga berguna untuk mengurangi penggunaan energi listrik yang dibutuhkan apabila peralatan tidak sedang digunakan atau pada saat suhu ruangan di bawah set suhuserta tidak terjadi pemborosan energi yang sangat merugikan. Selain dari semua hal hal yang telah disebutkan diatas, kegunaan alat ini juga dapat memudahkan atau meringankan pekerjaan manusia yang pada masa sekarangini mengharapkan semua pekerjaan dapat diselesaikan dengan praktis dan cepat dengan alasan untuk menunjang efisiensi waktu dan efisiensi kerja. 1.2 Maksud dan Tujuan Adapun maksud dan tujuan dari pembuatan alat ini yaitu : 1. Membuat suatu perangkat sistem pengatur suhu ruangan otomatis dengan mencacah orang yang masuk dan keluar suatu ruangan. 2. Merealisasikan sistem pengatur suhu ruangan otomatis menggunakan sensor pendeteksi suhu, sensor pencacah orang yang masuk dan keluar ruangan, rangkaian penampil informasi suhu dan jumlah orang dalam ruangan, serta rangkaian pendingin sebagai penurun suhu ruangan. 3. Menjelaskan tentangsistem kontrol digital berbasis mikrokontroler ATMega16. 4. Melakukan analisa dari hasil pengujian. 1.3 Manfaat Manfaat dari pembuatan alat ini yaitu :

1. Meningkatkan teknologi pendingin ruangan (kipas angin, AC, dan lainlain) dari sistem manual menjadi sistem otomatis dengan mendeteksi orang yang masuk dan keluar ruangan. 2. Alat serta sistem yang telah dibuat dapat diaplikasikan dalam kehidupan sehari-hari baik digunakan untuk pengaturan suhu ruang kuliah, ruang kerja, dan lain sebagainya. 1.4 Batasan Masalah Mengenai ruang lingkup masalah yang akan disajikan dibatasi antara lain sebagai berikut: 1. Tinjauan umum tentang komponen penyusun sistem pengendali suhu ruangan berbasis mikrokontroller. 2. Terdapat 2 sensor photodiode yang dipasang di satu pintu untuk mendeteksi orang masuk dan keluar. 3. Terdapat 4 digit 7-segmen, 2 digit untuk informasi jumlah orang dan 2 digit untuk informasi suhu dalam ruangan. 4. Penggunaan blower DC 12 volt, 0.15 A, untuk prototype pendingin ruangan yang diaktifkan oleh sinyal PWM 8 bit mikrokontroler. 5. Menggunakan bahasa pemrograman BASCOM AVR. 1.5 Metode Pengumpulan Data Pengumpulan data disusun secara bertahap untuk lebih memudahkan dalam pembuatan alat maupun penyusunan laporannya. Tahap-tahapnya dapat dijabarkan seperti di bawah ini :

1. Metode pustaka, yaitu dengan cara mempelajari buku-buku literatur maupun melalui website yang berhubungan dengan masalah yang dihadapi dalam pembuatan alat, baik karakteristik komponen, teknik penggunananya, dan teknik merangkai komponen, serta teknik-teknik dasar yang digunakan dengan maksud untuk memperoleh data yang tepat. 2. Metode perancangan, yaitu dengan cara mencoba-coba alat yang akan dibuat. 3. Metode pengujian, yaitu dilakukan untuk menguji alat yang dibuat,apakah sudah sesuai dengan sistem yang diharapkan atau belum. 1.6 Sistematika Penulisan Pada penulisan makalah ini, penulis membuat sistematika penulisan agar memudahkan dalam membaca dan memahami isi dari makalah ini secara garis besarnya. Secara global sistematika penulisan ini dibagi menjadi lima bagian : BAB I : PENDAHULUAN Pada bab ini berisi tentang latar belakang judul mengenai permasalahan, tujuan dan batasan masalah, yang akan dibahas dalam laporan proyek akhir. BAB II : DASAR TEORI

Pada bab ini menjelaskan tentang teori-teori yang yang mendukung dalam perencanaan dan pembuatan alat. BAB III : PERANCANGAN SISTEM

Bab ini membahas tentang hal-hal yang dilakukan penulis dalam perancangan dan pembuatan alat tersebut serta menjelaskan penggunaan komponen, cara kerja rangkaian serta sistem-sistem lain yang mendukung. BAB IV : PENGUJIAN DAN PEMBAHASAN

Bab ini membahas data-data pengamatan pengujian pada komponen tertentu dari keseluruhan rangkaian, serta membahas data hasil pengujian, serta membandingkan dengan teori. BAB V : PENUTUP

Pada bab ini berisi kesimpulan yang didapat dari pembahasan pada babbab sebelumnya, dan saran-saran yang dianggap perlu diperhatikan sehubungan dengan perancangan alat dan pengembangan untuk selanjutnya.

BAB II DASAR TEORI

2.1

Mikrokontroler ATMega16 Atmel sebagai salah satu vendor yang mengembangkan dan memasarkan

produk mikro-elektronika telah menjadi suatu teknologi standar bagi para desainer sistem elektronika masa sekarang. Dengan perkembangan terakhir yaitu generasi AVR (Alf and Vegards RISC processor), maka para desainer sistem elektronika telah diberikan suatu teknologi yang memiliki kapabilitas yang amat maju namun dengan biaya ekonomis yang cukup minimal. Dalam implementasi ini, maka dipergunakan salah satu AVR produk Atmel yaitu ATMega16 sebagai jantung pengolahan data digitalnya. 2.1.1 Arsitektur AVR ATMega16 Berdasarkan arsitektur ATMega16 bahwa ATMega16 memiliki bagianbagian sebagai berikut: 1. Saluran I/O sebanyak 32, yaitu pada Port A, Port B, Port C, dan Port D. 2. ADC internal dengan fidelitas 10 bit sebanyak 8 channel. 3. Tiga unit Timer/Counter dengan kemampuan pembandingan. 4. CPU yang terdiri atas 32 unit register. 5. WatchdogTimer dengan osilator internal. 6. SRAM sebesar 1k byte. 7. Memori Flash sebesar 16 kB dengan kemampuan Read While Write. 8. EEPROM sebesar 512 byte yang dapat diprogram saat operasi.

9. Unit interupsi internal dan eksternal. 10. Antarmuka komparator analog. 11. Port antarmuka SPI dan Port USART untuk komunikasi serial. 2.1.2 Konfigurasi Kaki-kaki/Pin ATMega16 Konfigurasi kaki-kaki/pin pada mikrokontroler ATMega16 dengan kemasan 40-pin DIP (dual in-line package) dapat dilihat pada Gambar 2.1 sebagai berikut :

Gambar 2.1Konfigurasi Pin Mikrokontroler ATMega16 2.1.3 Deskripsi Mikrokontroler ATMega16 Adapun deskripsi dari sebuah mikrokontroler ATMega16 adalah sebagai berikut : a. VCC (digital supply voltage) b. GND (ground) c. Port A (PA7 .,, PA0)

Port A berfungsi sebagai input analog pada A/D converter. Port A juga berfungsi sebagai suatu Port I/O 8-bit dua arah, jika A/D konverter tidak digunakan. Pin-pin Port dapat menyediakan resistor internal pull-up (yang dipilih untuk masing-masing bit). Port A output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber. Ketika pin PA0 ke PA7 digunakan sebagai input dan secara eksternal ditarik rendah, pin-pin akan memungkinkan arus sumber jika resistor internal pull-up diaktifkan. Pin Port A adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis. d. Port B (PB7 PB0) Port B adalah suatu Port I/O 8-bit dua arah dengan resistor internal pullup (yang dipilih untuk beberapa bit). Port B output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber. Sebagai input, pin Port B yang secara eksternal ditarik rendah akan sumber jika resistor pull-up diaktifkan. Pin Port B adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis. e. Port C (PC7 PC0) Port C adalah suatu Port I/O 8-bit dua arah dengan resistor internal pullup (yang dipilih untuk beberapa bit). Port C output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber. Sebagai input, pin Port C yang secara

10

eksternalditarik rendah akan arus sumber jika resistor pull-up diaktifkan. Pin Port C adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis. f. Port D (PD7 PD0) Port D adalah suatu port I/O dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit). Port D output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber. Sebagai input, pin Port D yang secara eksternal ditarik rendah akan arus sumber jika resistor pull-up diaktifkan. Pin port D adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis. g. AREF Masukan tegangan referensi tegangan analog untuk ADC (Analog to Digital Converter). h. AVCC Pin masukan tegangan sumber untuk ADC (Analog to Digital Converter) yang ada di Port A. Pin ini harus dihubungkan dengan VCC saat ADC digunakan ataupun tidak digunakan. i. RESET (Reset input) j. XTAL1 (Input Oscillator) Masukan ke penguat osilator atau masukan ke rangkaian operasi internal pulsa (clock). k. XTAL2 (Output Oscillator)

11

2.1.4

Port Sebagai Input/Output Digital ATMega16 mempunyai empat buah port yaitu PortA, PortB, PortC dan

PortD. Keempat port tersebut merupakan jalur bi-directional yang semuanya dapat deprogram sebagai input atau output 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. Apabila PORTxn diset 0 pada saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika 0. Saat mengubah kondisi port dari kondisi tri-state (DDxn = 0, PORTxn = 0) ke kondisi outputhigh (DDxn = 0, PORTxn = 1) maka harus ada kondisi peralihan apakah itu kondisi pull-up enable (DDxn = 0, PORTxn = 1) atau kondisi output low (DDxn = 1, PORTxn = 0). Biasanya, kondisi pull-up enable dapat diterima sepenuhnya, selama lingkungan impedansi tinggi tidak memperhatikan perbedaan antara sebuah strong high driver dengan sebuah pull-up. Jika ini bukan

12

suatu masalah, maka bit PUD pada register SFIOR dapat diset 1 untuk mematikan semua pull-up dalam semua port. Peralihan dari kondisi input dengan pull-up ke kondisi output low juga menimbulkan masalah yang sama. Maka harus menggunakan kondisi tri-state (DDxn = 0, PORTxn = 0) atau kondisi output high (DDxn = 1, PORTxn = 0) sebagai kondisi transisi. Tabel 2.1 di bawah ini adalah konfigurasi Pin Port pada mikrokontroler ATmega : Tabel 2.1Konfigurasi Pin Port

Sebagai contoh, jika ingin PortC dikonfigurasi sebagai output, maka Data Directional Register PortC (DDRC) harus diset sebagai 0xFFH. Jika PortC dijadikan sebagai input, maka diset sebagai 0x00H.Lebih jelasnya mengenai port ini dapat dilihat pada manual datasheet IC ATMega16. 2.1.5 Organisasi Memori AVR ATMega16 AVR arsitektur mempunyai dua ruang memori utama, Ruang Data Memori dan Ruang Program Memori. Sebagai tambahan, ATMega16 memiliki fitur suatu EEPROM Memori untuk menyimpan data. Semua tiga ruang memori adalah regular dan linier.

13

2.1.5.1 Program Memori ATMega16 berisi 16 Kbytes ON-Chip di dalam sistem Memori Flash Reprogammable untuk menyimpan program. Karena semua AVR instruksi adalah 16 atau 32 bits lebar, Flash adalah berbentuk 4K x 16. Untuk keamanan perangkat lunak, Flash ruang program memori adalah dibagi menjadi yaitu boot program section dan application program section. Flash memori mempunyai suatu daya tahan sedikitnya 10.000

write/erasecycles. ATMega16 PC (Program Counter) adalah 13 bit lebar, alamat ini 8K lokasi program memori. 2.1.5.2 Peta Memori ATMega16 Arsitektur memori mikrokontroler ATMega16 memiliki dua ruang memori utama yaitu Program Memori dan Data Memori. Selain itu ATMega 16 memiliki EEPROM untuk menyimpan data. Semua ruang memori ini teratur dan linear. Memori data terbagi menjadi 3 bagian, yaitu 32 buah register umum, 64 buah register I/O, dan 1k bytes SRAM Internal. Gambar 2.2 di bawah ini merupakan pemetaan data memori ATMega :

14

Gambar 2.2Pemetaan Data Memori ATMega 2.1.5.3 Interupsi AVR menyediakan beberapa sumber interupsi yang berbeda. Tiap-tiap interupsi dan reset memiliki vektor program yang berbeda. Semua interupsi didasari satu bit tunggal yang harus diberi logika tinggi sebagai Global Interupt Enable pada status register untuk mengaktifkan interupsi. Alamat terendah pada memori program merupakan alamat vektor reset dan interupsi. Alamat vektor akan menempati alamat 00h sampai dengan 12h. Berikut adalah tabel daftar alamat vektor interupsi :

15

Tabel 2.2Daftar Alamat Vektor Interupsi

Vector No.

Program Address

Source Interrupt

Definition Eksternal Pin, Power-on Reset Brow-out Reset and Watchdog Reset Eksternal Interrupt Request 0 Eksternal Interrupt Request 1 Timer/Counter2 Compare Match Timer/Counter2 Overflow Timer/Counter1 Capture Event Timer/Counter1 Compare Match A Timer/Counter1 Compare Match B Timer/Counter 1 Overflow Timer/Counter0 Overflow Serial Transfer Complete USART, RX Complete USART Data Registry Empty USART, Tx Complete Konversi ADC selesai EEPROM siap Analog Komparator Two-wire Interface Store Program Memory Ready

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

0x0000 0x0001 0x0002 0x0003 0x0004 0x0005 0x0006 0x0007 0x0008 0x0009 0x000A 0x000B 0x000C 0x000D 0x000E 0x000F 0x0010 0x0011 0x0012

RESET INT0 INT1 TIMER2 COMP TIMER2 OVF TIMER1 CAPT TIMER1 COMPA TIMER1 COMPB TIMER1 OVF TIMER0 OVF SPI, STC USART, RXC USART, UDRE USART, TXC ADC EE_RDY ANA_COMP TWI SPM_RDY

Pada interupsi ini, terdapat interupsi eksternal yang pada ATMega16 ini terdapat 3 pin untuk interupsi eksternal, yaitu INT0, INT1 dan INT2. Interupsi eksternal dapat dibangkitkan apabila terdapat perubahan logika atau logika 0 pada pin INT0, INT1 dan INT2. Pengaturan kondisi keadaan yang menyebabkan terjadinya interupsi eksternal diatur oleh register MCUCR (MCU Control Register).

16

a. Bit ISC01 dan ISC00 menentukan kondisi yang dapat menyebabkan interupsi eksternal pada pin INT0. Konfigurasi bit ISC01 dan ISC00 dapat dilihat pada tabel berikut : Tabel 2.3Konfigurasi bit ISC01 dan ISC00 ISC01 0 0 1 1 ISC00 0 1 0 1 Keterangan Logika 0 pada pin INT0 menyebabkan interupsi Perubahan logika pada pin INT0 menyebabkan interupsi Perubahan logika dari 1 ke 0 pada pin INT0 menyebabkan interupsi Perubahan logika dari 0 ke 1 pada pin INT0 menyebabkan interupsi

b. Bit ISC11 dan ISC10 menentukan kondisi yang dapat menyebabkan interupsi eksternal pada pin INT1. Konfigurasi bit ISC11 dan ISC10 dapat dilihat pada tabel 2.4 dibawah ini : Tabel 2.4Konfigurasi bit ISC11 dan ISC10 ISC11 ISC10 0 0 1 1 0 1 0 1 Keterangan Logika 0 pada pin INT1 menyebabkan interupsi Perubahan logika pada pin INT1 menyebabkan interupsi Perubahan logika dari 1 ke 0 pada pin INT1 menyebabkan interupsi Perubahan logika dari 0 ke 1 pada pin INT1 menyebabkan interupsi

Pemilihan pengaktifan interupsi eksternal diatur oleh register GICR (General Interrupt Control Register), seperti dapat dilihat pada Gambar 2.3 dibawah ini :

17

Bit

7 INT1

6 INT0 R/W 0

5 INT2 R/W 0

4 -

3 -

2 -

IVSEL IVCE GICR R/W 0

Read/write Initial value

R/W 0

R/W R/W R/W R/W 0 0 0 0

Gambar 2.3General Interrupt Control Register GICR Bit-bit INT0, INT1 dan INT2 pada register GICR digunakan untuk mengaktifkan masing-masing interupsi eksternal. Ketika bit-bit tersebut diset 1 (aktif) maka interupsi eksternal akan aktif jika bit 1 (interrupt) pada SREG (status register) diset 1 juga (enable interrupt), inastruksi untuk mengaktifkan global interrupt yaitu sei. Program interupsi dari masing-masing interupsi akan dimulai dari vektor interupsi pada masing-masing jenis interupsi eksternal. 2.1.5.4 Timer / Counter0 Timer/Counter 0 adalah 8-bit Timer/Counter yang multifungsi. Deskripsi untuk Timer/Counter 0 pada ATmega16 adalah sebagai berikut: a. Sebagai Counter 1 kanal.

b. Timer di-nol-kan saat match compare (auto reload). c. Dapat menghasilkan gelombang PWM dengan glitch-free. d. Frekuensi generator. e. Prescaler 10 bit untuk timer. f. Interupsi timer yang disebabkan timeroverflow dan match compare. Pengaturan Timer/Counter 0 diatur oleh TCCR0 (Timer/Counter kontrol Register 0) yang dapat dilihat pada Gambar 2.4 di bawah ini :

18

Gambar 2.4Register TCCR0 Penjelasan untuk tiap bit-bitnya: a. Bit 7 FOC0: Force Output Compare. b. Bit 6,3 WGM0:WGM00:Waveform generation Unit. Bit ini mengontrol kenaikan isi counter, sumber nilai maksimum counter dan tipe jenis Timer/Counter yang dihasilkan, yaitu mode normal, clear timer, mode compare match, dan dua tipe dari PWM (Pulse Width Modulation). c. Bit 5, 4 COM01:COM00: Compare Match Output Mode. Bit ini mengontrol pin OC0 (Output Compare pin). Apabila kedua bit ini nol atau clear maka pin OC0 berfungsi sebagai pin biasa tetapi bila salah satu bit set. Maka fungsi pin ini tergantung pada setting bit pada WGM00 dan WGM01. Berikut Tabel 2.3 sampai dengan Tabel 2.5 adalah tabel setting bit ini sesuai setting bit pada WGM00 dan WGM01. d. Bit 2, 1, 0 CS02; CS01, CS00: Clock Select. Ketiga bit ini untuk memilih sumber detak yang akan digunakan oleh Timer/Counter, Tabel 2.5di bawah ini menampilkan konfigurasi pemilihan sumber detak :

19

Tabel 2.5Konfigurasi Bit Clock Select untuk Memilih Sumber Detak

2.1.6

ADC (Analog to Digital Converter) ATMega16 memiliki resolusi ADC 10 bit (dapat juga menggunakan ADC

8 bit). ADC ini bekerja dengan teknik Successive Approximation(pendekatan berturut-turut). Rangkaian internal ADC memiliki catu daya tersendiri yaitu pin AVCC. Pada sistem, ADC yang digunakan adalah ADC 10 bit dengan AREF sebesar 5 volt. Data hasil konversi ADC 10 bit (desimalnya 210=1024) adalah : ADC = Vin Vref 1024 ADC = 5 volt 5 volt 1024 ADC = 1024 Jadi, setelah dikonversi, tegangan input 5 V berubah menjadi data digital 10 bit yaitu sebesar 1024. Data inilah yang akan dikalkulasi/diolah sacara program dalam mikrokontroler.

20

2.1.7

PWM (Pulse Width Modulation) PWM secara umum adalah sebuah cara memanipulasi lebar sinyal atau

tegangan yang dinyatakan dengan pulsa dalam suatu perioda, yang akan digunakan untuk mengatur tegangan rata-rata yang berbeda. Seperti di bawah ini adalah contoh pulsa PWM :

Gambar 2.5 Contoh Sinyal PWM Terlihat pada gambar, bahwa sinyal PWM adalah sinyal digital yang amplitudonya tetap, namun lebar pulsa yang aktif (duty cycle) per periodenya dapat diubah-ubah. Dimana periodenya adalah waktu pulsa high (1) T on ditambah waktu pulsa low (0) T off. Ttotal = T on + T off Duty cycle adalah lamanya pulsa high (1) T on dalam satu perioda. Jika f(t) adalah sinyal PWM, maka besar duty cycle-nya adalah : D = T on / T total 100% Sehingga, output tegangan PWM dari mikrokontroler : V out = D V in

21

2.2

Sensor Suhu LM35 Dalam elektronika terdapat komponen yang dibuat sebagai indra perasa

yang dapat mendeteksi suatu keadaan di lingkungan. Komponen ini disebut sensor. Alat ini dapat mendeteksi suatu keadaan lingkungan dan mengambil datadata dari hasil pendeteksiannya yang kemudian diterjemahkan kedalam kodekode yang bisa dimengerti oleh suatu rangkaian komponen elektronika. Kemudian data - data tersebut diaplikasikan sesuai dengan keperluan. Terdapat berbagai macam sensor yang ada di pasaran yang dapat kita temukan. Sensor - sensor itu antara lain yaitu : sensor cahaya, sensor suhu (panas), sensor tahana, sensor suara, dan lain-lain. Data-data yang didapat dari sensor tersebut tidak dapat langsung kita pergunakan atau kita pakai untuk dapat mengetahui suatu kondisi atau keadaan yang ingin kita peroleh, tetapi data - data tersebut harus diolah / diubah kedalam data - data yang dapat kita mengerti, karena data - data yang dihasilkan oleh sensor masih dalam bentuk data atau sinyal analog yang terdiri dari beberapa macam kuantitas elektrik seperti arus, tegangan atau daya. IC LM35 sebagai sensor suhu yang teliti dan terkemas dalam bentuk Integrated Circuit (IC), dimana output tegangan keluaran sangat linear terhadap perubahan suhu. Sensor ini berfungsi sebagai pegubah dari besaran fisis suhu ke besaran tegangan yang memiliki koefisien sebesar 10 mV /C yang berarti bahwa kenaikan suhu 1 C maka akan terjadi kenaikan tegangan sebesar 10 mV.Gambar 2.4 di bawah merupakan bentuk dari LM35 tampak bawah :

22

Gambar 2.6Bentuk LM35 Tampak Bawah 3 pin LM35 menujukan fungsi masing-masing pin diantaranya, pin 1 berfungsi sebagai sumber tegangan kerja dari LM35, pin 2 atau tengah digunakan sebagai tegangan keluaran atau V out dan pin 3 adalah ground. Agar sensor dapat bekerja lebih baik dan tepat, maka harusmemiliki persyaratan sebagai berikut : 1. Kepekaan, yaitu sensor harus dipilih sedemikian rupa pada nilai nilai masukan yang ada dapat diperoleh keluaran yang cukup besar. 2. Stabilitas waktu, yaitu untuk menentukan masukan tertentu sensor harus dapat memberikan keluaran yang tetap nilainya dalam waktu yang lama. Adapun keistimewaan dari IC LM 35 adalah : 1. Memiliki sensitivitas suhu, dengan faktor skala linier antara tegangan dan suhu10 mVolt/C, sehingga dapat dikalibrasi langsung dalam celcius. 2. Memiliki ketepatan atau akurasi kalibrasi yaitu 0,5C pada suhu 25 C seperti terlihat pada gambar 2.2. 3. Memiliki jangkauan maksimal operasi suhu antara -55 C sampai +150 C. 4. Bekerja pada tegangan 4 sampai 30 volt. 5. Memiliki arus rendah yaitu kurang dari 60 A.

23

6. Memiliki pemanasan sendiri yang rendah (low-heating) yaitu kurang dari 0,1 C pada udara diam. 7. Memiliki impedansi keluaran yang rendah yaitu 0,1 W untuk beban 1 mA. 8. Memiliki ketidaklinieran hanya sekitar C. Gambar 2.5 di bawah ini adalah bentuk fisik LM35 :

Gambar 2.7 Bentuk Fisik LM 35 LM35 memiliki keakuratan tinggi dan kemudahan perancangan jika dibandingkan dengan sensor suhu yang lain. LM35 juga mempunyai keluaran impedansi yang rendah dan linearitas yang tinggi sehingga dapat dengan mudah dihubungkan dengan rangkaian kendali khusus serta tidak memerlukan penyetelan lanjutan. 2.3 LED ( Light Emiting Dioda ) Infra Merah LED dapat memancarkan sejumlah kecil dari cahaya ketika arus mengalir pada bias maju. LED dapat dirancang untuk memancarkan cahaya merah, biru, kuning, hijau dan cahaya inframerah. Cahaya infrared/inframerah merupakan cahaya yang tidak tampak. Dengan menggunakan spektroskop cahaya, radiasi inframerah akan tampak pada spektrum elektromagnet dengan panjang gelombang diatas panjang gelombang cahaya infra merah. Dengan panjang gelombang ini, maka cahaya infra merah ini akan tidak tampak oleh mata namun radiasi panas

24

yang ditimbulkan masih terasa atau dideteksi. LED inframerah merupakan salah satu LED yang paling efisien sebagai pembangkit cahaya. Dalam aplikasinya, sensor ini ideal sebagai pendeteksi keamanan. Berkas cahaya dari LED inframerah ini nantinya akan ditangkap oleh photodiode. Arus relatif yang melewati infra merah pada suhu ruangan 250C ialah kurang dari sama dengan 20 mA. R IR =
5V = 330 15mA

jadi nilai resistor R ir yang dipasang adalah 330, ini digunakan untuk membatasi arus yang melebihi arus pada infrared. Pemasangan resistor 330 dilakukan juga pada LED indikator, photodiode, dan LED digit-digit 7-segmen, tujuannya adalah sama yaitu untuk membatasi arus berlebih.Gambar 2.6 di bawah ini adalah bentuk fisik infrared yang sekilas tampak sama seperti lampu LED biasa :

Gambar 2.8Bentuk Fisik LED Infrared

2.4

Photodiode Photodiode dibuat dari semikonduktor dengan bahan yang populer adalah

silicon (Si) atau galium arsenida (GaAs), dan yang lain meliputi InSb, InAs, PbSe. Material ini menyerap cahaya dengan karakteristik panjang gelombang mencakup: 2500 - 11000 untuk silicon, 8000 -20,000 untuk GaAs. Ketika sebuah

25

photon (satu satuan energi dalam cahaya) dari sumber cahaya diserap, hal tersebut membangkitkan suatu elektron dan menghasilkan sepasang pembawa muatan tunggal, sebuah elektron dan sebuah hole, di mana suatu hole adalah bagian dari kisi-kisi semikonduktor yang kehilangan elektron. Arah Arus yang melalui sebuah semikonduktor adalah kebalikan dengan gerak muatan pembawa. cara tersebut didalam sebuah photodiode digunakan untuk mengumpulkan photon

menyebabkan pembawa muatan (seperti arus atau tegangan) mengalir/terbentuk di bagian-bagian elektroda. Photodiode digunakan sebagai penangkap gelombang cahaya yang dipancarkan oleh inframerah. Besarnya tegangan atau arus listrik yang dihasilkan oleh photodioda tergantung besar kecilnya radiasi yang dipancarkan oleh inframerah. Di bawah ini adalah bentuk fisik photodiode:

Gambar 2.9 Bentuk Fisik Photodiode

2.5

LCD LCD (Liquid Crystal Display) atau dapat dibahasa Indonesia-kan sebagai

tampilan Kristal Cair adalah suatu jenis media tampilan yang menggunakan kristal cair sebagai penampil utama.LCD bisa memunculkan gambar atau tulisan dikarenakan terdapat banyak sekali titik cahaya (piksel) yang terdiri dari satu buah

26

kristal cair sebagai sebuah titik cahaya. Walau disebut sebagai titik cahaya, namun kristal cair ini tidak memancarkan cahaya sendiri. Sumber cahaya di dalam sebuah perangkat LCD adalah lampu berwarna putih di bagian belakang susunan kristal cair tadi.Titik cahaya yang jumlahnya puluhan ribu bahkan jutaan inilah yang membentuk tampilan citra. Kutub kristal cair yang dilewati arus listrik akan berubah karena pengaruh polarisasi medan magnetik yang timbul dan oleh karenanya akan hanya membiarkan beberapa warna diteruskan sedangkan warna lainnya tersaring.Dalam menampilkan karakter untuk membantu

menginformasikan proses dan control yang terjadi dalam suatu program kita sering menggunakan LCD juga. Yang sering digunakan dan paling mudah untuk dipelajari adalah LCD dengan banyak karakter 16x2. Maksudnya semacam fungsi tabel di MicrosoftOffice. 16 menyatakan kolom dan 2 menyatakan baris.Bila kita beli di pasaran, LCD 16x2 masih kosongan, maksudnya kosongan yaitu butuh driver lagi supaya bisa dikoneksikan dengan sistem minimum dalam suatu mikrokontroler. Driver yang disebutkan berisi rangkaian pengaman, pengatur tingkat kecerahan backligt maupun data, serta untuk mempermudah pemasangan di mikrokontroler (portable-red). Contoh LCD 16x2 dapat dilihat seperti gambar 2.8 di bawah ini :

Gambar 2.10Bentuk Fisik LCD 16x2

27

Sedangkan untuk konfigurasi pin-nya dapat dilihat seperti gambar 2.9 di bawah ini :

Gambar 2.11Konfigurasi Pin dari LCD Modul LCD memiliki karakteristik sebagai berikut: 1. Terdapat 16 x 2 karakter huruf yang bisa ditampilkan. 2. Setiap huruf terdiri dari 5x7 dot-matrix cursor. 3. Terdapat 192 macam karakter. 4. Terdapat 80 x 8 bit display RAM (maksimal 80 karakter). 5. Memiliki kemampuan penulisan dengan 8 bit maupun dengan 4 bit. 6. Dibangun dengan osilator lokal. 7. Satu sumber tegangan 5 volt. 8. Otomatis reset saat tegangan dihidupkan. 9. Bekerja pada suhu 0C sampai 55C Fungsi pin yang terdapat pada LCD ditunjukkan seperti pada tabel 2.6 di bawah ini :

28

Tabel 2.6 Konfigurasi Pin LCD

Secara umum setiap pinnya didefinisikan sebagai berikut : 1. Pin 1 2. Pin 2 3. Pin 3 4. Pin 4 : Ground : Vcc : VEE (contrast) : RS (Register Select). 0 = Instruction Register. 1 = Data Register 5. Pin 5 : R/W (Read / Write mode). 0 = Write Mode. 1 = Read Mode 6. Pin 6 : En (Enable). 0 = start to latch data to LCD. 1 = Disable 7. Pin7-14 : DB0 - DB7 (Data Bus)

29

8. Pin 15 9. Pin16

: Back Light (+) : Back Light (-)

Display karakter pada LCD diatur oleh pin EN, RS dan RW. Jalur EN dinamakan Enable. Jalur ini digunakan untuk memberitahu LCD bahwa kita sedang mengirimkan sebuah data. Untuk mengirimkan data ke LCD, maka melalui program EN harus dibuat logika low 0 dan set pada dua jalur kontrol yang lain RS dan RW. Ketika dua jalur yang lain telah siap, set EN dengan logika 1 dan tunggu untuk sejumlah waktu tertentu (sesuai dengan datasheet dari LCD tersebut) dan berikutnya set EN ke logika low 0 lagi. Jalur RS adalah jalur Register Select. Ketika RS berlogika low 0, data akan dianggap sebagi sebuah perintah atau instruksi khusus (seperti clear screen, posisi kursor, dll). Ketika RS berlogika high 1, data yang dikirim adalah data text yang akan ditampilkan pada display LCD. Sebagai contoh, untuk menampilkan huruf T pada layar LCD maka RS harus diset logika high 1. Jalur RW adalah jalur kontrol Read/ Write. Ketika RW berlogika low (0), maka informasi pada bus data akan dituliskan pada layar LCD. Ketika RW berlogika high 1, maka program akan melakukan pembacaan memori dari LCD. Sedangkan pada aplikasi umum pin RW selalu diberi logika low 0. Setiap pemberian logika RS, EN, dan R/W membutuhkan waktu sekitar 15ms. 2.6 Seven Segment Seven segment (7-segment) merupakan display visual yang umum digunakan dalam dunia digital. Seven segment sering dijumpai pada jam digital, penujuk antrian, display angka digital dan termometer digital. Penggunaan

30

secaraumum adalah untuk menampilkan informasi secara visual mengenai datadata yang sedang diolah oleh suatu rangkaian digital. Seven segment tidak lain adalah sebuah penampil berisi desimal yang berisi delapan buah LED yang tersusun membentuk angka delapan. Setiap LED yang menyusunnya diberikan lebel dari a sampai h dengan salah satu terminal LED dihubungkan menjadi satu sebagai kaki common.Untuk memudahkan penggunaan 7-segmensegment, umumnya digunakan sebuah decoder atau 7segment driver yang akan mengatur aktif tidaknya LED-LED dalam 7-segment sesuai dengan nilai biner yang diberikan. Gambar 2.10 di bawah merupakan tampilan 7-segment dan diagram skematik 7-segment :

Gambar 2.12

(a) Tampilan 7-segment (b) Diagram Skematik 7-segment

Untuk sumber daya tiap penampil 7-segmen menggunakan transistor yang di set sebagai saklar elekronik. Arus yang mengalir pada penampil 7-segmen dalam rangkaian display 7-segmen 2 digit multiplex ini dibatasi menggunakan resistor yang dipasang seri pada tiap kolektor transistor. Resistor yang dipasang seri terhadap led digunakan sebagai pembatas arus agar arus yang mengalir melalui led tidak melebihi arus maksimum yang diperbolehkan yaitu sebesar 20mA.Gambar 2.11 di bawah ini adalah bentuk fisik 7-segment 2 digit :

31

Gambar 2.13 Bentuk Fisik 7-segmen 2 Digit 2.7 Catu Daya Perangkat elektronika seharusnya dicatu oleh sumber listrik searah DC (direct current) yang stabil agar dapat bekerja dengan baik sesuai dengan kegunaan dan perancangannya. Baterai atau accu adalah sumber catu daya DC yang paling baik. Namun apabila digunakan untuk aplikasi yang membutuhkan catu daya lebih besar atau bermacam, sumber dari baterai atau accu tidak akan cukup. Sumber catu daya yang lain adalah sumber listrik bolak-balik AC (alternating current) dari pembangkit tenaga listrik. Berikut adalah gambar tahapan proses secara umum mengubah tegangan AC menjadi DC :

Gambar 2.14Diagram Proses Catu Daya Transformator diperlukan sebagai komponen yang berfungsi untuk menurunkan tegangan AC dari jala-jala listrik pada kumparan primernya menjadi tegangan AC yang lebih kecil pada kumparan sekundernya. Keluaran

32

transformator yang masih AC kemudian disearahkan oleh untai penyearah (rectifier). Ada beberapa jenis penyearah, yaitu : 1. Penyearah setengah gelombang Gambar 2.13 adalah penyearah setengah gelombang dibentuk dengan hanya merangkaikan sebuah dioda ke sumber tegangan bolak-balik :

Gambar 2.15Penyearah Setengah Gelombang Sistem penyearah setengah gelombang menggunakansatu buah dioda untuk menyearahkan sinyal AC. Dalam hal ini dioda hanya melewatkan setengah dari bentuk gelombang sedangkan setengah gelombang lainnya tidak dipakai. Jadi sistem penyearah setengah gelombang initidak efisien untuk transfer daya. 2. Penyearah gelombang penuh Untuk mendapatkan penyearah gelombang penuh (full wave) diperlukan dua buah dioda pada untai catu daya dengan transformator yang digunakan center tap (CT).Gambar 2.14 di bawah ini adalah rangkaian penyearah gelombang penuh dengan CT :

Gambar 2.16Rangkaian Penyearah Gelombang Penuh Trafo CT

33

Sistem penyearah gelombang penuh artinya mengambil semua bagian dari sinyal AC untuk disearahkan. Pada penyearah gelombang penuh sistem CT maka dibutuhkansatu buah kumparan kawat lagi yang disusun kebalikan dari kumparan yang pertama.Pertemuan antara kumparan pertama dan kumparan kedua disebut dengan CT (Center Tap). Titik CT inilah kemudian yang akan menjadi titik referensi tegangan (titik nol/common ground). Tegangan positif phasa yang pertama diteruskan oleh D1 sedangkan phasa yang berikutnya dilewatkan melalui D2 ke beban R dengan CT transformator sebagai CT. Dengan demikian beban R mendapat suplai tegangan gelombang penuh. Berikut adalah rangkaian gelombang penuh tanpa CT :

Gambar 2.17 Rangkaian Penyearah Gelombang Penuh Trafo Non CT Prinsip penyearah gelombang penuh sistem jembatan hampir sama dari sistem CT yaitu bertujuan melewatkan semua bagian sinyal AC. Namun penyearah sistem jembatan hanya memerlukan satu kumparan saja. Untuk mengambil fasa sinyal AC bagian atas dan bawah digunakanempat dioda yang bekerja bergantian saat sinyal AC berayun pada posisi atas dan bawah. 3. Penyearah Setengah Gelombang Dengan Filter Kapasitor Pada penyearah setengah gelombang maupun penyearah gelombang penuh, tegangan DC-nya masih mengandung tegangan riak yang sangat besar. Untuk beberapa aplikasi seperti misalnya untuk men-catu motor dc yang kecil

34

atau lampu pijar dc, bentuk tegangan seperti ini sudah cukup memadai. Walaupun terlihat tegangan ripple dari kedua rangkaian tersebut masih sangat besar. Salah satu cara untuk mengurangi tegangan riak ini adalah dengan menambahkan rangkaian tapis C. Gambar 2.16 dibawah adalah rangkaian penyearah setengah gelombang dengan filter kapasitor C yang paralel terhadap beban RL :

Gambar 2.18 Rangkaian Penyearah Setengah Gelombang denganFilter C Ternyata dengan filter ini bentuk gelombang tegangan keluarnya bisa menjadi rata. Gambar 2.17 menunjukkan bentuk keluaran tegangan DC dari rangkaian penyearah setengah gelombang dengan filter kapasitor. :

Gambar 2.19Bentuk gelombang dengan filter kapasitor Kemiringan kurva b-c tergantung dari besar arus I yang mengalir ke beban R. Jika arus I = 0 (tidak ada beban) maka kurva b-c akan membentuk garis horizontal. Namun jika beban arus semakin besar, kemiringan kurva b-c akan

35

semakin tajam. Rangkaian penyearah yang baik adalah rangkaian yang memiliki tegangan ripple paling kecil. V L adalah tegangan discharge atau pengosongan kapasitor C.Penyearah gelombang penuh dengan filter C dapat dibuat dengan menambahkan kapasitor. Bisa juga dengan menggunakan transformator yang tanpa CT, tetapi dengan merangkai 4 dioda seperti pada Gambar 2.18 berikut ini :

Gambar 2.20Rangkaian Penyearah Gelombang Penuh dengan Filter C Untuk kapasitor yang sebesar ini banyak tersedia tipe elko yang memiliki polaritas dan tegangan kerja maksimum tertentu. Tegangan kerja kapasitor yang digunakan harus lebih besar dari tegangan keluaran catu daya. 2.8 IC Regulator Regulator seri 7805adalah regulator untuk mendapatkan tegangan keluaran sebesar +5 volt, sedangkan regulator seri 7812 adalah untuk mendapatkan tegangan keluaran sebesar +12 volt. Agar rangkaian regulator dengan IC tersebut dapat bekerja dengan baik, tegangan input harus lebih besar dari tegangan output regulatornya. Biasanya perbedaan tegangan V in terhadap V out yang

direkomendasikan ada di datasheet komponen tersebut. Tabel 2.7 di bawah ini adalah tabel karakteristik elektrik regulator LM78xx :

36

Tabel 2.7Karakteristik Elektrik Regulator LM78XX Iout (A) 78XXC 7805 7812 5 12 1 1 78LXX 0.1 0.1 78MXX 0.5 0.5 Vin (V) Min 7.5 14.8 Max 20 27

Tipe

Vout (V)

Bentuk fisik dari kedua macam regulator itu, yaitu regulator 7805 dan regulator 7812 ditunjukkan pada Gambar 2.19 :

Gambar 2.21Bentuk Fisik dari Regulator 78xx 2.9 Transistor Sebagai Saklar Sebagaimana tujuan dari pembuatan transistor, maka transistor awalnya dibuat untuk menguatkan (amplifier) signal-signal, daya, arus, tegangan dan sebagainya. Namun dikarenakan karakteristik listriknya, penggunaan transistor jauh lebih luas dimana transistor ini banyak digunakan juga sebagai saklar elektronik dan juga penyetabil tegangan. Dengan memanfaatkan sifat hantar transistor yang tergantung dari tegangan antara elektroda basis dan emitter (Ube), maka dapat menggunakan transistor ini sebagai sebuah saklar elektronik, dimana saklar elektronik ini mempunyai banyak kelebihan dibandingkan dengan saklar mekanik, seperti : a. Fisik relative jauh lebih kecil.

37

b. Tidak menimbulkan suara dan percikan api saat pengontakan. c. Lebih ekonomis. Transistor memeliki kurva karakteristik input, output dan transfer, yang paling umum digunakan adalah kurva karakteristik output. Pada saat transistor digunakan sebagai saklar, maka daerah yang digunakan pada kurva karakteristik ialah daerah "cut-off" dan daerah "saturasi". Kurva karakteristik transistor dapat dilihat seperti pada gambar 2.20 di bawah ini :

Gambar 2.22Kurva Karakteristik Transistor Daerah yang diarsir kuning adalah daerah "cut-off". Pada saat "cut-off" kondisi dari transistor adalah arus basis sama dengan nol (IB = 0), Arus output pada kolektor sama dengan nol dan Tegangan pada kolektor maksimum atau sama dengan tegangan supply (V CE = V CC ). Syarat transistor sebagai saklar ditunjukkan pada rumus dibawah ini : Ib = Ic /

38

Keterangan : Ib = arus basis pada transistor Ic = arus collector pada transistor


= menyatakan perolehan arus dc dari transistorDaerah yang diarsir

merah adalah daerah "saturasi". Pada saat "saturasi" kondisi dari transistor adalah arus basis maksimal (IB=Max) sehingga menghasilkan arus kolektor maksimal (I C =Max) dan tegangan Kolektor Emitor minimum (V CE =0). Garis beban dapat dibangun apabila sudah diketahui arus beban pada rangkaian dan tegangan operasinya. Titik "A" pada diagram dibawah adalah kondisi saat transistor OFF, I C (arus kolektor) akan menjadi nol sedangkan V CE (tegangan kolektor-emitor) akan menjadi hampir sama dengan tegangan supply (5V DC). Titik "B" pada diagram diatas adalah kondisi saat transistor ON dimana I C akan menjadi 20mA (sama dengan arus beban) dan V CE nilainya sangat kecil hampir mendekati nol. Garis yang ditarik dari titik A ke titik B ini yang dinamakan garis beban.

BAB III PERANCANGAN SISTEM

Rangkaian utama dibagi menjadi tiga blok yaitu blok sensor yang berfungsi sebagai penangkap isyarat dan pemberi sinyal masukan kepada mikrokontroler, blok pengolah sebagai pengolah sinyal masukan yang merupakan rangkaian mikrokontroler ATMega16 dan berikutnya adalah blok pemberi informasi berupa sinyal keluaran dalam bentuk eksekusi dan petunjuk berupa kipas angin, LCD dan 7-segment. 3.1 Blok Diagram Sistem Untuk mengetahui sistem kerjanya kita dapat melihat dari blok diagram sistem pada gambar 3.1 di bawah ini :

Gambar 3.1Blok Diagram Sistem


39

40

Dari blok diagram sistem di atas, cara kerja sistem dapat dijabarkan seperti berikut : Sensor LM35 mendeteksi suhu di dalam ruangan dan diinformasikan ke mikrokontroler.Sensor photodiode mendeteksi setiap orang yang masuk ke dalam dan keluar ruangan, kemudian diubah menjadi bentuk sinyal masukan untuk diproses selanjutnya oleh mikrokontroler. Mikrokontroler ATmega16 memproses sinyal tersebut. Kemudian 7-segment dan LCD menampilkan informasi sesuai perintah mikrokontroler dalam bentuk angka agar kita mengetahui berapa jumlah orang yang berada di dalam ruangan dan mengetahui suhu ruangannya. Ketika suhunya melebihi batas setpointsuhu yang ditetapkan, maka mikrokontroler menginformasikan kepada motor penggerak atau kipas angin agar menyala (ON) dan membuat suhu ruangan menjadi kembali ke suhu yang diinginkan. Sehingga meskipun jumlah orang dalam ruang semakin banyak, suhu dalam ruangan tetap terjaga sesuai suhu yang kita inginkan. Namun ketika suhu ruangan kurang dari setpoint suhu yang ditetapkan, maka kipas angin tetap dalam kondisi OFF. 3.2 3.2.1 Perancangan Perangkat Keras Rangkaian Catu daya Setiap rangkaian elektronik tentunya membutuhkan catu daya, sehingga perancangan catu daya menjadi hal yang penting. Rangkaian catu daya yang dibuat terdiri dari transformator, rangkaian penyearah, filter dan regulator. Supply tegangan minimal yang digunakan agar chip mikrokontroler dapat bekerja adalah (kurang lebih) 5V. Untuk mendapatkan tegangan DC 5 Volt dan tegangan yang stabil pada rangkaian sistem minimal pencacah kehadiran dan

41

pengatur suhu ruangan otomatis ini menggunakan regulator IC7805. Sehingga input tegangan yang diijinkan untuk rangkaian kita adalah antara 6 - 12 V.Range tegangan tersebut akan dikonversi oleh 7805 sebagai tegangan VCC sebesar 5 V. Regulator 7805 dipasang/dirangkai pada sistem minimal mikrokontroler dan digunakan untuk mensuplai tegangan ke mikrokontroler, LCD, LED infrared, photodiode dan 7-segmen. Sebagai pengaman, dapat ditambahkan juga diode 1 A (misal 1N4001) agar rangkaian tetap aman apabila kita dalam memasang supply dari luar terbalik (optional). Selain itu dapat pula kita tambahkan kapasitor (elco) minimal sebesar 100 uF/16V untuk mencegah reset yang diakibatkan oleh suply yang kurang stabil.Gambar 3.2 di bawah ini adalah skematik rangkaian supply tegangan DC 5 V:

Gambar 3.2 Skematik Catu Daya DC 5Volt Tegangan DC 12 V diperlukan sebagai catu daya kipas (pendingin ruangan) dan input tegangan pada IC7805. Untuk skematik supply tegangan 12 V, dapat dilihat pada gambar 3.3 di bawah ini :

42

Gambar 3.3Skematik Catu Daya 12Volt Adapun jumlah kebutuhan daya pada masing-masing rangkaian adalah sebagai berikut: a. Mikrokontroler ATMega16 Berdasarkan datasheet, mikrokontroler ATMega16 bekerja pada tegangan 4,5 -5,5 Volt, arus yang dibutuhkan mikrokontroler saat aktif pada frekuensi 1-16 MHz adalah 20 mA. b. LCD 16 x 2 Berdasarkan datasheet LCD, arus maksimal yang dibutuhkan pada tegangan 5 Volt adalah 43 mA. c. 7-Segmen 7-Segmen diberi supply 5Vyang didapat dari regulator 7805 pada sistem minimal. Arus yang diperbolehkan yaitu maksimal 20 mA/LED. d. LED indikator Berdasarkan datasheet arus aktif yang dibutuhkan maksimal 20 mA dengan tegangan minimum 1.5 hingga 2 Volt. e. LED infrared

43

Arus relatif yang melewati infrared pada suhu ruangan 250C ialah kurang dari sama dengan 20 mA. Pada rangkaian digunakan 2 buah LED infrared. f. Photodiode Tegangan keluar photodiode pada kondisi tersinari cahaya penuh dari LED infrared yaitu 5 V dengan arus maksimal sama sperti LED sebesar 20mA, sedangkan pada kondisi gelap/tidak tersinaricahaya yaitu 0 dengan arus 0 V. Pada rangkaian digunakan 2 buah photodiode. g. Relay Relay yang digunakan adalah relay dengan catu daya DC 5 volt. Pada sistem menggunakan 2 buah relay dimana relay tersebut dapat bekerja pada tegangan 5 volt dan arus minimal 5 mA. h. Sensor LM35 Meskipun tegangan sensor ini dapat mencapai 30 volt akan tetapi yang diberikan kesensor adalah sebesar 5 volt, sehingga dapat digunakan dengan catu daya tunggal dengan ketentuan bahwa LM35 hanya membutuhkan arus sebesar 60 A. i. Kipas Angin (blower prototype) Kipas prototype yang digunakan adalah kipas komputer dan berdasarkan datasheet pada fisik kipas tertera besar tegangan dan arus yang dibutuhkan agar putaran kipas maksimal yaitu DC 12 Volt, arus 150 mA. Pada rangkaian kipas terdapat transistor 9013 yang berfungsi sebagai saklar otomatis. V

44

Dari data diatas, selanjutnya dibuat spesifikasi kebutuhan catu daya sistem sebagai berikut: a) Tegangan Arus : 5Volt (dari IC7805) : - mikrokontroler = 20 mA - LCD = 43 mA - 7-segmen = 20 mA x 4 = 80 mA - LED indikator = 20 mA - LED infrared = 20 mA x 2 = 30 mA - Photodiode = 20 mA x 2 = 40 mA - Relay = 5 mA x 2 = 10 mA - LM35 = 0,06 mA x 2 = 0,12 mA - Kipas = 150 mA Total Arus Daya : 243,12 mA : 5 V x 243,12 mA =1,216 mWatt

b) Tegangan Arus Total Arus Daya

: 12 Volt (dari IC7812) : - Kipas = 150 mA : 150 mA : 12 V x 150 mA = 1,8 mWatt

Daya Total

: 1,216 mW + 1,8 mW = 3,016 mWatt

45

Untuk mendapatkan catu daya yang memiliki tegangan ripple yang kecil yakni sebesar 0,75 Volt maka dipilihlah kapasitor dengan perhitungan mengunakan persamaan 3.1. frekuensi keluaran penyearah penuh adalah 2xfin. Sehingga dengan menggunakan trafo yang disuplai listrik PLN 50 Hz, maka : F=2x50Hz=100Hz T=1/F ; T=0.01 C = I. T / V r Menghitung nilai kapasitor pada regulator 7805: C = (243,12 mA)(0.01) / 0.75 C = 3241,6uF Menghitung nilai kapasitor pada regulator 7812 : C = (243,12 mA+150 mA)(0.01) / 0.75 C = 5241,6uF Karena nilai kapasitansi 3241,6uFdan 5241,6uF sulit didapatkan di pasaran, maka kita gunakan pendekatan nilai kapasitansi yang dijual dipasaran yaitu 3300 uF untuk regulator 5 V dan 4700 uF untuk regulator 12 V. 3.2.2 Sistem Minimum Mikrokontroler ATMega16 Sistem minimum mikrokontroler adalah sistem elektronika yang terdiri dari komponen-komponen dasar yang dibutuhkan oleh suatu mikrokontroler untuk dapat berfungsi dengan baik. Pada umumnya,suatu mikrokontroler membutuhkan tiga elemen utama yaitu power supply, Kristal Osilator (XTAL), dan RESET. Analogi fungsi Kristal Osilator (clock) adalah jantung pada tubuh manusia. Perbedaannya, jantung untuk memompa darah, sedangkan XTAL untuk (3.1)

46

memompa data. Fungsi rangkaian RESET adalah untuk membuat mikrokontroler memulai kembali pembacaan program dengan kondisi aktif low atau ketika diberi logika 0. Hal tersebut dibutuhkan pada saat mikrokontroler mengalami gangguan dalam eksekusi program. Pada sistem minimum AVR khususnya ATmega16 terdapat elemen tambahan (optional) yaitu rangkain pengendali ADC : AGND (=GND ADC), AVCC (=VCC ADC), dan AREF (=Tegangan referensi ADC). Crystal yang digunakan pada sistem minimum ini adalah sebesar 12 MHz serta 2 buah kapasitor keramik yang bernilai 22 pF.Gambar 3.4 di bawah ini adalah skematik rangkaian sistem minimum :

Gambar 3.4Skematik Sistem Minimum ATMega16

47

Tersedia 4 bagian besar PORT pada mikrokontroler AT mega16 yaitu PORTA (0-7), PORTB (0-7), PORTC (0-7), dan PORTD (0-7). Pada rangkaian, penulis menggunakan PORT-PORT sebagai berikut : 1. PORTA.0 2. PORTA.1 : digunakan untuk sensor suhu 1. : digunakan untuk sensor suhu 2.

3. PORTA.4 7 : digunakan untuk control 7-segmen. 4. PORTB.0 5. PORTB.1 6. PORTB.2 : digunakan sebagai analogi tombol dari sensor infrared 1 : digunakan sebagai analogi tombol dari sensor infrared 2 : digunakan sebagai tombol push button untuk menaikan nilai set suhu. 7. PORTB.3 : digunakan sebagai tombol push button untuk menurunkan nilai set suhu. 8. PORTB.4 7 : digunakan sebagai downloader data (*.hex). 9. PORTC.0 6 : digunakan untuk data 7-segmen. 10. PORTD.0 3 : dugunakan untuk data LCD. 11. PORTD.6 : digunakan untuk pin E pada LCD yang berfungsi sebagai starts data read / write. 12. PORTD.7 : digunakan untuk pin RS pada LCD yang berfungsi sebagai seleksi register. 13. PORTD.6 : digunakan untuk pin E pada LCD yang berfungsi sebagai starts data read / write.

48

3.2.3

Perancangan Tombol Tombol pada sistem ini menggunakan push button dan berfungsi untuk

mengatur (menaikan dan menurunkan) set suhu sehingga suhu dalam ruangan sesuai yang diinginkan. Pada perancangan tombol menggunakan aktif low,jadi ketika tombol terhubung ke ground maka mikrokontroler akan mengeksekusi perintah. Untuk skematik tombol pengaturan setsuhu yang digunakan pada PORT mikrokontroler dapat dilihat pada gambar 3.5 di bawah ini :

Gambar 3.5 Skematik Tombol Pengatur Set Suhu Fungsi masing-masing tombol yaitu sebagai berikut : a. Tombol 1 (S1) b. Tombol 2 (S2) 3.2.4 : digunakan untuk menurunkan set suhu : digunakan untuk menaikan set suhu

Perancangan Penampil LCD 16x2 Penampil LCD 16x2 digunakan untuk menampilkan set suhu yang kita

atur melalui tombol push button sesuai batas suhu maksimal yang kita inginkan dalam ruangan. Di bawah ini adalah tabel koneksi antara modul LCD dengan mikrokontroler :

49

Tabel 3.1Koneksi Antara Modul LCD Dengan Mikrokontroler. Pin LCD 1 2 4 5 6 11 12 13 14 Keterangan LCD GND VCC RS RW EN D4 D5 D6 D7 Port Mikrokontroller. GND VCC PORTD7 GND PORTD6 PORTD3 PORTD2 PORTD1 PORTD0

Sedangkan untuk skematik rangkaian LCD 16x2 yang dihubungkan pada sistem minimum dapat dilihat seperti gambar 3.6 di bawah :

Gambar 3.6Skematik Rangkaian LCD 16x2 Pada rangkaian kontrol LCD 16x2, R3 berfungsi untuk mengatur kontras karakter yang ditampilkan oleh LCD yang dihunbungkan ke port contr LCD. 3.2.5 Perancangan Penampil 7-Segmen Penampil 7-segmen dalam aplikasi elektronika memang menguras port suatu mikrokontroler atau jalur data yang akan ditampilkan, lebih-lebih jika data yang ditampilkan lebih dari 1 digit, diperlukan jalur untuk mengontrol sumber daya tiap 7-segmen dan jalur untuk input data pada 7-segmen. Rangkaian display

50

7-segmen yang digunakan adalah 7-segmen 4 digit (2x2) multiplex. Ini merupakan suatu cara untuk menghemat port mikrokontroler atau jalur data yang akan ditampilkan dengan merangkai setiap digit 7-segmen secara paralel. Rangkaian ini tidak perlu lagi menggunakan rangkain tambahan decoder BCD (Binary Code Decoder), karena ATmega16 adalah mikrokontroler 8 bit. Jadi, kaki kendali a - g (kombinasi LED 7-segmen) pada data 7-segmen dapat langsung dihubungkan ke port mikrokontroler. 7-segmen yang digunakan adalah 7-segmen common anode, jadi untuk menyalakan 7-segmen, pin com atau CA harus diberi logika 1 (high) dan data a - g diberi logika 0 (low). Transistor 9013 berfungsi sebagai saklar yang menghubungkan antara data dari mikrokontroler ke 7-segmen. Resistor 470 digunakan sebagai pembatas arus agar arus yang mengalir melalui 7-segmen tidak melebihi arus maksimum yang diperbolehkan yaitu sebesar 20mA. Sedangkan untuk Vcc nya adalah 5 V, dan diambil dari regulator sistem minimum. Di bawah ini adalah skematik rangkaian penampil 7-segmen 4 digit (2x2) yang akan dihubungkan pada sistem minimum :

51

Gambar 3.7 Skematik Untai 7-segmen 4 digit (2x2) 3.2.6 Perancangan Sensor Photodiode Sensor photodiode digunakan untuk mendeteksi orang yang masuk dan keluar ruangan. Photodiode dan infrared diberi Vcc 5 V, sehingga untuk photodiode ketika disinari penuh oleh cahaya inframerah yang berasal dari LED infrared akan menghasilkan output tegangan maksimal 5 V, dan ketika tidak ada berkas cahaya yang masuk ke photodiode akan menghasilkan output tegangan minimal 0 V. Besarnya tegangan yang dihasilkan dari output photodiode tergantung pada berkas cahaya yang masuk/ditangkap oleh sensor photodiode. Pada rangkaian digunakan 2 pasang sensor (photodiode dan infrared) pada pintu masuk ruangan. Tegangan output dari photodiode inilah yang akan masuk ke relay, lalu mengaktifkan relay.Setelah relay aktif,PORTB.0 dan PORTB.1

52

mikrokontroler terhubung ke ground. Untuk skematik rangkaian sensor photodiode dan LED infrared, dapat dilihat pada gambar 3.8 di bawah ini :

Gambar 3.8Skematik Sensor Photodiode dan Infrared Orang yang berjalan masuk atau keluar ruangan akan melewati dan menghalangi berkas sinar infrared yang menyinari photodiode. Karena adanya perubahan berkas cahaya yang diterima oleh photodiode, maka tegangan output photodiode akan berubah dan perubahan tegangan inilah yang akan digunakan sebagai logika orang masuk dan keluar ruangan. 3.2.7 Perancangan Relay DC 5 Volt Relay yang digunakan pada sistem adalah tipe relay DC yang aktif ketika diberi sumber tegangan 5 volt DC dengan arus minimal 20 mA. Kondisi ON dan OFF relay diatur berdasarkan informasi dari photodiode. Jadi ketika output photodiode 5 volt, maka relay ON dan ketika output photodiode 0 volt maka relay OFF. Akan tetapi, karena arusoutput photodiode terlalu kecil (berdasarkan pengukuran besarnya 20uV) meskipun tegangannya sudah mencukupi (5 V), relay tidak akan ON. Maka pada sistem ditambahkan komponen penguat arus (transistor 9013) agar arus minimal yang dibutuhkan untuk mengaktifkan relay terpenuhi. Transistor ini sekaligus berfungsi sebagai saklar otomatis untuk relay.

53

Untuk rangkaian pencatu arus dan juga saklar otomatis relay dapat dilihat pada gambar 3.9 di bawah ini :

Gambar 3.9 Rangkaian Pencatu dan Saklar Otomatis untuk Relay 3.2.8 Perancangan Sensor Suhu LM35 Sensor LM35 memiliki fungsi mengubah besaran fisis/suhu menjadi besaran elektris/listrik dalam bentuk tegangan. Suhu di dalam ruangan akan dideteksi oleh LM35 kemudian diubah menjadi bentuk tegangan dan diiformasikan ke port ADC pada mikrokontroler yaitu PORTA (0-7). Setiap perubahan suhu 1C maka tegangan akan berubah sebesar 10 mV. Ini menunjukan kelinieran antara tegangan dan suhu pada sensor LM35. Pada rangkaian digunakan 2 buah sensor suhu yang diletakkan di dalam ruangan dengan jarak yang tidak berdekatan, alasannya adalah agar didapat hasil pendeteksian suhu yang lebih akurat dalam suatu ruangan dengan menampilkan hasil rata-rata dari kedua sensor suhu tersebut. Oleh karena ada 2 sensor suhu yang digunakan, maka dibutuhkan 2 pin port ADC yaitu pada rangkaian menggunakan PORTA.0 untuk

54

sensor 1 dan PORTA.1 untuk sensor 2. Sensor LM35 memiliki tegangan operasi VCC 4 V sampai30 V. Akan tetapi LM35 mempunyai kemampuan menghasilkan panas (self-heating) jika menggunakan tegangan yang terlalu besar yang dapat menyebabkan kesalahan pembacaan yaitu pembacaan rendah kurang dari 0,5 V pada suhu 25 C. Output tegangan dari sensor LM35 yang masuk ke ADC mikrokontroler akan dikonversi oleh mikrokontroler 10 bit.Namun karena Vin dari sensor LM35 menuju port ADC mikrokontroler berubah-ubah sesuai kondisi suhu ruangan danderajat kenaikan suhu, maka nilai ADC juga berubah-ubah terhadap waktu. Gambar 3.10 di bawah ini adalah skematik rangkaian sensor suhu LM35 :

Gambar3.10 Skematik Sensor LM35 3.2.9 Perancangan Rangkaian Pendingin (Kipas) Pada perancangan rangkaian kipas sebagai pendingin ruangan,

menggunakan komponen tambahan yaitu transistor 9013 yang berfungsi sebagai saklar otomatis antara kipas dengan tegangan DC 12 volt. Kutub positif kipas terhubung k Vcc 12 V, sedangkan kutub negatif kipas terhubung ke kolektor transistor. Saklar tersebut akan memutuskan jalur kutub negatif kipas ke ground ketika data/output dari PORTD.5 mikrokontroler berlogika 0 (tegangan low 0 V). Namun ketika berlogika 1 (tegangan high 5 V) maka saklar tersebut akan

55

menghubungkan kutub negatif kipas ke ground. Untuk menjalankan kipas, penulis memanfaatkan output PWM 8 bit pada mikrokontroller ATMega16. Di bawah ini adalah skematik rangkaian yang berfungsi sebagai saklar otomatis berdasarkan besar kecilnya nilai PWM dari mikrokontroler untuk putaran kipas:

Gambar 3.11 Skematik Rangkaian Saklar Otomatis untuk Kipas 3.3 Perancangan Perangkat Lunak Pada sistem pencacah kehadiran dan pengatur suhu ruangan otomatis ini, mikrokontroler diprogram dengan menggunakan bahasa pemrograman Bascom (Basic Compiler) dengan file berekstensi *.bas. Melalui perangkat lunak Bascom AVR, file ini kemudian di-compile menjadi file hexadesimal denganekstensi file *.hex. File .hex ini kemudian di-download ke dalam mikrokontroler dengan AVR Studio. Gambar 3.12 di bawah ini adalah tampilan perangkat lunak BASCOMAVR yang digunkan untuk membuat listing programdan meng-compile menjadi bahasa mesin dalam bentuk file *.hex :

56

Gambar 3.12 BASCOM AVR Compiler Sebelum bahasa basic dituliskan ke mikrokontroler, perlu dilakukan

inisialisasi terlebih dahulu. Hal ini dimaksudkan agar mikrokontroler berada dalam keadaan siap bekerja. Secara garis besar inisialisasi yang dilakukan meliputi pengesetan port pada mikrokontroler dibagian masukan (tombolpush button, infrared, dan sensor suhu) dan bagian keluaran (LCD, 7-segmen, dan kipas). 3.3.1 Inisialisasi LCD Dalam inisialisasi LCD pada bahasa basic adalah berupa tipe LCD, konfigurasi pin LCD yang terhubung ke port mikrokontroler dan tampilan kursor berkedip atau mati. Dalam sistem ini digunakan LCD tipe 16x2 dan menggunakan jalur data LCD 4 bit, yaitu bit-4 sampai bit-7 yang terhubung ke port mikrokontroler. pada PORTD3 sampai PORTD.0. pin RS terhubung ke PORTD.7 dan pin EN ke PORTD.6.

57

3.3.2

Inisialisasi ADC (Analog to Digital Converter) Agar proses ADC dapat berlangsung, maka ADC juga perlu diinialisasi

pada listing program sebagai berikut :


Config Adc = Single , Prescaler = Auto , Reference = Avcc

Seperti pada pembahasan pada sensor photodiode di atas, telah dijelaskan bahwa ATMega16 memiliki resolusi ADC 10 bit (dapat juga menggunakan ADC 8 bit). Karena pada perancangan sistem menggunakan ADC 10 bit dan tegangan referensi ADC sebesar 5 volt maka range tegangan analog 5 volt dari input ADC baik itu dari photodie maupun sensor suhu, akan di sampling sebanyak 1024 tingkat/level. Sehingga untuk menampilkan nilai ADC dalam bentuk desimal pada LCD maupun 7-segmen, perlu dilakukan konversibilangan. 3.3.3 Inisialisasi PWM Pada Atmega16, ada 2 cara membangkitkan PWM, yang pertama PWM dapat dibangkitkan dari port I/O yang difungsikan sebagai output. Yang kedua adalah dengan memanfaatkan fasilitas PWM dari fungsi timer/counter yang telah disediakan. Dengan adanya fasilitas ini proses pengaturan waktu high/low sinyal digital tidak akan mengganggu urutan program lain yang sedang dieksekusi oleh processor. Selain itu, dengan menggunakan fasilitas ini kita tinggal memasukkan berapa porsi periode waktu ON dan OFF gelombang PWM pada sebuah register. OC1A, OC1Bdan OC2adalah register tempat mengatur duty cycle PWM. Untuk mengatur porsi ON dan OFF kita berikan nilai pada register OCR1Adan OCR1Bpada looping while. Ada 2 nilai bit yang dapat dipilih pada PWM ATMega16, yaitu 8 dan 10 bit. Untuk sistem yang dibuat saat ini

58

menggunakan PWM 8 bit dengan alasan tidak begitu banyak memerlukan perubahan duty cycle.Nilai maksimum dari OCR1A dan OCR1B adalah 255 (8 bit). 3.3.4 Inisialisasi Masukan dan Keluaran (I/O) Tombol dalam hal ini diinisialisasi sebagai masukan aktif low . artinya bahwa ketika tombol terhubung ke groundmaka program akan

memproses/mengeksekusi program di dalamya, tetapi jika tidak ada penekanan tombol maka tombol akan berlogika high dan tidak terjadi proses di dalam program. Berikut adalah listing program konfigurasi dan deklarasi variabel I/O :
******************* konfigurasi tombol ******************* Config Portc = Output Config Pina.4 = Output Config Pina.5 = Output Config Pina.6 = Output Config Pina.7 = Output Config Pinb.0 = Input Config Pinb.1 = Input Config Pinb.2 = Input Config Pinb.3 = Input Config Pinb.4 = Input Config Pinb.5 = Input Config Pinb.6 = Input Config Pinb.7 = Input ********** deklarasi input output dalam variable ********** Up Alias Pinb.2 Down Alias Pinb.3 Seg1 Alias Porta.4 Seg2 Alias Porta.5 Seg3 Alias Porta.6 Seg4 Alias Porta.7 In_2 Alias Portb.5 Out_1 Alias Portb.6 Out_2 Alias Portb.7

Dari program diatas dapat dilihat bahwa port masukan yang digunakan adalah PORTB.2 dan PORTB.3 yang di wakili variable Up dan Down. Variabel ini berfungsi untuk mengatur/mengeset batas maksimal suhu di dalam ruangan.

59

3.3.5

Program Keseluruhan Secara keseluruhan perancangan program agar sistem dapat berjalan

dijabarkan sebagai berikut : 1. Proses ADC untuk suhu dimulai dan ditampilkan di 2 digit 7-segmen. 2. Setsuhu pada posisi default yaitu 27C 3. PWM untuk kipas belum aktif meskipun suhu dalam ruangan lebih besar dari set suhu default jika photodiode tidak mendeteksi ada orang masuk ke dalam ruangan. 4. Ketika photodiode mendeteksi ada orang masuk dalam ruangan, maka terjadi increment variable Orang (jumlah orang dalam ruangan), lalu oleh mikrokontroler dioleh dan dikonversi dalam bentuk desimal. Kemudian diinformasikan ke 7-segmen. Oleh 7-segmen suhu ruangan ditampilkan dalam bentuk 2 digit desimal. 5. Sementara itu, ADC sensor suhu terus membaca suhu ruangan dalam (t) waktu. Jika suhu dalam ruangan lebih besar dari setsuhu, maka PWM aktif dengan nilai diskrit PWM > 0 sesuai dengan pemberian nilai PWM pada program berdasarkan kenaikan suhu ruangan. Seperti yang telah dijelaskan pada bab II tentang PWM, bahwa sistem ini menggunakan PWM 8 bit yang tersedia pada ATMega16. Di bawah ini adalah contoh pencarian duty cycle dan tegangan output ketika nilai diskrit PWM sebesar 255 : Dimana : nilai diskrit dari 8 bit = (28-1) = 255 PWM1a (Ton) = 255

60

(Toff) = 1

Jadi, tegangan output

6. Setelah itu set suhu dalam ruangan bias kita atur dengan menekan tombol push button Up untuk menaikan suhu default, dan Down untuk menurunkan suhut default. Agar dapat melihat struktur jalannya program maka dibuat flowchart (diagram alur). Flow chart digunakan sebagai dasar acuan dalam membuat program. Struktur program akan lebih mudah dibuat/didesain.Selain itu juga jika terdapat kesalahan akan lebih mudah untuk mendeteksi letak kesalahannya serta untuk lebih memudahkan dalam menambahkan instruksi-instruksi baru program jika nantinya terjadi pengembangan pada struktur programnya. pada

61

Flow Chart

Mulai

Counter = 0

Baca suhu ruangan

Suhu > set suhu

tidak Tampilkan suhu Kipas mati

ya Baca sensor orang ya tidak tidak Ada orang keluar?

Ada orang masuk?

Apakah counter = 0?

tidak

ya Tambah counter

ya Kurangi counter

Tampilkan counter

Kipas nyala

Gambar 3.13 Flow Chart

BAB IV PENGUJIAN SISTEM DAN PEMBAHASAN

4.1

Pengujian Fungsional Pengujian fungsional setiap bagian dan sistem keseluruhan yang terdiri

dari pengujian rangkaian catu daya, rangkaian sistem minimum mikrokontroler ATMega16, ADC, sensor suhu, infrared/LED, tombol, penampil (LCD dan 7segmen), prototypependingin ruangan/kipas, dan software. 4.1.1 Pengujian Rangkaian Catu Daya Catudaya adalah bagian penting dalam suatu rangkaian, yaitu sebagai sumber tegangan. Pada pengujian rangkaian catudaya ini meliputi pengujian rangkaian regulator. Penyearah yang digunakan adalah penyearah gelombang penuh non CT (Center Tap) menggunakan dioda bridge dengan filter. Setalah itu Vout masuk ke rangkaian regulator. Catu daya yang dibutuhkan dalam sistem ini adalah +5 V dan +12 V DC. Catu daya yang digunakan adalah catu daya gelombang penuh non CT dengan kapasitor sebagai filter. Pengujian dilakukan dengan mengambil data pengukuran tegangan keluaran dari regulatorIC7805 dan regulatorIC7812. Agar dapat dilihat bentuk tegangan dan nilai data tegangan yang akurat, pengujian dilakukan menggunakan osiloskop. Berikut adalah data hasil pengukuran tegangan keluaran catu daya :

62

63

Tabel 4.1Tabel Pengkuran Keluaran Regulator 7805 dan 7812 Tegangan terukur Bentuk gelombang Tanpa Beban beban penuh

No

Bagian

1.

Regulator IC7805

4.92 Volt

4.92 Volt

2.

Regulator IC7812

11.95 Volt

11.95 Volt

3.

Gnd

0 Volt

0 Volt

Dari tabel diatas diketahui bahwa regulator 7805 dan 7812 bekerja dengan baik karena keluaran regulator 7805 mendekati +5 volt dan keluaran regulator 7812 mendekati keluaran tegangan ideal yaitu +12 volt. Dari hasil pengujian diperoleh bahwa catu daya telah mencukupi untuk mencatu arus dan tegangan ke beban. 4.1.2 Pengujian Unit Mikrokontroler Mikrokontroler merupakan unit kendali utama perancangan sistem ini. Pengujian yang dilakukan dengan menghubungkan mikrokontroler ATMega16 ke LCD. Blok diagram pengujian seperti Gambar 4.1 di bawah ini :

64

Mikrokontroler ATMega16

LCD 16x2

Gambar 4.1Blok Pengujian Sistem Minimum ATMega16 Listing program pengujian mikrokontroler :
$regfile = "m16def.dat" ;ATMega yang digunakan $crystal = 12000000 ;Crystal yang digunakan ************** konvigurasi LCD ************** Config Lcdpin = Pin , Db7 = Portd.0 , Db6 = Portd.1 , Db5 = Portd.2 , Db4 = Portd.3 , E = Portd.6 , Rs = Portd.7 Config Lcd = 16 * 2 Cursor Off ************** penampil **************** cls Do Locate 1 , 1 : Lcd "Pengujian" ;Letak karakter pada layar LCD Locate 2 , 1 : Lcd "LCD 16 x 2" ;Letak karakter pada layar LCD ************** perulangan ************** Loop

Program di atas dicompile dan di download ke mikrokontroler ATMega16, kemudian dijalankan. Program ini berfungsi untuk menampilkan kalimat Pengujian LCD 16x2. Data hasil pengujian mikrokontroler dan penampil LCD seperti Gambar 4.2 berikut :

Gambar 4.2Hasil Pengujian Mikrokontroler dan Penampil LCD

65

Dari hasil pengujian di atas, dapat disimpulkan bahwa sistem minimum ATMega16 dan LCD berjalan dengan baik dan dapat menampilkan karakter pada layar sesuai perintah program. 4.1.3 Pengujian Tombol Pengujian unit ini untuk mengetahui apakah tombol bisa beroperasi sesuai fungsinya. Untuk mengakses menu yang tersedia terdapat 4 buah tombol pada sistem minimum yaitu Up danDown. Dua tombol tersebutdigunakan untuk mengatur set suhu yang diinginkan dalam ruangan. Listing program di bawah ini adalah pengujian untuk mengaktifkan tombol push button pada sistem :
$regfile = "m16def.dat" ;ATMega yang digunakan $crystal = 12000000 ;Crystal yang digunakan ************** deklarasi variabel ************** Dim NilaiAs Byte, ************** konvigurasi LCD ************** Config Lcdpin = Pin , Db7 = Portd.0 , Db6 = Portd.1 , Db5 = Portd.2 , Db4 = Portd.3 , E = Portd.6 , Rs = Portd.7 Config Lcd = 16 * 2 Cursor Off *************** konfigurasi input ************* Config Pinb.0 = Input Config Pinb.1 = Input Config Pinb.2 = Input Config Pinb.3 = Input Up Alias Pinb.2 Down Alias Pinb.3 *************** penentuan nilai awal ************ Nilai = 0 ************** logika kondisi tombol ************* If Up = 0 Then ;Tombol menaikkan nilai Bitwait Up , Set Incr Nilai Cls End If If Down = 0 Then ;Tombol menurunkan nilai Bitwait Down , Set Decr Nilai Cls End If ************** penampil pada LCD ************** Locate 1 , 1 : Lcd ; Nilai

66

Loop

;Perulangan

Tabel 4.2 Hasil Pengujian Tombol pada LCD Tombol Tahap Up Down Ket. Nilai padaLCD

1. 1 1 0 2. 0 1 1 3. 0 1 2 4. 0 1 3 5. 0 1 4 6. 0 1 5 7. 0 1 6 8. 0 1 7 9. 0 1 8 10. 0 1 9 11. 0 1 10 12. 0 1 11 13. 1 0 10 14. 1 0 9 15. 1 0 8 16. 1 0 7 17. 1 0 6 Keterangan : 0 (low) menunjukkan tombol di tekan Berdasarkan tabel percobaan diatas, bahwa tombol dalam kondisi baik. Tombol diatas merupakan sistem aktif low, dimana LCD akan mendapatkan reaksi naiknya nilai/counter ketika tombol Up ditekan, dan nilai akan turun ketika tombol Down ditekan. 4.1.4 Pengujian 7-Segmen Pengujian ini dilakukan untuk mengetahui apakah penampil 7-segmen dapat berfungsi dan menampilkan informasi dari mikrokontroler. 2 digit 7-segmen akan menampilkan informasi suhu dan 2 digit lainnya akan menampilkan informasi suhu dalam ruangan. Di bawah ini adalah program pengujian untuk mengaktifkan 7-segmen :

67

$regfile = "m16def.dat" ;Atmega yang digunakan ;Crystal yang digunakan $crystal = 12000000 '*********** deklarasi sub rutin ************* Declare Sub Angka_segmen '*********** deklarasi variabel ************** Dim Data_segmen As Byte, '*********** KONFIGURASI INPUT OUTPUT ************ Config Portc = Output Config Pina.4 = Output Config Pina.5 = Output Config Pina.6 = Output Config Pina.7 = Output '*********** deklarasi output dalam variabel *********** Seg1 Alias Porta.4 Seg2 Alias Porta.5 Seg3 Alias Porta.6 Seg4 Alias Porta.7 Do '********* tampilkan jumlah org dan suhu ke 7-segment ********* Data_segmen = 1 ;pengujian angka dapat divariasikan Angka_segmen Seg1 = 1 ;mengaktifkan digit segmen 1 Seg2 = 0 Seg3 = 0 Seg4 = 0 Delay Waitus 500 Data_segmen = 2 ;pengujian angka divariasikan Angka_segmen Seg1 = 0 Seg2 = 1 ;mengaktifkan digit segmen 2 Seg3 = 0 Seg4 = 0 Delay Waitus 500 Data_segmen = 3 ;pengujian angka divariasikan Angka_segmen Seg1 = 0 Seg2 = 0 Seg3 = 1 ;mengaktifkan digit segmen 3 Seg4 = 0 Delay Waitus 500 Data_segmen = 4 ;pengujian angka divariasikan Angka_segmen Seg1 = 0 Seg2 = 0 Seg3 = 0 Seg4 = 1 ;mengaktifkan digit segmen 4 Delay

68

Waitus 500 Porta = &H00 Loop '*************** sub angka segmen Sub Angka_segmen Select Case Data_segmen Case 0 : Portc = &H40 Case 1 : Portc = &HF9 Case 2 : Portc = &H24 Case 3 : Portc = &H30 Case 4 : Portc = &H19 Case 5 : Portc = &H12 Case 6 : Portc = &H02 Case 7 : Portc = &HF8 Case 8 : Portc = &H00 Case 9 : Portc = &H10 End Select End Sub

****************

;Data bilangan heksadesimal untuk mengaktifkan kombinasi led pada 7segmen agar tertampil kombinasi led bilangan desimal

Pada pengujian ini digunakan LCD sebagai pembanding nilai yang tampil pada 7-segmen dan sensor suhu sebagai nilai yang yang akan digunakan untuk pengujian. Listing program diatas kemudian di-compile lalu di-download ke mikrokontroler. Berikut adalah Tabel hasil pengujian rangkaian 7-segmen : Tabel 4.3 Hasil Pengujian 7-Segmen Data Segmen No
Seg 1 Seg 2 Seg 3 Seg 4

Heksa Desimal
Seg 1 Seg 2 Seg 3 Seg 4

Tampilan pada 7-segmen

1.

F9

24

30

19
Seg3 Seg4 Seg1 Seg2

2.

10

00

F8

02
Seg3 Seg4 Seg1 Seg2

3.

24

12

19

24
Seg3 Seg4 Seg1 Seg2

69

Berdasarkan percobaan di atas, keempat 7-segmen dapat berfungsi dengan baik dalam menampilkan informasi angka desimal. Dalam program pengujian kita dapat mengubah-ubah variabel Data_segmen pada output Seg1, Seg2, Seg2, dan Seg3 dengan angka tunggal sesuai yang kita inginkan. Bilangan desimal yang kita berikan akan dikonversi secara program menjadi bilangan heksa desimal pada subrutin Angka_segmen. Pengkonversian tersebut dilakukan agar 7-segmen dapat membaca sandi yang sesuai dengan format 7-segmen sehingga LED-LED pada penampil 7-segmen dapat menyala. 4.1.5 Pengujian Sensor Suhu LM35 Pengujian sensor suhu dilakukan untuk mengetahui keakuratan LM35 dalam mendeteksi suhu. Untuk nilai pembanding digunakan termometer air raksa, apakah nilai suhu ruangan sudah sama dengan termometer air raksa. Pada pengujian ini pun menggunakan LCD sebagai penampil suhu yang terbaca sensor. Untuk mendapatkan nilai pembacaan suhu yang sesuai/akurat maka diperlukan kalibrasi dan kalibrasi yang dilakukan dalam sistem ini adalah kalibrasi sensor pada program agar nilai suhu yang ditampilkan sesuai dengan nilai suhu yang ditampilkan air raksa. Di bawah ini adalah flow chart kalibrasi sensor :

70

Mulai

Jalankan ADC sensor suhu

Program pengkondisian sinyal tiap sensor suhu

Rata-rata hasil pembacaan 2 sensor suhu

Tampilkan Hasil

Gambar 4.3 Flow Chart Kalibrasi Sensor Di bawah ini adalah listing program untuk pengujian sensor suhu LM35 :
$regfile = "m16def.dat" ;ATMega yang digunakan ;Crystal yang digunakan $crystal = 12000000 '*************** deklarasi variabel **************** Dim Datasuhu1 As Integer , Datasuhu2 As Integer, Sensor As Byte, Suhu1 As Single , Suhu2 As Single, Pengali As Single, Total_suhu As Single, Tampil_suhu As String * 4, '*************** konfigurasi pin LCD ************** Config Lcdpin = Pin , Db7 = Portd.0 , Db6 = Portd.1 , Db5 = Portd.2 , Db4 = Portd.3 , E = Portd.6 , Rs = Portd.7 Config Lcd = 16 * 2 Cursor Off '*********** baca adc ************** Start Adc ;Aktifkan ADC untuk sensor suhu Cls Do Datasuhu1 = Getadc(0) ;Pembacaan suhu oleh sensor 1 Datasuhu2 = Getadc(1) ;Pembacaan suhu oleh sensor 2 '*********** konversi adc jadi suhu ************ Pengali = 5 / 1024 ;Tegangan referensi ADC 5 volt dicacah sebanyak 10bit (1024 desimal)

71

Pengali = Pengali * 100 Suhu1 = Datasuhu1 * Pengali Suhu2 = Datasuhu2 * Pengali Total_suhu = Suhu1 + Suhu2 Total_suhu = Total_suhu / 2

;Suhu1 dan suhu2 adalah variabel hasil konversi nilai Datasuhu agar nilai suhu yang akan ditampilkan menjadi bentuk desimal ;Total_suhu adalah nilai rata-rata dari kedua sensor pembaca suhu

Tampil_suhu = Fusing(total_suhu , "#.##") ;#.## untuk menentukan nilai suhu sampai 2 digit desimal Locate 1 , 5 : Lcd ; Tampil_suhu ; "'C" Loop ;Menampilkan letak nilai suhu pada LCD

Pengujian sensor suhu dapat dilihat seperti gambar 4.3 di bawah ini :

29,3C

Gambar 4.4 Pengujian Sensor Suhu Dapat dilihat juga pada tabel 4.4 di bawah ini hasil pengujian suhu yang terbaca antara termometer air raksa dengan sensor suhu LM35 : Tabel 4.4 Pengujian Suhu oleh Sensor LM35 No. Suhu Ruangan (C) Air Raksa LM35

72

1. 2. 3. 4. 5. Dari gambar di atas

27,5C 27,57C 28,0C 28,02C 29,3C 29,30C 30,5C 30,51C 31,0C 31,10C menunjukkan bahwa sensor suhu LM35 bekerja

dengan baik karena perbandingan nilai suhu hampir sama antara LM35 dengan termometer air raksa.Pada program di atas, mulanya ADC membaca 2 sensor suhu. Kemudian nilai tegangan suhu dicacah sebanyak 10bit (1024 desimal). Nilai total suhu suhu didapat dari rata-rata kedua nilai suhu dan inilah nilai suhu yang akan ditampilkan pada LCD. Namun pada sistem keseluruhan, suhu ruangan ditampilkan ditampilkan pada 2 digit 7-segmen. Karena hanya menggunakan 2 digit 7-segmen untuk menampilkan suhu, maka suhu yang tertampil nilainya hanya bilangan desimal puluhan dan satuan (tidak dengan angka di belakang koma). 4.1.6 Pengujian Sensor Photodiode Pada pengujian photodiodeyang digunakan sebagai sensor orang masuk dan keluar ruangan menggunakan penampil 7-segmen ,dan untuk mengetahui eksekusi programnya, pada pengujian ini menggunakan 7-segmen sebagai penampil eksekusi. Di bawah ini adalah listing program pengujian sensor photodiode :
$regfile = "m16def.dat" ;ATMega yang digunakan ;Crystal yang digunakan $crystal = 12000000 *************** deklarasi sub rutin *************** Declare Sub Angka_segmen Declare Sub Angka_segmen '*************** deklarasi variabel **************** Dim Datasuhu1 As Integer , Datasuhu2 As Integer, Sensor As Byte, Pengali As Single, Suhu1 As Single , Suhu2 As Single, Tampil_suhu As String * 4 , Total_suhu As Single , Konvert_segmen As Single, Segmen1 As Byte ,

73

Segmen2 As Byte , Data_segmen As Byte, Suhu_segmen As Byte, Orang As Byte '*************** konfigurasi adc **************** Config Adc = Single , Prescaler = Auto , Reference = Avcc '*************** baca adc ****************** Start Adc ;Aktifkan ADC untuk sensor photodiode Cls Do Photo1 = Getadc(3) ;Baca photodiode1 Photo2 = Getadc(2) ;Baca photodiode2 *************** konversi bilangan segmen ************ Segmen1 = Orang / 10 Segmen2 = Segmen1 Segmen1 = Segmen1 * 10 Segmen1 = Orang Segmen1 ************** logika kondisi *************** If Serve1 = 0 Then Bitwait Serve1 , Set If Serve2 = 0 Then Bitwait Serve2 , Set Incr Orang End If Cls End If If Serve2 = 0 Then Bitwait Serve2 , Set If Serve1 = 0 Then Bitwait Serve1 , Set Decr Orang End If Cls End If If Orang = 100 Then Orang = 99 End if ;Batas maksimal orang yang tertampil di 7-segmen adalah 99

If Orang = 255 Then ;Agar tidak ada penurunan nilai Orang Orang = 0 jika Orang=0 End If '********* tampilkan jumlah orang dan suhu ke 7-segment ********* Data_segmen = Segmen2 ;Segmen2 adalah nilai satuan untuk jumlah orang yang masuk ruangan Angka_segmen Seg1 = 1 ;kontrol aktif hanya untuk seg1 Seg2 = 0 Delay Waitus 500

74

Data_segmen = Segmen1

;Segmen1 adalah nilai puluhan untuk orang yang keluar ruangan

Angka_segmen Seg1 = 0 ;kontrol aktif hanya untuk seg2 Seg2 = 1 Delay Waitus 500 Porta = &H00 *************** perulangan **************** Loop '************ sub angka segmen **************** Sub Angka_segmen Select Case Data_segmen Case 0 : Portc = &H40 ;Data bilangan heksadesimal untuk mengaktifkan kombinasi led pada 7segmen agar tertampil kombinasi led bilangan desimal Case 1 : Portc = &HF9 Case 2 : Portc = &H24 Case 3 : Portc = &H30 Case 4 : Portc = &H19 Case 5 : Portc = &H12 Case 6 : Portc = &H02 Case 7 : Portc = &HF8 Case 8 : Portc = &H00 Case 9 : Portc = &H10 End Select End Sub

Berdasarkan pengujian bahwa setiap terdapat orang masuk ke dalam ruangan, maka akan tampil counter pada 2 digit7-segmen dalam desimal sebagai informasi bahwa terdapat sejumlah orang dalam ruangan. Dibawah ini adalah tabel hasil pengujian sensor photodiode : Tabel 4.4 Pengujian Sensor Photodiode Terdapat orang No Masuk 1. Keluar

Tampilan 7-Segmen

75

2. 3. 4. 5. 6.

7.

8.

9.

Keterangan : (ya), (tidak) Dari tabel di atas dapat diketahui bahwa counter orang oleh sensor photodiode berfungsi dengan baik dan dapat menampilkan jumlah orang dalam suatu ruangan pada 2 digit 7-segmen. Namun pada sistem yang dibuat, sensor mendeteksi orang yang masuk atau keluar ruangan secara bertahap/orang tidak berdampingan atau tidak bersama dengan kondisi pintu yang hanya dilewati oleh satu orang saja. Orang yang masuk atau keluar ruangan beriringan dapat terbaca oleh sensor dan menambahkan atau mengurangi counter akan tetapi dengan syarat jarak orang beriringan minimal 1,5 cm karena sensor harus diberi jeda untuk mendapatkan kembali sinar infrared yang masuk pada photodiode agar proses

76

counter berlangsung. Jarak 1,5 cm tersebut adalah jarak antara photodiode 1 dengan photodiode 2. 4.1.7 Pengujian Kipas Pengujian kipas dilakukan untuk mengetahui berfungsi tidaknya sinyal PWM dari mikrokontroller dalam menjalankan kipas dan untuk mengetahui perubahan nilai PWM pada program terhadap putaran kipas. Listing program untuk menguji nyala kipas adalah sperti di bawah ini :
$regfile = "m16def.dat" ;Atmega yang digunakan ;Crystal yang digunakan $crystal = 12000000 '************* deklarasi sub rutin *************** Declare Sub Angka_segmen '************* deklarasi variabel *************** Dim Datasuhu1 As Integer , Datasuhu2 As Integer , Datasuhu3 As Integer , Datasuhu4 As Integer , Sensor As Byte, Suhu1 As Single , Suhu2 As Single, Pengali As Single , Sp As Byte ,Tampil_suhu As String * 4 , Total_suhu As Single, A As Byte , Ulang As Byte '************* konfigurasi PWM *************** Config Timer1 = Pwm , Pwm = 8 , Prescale = 64 , Compare A Pwm = Clear Down Pwm1a = 0 '************** konfigurasi adc **************** Config Adc = Single , Prescaler = Auto , Reference = Avcc '************** konfigurasi pin LCD ************ Config Lcdpin = Pin , Db7 = Portd.0 , Db6 = Portd.1 , Db5 = Portd.2 , Db4 = Portd.3 , E = Portd.6 , Rs = Portd.7 Config Lcd = 16 * 2 Cursor Off '*************konfigurasi input output********** Config Pinb.0 = Input Config Pinb.1 = Input Config Pinb.5 = Input Config Pinb.6 = Input Config Pinb.7 = Input '****** deklarasi input output dalam variabel ****** Serve1 Alias Pinb.0 Serve2 Alias Pinb.1 In_1 Alias Portb.4 In_2 Alias Portb.5 Out_1 Alias Portb.6 Out_2 Alias Portb.7 Portb = &HFF A=0

77

'*********** baca adc ****************** Start Adc Cls Do Datasuhu1 = Getadc(0) Datasuhu2 = Getadc(1) '*********** konversi adc jadi suhu ************ Pengali = 5 / 1024 Pengali = Pengali * 100 Suhu1 = Datasuhu1 * Pengali Suhu2 = Datasuhu2 * Pengali Total_suhu = Suhu1 + Suhu2 Total_suhu = Total_suhu / 2 Tampil_suhu = Fusing(total_suhu , "#.##") '********** PWM ************* Pwm1a = 255 If Serve2 = 0 Then Bitwait Serve2 , Set Incr A Cls End If If Serve1 = 0 Then Bitwait Serve1 , Set Decr A Cls End If If A = 1 Then Pwm1a = 200 End If If A = 2 Then Pwm1a = 150 End If If A = 3 Then Pwm1a = 100 End If If A = 4 Then Pwm1a = 50 End If If A = 5 Then Pwm1a = 0 End If If A = 255 Then A=0

78

End If If A = 7 Then A=6 End If '********** tampilkan suhu ke lcd ********** Locate 1 , 1 : Lcd ; "Pwm=" ; Pwm1a Locate 1 , 11 : Lcd ; "A=" ; A Locate 2 , 1 : Lcd ; Tampil_suhu ; "'Celcius" Loop

Hasil pengujianPWM mikrokontroller dapat dilihat seperti tabel 4.4 di bawah ini : Tabel 4.5 Hasil Pengujian PWM pada Putaran Kipas No Nilai PWM T1 T2 Bentuk gelombang Respon kipas Tidak berputar

0 ms

0 ms

50

0.67 ms

2.3 ms

Berputar pelan

100

1.1 ms

1.6 ms

Berputar sedang

150

1.6 ms

1.1 ms

Berputar mendekati putaran penuh

79

255

2.68 ms

0.02 ms

Berputar penuh

Berdasarkan data hasil pengujian di atas, dapat disimpulkan bahwa untuk PWM 8 bit pada mikrokontroller akan menghasilkan putaran kipas sesuai nilai PWM yang kita tentukan dalam program pada skala PWM 0 255. 4.2 Pengujian Keseluruhan Alat Secara keseluruhan alat yang telah dibuat merupakan prototype terutama untuk simulasi ruangan dan pendingin/kipas seperti gambar di bawah ini :

Gambar 4.5Prototype Sistem Pencacah Kehadiran dan Pengatur Suhu Ruangan Otomatis Berbasis Mikrokontroler Sedangkan untuk software, listing program keseluruhan untuk

menjalankan sistem adalah seperti berikut :


$regfile = "m16def.dat" $crystal = 12000000 '************** deklarasi sub rutin *************** Declare Sub Angka_segmen '*************** deklarasi variabel *************** Dim Datasuhu1 As Integer , Datasuhu2 As Integer , Datasuhu3 As Integer , Datasuhu4 As Integer , Sensor As Byte, Suhu1 As Single , Suhu2 As

80

Single , Suhu3 As Single , Suhu4 As Single , Pengali As Single , Sp As Byte, Tampil_suhu As String * 4 , Total_suhu As Single , Konvert_segmen As Single , Photo1 As Integer , Photo2 As Integer, A As Byte , Kounter As Byte , Setsuhu As Byte , Ulang As Byte , Orang As Byte , Tengah As Byte , Antara As Byte , Teng As Byte , Segmen1 As Byte , Segmen2 As Byte , Segmen3 As Byte , Segmen4 As Byte , Suhu_segmen As Byte , Data_segmen As Byte, Konvert2 As Bit , Konvert1 As Bit '*************** konfigurasi PWM ************** Config Timer1 = Pwm , Pwm = 8 , Prescale = 64 , Compare A Pwm = Clear Down Pwm1a = 0 '*************** konfigurasi adc *************** Config Adc = Single , Prescaler = Auto , Reference = Avcc '************* konfigurasi pin LCD ************* Config Lcdpin = Pin , Db7 = Portd.0 , Db6 = Portd.1 , Db5 = Portd.2 , Db4 = Portd.3 , E = Portd.6 , Rs = Portd.7 Config Lcd = 16 * 2 Cursor Off '*************konfigurasi input output ********* Config Portc = Output Config Pina.4 = Output Config Pina.5 = Output Config Pina.6 = Output Config Pina.7 = Output Config Pinb.0 = Input Config Pinb.1 = Input Config Pinb.2 = Input Config Pinb.3 = Input Config Pinb.4 = Input Config Pinb.5 = Input Config Pinb.6 = Input Config Pinb.7 = Input 'Config Portd.5 = Output '******* deklarasi input output dalam variabel ******* Serve1 Alias Pinb.0 Serve2 Alias Pinb.1 Up Alias Pinb.2 Down Alias Pinb.3 Seg1 Alias Porta.4 Seg2 Alias Porta.5 Seg3 Alias Porta.6 Seg4 Alias Porta.7 In_1 Alias Portb.4 In_2 Alias Portb.5 Out_1 Alias Portb.6 Out_2 Alias Portb.7 Portb = &HFF ;PortB berlogika 1 (high) dan akan melakukan proses eksekusi program ketika diberi logika 0 (low)

81

Setsuhu = 27

;Setsuhu default

'**************** baca adc ****************** Start Adc Cls Do Datasuhu1 = Getadc(0) Datasuhu2 = Getadc(1) '************ konversi adc jadi suhu ************* Pengali = 5 / 1024 Pengali = Pengali * 100 Suhu1 = Datasuhu1 * Pengali Suhu2 = Datasuhu2 * Pengali Total_suhu = Suhu1 + Suhu2 Total_suhu = Total_suhu / 2 Tampil_suhu = Fusing(total_suhu , "#.##") '*********** tampilkan suhu ke 7 segmen ********** Konvert_segmen = -10 ^ -45 Suhu_segmen = Total_suhu + Konvert_segmen Segmen1 = Suhu_segmen / 10 Segmen2 = Segmen1 Segmen1 = Segmen1 * 10 Segmen1 = Suhu_segmen - Segmen1 '*********** pengaturan set point suhu *********** If Up = 0 Then ;Menaikkan setsuhu Bitwait Up , Set Incr Setsuhu Cls End If If Down = 0 Then Bitwait Down , Set Decr Setsuhu Cls End If If Setsuhu = 255 Then Setsuhu = 0 Cls End If If Setsuhu = 19 Then Setsuhu = 20 Cls End If If Setsuhu = 41 Then Setsuhu = 40 Cls ;Menurunkan setsuhu

;Supaya ketika setsuhu=0 maka tidak ada proses penurunan setsuhu

;Memberikan batas minimal setsuhu

;Memberikan batas maksimal setsuhu

82

End If If Serve1 = 0 Then Bitwait Serve1 , Set If Serve2 = 0 Then Bitwait Serve2 , Set Incr Orang End If Cls End If If Serve2 = 0 Then Bitwait Serve2 , Set If Serve1 = 0 Then Bitwait Serve1 , Set Decr Orang End If Cls End If If Orang = 255 Then Orang = 0 End If ;Supaya ketika jumlah Orang=0 maka tidak ada prosen penurunan nilai Orang

************ konversi segmen *************** Segmen3 = Orang / 10 Segmen4 = Segmen3 Segmen3 = Segmen3 * 10 Segmen3 = Orang - Segmen3 '********** tampilkan suhu ke lcd ********** Locate 1 , 1 : Lcd "Setsuhu : " ; Setsuhu ; "'C" ******** logika pengkondisi pwm kipas ****** If Total_suhu > B And Orang >= 1 Then If Total_suhu > 25 And Total_suhu <= 26 Then Pwm1a = 50 Else If Total_suhu > 26 And Total_suhu <= 27 Then Pwm1a = 75 Else If Total_suhu > 27 And Total_suhu <= 28 Then Pwm1a = 100 Else If Total_suhu > 28 And Total_suhu <= 29 Then Pwm1a = 125 Else If Total_suhu > 29 And Total_suhu <= 30 Then

83

Pwm1a = 150 Else If Total_suhu > 30 And Total_suhu <= 31 Then Pwm1a = 175 Else If Total_suhu > 31 And Total_suhu <= 32 Then Pwm1a = 200 Else If Total_suhu > 32 And Total_suhu <= 33 Then Pwm1a = 225 Else If Total_suhu > 33 Then Pwm1a = 255 End If End If End If End If End If End If End If End If End If Else Pwm1a = 0 End If '******** tampilkan jumlah org dan suhu ke 7-segment ******* Seg1 = 1 Seg2 = 0 Seg3 = 0 Seg4 = 0 Delay Waitus 500 Seg1 = 0 Seg2 = 1 Seg3 = 0 Seg4 = 0 Data_segmen = Segmen1 Angka_segmen Delay Waitus 500 Seg1 = 0 Seg2 = 0 Seg3 = 1

84

Seg4 = 0 Data_segmen = Segmen4 Angka_segmen Delay Waitus 500 Seg1 = 0 Seg2 = 0 Seg3 = 0 Seg4 = 1 Data_segmen = Segmen3 Angka_segmen Delay Waitus 500 Porta = &H00 Waitus 500 '*************** perulangan ************** Loop '************ sub angka segmen *********** Sub Angka_segmen Select Case Data_segmen Case 0 : Portc = &H40 Case 1 : Portc = &HF9 Case 2 : Portc = &H24 Case 3 : Portc = &H30 Case 4 : Portc = &H19 Case 5 : Portc = &H12 Case 6 : Portc = &H02 Case 7 : Portc = &HF8 Case 8 : Portc = &H00 Case 9 : Portc = &H10 End Select End Sub

Untuk mengoperasikan sistem ini dimulai dengan menjalankan sistem, yaitu dengan menekan tombol power pada sistem minimum. Tampilan pertama yang muncul adalah seperti gambar 4.6 dan 4.7 di bawah ini untuk 7-segmen dan LCD :

85

Gambar 4.6 Tampilan Awal 7-Segmen

Gambar 4.7 Tampilan Awal LCD Sistem kerja alat ini yaitu ketika tombol power sudah dinyalakan, maka proses pembacaan suhu dan pembacaan orang masuk dalam ruangan dimulai dan ditampilkan pada 7-segmen. Suhu default merupakan suhu awal dimana sistem pertama kali dinyalakan dan belum ada pengaturan batas suhu yang ditentukan pada tampilan setsuhu. Sebelum ada orang masuk, meskipun suhu dalam ruangan lebih besar dari setsuhu default (27C), maka kipas tidak akan menyala. Sedangkan ketika terdapat orang masuk dan suhu lebih besar dari suhu default, kipas akan langsung menyala. Setelah itu kita dapat mengatur nilaisetsuhu dan mengganti setsuhu default sesuai yang diinginkan agar kipas dapat

mempertahankan suhu ruangan yang diharapkan. Di bawah ini adalah tabel hasil pengujian sistem keseluruhan : Tabel 4.6 Hasil Pengujian Sistem Keseluruhan
Terdapat orang Jumlah simulasi orang dalam ruangan

No
Masuk Keluar

Pengaturan Suhu (SetSuhu)

Perlakuan

Suhu Ruangan

Respon kipas

Nilai PWM

86

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.

0 1 2 3 4 5 6

Default (27C) Set 25C Set 26C Set 26C Set 26C Set 26C Set 26C Set 27C Set 29C Set 30C Set 30C Set 30C Set 29C Set 29C Set 29C Set 29C Set 28C Set 27C Set 27C Set 27C Set 26C Set 26C Set 26C

+1C +1C +1C +1C +1C +1C -1C -1C -1C -1C -1C -

26C 26C 26C 27C 27C 28C 28C 29C 29C 30C 31C 32C 31C 30C 29C 28C 28C 28C 28C 27C 27C 27C 27C

OFF ON OFF ON ON ON ON ON OFF OFF ON ON ON ON OFF OFF OFF ON ON OFF ON ON OFF

0 50 0 75 75 100 100 125 0 0 175 200 175 150 0 0 0 100 100 0 75 75 0

7 8 9 10 11 10 9 8 7 6 5 4 3 2 1 0 Keterangan : (ya), (tidak)

Dari tabel pengujian di atas dapat disimpulkan bahwa kipas menyala dengan membandingkan antara suhu ruangan yang terbaca oleh sensor dan pengturan suhu yang kita tentukan. Jika suhu yang terbaca oleh sensor lebih besar dan terdapat orang dalam ruangan maka kipas otomatis akan hidup (ON) dengan putaran yang sudah kita atur pada nilai PWM pada program. Ketika belum terdapat orang dalam ruangan, maka pengaturan setsuhu berada pada posisi default yaitu sebesar 27C. Kemudian seseorang dalam ruangan dapat merubah

87

nilai setsuhu sesuai keinginan dengan batas minimal nilai setsuhu yaitu 20C dan batas maksimal 40C agar suhu ruangan tidak melebihi batas setsuhu yang diberikan. Setiap kenaikan suhu 1C pada range 26 - 33C, maka PWM untuk kipas semakin besar sesuai PWM yang telah ditentukan pada program. Jika suhu ruangan lebih dari 33C, maka kipas berada pada putaran penuh dengan PWM 255. Putaran kipas yang telah diatur oleh PWM, diharapkan dapat menurunkan suhu dalam ruangan dengan putaran kipas yang tidak langsung menyala pada kondisi putaran penuh.

BAB V PENUTUP

5.1

Kesimpulan Setelah melakukan perancangan dan pembuatan proyek akhir Sistem

Pencacah Kehadairan dan Pengatur Suhu Ruangan Otomatis ini maka dapat diambil kesimpulan sebagai berikut : 1. Sistem ini dapat mendeteksi orang masuk dan keluar ruangan, mendeteksi suhu, menampilkan informasi suhu dan jumlah orang dalam ruangan. 2. Kelebihan alat ini diantaranya adalah menyalakan pendingin ruangan secara otomatis dengan mendeteksi terlebih dahulu adanya orang dalam ruangan. 3. Dengan mengatur kapan kipas akan menyala dengan sistem otomatis dan pendeteksian suhu terlebih dahulu, maka dapat menghemat penggunaan energi listrik. 5.2 Saran Penulis menyadari bahwa masih banyak kekurangan di dalam penulisan maupun rangkaian yang telah penulis buat. Dalam hal penulisan masih banyak kesalahan-kesalahan yang tidak disengaja dan juga dalam hal pembuatan rangkaian. Maka dalam bab ini diberikan saran untuk pengembangan lebih lanjut. Adapun saran tersebut antara lain :

87

88

1. Pengembangan dapat dilakukan terhadap perangkat keras atau alat yang digunakan bisa saja menggunakan IC Mikrokontroler yang lain ataupun sensor orang masuk selain sensor photodiode. 2. Pintu yang diaplikasikan yaitu pintu yang hanya bisa dilewati oleh satu orang baik masuk maupun keluar ruangan karena jika orang yang masuk berdampingan 2 orang atau lebih, maka akan terjadi kesalahan counter. 3. Pengembangan dapat dilakukan terhadap perangkat lunak yang digunakan oleh penulis di dalam pembuatan penulisan penelitian ini dan dapat pula digunakan untuk aplikasi yang lain. 4. Untuk komponen-komponen utamanya lebih dikembangkan dalam hal pemakaiannya dan bisa dibuat untuk tujuan ataupun proyek yang lebih besar.

DAFTAR PUSTAKA

Abi Sabrina,Fungsi Dasar Transistor,http://abisabrina.wordpress.com/Diakses pada 6 September 2011.

Agfianto Eko Putra, 2002, Belajar Mikrokontroler (Teori dan Aplikasi), Gava Media, Yogyakarta.

Bayu Sasongko, Informasi Elektronika dan Teknologi Membuat Sensor Suhu dengan LM35 dan Mikrokontroler Atmega16,http://etekno.blogspot.com/ Diakses pada 5 September 2011.

Belajar Elektronika,Rangkaian Display 7 Segmen 4 Digit Multiplex, http://belajar-elektronika.info/ Diakses pada 5 September 2011.

Blackbox Electronics,Membuat Sistem Minimum AVR 40 PIN,http://blackbox86.blogspot.com/ Diakses pada 5 September 2011.

Blackbox Electronics,Tentang LCD, http://blackbox86.blogspot.com/ Diakses pada 6 September 2011.

Depok Instrument,Modul Elektronika,http://depokinstruments.com/ Diakses pada 5 September 2011.

89

90

Edi Permadi, 2005, Antar Muka LED,President University, Jakarta

Electro Control Team,Analog to Digital Converter (ADC),http://electrocontrol.wordpress.com/ September 2011. Diakses pada 5

Insan Sains Projects,PWM Pengatur Kecepatan Mobile Robot, http://insansainsprojects.wordpress.com/ Diakses pada 5 September 2011.

Heryanto Ndaomanu,LED dan Photodioda, http://heryantondaomanu.blogspot.com/ Diakses pada 6 September 2011.

Shato Media,Sensor Suhu LM35, http://shatomedia.com/ Diakses pada 5 September 2011.

Program Keseluruhan Sistem Pencacah Kehadiran dan Suhu Ruangan Otomatis Berbasis Mikrokontroler

$regfile = "m16def.dat" $crystal = 12000000 '************** deklarasi sub rutin *************** Declare Sub Angka_segmen '*************** deklarasi variabel *************** Dim Datasuhu1 As Integer , Datasuhu2 As Integer , Datasuhu3 As Integer , Datasuhu4 As Integer , Sensor As Byte, Suhu1 As Single , Suhu2 As Single , Suhu3 As Single , Suhu4 As Single , Pengali As Single , Sp As Byte, Tampil_suhu As String * 4 , Total_suhu As Single , Konvert_segmen As Single , Photo1 As Integer , Photo2 As Integer, A As Byte , Kounter As Byte , Setsuhu As Byte , Ulang As Byte , Orang As Byte , Tengah As Byte , Antara As Byte , Teng As Byte , Segmen1 As Byte , Segmen2 As Byte , Segmen3 As Byte , Segmen4 As Byte , Suhu_segmen As Byte , Data_segmen As Byte, Konvert2 As Bit , Konvert1 As Bit '*************** konfigurasi PWM ************** Config Timer1 = Pwm , Pwm = 8 , Prescale = 64 , Compare A Pwm = Clear Down Pwm1a = 0 '*************** konfigurasi adc *************** Config Adc = Single , Prescaler = Auto , Reference = Avcc '************* konfigurasi pin LCD ************* Config Lcdpin = Pin , Db7 = Portd.0 , Db6 = Portd.1 , Db5 = Portd.2 , Db4 = Portd.3 , E = Portd.6 , Rs = Portd.7 Config Lcd = 16 * 2 Cursor Off '************* konfigurasi input output ********* Config Portc = Output Config Pina.4 = Output Config Pina.5 = Output Config Pina.6 = Output Config Pina.7 = Output Config Pinb.0 = Input Config Pinb.1 = Input Config Pinb.2 = Input Config Pinb.3 = Input Config Pinb.4 = Input Config Pinb.5 = Input Config Pinb.6 = Input Config Pinb.7 = Input

'Config Portd.5 = Output '******* deklarasi input output dalam variabel ******* Serve1 Alias Pinb.0 Serve2 Alias Pinb.1 Up Alias Pinb.2 Down Alias Pinb.3 Seg1 Alias Porta.4 Seg2 Alias Porta.5 Seg3 Alias Porta.6 Seg4 Alias Porta.7 In_1 Alias Portb.4 In_2 Alias Portb.5 Out_1 Alias Portb.6 Out_2 Alias Portb.7 Portb = &HFF Setsuhu = 27 '**************** baca adc ****************** Start Adc Cls Do Datasuhu1 = Getadc(0) Datasuhu2 = Getadc(1) '************ konversi adc jadi suhu ************* Pengali = 5 / 1024 Pengali = Pengali * 100 Suhu1 = Datasuhu1 * Pengali Suhu2 = Datasuhu2 * Pengali Total_suhu = Suhu1 + Suhu2 Total_suhu = Total_suhu / 2 Tampil_suhu = Fusing(total_suhu , "#.##") '*********** tampilkan suhu ke 7 segmen ********** Konvert_segmen = -10 ^ -45 Suhu_segmen = Total_suhu + Konvert_segmen Segmen1 = Suhu_segmen / 10 Segmen2 = Segmen1 Segmen1 = Segmen1 * 10 Segmen1 = Suhu_segmen - Segmen1 '*********** pengaturan set point suhu *********** If Up = 0 Then Bitwait Up , Set Incr Setsuhu Cls End If

If Down = 0 Then Bitwait Down , Set Decr Setsuhu Cls End If If Setsuhu = 255 Then Setsuhu = 0 Cls End If If Setsuhu = 19 Then Setsuhu = 20 Cls End If If Setsuhu = 41 Then Setsuhu = 40 Cls End If If Serve1 = 0 Then Bitwait Serve1 , Set If Serve2 = 0 Then Bitwait Serve2 , Set Incr Orang End If Cls End If If Serve2 = 0 Then Bitwait Serve2 , Set If Serve1 = 0 Then Bitwait Serve1 , Set Decr Orang End If Cls End If If Orang = 255 Then Orang = 0 End If ************ konversi segmen *************** Segmen3 = Orang / 10

Segmen4 = Segmen3 Segmen3 = Segmen3 * 10 Segmen3 = Orang - Segmen3 '********** tampilkan suhu ke lcd ********** Locate 1 , 1 : Lcd "Setsuhu : " ; Setsuhu ; "'C" ******** logika pengkondisi pwm kipas ****** If Total_suhu > B And Orang >= 1 Then If Total_suhu > 25 And Total_suhu <= 26 Then Pwm1a = 50 Else If Total_suhu > 26 And Total_suhu <= 27 Then Pwm1a = 75 Else If Total_suhu > 27 And Total_suhu <= 28 Then Pwm1a = 100 Else If Total_suhu > 28 And Total_suhu <= 29 Then Pwm1a = 125 Else If Total_suhu > 29 And Total_suhu <= 30 Then Pwm1a = 150 Else If Total_suhu > 30 And Total_suhu <= 31 Then Pwm1a = 175 Else If Total_suhu > 31 And Total_suhu <= 32 Then Pwm1a = 200 Else If Total_suhu > 32 And Total_suhu <= 33 Then Pwm1a = 225 Else If Total_suhu > 33 Then Pwm1a = 255 End If End If End If End If

End If End If End If End If End If Else Pwm1a = 0 End If '******** tampilkan jumlah org dan suhu ke 7-segment ******* Seg1 = 1 Seg2 = 0 Seg3 = 0 Seg4 = 0 Delay Waitus 500 Seg1 = 0 Seg2 = 1 Seg3 = 0 Seg4 = 0 Data_segmen = Segmen1 Angka_segmen Delay Waitus 500 Seg1 = 0 Seg2 = 0 Seg3 = 1 Seg4 = 0 Data_segmen = Segmen4 Angka_segmen Delay Waitus 500 Seg1 = 0 Seg2 = 0 Seg3 = 0 Seg4 = 1 Data_segmen = Segmen3 Angka_segmen Delay Waitus 500 Porta = &H00 Waitus 500 '*************** perulangan ************** Loop

'************ sub angka segmen *********** Sub Angka_segmen Select Case Data_segmen Case 0 : Portc = &H40 Case 1 : Portc = &HF9 Case 2 : Portc = &H24 Case 3 : Portc = &H30 Case 4 : Portc = &H19 Case 5 : Portc = &H12 Case 6 : Portc = &H02 Case 7 : Portc = &HF8 Case 8 : Portc = &H00 Case 9 : Portc = &H10 End Select End Sub

www.fairchildsemi.com

MC78XX/LM78XX/MC78XXA

3-Terminal 1A Positive Voltage Regulator


Features
Output Current up to 1A Output Voltages of 5, 6, 8, 9, 10, 12, 15, 18, 24V Thermal Overload Protection Short Circuit Protection Output Transistor Safe Operating Area Protection

Description
The MC78XX/LM78XX/MC78XXA series of three terminal positive regulators are available in the TO-220/D-PAK package and with several fixed output voltages, making them useful in a wide range of applications. Each type employs internal current limiting, thermal shut down and safe operating area protection, making it essentially indestructible. If adequate heat sinking is provided, they can deliver over 1A output current. Although designed primarily as fixed voltage regulators, these devices can be used with external components to obtain adjustable voltages and currents.
TO-220

1 D-PAK

1 1. Input 2. GND 3. Output

Internal Block Digram

Rev. 1.0.1
2001 Fairchild Semiconductor Corporation

MC78XX/LM78XX/MC78XXA

Absolute Maximum Ratings


Parameter Input Voltage (for VO = 5V to 18V) (for VO = 24V) Thermal Resistance Junction-Cases (TO-220) Thermal Resistance Junction-Air (TO-220) Operating Temperature Range Storage Temperature Range Symbol VI VI RJC RJA TOPR TSTG Value 35 40 5 65 0 ~ +125 -65 ~ +150
o

Unit V V C/W
o o oC/W

C C

Electrical Characteristics (MC7805/LM7805)


(Refer to test circuit ,0C < TJ < 125C, IO = 500mA, VI = 10V, CI= 0.33F, CO= 0.1F, unless otherwise specified) Parameter Symbol TJ =+25 oC Output Voltage VO 5.0mA Io 1.0A, PO 15W VI = 7V to 20V TJ=+25 oC VO = 7V to 25V VI = 8V to 12V IO = 5.0mA to1.5A Load Regulation (Note1) Quiescent Current Quiescent Current Change Output Voltage Drift Output Noise Voltage Ripple Rejection Dropout Voltage Output Resistance Short Circuit Current Peak Current Regload IQ IQ VO/T VN RR VDrop rO ISC IPK TJ=+25 oC TJ =+25 oC IO = 5mA to 1.0A VI= 7V to 25V IO= 5mA f = 10Hz to 100KHz, TA=+25 oC f = 120Hz VO = 8V to 18V IO = 1A, TJ =+25 oC f = 1KHz VI = 35V, TA =+25 TJ =+25 C
o oC

Conditions

MC7805/LM7805 Min. 4.8 4.75 62 Typ. 5.0 5.0 4.0 1.6 9 4 5.0 0.03 0.3 -0.8 42 73 2 15 230 2.2 Max. 5.2 5.25 100 50 100 50 8.0 0.5 1.3 -

Unit

V mV

Line Regulation (Note1)

Regline

IO =250mA to 750mA

mV mA mA mV/ oC V/Vo dB V m mA A

Note: 1. Load and line regulation are specified at constant junction temperature. Changes in Vo due to heating effects must be taken into account separately. Pulse testing with low duty is used.

MC78XX/LM78XX/MC78XXA

Electrical Characteristics (MC7806)


(Refer to test circuit ,0C < TJ < 125C, IO = 500mA, VI =11V, CI= 0.33F, CO= 0.1F, unless otherwise specified) Parameter Symbol TJ =+25 oC Output Voltage VO 5.0mA IO 1.0A, PO 15W VI = 8.0V to 21V TJ =+25 oC TJ =+25 oC TJ =+25 oC IO = 5mA to 1A VI = 8V to 25V IO = 5mA f = 10Hz to 100KHz, TA =+25 oC f = 120Hz VI = 9V to 19V IO = 1A, TJ =+25 oC f = 1KHz VI= 35V, TA TJ =+25 oC =+25 oC VI = 8V to 25V VI = 9V to 13V IO =5mA to 1.5A IO =250mA to750A Conditions MC7806 Min. 5.75 5.7 59 Typ. 6.0 6.0 5 1.5 9 3 5.0 -0.8 45 75 2 19 250 2.2 Max. 6.25 6.3 120 60 120 60 8.0 0.5 1.3 V mV mV mA mA mV/ oC V/Vo dB V m mA A Unit

Line Regulation (Note1) Load Regulation (Note1) Quiescent Current Quiescent Current Change Output Voltage Drift Output Noise Voltage Ripple Rejection Dropout Voltage Output Resistance Short Circuit Current Peak Current

Regline Regload IQ IQ VO/T VN RR VDrop rO ISC IPK

Note: 1. Load and line regulation are specified at constant junction temperature. Changes in VO due to heating effects must be taken into account separately. Pulse testing with low duty is used.

MC78XX/LM78XX/MC78XXA

Electrical Characteristics (MC7808)


(Refer to test circuit ,0C < TJ < 125C, IO = 500mA, VI =14V, CI= 0.33F, CO= 0.1F, unless otherwise specified) Parameter Symbol TJ =+25 oC Output Voltage VO 5.0mA IO 1.0A, PO 15W VI = 10.5V to 23V TJ =+25 oC TJ =+25 oC TJ =+25 oC IO = 5mA to 1.0A VI = 10.5A to 25V IO = 5mA f = 10Hz to 100KHz, TA =+25 oC f = 120Hz, VI= 11.5V to 21.5V IO = 1A, TJ=+25 C f = 1KHz VI= 35V, TA TJ =+25 C
o o

Conditions

MC7808 Min. 7.7 7.6 56 Typ. Max. 8.0 8.0 5.0 2.0 10 5.0 5.0 0.05 0.5 -0.8 52 73 2 17 230 2.2 8.3 8.4 160 80 160 80 8.0 0.5 1.0 -

Unit

V mV mV mA mA mV/ oC V/Vo dB V m mA A

Line Regulation (Note1) Load Regulation (Note1) Quiescent Current Quiescent Current Change Output Voltage Drift Output Noise Voltage Ripple Rejection Dropout Voltage Output Resistance Short Circuit Current Peak Current

Regline Regload IQ IQ VO/T VN RR VDrop rO ISC IPK

VI = 10.5V to 25V VI = 11.5V to 17V IO = 5.0mA to 1.5A IO= 250mA to 750mA

=+25 oC

Note: 1. Load and line regulation are specified at constant junction temperature. Changes in VO due to heating effects must be taken into account separately. Pulse testing with low duty is used.

MC78XX/LM78XX/MC78XXA

Electrical Characteristics (MC7809)


(Refer to test circuit ,0C < TJ < 125C, IO = 500mA, VI =15V, CI= 0.33F, CO= 0.1F, unless otherwise specified) Parameter Symbol TJ =+25C Output Voltage VO 5.0mA IO 1.0A, PO 15W VI= 11.5V to 24V TJ=+25C TJ=+25C TJ=+25C IO = 5mA to 1.0A VI = 11.5V to 26V IO = 5mA f = 10Hz to 100KHz, TA =+25 C f = 120Hz VI = 13V to 23V IO = 1A, TJ=+25C f = 1KHz VI= 35V, TA =+25C TJ= +25C VI = 11.5V to 25V VI = 12V to 17V IO = 5mA to 1.5A IO = 250mA to 750mA Conditions MC7809 Min. 8.65 8.6 56 Typ. 9 9 6 2 12 4 5.0 -1 58 71 2 17 250 2.2 Max. 9.35 9.4 180 90 180 90 8.0 0.5 1.3 V mV mV mA mA mV/ C V/Vo dB V m mA A Unit

Line Regulation (Note1) Load Regulation (Note1) Quiescent Current Quiescent Current Change Output Voltage Drift Output Noise Voltage Ripple Rejection Dropout Voltage Output Resistance Short Circuit Current Peak Current

Regline Regload IQ IQ VO/T VN RR VDrop rO ISC IPK

Note: 1. Load and line regulation are specified at constant junction temperature. Changes in VO due to heating effects must be taken into account separately. Pulse testing with low duty is used.

MC78XX/LM78XX/MC78XXA

Electrical Characteristics (MC7810)


(Refer to test circuit ,0C< TJ < 125C, IO = 500mA, VI =16V, CI= 0.33F, CO=0.1F, unless otherwise specified) Parameter Symbol TJ =+25 C Output Voltage VO 5.0mA IO1.0A, PO 15W VI = 12.5V to 25V TJ =+25C TJ =+25C TJ =+25C IO = 5mA to 1.0A VI = 12.5V to 29V IO = 5mA f = 10Hz to 100KHz, TA =+25 C f = 120Hz VI = 13V to 23V IO = 1A, TJ=+25 C f = 1KHz VI = 35V, TA=+25 C TJ =+25 C VI = 12.5V to 25V VI = 13V to 25V IO = 5mA to 1.5A IO = 250mA to 750mA Conditions MC7810 Min. 9.6 9.5 56 Typ. 10 10 10 3 12 4 5.1 -1 58 71 2 17 250 2.2 Max. 10.4 10.5 200 100 200 400 8.0 0.5 1.0 V mV mV mA mA mV/C V/Vo dB V m mA A Unit

Line Regulation (Note1) Load Regulation (Note1) Quiescent Current Quiescent Current Change Output Voltage Drift Output Noise Voltage Ripple Rejection Dropout Voltage Output Resistance Short Circuit Current Peak Current

Regline Regload IQ IQ VO/T VN RR VDrop rO ISC IPK

Note: 1. Load and line regulation are specified at constant junction temperature. Changes in VO due to heating effects must be taken into account separately. Pulse testing with low duty is used.

MC78XX/LM78XX/MC78XXA

Electrical Characteristics (MC7812)


(Refer to test circuit ,0C < TJ < 125C, IO = 500mA, VI =19V, CI= 0.33F, CO=0.1F, unless otherwise specified) Parameter Symbol TJ =+25 oC Output Voltage VO 5.0mA IO1.0A, PO15W VI = 14.5V to 27V TJ =+25 oC VI = 14.5V to 30V VI = 16V to 22V IO = 5mA to 1.5A IO = 250mA to 750mA Conditions MC7812 Min. 11.5 11.4 55 =+25 oC Typ. Max. 12 12 10 3.0 11 5.0 5.1 0.1 0.5 -1 76 71 2 18 230 2.2 12.5 12.6 240 120 240 120 8.0 0.5 1.0 V mV mV mA mA mV/ oC V/Vo dB V m mA A Unit

Line Regulation (Note1) Load Regulation (Note1) Quiescent Current Quiescent Current Change Output Voltage Drift Output Noise Voltage Ripple Rejection Dropout Voltage Output Resistance Short Circuit Current Peak Current

Regline

Regload TJ =+25 oC IQ IQ VO/T VN RR VDrop rO ISC IPK TJ =+25 oC IO = 5mA to 1.0A VI = 14.5V to 30V IO = 5mA

f = 10Hz to 100KHz, TA =+25 oC f = 120Hz VI = 15V to 25V IO = 1A, TJ=+25 oC f = 1KHz VI = 35V, TA TJ = +25 oC

Note: 1. Load and line regulation are specified at constant junction temperature. Changes in VO due to heating effects must be taken into account separately. Pulse testing with low duty is used.

MC78XX/LM78XX/MC78XXA

Electrical Characteristics (MC7815)


(Refer to test circuit ,0C < TJ < 125C, IO = 500mA, VI =23V, CI= 0.33F, CO=0.1F, unless otherwise specified) Parameter Symbol TJ =+25 oC Output Voltage VO 5.0mA IO 1.0A, PO 15W VI = 17.5V to 30V TJ =+25 oC VI = 17.5V to 30V VI = 20V to 26V IO = 5mA to 1.5A Load Regulation (Note1) Quiescent Current Quiescent Current Change Output Voltage Drift Output Noise Voltage Ripple Rejection Dropout Voltage Output Resistance Short Circuit Current Peak Current Regload IQ IQ VO/T VN RR VDrop rO ISC IPK TJ =+25 oC TJ =+25 oC IO = 5mA to 1.0A VI = 17.5V to 30V IO = 5mA f = 10Hz to 100KHz, TA =+25 C f = 120Hz VI = 18.5V to 28.5V IO = 1A, TJ=+25 oC f = 1KHz VI = 35V, TA=+25 oC TJ =+25 C
o o

Conditions

MC7815 Min. 14.4 14.25 54 Typ. 15 15 11 3 12 4 5.2 -1 90 70 2 19 250 2.2 Max. 15.6 15.75 300 150 300 150 8.0 0.5 1.0 -

Unit

V mV

Line Regulation (Note1)

Regline

IO = 250mA to 750mA

mV mA mA mV/ oC V/Vo dB V m mA A

Note: 1. Load and line regulation are specified at constant junction temperature. Changes in VO due to heating effects must be taken into account separately. Pulse testing with low duty is used.

MC78XX/LM78XX/MC78XXA

Electrical Characteristics (MC7818)


(Refer to test circuit ,0C < TJ < 125C, IO = 500mA, VI =27V, CI= 0.33F, CO=0.1F, unless otherwise specified) Parameter Symbol TJ =+25 oC Output Voltage VO 5.0mA IO 1.0A, PO 15W VI = 21V to 33V TJ =+25 oC VI = 21V to 33V VI = 24V to 30V IO = 5mA to 1.5A IO = 250mA to 750mA Conditions MC7818 Min. 17.3 17.1 53 =+25 oC Typ. Max. 18 18 15 5 15 5.0 5.2 -1 110 69 2 22 250 2.2 18.7 18.9 360 180 360 180 8.0 0.5 1 V mV mV mA mA mV/ oC V/Vo dB V m mA A Unit

Line Regulation (Note1) Load Regulation (Note1) Quiescent Current Quiescent Current Change Output Voltage Drift Output Noise Voltage Ripple Rejection Dropout Voltage Output Resistance Short Circuit Current Peak Current

Regline

Regload TJ =+25 oC IQ IQ VO/T VN RR VDrop rO ISC IPK TJ =+25 oC IO = 5mA to 1.0A VI = 21V to 33V IO = 5mA

f = 10Hz to 100KHz, TA =+25 oC f = 120Hz VI = 22V to 32V IO = 1A, TJ=+25 oC f = 1KHz VI = 35V, TA TJ =+25 oC

Note: 1. Load and line regulation are specified at constant junction temperature. Changes in VO due to heating effects must be taken into account separately. Pulse testing with low duty is used.

MC78XX/LM78XX/MC78XXA

Electrical Characteristics (MC7824)


(Refer to test circuit ,0C < TJ < 125C, IO = 500mA, VI =33V, CI= 0.33F, CO=0.1F, unless otherwise specified) Parameter Symbol TJ =+25 oC Output Voltage VO 5.0mA IO 1.0A, PO 15W VI = 27V to 38V TJ =+25 oC TJ =+25 oC TJ =+25 oC IO = 5mA to 1.0A VI = 27V to 38V IO = 5mA f = 10Hz to 100KHz, TA =+25 oC f = 120Hz VI = 28V to 38V IO = 1A, TJ=+25 oC f = 1KHz VI = 35V, TA=+25 TJ =+25 oC
oC

Conditions

MC7824 Min. 23 22.8 50 Typ. Max. 24 24 17 6 15 5.0 5.2 0.1 0.5 -1.5 60 67 2 28 230 2.2 25 25.25 480 240 480 240 8.0 0.5 1 -

Unit

V mV mV mA mA mV/ oC V/Vo dB V m mA A

Line Regulation (Note1) Load Regulation (Note1) Quiescent Current Quiescent Current Change Output Voltage Drift Output Noise Voltage Ripple Rejection Dropout Voltage Output Resistance Short Circuit Current Peak Current

Regline Regload IQ IQ VO/T VN RR VDrop rO ISC IPK

VI = 27V to 38V VI = 30V to 36V IO = 5mA to 1.5A IO = 250mA to 750mA

Note: 1. Load and line regulation are specified at constant junction temperature. Changes in VO due to heating effects must be taken into account separately. Pulse testing with low duty is used.

10

MC78XX/LM78XX/MC78XXA

Electrical Characteristics (MC7805A)


(Refer to the test circuits. 0C < TJ < 125C, Io =1A, V I = 10V, C I=0.33F, C O=0.1F, unless otherwise specified) Parameter Output Voltage Symbol TJ =+25 VO Conditions
oC

Min. 4.9 4.8 -

Typ. 5 5 5 3 5 1.5 9 9 4 5.0 -0.8 10 68 2 17 250 2.2

Max. 5.1 5.2 50 50 50 25 100 100 50 6 0.5 0.8 0.8 -

Unit V

IO = 5mA to 1A, PO 15W VI = 7.5V to 20V VI = 7.5V to 25V IO = 500mA

Line Regulation (Note1)

Regline

VI = 8V to 12V TJ =+25 oC VI= 7.3V to 20V VI= 8V to 12V

mV

Load Regulation (Note1)

Regload

TJ =+25 oC IO = 5mA to 1.5A IO = 5mA to 1A IO = 250mA to 750mA TJ =+25


oC

mV

Quiescent Current Quiescent Current Change Output Voltage Drift Output Noise Voltage Ripple Rejection Dropout Voltage Output Resistance Short Circuit Current Peak Current

IQ IQ V/T VN RR VDrop rO ISC IPK

mA mA mV/ oC V/Vo dB V m mA A

IO = 5mA to 1A VI = 8 V to 25V, IO = 500mA VI = 7.5V to 20V, TJ =+25 Io = 5mA f = 10Hz to 100KHz TA =+25 oC f = 120Hz, IO = 500mA VI = 8V to 18V IO = 1A, TJ =+25 oC f = 1KHz VI= 35V, TA TJ= +25 oC =+25 oC
oC

Note: 1. Load and line regulation are specified at constant junction temperature. Change in VO due to heating effects must be taken into account separately. Pulse testing with low duty is used.

11

MC78XX/LM78XX/MC78XXA

Electrical Characteristics (MC7806A)


(Refer to the test circuits. 0C < TJ < 125C, Io =1A, V I =11V, C I=0.33F, C O=0.1F, unless otherwise specified) Parameter Output Voltage Symbol TJ =+25 VO Conditions
oC

Min. 5.58 5.76 -

Typ. 6 6 5 3 5 1.5 9 4 5.0 4.3 -0.8 10 65 2 17 250 2.2

Max. 6.12 6.24 60 60 60 30 100 100 50 6 0.5 0.8 0.8 -

Unit V

IO = 5mA to 1A, PO 15W VI = 8.6V to 21V VI= 8.6V to 25V IO = 500mA

Line Regulation (Note1)

Regline

VI= 9V to 13V TJ =+25 oC VI= 8.3V to 21V VI= 9V to 13V

mV

Load Regulation (Note1)

Regload

TJ =+25 oC IO = 5mA to 1.5A IO = 5mA to 1A IO = 250mA to 750mA TJ =+25


oC

mV

Quiescent Current Quiescent Current Change Output Voltage Drift Output Noise Voltage Ripple Rejection Dropout Voltage Output Resistance Short Circuit Current Peak Current

IQ IQ V/T VN RR VDrop rO ISC IPK

mA mA mV/ oC V/Vo dB V m mA A

IO = 5mA to 1A VI = 9V to 25V, IO = 500mA VI= 8.5V to 21V, TJ IO = 5mA f = 10Hz to 100KHz TA =+25 oC f = 120Hz, IO = 500mA VI = 9V to 19V IO = 1A, TJ =+25 oC f = 1KHz VI= 35V, TA TJ=+25 oC =+25 oC =+25 oC

Note: 1. Load and line regulation are specified at constant junction temperature. Change in VO due to heating effects must be taken into account separately. Pulse testing with low duty is used.

12

MC78XX/LM78XX/MC78XXA

Electrical Characteristics (MC7808A)


(Refer to the test circuits. 0C < TJ < 125C, Io =1A, V I = 14V, C I=0.33F, C O=0.1F, unless otherwise specified) Parameter Output Voltage Symbol
o

Conditions TJ =+25 C IO = 5mA to 1A, PO 15W VI = 10.6V to 23V VI= 10.6V to 25V IO = 500mA

Min. 7.84 7.7 -

Typ. 8 8 6 3 6 2 12 12 5 5.0 -0.8 10 62 2 18 250 2.2

Max. 8.16 8.3 80 80 80 40 100 100 50 6 0.5 0.8 0.8 -

Unit V

VO

Line Regulation (Note1)

Regline

VI= 11V to 17V TJ =+25 oC


o

mV

VI= 10.4V to 23V VI= 11V to 17V

Load Regulation (Note1)

Regload

TJ =+25 C IO = 5mA to 1.5A IO = 5mA to 1A IO = 250mA to 750mA TJ =+25 C IO = 5mA to 1A VI = 11V to 25V, IO = 500mA VI= 10.6V to 23V, TJ =+25 C
o o

mV

Quiescent Current Quiescent Current Change Output Voltage Drift Output Noise Voltage Ripple Rejection Dropout Voltage Output Resistance Short Circuit Current Peak Current

IQ IQ V/T VN RR VDrop rO ISC IPK

mA mA mV/ oC V/Vo dB V m mA A

IO = 5mA f = 10Hz to 100KHz TA =+25 oC f = 120Hz, IO = 500mA VI = 11.5V to 21.5V IO = 1A, TJ =+25 oC f = 1KHz VI= 35V, TA =+25 oC TJ=+25 C
o

Note: 1. Load and line regulation are specified at constant junction temperature. Change in VO due to heating effects must be taken into account separately. Pulse testing with low duty is used.

13

MC78XX/LM78XX/MC78XXA

Electrical Characteristics (MC7809A)


(Refer to the test circuits. 0C < TJ < 125C, Io =1A, V I = 15V, C I=0.33F, C O=0.1F, unless otherwise specified) Parameter Output Voltage Symbol TJ VO =+25C Conditions IO = 5mA to 1A, PO15W VI = 11.2V to 24V VI= 11.7V to 25V IO = 500mA Line Regulation (Note1) Regline VI= 12.5V to 19V TJ =+25C VI= 11.5V to 24V VI= 12.5V to 19V Min. 8.82 8.65 =+25 C Typ. 9.0 9.0 6 4 6 2 12 12 5 5.0 -1.0 10 62 2.0 17 250 2.2 Max. 9.18 9.35 90 45 90 45 100 100 50 6.0 0.8 0.8 0.5 mV/ C V/Vo dB V m mA A mA mA mV mV V Unit

Load Regulation (Note1)

Regload

TJ =+25C IO = 5mA to 1.0A IO = 5mA to 1.0A IO = 250mA to 750mA TJ =+25 C

Quiescent Current Quiescent Current Change Output Voltage Drift Output Noise Voltage Ripple Rejection Dropout Voltage Output Resistance Short Circuit Current Peak Current

IQ IQ V/T VN RR VDrop rO ISC IPK

VI = 11.7V to 25V, TJ=+25 C VI = 12V to 25V, IO = 500mA IO = 5mA to 1.0A IO = 5mA f = 10Hz to 100KHz TA =+25 C f = 120Hz, IO = 500mA VI = 12V to 22V IO = 1A, TJ =+25 C f = 1KHz VI= 35V, TA TJ=+25C

Note: 1. Load and line regulation are specified at constant, junction temperature. Change in VO due to heating effects must be taken into account separately. Pulse testing with low duty is used.

14

MC78XX/LM78XX/MC78XXA

Electrical Characteristics (MC7810A)


(Refer to the test circuits. 0C < TJ < 125C, Io =1A, V I = 16V, C I=0.33F, C O=0.1F, unless otherwise specified) Parameter Output Voltage Symbol TJ VO =+25C Conditions IO = 5mA to 1A, PO 15W VI =12.8V to 25V VI= 12.8V to 26V IO = 500mA Line Regulation (Note1) Regline VI= 13V to 20V TJ =+25 C VI= 12.5V to 25V VI= 13V to 20V Min. 9.8 9.6 =+25 C Typ. 10 10 8 4 8 3 12 12 5 5.0 -1.0 10 62 2.0 17 250 2.2 Max. 10.2 10.4 100 50 100 50 100 100 50 6.0 0.5 0.8 0.5 mV/ C V/Vo dB V m mA A mA mA mV mV V Unit

Load Regulation (Note1)

Regload

TJ =+25 C IO = 5mA to 1.5A IO = 5mA to 1.0A IO = 250mA to 750mA TJ =+25 C

Quiescent Current Quiescent Current Change Output Voltage Drift Output Noise Voltage Ripple Rejection Dropout Voltage Output Resistance Short Circuit Current Peak Current

IQ IQ V/T VN RR VDrop rO ISC IPK

VI = 13V to 26V, TJ=+25 C VI = 12.8V to 25V, IO = 500mA IO = 5mA to 1.0A IO = 5mA f = 10Hz to 100KHz TA =+25 C f = 120Hz, IO = 500mA VI = 14V to 24V IO = 1A, TJ =+25C f = 1KHz VI= 35V, TA TJ=+25 C

Note: 1. Load and line regulation are specified at constant junction temperature. Change in VO due to heating effects must be taken into account separately. Pulse testing with low duty is used.

15

MC78XX/LM78XX/MC78XXA

Electrical Characteristics (MC7812A)


(Refer to the test circuits. 0C < TJ < 125C, Io =1A, V I = 19V, C I=0.33F, C O=0.1F, unless otherwise specified) Parameter Output Voltage Symbol TJ VO Conditions =+25 C IO = 5mA to 1A, PO 15W VI = 14.8V to 27V VI= 14.8V to 30V IO = 500mA Line Regulation (Note1) Regline VI= 16V to 22V TJ =+25 C VI= 14.5V to 27V VI= 16V to 22V Min. 11.75 11.5 =+25 C -1.0 10 60 2.0 18 250 2.2 Typ. 12 12 10 4 10 3 12 12 5 5.1 Max. 12.25 12.5 120 120 120 60 100 100 50 6.0 0.8 0.8 0.5 mV/C V/Vo dB V m mA A mA mA mV mV V Unit

Load Regulation (Note1)

Regload

TJ =+25 C IO = 5mA to 1.5A IO = 5mA to 1.0A IO = 250mA to 750mA TJ =+25C

Quiescent Current Quiescent Current Change Output Voltage Drift Output Noise Voltage Ripple Rejection Dropout Voltage Output Resistance Short Circuit Current Peak Current

IQ IQ V/T VN RR VDrop rO ISC IPK

VI = 15V to 30V, TJ=+25 C VI = 14V to 27V, IO = 500mA IO = 5mA to 1.0A IO = 5mA f = 10Hz to 100KHz TA =+25C f = 120Hz, IO = 500mA VI = 14V to 24V IO = 1A, TJ =+25C f = 1KHz VI= 35V, TA TJ=+25 C

Note: 1. Load and line regulation are specified at constant junction temperature. Change in VO due to heating effects must be taken into account separately. Pulse testing with low duty is used.

16

MC78XX/LM78XX/MC78XXA

Electrical Characteristics (MC7815A)


(Refer to the test circuits. 0C < TJ < 125C, Io =1A, V I =23V, C I=0.33F, C O=0.1F, unless otherwise specified) Parameter Output Voltage Symbol TJ VO Conditions =+25 C IO = 5mA to 1A, PO 15W VI = 17.7V to 30V VI= 17.9V to 30V IO = 500mA Line Regulation (Note1) Regline VI= 20V to 26V TJ =+25C VI= 17.5V to 30V VI= 20V to 26V Min. 14.7 14.4 =+25 C Typ. 15 15 10 5 11 3 12 12 5 5.2 -1.0 10 58 2.0 19 250 2.2 Max. 15.3 15.6 150 150 150 75 100 100 50 6.0 0.8 0.8 0.5 mV/C V/Vo dB V m mA A mA mA mV mV V Unit

Load Regulation (Note1)

Regload

TJ =+25 C IO = 5mA to 1.5A IO = 5mA to 1.0A IO = 250mA to 750mA TJ =+25 C

Quiescent Current Quiescent Current Change Output Voltage Drift Output Noise Voltage Ripple Rejection Dropout Voltage Output Resistance Short Circuit Current Peak Current

IQ IQ V/T VN RR VDrop rO ISC IPK

VI = 17.5V to 30V, TJ =+25 C VI = 17.5V to 30V, IO = 500mA IO = 5mA to 1.0A IO = 5mA f = 10Hz to 100KHz TA =+25 C f = 120Hz, IO = 500mA VI = 18.5V to 28.5V IO = 1A, TJ =+25 C f = 1KHz VI= 35V, TA TJ=+25C

Note: 1. Load and line regulation are specified at constant junction temperature. Change in VO due to heating effects must be taken into account separately. Pulse testing with low duty is used.

17

MC78XX/LM78XX/MC78XXA

Electrical Characteristics (MC7818A)


(Refer to the test circuits. 0C < TJ < 125C, Io =1A, V I = 27V, C I=0.33F, C O=0.1F, unless otherwise specified) Parameter Output Voltage Symbol TJ VO Conditions =+25 C IO = 5mA to 1A, PO 15W VI = 21V to 33V VI= 21V to 33V IO = 500mA Line Regulation (Note1) Regline VI= 21V to 33V TJ =+25 C VI= 20.6V to 33V VI= 24V to 30V Min. 17.64 17.3 =+25C Typ. 18 18 15 5 15 5 15 15 7 5.2 -1.0 10 57 2.0 19 250 2.2 Max. 18.36 18.7 180 180 180 90 100 100 50 6.0 0.8 0.8 0.5 mV/ C V/Vo dB V m mA A mA mA mV mV V Unit

Load Regulation (Note1)

Regload

TJ =+25C IO = 5mA to 1.5A IO = 5mA to 1.0A IO = 250mA to 750mA TJ =+25 C

Quiescent Current Quiescent Current Change Output Voltage Drift Output Noise Voltage Ripple Rejection Dropout Voltage Output Resistance Short Circuit Current Peak Current

IQ IQ V/T VN RR VDrop rO ISC IPK

VI = 21V to 33V, TJ=+25 C VI = 21V to 33V, IO = 500mA IO = 5mA to 1.0A IO = 5mA f = 10Hz to 100KHz TA =+25C f = 120Hz, IO = 500mA VI = 22V to 32V IO = 1A, TJ =+25C f = 1KHz VI= 35V, TA TJ=+25 C

Note: 1. Load and line regulation are specified at constant junction temperature. Change in VO due to heating effects must be taken into account separately. Pulse testing with low duty is used.

18

MC78XX/LM78XX/MC78XXA

Electrical Characteristics (MC7824A)


(Refer to the test circuits. 0C < TJ < 125C, Io =1A, V I = 33V, C I=0.33F, C O=0.1F, unless otherwise specified) Parameter Output Voltage Symbol TJ VO Conditions =+25 C IO = 5mA to 1A, PO 15W VI = 27.3V to 38V VI= 27V to 38V IO = 500mA Line Regulation (Note1) Regline VI= 21V to 33V TJ =+25 C VI= 26.7V to 38V VI= 30V to 36V Min. 23.5 23 =+25 C Typ. 24 24 18 6 18 6 15 15 7 5.2 -1.5 10 54 2.0 20 250 2.2 Max. 24.5 25 240 240 240 120 100 100 50 6.0 0.8 0.8 0.5 mV/ C V/Vo dB V m mA A mA mA mV mV V Unit

Load Regulation (Note1)

Regload

TJ =+25 C IO = 5mA to 1.5A IO = 5mA to 1.0A IO = 250mA to 750mA TJ =+25 C

Quiescent Current Quiescent Current Change Output Voltage Drift Output Noise Voltage Ripple Rejection Dropout Voltage Output Resistance Short Circuit Current Peak Current

IQ IQ V/T VN RR VDrop rO ISC IPK

VI = 27.3V to 38V, TJ =+25 C VI = 27.3V to 38V, IO = 500mA IO = 5mA to 1.0A IO = 5mA f = 10Hz to 100KHz TA = 25 C f = 120Hz, IO = 500mA VI = 28V to 38V IO = 1A, TJ =+25 C f = 1KHz VI= 35V, TA TJ=+25 C

Note: 1. Load and line regulation are specified at constant junction temperature. Change in VO due to heating effects must be taken into account separately. Pulse testing with low duty is used.

19

MC78XX/LM78XX/MC78XXA

Typical Perfomance Characteristics

Figure 1. Quiescent Current

Figure 2. Peak Output Current

Figure 3. Output Voltage

Figure 4. Quiescent Current

20

MC78XX/LM78XX/MC78XXA

Typical Applications

MC78XX/LM78XX Input Output

Figure 5. DC Parameters

MC78XX/LM78XX Input Output

Figure 6. Load Regulation

MC78XX/LM78XX Input Output

Figure 7. Ripple Rejection

Input

MC78XX/LM78XX

Output

Figure 8. Fixed Output Regulator

21

MC78XX/LM78XX/MC78XXA

Input CI

MC78XX/LM78XX

Output

Co

Figure 9. Constant Current Regulator Notes: (1) To specify an output voltage. substitute voltage value for "XX." A common ground is required between the input and the Output voltage. The input voltage must remain typically 2.0V above the output voltage even during the low point on the input ripple voltage. (2) CI is required if regulator is located an appreciable distance from power Supply filter. (3) CO improves stability and transient response.

Input MC78XX/LM78XX CI Co

Output

I RI 5IQ VO = VXX(1+R2/R1)+IQR2 Figure 10. Circuit for Increasing Output Voltage

Input

MC7805 LM7805

Output

CI

LM741 Co

IRI 5 IQ VO = VXX(1+R2/R1)+IQR2 Figure 11. Adjustable Output Regulator (7 to 30V)

22

MC78XX/LM78XX/MC78XXA

Input

Output MC78XX/LM78XX

Figure 12. High Current Voltage Regulator

Input

MC78XX/LM78XX

Output

Figure 13. High Output Current with Short Circuit Protection

MC78XX/LM78XX

LM741

Figure 14. Tracking Voltage Regulator

23

MC78XX/LM78XX/MC78XXA

MC7815

MC7915

Figure 15. Split Power Supply ( 15V-1A)

Output Input

MC78XX/LM78XX

Figure 16. Negative Output Voltage Circuit

Input

Output

MC78XX/LM78XX

Figure 17. Switching Regulator

24

MC78XX/LM78XX/MC78XXA

Mechanical Dimensions
Package

TO-220
9.90 0.20 1.30 0.10 2.80 0.10 (8.70) 3.60 0.10 (1.70) 4.50 0.20

1.30 0.05

+0.10

9.20 0.20

(1.46)

13.08 0.20

(1.00)

(3.00)

15.90 0.20

1.27 0.10

1.52 0.10

0.80 0.10 2.54TYP [2.54 0.20] 2.54TYP [2.54 0.20]

10.08 0.30

18.95MAX.

(3.70)

(45 )
0.50 0.05
+0.10

2.40 0.20

10.00 0.20

25

MC78XX/LM78XX/MC78XXA

Mechancal Dimensions (Continued)


Package

D-PAK
6.60 0.20 5.34 0.30 (0.50) (4.34) (0.50) 0.70 0.20 2.30 0.10 0.50 0.10

0.60 0.20

6.10 0.20

2.70 0.20

9.50 0.30

0.91 0.10

0.80 0.20

MAX0.96 2.30TYP [2.300.20]

0.76 0.10 2.30TYP [2.300.20]

0.89 0.10

0.50 0.10 1.02 0.20 2.30 0.20

(0.70)

(0.90) (0.10) (3.05)

6.10 0.20

9.50 0.30

2.70 0.20

(2XR0.25)

0.76 0.10

26

(1.00)

6.60 0.20 (5.34) (5.04) (1.50)

MIN0.55

MC78XX/LM78XX/MC78XXA

Ordering Information
Product Number LM7805CT Output Voltage Tolerance 4% Package TO-220 Operating Temperature 0 ~ + 125C

Product Number MC7805CT MC7806CT MC7808CT MC7809CT MC7810CT MC7812CT MC7815CT MC7818CT MC7824CT MC7805CDT MC7806CDT MC7808CDT MC7809CDT MC7810CDT MC7812CDT MC7805ACT MC7806ACT MC7808ACT MC7809ACT MC7810ACT MC7812ACT MC7815ACT MC7818ACT MC7824ACT

Output Voltage Tolerance

Package

Operating Temperature

TO-220

4%

D-PAK

0 ~ + 125C

2%

TO-220

27

MC78XX/LM78XX/MC78XXA

DISCLAIMER FAIRCHILD SEMICONDUCTOR RESERVES THE RIGHT TO MAKE CHANGES WITHOUT FURTHER NOTICE TO ANY PRODUCTS HEREIN TO IMPROVE RELIABILITY, FUNCTION OR DESIGN. FAIRCHILD DOES NOT ASSUME ANY LIABILITY ARISING OUT OF THE APPLICATION OR USE OF ANY PRODUCT OR CIRCUIT DESCRIBED HEREIN; NEITHER DOES IT CONVEY ANY LICENSE UNDER ITS PATENT RIGHTS, NOR THE RIGHTS OF OTHERS. LIFE SUPPORT POLICY FAIRCHILDS PRODUCTS ARE NOT AUTHORIZED FOR USE AS CRITICAL COMPONENTS IN LIFE SUPPORT DEVICES OR SYSTEMS WITHOUT THE EXPRESS WRITTEN APPROVAL OF THE PRESIDENT OF FAIRCHILD SEMICONDUCTOR CORPORATION. As used herein: 1. Life support devices or systems are devices or systems which, (a) are intended for surgical implant into the body, or (b) support or sustain life, and (c) whose failure to perform when properly used in accordance with instructions for use provided in the labeling, can be reasonably expected to result in a significant injury of the user.
www.fairchildsemi.com 7/2/01 0.0m 001 Stock#DSxxxxxxxx 2001 Fairchild Semiconductor Corporation

2. A critical component in any component of a life support device or system whose failure to perform can be reasonably expected to cause the failure of the life support device or system, or to affect its safety or effectiveness.

Rangkaian Sistem Keseluruhan

LM35 Precision Centigrade Temperature Sensors

November 2000

LM35 Precision Centigrade Temperature Sensors


General Description
The LM35 series are precision integrated-circuit temperature sensors, whose output voltage is linearly proportional to the Celsius (Centigrade) temperature. The LM35 thus has an advantage over linear temperature sensors calibrated in Kelvin, as the user is not required to subtract a large constant voltage from its output to obtain convenient Centigrade scaling. The LM35 does not require any external calibration or trimming to provide typical accuracies of 14C at room temperature and 34C over a full 55 to +150C temperature range. Low cost is assured by trimming and calibration at the wafer level. The LM35s low output impedance, linear output, and precise inherent calibration make interfacing to readout or control circuitry especially easy. It can be used with single power supplies, or with plus and minus supplies. As it draws only 60 A from its supply, it has very low self-heating, less than 0.1C in still air. The LM35 is rated to operate over a 55 to +150C temperature range, while the LM35C is rated for a 40 to +110C range (10 with improved accuracy). The LM35 series is available packaged in hermetic TO-46 transistor packages, while the LM35C, LM35CA, and LM35D are also available in the plastic TO-92 transistor package. The LM35D is also available in an 8-lead surface mount small outline package and a plastic TO-220 package.

Features
n n n n n n n n n n n Calibrated directly in Celsius (Centigrade) Linear + 10.0 mV/C scale factor 0.5C accuracy guaranteeable (at +25C) Rated for full 55 to +150C range Suitable for remote applications Low cost due to wafer-level trimming Operates from 4 to 30 volts Less than 60 A current drain Low self-heating, 0.08C in still air Nonlinearity only 14C typical Low impedance output, 0.1 for 1 mA load

Typical Applications

DS005516-4 DS005516-3

FIGURE 1. Basic Centigrade Temperature Sensor (+2C to +150C)

Choose R1 = VS/50 A V OUT =+1,500 mV at +150C = +250 mV at +25C = 550 mV at 55C

FIGURE 2. Full-Range Centigrade Temperature Sensor

2000 National Semiconductor Corporation

DS005516

www.national.com

LM35

Connection Diagrams
TO-46 Metal Can Package* SO-8 Small Outline Molded Package

DS005516-1

DS005516-21

*Case is connected to negative pin (GND)

N.C. = No Connection

Order Number LM35H, LM35AH, LM35CH, LM35CAH or LM35DH See NS Package Number H03H TO-92 Plastic Package

Top View Order Number LM35DM See NS Package Number M08A TO-220 Plastic Package*

DS005516-2

Order Number LM35CZ, LM35CAZ or LM35DZ See NS Package Number Z03A

DS005516-24

*Tab is connected to the negative pin (GND). Note: The LM35DT pinout is different than the discontinued LM35DP.

Order Number LM35DT See NS Package Number TA03F

www.national.com

LM35

Absolute Maximum Ratings (Note 10)


If Military/Aerospace specified devices are required, please contact the National Semiconductor Sales Office/ Distributors for availability and specifications. Supply Voltage Output Voltage Output Current Storage Temp.; TO-46 Package, TO-92 Package, SO-8 Package, TO-220 Package, Lead Temp.: TO-46 Package, (Soldering, 10 seconds) +35V to 0.2V +6V to 1.0V 10 mA 60C 60C 65C 65C to to to to +180C +150C +150C +150C

TO-92 and TO-220 Package, (Soldering, 10 seconds) 260C SO Package (Note 12) Vapor Phase (60 seconds) 215C Infrared (15 seconds) 220C ESD Susceptibility (Note 11) 2500V Specified Operating Temperature Range: TMIN to T MAX (Note 2) LM35, LM35A 55C to +150C LM35C, LM35CA 40C to +110C LM35D 0C to +100C

300C

Electrical Characteristics
(Notes 1, 6) LM35A Parameter Conditions Typical Accuracy (Note 7) T A =+25C T A =10C T A =TMAX T A =TMIN Nonlinearity (Note 8) Sensor Gain (Average Slope) Load Regulation (Note 3) 0IL1 mA Line Regulation (Note 3) Quiescent Current (Note 9) T A =+25C T MINTATMAX T A =+25C 4VV S30V V S =+5V, +25C V S =+5V V S =+30V, +25C V S =+30V Change of Quiescent Current (Note 3) Temperature Coefficient of Quiescent Current Minimum Temperature for Rated Accuracy Long Term Stability In circuit of +1.5 +2.0 +1.5 +2.0 C C +0.39 +0.5 +0.39 +0.5 A/C 4VVS30V, +25C 4VV S30V T MINTATMAX +10.0 +9.9, +10.1 +10.0 +9.9, +10.1 mV/C mV/mA T MINTATMAX Tested Limit (Note 4) Design Limit (Note 5) Typical LM35CA Tested Limit (Note 4) Design Limit (Note 5) C Units (Max.)

0.2 0.3 0.4 0.4 0.18

0.5 1.0 1.0 0.35

0.2 0.3 0.4 0.4 0.15

0.5 1.0 1.0 1.5 0.3

C C C C

0.4 0.5 0.01 0.02


56 105 56.2 105.5 0.2 0.5

1.0 3.0 0.05 0.1


67 131 68 133 1.0 2.0

0.4 0.5 0.01 0.02


56 91 56.2 91.5 0.2 0.5

1.0 3.0 0.05 0.1


67 114 68 116 1.0 2.0

mV/mA mV/V mV/V A A A A A A

Figure 1, IL =0
T J =TMAX, for 1000 hours

0.08

0.08

www.national.com

LM35

Electrical Characteristics
(Notes 1, 6) LM35 Parameter Conditions Typical Accuracy, LM35, LM35C (Note 7) Accuracy, LM35D (Note 7) Nonlinearity (Note 8) Sensor Gain (Average Slope) Load Regulation (Note 3) 0IL1 mA Line Regulation (Note 3) Quiescent Current (Note 9) T A =+25C T MINTATMAX T A =+25C 4VV S30V V S =+5V, +25C V S =+5V V S =+30V, +25C V S =+30V Change of Quiescent Current (Note 3) Temperature Coefficient of Quiescent Current Minimum Temperature for Rated Accuracy Long Term Stability In circuit of +1.5 +2.0 +1.5 +2.0 C C +0.39 +0.7 +0.39 +0.7 A/C 4VVS30V, +25C 4VV S30V T MINTATMAX +10.0 +9.8, +10.2 +10.0 +9.8, +10.2 mV/C mV/mA T A =+25C T A =10C T A =TMAX T A =TMIN T A =+25C TA =TMAX TA =TMIN T MINTATMAX Tested Limit (Note 4) Design Limit (Note 5) Typical LM35C, LM35D Tested Limit (Note 4) Design Limit (Note 5) C Units (Max.)

0.4 0.5 0.8 0.8

1.0 1.5 1.5

0.3

0.5

0.4 0.5 0.8 0.8 0.6 0.9 0.9 0.2

1.0 1.5 1.5 2.0 1.5 2.0 2.0 0.5

C C C C C C C

0.4 0.5 0.01 0.02


56 105 56.2 105.5 0.2 0.5

2.0 5.0 0.1 0.2


80 158 82 161 2.0 3.0

0.4 0.5 0.01 0.02


56 91 56.2 91.5 0.2 0.5

2.0 5.0 0.1 0.2


80 138 82 141 2.0 3.0

mV/mA mV/V mV/V A A A A A A

Figure 1, IL =0
T J =TMAX, for 1000 hours

0.08

0.08

Note 1: Unless otherwise noted, these specifications apply: 55CTJ+150C for the LM35 and LM35A; 40TJ+110C for the LM35C and LM35CA; and 0TJ+100C for the LM35D. VS =+5Vdc and ILOAD =50 A, in the circuit of Figure 2. These specifications also apply from +2C to TMAX in the circuit of Figure 1. Specifications in boldface apply over the full rated temperature range. Note 2: Thermal resistance of the TO-46 package is 400C/W, junction to ambient, and 24C/W junction to case. Thermal resistance of the TO-92 package is 180C/W junction to ambient. Thermal resistance of the small outline molded package is 220C/W junction to ambient. Thermal resistance of the TO-220 package is 90C/W junction to ambient. For additional thermal resistance information see table in the Applications section. Note 3: Regulation is measured at constant junction temperature, using pulse testing with a low duty cycle. Changes in output due to heating effects can be computed by multiplying the internal dissipation by the thermal resistance. Note 4: Tested Limits are guaranteed and 100% tested in production. Note 5: Design Limits are guaranteed (but not 100% production tested) over the indicated temperature and supply voltage ranges. These limits are not used to calculate outgoing quality levels. Note 6: Specifications in boldface apply over the full rated temperature range. Note 7: Accuracy is defined as the error between the output voltage and 10mv/C times the devices case temperature, at specified conditions of voltage, current, and temperature (expressed in C). Note 8: Nonlinearity is defined as the deviation of the output-voltage-versus-temperature curve from the best-fit straight line, over the devices rated temperature range. Note 9: Quiescent current is defined in the circuit of Figure 1. Note 10: Absolute Maximum Ratings indicate limits beyond which damage to the device may occur. DC and AC electrical specifications do not apply when operating the device beyond its rated operating conditions. See Note 1. Note 11: Human body model, 100 pF discharged through a 1.5 k resistor. Note 12: See AN-450 Surface Mounting Methods and Their Effect on Product Reliability or the section titled Surface Mount found in a current National Semiconductor Linear Data Book for other methods of soldering surface mount devices.

www.national.com

LM35

Typical Performance Characteristics


Thermal Resistance Junction to Air Thermal Time Constant Thermal Response in Still Air

DS005516-26 DS005516-25 DS005516-27

Thermal Response in Stirred Oil Bath

Minimum Supply Voltage vs. Temperature

Quiescent Current vs. Temperature (In Circuit of Figure 1.)

DS005516-28

DS005516-29 DS005516-30

Quiescent Current vs. Temperature (In Circuit of Figure 2.)

Accuracy vs. Temperature (Guaranteed)

Accuracy vs. Temperature (Guaranteed)

DS005516-32 DS005516-31

DS005516-33

www.national.com

LM35

Typical Performance Characteristics


Noise Voltage

(Continued) Start-Up Response

DS005516-34

DS005516-35

Applications
The LM35 can be applied easily in the same way as other integrated-circuit temperature sensors. It can be glued or cemented to a surface and its temperature will be within about 0.01C of the surface temperature. This presumes that the ambient air temperature is almost the same as the surface temperature; if the air temperature were much higher or lower than the surface temperature, the actual temperature of the LM35 die would be at an intermediate temperature between the surface temperature and the air temperature. This is expecially true for the TO-92 plastic package, where the copper leads are the principal thermal path to carry heat into the device, so its temperature might be closer to the air temperature than to the surface temperature. To minimize this problem, be sure that the wiring to the LM35, as it leaves the device, is held at the same temperature as the surface of interest. The easiest way to do this is to cover up these wires with a bead of epoxy which will insure that the leads and wires are all at the same temperature as the surface, and that the LM35 dies temperature will not be affected by the air temperature.

The TO-46 metal package can also be soldered to a metal surface or pipe without damage. Of course, in that case the V terminal of the circuit will be grounded to that metal. Alternatively, the LM35 can be mounted inside a sealed-end metal tube, and can then be dipped into a bath or screwed into a threaded hole in a tank. As with any IC, the LM35 and accompanying wiring and circuits must be kept insulated and dry, to avoid leakage and corrosion. This is especially true if the circuit may operate at cold temperatures where condensation can occur. Printed-circuit coatings and varnishes such as Humiseal and epoxy paints or dips are often used to insure that moisture cannot corrode the LM35 or its connections. These devices are sometimes soldered to a small light-weight heat fin, to decrease the thermal time constant and speed up the response in slowly-moving air. On the other hand, a small thermal mass may be added to the sensor, to give the steadiest reading despite small deviations in the air temperature.

Temperature Rise of LM35 Due To Self-heating (Thermal Resistance,JA)


TO-46, no heat sink Still air Moving air Still oil Stirred oil (Clamped to metal, Infinite heat sink) (24C/W) (55C/W) 400C/W 100C/W 100C/W 50C/W TO-46*, small heat fin 100C/W 40C/W 40C/W 30C/W TO-92, no heat sink 180C/W 90C/W 90C/W 45C/W TO-92**, small heat fin 140C/W 70C/W 70C/W 40C/W SO-8 no heat sink 220C/W 105C/W SO-8** small heat fin 110C/W 90C/W TO-220 no heat sink 90C/W 26C/W

*Wakefield type 201, or 1" disc of 0.020" sheet brass, soldered to case, or similar. **TO-92 and SO-8 packages glued and leads soldered to 1" square of 1/16" printed circuit board with 2 oz. foil or similar.

www.national.com

LM35

Typical Applications

DS005516-19

FIGURE 3. LM35 with Decoupling from Capacitive Load

DS005516-6

FIGURE 6. Two-Wire Remote Temperature Sensor (Output Referred to Ground)


DS005516-20

FIGURE 4. LM35 with R-C Damper CAPACITIVE LOADS Like most micropower circuits, the LM35 has a limited ability to drive heavy capacitive loads. The LM35 by itself is able to drive 50 pf without special precautions. If heavier loads are anticipated, it is easy to isolate or decouple the load with a resistor; see Figure 3. Or you can improve the tolerance of capacitance with a series R-C damper from output to ground; see Figure 4. When the LM35 is applied with a 200 load resistor as shown in Figure 5, Figure 6 or Figure 8 it is relatively immune to wiring capacitance because the capacitance forms a bypass from ground to input, not on the output. However, as with any linear circuit connected to wires in a hostile environment, its performance can be affected adversely by intense electromagnetic sources such as relays, radio transmitters, motors with arcing brushes, SCR transients, etc, as its wiring can act as a receiving antenna and its internal junctions can act as rectifiers. For best results in such cases, a bypass capacitor from VIN to ground and a series R-C damper such as 75 in series with 0.2 or 1 F from output to ground are often useful. These are shown in Figure 13, Figure 14, and Figure 16.

DS005516-7

FIGURE 7. Temperature Sensor, Single Supply, 55 to +150C

DS005516-8

FIGURE 8. Two-Wire Remote Temperature Sensor (Output Referred to Ground)

DS005516-5

FIGURE 5. Two-Wire Remote Temperature Sensor (Grounded Sensor)

DS005516-9

FIGURE 9. 4-To-20 mA Current Source (0C to +100C)

www.national.com

LM35

Typical Applications

(Continued)

DS005516-11

FIGURE 11. Centigrade Thermometer (Analog Meter)

DS005516-10

FIGURE 10. Fahrenheit Thermometer


DS005516-12

FIGURE 12. Fahrenheit ThermometerExpanded Scale Thermometer (50 to 80 Fahrenheit, for Example Shown)

DS005516-13

FIGURE 13. Temperature To Digital Converter (Serial Output) (+128C Full Scale)

DS005516-14

FIGURE 14. Temperature To Digital Converter (Parallel TRI-STATE Outputs for Standard Data Bus to P Interface) (128C Full Scale)

www.national.com

LM35

Typical Applications

(Continued)

DS005516-16

* =1% or 2% film resistor

Trim RB for VB =3.075V Trim RC for VC =1.955V Trim RA for VA =0.075V + 100mV/C x Tambient Example, VA =2.275V at 22C

FIGURE 15. Bar-Graph Temperature Display (Dot Mode)

DS005516-15

FIGURE 16. LM35 With Voltage-To-Frequency Converter And Isolated Output (2C to +150C; 20 Hz to 1500 Hz)

www.national.com

LM35

Block Diagram

DS005516-23

www.national.com

10

LM35

Physical Dimensions

inches (millimeters) unless otherwise noted

TO-46 Metal Can Package (H) Order Number LM35H, LM35AH, LM35CH, LM35CAH, or LM35DH NS Package Number H03H

SO-8 Molded Small Outline Package (M) Order Number LM35DM NS Package Number M08A

11

www.national.com

LM35

Physical Dimensions

inches (millimeters) unless otherwise noted (Continued)

Power Package TO-220 (T) Order Number LM35DT NS Package Number TA03F

www.national.com

12

LM35 Precision Centigrade Temperature Sensors

Physical Dimensions

inches (millimeters) unless otherwise noted (Continued)

TO-92 Plastic Package (Z) Order Number LM35CZ, LM35CAZ or LM35DZ NS Package Number Z03A

LIFE SUPPORT POLICY NATIONALS PRODUCTS ARE NOT AUTHORIZED FOR USE AS CRITICAL COMPONENTS IN LIFE SUPPORT DEVICES OR SYSTEMS WITHOUT THE EXPRESS WRITTEN APPROVAL OF THE PRESIDENT AND GENERAL COUNSEL OF NATIONAL SEMICONDUCTOR CORPORATION. As used herein: 1. Life support devices or systems are devices or systems which, (a) are intended for surgical implant into the body, or (b) support or sustain life, and whose failure to perform when properly used in accordance with instructions for use provided in the labeling, can be reasonably expected to result in a significant injury to the user.
National Semiconductor Corporation Americas Tel: 1-800-272-9959 Fax: 1-800-737-7018 Email: support@nsc.com www.national.com National Semiconductor Europe Fax: +49 (0) 180-530 85 86 Email: europe.support@nsc.com Deutsch Tel: +49 (0) 69 9508 6208 English Tel: +44 (0) 870 24 0 2171 Franais Tel: +33 (0) 1 41 91 8790

2. A critical component is any component of a life support device or system whose failure to perform can be reasonably expected to cause the failure of the life support device or system, or to affect its safety or effectiveness.

National Semiconductor Asia Pacific Customer Response Group Tel: 65-2544466 Fax: 65-2504466 Email: ap.support@nsc.com

National Semiconductor Japan Ltd. Tel: 81-3-5639-7560 Fax: 81-3-5639-7507

National does not assume any responsibility for use of any circuitry described, no circuit patent licenses are implied and National reserves the right at any time without notice to change said circuitry and specifications.

Features
High-performance, Low-power AVR 8-bit Microcontroller 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 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 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 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 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 Speed Grades 0 - 8 MHz for ATmega16L 0 - 16 MHz for ATmega16 Power Consumption @ 1 MHz, 3V, and 25C for ATmega16L Active: 1.1 mA Idle Mode: 0.35 mA Power-down Mode: < 1 A

8-bit Microcontroller with 16K Bytes In-System Programmable Flash ATmega16 ATmega16L Summary

2466HSAVR12/03

Note: This is a summary document. A complete document is available on our Web site at www.atmel.com.

Pin Configurations

Figure 1. Pinouts ATmega16


PDIP
(XCK/T0) PB0 (T1) PB1 (INT2/AIN0) PB2 (OC0/AIN1) PB3 (SS) PB4 (MOSI) PB5 (MISO) PB6 (SCK) PB7 RESET VCC GND XTAL2 XTAL1 (RXD) PD0 (TXD) PD1 (INT0) PD2 (INT1) PD3 (OC1B) PD4 (OC1A) PD5 (ICP1) PD6 PA0 (ADC0) PA1 (ADC1) PA2 (ADC2) PA3 (ADC3) PA4 (ADC4) PA5 (ADC5) PA6 (ADC6) PA7 (ADC7) AREF GND AVCC PC7 (TOSC2) PC6 (TOSC1) PC5 (TDI) PC4 (TDO) PC3 (TMS) PC2 (TCK) PC1 (SDA) PC0 (SCL) PD7 (OC2)

TQFP/MLF
PB4 (SS) PB3 (AIN1/OC0) PB2 (AIN0/INT2) PB1 (T1) PB0 (XCK/T0) GND VCC PA0 (ADC0) PA1 (ADC1) PA2 (ADC2) PA3 (ADC3) (MOSI) PB5 (MISO) PB6 (SCK) PB7 RESET VCC GND XTAL2 XTAL1 (RXD) PD0 (TXD) PD1 (INT0) PD2

PA4 (ADC4) PA5 (ADC5) PA6 (ADC6) PA7 (ADC7) AREF GND AVCC PC7 (TOSC2) PC6 (TOSC1) PC5 (TDI) PC4 (TDO)

Disclaimer

Typical values contained in this datasheet are based on simulations and characterization of other AVR microcontrollers manufactured on the same process technology. Min and Max values will be available after the device is characterized.

ATmega16(L)
2466HSAVR12/03

(INT1) (OC1B) (OC1A) (ICP1) (OC2)

PD3 PD4 PD5 PD6 PD7 VCC GND (SCL) PC0 (SDA) PC1 (TCK) PC2 (TMS) PC3

ATmega16(L)
Overview
The ATmega16 is a low-power CMOS 8-bit microcontroller based on the AVR enhanced RISC architecture. By executing powerful instructions in a single clock cycle, the ATmega16 achieves throughputs approaching 1 MIPS per MHz allowing the system designer to optimize power consumption versus processing speed. Figure 2. Block Diagram
PA0 - PA7 VCC PC0 - PC7

Block Diagram

PORTA DRIVERS/BUFFERS

PORTC DRIVERS/BUFFERS

GND

PORTA DIGITAL INTERFACE

PORTC DIGITAL INTERFACE

AVCC

MUX & ADC


AREF PROGRAM COUNTER

ADC INTERFACE

TWI

STACK POINTER

TIMERS/ COUNTERS

OSCILLATOR

PROGRAM FLASH

SRAM

INTERNAL OSCILLATOR XTAL1

INSTRUCTION REGISTER

GENERAL PURPOSE REGISTERS X

WATCHDOG TIMER

OSCILLATOR

XTAL2 MCU CTRL. & TIMING RESET

INSTRUCTION DECODER

Y Z

CONTROL LINES

ALU

INTERRUPT UNIT

INTERNAL CALIBRATED OSCILLATOR

AVR CPU

STATUS REGISTER

EEPROM

PROGRAMMING LOGIC

SPI

USART

+ -

COMP. INTERFACE

PORTB DIGITAL INTERFACE

PORTD DIGITAL INTERFACE

PORTB DRIVERS/BUFFERS

PORTD DRIVERS/BUFFERS

PB0 - PB7

PD0 - PD7

3
2466HSAVR12/03

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 contents but freezes the Oscillator, disabling all other chip functions until the next External Interrupt or Hardware Reset. In Power-save mode, the Asynchronous Timer 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 Asynchronous 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 Atmels 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. Software 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.

Pin Descriptions
VCC GND Port A (PA7..PA0) 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.

ATmega16(L)
2466HSAVR12/03

ATmega16(L)
Port B (PB7..PB0) Port B is an 8-bit bi-directional I/O port with internal pull-up resistors (selected for each bit). The Port B output buffers have symmetrical drive characteristics with both high sink and source capability. As inputs, Port B pins that are externally pulled low will source current if the pull-up resistors are activated. The Port B pins are tri-stated when a reset condition becomes active, even if the clock is not running. Port B also serves the functions of various special features of the ATmega16 as listed on page 56. Port C (PC7..PC0) Port C is an 8-bit bi-directional I/O port with internal pull-up resistors (selected for each bit). The Port C output buffers have symmetrical drive characteristics with both high sink and source capability. As inputs, Port C pins that are externally pulled low will source current if the pull-up resistors are activated. The Port C pins are tri-stated when a reset condition becomes active, even if the clock is not running. If the JTAG interface is enabled, the pull-up resistors on pins PC5(TDI), PC3(TMS) and PC2(TCK) will be activated even if a reset occurs. Port C also serves the functions of the JTAG interface and other special features of the ATmega16 as listed on page 59. Port D (PD7..PD0) Port D is an 8-bit bi-directional I/O port with internal pull-up resistors (selected for each bit). The Port D output buffers have symmetrical drive characteristics with both high sink and source capability. As inputs, Port D pins that are externally pulled low will source current if the pull-up resistors are activated. The Port D pins are tri-stated when a reset condition becomes active, even if the clock is not running. Port D also serves the functions of various special features of the ATmega16 as listed on page 61. RESET Reset Input. A low level on this pin for longer than the minimum pulse length will generate a reset, even if the clock is not running. The minimum pulse length is given in Table 15 on page 36. Shorter pulses are not guaranteed to generate a reset. Input to the inverting Oscillator amplifier and input to the internal clock operating circuit. Output from the inverting Oscillator amplifier. AVCC is the supply voltage pin for Port A and the A/D Converter. It should be externally connected to VCC, even if the ADC is not used. If the ADC is used, it should be connected to VCC through a low-pass filter. AREF is the analog reference pin for the A/D Converter.

XTAL1 XTAL2 AVCC

AREF

5
2466HSAVR12/03

Register Summary
Address
$3F ($5F) $3E ($5E) $3D ($5D) $3C ($5C) $3B ($5B) $3A ($5A) $39 ($59) $38 ($58) $37 ($57) $36 ($56) $35 ($55) $34 ($54) $33 ($53) $32 ($52) $31(1) ($51)(1) $30 ($50) $2F ($4F) $2E ($4E) $2D ($4D) $2C ($4C) $2B ($4B) $2A ($4A) $29 ($49) $28 ($48) $27 ($47) $26 ($46) $25 ($45) $24 ($44) $23 ($43) $22 ($42) $21 ($41) $20(2) ($40)(2) $1F ($3F) $1E ($3E) $1D ($3D) $1C ($3C) $1B ($3B) $1A ($3A) $19 ($39) $18 ($38) $17 ($37) $16 ($36) $15 ($35) $14 ($34) $13 ($33) $12 ($32) $11 ($31) $10 ($30) $0F ($2F) $0E ($2E) $0D ($2D) $0C ($2C) $0B ($2B) $0A ($2A) $09 ($29) $08 ($28) $07 ($27) $06 ($26) $05 ($25) $04 ($24) $03 ($23) $02 ($22)

Name
SREG SPH SPL OCR0 GICR GIFR TIMSK TIFR SPMCR TWCR MCUCR MCUCSR TCCR0 TCNT0 OSCCAL OCDR SFIOR TCCR1A TCCR1B TCNT1H TCNT1L OCR1AH OCR1AL OCR1BH OCR1BL ICR1H ICR1L TCCR2 TCNT2 OCR2 ASSR WDTCR UBRRH UCSRC EEARH EEARL EEDR EECR PORTA DDRA PINA PORTB DDRB PINB PORTC DDRC PINC PORTD DDRD PIND SPDR SPSR SPCR UDR UCSRA UCSRB UBRRL ACSR ADMUX ADCSRA ADCH ADCL TWDR TWAR

Bit 7
I SP7 INT1 INTF1 OCIE2 OCF2 SPMIE TWINT SM2 JTD FOC0

Bit 6
T SP6 INT0 INTF0 TOIE2 TOV2 RWWSB TWEA SE ISC2 WGM00

Bit 5
H SP5 INT2 INTF2 TICIE1 ICF1 TWSTA SM1 COM01

Bit 4
S SP4 OCIE1A OCF1A RWWSRE TWSTO SM0 JTRF COM00

Bit 3
V SP3 OCIE1B OCF1B BLBSET TWWC ISC11 WDRF WGM01

Bit 2
N SP10 SP2 TOIE1 TOV1 PGWRT TWEN ISC10 BORF CS02

Bit 1
Z SP9 SP1 IVSEL OCIE0 OCF0 PGERS ISC01 EXTRF CS01

Bit 0
C SP8 SP0 IVCE TOIE0 TOV0 SPMEN TWIE ISC00 PORF CS00

Page
7 10 10 83 46, 67 68 83, 114, 132 84, 115, 132 249 178 30, 66 39, 67, 229 81 83 28 225

Timer/Counter0 Output Compare Register

Timer/Counter0 (8 Bits) Oscillator Calibration Register On-Chip Debug Register ADTS2 COM1A1 ICNC1 ADTS1 COM1A0 ICES1 ADTS0 COM1B1 COM1B0 WGM13 ACME FOC1A WGM12 PUD FOC1B CS12 PSR2 WGM11 CS11 PSR10 WGM10 CS10

55,86,133,199,219 109 112 113 113 113 113 113 113 114 114

Timer/Counter1 Counter Register High Byte Timer/Counter1 Counter Register Low Byte Timer/Counter1 Output Compare Register A High Byte Timer/Counter1 Output Compare Register A Low Byte Timer/Counter1 Output Compare Register B High Byte Timer/Counter1 Output Compare Register B Low Byte Timer/Counter1 Input Capture Register High Byte Timer/Counter1 Input Capture Register Low Byte FOC2 WGM20 COM21 COM20 WGM21 CS22 CS21 CS20 Timer/Counter2 (8 Bits) Timer/Counter2 Output Compare Register URSEL URSEL UMSEL UPM1 WDTOE UPM0 USBS AS2 WDE TCN2UB WDP2 UCSZ1 OCR2UB WDP1 UBRR[11:8] UCSZ0 UCPOL EEAR8 TCR2UB WDP0

127 129 129 130 41 165 164 17 17 17

EEPROM Address Register Low Byte EEPROM Data Register PORTA7 DDA7 PINA7 PORTB7 DDB7 PINB7 PORTC7 DDC7 PINC7 PORTD7 DDD7 PIND7 SPI Data Register SPIF SPIE RXC RXCIE ACD REFS1 ADEN WCOL SPE TXC TXCIE ACBG REFS0 ADSC DORD UDRE UDRIE ACO ADLAR ADATE MSTR FE RXEN ACI MUX4 ADIF CPOL DOR TXEN ACIE MUX3 ADIE CPHA PE UCSZ2 ACIC MUX2 ADPS2 SPR1 U2X RXB8 ACIS1 MUX1 ADPS1 SPI2X SPR0 MPCM TXB8 ACIS0 MUX0 ADPS0 PORTA6 DDA6 PINA6 PORTB6 DDB6 PINB6 PORTC6 DDC6 PINC6 PORTD6 DDD6 PIND6 PORTA5 DDA5 PINA5 PORTB5 DDB5 PINB5 PORTC5 DDC5 PINC5 PORTD5 DDD5 PIND5 PORTA4 DDA4 PINA4 PORTB4 DDB4 PINB4 PORTC4 DDC4 PINC4 PORTD4 DDD4 PIND4 EERIE PORTA3 DDA3 PINA3 PORTB3 DDB3 PINB3 PORTC3 DDC3 PINC3 PORTD3 DDD3 PIND3 EEMWE PORTA2 DDA2 PINA2 PORTB2 DDB2 PINB2 PORTC2 DDC2 PINC2 PORTD2 DDD2 PIND2 EEWE PORTA1 DDA1 PINA1 PORTB1 DDB1 PINB1 PORTC1 DDC1 PINC1 PORTD1 DDD1 PIND1 EERE PORTA0 DDA0 PINA0 PORTB0 DDB0 PINB0 PORTC0 DDC0 PINC0 PORTD0 DDD0 PIND0

17 64 64 64 64 64 64 65 65 65 65 65 65 140 140 138 161 162 163 165 200 215 217 218 218 180

USART I/O Data Register

USART Baud Rate Register Low Byte

ADC Data Register High Byte ADC Data Register Low Byte Two-wire Serial Interface Data Register TWA6 TWA5 TWA4 TWA3 TWA2 TWA1 TWA0 TWGCE

180

ATmega16(L)
2466HSAVR12/03

ATmega16(L)
Address
$01 ($21) $00 ($20)

Name
TWSR TWBR

Bit 7
TWS7

Bit 6
TWS6

Bit 5
TWS5

Bit 4
TWS4

Bit 3
TWS3

Bit 2

Bit 1
TWPS1

Bit 0
TWPS0

Page
179 178

Two-wire Serial Interface Bit Rate Register

Notes:

1. When the OCDEN Fuse is unprogrammed, the OSCCAL Register is always accessed on this address. Refer to the debugger specific documentation for details on how to use the OCDR Register. 2. Refer to the USART description for details on how to access UBRRH and UCSRC. 3. For compatibility with future devices, reserved bits should be written to zero if accessed. Reserved I/O memory addresses should never be written. 4. Some of the Status Flags are cleared by writing a logical one to them. Note that the CBI and SBI instructions will operate on all bits in the I/O Register, writing a one back into any flag read as set, thus clearing the flag. The CBI and SBI instructions work with registers $00 to $1F only.

7
2466HSAVR12/03

Instruction Set Summary


Mnemonics
ADD ADC ADIW SUB SUBI SBC SBCI SBIW AND ANDI OR ORI EOR COM NEG SBR CBR INC DEC TST CLR SER MUL MULS MULSU FMUL FMULS FMULSU RJMP IJMP JMP RCALL ICALL CALL RET RETI CPSE CP CPC CPI SBRC SBRS SBIC SBIS BRBS BRBC BREQ BRNE BRCS BRCC BRSH BRLO BRMI BRPL BRGE BRLT BRHS BRHC BRTS BRTC BRVS BRVC Rd,Rr Rd,Rr Rd,Rr Rd,K Rr, b Rr, b P, b P, b s, k s, k k k k k k k k k k k k k k k k k k k k

Operands
Rd, Rr Rd, Rr Rdl,K Rd, Rr Rd, K Rd, Rr Rd, K Rdl,K Rd, Rr Rd, K Rd, Rr Rd, K Rd, Rr Rd Rd Rd,K Rd,K Rd Rd Rd Rd Rd Rd, Rr Rd, Rr Rd, Rr Rd, Rr Rd, Rr Rd, Rr k

Description
Add two Registers Add with Carry two Registers Add Immediate to Word Subtract two Registers Subtract Constant from Register Subtract with Carry two Registers Subtract with Carry Constant from Reg. Subtract Immediate from Word Logical AND Registers Logical AND Register and Constant Logical OR Registers Logical OR Register and Constant Exclusive OR Registers Ones Complement Twos Complement Set Bit(s) in Register Clear Bit(s) in Register Increment Decrement Test for Zero or Minus Clear Register Set Register Multiply Unsigned Multiply Signed Multiply Signed with Unsigned Fractional Multiply Unsigned Fractional Multiply Signed Fractional Multiply Signed with Unsigned Relative Jump Indirect Jump to (Z) Direct Jump Relative Subroutine Call Indirect Call to (Z) Direct Subroutine Call Subroutine Return Interrupt Return Compare, Skip if Equal Compare Compare with Carry Compare Register with Immediate Skip if Bit in Register Cleared Skip if Bit in Register is Set Skip if Bit in I/O Register Cleared Skip if Bit in I/O Register is Set Branch if Status Flag Set Branch if Status Flag Cleared Branch if Equal Branch if Not Equal Branch if Carry Set Branch if Carry Cleared Branch if Same or Higher Branch if Lower Branch if Minus Branch if Plus Branch if Greater or Equal, Signed Branch if Less Than Zero, Signed Branch if Half Carry Flag Set Branch if Half Carry Flag Cleared Branch if T Flag Set Branch if T Flag Cleared Branch if Overflow Flag is Set Branch if Overflow Flag is Cleared

Operation
Rd Rd + Rr Rd Rd + Rr + C Rdh:Rdl Rdh:Rdl + K Rd Rd - Rr Rd Rd - K Rd Rd - Rr - C Rd Rd - K - C Rdh:Rdl Rdh:Rdl - K Rd Rd Rr Rd Rd K Rd Rd v Rr Rd Rd v K Rd Rd Rr Rd $FF Rd Rd $00 Rd Rd Rd v K Rd Rd ($FF - K) Rd Rd + 1 Rd Rd 1 Rd Rd Rd Rd Rd Rd Rd $FF R1:R0 Rd x Rr R1:R0 Rd x Rr R1:R0 Rd x Rr

Flags
Z,C,N,V,H Z,C,N,V,H Z,C,N,V,S Z,C,N,V,H Z,C,N,V,H Z,C,N,V,H Z,C,N,V,H Z,C,N,V,S Z,N,V Z,N,V Z,N,V Z,N,V Z,N,V Z,C,N,V Z,C,N,V,H Z,N,V Z,N,V Z,N,V Z,N,V Z,N,V Z,N,V None Z,C Z,C Z,C Z,C Z,C Z,C None None None None None None None I None Z, N,V,C,H Z, N,V,C,H Z, N,V,C,H None None None None None None None None None None None None None None None None None None None None None None

#Clocks
1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 3 3 3 4 4 4 1/2/3 1 1 1 1/2/3 1/2/3 1/2/3 1/2/3 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2

ARITHMETIC AND LOGIC INSTRUCTIONS

1 R1:R0 (Rd x Rr) << 1 R1:R0 (Rd x Rr) << 1


PC PC + k + 1 PC Z PC k PC PC + k + 1 PC Z PC k PC STACK PC STACK if (Rd = Rr) PC PC + 2 or 3 Rd Rr Rd Rr C Rd K if (Rr(b)=0) PC PC + 2 or 3 if (Rr(b)=1) PC PC + 2 or 3 if (P(b)=0) PC PC + 2 or 3 if (P(b)=1) PC PC + 2 or 3 if (SREG(s) = 1) then PCPC+k + 1 if (SREG(s) = 0) then PCPC+k + 1 if (Z = 1) then PC PC + k + 1 if (Z = 0) then PC PC + k + 1 if (C = 1) then PC PC + k + 1 if (C = 0) then PC PC + k + 1 if (C = 0) then PC PC + k + 1 if (C = 1) then PC PC + k + 1 if (N = 1) then PC PC + k + 1 if (N = 0) then PC PC + k + 1 if (N V= 0) then PC PC + k + 1 if (N V= 1) then PC PC + k + 1 if (H = 1) then PC PC + k + 1 if (H = 0) then PC PC + k + 1 if (T = 1) then PC PC + k + 1 if (T = 0) then PC PC + k + 1 if (V = 1) then PC PC + k + 1 if (V = 0) then PC PC + k + 1

R1:R0 (Rd x Rr) <<

BRANCH INSTRUCTIONS

ATmega16(L)
2466HSAVR12/03

ATmega16(L)
Mnemonics
BRIE BRID MOV MOVW LDI LD LD LD LD LD LD LDD LD LD LD LDD LDS ST ST ST ST ST ST STD ST ST ST STD STS LPM LPM LPM SPM IN OUT PUSH POP SBI CBI LSL LSR ROL ROR ASR SWAP BSET BCLR BST BLD SEC CLC SEN CLN SEZ CLZ SEI CLI SES CLS SEV Rd, P P, Rr Rr Rd P,b P,b Rd Rd Rd Rd Rd Rd s s Rr, b Rd, b Rd, Z Rd, Z+

Operands
k k Rd, Rr Rd, Rr Rd, K Rd, X Rd, X+ Rd, - X Rd, Y Rd, Y+ Rd, - Y Rd,Y+q Rd, Z Rd, Z+ Rd, -Z Rd, Z+q Rd, k X, Rr X+, Rr - X, Rr Y, Rr Y+, Rr - Y, Rr Y+q,Rr Z, Rr Z+, Rr -Z, Rr Z+q,Rr k, Rr

Description
Branch if Interrupt Enabled Branch if Interrupt Disabled Move Between Registers Copy Register Word Load Immediate Load Indirect Load Indirect and Post-Inc. Load Indirect and Pre-Dec. Load Indirect Load Indirect and Post-Inc. Load Indirect and Pre-Dec. Load Indirect with Displacement Load Indirect Load Indirect and Post-Inc. Load Indirect and Pre-Dec. Load Indirect with Displacement Load Direct from SRAM Store Indirect Store Indirect and Post-Inc. Store Indirect and Pre-Dec. Store Indirect Store Indirect and Post-Inc. Store Indirect and Pre-Dec. Store Indirect with Displacement Store Indirect Store Indirect and Post-Inc. Store Indirect and Pre-Dec. Store Indirect with Displacement Store Direct to SRAM Load Program Memory Load Program Memory Load Program Memory and Post-Inc Store Program Memory In Port Out Port Push Register on Stack Pop Register from Stack Set Bit in I/O Register Clear Bit in I/O Register Logical Shift Left Logical Shift Right Rotate Left Through Carry Rotate Right Through Carry Arithmetic Shift Right Swap Nibbles Flag Set Flag Clear Bit Store from Register to T Bit load from T to Register Set Carry Clear Carry Set Negative Flag Clear Negative Flag Set Zero Flag Clear Zero Flag Global Interrupt Enable Global Interrupt Disable Set Signed Test Flag Clear Signed Test Flag Set Twos Complement Overflow.

Operation
if ( I = 1) then PC PC + k + 1 if ( I = 0) then PC PC + k + 1 Rd Rr Rd+1:Rd Rr+1:Rr Rd K Rd (X) Rd (X), X X + 1 X X - 1, Rd (X) Rd (Y) Rd (Y), Y Y + 1 Y Y - 1, Rd (Y) Rd (Y + q) Rd (Z) Rd (Z), Z Z+1 Z Z - 1, Rd (Z) Rd (Z + q) Rd (k) (X) Rr (X) Rr, X X + 1 X X - 1, (X) Rr (Y) Rr (Y) Rr, Y Y + 1 Y Y - 1, (Y) Rr (Y + q) Rr (Z) Rr (Z) Rr, Z Z + 1 Z Z - 1, (Z) Rr (Z + q) Rr (k) Rr R0 (Z) Rd (Z) Rd (Z), Z Z+1 (Z) R1:R0 Rd P P Rr STACK Rr Rd STACK I/O(P,b) 1 I/O(P,b) 0 Rd(n+1) Rd(n), Rd(0) 0 Rd(n) Rd(n+1), Rd(7) 0 Rd(0)C,Rd(n+1) Rd(n),CRd(7) Rd(7)C,Rd(n) Rd(n+1),CRd(0) Rd(n) Rd(n+1), n=0..6 Rd(3..0)Rd(7..4),Rd(7..4)Rd(3..0) SREG(s) 1 SREG(s) 0 T Rr(b) Rd(b) T C1 C0 N1 N0 Z1 Z0 I1 I 0 S1 S0 V1

Flags
None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None None Z,C,N,V Z,C,N,V Z,C,N,V Z,C,N,V Z,C,N,V None SREG(s) SREG(s) T None C C N N Z Z I I S S V

#Clocks
1/2 1/2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

DATA TRANSFER INSTRUCTIONS

BIT AND BIT-TEST INSTRUCTIONS

CLV SET CLT SEH

Clear Twos Complement Overflow Set T in SREG Clear T in SREG Set Half Carry Flag in SREG

V0 T1 T0 H1

V T T H

1 1 1 1

9
2466HSAVR12/03

Mnemonics

Operands

Description
Clear Half Carry Flag in SREG No Operation Sleep Watchdog Reset Break

Operation
H0 H

Flags

#Clocks
1 1 1 1 N/A

CLH MCU CONTROL INSTRUCTIONS NOP SLEEP WDR BREAK

(see specific descr. for Sleep function) (see specific descr. for WDR/timer) For On-Chip Debug Only

None None None None

10

ATmega16(L)
2466HSAVR12/03

ATmega16(L)
Ordering Information
Speed (MHz) 8 Power Supply 2.7 - 5.5V Ordering Code ATmega16L-8AC ATmega16L-8PC ATmega16L-8MC ATmega16L-8AI ATmega16L-8PI ATmega16L-8MI 16 4.5 - 5.5V ATmega16-16AC ATmega16-16PC ATmega16-16MC ATmega16-16AI ATmega16-16PI ATmega16-16MI Package 44A 40P6 44M1 44A 40P6 44M1 44A 40P6 44M1 44A 40P6 44M1 Operation Range Commercial (0oC to 70oC) Industrial (-40oC to 85oC) Commercial (0oC to 70oC) Industrial (-40oC to 85oC)

Package Type 44A 40P6 44M1 44-lead, Thin (1.0 mm) Plastic Gull Wing Quad Flat Package (TQFP) 40-pin, 0.600 Wide, Plastic Dual Inline Package (PDIP) 44-pad, 7 x 7 x 1.0 mm body, lead pitch 0.50 mm, Micro Lead Frame Package (MLF)

11
2466HSAVR12/03

Packaging Information
44A

PIN 1 B
PIN 1 IDENTIFIER

E1

D1 D C

0~7 A1 L
COMMON DIMENSIONS (Unit of Measure = mm) SYMBOL A A1 A2 D D1 E MIN 0.05 0.95 11.75 9.90 11.75 9.90 0.30 0.09 0.45 NOM 1.00 12.00 10.00 12.00 10.00 0.80 TYP MAX 1.20 0.15 1.05 12.25 10.10 12.25 10.10 0.45 0.20 0.75 Note 2 Note 2 NOTE

A2

Notes:

1. This package conforms to JEDEC reference MS-026, Variation ACB. 2. Dimensions D1 and E1 do not include mold protrusion. Allowable protrusion is 0.25 mm per side. Dimensions D1 and E1 are maximum plastic body size dimensions including mold mismatch. 3. Lead coplanarity is 0.10 mm maximum.

E1 B C L e

10/5/2001 2325 Orchard Parkway San Jose, CA 95131 TITLE 44A, 44-lead, 10 x 10 mm Body Size, 1.0 mm Body Thickness, 0.8 mm Lead Pitch, Thin Profile Plastic Quad Flat Package (TQFP) DRAWING NO. 44A REV. B

12

ATmega16(L)
2466HSAVR12/03

ATmega16(L)
40P6

PIN 1

E1

SEATING PLANE

L B1 e E B

A1

C eB

0 ~ 15

REF
SYMBOL A A1 D E E1 B

COMMON DIMENSIONS (Unit of Measure = mm) MIN 0.381 52.070 15.240 13.462 0.356 1.041 3.048 0.203 15.494 NOM 2.540 TYP MAX 4.826 52.578 15.875 13.970 0.559 1.651 3.556 0.381 17.526 Note 2 Note 2 NOTE

Notes:

1. This package conforms to JEDEC reference MS-011, Variation AC. 2. Dimensions D and E1 do not include mold Flash or Protrusion. Mold Flash or Protrusion shall not exceed 0.25 mm (0.010").

B1 L C eB e

09/28/01 2325 Orchard Parkway San Jose, CA 95131 TITLE 40P6, 40-lead (0.600"/15.24 mm Wide) Plastic Dual Inline Package (PDIP) DRAWING NO. 40P6 REV. B

13
2466HSAVR12/03

44M1

Marked Pin# 1 ID

SEATING PLANE

TOP VIEW

A1 A3 A

L D2

Pin #1 Corner

SIDE VIEW

COMMON DIMENSIONS (Unit of Measure = mm)

E2

SYMBOL A A1 A3 b D

MIN 0.80

NOM 0.90 0.02 0.25 REF

MAX 1.00 0.05

NOTE

0.18

0.23 7.00 BSC

0.30

b
BOTTOM VIEW

D2 E E2 e

5.00

5.20 7.00 BSC

5.40

5.00

5.20 0.50 BSC

5.40

Notes: 1. JEDEC Standard MO-220, Fig. 1 (SAW Singulation) VKKD-1.

0.35

0.55

0.75

01/15/03 2325 Orchard Parkway San Jose, CA 95131 TITLE 44M1, 44-pad, 7 x 7 x 1.0 mm Body, Lead Pitch 0.50 mm Micro Lead Frame Package (MLF) DRAWING NO. 44M1 REV. C

14

ATmega16(L)
2466HSAVR12/03

ATmega16(L)
Errata
ATmega16(L) Rev. I
The revision letter in this section refers to the revision of the ATmega16 device. IDCODE masks data from TDI input 1. IDCODE masks data from TDI input The JTAG instruction IDCODE is not working correctly. Data to succeeding devices are replaced by all-ones during Update-DR. Problem Fix / Workaround If ATmega16 is the only device in the scan chain, the problem is not visible. Select the Device ID Register of the ATmega16 by issuing the IDCODE instruction or by entering the Test-Logic-Reset state of the TAP controller to read out the contents of its Device ID Register and possibly data from succeeding devices of the scan chain. Issue the BYPASS instruction to the ATmega16 while reading the Device ID Registers of preceding devices of the boundary scan chain. If the Device IDs of all devices in the boundary scan chain must be captured simultaneously, the ATmega16 must be the fist device in the chain.

ATmega16(L) Rev. H

IDCODE masks data from TDI input 1. IDCODE masks data from TDI input The JTAG instruction IDCODE is not working correctly. Data to succeeding devices are replaced by all-ones during Update-DR. Problem Fix / Workaround If ATmega16 is the only device in the scan chain, the problem is not visible. Select the Device ID Register of the ATmega16 by issuing the IDCODE instruction or by entering the Test-Logic-Reset state of the TAP controller to read out the contents of its Device ID Register and possibly data from succeeding devices of the scan chain. Issue the BYPASS instruction to the ATmega16 while reading the Device ID Registers of preceding devices of the boundary scan chain. If the Device IDs of all devices in the boundary scan chain must be captured simultaneously, the ATmega16 must be the fist device in the chain.

ATmega16(L) Rev. G

IDCODE masks data from TDI input 1. IDCODE masks data from TDI input The JTAG instruction IDCODE is not working correctly. Data to succeeding devices are replaced by all-ones during Update-DR. Problem Fix / Workaround If ATmega16 is the only device in the scan chain, the problem is not visible. Select the Device ID Register of the ATmega16 by issuing the IDCODE instruction or by entering the Test-Logic-Reset state of the TAP controller to read out the contents of its Device ID Register and possibly data from succeeding devices of the scan chain. Issue the BYPASS instruction to the ATmega16 while reading the Device ID Registers of preceding devices of the boundary scan chain.

15
2466HSAVR12/03

If the Device IDs of all devices in the boundary scan chain must be captured simultaneously, the ATmega16 must be the fist device in the chain.

16

ATmega16(L)
2466HSAVR12/03

ATmega16(L)
Datasheet Change Log for ATmega16
Changes from Rev. 2466G-10/03 to Rev. 2466H-12/03 Changes from Rev. 2466F-02/03 to Rev. 2466G-10/03
This section contains a log on the changes made to the datasheet for ATmega16.

All page numbers refer to this document. 1. Updated Calibrated Internal RC Oscillator on page 27. All page numbers refer to this document. 1. Removed Preliminary from the datasheet. 2. Changed ICP to ICP1 in the datasheet. 3. Updated JTAG Interface and On-chip Debug System on page 34. 4. Updated assembly and C code examples in Watchdog Timer Control Register WDTCR on page 41. 5. Updated Figure 46 on page 101. 6. Updated Table 15 on page 36, Table 82 on page 215 and Table 115 on page 274. 7. Updated Test Access Port TAP on page 220 regarding JTAGEN. 8. Updated description for the JTD bit on page 229. 9. Added note 2 to Figure 126 on page 251. 10. Added a note regarding JTAGEN fuse to Table 105 on page 259. 11. Updated Absolute Maximum Ratings* and DC Characteristics in Electrical Characteristics on page 289. 12. Updated ATmega16 Typical Characteristics on page 297. 13. Fixed typo for 16 MHz MLF package in Ordering Information on page 11. 14. Added a proposal for solving problems regarding the JTAG instruction IDCODE in Errata on page 15.

Changes from Rev. 2466E-10/02 to Rev. 2466F-02/03

All page numbers refer to this document. 1. Added note about masking out unused bits when reading the Program Counter in Stack Pointer on page 10. 2. Added Chip Erase as a first step in Programming the Flash on page 286 and Programming the EEPROM on page 287. 3. Added the section Unconnected pins on page 53.

17
2466HSAVR12/03

4. Added tips on how to disable the OCD system in On-chip Debug System on page 34. 5. Removed reference to the Multi-purpose Oscillator application note and 32 kHz Crystal Oscillator application note, which do not exist. 6. Added information about PWM symmetry for Timer0 and Timer2. 7. Added note in Filling the Temporary Buffer (Page Loading) on page 252 about writing to the EEPROM during an SPM Page Load. 8. Removed ADHSM completely. 9. Added Table 73, TWI Bit Rate Prescaler, on page 180 to describe the TWPS bits in the TWI Status Register TWSR on page 179. 10. Added section Default Clock Source on page 23. 11. Added note about frequency variation when using an external clock. Note added in External Clock on page 29. An extra row and a note added in Table 118 on page 291. 12. Various minor TWI corrections. 13. Added Power Consumption data in Features on page 1. 14. Added section EEPROM Write During Power-down Sleep Mode on page 20. 15. Added note about Differential Mode with Auto Triggering in Prescaling and Conversion Timing on page 205. 16. Added updated Packaging Information on page 12.

Changes from Rev. 2466D-09/02 to Rev. 2466E-10/02 Changes from Rev. 2466C-03/02 to Rev. 2466D-09/02

All page numbers refer to this document. 1. Updated DC Characteristics on page 289. All page numbers refer to this document. 1. Changed all Flash write/erase cycles from 1,000 to 10,000. 2. Updated the following tables: Table 4 on page 24, Table 15 on page 36, Table 42 on page 83, Table 45 on page 110, Table 46 on page 110, Table 59 on page 141, Table 67 on page 165, Table 90 on page 233, Table 102 on page 257, DC Characteristics on page 289, Table 119 on page 291, Table 121 on page 293, and Table 122 on page 295. 3. Updated Errata on page 15.

Changes from Rev. 2466B-09/01 to Rev. 2466C-03/02


18

All page numbers refer to this document. 1. Updated typical EEPROM programming time, Table 1 on page 18.

ATmega16(L)
2466HSAVR12/03

ATmega16(L)
2. Updated typical start-up time in the following tables: Table 3 on page 23, Table 5 on page 25, Table 6 on page 26, Table 8 on page 27, Table 9 on page 27, and Table 10 on page 28. 3. Updated Table 17 on page 41 with typical WDT Time-out. 4. Added Some Preliminary Test Limits and Characterization Data. Removed some of the TBD's in the following tables and pages: Table 15 on page 36, Table 16 on page 40, Table 116 on page 272 (table removed in document review #D), Electrical Characteristics on page 289, Table 119 on page 291, Table 121 on page 293, and Table 122 on page 295. 5. Updated TWI Chapter. Added the note at the end of the Bit Rate Generator Unit on page 176. 6. Corrected description of ADSC bit in ADC Control and Status Register A ADCSRA on page 217. 7. Improved description on how to do a polarity check of the ADC doff results in ADC Conversion Result on page 214. 8. Added JTAG version number for rev. H in Table 87 on page 227. 9. Added not regarding OCDEN Fuse below Table 105 on page 259. 10. Updated Programming Figures: Figure 127 on page 261 and Figure 136 on page 272 are updated to also reflect that AVCC must be connected during Programming mode. Figure 131 on page 268 added to illustrate how to program the fuses. 11. Added a note regarding usage of the PROG_PAGELOAD ($6) on page 278 and PROG_PAGEREAD ($7) on page 278. 12. Removed alternative algortihm for leaving JTAG Programming mode. See Leaving Programming Mode on page 286. 13. Added Calibrated RC Oscillator characterization curves in section ATmega16 Typical Characteristics on page 297. 14. Corrected ordering code for MLF package (16MHz) in Ordering Information on page 11. 15. Corrected Table 90, Scan Signals for the Oscillators(1)(2)(3), on page 233.

19
2466HSAVR12/03

Atmel Corporation
2325 Orchard Parkway San Jose, CA 95131, USA Tel: 1(408) 441-0311 Fax: 1(408) 487-2600

Atmel Operations
Memory
2325 Orchard Parkway San Jose, CA 95131, USA Tel: 1(408) 441-0311 Fax: 1(408) 436-4314

RF/Automotive
Theresienstrasse 2 Postfach 3535 74025 Heilbronn, Germany Tel: (49) 71-31-67-0 Fax: (49) 71-31-67-2340 1150 East Cheyenne Mtn. Blvd. Colorado Springs, CO 80906, USA Tel: 1(719) 576-3300 Fax: 1(719) 540-1759

Regional Headquarters
Europe
Atmel Sarl Route des Arsenaux 41 Case Postale 80 CH-1705 Fribourg Switzerland Tel: (41) 26-426-5555 Fax: (41) 26-426-5500

Microcontrollers
2325 Orchard Parkway San Jose, CA 95131, USA Tel: 1(408) 441-0311 Fax: 1(408) 436-4314 La Chantrerie BP 70602 44306 Nantes Cedex 3, France Tel: (33) 2-40-18-18-18 Fax: (33) 2-40-18-19-60

Biometrics/Imaging/Hi-Rel MPU/ High Speed Converters/RF Datacom


Avenue de Rochepleine BP 123 38521 Saint-Egreve Cedex, France Tel: (33) 4-76-58-30-00 Fax: (33) 4-76-58-34-80

Asia
Room 1219 Chinachem Golden Plaza 77 Mody Road Tsimshatsui East Kowloon Hong Kong Tel: (852) 2721-9778 Fax: (852) 2722-1369

ASIC/ASSP/Smart Cards
Zone Industrielle 13106 Rousset Cedex, France Tel: (33) 4-42-53-60-00 Fax: (33) 4-42-53-60-01 1150 East Cheyenne Mtn. Blvd. Colorado Springs, CO 80906, USA Tel: 1(719) 576-3300 Fax: 1(719) 540-1759 Scottish Enterprise Technology Park Maxwell Building East Kilbride G75 0QR, Scotland Tel: (44) 1355-803-000 Fax: (44) 1355-242-743

Japan
9F, Tonetsu Shinkawa Bldg. 1-24-8 Shinkawa Chuo-ku, Tokyo 104-0033 Japan Tel: (81) 3-3523-3551 Fax: (81) 3-3523-7581

Literature Requests
www.atmel.com/literature

Disclaimer: Atmel Corporation makes no warranty for the use of its products, other than those expressly contained in the Companys standard warranty which is detailed in Atmels Terms and Conditions located on the Companys web site. The Company assumes no responsibility for any errors which may appear in this document, reserves the right to change devices or specifications detailed herein at any time without notice, and does not make any commitment to update the information contained herein. No licenses to patents or other intellectual property of Atmel are granted by the Company in connection with the sale of Atmel products, expressly or by implication. Atmels products are not authorized for use as critical components in life support devices or systems.

Atmel Corporation 2003. All rights reserved. Atmel and combinations thereof, AVR, and AVR Studio are the registered trademarks of Atmel Corporation or its subsidiaries. Microsoft , Windows, Windows NT, and Windows XP are the registered trademarks of Microsoft Corporation. Other terms and product names may be the trademarks of others

Printed on recycled paper.


2466HSAVR12/03

This datasheet has been download from: www.datasheetcatalog.com Datasheets for electronics components.