Fikri Jaelani[1]; Mirna Wahyuningrum[2]; Sigit Kuncoro E.S[3]
Prodi
Elektronika Jurusan Elektro Politeknik Negeri Semarang
Jl.
Prof. H. Soedarto, SH, Tembalang,
Semarang, 50275
Phone
: +62 24 7473417, 7499585, 7499586
Abstract
Dalam suatu sistem navigasi dibutuhkan ketepatan dalam penentuan keberadaan
dan pergerakan suatu benda. Salah satu bagian penting dalam sistem navigasi
adalah pendeteksi rotasi. Banyak sekali instrumen yang dapat digunakan untuk
mendeteksi rotasi dan salah satunya adalah sensor gyroscope. Sensor gyroscope
memiliki kelebihan yaitu sensor ini tidak bersentuhan langsung secara fisik
dengan lingkungan sekitar sehingga sangat cocok digunakan pada benda yang
bergerak bebas. Pada tugas akhir ini dilakukan perancangan dan pembuatan sistem
pendeteksi rotasi menggunakan gyroscope berbasis mikrokontroler ATmega
8535 untuk mendeteksi sudut rotasi dari ketiga poros putar. Data berupa sudut diperoleh
dari hasil integral terhadap keluaran gyroscope yang berupa sinyal kecepatan
sudut. Selain itu digunakan filter digital berupa filter eksponensial dan
filter Kalman untuk mengurangi noise dari sinyal keluaran gyroscope.
Hasil dari kedua filter tersebut kemudian dibandingkan untuk mendapatkan hasil
deteksi sudut dengan error terkecil. Berdasarkan hasil penelitian yang
dilakukan pada poros yaw dan poros pitch serta poros roll untuk putaran searah
jarum jam didapatkan bahwa nilai sudut dengan error terkecil diperoleh
dari sistem yang menggunakan filter eksponensial.
Kata kunci : gyroscope, mikrokontroler ATmega 8535, rotasi
In a navigation system required accuracy in determining
the presence and movement of an object . One important part of the navigation system is the
detection of rotation . There are so many instruments that can used to detect rotation and one of
them is a gyroscope sensor . Gyroscope sensor has advantages This sensor is not in direct
contact with the physical environment so that it is suitable to use the
free-moving objects . In this final project design and manufacture of rotation detection system
using gyroscope 8535 -based microcontroller ATmega for detecting the angle of rotation of
the third rotary shaft . Data in the form of a corner obtained from the integral of the
output signal from the gyroscope angular velocity . In addition it is used digital filter in the form of an exponential filter and a Kalman filter
to reduce the noise of the gyroscope output signal . result of the two filters are then
compared to get the angle with the smallest error detection . Based on the
results of research conducted on the yaw axis and pitch axis and roll axis of
rotation
clockwise found that the value of the angle with the smallest error is obtained from a system that uses filters
exponential .
clockwise found that the value of the angle with the smallest error is obtained from a system that uses filters
exponential .
Key words: ATmega
microcontroller 8535, gyroscope, rotation,
I. PENDAHULUAN
1.1 Latar
Belakang
Seiring dengan perkembangan
teknologi dan ilmu pengetahuan, akhir-akhir ini bidang elektronika mengalami
kemajuan yang pesat. Dengan kemajuan tersebut, membuat manusia selalu berusaha
memanfaatkan teknologi yang ada untuk mempermudah kehidupannya..
Misal dalam melakukan pengukuran
tegangan menggunakan multimeter biasanya menggunakan media jarum penunjuk untuk
melihat hasil pengukuran untuk rangkaian yang diukur. Dalam pemanfaatannya alat
ukur multimeter banyak digunakan diberbagai bidang dari sekolah, universitas
maupun industry. Jenis tampilan multimeter bermacam – macamdari analog jarum
dan digital seven segmen atau LCD.
Multimeter dengan output suara akan
memudahkan pembacaan bagi penderita rabun mata dikarenakan kurang pekanya mata
ketika melakukan pengukuran dengan demikian bila multimeter suara bias
dijadikan alternative sehingga membantu dalam pembacaan hasil pengukuran.
Berdasarkan permasalahan tersebut,
maka dirancang suatu multimeter yang dilengkapi dengan suara agar memudahkan
pengguna dalam melakukan pembacaan, dan hasil pengukuran dapt didengar melalui
speaker.
1.2
Rumusan Masalah
Berdasarkan permasalahan yang terdapt pada latar belakang, disusun
rumusan masalah sebagai berikut:
1) Bagaimana merancang rangkaian dengan sensor gyroscope ?
2) Bagaimana cara merangkai buzzer sebagai output sensor gyroscope ?
3) Bagaimana cara mengatur sensor gyroscope sehingga buzzer bisa berbunyi ?
1.3 Ruang Lingkup
Berdasarkan rumusan masalah diatas, agar
pembahasan terfokus pada pokok pembahasan maka masalah yang akan dibahas pada
alat ini adalah sebagai berikut :
1) Tegangan yang diukur hanya sebatas 0 – 5 V.
2) Keluaran hasil alat ukur dari alat berupa speaker.
1.4 Tujuan
Tujuan dari pembuatan
alat ini adalah merancang dan membuat suatu system berupa alat pengukuran
tegangan dengan keluaran berupa media suara yang dihasilkan dari hasil
pengukuran sehingga akan mempermudah pengguna dalam melakukan pembacaan hasil
pengukuran.
II. TINJAUAN PUSTAKA
Penjelasan dan uraian
teori penunjang yang digunakan dalam membuat alat ini diperlukan untuk
mempermudah pemahaman tentang cara kerja rangkaian maupun dasar-dasar
perencanaan pembuatan alat. Teori – teori yang akan dijelaskan dalam bab ini
meliputi Arduino Uno, IC ISD 2560, dan Potensio.
2.1 Arduino Uno R3
Arduino UNO adalah sebuah board mikrokontroler yang didasarkan pada
ATmega328 (datasheet).
Arduino UNO mempunyai 14 pin digital input/output (6 di antaranya dapat
digunakan sebagai output PWM), 6 input analog, sebuah osilator Kristal 16 MHz,
sebuah koneksi USB, sebuah power jack, sebuah ICSP header, dan sebuat tombol
reset. Arduino UNO memuat semua yang dibutuhkan untuk menunjang mikrokontroler,
mudah menghubungkannya ke sebuah computer dengan sebuah kabel USB atau
mensuplainya dengan sebuah adaptor AC ke DC atau menggunakan baterai untuk
memulainya.
Gambar 2.1 Arduino
Uno
Sumber :http://arduino.cc/en/Main/arduinoBoardUno
Setiap 14 pin digital pada Arduino Uno dapat digunakan sebagai input
dan output, menggunakan fungsi pinMode(),
digitalWrite(), dan digitalRead().
Fungsi-fungsi tersebut beroperasi di tegangan 5 Volt. Setiap pin dapat
memberikan atau menerima suatu arus maksimum 40 mA dan mempunyai sebuah
resistor pull-up (terputus secara default) 20-50 kOhm. Selain itu, beberapa pin
mempunyai fungsi-fungsi spesial:
§ Serial: 0 (RX) dan 1 (TX). Digunakan
untuk menerima (RX) dan memancarkan (TX) serial data TTL (Transistor-Transistor
Logic). Kedua pin ini dihubungkan ke pin-pin yang sesuai dari chip Serial
Atmega8U2 USB-ke-TTL.
§ External Interrupts: 2 dan 3. Pin-pin
ini dapat dikonfigurasikan untuk dipicu sebuah interrupt (gangguan) pada sebuah
nilai rendah, suatu kenaikan atau penurunan yang besar, atau suatu perubahan
nilai. Lihat fungsi attachInterrupt()
untuk lebih jelasnya.
§ SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin-pin ini mensupport komunikasi SPI menggunakan SPI library.
§ LED: 13. Ada sebuah LED yang terpasang,
terhubung ke pin digital 13. Ketika pin bernilai HIGH LED menyala, ketika pin
bernilai LOW LED mati.
Arduino UNO
mempunyai 6 input analog, diberi label A0 sampai A5, setiapnya memberikan 10
bit resolusi (contohnya 1024 nilai yang berbeda). Secara default, 6 input
analog tersebut mengukur dari ground sampai tegangan 5 Volt, dengan itu mungkin
untuk mengganti batas atas dari rangenya dengan menggunakan pin AREF dan fungsi
analogReference().
Di sisi lain, beberapa pin mempunyai fungsi spesial:
§ TWI: pin A4 atau SDA dan pin A5 atau SCL.
Mensupport komunikasi TWI dengan menggunakan Wire library
Ada sepasang pin
lainnya pada board:
§ Reset. Membawa saluran ini LOW untuk
mereset mikrokontroler. Secara khusus, digunakan untuk menambahkan sebuah
tombol reset untuk melindungi yang memblock sesuatu pada board.
Lihat juga pemetaan
antara pin Arduino dengan port Atmega328. Pemetaan untuk Atmega8, 168, dan
328 adalah identik.
2.2 Sensor Gyroscope
Gyroscope adalah device yang berguna untuk menentukan orientasi gerak yang berotasi
dengan cepat pada poros sumbu. Gyroscope memiliki output yang peka terhadap
kecepatan sudut dari arah sumbu x yang nantinya akan menjadi sudut phi (roll), dari sumbu y nantinya menjadi
sudut theta
(pitch), dan sumbu z nantinya menjadi sudut psi (yaw).
Gyroscope pada penelitian ini digunakan
untuk mengukur sumbu rotasi roket. Sebelum digunakan, sensor gyroscope terlebih
dahulu dilakukan proses kalibrasi dengan menggunakan bandul. Proses kalibrasi
tersebut berfungsi untuk memperoleh nilai faktor kalibrasi, atau secara
sederhana nilai kalibrasi tersebut dapat juga menggunakan data yang dicantumkan
dalam datasheet. Gyroscope memiliki keluaran berupa kecepatan sudut dari arah
sumbu x yang nantinya akan menjadi sudut phi (roll), dari sumbu y nantinya menjadi
sudut theta
(pitch), dan sumbu z nantinya menjadi sudut psi (yaw). Mula-mula data keluaran dari sensor diambil
menggunakan mikrokontroler kemudian dikonversi menjadi rad/s kemudian diubah
menjadi deg/s, proses perubahan dari
keluaran sensor melalui mikrokontroler
port ADC, untuk dapat mengetahui besarnya
sudut yang di ukur harus melewati beberapa persamaan untuk merubah output deg/s (kecepatan sudut)
menjadi deg (sudut) dengan menggunakan persamaan Euler ataupun Quaternion.
Secara sederhana proses konversi dari deg/s menjadi deg jika hanya menggunakan
referensi body dapat hanya melalui proses satu kali integral tetapi pada
algoritma INS (Inertial Navigation System) biasanya data body kemudian diubah
menjadi referensi bumi atau inertial
Gambar 2.2.1 Sensor Gyro
Gambar 2.2.2 Ilustrasi Gyro
Secara umum hasil pengukuran kecepatan sudut sebuah benda dengan
menggunakan sensor gyroscope pada sumbu horisontal dapat dinyatakan
dengan persamaan (2.1)
θ(t) =θ(t)+n(t)+b(t).............................. (1)
Sinyal keluaran gyroscope secara umum mengandung sinyal kecepatan
sudut (θ& (t)), random noise (n(t)), dan
noise karena perubahan temperatur (b(t)). Perubahan besaran sudut
diperoleh dengan mengintegralkan persamaan 1. Persamaan perubahan besaran sudut
ditulis menjadi persamaan 2.
θT (t ) =∫(θ(t)+(t)+(t))dt.....................
(2)
Persamaan 2 dapat ditulis kembali dengan sebuah parameter kalibrasi secara
sederhana menjadi persamaan 3
t K∫(θ(t ))
dt ....................................... (3)
algoritma integral Runge-Kutta Metode Runge-Kutta
merupakan metode penyelesaian persamaan differensial yang mana perhitungan
penyelesaian dilakukan langkah demi langkah. Secara umum fungsi penyelesaian persamaan
differensial dengan metode Runge-Kutta ditunjukkan pada persamaan 4.
x k = x k−1 + h
.f (xk−1,t xk−1 ).............................
(4)
Disini h.f(xk-1,tk-1) adalah perubahan nilai setiap langkah.
Metode Runge-Kutta orde 2 membuat langkah yang lebih kecil dari perubahan
nilai dengan membagi nilai perubahan tiap langkah menjadi sejumlah bagian yang
ditentukan. Bentuk paling sederhana dari metode Runge Kutta orde 2 adalah
membagi bagian perubahan menjadi dua bagian seperti ditunjukkan pada Persamaan
5.
x k = x k−1 +h/2 [f (xk−1, t
k−1)+( f xk−1,t k−1 )] ...... (5)
2.3 Buzzer
Buzzer
adalah sebuah komponen elektronika yang berfungsi untuk mengubah getaran
listrik menjadi getaran suara. Pada dasarnya prinsip kerja buzzer hampir sama
dengan loud speaker, jadi buzzer juga terdiri dari kumparan yang terpasang pada
diafragma dan kemudian kumparan tersebut dialiri arus sehingga menjadi
elektromagnet, kumparan tadi akan tertarik ke dalam atau keluar, tergantung
dari arah arus dan polaritas magnetnya, karena kumparan dipasang pada diafragma
maka setiap gerakan kumparan akan menggerakkan diafragma secara bolak-balik
sehingga membuat udara bergetar yang akan menghasilkan suara. Buzzer biasa
digunakan sebagai indikator bahwa proses telah selesai atau terjadi suatu
kesalahan pada sebuah alat (alarm).
Gambar 2.3.1 Simbol Buzzer
Gambar 2. 3.2 Buzzer Hitam
Gambar 2.3.3 Buzzer Putih
2.4 Speaker
Speaker adalah komponen elektronika yang terdiri dari kumparan, membran dan
magnet sebagai bagian yang saling terkait. Tanpa adanya membran, sebuah speaker
tidak akan mengeluarkan suara, demikian sebaliknya. Bagian-bagian speaker
tersebut saling terkait dan saling melengkapi satu sama lain.
Fungsi
speaker ini adalah mengubah gelombang listrik
menjadi getaran suara. Proses pengubahan gelombang listrik / elektromagnet
menjadi gelombang suara terjadi karena adanya aliran listrik arus AC audio dari
penguat audio kedalam kumparan yang menghasilkan gaya magnet sehingga akan
menggerakkan membran, Kuat lemahnya arus listrik yang diterima, akan
mempengaruhi getaran pada membran, bergetarnya membran ini menghasilkan
gelombang bunyi yang dapat kita dengar.
Gambar 2.4 Speaker
III. PERANCANGAN ALAT
3.1 Perancangan
perangkat keras pada alat
Perancangan perangkat keras pada alat pendeteksi rotasi dengan menggunakan gyroscope ini meliputi perancangan sistem
minimum mikrokontroler ArduinoUNO R3 dan perancangan sensor gyroscope. Secara umum perancangan perangkat keras dapat dilihat pada Gambar 3.1 .
Gambar 3.1 Diagram blok rangkaian
Tiap-tiap bagian dari diagram blok sistem pada Gambar 3 dapat dijelaskan
sebagai berikut :
1. Sensor gyroscope digunakan untuk memperoleh
besaran kecepatan sudut dari ketiga
poros putar.
2. Arduino UNO R3 digunakan menerima data dari sensor, mengubahnya menjadi data digital,
memfilter data secara digital dan melakukan komunikasi serial dengan komputer.
3. Buzzer dan speaker digunakan untuk mengolah
data digital kecepatan sudut menjadi besaran sudut dan menampilkan kedalam bentuk suara Gambar 4 merupakan diagram alir dari rangkaian.
3.2 Perancangan perangkat lunak pada alat
(Software)
Perancangan perangkat lunak merupakan perancangan algoritma program untuk merealisasikan
sistem pendeteksi rotasi dengan menggunakan gyroscope. Perancangan
perangkat lunak pada pendeteksi rotasi meliputi perancangan ADC, perancangan
sistem dengan filter eksponensial dan perancangan sistem dengan filter Kalman.
Gambar 4 merupakan diagram skematik perancangan sistem pendeteksi rotasi dengan
menggunakan gyroscope.
3.2.1 diagram alir rangkaian
Untuk
diagram alir rangkaian keseluruhan
seperti di gambar 3.2 Diagram alir Rangkaian yang pada inisialisasi pin input sensor akan masuk ke
arduino . dan akan membaca sensor dan buzzer akan berbunyi sebagai output .
Gambar 3.2 Diagram
alir rangkaian
IV. PENGUJIAN DAN ANALISIS
Untuk pengujian rangkaian kali ini memggunakan
komunikasi serial yang ada pada software arduino pada PC .dan untuk
inisialisasi nya sebagai berikut
Untuk inisialisasi accelerometer adalah ”ax,
ay, az”
Untuk inisialisasi gyroscope adalah “gx, gy, gz”
arah depan
( (ay
> 14000) && (az < 2000) )
jika ay > 14000 & az < 2000 maka sub program alarm berbunyi
( (ay < 11000) && ( az > 10000)) jika
ay < 11000 && az >
10000 maka sub program alaram tidak berbunyi karena kurang dari set poin
arah belakang
( (ay
< -13000) && (ax < 3000) )
jika ay < -13000 && ax < 3000 maka sub program alarm
berbunyi
else if( (ay > 0) && ( ax >
0)) jika ay > 0 && ax > 0 maka sub program alaram tidak
berbunyi karena lebih dari set poin
arah
kanan
( (az
< -11000) && ( ax > 10000))
jika ay
> 0 && ax > 0 maka speaker
3 aktif speaker 3 logic
1
( (az > 0) && ( ax > 0))
jika az > 0 && ax > 0 maka speaker 3 mati speaker 3 logic 0
arah kiri
( (ax < -10000) && ( az <
-1000))
jika ax
< -10000 && az < -1000
maka speaker 1 aktif
speaker
1 logic 1
( (ax > -9000) && ( az >
2000))
jika ax
> -9000 && az > 2000 maka
speaker 1 mati
speaker
1 logic 0
V. PENUTUP
5.1 Kesimpulan
Berdasarkan pengujian dan analisis yang telah dilakukan, maka dapat
disimpulkan beberapa hal sebagai berikut:
Secara umum hasil pengukuran kecepatan sudut sebuah benda dengan
menggunakan sensor gyroscope pada sumbu horisontal dapat dinyatakan
dengan persamaan (2.1)
θ(t) =θ(t)+n(t)+b(t).............................. (1)
Sinyal keluaran gyroscope secara umum mengandung sinyal kecepatan
sudut (θ& (t)), random noise (n(t)), dan
noise karena perubahan temperatur (b(t)). Perubahan besaran sudut
diperoleh dengan mengintegralkan persamaan 1. Persamaan perubahan besaran sudut
ditulis menjadi persamaan 2.
θT (t ) =∫(θ(t)+(t)+(t))dt.....................
(2)
Persamaan 2 dapat ditulis kembali dengan sebuah parameter kalibrasi secara
sederhana menjadi persamaan 3
t K∫(θ(t ))
dt ....................................... (3)
5.2 Saran
Sebagai masukan guna pengembangan lebih lanjut dari Tugas Akhir ini, maka
penulis memberikan beberapa saran sebagai berikut :
1. Dapat digunakan sumber tegangan yang lebih
stabil untuk meminimalisir noise dari sinyal keluaran gyroscope dan
error sudut.
2. Pemrograman integral dapat dikembangkan dengan
berbagai variasi metode pengintegralan.
3. Variasi metode filter digital yang lain dapat digunakan
untuk mendapatkan sinyal data keluaran
sensor yang lebih baik.
4. Aplikasi gyroscope sebagai pendeteksi sudut dapat
dikembangkan dengan perancangan instrumentasi yang dapat dibawa ke manamana (portable).
DAFTAR PUSTAKA
- Bateson, R.N., P,E., Introduction to Control System Technology, Prentice Hall, Ohio, 1993.
- Bejo, A., C&AVR Rahasia Kemudahan Bahasa C dalam Mikrokontroler Atmega 8535, Graha Ilmu, Yogyakarta, 2008.
- Brown, Robert Grover, “Introduction to Random Signals and Applied Kalman filtering”, John Willey & Son, third edition, Canada, 1997.
- Groothuis, S., “Self-Balancing Robot 'Dirk'”, Control Engineering University of Twente, Juni 2008.
- http://oktriaviani.blogspot.jp/2012/06/accelerometer-gyroscope_16.html
- http://pandudingin.blogspot.jp/2012/04/normal-0-false-false-false-en-us-x-none.html
- http://dien-elcom.blogspot.jp/2012/09/fungsi-speaker-dan-jenis-speaker.html
- ----------, ATmega 8535 Data Sheet, http://www.atmel.com, Maret 2004.
- ----------, ADXRS150 Data Sheet, http://www.analog.com, Maret 2004.
- ----------, New iMEMS Angular-Rate- Sensing Gyroscope, http://www.analog.com, 2003.
- ----------, Using Absolute Output iMEMS® Gyroscopes with Ratiometric ADCs,
http://www.analog.com, 2005.
Apakah alat tersebut bisa membacanya sudut dr depan, belakang, kiri dan kanan? Dah bisa membaca brapa besar derajat nya
BalasHapus