bab ii tinjauan pustaka 2.1 tinjauan mutakhir ii.pdfbearing, penggunaan ... dengan adanya tampilan...
TRANSCRIPT
5
BAB II
TINJAUAN PUSTAKA
2.1 Tinjauan Mutakhir
Self-Stabilizing 2-Axis adalah alat yang menggunakan sensor
accelerometer dan penggerak berupa motor servo. Sensor accelerometer ini
digunakan untuk mendapatkan sudut kemiringan dari 2 sumbu. Dari sudut
kemiringan tersebut didapat posisi stabil secara otomatis dengan pergerakan dari
motor servo. Penelitian yang menggunakan sensor accelerometer sudah banyak
dilakukan terutama berkaitan tentang perangkat keras serta simulasi mengenai
kestabilan dan pembacaan sudut 2 sumbu.
Self-Stabilizing 2-Axis dengan menggunakan sensor accelerometer
ADXL345 berbasis mikrokontroler ATmega8 diharapkan mampu untuk
mempermudah pekerjaan manusia dalam pencarian kestabilan pada permukaan
alat. Berikut ini beberapa referensi Jurnal yang bisa dijadikan acuan untuk
menjelaskan mengenai penelitian tentang Implementasi Self-Stabilizing 2-Axis
Menggunakan Accelerometer ADXL345.
1. Riny Sulistyowati mempublikasikan penelitiannya yang berjudul Rancang
Bangun Sistem Kontrol Tilt-Roll Kamera Digital Berbasis Mikrokontroler
Atmega8 Menggunakan Sensor Accelerometer dari Institut Teknologi Adhi
Tama Surabaya Fakultas Teknologi Pertanian Jurusan Teknik Elektro pada 2
Desembar 2012, diperoleh bahwa nilai tegangan analog dari sensor
dibutuhkan ADC dengan resolusi yang besar karena akan berpengaruh pada
hasil gerakan servo. Sensor accelerometer yang digunakan adalah
accelerometer MMA7361.(Jurnal IPTEK, 2012).
2. Munnik Haryanti mempublikasikan penelitiannya yang berjudul Aplikasi
Accelerometer 3 Axis Untuk Mengukur Sudut Kemiringan (Tilt) Engineering
Model Satelit Di Atas Air Bearing dari Teknik Elektro Fakultas Teknik
Universitas Suryadarma Jakarta pada Oktober 2008, diperoleh bahwa hasil
pengamatan terhadap Accelerometer menunjukan bahwa accelerometer
tersebut lebih sensitif untuk mengukur pada 0o
– 45o, sudut lebih dari 45
o
6
kurang sensitif. Jika diaplikasikan pada pengukuran kemiringan sudut pada air
bearing, penggunaan accelerometer jenis ini sudah cukup memadai. Dengan
adanya tampilan perangkat lunak labview dan animasi menggunakan simple
3D, pengukuran menjadi lebih menarik dan lebih jelas. Supaya lebih akurat
pengukuran sudut kemiringannya perlu dilakukan kalibrasi ulang pada
accelerometer. (Jurnal TESLA, 2008).
2.2 Mikrokontroler
Mikrokontroler adalah sebuah sistem komputer fungsional yang terkandung
di dalam sebuah chip. Dengan kata lain, mikrokontroler merupakan suatu alat
elektronika digital yang mempunyai input dan output I/O yang dapat dikendalikan
dengan program yang bisa ditulis dan dihapus dengan cara khusus. Salah satu
mikrokontroler yang banyak digunakan saat ini adalah mikrokontroler AVR. AVR
adalah mikrokontroler yang basis arsitektur AVR RISC (Reduced Intrution Set
Computer) 8 bit yang berdasarkan arsitektur Harvard, yang dibuat oleh Atmel
tahun 1996.
Mikrokontroler AVR memiliki keunggulan dibandingankan dengan
mikrokontroler lainnya. Keunggulan mikrokontroler AVR yaitu kecepatan dalam
eksekusi program yang lebih cepat karena sebagian besar instruksi dieksekusi
dalam 1 siklus clock, lebih cepat dibandingkan dengan mikrokontroler MCS51
yang memiliki arsitektur CISC (Complex Intruction Set Computer). Selain itu
mikrokontroler AVR memiliki fitur lengkap yaitu (ADC Internal, PWM,
EEPROM Internal, Port I/O, Komunikasi Serial, I2C, timer/ counter, dan lain-lain.
(Adrianto.2008).
2.2.1 Mikrokontroler ATmega8
Mikrokontroler ATmega8 adalah mikrokontroler CMOS 8-bit
berarsitektur AVR RISC yang memiliki 8K byte in-System Programmable
Flash. Mikrokontroler dengan konsumsi daya rendah ini mampu
mengeksekusi instruksi dengan kecepatan maksimum 16MIPS(Microprocessor
7
without Interlocked Pipeline Stages) pada frekuensi 16MHz. Bentuk fisik dari
ATmega8 dapat dilihat pada Gambar 2.1.
Gambar 2.1 Bentuk Fisik ATmega8
( Sumber : Atmel. 2011 )
Jika dibandingkan dengan ATmega8L perbedaannya hanya terletak pada
besarnya tegangan yang diperlukan untuk bekerja. Untuk ATmega8 tipe L,
mikrokontroler ini dapat bekerja dengan tegangan antara 2,7 - 5,5 V sedangkan
untuk ATmega8 hanya dapat bekerja pada tegangan antara 4,5 – 5,5 V.
Konfigurasi pin dari ATmega8 ditunjukkan pada Gambar 2.2.
Gambar 2.2 Konfigurasi Pin Mikrokontroler ATmega8
( Sumber : Atmel. 2011)
Dalam perancangan dan pembuatan hardware Self-Stabilizing 2-Axis
menggunakan mikrokontroler AVR ATmega8. Mikrokontroler AVR ATmega8
8
memiliki kapasitas memory flash sebesar 8Kbyte, memory EEPROM sebesar
512byte, kapasitas memory SRAM 1Kbyte dan dapat menjalankan 130 instruksi
dalam satu clock. Tabel 2.1 adalah penjelasan dari masing-masing port
mikrokontroler ATmega8.
Tabel 2.1 Fungsi-Fungsi Port Pada Mikrokontroler ATmega8
Port
Mikrokontroller Fungsi Port
Port.B
(PB7…PB0)
Dalam Port B terdapat XTAL1, XTAL2, 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
bi-directional I/O dengan internal pull-up resistor.
Sebagai input, pin-pin yang terdapat pada portB 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 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 dipilih dari oscillator internal, PB7 dan PB6
dapat digunakan sebagai I/O atau jika menggunakan
Asyncronous Timer/Counter2 maka PB6 dan PB7
(TOSC2 dan TOSC1) digunakan untuk saluran input
timer.
Port.C
(PC5…PC0)
Port C merupakan sebuah 7-bit bi-directional I/O port yang
di dalam masing-masing 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
9
Tabel 2.1 Lanjutan
karakteristik yang sama dalam hal menyerap arus (sink)
ataupun mengeluarkan arus (source).
RESET (PC6)
Jika RSTDISBL Fuse diprogram, maka PC6 akan berfungsi
sebagai pin I/O. Pin ini memiliki karakteristik yang
berbeda dengan pin-pin yang terdapat pada port C
lainnya. Namun jika RSTDISBL Fuse tidak diprogram,
maka pin ini akan berfungsi sebagai input reset. 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
bekerja.
Port.D
Port D merupakan 8-bit bi-directional I/O dengan internal
pull-up resistor. Pada port ini hanya berfungsi sebagai
masukan dan keluaran saja atau biasa disebut dengan I/O.
(Sumber : Atmel. 2011)
2.2.1.1 Mikrokontroler ATmega 8 Dengan Rangkaian Arduino NG
Dalam penelitian ini, mikrokontroler yang digunakan adalah
mikrokontroler ATmega 8 dengan rangkaian arduino. Terdapat beberapa
perbedaan nama dan fungsi port I/O ketika ATmega 8 digunakan pada rangkaian
arduino. perbedaan dan fungsi dari masing masing port I/O ATmega8 pada
rangkaian arduino dapat dilihat pada Tabel 2.2.
Tabel 2.2 Fungsi Port I/O ATmega8 Pada Rangkaian Arduino
Port I/O ATmega 8 Port I/O ATmega8
Arduino Fungsi
PortC.0…PortC.5 PINA.1…PINA.6 Sebagai PIN input-output analog
PortB.0…PortB.5
PortD.0…PortD.7 PIN.0…PIN.13 Sebagai PIN input-output digital
PortB.3, PortB.2, PIN.11, PIN.10, Sebagai Output digital yang
10
Tabel 2.2 Lanjutan
PortB.1, PortD.5,
PortD.6, PortD.3
PIN.9, PIN.5, PIN.6,
PIN.3,
memiliki fasilitas Pulse Width
Modulation (PWM)
(Sumber : Arduino. 2011)
2.3 Accelerometer ADXL 345
ADXL345 adalah modul sensor gerak/akselerasi 3 sumbu (3-Axis MEMS
acceleration sensor module) beresolusi 13-bit yang dapat mendeteksi tarikan pada
jangkauan hingga 16g (16 x 9,81 m/s2 ~ ±157 m/s
2). Aplikasinya mencakup
pendeteksi kemiringan dengan memantau perubahan gaya tarik statis (static
gravity acceleration on tilt sensing application) dan percepatan dinamis (dynamic
acceleration) yang timbul akibat gerakan (motion) atau tumbukan (impact shock).
Dengan resolusi tinggi yang dihasilkannya (3,9mg/LSB high resolution)
memungkinkan modul elektronika ini mendeteksi inklinasi pada tingkat yang
sangat halus.
Sensor akselerator ini cocok digunakan pada aplikasi portabel dan sangat
cocok digunakan pada rangkaian mikrokontroler semacam Arduino karena akses
data dapat dilakukan dengan mudah lewat antarmuka SPI atau I2C. Data
direpresentasikan secara digital dalam format integer 16-bit.
Modul ini dapat mendeteksi status aktivitas gerakan (active / inactive)
dengan membandingkan percepatan / akselerasi pada sumbu manapun dengan
ambang batas sensitivitas yang dapat diatur melalui kode program. Tersedia juga
pendeteksi ketukan (tap sensing) yang dapat mendeteksi ketukan tunggal maupun
ganda pada berbagai arah. Modul ini juga dapat mendeteksi gerak jatuh bebas
(free-fall sensing). Fungsi-fungsi tersebut dapat dipetakan secara terpisah pada
pada dua pin interupsi keluaran (interrupt output pins).
Modul ini memiliki sistem pengelola memori internal statis sepanjang 32-bit
bertipe antrian FIFO (first-in, first-out) yang dapat digunakan untuk menyimpan
variabel / data temporer hasil pengukuran sehingga mengurangi beban
mikrokontroler dan secara umum menurunkan konsumsi energi sistem.
11
Modul ini memiliki sirkuit pengelolaan daya yang canggih dimana modul
ditempatkan pada mode konsumsi daya yang sangat kecil hingga terdeteksi
gerakan yang melewati ambang batas (treshold) tertentu yang mengaktifkan
kembali mode normal. Setelah proses pembacaan sensor selesai secara otomatis
modul dikembalikan ke mode siaga untuk menghemat energi. Bentuk fisik dari
ADXL 345 dapat dilihat pada Gambar 2.3.
Gambar 2.3 Accelerometer ADXL345
(Sumber: SparkFun. 2009)
2.3.1 Fitur ADXL 345
Beberapa fitur yang diberikan oleh sensor accelerometer ADXL 345
adalah sebagai berikut. (SparkFun. 2009).
1. Menggunakan chip ADXL345 yang diproduksi oleh Analog Devices Inc.
2. Tipe data keluaran: digital
3. Antarmuka komunikasi: SPI / I2C
4. Jangkauan deteksi: dari ±2g hingga ±16g
5. Catu daya 2 Volt - 3,6 Volt (kompatibel dengan Raspberry-Pi, untuk Arduino
pasokan daya dapat diambil dari pin 3v3).
6. Pin antarmuka toleran terhadap tegangan 5V (dapat dikoneksikan langsung
dengan I/O TTL 5V).
7. Suhu operasional: -40° ~ 85°
8. Konsumsi arus rendah: kurang dari 25 µA pada saat deteksi
9. Manajemen energi yang cerdas, hanya 0,1 µA pada saat siaga
10. Ukuran modul: 2,8Cm x 1,8Cm
12
2.4 LCD (Liquid Crystal Display)
LCD Display Module M1632 buatan Seiko Instrument Inc. yaitu terdiri dari
dua bagian, yang pertama merupakan panel LCD sebagai media penampil
informasi dalam bentuk huruf/angka, yang dapat menampung 16 huruf/angka
disetiap baris. Bagian kedua merupakan sistem pengontrol panel LCD, yang
berfungsi mengatur tampilan informasi serta berfungsi mengatur komunikasi
M1632 dengan mikrokontroler yang memakai tampilan LCD. Dengan demikian
pemakaian LCD modul M1632 menjadi lebih sederhana. Untuk gambar LCD
modul dapat dilihat pada Gambar 2.4.
Gambar 2.4 LCD 16x2 Display
(Sumber: Anonim. 2014)
Agar LCD dapat berhubungan dengan mikrokontroler, M1632 sudah
dilengkapi dengan 8 jalur data (DB0..DB7) yang dipakai untuk menyalurkan kode
ASCII maupun perintah pengatur kerjanya M1632. Selain itu dilengkapi pula
dengan E, R/W dan RS seperti layaknya komponen yang kompatibel dengan
mikroprosesor. Kombinasi sinyal E dan R/W merupakan sinyal standard pada
komponen buatan Motorolla. Sebaliknya sinyal-sinyal dari mikrontroller
merupakan sinyal khas Intel dengan kombinasi sinyal WR dan RD.
RS singkatan dari Register Select, yang dipakai untuk membedakan jenis
data yang dikirim ke M1632, jika RS=0 data yang dikirim adalah perintah untuk
mengatur kerja M1632, sebaliknya jika RS=1 data yang dikirim adalah kode
ASCII yang ditampilkan. Demikian pula saat pengambilan data, saat RS=0 data
yang diambil dari M1632 merupakan data status yang mewakili aktivitas M1632,
13
dan saat RS=1 maka data yang diambil merupakan kode ASCII dari data yang
ditampilkan. (Surya.2011).
2.5 Motor Servo
Motor servo adalah sebuah motor DC yang dilengkapi rangkaian kendali
dengan sistem closed feedback yang terintegrasi dalam motor tersebut. Pada motor
servo posisi putaran sumbu (axis) dari motor akan diinformasikan kembali ke
rangkaian kontrol yang ada di dalam motor servo.
Gambar 2.5 Motor Servo
(Sumber : Purnama.A. 2012)
Motor servo disusun dari sebuah motor DC, gearbox, variabel resistor
(VR) atau potensiometer dan rangkaian kontrol. Potensiometer berfungsi untuk
menentukan batas maksimum putaran sumbu (axis) motor servo. Sedangkan sudut
dari sumbu motor servo diatur berdasarkan lebar pulsa yang pada pin kontrol
motor servo. Motor servo adalah motor yang mampu bekerja dua arah (CW dan
CCW) dimana arah dan sudut pergerakan rotornya dapat dikendalikan dengan
memberikan variasi lebar pulsa (duty cycle) sinyal PWM pada bagian pin
kontrolnya. (Purnama,A.2012)
Motor servo yang akan digunakan pada penelitian ini adalah motor servo
HITEC dengan tipe HS-805BB. Keterangan dari servo ini dapat dilihat pada tabel
2.3 berikut.
14
Tabel 2.3 Keterangan Motor Servo HS-805BB
Sistem control Pulse Widht Control (PWM)
Tegangan Kerja 4,8 V hingga 6V
Dimensi 66 x 30 x 58 mm
Berat 152 g
Torsi 19,8 Kg-Cm
(Sumber : Hitec. 2011)
2.5.1 Pulsa Kendali Motor Servo
Motor Servo akan bekerja secara baik jika pada bagian pin kontrolnya
diberikan sinyal PWM dengan frekuensi 50 Hz. Dimana pada saat sinyal dengan
frekuensi 50 Hz tersebut dicapai pada kondisi Ton duty cycle 1.5 ms, maka rotor
dari motor akan berhenti tepat di tengah-tengah (sudut 0°/ netral). Pada saat Ton
duty cycle dari sinyal yang diberikan kurang dari 1.5 ms, maka rotor akan berputar
ke berlawanan arah jarum jam (Counter Clock Wise, CCW) dengan membentuk
sudut yang besarnya linier terhadap besarnya Ton duty cycle, dan akan bertahan
diposisi tersebut. Sebaliknya, jika Ton duty cycle dari sinyal yang diberikan lebih
dari 1.5 ms, maka rotor akan berputar searah jarum jam (Clock Wise, CW)
dengan membentuk sudut yang linier pula terhadap besarnya Ton duty cycle, dan
bertahan diposisi tersebut. (Purnama,A.2012)
Gambar 2.6 Pulsa Kendali Motor Servo
(Sumber : Purnama,A..2012)
15
2.6 PWM (Pulse Width Modulation)
Pulse Width Modulation (PWM) secara umum adalah sebuah cara
memanipulasi lebar sinyal yang dinyatakan dengan pulsa dalam suatu perioda,
untuk mendapatkan tegangan rata-rata yang berbeda. Beberapa contoh aplikasi
PWM adalah pemodulasian data untuk telekomunikasi, pengontrolan daya atau
tegangan yang masuk ke beban, regulator tegangan, audio effect dan penguatan,
serta aplikasi-aplikasi lainnya. Aplikasi PWM berbasis mikrokontroler biasanya
berupa pengendalian kecepatan motor DC, pengendalian motor servo, pengaturan
nyala terang LED dan lain sebagainya.
Sinyal PWM pada umumnya memiliki amplitudo dan frekuensi dasar yang
tetap, namun memiliki lebar pulsa yang bervariasi. Lebar pulsa PWM berbanding
lurus dengan amplitudo sinyal asli yang belum termodulasi. Artinya, Sinyal PWM
memiliki frekuensi gelombang yang tetap namun duty cycle bervariasi (antara 0%
hingga 100%). (Prayogo,R. 2012).
Gambar 2.7 Sinyal PWM Dan Rumus Perhitungannya
(Sumber : Prayogo,R. 2013)
Rumus perhitungan PWM dapat dilihat pada persamaan 2.1, 2.2, dan 2.3 :
.................................................. (2.1)
.................................................................. (2.2)
......................................................... (2.3)
16
Dengan :
Ton = Waktu Pulsa High
Toff = Waktu Pulsa Low
D = Duty Cicle adalah lama pulsa high dalam satu periode
Pulse Width Modulation (PWM) merupakan salah satu teknik untuk
mendapatkan signal analog dari sebuah piranti digital. Sebenarnya sinyal PWM
dapat dibangkitkan dengan banyak cara, dapat menggunakan metode analog
dengan menggunakan rangkaian op-amp atau dengan menggunakan metode
digital. Dengan metode analog setiap perubahan PWM-nya sangat halus,
sedangkan menggunakan metode digital setiap perubahan PWM dipengaruhi oleh
resolusi dari PWM itu sendiri. Resolusi adalah jumlah variasi perubahan nilai
dalam PWM tersebut. Misalkan suatu PWM memiliki resolusi 8 bit berarti PWM
ini memiliki variasi perubahan nilai sebanyak 28 = 256 variasi mulai dari 0 – 255
perubahan nilai yang mewakili duty cycle 0 – 100% dari keluaran PWM tersebut.
(Prayogo,R.2012).
Gambar 2.8 Persentase Duty Cycle
(Sumber : Prayogo,R. 2013)
17
Dengan cara mengatur lebar pulsa “on” dan “off” dalam satu perioda
gelombang melalui pemberian besar sinyal referensi output dari suatu PWM akan
didapat duty cycle yang diinginkan. Duty cycle dari PWM dapat dinyatakan pada
persamaan 2.4 :
............................ (2.4)
Duty cycle 100% berarti sinyal tegangan pengatur motor dilewatkan
seluruhnya. Jika tegangan catu 100V, maka motor akan mendapat tegangan 100V.
pada duty cycle 50%, tegangan pada motor hanya akan diberikan 50% dari total
tegangan yang ada, begitu seterusnya. Untuk melakukan perhitungan
pengontrolan tegangan output motor dengan metode PWM cukup sederhana
sebagaimana dapat dilihat pada ilustrasi Gambar 2.9.
Gambar 2.9 Pengontrolan Tegangan Pulsa PWM
(Sumber : Prayogo,R. 2013)
Dengan menghitung duty cycle yang diberikan, akan didapat tegangan output yang
dihasilkan. Sesuai dengan rumus yang telah dijelaskan pada persamaan 2.5.
........................... (2.5)
Dengan :
Average Voltage = tegangan output pada motor yang dikontrol oleh PWM
a = nilai duty cycle saat kondisi sinyal “on”
b = nilai duty cycle saat kondisi sinyal “off”
Vfull = tegangan maksimum pada motor
18
2.7 I2C (Inter-Integrated Circuit)
I2C merupakan salah satu bentuk komunikasi serial pada mikrokontroler
yang menggunakan dua pin atau disebut juga two-wire interface, yaitu pin SDA
(data) dan SCL (clock). Berbeda dengan SPI yang mempunyai master dan slave
yang harus dibedakan, pada I2C semuanya bertindak sebagai master atau multi-
master serial. Pada gambar 2.10 dapat dilihat konfigurasi dari sistem I2C.
Gambar 2.10 Konfigurasi Sistem I2C
(Sumber : Anonim. 2014)
Pada komunikasi I2C terdapat perangkat master dan slave. Master adalah
perangkat yang mengatur jalur clock SCL. Sedangkan slave adalah perangkat
yang merespon perintah master. Slave tidak dapat mengirim sinyal untuk dapat
mentransfer data pada jalur I2C, hanya master yang dapat melakukannya. Berikut
adalah timing diagram dari sebuah master yang ingin meminta data yang terdiri
dari dua sekuen khusus yang ditetapkan untuk I2C yaitu Start dan Stop.
(a) (b)
Gambar 2.11 (a)Timing Diagram Sistem I2C Kondisi Start, (a)Timing Diagram Sistem I2C
Kondisi Stop
(Sumber : Anonim. 2011)