• Tidak ada hasil yang ditemukan

BAB II LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB II LANDASAN TEORI"

Copied!
16
0
0

Teks penuh

(1)

BAB II

LANDASAN TEORI

2.1Gambaran Umum

Sering kita mendengar istilah mikrokomputer, mikroprosesor, dan mikrokontroler. Mikroprosesor adalah bagian CPU (central processing unit) dari sebuah komputer, tanpa memori, I/O, dan periferal yang dibutuhkan oleh suatu sistem lengkap. Supaya dapat bekerja, mikroprosesor memerlukan perangkat pendukung seperti RAM, ROM dan I/O. Bila sebuah mikroprosesor dikombinasi dengan I/O dan memori (RAM/ROM) akan dihasilkan sebuah mikrokomputer. Sebagai terobosan mikrokomputer ini dapat juga dibuat dalam bentuk single chip yaitu Single Chip Microcomputer (SCM) yang selanjutnya disebut sebagai mikrokontroler. Perbedaan yang menonjol antara mikrokomputer dengan mikrokontroler (SCM) adalah pada penggunaan perangkat I/O dan media penyimpan program. Bila mikrokomputer menggunakan disket atau harddrive lainnya maka mikrokontroler menggunakan EPROM sebagai penyimpan programnya. Sedangkan keuntungan mikrokontroler dibandingkan dengan mikroprosesor adalah pada mikrokontroler sudah terdapat RAM dan peralatan I/O pendukung sehingga tidak perlu menambahkannya.

(2)

2.2 Rotary Encoder

Rotary encoder adalah penggabungan antara sistem kerja elektronika dan mekanik (elektromekanik) yang dapat memonitor gerakan dan posisi. Rotary encoder tersusun dari suatu piringan tipis yang memiliki lubang-lubang pada bagian lingkaran piringan dan menggunakan sensor optik untuk menghasilkan pulsa.

Gambar 2.1 Sensor Optocoupler.

Sensor optocoupler adalah suatu chip yang memanfaatkan cahaya yang berseberangan dari rx (receiver) dan tx (transmitter), dan yang nantinya akan dibaca oleh Mikrokontroler dalam bentuk pulsa. Sensor ini terdiri dari 4 pin yang dapat dilihat pada gambar berikut. Adapun cara kerja dari sensor ini dapat mendeteksi objek dengan cara, infra red digunakan sebagai transmitter dan photodioda digunakan sebagai receiver. Sensor ini bekerja membaca pantulan cahaya dari infra red ke piringan kemudian diterima oleh photodioda. Photodioda akan berubah tahanan reverse apabila diberikan curah cahaya yang berbeda. Cahaya terang maka tahanan reverse photo dioda akan kecil dan apabila cahaya gelap maka tahanannya akan besar. Perubahan nilai tahanan ini yang dimanfaatkan untuk merubah nilai tegangan

(3)

yang akan dimasukkan ke ADC mikrokontroler. Terdapat dua jenis rotary encoder yaitu :

2.2.1 Absolute rotary encoder

Absolute encoder menggunakan piringan dan sinyal optik yang diatur sedemikian sehingga dapat menghasilkan kode digital untuk menyatakan sejumlah posisi tertentu dari poros yang dihubungkan padanya. Jumlah bit ditentukan oleh banyaknya optocoupler yang digunakan. Sistem biner yang untuk menginterpretasi posisi yang diberikan oleh absolute encoder dapat menggunakan kode gray atau kode biner biasa, tergantung dari pola cincin yang digunakan. Untuk lebih jelas, kita lihat contoh absolut encoder yang hanya tersusun dari 4 buah cincin untuk membentuk kode 4 bit. Apabila encoder ini dihubungkan pada poros, maka photo-transistor akan mengeluarkan sinyal persegi sesuai dengan susunan cincin yang digunakan. Gambar 5 dan 6 menunjukkan contoh perbedaan diagram keluaran untuk absolute encoder tipe gray code dan tipe binary code.

(4)

Dengan absolute encoder 4-bit ini maka kita akan mendapatkan 16 informasi posisi yang berbeda yang masing-masing dinyatakan dengan kode biner atau kode gray tertentu. Tabel 1 menyatakan posisi dan output biner yang bersesuaian untuk absolut encoder 4-bit. Dengan membaca output biner yang dihasilkan maka posisi dari poros yang kita ukur dapat kita ketahui untuk diteruskan ke rangkaian pengendali. Semakin banyak bit yang kita pakai maka posisi yang dapat kita peroleh akan semakin banyak.

Gambar 2.3 Contoh diagram keluaran absolut encoder 4-bit tipe binary code Perbedaan gray code dan binary terlihat pada perubahan pada tiap bitnya. Pada gray code mengalami perubahan hanya dengan satu kondisi pada tiap bitnya, sedangkan binary dapat melakukan perubahan dengan dua kondisi bersamaan pada tiap bitnya.

(5)

2.2.2 Incremental rotary encoder

Incremental encoder terdiri dari dua track atau single track dan dua sensor yang disebut channel A dan B . Ketika poros berputar, deretan pulsa akan muncul di masing-masing channel pada frekuensi yang proporsional dengan kecepatan putar sedangkan hubungan fasa antara channel A dan B menghasilkan arah putaran. Dengan menghitung jumlah pulsa yang terjadi terhadap resolusi piringan maka putaran dapat diukur. Untuk mengetahui arah putaran, dengan mengetahui channel mana yang leading terhadap channel satunya dapat kita tentukan arah putaran yang terjadi karena kedua channel tersebut akan selalu berbeda fasa seperempat putaran (quadrature signal). Pembacaan Absolute rotary encoder mengunakan pembacaan grey code, grey code membaca hanya dengan satu kondisi perubahan saja sehingga dapat membaca kecepatan sedangkan Incremental rotary encoder menggunakan pembacaan biner code yang dapat membaca dengan dua kondisi sekaligus sehingga dapat membaca dua arah yang berbeda.

(6)

2.3 Mekanik Counter

Definisi counter adalah counter berasal dari kata “ count” yang berarti suatu alat/instrument yang dapat menghitungjumlah suatu objekdan akan menggerakancontact output bilatelah mencapai hitunganyang telah ditentukan.

Mekanik counter adalah jenis counter yang bekerja pada mekanik,yang menerima masukan dari bagian encoder yang bergerak dan akan menghitung jumlah penggerakannya.

2.4 Perlengkapan Dasar Mikrokontroler

Mikrokontroler atau mikroprosesor adalah suatu piranti yang digunakan untuk mengolah data-data biner (digital) yang didalamnya merupakan gabungan dari rangkaian-rangkaian elektronik yang dikemas dalam bentuk suatu chip (IC). Pada umumnya mikrokontroler tediri dari bagian-bagian sebagai berikut: Alamat (address), Data, Pengendali, Memori (RAM atau ROM), dan bagian input-Output.

2.4.1CPU

Unit pengolah pusat (CPU) terdiri atas dua bagian yaitu unit pengendali (CU) serta unit aritmatika dan logika (ALU). Fungsi utama unit pengendali adalah untuk mengambil, mengkode, dan melaksanakan urutan instruksi sebuah program yang tersimpan dalam memori. Sedangkan unit aritmatika dan perhitungan bertugas untuk menangani operasi perhitungan maupun bolean dalam program.

(7)

2.4.2Alamat

Pada mikroprosesor/mikrokontroler, apabila suatu alat dihubungkan dengan mikrokontroler maka harus ditetapkan terlebih dahulu alamat (address) dari alat tersebut. Untuk menghindari terjadinya dua alat bekerja secara bersamaan yang mungkin akan meyebabkan kerusakan.

2.4.3 Data

Mikrokontroler Atmega8535 mempunyai lebar bus data 8 bit. Merupakan mikrokontroler CMOS 8-bit daya-rendah berbasis arsitektur RISC yang ditingkatkan.

2.4.4 Memori

Mikroprosesor/mikrokontroler memerlukan memori untuk menyimpan program/data. Ada beberapa tingkatan memori, diantaranya register internal, memori utama, dan memori massal. Sesuai dengan urutan tersebut waktu aksesnya dari yang lebih cepat ke yang lebih lambat.

2.4.5RAM

RAM (Random Acces Memory) adalah memori yang dapat dibaca atau ditulisi. Data dalam RAM akan terhapus bila catu daya dihilangkan. Oleh karena itu program mikrokontroller tidak disimpan dalam RAM. Ada dua teknologi yang dipakai untuk membuat RAM, yaitu RAM statik dan RAM dinamik.

(8)

2.4.6ROM

ROM (Read Only Memory) merupakan memori yang hanya dapat dibaca. Data dalam ROM tidak akan terhapus meskipun catu daya dimatikan. Oleh karena itu ROM dapat digunakan untuk menyimpan program. Ada beberapa jenis ROM antara lain ROM murni, PROM, EPROM, EAPROM. ROM adalah memori yang sudah diprogram oleh pabrik, PROM dapat diprogram oleh pemakai sekali saja. Sedangkan EPROM merupakan PROM yang dapat diprogram ulang.

2.4.7Input / Output

I/O dibutuhkan untuk melakukan hubungan dengan piranti di luar sistem. I/O dapat menerima data dari alat lain dan dapat pula mengirim data ke alat lain. Ada dua perantara I/O yang dipakai, yaitu piranti untuk hubungan serial (UART) dan piranti untuk hubungan paralel (PIO).

2.5 Mikrokontroler AVR ATmega 8535

Atmega8535 merupakan mikrokontroller keluarga AVR keluaran atmel dengan 16 Kbyte PEROM (Programable and Erasable Read Only Memory). Pada mikrokontroller tipe ini isi memorinya dapat diisi ulang ataupun dihapus berkali-kali sebabab menggunakan teknologi nonvolatile memory. AVR merupakan seri mikrokontroler CMOS 8-bit buatan Atmel, berbasis arsitektur RISC (Reduced Instruction Set Computer) yang ditingkatkan.

(9)

Hampir semua instruksi dieksekusi dalam satu siklus clock. AVR mempunyai 32 register general-purpose, timer/counter fleksibel dengan mode compare, interrupt internal dan eksternal, serial UART, programmable Watchdog Timer, dan mode power saving.

Pemilihan Mikrokontroler Atmega 8535 tidak lain karena banyaknya kemudahan fasilitas yang ada.

Kemudahan program dengan menggunakan pemograman bahasa C. Proses download program yang cepat, antar PC terhadap Mikrokontroler. Frekuensi clock maksimum 16 MHz.

Jalur I/O 23 buah, yang terbagi dalam PortB, PortC dan PortD. Internal SRAM sebesar 1 byte.

Konsumsi daya rendah. Progmable serial USART. Komparator Analog.

(10)

Penjelasan masing-masing pin ATmega 8535 adalah sebagai berikut: VCC merupakan pin masukan catu daya.

GND merupakan pin ground.

Port B (PB ..PB0) XTAL1/XTAL2/TOSC1/TOSC2

Port C (PC ..PC0) merupakan pin IO dua arah dan berfungsi khusus. Port D (PD ..PD0) merupakan pin IO dua arah dan berfungsi khusus. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler.

AVCC merupakan pin masukan tegangan untuk ADC (Analog to Digital Converter).

AREF merupakan pin masukan tegangan referensi ADC (Analog to Digital Converter).

Atmega 8535 dapat dioperasikan dengan bahasa C dan dapat juga menggunakan bahasa asembler tetapi dalam Odometer digital ini mengunkan bahasa C karena mudah dalam pengunaanya. Bahasa C merupakan salah satu bahasa pemograman yang populer pada saat ini karena mudah dipahami oleh programer pemula.

2.6Pemograman Bahasa C

Penggunaan sebuah sistem mikrokontroler AVR mengunakan sebuah software yang digunakan untuk menulis program, kompilasi, simulasi dan download program ke IC mikrokontroler AVR. Software yang digunakan adalah CodeVision

(11)

AVR dalam bahasa C, Codevision memilki IDE (integrated Development Environment) yang lengkap, di mana penulisan program, compile, link dan download program ke chip AVR dapat dilakukan oleh CodeVision, selain itu CodeVision juga memiliki fasilitas terminal, yaitu digunakan untuk melakukan komunikasi serial dengan mikrokontroler yang sudah deprogram. Proses download ke Ic mikrokontroler dapat menggunakan sistem download secara ISP (In-System Programming).

2.7 Header

Di dalam fungsi header berisi include file (.hex), yaitu library (pustaka) yang akan digunakan dalam pemograman. File-file ini mempunyai ciri yaitu namanya diakhiri dengan ekstensi .h. Misalnya pada program #include <stdio.h> menyatakan pada kompiler agar membaca file bernama stdio.h saat pelaksanaan kompilasi. Bentuk umum #include:

Contoh:

#include <delay.h> #include <delay.h> #include <stdio.h>

Prepocessor (#): Digunakan untuk memasukkan (include) text dari file lain, mendefinisikan macro yang dapat mengurangi beban kerja pemograman dan meningkatkan legibility source code (mudah dibaca). Bentuk dari (#include <nama file>) memberikan penjelasan pencarian file dilakukan pada direktori khusus

(12)

(direktori file). Bentuk lain dari header (#include “nama file”) mengisyaratkan bahwa pencarian file terlebih dahulu dilakukan pada direktori aktif tempat sumber program dan bila tidak ditemukan pencarian akan dilanjutkan pada direktori lainnya yang sesuai dengan perintah pada sistem operasi.

2.8 Software CodeVisionAVR version 1.25.9 standard.

Codevision AVR merupakan suatu perangkat lunak(softwere) yang dapat membantu dalam proses penulisan pada sebuah program. Codevision AVR merupakan softwere yang berbasis pada bahasa C, dan memiliki kelebihan yang dapat dimanfaatkan dalam proses program, dalam Codevision AVR memiliki fasilitas yang dapat memudahkan kita dalam proses pembuatan sebuah contohnya kita dapat melakukan proses debug mengetahui letak kesalahan dalam proses pembuatan suatu program. Adapun proses pengoperasiannya sangat memadai untuk proses penginstalan sebuah program ke sebuah hardware.

(13)

Dalam pemprograman terdapat fungsi - fungsi dasar yang mempengaruhi kombinasi sebuah program. Berikut pengenalan fungsi pada pemograman :

2.8.1 #include

Fungsi #include adalah sebagai library atau dapat sebagai pengumpul berbagai jenis perintah. Jika perintah #include ini tidak ditulis, maka komputer tidak mengerti perintah-perintah yang ditulis. Contoh :

#include <conio.h>

2.8.2 void()

Fungsi yang void sering disebut juga prosedur . Disebut void karena fungsi tersebut tidak mengembalikan suatu nilai keluaran yang didapat dari hasil proses fungsi tersebut.

2.8.3 while()

Gunakan while pada program yang digunakan untuk menghitung banyaknya karakter dari kalimat yang dimasukkan melalui keyboard (termasuk karakter spasi). Untuk mengakhiri pemasukan kalimat, tombol ENTER („\n‟) harus ditekan

Input : Ketikkan sembarang kalimat, akhiri dengan enter Output : jumlah karakter = m

(14)

2.8.4 Fungsimain()

Fungsi ini adalah suatu fungsi khusus yang akan dieksekusi pertama. Setiap program harus mempunyai fungsi main(). Fungsi main() diawali dengan tanda { yang menyatakan awal dari program dan diakhiri dengan tanda } yang menyatakan akhir dari program.

2.8.5 getch()

getch() adalah suatu fungsi yang berfungsi untuk pembacaan data sebuah karakter, sehingga program akan terdiam sampai pengguna menekan suatu tombol. Fungsi ini berada dalam file header conio.h sehingga perintah #include “conio.h” harus dituliskan. Kalau perintah getch() tidak ditulis, maka program akan dikerjakan dengan cepat dan eksekusi tidak dapat terlihat.

2.8.6 Fungsi printf()

Fungsi Printf() merupakan fungsi paling umum yang digunakan dalam menampilkan data. Berbagai jenis data dapat ditampilkan dalam fungsi ini, contoh: // sprintf(msg2,"%d cm",j);

Dalam program ini data yang diterima akan ditampilkan dalam bentuk cm. Data ini diikuti oleh string yang memiliki fungsi untuk mengatur jarak dan baris tengah pada data.

(15)

Puts() digunakan untuk menampilkan sebuah string ke layar ketika tidak menggunakan placeholders pada sebuah program. Data diterima dan disesuaikan dengan sebuah tujuan yang diiginkan, contoh:

// lcd_putsf("mencoba kembali");

Pada Lcd akan menampilkan karakter atau kalimat ” mencoba kembali ”.

2.8..8 Fungsi if()

If() berfungsi sebagai perintah untuk menampilkan data suatu keadaan untuk dimanfaatkan untuk kondisi tertentu, kondisi tertentu misalnya data yang diterima akan diolah untuk menampilkan sebuah nilai pengukuran,

contoh: if(opto==0&&opto1==0)return;

2.9LCD

LCD (Liquid Crystal Display) adalah modul penampil yang banyak digunakan karena tampilannya menarik. LCD yang paling banyak digunakan saat ini ialah LCD M1632 refurbish karena harganya cukup murah. LCD M1632 merupakan modul LCD dengan tampilan 2x16 (2 baris x 16 kolom) dengan konsumsi daya rendah. Modul tersebut dilengkapi dengan mikrokontroler yang didesain khusus untuk mengendalikan LCD. Mikrokontroler HD44780 buatan Hitachi yang berfungsi sebagai pengendali LCD memiliki CGROM (Character Generator Read Only Memory), CGRAM (Character Generator Random Access Memory), dan DDRAM (Display Data Random Access Memory).

(16)

Gambar 2.7 LCD

Gambar

Gambar 2.1 Sensor Optocoupler.
Gambar 2.2 Contoh diagram keluaran absolut encoder 4-bit tipe gray code
Gambar 2.3 Contoh diagram keluaran absolut encoder 4-bit tipe binary code
Gambar 2.4 Incremental encoder dan diagram keluarannya
+4

Referensi

Dokumen terkait

Berdasarkan hasil korelasi tersebut dapat dinyatakan bahwa ada hubungan positif yang sangat signifikan antara motivasi berprestasi dengan prestasi kerja pada karyawan.. Hasil

SIL both A and B brands of all types of trailer bearing units: Fertilizer Trailer, Water Tank, Patria, Side Tipping Trailer and Moving Tank in 5-day grease period except

Fungsi yang lain adalah sebagai berikut: fungsi Buka File untuk membuka file yang akan disandikan, fungsi Proses untuk melakukan proses enkripsi, fungsi Reset untuk

Gamita ang bunot nga sugnod alang sa pagpauga sa kopras sa kukum o pangtabon sa punuan sa lubi aron makapugong sa pagkauga sa yuta ug pagtubo

Untuk mendapatkan titik tepi kanan.yaitu u3_mmka untuk hasil dari titik tepi kanan yaitu variabel ye yang merupakan kolom dari hasil pembagian daerah mata yang dibagi

memperoleh bagian dari keuntungan pe- rusahaan,(2) Perlakuan sama terhadap para pemegang saham, terutama kepada pemegang saham minoritas dan peme- gang saham asing,

Jakarta: BPJS Ketenagakerjaan Kantor Pusat. Siagian,

synthesized compounds were screened for in vitro anti- bacterial activity against various gram positive and gram negative bacteria ( E. aureus ) and in vitro anti-TB against