Impelementasi sensor accelerometer gyroscope dan magnetometer berbasis mikrokontroler untuk menampilkan posisi benda menggunakan inertial navigation system (INS)

(1)

1

DAFTAR RIWAYAT HIDUP

IDENTITAS DIRI :

NAMA : YUGA ADITYA PRAMANA

TTL : SUMEDANG, 13 MEI 1989

AGAMA : ISLAM

JENIS KELAMIN : LAKI-LAKI

ANAK KE : 3 (DARI 4 BERSAUDARA)

STATUS : BELUM MENIKAH

ALAMAT : DUSUN TEGALPANJANG RT.01 RW.01 DESA CIKONENG, KECAMATAN GANEAS, KABUPATEN SUMEDANG

KEWARGANEGARAAN : INDONESIA

TELEPON :

-PONSEL : 085624656713

EMAIL : Yuga.AdityaPramana@gmail.com

PENDIDIKAN :

- TK KARTIKA DEWI KODIM TAHUN 1993-1994

- SD NEGERI MANANGGA SUMEDANG TAHUN 1994-2000 - SMP NEGERI 1 SUMEDANG TAHUN 2000-2003

- SMA NEGERI 1 CIMALAKA TAHUN 2003-2006


(2)

2 PENGALAMAN KERJA :

- TEKNISI INSTALASI PERANGKAT PESAWAT TELEPON DAN INTERNET MASUK DESA PROYEK DEKOMINFO TAHUN 2010-2011

- TEKNISI INSTALASI PERANGKAT PRINTER SIM DI POLRES AREA PRIANGAN TAHUN 2010-2011

- PESERTA KERJA PRAKTEK DI PT. PLN APJ SUMEDANG DI BAGIAN OPERASI DISTRIBUSI PADA BULAN JULI 2010

- ANGGOTA TIM TRAFFIC COUNTING LAPI-ITB DAN KIEC KRAKATAU STEEL DI BAGIAN TIM LAPANGAN DI KOTA CILEGON BANTEN BULAN FEBRUARI 2012

BANDUNG, AGUSTUS 2013 HORMAT SAYA,


(3)

TUGAS AKHIR

IMPLEMENTASI SENSOR

ACCELEROMETER, GYROSCOPE DAN MAGNETOMETER

BERBASIS MIKROKONTROLER

UNTUK MENAMPILKAN POSISI BENDA

MENGGUNAKAN INERTIAL NAVIGATION SYSTEM (INS)

Laporan ini disusun untuk memenuhi salah satu syarat kelulusan menempuh pendidikan program sarjana di Program Studi Teknik Elektro

Oleh:

Yuga Aditya Pramana 1.31.06.028

PROGRAM STUDI TEKNIK ELEKTRO

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA


(4)

Assalamualaikum. Dengan mengucapkan SWT, karena berkat

menyelesaikan Tugas Akhir ACCELEROMETER, GYROS MIKROKONTROLER

MENGGUNAKAN INERTIAL NAVIGATION

Penulisan Tugas menyelesaikan studi Program Teknik dan Ilmu Komputer, Tugas Akhir ini, penulis bantuan dan dorongan moril Tugas Akhir ini dapat untuk menyampaikan ucapan

1. Kedua orang tua tulus.

2. Kakak dan adik yang selalu memberikan semangat dan mo 3. Bapak Muhammad

Elektro UNIKOM B

v

KATA PENGANTAR

laikum. Wr. Wb.

mengucapkan puji syukur Alhamdulillah segala puji bagi berkat Rahmat dan Ridho-Nya sehingga penulis

Tugas Akhir ini dengan judul “IMPLEMENTASI SENSOR ETER, GYROSCOPE DAN MAGNETOMETER BERBASIS

KONTROLER UNTUK MENAMPILKAN POSISI

INERTIAL NAVIGATION SYSTEM (INS)”.

Tugas Akhir ini dimaksudkan sebagai salah satu syarat studi Program Sarjana pada Jurusan Teknik Elektro,

Komputer, Universitas Komputer Indonesia. Dalam penulis seringkali menghadapi kesulitan-kesulitan. Namun

moril ataupun materiil dari berbagai pihak, maka diselesaikan. Dalam kesempatan ini izinkanlah ucapan terimakasih yang sebesar-besarnya kepada : orang tua yang selalu memberikan do’a dan kasih sayang

n adik yang selalu memberikan semangat dan motivasi Muhammad Aria, M.T. sebagai Ketua Program Studi Elektro UNIKOM Bandung dan pembimbing Tugas Akhir penulis.

puji bagi Allah penulis dapat NTASI SENSOR

R BERBASIS

POSISI BENDA

syarat dalam Elektro, Fakultas Dalam penulisan Namun atas maka penulisan izinkanlah penulis

kepada :

kasih sayang yang

otivasi.

Program Studi Teknik penulis.


(5)

vi

4. Ibu Tri Rahajoeningroem, M.T. sebagai Koordinator Tugas Akhir Program Studi Teknik Elektro UNIKOM Bandung dan Dosen Wali penulis.

5. Bapak dan Ibu Dosen Program Studi Teknik Elektro UNIKOM Bandung yang telah membekali ilmu pengetahuan kepada penulis selama menuntut ilmu di UNIKOM Bandung.

6. Sahabat satu atap Agah Junaedi Rohman, Hanra Syariandi, Rudi Rusdiana, Iip Irmansyah yang telah menjadi sahabat penulis dalam suka dan duka selama mengikuti perkuliahan.

7. Sahabat satu angkatan Wahyudin, Arief Amirrudin, Primayuda Permana, Ifey, Angga Nugraha, Dede Nugraha, Mulyana Syarif, Feri Firdian, Wida Pramudita, Agung Herdiana, Rudi Susilo, Iryaman, M. Hilman, serta teman-teman angkatan 2008 : Edi, Iqbal, Rida, Nanang, Ian, Yudha, Dede, Aulia, Sansan.

8. Sahabatku Keluarga ASBAK dan Bob Buster Crew.

Serta semua pihak yang tidak dapat penulis sebutkan satu persatu yang telah membantu dan mendukung dalam penyelesaian Tugas Akhir ini. Akhir kata dengan kerendahan hati, penulis memanjatkan do’a kehadirat Allah SubhanahuWata’ala semoga amal dan baik budi yang telah mereka berikan kepada penulis mendapat pahala dari-Nya.Amin.

Bandung, Agustus 2013


(6)

vii

DAFTAR ISI

LEMBAR JUDUL

LEMBAR PENGESAHAN

ABSTRACT ... iii

ABSTRAKSI ...iv

KATA PENGANTAR ...v

DAFTAR ISI ………... vii

DAFTAR GAMBAR ...x

DAFTAR TABEL ... xiii

DAFTAR SIMBOL ...xiv

BAB I PENDAHULUAN 1.1 LatarBelakang ... 1

1.2 Identifikasi Masalah ... 2

1.3 Rumusan Masalah ... 3

1.4 Tujuan ……….. ... 3

1.5 Batasan Masalah ……… . 4

1.6 Metode Penelitian ……… ... 4


(7)

viii

BAB II DASAR TEORI

2.1 Attitude and Heading Reference System(AHRS)... 7

2.2 Inertial Navigation System ... 9

2.3 Inertial Measurement Unit... 11

2.4 Rotasi Matrik dan Sudut Euler... 11

2.5 Direct Cosine Matrix-Inertial Measurement Unit………… ...12

2.6 Komunikasi Serial ... 21

2.7 Mikrokontroler ATmega328 ... 22

2.8 SensorAccelerometer………... ... 26

2.9 SensorGyroscope……….. . 28

2.10 SensorMagnetometer... 30

2.11 Bahasa Pemograman Arduino ... 31

2.11.1 Dasar Bahasa C ... 32

2.11.2 Perangkat Lunak Arduino IDE ... 38

2.12 Bahasa Pemograman Processing ………. ... 39

BAB III PERANCANGAN ALAT 3.1 Konfigurasi Sistem IMU ... 44

3.2 Perangkat Lunak Razor IMU ... 46

3.2.1 Program Arduino... 46

3.2.2 Program Processing... 58

3.3 Standar Kalibrasi ... 61

BAB IV PENGUJIAN DAN ANALISA 4.1 Pengujian Sistem Komunikasi ... 62


(8)

ix

4.3 Pengujian Kirim Command...………... 65

4.4 Pengujian Program Processing...………... 73

BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan ... 76

5.2 Saran ... 76

DAFTAR PUSTAKA………... ... 77


(9)

77

DAFTAR PUSTAKA

Woodman, Oliver J. (2007), An introduction to inertial navigation, University Of Cambridge Computer Laboratory.

W. Premerlani and Paul Bizar. Direction Cosine Matrix IMU : Theory.

Seifert, Kurt., Camacho Oscar. (2007), Implementing Positioning Algorithms Using Accelerometers, freescale Semiconductor, Rev 0.

9 Degrees of Freedom-Razor IMU-Manual Book.

.Winoto, Ardi. (2010). Mikrokontroler AVR ATmega8/32/18/8535 dan Pemrogramannya dengan Bahasa C pada WinAVR. Penerbit : Informatika. Bandung.


(10)

1

BAB I

PENDAHULUAN

1.1 Latar Belakang

Sensor adalah jenis tranduser yang digunakan untuk mengubah besaran mekanis, magnetis, panas, sinar, dan kimia menjadi tegangan dan arus listrik. Sensor sering digunakan untuk pendeteksian pada saat melakukan pengukuran atau pengendalian. Perkembangan teknologi MEMS (Micro Electro Mechanical System) menyebabkan sensor mempunyai ukuran kecil dan mempunyai kehandalan tinggi sehingga dapat dimanfaatkan di berbagai aplikasi, salah satunya dalam Inertial Navigation System (INS).

INS adalah sebuah sistem navigasi yang berbasis komputer dan beberapa keluaran dari sensor Inertial Measurement Unit (IMU). Sistem navigasi ini digunakan dalam Attitude and Heading Reference System (AHRS) untuk mengetahui informasi dan visualisasi yang akurat seperti kecepatan, ketinggian, arah dan sudut, contohnya dalam teknologi avionik dan kendaraan tanpa awak.

Informasi dan visualisasi tersebut sangatlah penting karena ada kondisi-kondisi tertentu saat indera perasa manusia mengalami salah persepsi dalam penerbangan sehingga sangat tidak mungkin untuk mengandalkan indera perasa manusia sebagai alat bantu navigasi penerbangan. Sedangkan pada konteks kendaraan tanpa awak, peranan AHRS dibutuhkan untuk memberikan informasi dan visualisasi perilaku obyek kepada pemantau yang berada pada jarak yang tidak memungkinkan untuk melihat obyek secara langsung. Oleh karena itu diperlukan


(11)

2

sensor IMU yang dapat membantu dalam sistem navigasi untuk memberikan informasi dan dapat mengirimkan data ke tempat pengamatan secara kontinyu.

Untuk dapat melakukan hal tersebut, terdapat beberapa sensor yang dapat digunakan dalam sistem navigasi. Sensor yang dapat digunakan dalam sistem navigasi diantaranya sensor accelerometer, gyroscope dan magnetometer. Sensor tersebut dapat mengukur percepatan, kecepatan sudut, dan kekuatan atau arah medan magnet. Implementasi dari sensor ini dapat diterapkan dalam menentukan posisi dan arah suatu obyek yang bergerak. Sehingga berdasarkan data attitudeyang diterima oleh operator, dapat dibentuk informasi dan visualisasi dalam aplikasi yang dibuat di tempat pengamatan dari obyek yang diamati.

1.2 Identifikasi Masalah

Masalah-masalah yang dapat diidentifikasi dari latar belakang di atas antara lain sebagai berikut.

1. Keterbatasan penginderaan manusia dapat menjadi kendala ketika mengamati obyek pada jarak yang tidak bisa terjangkau.

2. Setiap sensor memiliki kekurangan dan kelebihan dalam performansi dan memiliki batas derajat kebebasan (degrees of freedom).

3. Permasalahan pada sensor IMU yang umum terjadi antara lain adalah ketidakmampuan processing unit untuk mengolah data dengan cepat (output data rate rendah) dan beban komputasi yang tinggi (algoritma sensor fusion yang berat).


(12)

3

1.3 Rumusan Masalah

Berdasarkan identifikasi masalah diatas rumusan masalah dari penelitian ini adalah sebagai berikut.

1. Bagaimana cara mengetahui posisi dan arah suatu benda dengan menggunakan sensor IMU?

2. Bagaimana cara suatu komputasi algoritma sensor fusiondapat menghasilkan informasi data dari setiap sensor.

3. Bagaimana cara menampilkan data yang ditransmisikan oleh sensor IMU ke dalam sebuah aplikasi softwaredalam bentuk visualisasi grafis.

1.4 Tujuan

Tujuan dari penelitian ini adalah sebagai berikut.

1. Dapat mengimplementasikan sensor IMU untuk menampilkan posisi dan arah suatu benda dengan metode Inertial Navigation System.

2. Dapat mengimplementasikan algoritma Direct Cosine Matrix, sehingga dapat mengetahui percepatan, kecepatan sudut, dan arah pada suatu obyek yang bergerak.


(13)

4

1.5 Batasan Masalah

Dalam penelitian ini diperlukan suatu batasan masalah agar tidak terlalu luas pembahasannya. Adapun batasan masalahnya adalah sebagai berikut.

1. Modul IMU yang digunakan adalah Razor-IMU 9DoF

2. Algoritma IMU sensor fusion yang digunakan adalah algoritma orientasi dengan representasi Direct Cosine Matrix.

3. Aplikasi dikembangkan menggunakan bahasa pemograman C/C++ yang dikompilasi dengan perangkat lunak Processing sebagai pengolahan data dan tampilan yang dilakukan di personal komputer.

4. Transmisi data dikirim melalui port USB.

1.6 Metode Penelitian

Penelitian ini dilakukan dengan beberapa metode penelitian, baik untuk kebutuhan perancangan maupun mengumpulkan data yang kemudian dirangkum kedalam suatu bentuk penulisan yang sistematik. Di bawah ini adalah metode-metode penelitian yang digunakan dalam tugas akhir ini.

a. Studi Literatur

Studi ini digunakan untuk mempelajari literatur yang bersumber dari, artikel, jurnal, serta menemukan berbagai literatur di situs-situs internet yang berhubungan dengan tema penelitian.


(14)

5

b. Perancangan Sistem

Mempelajari dan meneliti spesifikasi dari sensor IMU yang akan digunakan baik dari segi hardwaremaupun software.

c. Pengujian Alat/Instrumen

Pengujian sensor accelerometer, gyroscope, magnetometerdan pengujian komunikasi data. Setelah itu dilakukan pengujian secara keseluruhan sistem untuk memperoleh data yang dapat dianalisa serta mendapatkan data yang diinginkan.

d. Analisa dan Kesimpulan

Mengumpulkan data yang diperoleh dari hasil pengujian simulasi dan menganalisa data yang diperoleh serta menyimpulkan hasil yang diperoleh.

1.7 Sistematika Penulisan Laporan

Sistematika pembahasan yang akan diuraikan penulis dalam laporan ini terbagi dalam bab-bab yang akan dibahas, yaitu sebagai berikut.

BAB I PENDAHULUAN

Pada bab ini diuraikan mengenai latar belakang, identifikasi masalahan, rumusan masalah, tujuan, batasan masalah, metode penelitian dan sistematika penulisan.

BAB II LANDASAN TEORI

Pada bab ini memaparkan dan menjelaskan teori yang digunakan untuk penelitian tugas akhir, yaitu: AHRS (Attitude and Heading Reference System), Inertial Navigation System (INS), Inertial Navigation System (IMU), Rotasi Matrik dan


(15)

6

Sudut Euler, Direct Cosine Matrix-IMU, Komunikasi Serial, Mikrokontroler, Sensor Accelerometer, Gyroscope dan Magnetometerserta teori tentang Arduino dan perangkat lunak Processing.

BAB III PERANCANGAN SISTEM

Pada bab ini diuraikan mengenai sensor IMU yaitu Razor IMU 9DoF meliputi konfigurasi sistem dan menjelaskan program firmware dari sensor tersebut yaitu program ardunino dan program processing.

BAB IV PENGUJIAN DAN ANALISA

Pada bab ini berisi mengenai hasil pengujian dan analisa data yang dihasilkan oleh sistem yang digunakan.

BAB V KESIMPULAN DAN SARAN

Pada bab ini berisi mengenai kesimpulan dan saran dari penelitian tugas akhir yang telah dilakukan.


(16)

76

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Setelah melakukan pengujian terhadap device yang digunakan, penulis dapat mengambil beberapa kesimpulan, diantaranya sebagai berikut.

1. Modul sensor Razor IMU dapat diimplementasikan sebagai sensor Inertial Measurement Unit dengan metode Inertial Navigation System.

2. Berdasarkan dari tujuan tugas akhir ini, untuk mengetahui nilai percepatan dan kecepatan sudut tidak dengan cara komputasi algoritma Direct Cosine Matrixyang terdapat dalam program Arduino, karena algoritma ini bertujuan untuk dapat mengetahui representasi orientasi berupa sudut roll, pitch dan yawpada suatu obyek yang bergerak.

3. Aplikasi software Processing dapat menampilkan pergerakan obyek dalam bentuk visual grafis.

5.2 Saran

Pada bab ini penulis ingin memberikan saran yang nantinya dapat dijadikan pengembangan selanjutnya. Saran tersebut diantaranya adalah.

1. Modul Razor IMU dapat diaplikasikan dalam sistem gerak quadqopter atau aplikasi yang membutuhkan sistem navigasi.

2. Untuk aplikasi tampilan bisa diaplikasikan ke dalam aplikasi software lain sepeti Visual Basicatau Labview.


(17)

IMPLEMENTASI SENSOR

ACCELEROMETER, GYROSCOPE DAN MAGNETOMETER

BERBASIS MIKROKONTROLER

UNTUK MENAMPILKAN POSISI BENDA

MENGGUNAKAN

INERTIAL NAVIGATION SYSTEM (INS)

Yuga Aditya Pramana

Program Studi Teknik Elektro, Universitas Komputer Indonesia

Yuga.AdityaPramana@gmail.com

ABSTRAKSI

Sensor adalah jenis tranduser yang digunakan untuk mengubah besaran mekanis, magnetis,

panas, sinar, dan kimia menjadi tegangan dan arus listrik. Perkembangan teknologi MEMS (Micro

Electro Mechanical System) sensor dapat digunakan dalam Inertial Navigation System

(INS). INS

adalah sebuah sistem navigasi yang berbasis komputer dan beberapa keluaran dari sensor

Inertial

Measurement Unit

(IMU). Sistem navigasi ini digunakan dalam

Attitude and Heading Reference

System

(AHRS) untuk mengetahui informasi dan visualisasi seperti kecepatan, ketinggian, arah dan

sudut, contohnya dalam teknologi avionik dan kendaraan tanpa awak. Informasi dan visualisasi

tersebut sangatlah penting karena ada kondisi-kondisi tertentu saat indera perasa manusia

mengalami salah persepsi dalam penerbangan sehingga sangat tidak mungkin untuk mengandalkan

indera perasa manusia sebagai alat bantu navigasi penerbangan. Untuk dapat membantu hal

tersebut, terdapat beberapa sensor yang dapat digunakan dalam sistem navigasi diantaranya yaitu

sensor

accelerometer,

gyroscope

dan

magnetometer. Sensor tersebut dapat mengukur percepatan,

kecepatan sudut, dan kekuatan atau arah medan magnet. Pada penelitian ini sensor IMU yang

digunakan adalah Razor-IMU 9DoF, dimana sensor tesebut memiliki 9 derajat kebebasan. Data

keluaran dari sensor tersebut akan menghasilkan sudut

roll,

pitch

dan

yaw

berdasarkan dari

komputasi algortima Direct Cosine Matrix.

ABSTRACT

Sensor is a type of transducer that is used to change the amount of mechanical, magnetic, heat, light, and chemicals into the voltage and amperage. The development of MEMS technology (Micro Electro Mechanical System) sensors can be used in Inertial Navigation System (INS). INS is a computer-based navigation systems and the output of the Inertial Measurement Unit (IMU) sensor. The navigation system used in the Attitude and Heading Reference System (AHRS) to find out information and visualizations such as speed, altitude, direction and angle, for example in avionics technology and unmanned vehicles. Information and visualization is very important because there are certain conditions when humans experience any sense of taste perception in flight so it is not possible to rely on the human sense of taste as a navigation aid flight. To be able to help it, there are several sensors that can be used in navigation systems among which sensor accelerometer, gyroscope and magnetometer. The sensors can measure acceleration, angular velocity, and the strength or direction of the magnetic field. In this study IMU sensor used a Razor-IMU 9DoF, where the proficiency level sensor has 9 degrees of freedom. Data output from the sensor will produce angles roll, pitch and yaw based on the Direct Cosine Matrix computation algorithms.

Kata kunci:

Inertial Navigation System

(INS),

Inertial Measurement Unit

(IMU),

Direct Cosine

Matrix, Razor-IMU 9DoF


(18)

1.

PENDAHULUAN

1.1

Latar Belakang

Sensor adalah jenis tranduser yang

digunakan untuk mengubah besaran mekanis,

magnetis, panas, sinar, dan kimia menjadi

tegangan dan arus listrik. Sensor sering

digunakan untuk pendeteksian pada saat

melakukan pengukuran atau pengendalian.

Perkembangan teknologi MEMS (Micro

Electro Mechanical System) menyebabkan

sensor

mempunyai

ukuran

kecil

dan

mempunyai kehandalan tinggi sehingga dapat

dimanfaatkan di berbagai aplikasi, salah

satunya dalam

Inertial Navigation System

(INS).

INS adalah sebuah sistem navigasi yang

berbasis komputer dan beberapa keluaran dari

sensor

Inertial Measurement Unit

(IMU).

Sistem navigasi ini digunakan dalam

Attitude

and Heading Reference System

(AHRS) untuk

mengetahui informasi dan visualisasi yang

akurat seperti kecepatan, ketinggian, arah dan

sudut, contohnya dalam teknologi avionik dan

kendaraan tanpa awak.

Informasi

dan

visualisasi

tersebut

sangatlah penting karena ada kondisi-kondisi

tertentu saat indera perasa manusia mengalami

salah persepsi dalam penerbangan sehingga

sangat tidak mungkin untuk mengandalkan

indera perasa manusia sebagai alat bantu

navigasi

penerbangan.

Sedangkan

pada

konteks kendaraan tanpa awak, peranan AHRS

dibutuhkan untuk memberikan informasi dan

visualisasi perilaku obyek kepada pemantau

yang

berada

pada

jarak

yang

tidak

memungkinkan untuk melihat obyek secara

langsung. Oleh karena itu diperlukan sensor

IMU yang dapat membantu dalam sistem

navigasi untuk memberikan informasi dan

dapat

mengirimkan

data

ke

tempat

pengamatan secara kontinyu.

Untuk dapat melakukan hal tersebut,

terdapat beberapa

sensor

yang dapat

digunakan dalam sistem navigasi. Sensor

yang dapat digunakan dalam sistem navigasi

diantaranya sensor accelerometer, gyroscope

dan

magnetometer. Sensor tersebut dapat

mengukur percepatan, kecepatan sudut, dan

kekuatan

atau

arah

medan

magnet.

Implementasi

dari

sensor

ini

dapat

diterapkan dalam menentukan posisi dan

arah suatu obyek yang bergerak. Sehingga

berdasarkan data attitude

yang diterima oleh

operator, dapat dibentuk informasi dan

visualisasi dalam aplikasi yang dibuat di

tempat pengamatan dari obyek yang diamati.

1.2

Tujuan

Tujuan dari penelitian ini adalah sebagai berikut.

1. Dapat mengimplementasikan sensor IMU

untuk menampilkan posisi dan arah suatu

benda dengan metode

Inertial Navigation

System.

2. Dapat

mengimplementasikan

algoritma

Direct Cosine Matrix, sehingga dapat

mengetahui percepatan, kecepatan sudut,

dan arah pada suatu obyek yang bergerak.

3. Dapat ditampilkan dalam bentuk visualisasi

grafis di aplikasi ground station.

1.3

Batasan Masalah

Dalam penelitian ini diperlukan suatu

batasan masalah agar tidak terlalu luas

pembahasannya.

Adapun

batasan

masalahnya adalah sebagai berikut.

1. Modul IMU yang digunakan adalah

Razor-IMU 9DoF.

2. Algoritma IMU

sensor fusion

yang

digunakan adalah algoritma orientasi

dengan

representasi

Direct

Cosine

Matrix.

3. Aplikasi dikembangkan menggunakan

bahasa

pemograman

C/C++

yang

dikompilasi dengan perangkat lunak

Processing

sebagai pengolahan data dan

tampilan yang dilakukan di personal

komputer.


(19)

2.

DASAR TEORI

2.1

Attitude and Heading Reference

System

(AHRS)

AHRS digunakan pada aplikasi penerbangan pada umumnya untuk sistem kendali perilaku dan arah pesawat. Informasi yang diberikan oleh sistem AHRS pada kebanyakan sistem penerbangan pada umumnya diperoleh dari sistem INS yang terpasang pada pesawat. Sistem INS ini sendiri terdiri dari sensor-sensor inersia yang memanfaatkan perubahan inersia untuk memberikan informasi tentang keadaan dan perilaku pesawat.

Gambar 2. 1Roll, Pitchdan Yaw

2.2

Inertial Navigation System

(INS)

INS atau ada juga yang menyebutnya dengan INU (Inertial Navigation Unit) adalah sebuah sistem navigasi yang berbasis computer dan beberapa keluaran sensor dari IMU (Inertial Measurement Unit) yang secara kontinyu mengetahui posisi, kecepatan dan attitude dari suatu benda.

2.3

Inertial Measurement Unit

(IMU)

IMU adalah instrumentasi elektronik yang digunakan untuk mengukur kecepatan, orientasi, dan gaya gravitasi dengan menggunakan accelerometer dan gyroscope. Namun seiring dengan perkembangan zaman sensor IMU didukung dengan sensor yang dapat mengukur kuat medan magnet, tekanan, dan beberapa fungsi lainnya.

IMU biasa digunakan untuk keperluan pesawat terbang, pesawat penjelajah angkasa, pesawat tanpa awak dan satelit. IMU adalah komponen penting dalam INS dan digunakan untuk mendeteksi lintasan dengan dead reckoning. Pengembangan dan penelitian sensor IMU sampai saat ini masih terus dilakukan dengan tujuan untuk mendapatkan sensor IMU

yang ideal, akurat, bentuk minimalis, pembacaan cepat, tahan derau dan hemat dalam penggunaan energi. Metode ini merupakan metode yang digunakan dalam proses integrasi data percepatan hingga menjadi posisi.

2.4

Rotasi Matrik dan Sudut

Euler

Sudut

Euler

adalah 3 sudut yang

membentuk rotasi sebuah objek dalam ruang

(

). Sehingga dibutuhkan 3 parameter

untuk merepresentasikan orientasi sebuah

objek pada sistem 3 dimensi sudut-sudut itu

antara lain:

Rotasi melalui sumbu x, disebut dengan

roll

().

Rotasi melalui sumbu y, disebut dengan

pitch (q

)

.

Rotasi melalui sumbu z, disebut dengan

yaw

(

).

2.5

Direct Cosine Matrix

Matrix atau sering juga disebut DCM (Direction Cosine Matrix) adalah matrix 3x3 yang merpresentasikan rotasi sekuensial dari roll, pitch dan yaw. Representasi ini tidak mengalami masalah singularitas, tetapi tidak intuitif dan menggunakan sembilan nilai untuk menggambarkan attitude (Adiprawita dkk.,2007).

DCM ditulis dalam bentuk matrix rotasi yang mendeskripsikan orientasi dari kerangka kordinat b (body) terhadap kerangka navigasi n. Orde rotasi adalah zz, yy dan kemudian xx yang dalam sudut Euler adalah yaw (ψ), pitch (θ), roll (f). Matrix rotasi dapat dinyatakan sebagai (Adiprawita dkk., 2007, Liu dkk., 2008 dan Kang dkk., 2009).

=

q − f + q f + cosfsinq

q f + q f + f q

− q f q f q

2.6

Komunikasi Serial

Komunikasi data serial sangat berbeda

dengan format pemindahan data pararel.

Disini, pengiriman bit-bit tidak dilakukan

sekaligus melalui saluran pararel, tetapi

setiap bit dikirimkan satu persatu melalui

saluran tunggal.


(20)

Dalam pengiriman data secara

harus ada sinkronisasi atau penyesuaian

antara pengirim dan penerima agar data

dikirimkan dapat diterima dengan

benar oleh penerima. Salah satu

transmisi dalam komunikasi serial

mode asynchronous.

Gambar 2. 6 Format Pengiriman D

2.7

Mikrokontroler ATmega328

ATmega328 adalah mikrokont

keluaran dari atmel

yang

arsitektur RISC (Reduce Instruction

Computer) yang

dimana setiap

eksekusi data lebih cepat dari pada

CISC (Completed Instruction Set

Mikrokontroller ini memiliki beberapa

antara lain :

130 macam instruksi yang

semuanya dieksekusi dalam

clock.

32 x 8-bit register serba guna.

Kecepatan mencapai 16 MIPS

clock 16 MHz.

32 KB

Flash memory dan pada

memiliki bootloader yang menggunakan

2 KB dari flash memori

bootloader.

Memiliki

EEPROM

(

Erasable Programmable Read

Memory) sebesar 1KB sebagai

penyimpanan data semi

karena

EEPROM

tetap

menyimpan data meskipun

dimatikan.

Memiliki

SRAM

(Static Random

Memory) sebesar 2KB.

data secara serial

atau penyesuaian

penerima agar data yang

dengan tepat dan

Salah satu mode

komunikasi serial adalah

Gambar 2. 6 Format Pengiriman Data Serial

Mikrokontroler ATmega328

mikrokontroller

yang mempunyai

Instruction Set

dimana setiap proses

dari pada arsitektur

Instruction Set Computer).

memiliki beberapa fitur

instruksi yang hampir

dalam satu siklus

bit register serba guna.

16 MIPS dengan

dan pada arduino

menggunakan

memori sebagai

(Electrically

Programmable Read Only

1KB sebagai tempat

semi permanent

tetap

dapat

meskipun catu daya

Random Access

Gambar 2. 7 Konfigurasi Pin AT

2.8

Sensor

Accelerometer

Percepatan merupakan dimana terjadi suatu perubahan kecepatan terhadap waktu. Sedangkan terjadi perubahan berkurangny terhadap waktu pada keadaan perlambatan. Sedangkan sensor sendiri merupakan suatu piranti digunakan untuk mengukur

terjadi pada keadaan tertentu. Sensor dapat digunakan untuk mendapatkan suatu benda dengan melakukan

percepatan itu sendiri sebanyak dua kali terhadap waktu. Salah satu contoh dari sensor

yang dapat digunakan adalah ADXL345 axis accelerometer), untuk konfigurasi blok diagram sensor ini dapat dilihat 2. 9. Beberapa fitur dari sensor adalah sebagai berikut.

Gambar 2. 8 Konfigurasi Pin AD

2.9

Sensor

Gyroscope

Gyroscope merupakan elektronik yang berfungsi untuk kecepatan sudut dengan satuan dialami oleh suatu benda pada

yaw. Sehingga dengan memanfaatkan nfigurasi Pin ATmega328

Accelerometer

(percepatan)

merupakan suatu keadaan perubahan bertambahnya waktu. Sedangkan apabila berkurangnya kecepatan keadaan tertentu disebut an sensor percepatan piranti elektronik yang ukur percepatan yang tertentu. Sensor percepatan mendapatkan posisi dari melakukan integral percepatan itu sendiri sebanyak dua kali terhadap contoh dari sensor percepatan adalah ADXL345 (triple-untuk konfigurasi pin dan

dapat dilihat di Gambar dari sensor ini diantaranya

nfigurasi Pin ADXL345

merupakan suatu alat berfungsi untuk mengukur dengan satuan (°/s) yang benda pada pitch, roll dan dengan memanfaatkan data


(21)

kecepatan sudut tersebut dapat diketahui sudut kemiringan suatu benda.

Gambar 2. 9 Konfigurasi Pin Sensor ITG-3200

2.10

Sensor Magnetometer

Sensor IMU umumnya terdiri dari kombinasi sensor percepatan (accelerometer), sensor angular (gyroscope) dan sebagian ada yang dilengkapi dengan sensor penentuan medan magnet (magnetometer) untuk menjejaki keberadaan dan pergerakan suatu benda. Magnetometer adalah instrumen ilmiah yang digunakan untuk mengukur kekuatan atau arah medan magnet di sekitar alat tersebut. Salah satu contoh sensor magnetometer yang dapat digunakan adalah sensor HMC58883L (triple-axis magnetometer). untuk konfigurasi pin sensor ini dapat dilihat di Gambar 2. 12, sedangkan beberapa fitur dari sensor ini diantaranya adalah sebagai berikut.

Gambar 2.10 Konfigurasi Pin Sensor HMC5883L

2.11

Bahasa Pemograman

Arduino

Arduino

Uno adalah salah satu jenis

dari versi keluarga lainnya,

board

ini

berbasis mikrokontroler pada ATmega328 ,

memiliki 14 digital input/output

pin (dimana

6 pin dapat digunakan sebagai output PWM),

6 input

analog, 16 MHz

osilator

kristal,

konektor

USB, konektor catu daya dan

tombol reset. Pin-pin ini berisi semua yang

diperlukan untuk mendukung mikrokontroler

untuk terhubung ke komputer dengan kabel

USB

atau sumber tegangan bisa didapat dari

adaptor

AC-DC

atau

baterai

untuk

menggunakannya. Arduino menggunakan

pemograman dengan bahasa C. Berikut

tampilan dari board Arduino Uno.

Gambar 2. 11 Tampilan Framework Arduino IDE

2.12

Bahsa Pemograman

Processing

Processing

adalah

bahasa

pemrograman dan lingkungan pemrograman

(development environment)

open source

untuk memprogram gambar, animasi dan

interaksi. Digunakan oleh pelajar, seniman,

desainer, peneliti, dan hobbyist untuk

belajar, membuat

prototype

dan produksi.

Processing

digunakan untuk mengajarkan

dasar-dasar pemrograman komputer dalam

konteks rupa dan berfungsi sebagai buku

sketsa

perangkat

lunak

(software)

dan

tool

produksi

profesional.

Processing

bebas untuk di

download

dan tersedia untuk

GNU/Linux, Mac OS dan Windows.


(22)

Gambar 2. 12 Tampilan Perangkat Lunak Processing

3.

PERANCANGAN ALAT

Pada bab ini akan membahas sistem

IMU yang dapat diamati pada Gambar 3. 1,

dimana pengiriman data dari

accelerometer

untuk pengukuran percepatan,

gyroscope

untuk pengukuran kecepatan sudut dan

magnetometer

untuk pengukuran medan

magnet akan diolah dalam mikrokontroler

menggunakan metode algoritma

Direct

Cosine Matrix

dengan keluaran berupa sudut

roll,

pitch

dan

yaw. Setelah mendapatkan

sudut orientasi sistem IMU akan mengirim

data melalui

USB to Serial

ke personal

komputer.

Gambar 3. 1 Diagram Blok Sistem IMU

3.1

Konfigurasi Sistem IMU

Dalam tugas akhir ini akan digunakan

sensor IMU jenis Razor IMU 9DoF, sensor

IMU jenis ini menggabungkan tiga sensor

yaitu

ITG-3200

(triple-axis

gyro),

ADXL345

(triple-axis accelerometer)

dan

HMC5883L

(triple-axis magnetometer )

yang sudah terintegrasi dan berfungsi

memberikan sembilan derajat pengukuran

inersia.

Output

dari semua sensor diproses

oleh on-board

ATmega328 dan di outputkan

kembali melalui

port USB

ke personal

komputer. konfigurasi sistem dapat diamati

pada Gambar 3. 2.

Gambar 3. 2 Konfigurasi Sistem IMU

3.2

Perangkat Lunak Razor IMU

Pada bagian ini akan dijelaskan

program

firmware

Razor AHRS yang terdiri

dari dua bagian yaitu dari aplikasi

software

Arduino dan Processing. Pada bagian

aplikasi

software

Arduino

akan

menampilkan data melalui serial monitor

dan

pada

bagian

aplikasi

software

Processing akan menampilkan simulasi

pergerakan obyek yaitu modul Razor itu

sendiri dengan visualisasi grafis.

3.2.1

Program Arduino

Pada

bagian

aplikasi

software

Arduino data keluarannya ditampilkan di

dalam serial monitor. Didalam program

tersebut 5 subprogram yaitu program

Compass,

DCM,

Mathematic,

Output

dan

Sensors.

Fungsi

dari

masing-masing

subprogram adalah sebagai berikut.

1.

Sensors : Mendeklarasikan variabel untuk

inisialisasi I2C dari setiap sensor.

2.

Output :

Mendeklarasikan mode

output

seperti

ouput angles,

output calibration

dan output sensors.

3.

Mathematic :

Mendeklarasikan varibel

yang berfungsi sebagai komputasi dot

dan

cross product

serta inisialisasi rotasi

matrik.

4.

DCM :

Mendeklarasikan varibel yang

berfungsi

sebagai

algoritma

Direct

Cosine

Matrix

yang

terdiri

dari

Personal Komputer


(23)

Normalize,

Drift correction,

Matrix

update

dan Euler_Angles.

5.

Compass :

Mendeklarasikan variabel

Compass Heading

untuk kompensasi

kemiringan medan magnet di sumbu X

dan Y dan sebagai penunjuk arah medan

magnet.

3.2.2

Program Processing

Processing

adalah

bahasa

pemrograman dan lingkungan pemrograman

(development environment)

open source

untuk memprogram gambar, animasi dan

interaksi. Digunakan oleh pelajar, seniman,

desainer, peneliti, dan hobbyist untuk

belajar, membuat

prototype

dan produksi.

Oleh karena itu, aplikasi software

Processing

akan digunakan untuk menampilkan

visualisasi grafis pergerakan dari modul

Razor IMU. Tampilan pada program

Processing dan flowchartnya dapat dilihat di

Gambar 3. 3.

Gambar 3. 3 Tampilan Aplikasi Software

Processing

4.

PENGUJIAN DAN ANALISA

Pada

bab

ini

akan

membahas

pengujian dan analisa dari sistem yang

digunakan. Pengujian ini terbagi menjadi

beberapa bagian seperti : pengujian sistem

komunikasi serial, pengujian kalibrasi sensor

accelerometer,

gyroscope

dan

magnetometer, pengujian kirim

command

dan pengujian program Processing.

4.1 Pengujian Sistem Komunikasi Serial

Untuk pengujian sistem komunikasi

antara modul Razor IMU dengan port

serial

komputer

dapat

dilakukan

dengan

memanfaatkan aplikasi

software

Arduino

dengan cara memilih menu “Tools” lalu

“Serial Monitor” dengan men-set

baudrate

57600.

Pada pengujian ini

diberikan

command

#ot untuk menampilkan sudut

output

dalam format teks. Berikut tampilan

dari pengujian serial monitor.

Gambar 4. 1 Pengujian Sistem Komunikasi

4.2

Pengujian Kalibrasi Sensor

Untuk mendapatkan nilai minimum

dan maksimum agar bisa menggunakan

modul sensor ini maka dilakukan proses

kalibrasi dengan cara mengirim

command

#on untuk kalibrasi setiap sensor. Berikut ini

salah satu langkah kalibrasi sensor pada

accelerometer.

Gambar 4. 2 Pengujian Kalibrasi Sensor

Accelerometer


(24)

4.3

Pengujian Kirim

Command

Pada bagian ini langkah pengujian

yang akan dilakukan adalah dengan cara

mengirimkan setiap

command

yang terdapat

dalam program Arduino. Berikut ini salah

satu fungsi pengujian kirim command #ob

untuk menampilkan

output

dengan format

binary.

Gambar 4.3 Tampilan Serial Monitor saat

Command

#ob

Untuk mngetahui nilai keluaran dari

percepatan, kecepatan sudut , dan posisi

dalam orientasi sudut

roll,

pitch

dan

yaw

dapat dilihat nilai perubahannya dengan

menggunakan

command

#os yang berfungsi

untuk menampilkan mode

output

sensor

secara format teks.

#acc adalah nilai keluaran dari sensor

accelerometer

#gyr adalah nilai keluaran dari sensor

gyroscope

#mag adalah nilai keluaran dari sensor

magnetometer

Agar dapat melihat adanya nilai

perubahan dari setiap sensor dengan tidak

secara berlanjut yaitu dengan menggunakan

command

#o0, selanjutnya dengan kirim #f

agar dapat melihat nilai perubahan dari

setiap sensor satu persatu.

Gambar 4.4 Tampilan Mode Ouput Sensor

Dalam keadaan diam terlihat nilai rata-rata

dari sensor accelerometer dan gyroscope

adalah sebagai berikut.

#Accel X= 0.00 || #Accel Y= 0.00 || #Accel Z= 0.00 #Gyro X= 0.00 || #Gyro Y= 0.00 || #Gyro Z= 0.00 Sudut Roll= 0.84

Sudut Pitch= 0.41 Sudut Yaw= -156.33

#Accel X= 0.00 || #Accel Y= 0.00 || #Accel Z= 0.00 #Gyro X= 0.00 || #Gyro Y= 0.00 || #Gyro Z= 0.00 Sudut Roll= 0.63

Sudut Pitch= 0.24 Sudut Yaw= -156.63

#Accel X= 0.00 || #Accel Y= 10.24 || #Accel Z= 0.00 #Gyro X= 0.00 || #Gyro Y= 0.00 || #Gyro Z= 0.00 Sudut Roll= 0.70

Sudut Pitch= 0.35 Sudut Yaw= -156.91

#Accel X= 0.00 || #Accel Y= 13.31 || #Accel Z= 0.00 #Gyro X= 0.00 || #Gyro Y= 0.00 || #Gyro Z= 0.00 Sudut Roll= 0.21

Sudut Pitch= 0.39 Sudut Yaw= -157.07

#Accel X= 0.00 || #Accel Y= 0.00 || #Accel Z= 0.00 #Gyro X= 0.00 || #Gyro Y= 0.00 || #Gyro Z= 0.00 Sudut Roll= 0.56

Sudut Pitch= 0.40 Sudut Yaw= -157.18

Berdasarkan dari proses tersebut untuk

melihat adanya perubahan besar nilai

keluarannya

yaitu

dengan

cara

menggerakkan modul Razor terhadap sumbu

x, y dan z. Nilai-nilai tersebut didapat

berdasarkan dari fungsi variabel proses

kompensasi

error

sensor

terhadap


(25)

pembacaan nilai awal dari setiap sensor.

Berikut ini adalah varibel yang digunakan

dalam proses kompensasi

error

sensor pada

program Arduino.

Kompensasi Error Aceelerometer

accel[0]= accel[0] −accelxoffset ∗accelxscale; accel[1]= accel[1] −accelyoffset ∗accelyscale; accel[2]= accel[2] −accelzoffset ∗accelzscale;

Kompensasi Error Magnetometer

magnetom[0]= magnetom[0] −magnxoffset

∗magnxscale;

magnetom[1]= magnetom[1] −magnyoffset

∗magnyscale;

magnetom[2]= magnetom[2] −magnzoffset

∗magnzscale;

Kompensasi Error Gyroscope

gyro[0] −= gyroaverageoffsetx; gyro[1] −= gyroaverageoffsetx; gyro[2] −= gyroaverageoffsetx;

4.4 Pengujian Program Processing

Tujuan

dari

pengujian

program

Processing adalah untuk menampilkan

visualisasi grafis pergerakan dari modul

Razor IMU. Langkah-langkahnya adalah

sebagai

berikut.

Menjalankan

aplikasi

software

Processing dan membuka

file

“Razor_AHRS_test.pde”

di

folder

“Processing” dalam program

firmware

Razor AHRS.

Gambar 4. 13 Tampilan Awal Aplikasi

Software Processing

Proses

selanjutnya

adalah

menghubungkan modul Razor IMU ke

port

USB komputer. Ketika program tersebut di

run

maka ada proses untuk sinkronisasi

serial port, jika sesuai maka tampilan

programnya akan seperti Gambar 4. 14.

Gambar 4. 14 Proses Sinkronisasi modul

Razor dengan Program Processing

Proses

selanjutnya

akan

menampilkan

visualisasi grafis yang bergerak sesuai

dengan gerak nyata modul Razor IMU.

Gambar 4. 15 Tampilan Visualisasi Grafis

Program Processing

1 2 3

4 5


(26)

5.

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Setelah melakukan pengujian terhadap

device yang digunakan, penulis dapat

mengambil

beberapa

kesimpulan,

diantaranya sebagai berikut.

1. Modul sensor Razor

IMU dapat

diimplementasikan

sebagai

sensor

Inertial Measurement Unit

dengan

metode Inertial Navigation System.

2. Berdasarkan dari tujuan tugas akhir ini,

untuk mengetahui nilai percepatan dan

kecepatan sudut tidak dengan cara

komputasi algoritma

Direct Cosine

Matrix

yang terdapat dalam program

Arduino, karena algoritma ini bertujuan

untuk dapat mengetahui representasi

orientasi berupa sudut

roll,

pitch

dan

yaw

pada suatu obyek yang bergerak.

3. Aplikasi

software

Processing dapat

menampilkan pergerakan obyek dalam

bentuk visual grafis.

5.2

Saran

Pada bab ini penulis ingin memberikan

saran

yang

nantinya

dapat

dijadikan

pengembangan selanjutnya. Saran tersebut

diantaranya adalah.

1. Modul Razor IMU dapat diaplikasikan

dalam sistem gerak quadqopter atau

aplikasi yang membutuhkan sistem

navigasi.

2. Untuk

aplikasi

tampilan

bisa

diaplikasikan ke dalam aplikasi software

lain sepeti Visual Basic

atau Labview.

DAFTAR PUSTAKA

Woodman, Oliver J. (2007), An introduction

to inertial navigation, University Of

Cambridge Computer Laboratory.

W. Premerlani and Paul Bizar. Direction

Cosine Matrix IMU : Theory.

Seifert, Kurt., Camacho Oscar. (2007),

Implementing Positioning Algorithms

Using

Accelerometers,

freescale

Semiconductor, Rev 0.

9 Degrees of Freedom-Razor IMU-Manual

Book.

Winoto, Ardi. (2010). Mikrokontroler AVR

ATmega8/32/18/8535

dan

Pemrogramannya dengan Bahasa C

pada WinAVR. Penerbit : Informatika.

Bandung.

Nama : Yuga Aditya

Pramana

TTL : Sumedang

13 Januari 1989

Program Studi

Teknik Elektro UNIKOM


(1)

kecepatan sudut tersebut dapat diketahui sudut kemiringan suatu benda.

Gambar 2. 9 Konfigurasi Pin Sensor ITG-3200 2.10 Sensor Magnetometer

Sensor IMU umumnya terdiri dari kombinasi sensor percepatan (accelerometer), sensor angular (gyroscope) dan sebagian ada yang dilengkapi dengan sensor penentuan medan magnet (magnetometer) untuk menjejaki keberadaan dan pergerakan suatu benda.

Magnetometer adalah instrumen ilmiah yang digunakan untuk mengukur kekuatan atau arah medan magnet di sekitar alat tersebut. Salah satu contoh sensor magnetometer yang dapat digunakan adalah sensor HMC58883L (triple-axis magnetometer). untuk konfigurasi pin sensor ini dapat dilihat di Gambar 2. 12, sedangkan beberapa fitur dari sensor ini diantaranya adalah sebagai berikut.

Gambar 2.10 Konfigurasi Pin Sensor HMC5883L 2.11 Bahasa PemogramanArduino

Arduino Uno adalah salah satu jenis dari versi keluarga lainnya, board ini berbasis mikrokontroler pada ATmega328 , memiliki 14 digital input/output pin (dimana 6 pin dapat digunakan sebagai output PWM), 6 input analog, 16 MHz osilator kristal, konektor USB, konektor catu daya dan tombol reset. Pin-pin ini berisi semua yang

diperlukan untuk mendukung mikrokontroler untuk terhubung ke komputer dengan kabel

USB atau sumber tegangan bisa didapat dari adaptor AC-DC atau baterai untuk menggunakannya. Arduino menggunakan pemograman dengan bahasa C. Berikut tampilan dari board Arduino Uno.

Gambar 2. 11 Tampilan Framework Arduino IDE

2.12 Bahsa PemogramanProcessing

Processing adalah bahasa pemrograman dan lingkungan pemrograman (development environment) open source

untuk memprogram gambar, animasi dan interaksi. Digunakan oleh pelajar, seniman, desainer, peneliti, dan hobbyist untuk belajar, membuat prototype dan produksi.

Processing digunakan untuk mengajarkan dasar-dasar pemrograman komputer dalam konteks rupa dan berfungsi sebagai buku sketsa perangkat lunak (software) dantoolproduksi profesional.Processing

bebas untuk di downloaddan tersedia untuk


(2)

Gambar 2. 12 Tampilan Perangkat Lunak Processing

3. PERANCANGAN ALAT

Pada bab ini akan membahas sistem IMU yang dapat diamati pada Gambar 3. 1, dimana pengiriman data dari accelerometer

untuk pengukuran percepatan, gyroscope

untuk pengukuran kecepatan sudut dan

magnetometer untuk pengukuran medan magnet akan diolah dalam mikrokontroler menggunakan metode algoritma Direct Cosine Matrixdengan keluaran berupa sudut

roll, pitch dan yaw. Setelah mendapatkan sudut orientasi sistem IMU akan mengirim data melalui USB to Serial ke personal komputer.

Gambar 3. 1 Diagram Blok Sistem IMU

3.1 Konfigurasi Sistem IMU

Dalam tugas akhir ini akan digunakan sensor IMU jenis Razor IMU 9DoF, sensor IMU jenis ini menggabungkan tiga sensor yaitu ITG-3200 (triple-axis gyro), ADXL345 (triple-axis accelerometer) dan HMC5883L (triple-axis magnetometer )

yang sudah terintegrasi dan berfungsi memberikan sembilan derajat pengukuran inersia. Output dari semua sensor diproses oleh on-boardATmega328 dan di outputkan kembali melalui port USB ke personal komputer. konfigurasi sistem dapat diamati pada Gambar 3. 2.

Gambar 3. 2 Konfigurasi Sistem IMU

3.2 Perangkat Lunak Razor IMU

Pada bagian ini akan dijelaskan program firmwareRazor AHRS yang terdiri dari dua bagian yaitu dari aplikasi software

Arduino dan Processing. Pada bagian

aplikasi software Arduino akan

menampilkan data melalui serial monitor dan pada bagian aplikasi software

Processing akan menampilkan simulasi pergerakan obyek yaitu modul Razor itu sendiri dengan visualisasi grafis.

3.2.1 Program Arduino

Pada bagian aplikasi software

Arduino data keluarannya ditampilkan di dalam serial monitor. Didalam program tersebut 5 subprogram yaitu program

Compass, DCM, Mathematic, Output dan

Sensors. Fungsi dari masing-masing subprogram adalah sebagai berikut.

1. Sensors : Mendeklarasikan variabel untuk inisialisasi I2C dari setiap sensor.

2. Output : Mendeklarasikan mode output

seperti ouput angles, output calibration

dan output sensors.

3. Mathematic : Mendeklarasikan varibel yang berfungsi sebagai komputasi dotdan

cross product serta inisialisasi rotasi matrik.

4. DCM : Mendeklarasikan varibel yang berfungsi sebagai algoritma Direct Cosine Matrix yang terdiri dari

Personal Komputer


(3)

Normalize, Drift correction, Matrix updatedan Euler_Angles.

5. Compass : Mendeklarasikan variabel

Compass Heading untuk kompensasi kemiringan medan magnet di sumbu X dan Y dan sebagai penunjuk arah medan magnet.

3.2.2 Program Processing

Processing adalah bahasa pemrograman dan lingkungan pemrograman (development environment) open source

untuk memprogram gambar, animasi dan interaksi. Digunakan oleh pelajar, seniman, desainer, peneliti, dan hobbyist untuk belajar, membuat prototype dan produksi. Oleh karena itu, aplikasi softwareProcessing akan digunakan untuk menampilkan visualisasi grafis pergerakan dari modul Razor IMU. Tampilan pada program Processing dan flowchartnya dapat dilihat di Gambar 3. 3.

Gambar 3. 3 Tampilan Aplikasi Software

Processing

4. PENGUJIAN DAN ANALISA

Pada bab ini akan membahas pengujian dan analisa dari sistem yang digunakan. Pengujian ini terbagi menjadi beberapa bagian seperti : pengujian sistem komunikasi serial, pengujian kalibrasi sensor

accelerometer, gyroscope dan

magnetometer, pengujian kirim command

dan pengujian program Processing.

4.1 Pengujian Sistem Komunikasi Serial

Untuk pengujian sistem komunikasi antara modul Razor IMU dengan port serial komputer dapat dilakukan dengan memanfaatkan aplikasi software Arduino dengan cara memilih menu “Tools” lalu “Serial Monitor” dengan men-set baudrate 57600. Pada pengujian ini diberikan

command #ot untuk menampilkan sudut

output dalam format teks. Berikut tampilan dari pengujian serial monitor.

Gambar 4. 1 Pengujian Sistem Komunikasi

4.2 Pengujian Kalibrasi Sensor

Untuk mendapatkan nilai minimum dan maksimum agar bisa menggunakan modul sensor ini maka dilakukan proses kalibrasi dengan cara mengirim command

#on untuk kalibrasi setiap sensor. Berikut ini salah satu langkah kalibrasi sensor pada

accelerometer.

Gambar 4. 2 Pengujian Kalibrasi Sensor

Accelerometer


(4)

4.3 Pengujian Kirim Command

Pada bagian ini langkah pengujian yang akan dilakukan adalah dengan cara mengirimkan setiap command yang terdapat dalam program Arduino. Berikut ini salah satu fungsi pengujian kirim command #ob untuk menampilkan output dengan format

binary.

Gambar 4.3 Tampilan Serial Monitor saat

Command#ob

Untuk mngetahui nilai keluaran dari percepatan, kecepatan sudut , dan posisi dalam orientasi sudut roll, pitch dan yaw

dapat dilihat nilai perubahannya dengan menggunakan command #os yang berfungsi untuk menampilkan mode output sensor secara format teks.

#acc adalah nilai keluaran dari sensor

accelerometer

#gyr adalah nilai keluaran dari sensor

gyroscope

#mag adalah nilai keluaran dari sensor

magnetometer

Agar dapat melihat adanya nilai perubahan dari setiap sensor dengan tidak secara berlanjut yaitu dengan menggunakan

command #o0, selanjutnya dengan kirim #f agar dapat melihat nilai perubahan dari setiap sensor satu persatu.

Gambar 4.4 Tampilan Mode Ouput Sensor Dalam keadaan diam terlihat nilai rata-rata dari sensor accelerometer dan gyroscope adalah sebagai berikut.

#Accel X= 0.00 || #Accel Y= 0.00 || #Accel Z= 0.00 #Gyro X= 0.00 || #Gyro Y= 0.00 || #Gyro Z= 0.00 Sudut Roll= 0.84

Sudut Pitch= 0.41 Sudut Yaw= -156.33

#Accel X= 0.00 || #Accel Y= 0.00 || #Accel Z= 0.00 #Gyro X= 0.00 || #Gyro Y= 0.00 || #Gyro Z= 0.00 Sudut Roll= 0.63

Sudut Pitch= 0.24 Sudut Yaw= -156.63

#Accel X= 0.00 || #Accel Y= 10.24 || #Accel Z= 0.00 #Gyro X= 0.00 || #Gyro Y= 0.00 || #Gyro Z= 0.00 Sudut Roll= 0.70

Sudut Pitch= 0.35 Sudut Yaw= -156.91

#Accel X= 0.00 || #Accel Y= 13.31 || #Accel Z= 0.00 #Gyro X= 0.00 || #Gyro Y= 0.00 || #Gyro Z= 0.00 Sudut Roll= 0.21

Sudut Pitch= 0.39 Sudut Yaw= -157.07

#Accel X= 0.00 || #Accel Y= 0.00 || #Accel Z= 0.00 #Gyro X= 0.00 || #Gyro Y= 0.00 || #Gyro Z= 0.00 Sudut Roll= 0.56

Sudut Pitch= 0.40 Sudut Yaw= -157.18

Berdasarkan dari proses tersebut untuk melihat adanya perubahan besar nilai

keluarannya yaitu dengan cara

menggerakkan modul Razor terhadap sumbu x, y dan z. Nilai-nilai tersebut didapat berdasarkan dari fungsi variabel proses kompensasi error sensor terhadap


(5)

pembacaan nilai awal dari setiap sensor. Berikut ini adalah varibel yang digunakan dalam proses kompensasi error sensor pada program Arduino.

Kompensasi Error Aceelerometer

accel[0]= accel[0] −accelxoffset ∗accelxscale; accel[1]= accel[1] −accelyoffset ∗accelyscale; accel[2]= accel[2] −accelzoffset ∗accelzscale; Kompensasi Error Magnetometer

magnetom[0]= magnetom[0] −magnxoffset ∗magnxscale;

magnetom[1]= magnetom[1] −magnyoffset ∗magnyscale;

magnetom[2]= magnetom[2] −magnzoffset ∗magnzscale;

Kompensasi Error Gyroscope

gyro[0] −= gyroaverageoffsetx; gyro[1] −= gyroaverageoffsetx; gyro[2] −= gyroaverageoffsetx;

4.4 Pengujian Program Processing

Tujuan dari pengujian program Processing adalah untuk menampilkan visualisasi grafis pergerakan dari modul Razor IMU. Langkah-langkahnya adalah sebagai berikut. Menjalankan aplikasi

software Processing dan membuka file

“Razor_AHRS_test.pde” di folder

“Processing” dalam program firmware

Razor AHRS.

Gambar 4. 13 Tampilan Awal Aplikasi Software Processing

Proses selanjutnya adalah

menghubungkan modul Razor IMU ke port

USB komputer. Ketika program tersebut di

run maka ada proses untuk sinkronisasi

serial port, jika sesuai maka tampilan programnya akan seperti Gambar 4. 14.

Gambar 4. 14 Proses Sinkronisasi modul Razor dengan Program Processing Proses selanjutnya akan menampilkan visualisasi grafis yang bergerak sesuai dengan gerak nyata modul Razor IMU.

Gambar 4. 15 Tampilan Visualisasi Grafis Program Processing

1 2 3

4 5


(6)

5. KESIMPULAN DAN SARAN 5.1 Kesimpulan

Setelah melakukan pengujian terhadap device yang digunakan, penulis dapat

mengambil beberapa kesimpulan,

diantaranya sebagai berikut.

1. Modul sensor Razor IMU dapat diimplementasikan sebagai sensor Inertial Measurement Unit dengan metode Inertial Navigation System. 2. Berdasarkan dari tujuan tugas akhir ini,

untuk mengetahui nilai percepatan dan kecepatan sudut tidak dengan cara komputasi algoritma Direct Cosine Matrix yang terdapat dalam program Arduino, karena algoritma ini bertujuan untuk dapat mengetahui representasi orientasi berupa sudut roll, pitch dan

yawpada suatu obyek yang bergerak. 3. Aplikasi software Processing dapat

menampilkan pergerakan obyek dalam bentuk visual grafis.

5.2 Saran

Pada bab ini penulis ingin memberikan saran yang nantinya dapat dijadikan pengembangan selanjutnya. Saran tersebut diantaranya adalah.

1. Modul Razor IMU dapat diaplikasikan dalam sistem gerak quadqopter atau aplikasi yang membutuhkan sistem navigasi.

2. Untuk aplikasi tampilan bisa diaplikasikan ke dalam aplikasi software

lain sepeti Visual Basicatau Labview.

DAFTAR PUSTAKA

Woodman, Oliver J. (2007), An introduction to inertial navigation, University Of Cambridge Computer Laboratory.

W. Premerlani and Paul Bizar. Direction Cosine Matrix IMU : Theory.

Seifert, Kurt., Camacho Oscar. (2007),

Implementing Positioning Algorithms Using Accelerometers, freescale Semiconductor, Rev 0.

9 Degrees of Freedom-Razor IMU-Manual Book.

Winoto, Ardi. (2010). Mikrokontroler AVR

ATmega8/32/18/8535 dan

Pemrogramannya dengan Bahasa C pada WinAVR. Penerbit : Informatika. Bandung.

Nama : Yuga Aditya Pramana TTL : Sumedang

13 Januari 1989 Program Studi Teknik Elektro UNIKOM