BAB 2 LANDASAN TEORI
2.1 Dioda Germanium Dioda adalah komponen aktif semikonduktir yang terdiri dari persambungan (junction) P-N. Sifat dioda yaitu dapat menghantarkan arus pada tegangan maju dan menghambat arus pada tegangan balik. Dioda berasal dari pendekatan kata dua elektroda yaitu anoda dan katoda. Dioda semikonduktor hanya melewatkan arus searah saja (forward), sehingga banyak digunakan sebagai komponen penyearah arus. Secara sederhana sebuah dioda bisa kita asumsikan sebuah katup, dimana katup tersebut akan terbuka manakala air yang mengalir dari belakang katup menuju kedepan, sedangkan katup akan menutup oleh dorongan aliran air dari depan katup.
Gambar 2.1 Spesifikasi Dioda Germanium Simbol Umum Dioda
Gambar 2.2 Simbol Umum Dioda
Universitas Sumatera Utara
Dioda disimbolkan dengan gambar anak panah yang pada ujungnya terdapat garis yang melintang. Simbol tersebut sebenarnya adalah sebagai perwakilan dari cara kerja dioda itu sendiri. Pada pangkal anak panah disebut juga sebagai anoda (kaki positif = P) dan pada ujung anak panah disebut sebagai katoda (kaki negatif = N). Fungsi Dioda antara lain sebagai berikut: 1. Sebagai penyearah, untuk dioda bridge. 2. Sebagai penstabil tegangan (voltage regulator), untuk dioda zener. 3. Pengaman/sekering. 4. Sebagai rangkaian clipper, yaitu untuk memangkas/membuang level sinya yang ada di atas atau dibawah level tegangan tertentu. 5. Sebagai rangkaian clamper, yaitu untuk menambahkan komponen DC kepada suatu sinya AC. 6. Sebagai pengganda tegangan. 7. Sebagai indikator, untuk LED (light emiting diode). 8. Sebagai sensor panas, contoh aplikasi pada rangkaian power amplifier. 9. Sebagai sensor cahaya, untuk dioda photo. 10. Sebagai rangkaian VCD (voltage controlled oscilator), untuk dioda varactor
2.2 Mikrokontroler Mikrokontroler merupakan sistem komputer yang seluruh atau sebagian besar elemennya dikemas dalam satu chip IC, sehingga sering juga disebut dengan single chip microcomputer. Mikrokontroler biasa dikelompokkan dalam satu
Universitas Sumatera Utara
keluarga masing-masing mikrokontroler mempunyai spesifikasi tersendiri namun masih kompatibel dengan pemrogramannya. Pada saat ini penggunaan mikrokontroler dapat kita temui pada berbagai peralatan, misalnya peralatan yang terdapat dirumah, seperti telepen digital, microwave oven, televisi, mesin cuci, sistem keamanan rumah, PDA, dll. Mikrokontroler dapat kita gunakan untuk berbagai aplikasi misalnya untuk pengendalian, otomasi industri, akusisi data, telekomunikasi dan lain-lain. Keuntungan menggunakan mikrokontroler yaitu harganya murah, dapat diprogram berulang kali, dan dapat kita program sesuai dengan keinginan kita. Saat ini keluarga mikrokontroler yang ada dipasaran yaitu Intel 8084 dan 8051 (MCS51), Motorola 68HC11, Micochip PIC, Hitachi H8, dan Atmel AVR. 2.2.1 Sejarah Mikrokontroler Mikrokontroler dikembangkan dari mikroprosesor. Berikut ini sejarah perkembangan teknologi mikroprosesor dan mikrokontroler.
Tahun 1617, John Napier menemukan sistem untuk melakukan perkalian dan pembagian berdasarkan logaritma.
Tahun 1694, Gottfriend Wilhelm Leibniz membuat mesin mekanik yang dapat melakukan operasi +, -, *, /, dan akar kuadrat.
Tahun 1835, Charles Babbage mengusulkan computer digital pertama didunia menggunakan punched card untuk data dan instruksi, serta program control dengan unit aritmatika dan unit penyimpanan.
Tahun 1850, George Boole, mengembangkan symbolic logic termasuk operasi binari (AND, OR, dll)
Universitas Sumatera Utara
Tahun 1946, Von Neuman menyarankan bahwa instruksi menjadi kode numerik yang disimpan pada memori. Komputer dan semua desain mikrokontroler didasarkan pada komputer Von Neuman.
Tahun 1948, Transistor ditemukan. Dengan dikembangkannya konsep software, pada tahun 1948 mulai adanya perkembangan hardware penting untuk transistor.
Tahun 1959, IC (Integrated Circuit) pertama dibuat.
Tahun 1971, Intel 4004 dibuat, yang merupakan Mikroprosesor pertama. Terdiri dari 2250 transistor. Kemudian intel membuat Intel 8008, mikroprosesor 8 bit. Semakin besar ukuran bit berarti mikroprosesor dapat memproses lebih banyak data.
Tahun 1972, TMS 1000, buatan Texa Instrumen, Mikrokontroler pertama yang dibuat.
Tahun 1974, beberapa pabrikan IC menawarkan mikroprosesor dan pengendalian menggunakan mikroprosesor yang ditawarkan pada saat itu yaitu 8080, 8085, Motorola 6800, signetic 6502, Zilog z80, dan Texas Instrumens 9900 (16 bit).
Tahun 1978, mikroprosesor 16 bit menjadi lebih umum digunakan yaitu Intel 8086, Motorola 68000 dan Zilog Z8000. Sejak saat itu pabrik mikroprosesor terus mengembangkan mikroprosesor dengan berbagai keistimewaan dan asristektur. Mikroprosesor yang dikembangkan termasuk mikroprosesor 32 bit seperti Intel Pentium, Motorola Dragon Ball, dan beberapa mikrokontroler yang menggunakan ARM core.
Universitas Sumatera Utara
2.2.2 Mikrokontroler ATMEG 8 Atmega 8 adalah low power mikrokontroler 8 bit dengan arsitektur RISC. Mikrokontroler ini dapat mengeksekusi perintah dalam satu periode clock untuk setiap instruksi. Berikut ini adalah contoh gambar Atmega 8 yang terdapat pada gambar 2.3 dibawah ini.
Gambar 2.3 AT MEGA 8 Mikrokontroler ini diproduksi oleh atmel dari seri AVR. Untuk seri AVR ini banyak jenisnya, yaitu Atmega 8, Atmega 8535, Mega 8515, Mega 16, dan lain-lain. Mikrokontroler Atmega 8 ini sangat murah dan mempunyai fasilitas yang sangat memadai untuk mengembangkan berbagai aplikasi. Keuntungan lainnya dalam menggunakan ATMEGA 8 ini, jika ada perubahan cara kerja sistem maka kita tidak perlu merubah rangkaiannya, tetapi hanya dengan merubah program-program yang lama dengan memasukkan program-program atau instruksi yang baru. 2.2.3 Fitur ATMEGA 8 Beberapa fitur dari Atmega 8 adalah sebagai berikut: 1. Mikrokontroler AVR 8 bit yang memiliki kemampuan tinggi, dengan daya rendah. 2. Arsitektur RISC dengan throughput mencapai 8 MIPS pada frekuensi 8 Mhz.
Universitas Sumatera Utara
3. Memiliki kapasitas Flash Program 8 Kbyte, EEPROM 512 Byte dan SRAM 1 Kbyte. 4. Saluran I/O sebanyak 22 buah yaitu Port B, Port C, dan Port D. 5. CPU yang terdiri dari 22 register. 6. Unit interupsi internal dan eksternal. 7. Port USART untuk komunikasi serial. 8. Fitur Peripheral Tiga buah Timer/Counter dengan kemampuan perbandingan -
2 (dua) buah Timer/Counter 8 bit dengan Presculer terpisah dan Mode Compare.
-
1 (satu) buah Timer/Counter 16 bit dengan Presculer terpisah dan Mode Compare, dan Mode Capture.
Real Time Counter dengan Oscilator tersendiri. 4 chanel PWM. 8 chanel, 10 bit ADC. Byte-oriented Two-wire Serial Interface Programmable Serial USART. Antarmuka SPI. Whatchdog Timer dengan oscilator internal. On-chip Analog Comparator.
Universitas Sumatera Utara
2.2.4 Pin AVR ATMEGA 8 Kaki (pin) Atmega 8 dapat dilihat pada gambar 2.4 dibawah ini :
Gambar 2.4 Kaki (pin) ATMEGA 8 ATmega 8 memiliki 28 pin, yang masing-masing pinnya memiliki fungsi yang berbeda-beda baik sebagai port maupun sebagai fungsi lainnya. Berikut akan dijelaskan fungsi dari masing kaki ATmega 8. 1. VCC merupakan pin yang berfungsi sebagai masukan catu daya. 2. GND merupakan pin Ground. 3. Port B (PB7...PB0) Didalam Port B terdapat XTAL 1, XTAL 2, TOSC1, TOSC2. Jumlah Port B adalah 8 buah pin, mulai dari pin B.0 sampai dengan B.7. Tiap pin dapat digunakan sebagai input maupun output. Port B merupakan sebuah 8-bit bidirectional I/O dengan internal pull-up resistor. Sebagai input, pin-pin yang terdapat pada port B yang secara eksternal diturunkan, maka akan mengeluarkan arus jika pull-up resistor diaktifkan. Khusus PB6 dapat digunakan sebagai input Kristal (inverting oscillator amplifier) dan input ke
Universitas Sumatera Utara
rangkaian clock internal, bergantung pada pengaturan Fuse bit yang digunakan untuk memilih sumber clock. Sedangkan untuk PB7 dapat digunakan sebagai output Kristal (output oscillator amplifier) bergantung pada pengaturan Fuse bit yang digunakan untuk memilih sumber clock. Jika sumber clock yang dapat dipilih oscillator internal, PB7 dan PB6 dapat digunakan sebagai I/O atau jika menggunakan Asyncronous Timer/Counter 2 PB6 dan PB7 (TOSC2 dan TOSC1) digunakan untuk saluran input timer. Fungsi-fungsi Port B dapat dilihat lebih mudah seperti pada table di bawah ini : Table 2.1 Fungsi Khusus Port B Pin
Fungsi Khusus
PB7
Merupakan pin masukan clock eksternal TOSC1 (Timer Oscillator Pin 1)
PB6
Merupakan pin masukan clock eksternal TOSC2 (Timer Oscillator Pin 2)
PB5
SCK (SPI Bus Serial Clock)
PB4
MISO (SPI Bus Master Input / Slave Output) MOSI (SPI Bus Master Output /Slave Output) OC2 (Timer/ Counter 2 Output Compare Match Output) ŜŜ (SPI Slave Select Input) OCI B (Timer/Counter 1 Output Compare B Match Output)
PB3 PB2 PB1
OCI A (Timer/Counter 1 Output Compare A Match Output)
PB0 ICP (Timer/Counter 1 Input Coapture Pin) 4. Port C (PC6….PC0) Port C merupakan sebuah 7-bit bi-directional I/O port yang di dalam masingmasing pin terdapat pull-up resistor. Jumlah pin nya hanya 7 buah mulai dari pin C.0 sampai dengan pin C.6. Sebagai keluaran/output port C memiliki karakteristik yang sama dalam hal menyerap arus (sink) ataupun mengeluarkan arus (source). Jika RSTDISBL Fuse di program, maka PC6 akan berfungsi sebagai pin I/O. Pin ini memiliki karakteristik yang berbeda
Universitas Sumatera Utara
dengan pin-pin yang terdapat port C lainnya. Namun jika RSTDISBL Fuse tidak diprogram, maka pin ini akan berfungsi sebagai input reset. Dan jika level tegangan yang masuk ke pin ini rendah dan pulsa yang ada lebih pendek dari pulsa minimum, maka akan menghasilkan suatu kondisi reset meskipun clock-nya tidak berkerja. 5. Port D (PD7…PD0) Port D merupakan 8-bit bi- directional I/O dengan Internal pull-up resistor. Fungsi dari port ini sama dengan port-port yang lain. Hanya saja pada port ini tidak terdapat kegunaan-kegunaan yang lain. Pada portini hanya berfungsi sebagai masukan dan keluaran saja atau biasa disebut dengan I/O. Fungsifungsi Port D dapat dilihat lebih mudah seperti pada table di bawah ini : Table 2.2 Fungsi Khusus Port B Pin PD7 PD6 PD5 PD4 PD3 PD2 PD1 PD0
Fungsi Khusus AIN1 (Analog Comparator Negative Input) AIN0 (Analog Comparator Positive Input) T1 (Timer/Counter 1 External Counter Input) XCK (USART External Clock Input/Output) T0 (Timer/ Counter 0 External Counter Input) INT 1 (External Interrupt 1 Input) INT 0 (External Interrupt 0 Input) TXD (USART Output Pin) RXD (USART Input Pin)
6. AVcc Pin ini berfungsi sebagai supplytegangan untuk ADC. Untuk pin ini harus dihubungkan secara terpisah dengan VCC karena pin ini digunakan untuk analog saja. Bahkan jika ADC pada AVR tidak digunakan tetap saja
Universitas Sumatera Utara
disarankan untuk menghubungkannya secara terpisah dengan VCC. Jika ADC digunakan, maka AVcc harus dihubungkan ke VCC melalui low pass filter. 7. AREF Merupakan pin masukan tegangan referensi ADC. 2.2.5 Blok Diagram ATMEGA 8
Gambar 2.5 Blok Diagram Atmega 8
Universitas Sumatera Utara
2.2.6 Arsitektur Mikrokontroler AVR RISC
Gambar 2.6 Arsitektur Mikrokontroler AVR RISC
Gambar 2.7 Arsitektur Harvard
Universitas Sumatera Utara
Dari gambar diatas AVR, menggunakan arsitektur Harvard dengan memisahkan antara memori dan bus untuk program dan data untuk menghasilkan kemampuan dan kecepatan. Instruksi dalam memori program dieksekusi dengan pipelining single level. Dimana ketika satu instruksi dieksekusi, intruksi berikutnya diambil dari dari memori program. Konsep ini mengakibatkan instruksi dieksekusi setiap clock cycle. CPU terdiri dari 32 x 8 bit purpose register yang dapat diakses dengan cepat dalam satu clock cycle, yang mengakibatkan operasi Arithmetic Logic Unit (ALU) dapat dilakukan dalam satu cycle. Pada operasi ALU, dua operand berasal dari regester, kemudian operasi dieksekusi dan hasilnya disimpan kembali pada regester dalam satu clock cycle. Operasi aritmatika dan logic pada ALU akan mengubah bit-bit yang terdapat pada Status Register (SREG). Proses pengambilan instruksi dan pengeksekusian instruksi berjalan secara parallel, dapat dilihat pada gambar dibawah ini :
Gambar 2.8 Proses pengambilan instruksi dan pengeksekusian instruksi secara pararel
Instruksi 1 : Instruksi 2 :
Fetching 1
Executing 1 Fetching 2
Executing 2
Gambar 2.9 Prinsip kerja Pipelining
Universitas Sumatera Utara
2.2.7 General Purpose Register AVR
Gambar 2.10 General Purpose Register AVR Gambar diatas menunjukkan struktur 32 general purpose register yang terdapat di dalam CPU, masing-masing register ditentukan juga dalam alamat memori data, dipetakan kedalam 32 lokasi pertama data user. Walaupun tidak secara fisik diimplementasikan sebagai lokasi SRAM, namun pengaturan ini memberikan flexsibilitas dalam mengakses register, seperti register pointer X, Y, dan Z dapat diset menuju index dari register file manapun. 2.2.8 Stack Pointer Stack digunakan untuk menyimpan data sementara, untuk menyimpan variable local dan untuk menyimpan return address setelah interrupt dan pemanggilan subrutin. Stack pointer selalu menunjukkan ke puncak stack. Stack diimplementasi mulai dari lokasi memori tertinggi ke lokasi memori terendah, sehingga perintah PUSH akan menurangi Stack Pointer.
Gambar. 2.11 Stack Pointer
Universitas Sumatera Utara
2.2.9 Peta Memori AVR ATmega 8
Gambar 2.12 Peta Memori AVR ATmega 8
Memori atmega terbagi menjadi tiga yaitu : 1. Memori Flash Memori flash Adalah memori ROM tempat kode-kode program berada. Kata flash menunjukkan jenis ROM yang dapat ditulis dan dihapus secara elektrik. Memori flash terbagi menjadi dua bagian yaitu bagian aplikasi dan bagian boot. Bagian aplikasi adalah bagian kode-kode program aplikasi berada. Bagian boot adalah bagian yang digunakan khusus untuk booting awal yang dapat diprogram untuk menulis bagian aplikasi tanpa melalui programmer/downloader, misalnya melalui USART. 2. Memori data Memori data adalah memori RAM yang digunakan untuk keperluan program. Memori data terbagi menjadi empat yaitu: 32 GPR (General Purphose Register) adalah register khusus yang bertugas untuk membantu eksekusi program oleh ALU (Arithmatich Logic Unit), dalam instruksi
Universitas Sumatera Utara
assembler setiap instruksi harus melibatkan GPR. Dalam bahasa C biasanya digunakan untuk variabel global atau nilai baik fungsi dan nilainilai yang dapat memperingan kerja ALU. Dalam istilah processor komputer sehari-hari GPR dikenal sebagai “chace memory”, I/O register dan Aditional I/O register yang difungsikan khusus untuk mengendalikan berbagai pheripheral dalam mikrokontroler seperti pin port, timer/counter, usart dan lain-lain. Register ini dalam keluarga mikrokontroler MCS51 dikenal sebagai SFR (Special Function Register) 3. EEPROM EEPROM adalah memori data yang dapat mengendap ketika chip mati (off), digunakan untuk keperluan penyimpanan data yang tahan terhadap gangguan satu daya. 2.2.10 Status Register (SREG) Pada AVR status register mengandung beberapa informasi mengenai hasil dari kebanyakan hasil eksekusi instruksi aritmatik. Informasi ini digunakan untuk altering arus program sebagai kegunaan untuk meningkatkan performa pengoperasian. Register ini di-update setelah operasi ALU (Arithmetic Logic Unit) hal tersebut seperti yang tertulis dalam datasheet khususnya pada bagian Instruction Set Reference. Dalam hal ini untuk beberapa kasus dapat membuang penggunaan kebutuhan instrukasi perbandingan yang telah didedikasikan serta dapat menghasilkan peningkatan dalam hal kecepatan dank ode yang lebih sederhana dan singkat. Register ini tidak secara otomatis tersimpan ketika memasuki sebuah rutin interupsi dan juga ketika menjalankan sebuah perintah
Universitas Sumatera Utara
setelah kembali dari interupsi. Namun hal tersebut harus dilakukan melalui software. Berikut adalah gambar status register.
Gambar 2.13 Status Register Atmega 8
Bit 7 (I) Merupakan bit Global Interrupt Enable. Bitini harus di-set agar semua perintah interupsi dapat dijalankan. Untuk perintah interupsi individual akan di jelaskan pada bagian yang lain. Jika bit ini di-reset, maka semua perintah interupsi baik yang individual maupun yang secara umum akan di abaikan. Bit ini akan dibersihkan atau cleared oleh hardware setelah sebuah interupsi di jalankan dan akan di-set kembali oleh perintah RETI. Bit ini juga dapat diset dan di-reset melalui aplikasi SEI dan CLL.
Bit 6(T) Merupakan bit Copy Storage. Instruksi bit Copy Instructions BLD (Bit Load) and BST (Bit Store) menggunakan bit ini sebagai asal atau tujuan untuk bit yang telah dioperasikan. Sebuah bit dari sebuah register dalam RegisterFile dapat disalin ke dalam bit ini dengan menggunakan instruksi BST, dan sebuah bit di dalam bit ini dapat disalin ke dalam bit di dalam register pada Register File dengan menggunakan perintah BLD.
Bit 5 (H) Merupakan bit Half Carry Flag.Bit ini menandakan sebuah Half Carry dalam beberapa operasi aritmatika. Bit ini berfungsi dalam aritmatika BCD.
Universitas Sumatera Utara
Bit 4 (S) Merupakan Signbit. Bit ini selalu merupakan sebuah ekslusif di antara Negative Flag (N) dan two’s Complements Overflow Flag (V)
Bit 3 (V) Merupakan bitTwo’s Complement Overflow Flag. Bit ini menyediakan fungsi aritmatika dua komplemen.
Bit 2 (N) Merupakan bitNegative Flag. Bit ini mengindikasikan sebuah hasil negative di dalam sebuah fungsi logika atai aritmatika.
Bit 1(Z) Merupakan bit Zero Flag. Bit ini mengindikasikan sebuah hasil nol “0” dalam sebuah fungsi aritmatika atau logika.
Bit 0 (C) Merupakan bit Carry Flag. Bit ini mengindikasikan sebuah Carry atau sisa dalam sebuah aritmatika atau logika.
2.2.11 Timer/Counter 0 Timer/counter 0 adalah sebuah Timer/counter yang dapat mencacah sumber pulsa/clock dari dalam chip (timer) ataupun dari luar chip (counter) dengan kapasitas 8-bit atau 256 cacahan. Timer/counter dapat digunakan untuk: 1. Timer/counter biasa 2. Clear timer on compare match (selain atmega 8) 3. Generator frekuensi (selain atmega 8) 4. Counter pulsa eksternal
Universitas Sumatera Utara
2.2.12 Komunikasi Serial pada Atmega 8 Komunikasi
serial
merupakan
komunikasi
yang
relative
lambat
dibandingkan dengan komunikasi parallel. Oleh karena itu, komunikasi serial sering melibatkan interupsi untuk mengetahui apakah pengiriman mampu menerima data yang telah selesai atau yang belum selesai dikirim. Metode yang paling aman untuk proses pengiriman dan penerimaan saat serial adalah dengan menyediakan buffer untuk kedua proses tersebut. Data yang akan dikirim tidak secara langsung diberikan kepada SBUF, melainkan diberikan kepada buffer. Demikian juga dengan pengambilan data yang tidak langsung dari SBUF, melainkan diambil dari buffer, perpindahan keduanya diserahkan kepada prosedur dalam intrupsi serial. Pada mikrokontroler AVR Atmega 8 memiliki Port USART yang terdapat pada pin 2 dan pin 3 untuk melakukan komunikasi data antara mikrokontroler dengan mikrokontroler ataupun mikrokontroler dengan komputer. USART dapat difungsikan sebagai transmisi data sinkron, dan asinkron. Sinkron berarti clock yang digunakan antara transmiter dan receiver satu sumber clock. Sedangkan asinkron berarti transmiter dan receiver mempunyai sumber clock sendirisendiri.USART terdiri dalam tiga blok yaitu clock generator, transmiter, dan receiver.
Universitas Sumatera Utara
Gambar 2.14 Blok USART
Clock generator Clock generator berhubungan dengan kecepatan transfer data (baud rate) register yang bertugas menentukan baud rate adalah register pasangan.
USART transmiter Usart transmiter berhubungan dengan data pada Pin TX. Perangkat yang sering digunakan seperti register UDR sebagai tempat penampungan data yang akan ditransmisikan. Flag TXC sebagai akibat dari data yang ditransmisikan telah sukses (complete), dan flag UDRE sebagai indikator jika UDR kosong dan siap untuk diisi data yang akan ditransmisikan lagi.
USART receiver Usart receiver berhubungan dengan penerimaan data dari Pin RX. Perangkat yang sering digunakan seperti register UDR sebagai tempat penampung data yang telah diterima, dan flag RXC sebagai indikator bahwa data telah sukses (complete) diterima.
Universitas Sumatera Utara
2.3 Analog to Digital Converter (ADC) ADC adalah suatu alat yang mampu untuk mengubah sinyal atau tegangan analog menjadi informasi digital. Resolusi ADC selalu dinyatakan sebagai jumlah bit-bit dalam kode keluaran digitalnya. Misalnya, ADC dengan resolusi n-bit memiliki 2n kode digital yang mungkin dan berarti juga memiliki 2n step level. Jika resolusi ADC semakin tinggi, maka semakin banyak kemungkinan nilai-nilai analog yang bisa disajikan.Misalnya ADC dengan resolusi 8 bit menghasilkan bilangan 0 samapi 225 (256 bilangan 255 step), dengan demikian tidak mungkin menyajikan semua kemungkinan nilai-nilai analog. Jika sekarang resolusinya menjadi
10 bit maka akan menghasilkan bilangan 0 dengan 1023 (1024 bilangan dan 1023 step).
VADC =
𝑁𝑖𝑙𝑎𝑖 𝐷𝑖𝑔𝑖𝑡𝑎𝑙 256
Nilai Digital =
𝑉𝐴𝐷𝐶 𝑉𝑅𝐸𝐹
x VREF x 256
Fitur-fitur pada arsitektur ADC mikrokontroler AVR adalah sebagai berikut : Resolusi maksimum 10 bit (dapat dipilih resolusi 8 bit) 0.5 LSB Integral Non Linearity Akurasi mutlak ± 2 LSB Waktu konversi 13 – 260 µs Pengambilan sampel sampai 15 kilo sampel per detik pada resolusi maksimum 8 kanal masukan single ended termultipleks
Universitas Sumatera Utara
7 kanal masukan differensial dan 2 kanal masukan differential dengan opsi penguatan 10 x dan 200x Jangkauan tegangan masukan ADC 0-VCC Tegangan refrensi 2,56 V internal yang dipilih Mode konversi tunggal Ada banyak cara yang dapat digunakan untuk mengubah sinyal analog menjadi sinyal digital yang nilainya proposional. Jenis ADC yang biasa digunakan dalam perancangan adalah jenis successive approximation convertion atau pendekatan bertingkat yang memiliki waktu konveksi jauh lebih singkat dan tidak tergantung pada nilai masukan analognya atau sinyal yang akan diubah. Diagram blok pengubah sinyak analog ke dalam digital ditunjukkan pada gambar 2.21 berikut ini :
Gambar 2.15 Diagram blok ADC
Prinsip kerja rangkaian pada gambar 2.21 tersebut adalah jika sinyal masukan mulai konversi dari unit kendali diberi logika “0”, maka register SAR (successive approximation register) akan direset. Sehingga keluaran Vout unit
Universitas Sumatera Utara
DAC (Digital to Analog) menjadi nol. Pada waktu sinyal “mulai konversi” kembali menjadi tinggi operasi konversi segera dimulai. Proses konversi diawali dengan pengesetan bit paling berarti (MSB) register SAR oleh kendali. Selanjutnya data digital dalam register SAR di konversi ke analog oleh DAC. Hasil konversi Vout oleh unit dibandingkan dengan sinyal masukan Vin oleh unit pembanding. Bila Vout lebih besar dari pada Vin maka unti pembanding akan mengirimkan sinyal negative ke unit kendali. Dengan adanya sinyal negative ini, unit kendali akan mereset bit paling berarti (MSB) register SAR. Sebaliknya, jika Vout lebih kecil dari Vin, unit pembanding akan mengirimkan sinyal positif ke unit kendali. Dengan sinyal positif ini, unit kendali tetap mengeset bit paling berarti (MSB). Pada pulsa clock berikutnya uit terkendali akan mengeset bit yang lebig rendah yaitu bit ke 7 register SAR. Kemudian data dikonversikan oleh unit DAC dan hasil konversi Vout dibandingkan dengan sinyal masukan Vin. Sinyal hasil perbandingan akan menentukan unit kendali untuk mengeset dan mereset register SAR. Demikian proses ini berlangsung sampai diperoleh nilai Vin sama dengan nilai Vout . Apabila konversi telah selesai, unit kendali mengirimkan sinyal ‘selesai konversi’ yang berlogika rendah.
2.4 Pemrograman Mikrokontroler Menggunakan Code Vision Avr (Bahasa C) Penggunaan mikrokontroler yang diterapkan berbagai rumah tangga, otomotif, sampai dengan kendali, membuat mikrokontroler mulai masuk didunia
Universitas Sumatera Utara
pendidikan. Banyak varian dan type dari mikrokontroler yang dipelajari dan digunakan di dunia pendidikan. Akar dari bahas C adalah dari bahasa BCPL yang dikembangkan oleh Martin Richhards pada tahun 1967. Bahasa ini memberikan ide kepada Ken Thompson yang kemudian mengembangkan bahasa yang disebut dengan B pada tahun 1970. Perkembangan selanjutnya dari bahasa B adalah bahasa C oleh Dennis Ricthie sekitar 1970-an di Bell Telephone Laboratories Inc (sekarang adala AT & T Bell Laboratories). Bahasa C pertama kali digunakan di computer Digital Equipment Corporation PDP-11 yang menggunakan system operasi UNIX. C adalah bahasa yang standar, artinya satuan program yang tertulis dengan versi bahas C tertentu akan dapat dikoompilasi dengan versi bahasa C yang lain dengan sedikit modifikasi. Standar bahasa C yang asli adalah standar dari UNIX. Patokan standar UNIX ini diambil dari buku yang ditulis oleh Brian Kerninghan dan Dennis Ritehiie yang berjudul “The C Programming Language”, diterbitkan oleh Prentice Hall tahun 1978. Beberapa alasan mengapa bahasa C banyak digunakan, diantaranya adalah sebagai berikut: 1. Bahasa C hampir tersedia di semua jenis komputer Bahasa C ini merupakan bahasa komputer yang tersedia baik di komputer mikro, mini maupun komputer besar
Universitas Sumatera Utara
2. Kode bahasa C sifatnya portable. Aplikasi yangditulis dengan bahasa C untuk suatu computer tersebut dapat digunakan di computer lain hanya dengan modifikasi yang sedikit saja. 3. Bahasa C hanya menyediakan sedikit kata-kata kunci. Semakin sedikit kata-kata kunci yang digunakan disuatu bahasa, semakin mudah bagi pemakai untuk mempelajari dan menggunakan bahasa tersebut. 4. Proses executable program bahasa Ctebih cepat. Karena philosopi dari bahasa C yang menyediakan sedikit kata-kata kunci, maka konsekuensinya program hasil dari kompilasi bahasa C relativeakan lebih cepat prosesnya dibandingkan dengan hasil dari bahasa lain. 5. Dukungan pustaka yang banyak. Telah disebut bahwa keandalan bahasa C dicapai dengan fungsi-fungsi pustakanya. Fungsi-fungsi pustaka ini disediakan oleh versi-versi bahasa C masing-masing atau dapat dibeli dari sumber yang lain. 6. C adalah bahasa yang terstruktur. Bahasa. C mempunyai struktur yang baik sehingga mudah untuk dipahami. C disebut bahasa yang terstruktur karena menggunakan fungsifungsi sebagai program-program bagiannya. 7. Selain bahasa tingkat tinggi, C juga dianggap sebagai bahasa tingkat menengah. Pada awalnya, bahasa C sudah digunakan untuk membuat programprogram perangkat lunak sistem, Yang termasuk program-program
Universitas Sumatera Utara
perangkat
lunak
sistem
diantaranya
adalah
sistem
operasi,
interpreter,compiler, bahasa perakit, bahasa pemrograman dan DBMS (Database Management System). Untuk mempunyai kemapuan seperti ini, bahasa C menggunakan kemapuan bahasa tingkat tinggi dan bahasa tinggkat rendah yang menghasilkan
bahasa tingkat
menengah.
Sebagai bahasa tingkat
menengah,C menyediakan kemampuan seperti yang disediakan oleh bahasa perakitan untuk operasi-operasi bit,byte, alamat-alamat memori, register, BIOS (Basic Input Ouput System), DOS (DiskOperating System) dan lain sebagainya. 8. Bahasa C adalah compiler. Karena bahasa C sifatnya adalah compiler, maka akan menghasilkan executable program yang banyak dibutuhkan oleh program-program komersial. Ada beberapa program yang dapat digunakan sebagai editor dan compiler untuk mikrokontroler AVR, salah satunya yaitu CodeVision. CodeVision AVR adalah salah satu alat bantu pemrograman yang bekerja dalam lingkungan pengembangan perangkat lunak yang terintegrasi. Code vision AVR ini merupakan cross-compiler C, Integrated Development Errvirontment (IDE), dan Automatic Program Generator yang didesain untuk mikrokontroler buatan Atmel seri AVR. Cross-compiler C mampu menerjemahkan hampir semua perintah dari bahasa ANSI C, sejauh yang diijinkan oleh arsitektur dari AVR, dengan tambahan
Universitas Sumatera Utara
beberapa fitur untuk mengambil kelebihan khusus dari arsitektur AVR dan kebutuhan dari sistem embedded. CodeVisionAVR juga mempunyai Automatic Program Generator bernama CodeWizardAVR, yang mengizinkan anda untukmenulis, dalam hitungan menit, semua instruksi yang diperlukan untuk membuat beberapa fungsi-fungsi tertentu. Dengan fasilitas ini mempermudah para Programmer pemula untuk belajar pemograman mikrokontroler menggunakan CVAVR. Seperti aplikasi IDE lainnya, CodeVision AVR dilengkapi dengan sourcecode editor, compiler, linker, dan dapat memanggil Atmel AVR Studio untuk debugger nya. Untukmemulai menjalankan CodeVision, buka program CodeVision melalui menu Start/All Program/CodeVision/GodeVision AVR C Compiler atau melalui desktop klik lambang codevision.
Gambar 2.16Tampilan Pertama Kali CodeVision dijalankan
Universitas Sumatera Utara
2.5 SOFTWARE DESAIN PCB (Printed Circuit Board) Proteus Profesional 7.7 SP2 Pro Proteus professional merupakan kelompok software yang digunakan untuk membantu para desainer dalam merancang dan mensimulasikan suatu rangkaian elektronika. Software ini memiliki dua fungsi sekaligus dalam satu paket, paket yang pertama sebagai software untuk menggambar skematik dan dapat disimulasikan yang diberi nama ISIS. Paket kedua digunakan sebagai merancang gambar Printed CircuitsBoard (PCB) yangdiberi nama ARES. Secara langsung, pengubahan dari skematik ke PCB dapat dilakukan dalam software Proteus Prof 7.7 ini. Proteus Prof ISIS memiliki versi yang selalu diperbarui, mulai dari versi 7.0 sampai dengan 7.10. setiap kenaikan versi memiliki penambahan akan library komponen yang dapat diambil dan digunakan dalam penggambaran atau perancangan. Sebagai perancangan rangkaian elektronik terlebih dahulu menggunakan ISIS sebagai media yang memudahkan dalam perancangan dan simulasi. Banyaknya library dari Proteus Prof 7:7. ISIS membuat software ini dikatakan software simulasi lengkap, yaitu dari komponen-komgonen pasif, Analog, Trasistor, SCR, FET, jenis button atau tombol, jenis saklar atau relay, IC digital IC penguat, IC programmable (mikrokontroler) dan IC memory. Selain didukung dengan kelengkapan komponen, juga didukung dengan kelengkapan alat ukur seperti volumeter, Ampere meter, Oscilloscope, signal Analyzers, serta pembangkit frekuensi. Kelengkapan fitur yang disediakan ini menjadi Proteus Prof ISIS menjadi satu software elektronik terbaik.
Universitas Sumatera Utara
2.5.1 Fungsi Tiap Fitur Proteus Prof 7.7 Tampilan window proteus professional ISIS 7 seperti di bawah ini, dan memiliki fungsi difitur-fiturnya yang sering digunakan sebagai berikut :
Universitas Sumatera Utara
Center at Cursor Zoom in Zoom out Zoom to view sheet Zoom to area Mini View Component List Pick From Library
Componen Mode Meliputi Selection Mode Component Mode Terminal Mode
Generator Mode Voltage Probe
Current Probe
Virtual Instrument Mode
Drawing Tool and Text meliputi 2D Graphic line Mode 2D Graphic box Mode 2D Graphic Circle Mode 2D Graphic Arc Mode 2D Graphic Text Mode
Rotate and Mirror Rotate Clockwise Rotate anticlockwise
Membuat area tengah tampilan gambar dengan bertumpu pada cursor Memperbesar gambar Memperkecil gambar Menampilkan keseluruhan gambar Memperbesar gambar dengan memilih area yang dikehendaki Menampilkan gambar dalam bentuk tampilan kecil seluruh area gambar Daftar komponen yang telah diuambil dari Library Mengambil komponen pada library yang akan diletakkan pada component list Memilih dan melakukan aksi pada komponen yang dipilih. Mengambil komponen pada library Mengambil dan menggunakan terminal yang dibutuhkan dalam rangkaian (VCC, Gnd, Input, Output). Memilih pembangkit pulsa yang akan digunakan. Terminal dengan tampilan nilai dari jalur koneksi komponen dengan menampilkan besaran tegangan Terminal dengan tampilan nilai dari jalur koneksi komponen dengan menampilkan besaran arus. Mengambil alat ukur yang akan digunakan (CRO, Volmeter, Ampere meter, AFG, Signal Analyyzer). Membuat garis jalur rangkaian 2D Membuat gambar kotak atau persegi 2D pada area gambar. Membuat gambar lingkaran 2D area gambar. Membuat gambar Arc atau garis lengkung 2D pada area gambar. Menambahkan tulisan text 2D pada area gambar. Merotasi obyek searah jarum jam Merotasi obyek berlawanan dengan arah jarum jam
Universitas Sumatera Utara
X Mirror Y Mirror Play and Simulation Operaion Play Step Pause Stop
Mencerminkan obyek kearah X Mencerminkan obyek kearah Y Menjalankan simulasi rangkaian yang telah dibuat Menjalankan simulasi secara tahap pertahap Memberhentikan simulasi rangkaian Menghentika simulasi rangkaian
Universitas Sumatera Utara