new mantan pogez ta_q n calon buku ta_qq
TRANSCRIPT
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 1/53
BAB I
PENDAHULUAN
1.1 Latar Belakang
Perkembangan teknologi di bidang elektronika khususnya konsentrasi robotika,
menghasilkan para ahli yang dapat menciptakan sebuah rekayasa sistem yang sangat
membantu manusia dalam menyelesaikan tugas – tugasnya. Kebakaran di suatu
tempat, wilayah tertentu harus segera dipadamkan. Untuk memudahkan manusia
dalam menyelesaikan tugas pemadaman, maka diciptakan sebuah robot pemadam api
yang dapat secara otomatis menemukan titik api yang akan dipadamkan.
Kemajuan teknologi di bidang robotika sangat diminati oleh generasi mudayang memiliki kemampuan dalam bidang elektronika. Robot yang dibuat harus
memiliki kecerdasan dan ketangkasan dalam menjalankan misi – misinya seperti
mencari titik api dan memadamkannya. Sebelum memadamkan api, robot harus dapat
menemukan dan menyelamatkan orang yang terperangkap kobaran api. Dalam usaha
memberikan kontribusi kepada teknologi, maka tugas akhir yang akan kami
realisasikan adalah rancang bangun robot cerdas pemadam api.
1.2 Perumusan Masalah
’Kegiatan pemadaman api adalah tugas wajib, namun penyelamatan bayi adalah
tugas utama’, demikianlah dasar semangat pembuatan robot pemadam kebakaran
dalam KRCI ini. Berdasarkan hal tersebut, maka dapat dirumuskan bahwa masalah
yang akan dihadapi adalah: ”Perancangan suatu robot pemadam kebakaran yang
tidak hanya memadamkan api, tetapi juga menyelamatkan bayi, terutama di suatu
gedung bertingkat dengan cepat”. Selain itu, berbagai permasalahan dalam
perancangan dan pembuatan robot antara lain adalah bagaimana menentukan sistem penggerak dari robot serta bagaimana merancang sistem elektronik yang akan
dipergunakan, seperti pendeteksian suhu bayi yang mungkin dapat terganggu dengan
suhu api, pendeteksian api yang dapat dipengaruhi cahaya tampak, serta benda –
benda dan dinding yang dapat menjadi penghalang gerak robot. Permasalahan yang
juga sering dihadapi para mahasiswa adalah mengenai biaya yang tidak ekonomis
dikarenakan terjadi trouble atau kegagalan sistem yang seringkali merusak komponen
– komponen utama.
1
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 2/53
1.3 Pembatasan Masalah
Pada penulisan kali ini masalah yang akan dibahas oleh penulis hanya
mengenai pemrograman sebagai pengontrol gerak robot. Untuk pembahasan kontroler
dapat dilihat pada tulisan lainnya yang mempunyai sub system yang sama.
1.4 Tujuan
Tujuan pembuatan alat ini adalah untuk merealisasikan, mengembangkan,
meningkatkan ilmu pengetahuan yang telah dipelajari, dengan keterampilan dan
kemampuan dalam perancangan sebuah sistem yang dapat diaplikasikan sesuai
kebutuhan masyarakat modern. Pembuatan alat ini bertujuan untuk mengembangkan
sebuah sistem pemadam api yang secara otomatis akan mencari titik api dan
kemudian memadamkannya dalam bentuk prototipe robot.
1.5 Metode Penyelesaian Masalah
Metode penyelesaian masalah yang diterapkan adalah membangun model alat dengan
menggunakan pendekatan masalah system dynamics, yaitu:
a. Identifikasi masalah
b. Konseptualisasi sistem
Perencanaan dan perancangan dibuat dengan konsep yang pasti disesuaikandengan masalah yang teridentifikasi, sehingga dalam perealisasian tidak
menyimpang dari konsep yang telah ditetapkan, tetapi tepat mengenai sasaran.
c. Formulasi model
Model alat yang direncanakan, diformulasikan kesesuaiannya sesuai ilmu yang
telah didapatkan, sehingga perealisasiannya lebih baik.
d. Simulasi
Perencanaan rangkaian juga melalui tahap simulasi / disimulasikan terlebih
dahulu untuk melihat perubahan dan indikasinya terhadap fenomena dan
lingkungan sekitar. Sehingga bila terdapat trouble, masih dapat diperbaiki dengan
efisien.
e. Realisasi
Rangkaian yang telah dirasa baik, direalisasikan menjadi kesatuan sistem.
f. Evaluasi
Tahap evaluasi diperlukan untuk mengecek kondisi sistem yang telah dibuat,
apakah sesuai dengan rencana, hasil simulasi, ataukah ada yang perlu diperbaiki.
2
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 3/53
BAB II
DASAR TEORI
2.1 Deskripsi Sistem Robot
Deskripsi sistem robot adalah seperti tampak pada gambar 2.1 di bawah ini.
Fenomena lingkungan yang dihadapi robot dideteksi oleh sensor dan disampaikan ke
kontroler melalui pengkondisi sinyal yang mengkondisikan sinyal yang masuk.
Sensor Suara berfungsi sebagai sound activation. Sensor Navigasi untuk
menunjukkan arah robot saat akan mulai berjalan, rotasi robot saat berputar pada
home berdasarkan sudut keberangkatannya menuju jalan yang dikehendaki robot
untuk dapat melewati lorong arena. Sensor Warna untuk mendeteksi home yang
berwarna putih sebagai tanda awal perjalanan robot, robot harus dapat kembali lagi
pada tempat asalnya yaitu home. Sensor Jarak berfungsi mendeteksi dinding arena
robot untuk mendapatkan jarak aman ketika robot melintasi lorong – lorong arena.
Sensor Api berfungsi mendeteksi keberadaan cahaya api lilin pada suatu ruangan.
Sensor Suhu berfungsi mendeteksi suhu yang dihasilkan sebuah lampu pijar pada
sebuah boneka bayi. Output dari kontroler adalah memberikan perintah kepada
driver untuk menghasilkan daya gerakan.
Sensor Suara
S en sor Navigasi
Sensor Warna
Sensor J arak
Sensor Api
Sensor Suh u
Pengkondisi Sinyal
Pengkondis i S in yal
SlaveM ikrokon trollerD T-Basic M ini1 M aster
M ikrokon trol ler
AVR ATM ega8535
Sistem R oda(Navigasi/Gerak berpindah
S istem B lower(Pemadam Api)
SlaveM ikrokon troller
D T-Basic M ini2
Driver U VTron
Proses
Gambar 2.1 Diagram Blok Sistem Robot
3
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 4/53
2.2 Cara Kerja Robot
Robot akan aktif saat suara buzzer dibunyikan dengan frekuensi 3 – 4 kHz yang
dideteksi oleh sensor suara. Selanjutnya robot akan bergerak. Robot mendeteksi suhu
yang dipancarkan dari tubuh bayi terlebih dahulu dan menyusuri jalan menuju bayi.
Setelah bayi ditemukan, robot akan memberi tanda dengan menjatuhkan beeper .
Dalam menyusuri jalan, bila terdapat furniture, robot menghindar dan tidak
menabraknya, robot juga tidak akan menabrak dinding yang menjadi halangan.
Setelah bayi menjadi prioritas utama, kemudian robot mulai mencari sumber api
terdekat dengan menyusuri ruang yang lain. Kemudian robot memadamkan api yang
ditemukan, lalu kembali ke home ( posisi siaga ).
2.3 Sistem Kontroler Robot
Untuk mengontrol semua gerakan robot, berjalan lurus, berbelok ke kiri/kanan,
adalah melalui program yang dimasukkan ke prosesor/mikrokontroler. Melalui
mikrokontroler ini, semua gerakan robot dapat diprogram sesuai dengan yang
diinginkan, mulai dengan mengontrol motor DC sampai menerima hasil respon dari
sensor yang kemudian akan diproses menjadi berbagai macam output. Prosesor
utama yang digunakan dalam robot ini adalah mikrokontroler tipe AVR
ATMega8535 yang berfungsi mengatur dan mengontrol seluruh mekanisme kerjarobot (sistem kontroler). Selain itu, digunakan mikrokontroler Basic Stamp sebagai
pembantu sistem input bagi Atmega8535.
2.4 Mikrokontroler AVR (Alf and Vegard’s Risc Processor)
AVR merupakan bagian dari keluarga CMOS 8 bit buatan Atmel. 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 . AVR juga mempunyai In System Programmable
Flash on-chip yang mengijinkan memori program untuk diprogram berulang–ulang
dalam sistem menggunakan hubungan serial SPI. Mikrokontroler yang digunakan
pada robot ini adalah Atmega8535.
Beberapa keistimewaan dari Atmega8535, antara lain:
a. Saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C dan Port D.
b. ADC ( Analog to Digital Converter ) 10-bit sebanyak 8 channel .
c. Tiga buah Timer/Counter dengan kemampuan pembandingan.
4
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 5/53
d. Watchdog Timer dengan osilator internal.
e. SRAM sebanyak 512 byte.
f. Memori Flash sebesar 8 Kb dengan kemampuan Read While Write.
g. EPROM sebesar 512 byte yang dapat diprogram saat operasi.
h. Antarmuka komparator analog.
i. Port USART untuk komunikasi serial.
j. 4 channel PWM internal
Gambar 2.2 Memory Map Mikrokontroler AVR ATmega8535
2.4.1 Konfigurasi Pin Mikrokontroler Atmega8535
Gambar 2.3 Konfigurasi Pin Mikrokontroler ATmega8535
5
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 6/53
2.4.2 Deskripsi Pin Atmega8535
Berikut adalah penjelasan susunan pin/kaki dari Atmega8535:
a. VCC (pin 10) : Merupakan pin masukan positif catu daya. Setiap
peralatan elektronika tentunya membutuhkan
sumber catu daya.
b. GND (pin 11 & 31) : Sebagai pin Ground .
c. Port A (pin 33 - 40) : Port A (PA0..PA7) merupakan pin I/O dua arah dan
dapat diprogram sebagai pin masukan ADC.
d. Port B (pin 1 - 8) : Port B (PB0..PB7) merupakan pin I/O dan pin
fungsi khusus, yaitu Timer/Counter , komparator
analog dan SPI. Pin-pin port B untuk fungsi-fungsi
alternatif khusus dapat dilihat dalam tabel berikut.
Tabel 2.1 Fungsi khusus Port B
Atmega8535
Port
PinFungsi Khusus
PB0 T0 = timer/counter 0 external counter inputPB1 T1 = timer/counter 0 external counter inputPB2 AIN0 = analog comparator positive input
PB3 AIN1 = analog comparator negative inputPB4 SS = SPI slave select inputPB5 MOSI = SPI bus master output/slave inputPB6 MISO = SPI bus master input/slave outputPB7 SCK = SPI bus serial clock
e. Port C (pin 22 - 29) : Port C (PC0..PC7) merupakan pin I/O. Selain itu,
dua pin port C (PC6 dan PC7) juga memiliki fungsi
alternatif sebagai oscillator untuk timer/counter 2.
f. Port D (pin 14 - 21) : Port D (PD0..PD7) merupakan pin I/O dan pinfungsi khusus, yaitu komparator analog, interupsi
eksternal dan komunikasi serial. Pin-pin port D
untuk fungsi-fungsi alternatif khusus seperti yang
dapat dilihat dalam tabel berikut.
Tabel 2.2 Fungsi khusus Port D Atmega8535
Port Pin Fungsi Khusus
6
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 7/53
PD0 RDX (UART input line)PD1 TDX (UART output line)PD2 INT0 ( external interrupt 0 input )PD3 INT1 ( external interrupt 1 input )PD4 OC1B (Timer/Counter1 output compareB match output)
PD5 OC1A (Timer/Counter1 output compareA match output)PD6 ICP (Timer/Counter1 input capture pin)PD7 OC2 (Timer/Counter2 output compare match output)
g. RESET (pin 9) : Merupakan pin yang digunakan untuk me-reset
mikrokontroler, yaitu dengan memberikan masukan
low pada pin ini minimal dua machine cycle.
h. XTAL 1 (pin 12) : Sebagai masukan ke inverting oscillator amplifier
dan input ke internal clock operating circuit .
i. XTAL 2 (pin 13) : Merupakan output dari inverting oscillator
amplifier
j. AVCC (pin 30) : Sebagai pin masukan tegangan untuk ADC. Pin ini
harus secara eksternal terhubung ke Vcc melalui
lowpass filter .
k. AREF (pin 32) : Sebagai pin masukan tegangan referensi bagi ADC.
Untuk operasionalisasi ADC, suatu level tegangan
antara AGND dan Avcc harus diberikan ke pin ini.
Masing-masing port, output buffer nya dapat memberi arus 20 mA dan
dapat mengendalikan display LED secara langsung. Data Direction Register
port (DDR) harus disetting terlebih dahulu sebelum Port digunakan. Bit-bit
DDR diisi 0 jika ingin memfungsikan pin-pin port yang bersesuaian sebagai
input, atau diisi 1 jika sebagai output.
2.4.3 Interrupt
Interrupt merupakan suatu peristiwa yang menyebabkan mikrokontroler
menghentikan program sejenak untuk mengerjakan proses interrupt tersebut.
Setelah interrupt yang dikerjakan tersebut telah selesai, maka mikrokontroler
akan kembali ke rutin program yang telah dihentikan sejenak. Interrupt yang
mempunyai prioritas tertinggi tidak dapat diganggu oleh program lain maupun
interrupt yang mempunyai prioritas lebih rendah. Selama proses interrupt
dijalankan maka program counter (alamat dari proses instruksi yang sedang
7
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 8/53
berjalan) disimpan ke stack . Berikut merupakan prioritas interrupt dari yang
tertinggi sampai terendah.
Tabel 2.3 Prioritas Interrupt Atmega8535
Vecto
r No.
Progra
m
Address
Source Interrupt Definition
1 0x000 RESET External Pin, Power-on Reset,
Brown-out Reset and Watchdog
Reset2 0x001 INT0 External Interrupt Request 03 0x002 INT1 External Interrupt Request 1
4 0x003 TIMER2 COMP External Pin, Power-on Reset,Brown-out Reset and Watchdog
Reset5 0x004 TIMER2 OVF Timer/Counter2 Overflow6 0x005 TIMER1 CAPT Timer/Counter1 Capture Event7 0x006 TIMER1 COMPA Timer/Counter1 Compare Match A8 0x007 TIMER1 COMPB Timer/Counter1 Compare Match B9 0x008 TIMER1 OVF Timer/Counter1 Overflow10 0x009 TIMER0 OVF Timer/Counter0 Overflow11 0x00A SPI, STC Serial Transfer Complete
12 0x00B USART, RXC USART, Rx Complete13 0x00C USART, UDRE USART Data Register Empty14 0x00D USART, TXC USART, Tx Complete15 0x00E ADC ADC Conversion Complete16 0x00F EE_RDY EEPROM Ready17 0x010 ANA_COMP Analog Comparator 18 0x011 TW1 Two-wire Serial Interface19 0x012 INT2 External Interrupt Request 220 0x013 TIMER0 COMP Timer/Counter0 Compare Match21 0x014 SPM_RDY Store Program Memory Ready
2.4.4 Tool CodeVision AVR
Pemrograman yang digunakan untuk mengisi program pada mikrokontroler
AVR ini digunakan tool codevision AVR dan bahasa pemrograman yang
digunakan adalah bahasa C. Pada tool codevision AVR ini dapat ditentukan
port–port dari mikrokontroler AVR yang berfungsi sebagai input maupun
output, serta dapat juga ditentukan tentang penggunaan fungsi-fungsi internal
8
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 9/53
dari AVR. Untuk menentukan port–port yang akan digunakan sebagai input
maupun output dapat dilihat pada gambar 2.3.
Gambar 2.4 Penentuan Port ATmega8535 yang akan
dipakai
9
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 10/53
Setelah port dari AVR ditentukan sebagai input atau output, maka program
ditulis dalam bahasa C. Setelah itu program dicompile apakah ada kesalahan
atau tidak, lalu program didownload ke mikrokontroler dengan alur seperti
gambar 2.4.
Gambar 2.5 Alur Pemrograman dan Proses Download Tool CodeVision AVR
2.4.5 Rutin – Rutin Standar
Pada codevision AVR telah disediakan beberapa rutin-rutin yang siap diisi
dengan program. Setelah mengatur port AVR yang berfungsi sebagai input
maupun output, maka program disesuaikan dengan penentuan port yang telah
ditentukan. Beberapa contoh fungsi yang telah disediakan pada codevision
AVR seperti berikut:
a. Fungsi delay
Untuk menghasilkan delay pada pemrograman AVR, maka fungsi
delay harus dideklarasikan pada header sebelum dipanggil pada sub rutin
program. Letaknya pada header program, dituliskan sebagai berikut:
# include <delay.h>
Pada codevision AVR juga terdapat fungsi untuk memanggil delay selain
cara di atas, yaitu:
void delay_us(unsigned int n) : menghasilkan delay selama n mikro-detik,
void delay_ms(unsigned int n) : menghasilkan delay selama n mili-detik.
b. Fungsi LCD ( Liquid Crystal Display)
Fungsi LCD harus dideklarasikan terlebih dahulu pada header
program apabila ingin dipanggil. Selain itu, harus diaktifkan terlebih dahulu
pada codevision wizard, misal jika LCD tersebut diletakkan pada Port B
dari mikrokontroler, ditunjukkan seperti berikut:
10
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 11/53
Gambar 2.6 Contoh Pengaturan LCD pada Port B
b.1 void lcd_clear (unsigned char x, unsigned char y)
Untuk menghapus karakter yang tampil di layar LCD dan
posisi karakter kembali ke posisi semula.
b.2 void lcd_gotoxy (unsigned char x, unsigned char y)
void lcd_putchar (char c)
dua baris tulisan tersebut adalah untuk meletakkan posisi c pada layer LCD pada kolom ke-x dan baris ke-y.
2.5 DT Basic Mini System
DT Basic Mini System adalah suatu modul kontroler single chip yang
menggunakan mikrokontroler Basic Stamp 2P 40 (BS2P 40) interpreter chip dan
kemampuan komunikasi serial secara UART dan serial downloading . Kontroler ini
memiliki memori 8x2 Kbyte EEPROM yang mampu menampung hingga 4000
instruksi dengan kecepatan prosesor 20 MHz Turbo dan kecepatan eksekusi
programnya hingga 12.000 instruksi per detik. Selain itu, kontroler ini memiliki
memori RAM sebesar 38 byte dengan scratch pad sebesar 128 byte. Memiliki jalur
I/O sebanyak 32 pin dan memiliki jalur komunikasi serial UART RS232 dengan
konektor DB9. Tegangan input yang dibutuhkan antara 9-12 Volt dan tegangan
outputnya sebesar 5 Volt.
2.5.1 Konfigurasi pin IC BS2P 40
11
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 12/53
Gambar 2.7 IC BS2P 40
2.5.2 Deskripsi Pin IC BS2P 40
Tabel 2.4 Deskripsi Pin IC BS2P 40
Pin Nama Pin Deskripsi
1 SOUT Serial Out: dihubungkan ke pin Rx port serial PC (pin
2 DB9 / pin 3 DB25) untuk pemrograman2 SIN Serial In: dihubungkan ke pin Tx port serial PC (pin
3 DB9 / pin 2 DB25) untuk pemrograman3 ATN Attention: dihubungkan ke pin DTR port serial PC
(pin 4 DB9 / pin 20 DB25) untuk pemrograman4 VSS Sistem ground: dihubungkan ke pin GND port serial
PC (pin 5 DB9 / pin 7 DB25) untuk pemrograman5-20 P0-P15 Pin I/O general - purpose
21-36 X0-X15 Auxiliary bank dari pin I/O general - purpose37 VDD 5 Volt DC input/output
38 RES Reset input/output39 VSS Sistem ground: dihubungkan ke terminal ground
power supply40 VIN Power input yang tidak diregulasikan: menerima
tegangan 5,5 – 12 Volt yang kemudian diregulasikan
secara internal menjadi 5 Volt.
2.5.3 Basic Stamp Editor
Untuk memprogram modul Basic Mini System ini digunakan software
khusus Basic Stamp Editor dengan pemrograman yang digunakan untuk modul
12
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 13/53
ini adalah bahasa basic yang sintaksnya tidak jauh berbeda dengan bahasa C.
Untuk memulai, kita dapat mengidentifikasikan tipe basic stamp yang kita
gunakan dengan memilih Run → Identify, atau dapat langsung memilihnya
pada window.
Gambar 2.8 Test koneksi Basic Stamp Gambar 2.9 Pemilihan tipe BasicStamp
Program dapat mulai diketik, lalu dicompile dan dirun atau didownload ke
modul. Di sini, dapat pula menampilkan jendelarunning
program sehingga
dapat mengetahui hasil program yang dibuat.
Gambar 2.10 Icon pilihan run Gambar 2.11 Jendela Running Basic Stamp
2.6 PWM
Pulsa Width Modulation (PWM) adalah suatu metode/cara untuk mengontrol
kecepatan putaran motor dengan memberikan tegangan DC berfrekuensi khusus.
Frekuensi yang diberikan ke motor dilakukan oleh mikrokontroler melalui rangkaian
penguat arus sehingga motor dapat bergerak dan mikrokontroler tidak mengalami
kelebihan arus. Frekuensi dibuat oleh mikrokontroler dengan program yang mengatur
13
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 14/53
siklus kerjanya (duty cycle). Siklus kerja ini didapatkan dari perbandingan antara
lamanya tegangan pada nilai maksimum (tH) dengan lamanya periode. Dengan kata
lain, duty cycle adalah kondisi waktu tinggi (high) pada suatu waktu tertentu.
Pengaturan duty cycle akan menjadikan motor dapat bergerak dengan kecepatan
yang dapat diatur seperti kecepatan penuh, kecepatan 50% dari kecepatan penuh dan
lain sebagainya. Jadi, PWM pada dasarnya adalah menyalakan (ON ) dan mematikan
(OFF ) motor DC dengan cepat. Kuncinya adalah mengatur berapa lama waktu ON
dan berapa lama waktu OFF , di mana kondisi ON adalah kondisi pada saat logic ‘1’
dan kondisi OFF adalah kondisi saat logic ‘0’. Untuk mencari besarnya siklus kerja
yang dipakai dapat menggunakan rumus sebagai berikut:
% Duty Cycle = %100xtt
t
LH
H
+ → tH = waktu tinggi ( logic ‘1’)tL = waktu rendah (logic ‘0’)
Periode (T) = tH + tL
Sedangkan untuk mencari besarnya tegangan keluaran rata-rata yang dihasilkan
setelah menggunakan PWM adalah:
Vrata-rata = % Duty Cycle x Input Voltage
Pada gambar 2.6 diperlihatkan transisi waktu tinggi dan waktu rendah pada
suatu waktu tertentu.
Gambar 2.12 Duty Cycle dalam suatu Periode (rasio waktu ON terhadap waktu
total)
Duty cycle umumnya dinyatakan dalam persen.
14
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 15/53
Gambar 2.13 Contoh Duty Cycle
Frekuensi yang diberikan ke motor akan sangat berpengaruh terhadap sistem
kerja dari motor itu sendiri. Pada saat motor mendapatkan frekuensi tinggi dalam hal
ini periode waktu menjadi kecil, akan menurunkan kekuatan torsi motor itu sendiri.
Hal ini berarti semakin kecil nilai duty cyclenya, maka kekuatan torsi menjadi
berkurang sehingga diperlukan percobaan untuk dapat menentukan pada duty cycle
berapa motor masih dapat bergerak.
2.7 I2C
I2C ( Inter-Integrated Circuit ) merupakan jalur komunikasi serial multi-master .Dengan I2C, hanya dibutuhkan dua jalur untuk berkomunikasi antar perangkat. Kita
tidak memerlukan address decoder untuk mengimplementasi jalur I2C. Dua jalur
tersebut adalah SDA (Serial Data) dan SCL (Serial Clock ). SCL merupakan jalur
yang digunakan untuk mensinkronisasi transfer data pada jalur I2C, sedangkan SDA
merupakan jalur untuk data. Beberapa perangkat dapat terhubung ke dalam jalur I2C
yang sama dimana SCL dan SDA terhubung ke semua perangkat tersebut, hanya ada
satu perangkat yang mengontrol SCL yaitu perangkat master . Jalur dari SCL danSDA ini terhubung dengan pull-up resistor yang besar resistansinya tidak menjadi
masalah (bisa 1K, 1.8K, 4.7K, 10K, 47K atau nilai diantara range tersebut). Dengan
adanya pull-up disini, jalur SCL dan SDA menjadi open drain, yang maksudnya
adalah perangkat hanya perlu memberikan output 0 ( LOW ) untuk membuat jalur
menjadi LOW , dan dengan membiarkannya, pull-up resistor sudah membuatnya
HIGH . Umumnya, dalam I2C ada satu perangkat yang berperan menjadi master
(meskipun dimungkinkan beberapa perangkat, dalam jalur I2C yang sama, menjadi
master ) dan satu atau beberapa perangkat slave. Dalam jalur I2C, hanya perangkat
15
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 16/53
master yang dapat mengontrol jalur SCL yang berarti transfer data harus diinisialisasi
terlebih dahulu oleh perangkat master melalui serangkaian pulsa clock ( slave tidak
bisa, tapi ada satu kasus yang disebut clock streching ). Tugas perangkat slave hanya
merespon apa yang diminta master . Slave dapat memberi data ke master dan
menerima data dari master setelah server melakukan inisialisasi. Misalkan
mikrokontroler adalah perangkat master yang terhubung dalam satu I2C dengan
perangkat-perangkat slave seperti modul pengendali motor servo, modul kompas dan
sensor lainnya. Dari sini, mikrokontroler dapat mengontrol pergerakan servo dengan
memberikan data ke modul servo, mendapatkan data kompas dengan memerintahkan
modul kompas agar mengirimkan data. Semua itu hanya dibutuhkan 2 jalur dengan
tambahan 2 resistor sebagai pull-up.
Gambar 2.14 Contoh Implementasi Jalur I2C
Sebelum memulai transfer data antara slavenya, master terlebih dahulu
melakukan inisialisasi. Inisialisasi diawali dengan sinyal START (transisi high ke low
pada jalur SDA dan kondisi high pada jalur SCL, lambang S pada gambar 2.15), lalu
transfer data dan sinyal STOP (transisi low ke high pada jalur SDA dan kondisi high
pada jalur SCL, lambang P pada gambar 2.15) untuk menandakan akhir transfer data.
Gambar 2.15 Sinyal untuk START dan STOP Komunikasi I2C Banyaknya byte yang dapat dikirimkan dalam satu transfer data itu tidak ada
aturannya. Jika transfer data yang ingin dilakukan sebesar 2 byte, maka pengiriman
pertama adalah 1 byte dan setelah itu 1 byte. Setiap byte yang ditransfer harus diikuti
16
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 17/53
dengan bit Acknowledge (ACK) dari si penerima, menandakan data berhasil diterima.
Byte yang dikirim dari pengirim diawali dari bit MSB. Saat bit dikirim, pulsa clock
(SCL) diatur ke HIGH lalu ke LOW . Bit yang dikirim pada jalur SDA tersebut harus
stabil saat periode clock (SCL) HIGH . Kondisi HIGH atau LOW dari jalur data
(SDA) hanya dapat berubah saat kondisi sinyal SCL itu LOW .
Gambar 2.16 Transfer Bit pada Jalur I2C
Setiap pulsa clock itu dihasilkan (di jalur SCL) untuk setiap bit (di jalur SDA)
yang ditransfer. Jadi untuk pengiriman 8 bit akan ada 9 pulsa clock yang harus
dihasilkan (1 lagi untuk bit ACK). Kronologi sebelum perangkat penerima
memberikan sinyal ACK adalah sebagai berikut: saat pengirim selesai mengirimkan
bit ke-8, pengirim melepaskan jalur SDA ke pull-up (penjelasan open drain di atas)sehingga menjadi HIGH . Saat kondisi tersebut terjadi, penerima harus memberikan
kondisi LOW ke SDA saat pulsa clock ke-9 berada dalam kondisi HIGH .
Gambar 2.17 Data Transfer pada Jalur I2C
Jika SDA tetap dalam kondisi HIGH saat pulsa clock ke-9, maka ini
didefinisikan sebagai sinyal Not Acknowledge (NACK). Master dapat menghasilkan
sinyal STOP untuk menyudahi transfer, atau mengulang sinyal START untuk
memulai transfer data yang baru. Ada 5 kondisi yang menyebabkan NACK:
17
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 18/53
a. Tidak adanya penerima dengan alamat yang diminta pada jalur, sehingga
tidak ada perangkat yang merespon ACK.
b. Penerima tidak dapat menerima atau mengirim karena sedang mengeksekusi
fungsi lain dan tidak siap untuk memulai komunikasi dengan master .
c. Pada saat transfer data, penerima mendapatkan data atau perintah yang tidak
dimengerti oleh penerima.
d. Pada saat transfer data, penerima tidak dapat menerima lagi byte data yang
dikirimkan.
e. Penerima-master perlu memberi sinyal pengakhiran transfer data ke
penerima- slave.
Untuk membedakan slave–slave, misal modul servo atau modul kompas, yaitu
menggunakan pengalamatan tentunya, dimana setiap perangkat slave itu mempunyai
alamat yang unik.
Pengalamatan dalam I2C bisa 7 bit atau 10 bit. Pengalamatan 10 bit jarang
digunakan. Semua perangkat (mikrokontroler dan modul-modul) yang terhubung ke
dalam jalur I2C yang sama dapat dialamati sebanyak 7 bit. Ini berarti sebuah jalur
I2C dengan pengalamatan 7 bit dapat menampung 128 (2^7) perangkat. Saatmengirimkan data alamat (yang 7 bit itu), kita tetap mengirim data 1 byte (8 bit). 1
bit lagi digunakan untuk menginformasikan perangkat slave apakah master menulis
(write) data ke slave atau membaca (read ) data dari slave. Jika bit tersebut 0, maka
master menulis data ke slave. Jika bit tersebut 1, maka master membaca data dari
slave. Bit ini (untuk infomasi tulis/baca) merupakan LSB, sedangkan sisanya adalah
data alamat 7 bit. Berikut adalah contoh sinyal yang dimulai dengan data alamat lalu
data yang ingin ditransfer ke alamat tersebut:
Gambar 2.18 Sinyal Alamat dan Data
Saat mengalamati perangkat-perangkat dalam I2C, sebaiknya dengan anggapan
menggunakan 8-bit. Jika menggunakan 7 bit akan membingungkan. Misal diberikan
alamat 0×14 (dalam penghitungan 7 bit), maka untuk menulis ke alamat 0×14 kita
18
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 19/53
harus memberikan byte 0×28 dengan menggesernya 1 bit (bit 0 pada LSB berarti
menulis).
Pada perangkat lunak ( software), hal yang pertama kali terjadi untuk
mengimplementasikan protokol I2C adalah server mengirimkan sinyal START
(gambar 2.18). Ini akan menginformasikan perangkat-perangkat slave yang
terhubung dalam jalur I2C bahwa akan ada transfer data yang ingin dilakukan oleh
master dan para slave harus siap memantau siapa yang akan dipanggil alamatnya.
Selanjutnya master akan mengirimkan data berupa alamat slave yang ingin diakses.
Perangkat slave yang sesuai dengan alamat yang diberikan master akan meneruskan
transaksi data, slave lainnya dapat mengacuhkan transaksi tersebut dan menunggu
sampai sinyal berikutnya. Setelah mendapatkan slave dengan alamat tersebut, saatnya
master memberitahukan alamat internal atau nomor register yang ingin ditulis atau
dibaca dari slave tersebut. Jumlah lokasi atau nomor register tersebut tergantung pada
perangkat slave yang diakses. Ada beberapa yang memiliki dan ada beberapa yang
tidak. Setelah mengirim data berupa alamat slave dan kemudian data alamat internal
register slave yang ingin diakses, kini saatnya master mengirim byte data. Master
dapat melanjutkan mengirim byte data ke slave dan byte-byte akan ditampung di
register setelahnya karena slave secara otomatis akan menaikkan alamat internal
register setelah setiap byte. Ketika master selesai menulis semua data ke slave,
master akan mengirim sinyal STOP untuk mengakhiri transaksi data. Jadi untuk
menulis ke slave langkahnya adalah:
a. Mengirim sinyal START
b. Mengirim alamat slave serta operasi yang akan dilakukan (LSB)
c. Mengirim nomor internal register yang ditulis
d. Mengirim byte data
e. Mengirim sinyal STOP
Sebelum membaca data dari slave, master harus memberitahu alamat internal
mana yang ingin dibaca. Jadi operasi baca dari slave sebenarnya dimulai dulu dengan
operasi tulis. Ini sama seperti operasi tulis. Master mengirim sinyal START , alamat
I2C slave dengan LSB utk operasi tulis/baca dan nomor internal register yang ingin
ditulis. Setelah itu master mengirim sinyal START lagi (terkadang disebut ‘restart’ )
dan alamat I2C slave lagi - tapi kali ini set LSB ke 1 untuk operasi baca. Lalu master
19
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 20/53
dapat mulai membaca banyak byte data yang diinginkan dan menyudahi transaksi
dengan mengirimkan sinyal STOP .
BAB III
PERANCANGAN DAN REALISASI KONTROLER
3.1 Sistem Kontroler Robot
Sistem kontrol robot dibagi menjadi dua, yaitu dengan sistem input – output
seperti terlihat pada gambar, di mana DT Basic Mini 1 dan 2 akan mengirimkan data
output hasil pembacaan sensor ke pin input kontroler utama (Atmega8535). Padametode ini tidak memerlukan komunikasi khusus (misal komunikasi serial atau
paralel), tetapi kontroler slave (DT Basic Mini) akan mengolah data sensor yang telah
masuk dan mengirimkan hasilnya berupa logic ‘1’ atau ‘0’ kepada kontroler utama.
Jadi cukup menghubungkan pin output kontroler slave ke pin input kontroler utama.
Blok diagram rancangan kontroler adalah sebagai berikut.
20
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 21/53
Konektor
output
ultrasonik
Gambar 3.1 Blok Diagram Rancangan Sistem
3.2 Perancangan Interfacing I/O
Nama, fungsi dan jumlah hardware yang digunakan dalam robot dapat
dilihat pada tabel 3.1
Tabel 3.1 Daftar Hardware yang digunakan
Nama Jumlah KegunaanSensor Suara 1 Sebagai sound activation pendeteksi suaraSensor Jarak 5 Sebagai pendeteksi halanganSensor Suhu 1 Untuk mendeteksi keberadaan bayiSensor Api 1 Untuk mendeteksi adanya apiSensor Garis 1 Untuk mendeteksi lingkaran putih (home)Sensor Kemiringan 1 Untuk mendeteksi kemiringan tanggaMotor DC 2 Menggerakkan roda-roda robotMotor DC Blower 1 Untuk menggerakkan blower Solenoid 1 Untuk mendorong beeper (penanda
ditemukannya bayi)
21
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 22/53
Tabel 3.2 Daftar Kebutuhan Input Output
Port
Mikrokontroler
TipeKeterangan
Input Output
BasicStamp (1)
P0 Echo
Ultrasonik kananP2 Trigger P4 Echo
Ultrasonik serong kananP6 Trigger P8 Echo
Ultrasonik DepanP10 Trigger P12 Echo
Ultrasonik serong kiriP14 Trigger P1 Echo
Ultrasonik KiriP3 Trigger P7 √ kondisi Ultrasonik kanan
P9 √kondisi Ultrasonik serongkanan
P11 √ kondisi Ultrasonik depanP13 √ kondisi Ultrasonik serong kiriP15 √ kondisi Ultrasonik kiri
BasicStamp (2)
P8 SDATermal array
P9 SCLP0 √ Kondisi termal array
Atmega8535
PA.0 √ kondisi Ultrasonik depanPA.1 √ kondisi Ultrasonik kananPA.2 √ kondisi Ultrasonik kiri
PA.3 √ kondisi Ultrasonik serongkanan
PA.4 √ kondisi Ultrasonik serong kiriPA.5 Kondisi naik
Sensor kemiringanPA.6 Kondisi turunPA.7 √ Sensor suaraPC.0 SCL
KompasPC.1 SDAPC.2 √ Kondisi termal arrayPD.0 √ SolenoidPD.1 √ Blower PD.2 √ Sensor apiPD.3 √ Sensor garisPD.4 √ Direction motor kananPD.5 √ Pwm motor kananPD.6 √ Direction motor kiriPD.7 √ Pwm motor kiri
3.3 Perancangan Perangkat Lunak (Program)
3.3.1 Perancangan Program Pendeteksian Suara
22
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 23/53
Ketika robot diposisikan pada posisi home circle, robot dalam kondisi
standby. Robot mulai bergerak bila mendengar suara dengan frekuensi 3–4
kHz sebagai sinyal start .
Listing Program:
#define suara PORTA.7 // mendefinisikan sensor suara di Port A.7
PORTA = 0x00 // kondisi awal Port A adalah low
DDRA = 0x00 // menyatakan arah Port A sebagai input
while(1) // Program looping
{
if (suara==1) // cek sensor suara{program_jalan();} // prosedur program pengendalian robot
}
Pada awal program, didefinisikan terlebih dahulu peletakan input dari
sensor suara (tone decoder ) pada mikrokontroler. Kondisi awal input adalah
logic ’1’. Pada main program, program akan menunggu sampai ada sinyal
suara dengan frekuensi 3–4 kHz yang mentrigger tone decoder sehingga
mengeluarkan output logic ’0’ dan program akan berlanjut ke prosedur program_jalan yang artinya robot mulai berjalan sesuai program_jalan.
3.3.2 Perancangan Program Sensor Ultrasonik tipe SRF04
' {$STAMP BS2p}
' {$PBASIC 2.5}
ukur VAR Word ‘pendeklarasian variable ukur
srf1:
PULSOUT 2,10 ‘memberikan pulsa dengan lebar10us pada pin trigger
PULSIN 0,1,ukur ’membaca pulsa pada berlogic ’0’ pada pin echo
ukur=ukur/29 ’pulsa yang terbaca dibagi 29 untuk cm
IF(ukur<=19)THEN sen_kanan ’membandingkan jarak dekat
IF(ukur>=18)THEN sen_kanan1 ’membandingkan jarak jauh
23
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 24/53
sen_kanan1:
LOW 7 ’memberikan nilai kondisi low pada pin 7
GOTO srf2
sen_kanan:
HIGH 7 ’memberikan nilai kondisi high
GOTO srf1
Untuk mengaktifkan SRF04, pin 2 SRF04 harus diberi trigger dengan
lebar pulsa minimal 10us. Pin 1 yang merupakan pin echo dari SRF04 akan
membaca waktu terima dengan menggunakan ukur yang merupakan
pembacaan waktu yang diterima, kemudian hasil tersebut dibagi dengan
bilangan 29 agar jarak yang dihasilkan dapat dibaca dalam cm. Jarak yang
dihasilkan dibandingkan sesuai kebutuhan. Data hasil kondisi pada pin 7 akan
dikirimkan ke mikrokontroler utama yaitu Atmega8535.
3.3.3 Perancangan Program Sensor Api
#define blo PORTD.1 //mendefinisikan letak output blower
#define api PORTD.2 //mendefinisikan letak input dari sensor api
#include <delay.h> //menyertakan program delay
while (1)
{
// Place your code here
if (api==1)
{
blo=1; delay_ms(3000); //blower aktif selama 3 detik
} else
{blo=0;
}
};
}
Untuk sistem kompleks, program pendeteksian api adalah sebagai
interrupt dimana api dapat terdeteksi di mana saja. Peletakan input pun
diletakkan pada PORTD.2 di mana port ini merupakan jalur interrupt 0.
24
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 25/53
Listing program interrupt:
// External Interrupt 0 service routine
interrupt [EXT_INT0] void ext_int0_isr(void)
{ blo=1;delay_ms(3000);
}
Jika PortD.2 mendapat logic 1, ini berarti jalur interrupt 0 aktif. Maka
program akan menjalankan program interrupt yang berupa menyalakan
blower selama 3 detik.
3.3.4 Perancangan Program Sensor Garis
#define garis PORTA.0 //sensor garis pada jalur ADC channel 0
#define ADC_VREF_TYPE 0x40 //inisialisasi ADC
unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input|ADC_VREF_TYPE;
// Mulai konversi ADC
ADCSRA|=0x40;
// menunggu konversi selesaiwhile ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}
while(1)
{
garis=read_adc(0); //input sensor garis dibaca dari hasil konversi
}
Data masukan tegangan ADC yang masuk ke port A diubah menjadi data
digital oleh ADC yang sudah terintegrasi di dalam mikrokontroler. Data 10
bit hasil konversi ADC yang selanjutnya disebut NKADC (Nilai Konversi
ADC) yaitu:
Vref
Vin 1024. NKADC = ..................................................................................
(3.1)
25
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 26/53
Tegangan referensi sama dengan Vcc yaitu 5 volt. Nilai tegangan masukan 0
sampai 5 volt, maka ADC ini memilki resolusi sebagai berikut.
Resolusi ADC = 5/1024 volt/level = 4,8828125 mV/level
3.3.5 Perancangan Program Sensor Kompas (cmps03)
Pembacaan posisi sensor kompas melalui jalur I2C:
// I2C Bus functions
#asm
.equ __i2c_port=0x15 ;PORTC
.equ __sda_bit=1
.equ __scl_bit=0
#endasm#include <i2c.h>
// Fungsi alphanumeric LCD
#asm
.equ __lcd_port=0x18 ;PORTB
#endasm
#include <lcd.h>
unsigned int data;unsigned char kata[16];
unsigned char compas_readb(unsigned char addr)
{
unsigned char posisi;
i2c_start(); //mengirim start bit sequence
i2c_write(0xC0);
i2c_write(addr);
i2c_start();
i2c_write(0xC1);
posisi=i2c_read(0);
i2c_stop(); //mengirim stop bit sequence
return posisi;
}
i2c_init(); //inisialisasi I2C
lcd_init(16); //inisialisasi LCD
26
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 27/53
while (1)
{
data=compas_readb(1);
sprintf(kata,"%d ",data);
lcd_gotoxy(0,1);
lcd_puts(kata);
{
printf("\n\r");
printf("KOMPAS");
printf("Data = %d ",data);
putchar(0x0D);
putchar(0x0A);delay_ms(1000);
}
delay_ms(500);
};
Penjelasan listing program kompas:
Baris paling atas adalah header yang berisi alamat memori register-
register dari ATmega8535. Baris selanjutnya adalah pendefinisian I2C, di
mana digunakan PORTC.0 untuk SCL dan PORTC.1 untuk SDA. Baris
selanjutnya adalah pendefinisian LCD yang dihubungkan dengan PORTB.
Fungsi putchar(0x0D) dan putchar (0x0A) digunakan untuk mengkonversi
nilai desimal sesuai dengan ASCII tiap digitnya. Misalnya nilai inByte adalah
255, maka pertama digit ratusan akan diambil dan dikonversi ke nilai ASCII-
nya (2 = 32), kemudian digit puluhan (5 = 35), lalu digit satuan (5 = 35). Ini
perlu dilakukan karena fungsi lcd putchar menerima data ASCII dan jika 255
di berikan ke fungsi ini maka karakter yang nilai ASCII-nya 255 yang akanditampilkan.
Masuk ke fungsi main, I2C perlu diinisialisasi terlebih dahulu dan
cukup sekali saja. Lalu LCD juga perlu diinisialisasi dengan parameter berupa
banyaknya kolom. Nah sekarang blok while, barisan kode yang berada dalam
blok while ini akan selalu dieksekusi oleh mikrokontroler. Fungsi
lcd_gotoxy(0,0) akan menempatkan kursor LCD pada baris 0 dan kolom 0
(ujung atas kiri LCD). Fungsi i2c_start() akan mensinyalkan START ke jalur I2C. Setelah memberikan sinyal start , master perlu menuliskan alamat slave
27
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 28/53
yang dituju (dengan pemanggilan fungsi i2c_write(0xC0), LSB nya 0 jadi
merupakan operasi tulis). Setelah mendapatkan alamat slave yang diinginkan,
master perlu memberitahukan alamat/register internal slave yang diakses
(dengan i2c_write(0x01) dimana alamat 0×01 merupakan bearing byte).
Selanjutnya master perlu memulai sinyal START lagi untuk operasi
pembacaan dari alamat internal slave 0×01. Karena selanjutnya adalah operasi
pembacaan maka menjadi i2c_write(0x0C1). Untuk pembacaan, digunakan
fungsi i2c_read(0), dimana paramater 0 akan menyebabkan tidak perlunya
pemberian sinyal ACK setelah pembacaan. Fungsi i2c_read jika sukses akan
mengembalikan nilai pembacaan. Nilai hasil pembacaan akan menjadi
parameter bagi fungsi konversi ke LCD. Setelah selesai pembacaan, master
mengirim sinyal STOP dengan i2c_stop(). Dan program akan kembali lagi
dari penempatan kursor LCD ke 0,0.
3.3.6 Perancangan Program Sensor Thermall Array
' {$STAMP BS2p} ’menggunakan basic stamp 2P
' {$PBASIC 2.5} ’menggunakan software basic versi 2.5
SDA CON 8 ' I2C data ’pembacaan pixel suhu melalui jalur I2CSCL CON 9 ' I2C clock
Pix1 VAR Byte
Pix2 VAR Byte
Pix3 VAR Byte
Pix4 VAR Byte
Pix5 VAR Byte
Pix6 VAR Byte
Pix7 VAR BytePix8 VAR Byte
arah VAR Byte
DO
I2CIN SDA, $d1, 2, [Pix1, Pix2, Pix3, Pix4, Pix5, Pix6, Pix7, Pix8]
’**jika pixel suhu sesuai yang diinginkan
IF pix3>=90 OR pix4>=90 OR pix5>=90 THENLOW 0
28
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 29/53
ELSE
HIGH 0
ENDIF
LOOP
3.3.7 Perancangan Program PWM
#define dirka PORTD.2 //direction untuk motor kanan
#define pwmka PORTD.3 //output pengatur pwm motor kanan
#define dirki PORTD.4 //direction untuk motor kiri
#define pwmki PORTD.5 //output pengatur pwm motor kiri
unsigned char pwmr, pwml, x=0;
// Timer 0 overflow interrupt service routine
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
// Reinitialize Timer 0 value
TCNT0=0xC0; //timer 0 akan mulai menghitung dari 192 (0xc0)
// Place your code here
x++;
if(x==255){x=0;}if(x>=pwmr){pwmka=1;}
else {pwmka=0;}
if(x>=pwml){pwmki=1;}
else {pwmki=0;}
}
void stop(void) //prosedur untuk menghentikan motor
{ dirka=0;dirki=0;pwmka=0;pwmki=0; }
void maju(void) //prosedur bila ingin berjalan maju
{ dirka=1;dirki=1;pwmka=200;pwmki=200;
delay_ms(100); }
void beki(void) //prosedur gerak belok kiri
{ dirka=1;dirki=0;pwmka=50;pwmki=255;delay_ms(1000); }
void beka(void) //prosedur gerak belok kanan
29
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 30/53
{ dirka=0;dirki=1;pwmka=255;pwmki=50;delay_ms(1000); }
Program yang dibuat adalah menggunakan timer , dimana pada prinsipnya
timer ini adalah sebagai counter (penghitung). Jadi, kita memanfaatkan mode
0 dari timer 0 agar dapat bekerja sebagai PWM. Pada awal program,
didefinisikan terlebih dahulu 2 pin enable untuk motor kiri dan kanan. Selain
itu, dibuat suatu penampung nilai PWM yang berperan sebagai duty cycle dari
pwm (pwmr untuk motor kanan dan pwml untuk motor kiri). Variabel duty
cycle PWM ini mempunyai nilai 0–255 (unsigned char ). Jika duty cyclenya
100%, maka nilai itu adalah 255. jadi dapat digambarkan nilai untuk full-
speed adalah 255, half-speed adalah 127 dan no-speed berarti 0. Ini
diimplementasikan pada tiap prosedur.Pada rutin overflow interrupt Timer 0, ditentukan nilai TCNT0 = 0xc0, ini
akan membuat Timer mulai menghitung dari 192 (0xc0). Selanjutnya Timer 0
akan terus menghitung naik. Hitungan Timer 0 selalu disimpan dalam register
TCNT0. lalu rutin overflow ini akan dieksekusi bila Timer 0 sudah
menghitung sampai TOP atau sudah mencapai nilai 255 (0xFF). Jadi jika
sudah 255, Timer (overflow) akan memberikan sinyal, dan kita bisa
mengerjakan sesuatu dalam program (disinilah PWM bekerja) dan menyuruhTimer untuk menghitung lagi dari 0. Demikian seterusnya terjadi jika nilai
255 tercapai, dan Timer hanya akan berhenti jika kita memprogramnya untuk
berhenti.
30
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 31/53
BAB IV
PENGUJIAN DAN ANALISIS
4.1 Pengujian Waktu Respon Sensor Ultrasonik
4.1.1 Tujuan Pengujian
1. Mengetahui respon pulsa yang dihasilkan oleh modul sensor jarak
terhadap jarak yang diukur.
2. Mengetahui apakah data hasil pengujian yang diperoleh sesuai
dengan data hasil pengukuran.
4.1.2 Target Pengujian
Memperoleh gelombang pulsa output (sinyal echo) dari modul sensor SRF04.
4.1.3 Data Lingkungan Pengujian
a. Lokasi Pengujian : Laboratorium Elektronika PNJ, Depok
b. Tanggal Pengujian : 05 Agustus 2008
c. Waktu Pengujian : 13.30 WIB – 16.30 WIB
d. Pelaksana : Yeyes Ristintares
31
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 32/53
4.1.4 Konfigurasi Pengujian
Gambar 4.1 Konfigurasi pengujian ultrasonik
4.1.5 Peralatan Pengujian
Tabel 4.1 Daftar peralatan pengujian ultrasonik
No Nama Alat Merk Tipe Fungsi1
Power supply5 V
Leybold-Heraeus
Sumber tegangan 5 Volt
2 Osiloskop Tektronix TDS1002Melihat bentuk pulsahasil pembacaan jarak.
3Kabel BNC toCrocodile
- -Penghubung antaraosiloskop dengan modulultrasonik.
4Kabel Bananato Crocodile
- -
Penghubung antara power supply denganmikrokontroler dan
modul ultrasonik
4.1.6 Langkah Pengujian
1. Alat dan modul yang dibutuhkan disiapkan terlebih dahulu.
2. Menyusun konfigurasi pengujian seperti gambar 4.1
3. Power supply dinyalakan dengan memastikan tegangan supplynya
5 Volt.
32
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 33/53
4. Program pemberian pulsa trigger dan pembacaan sinyal echo
modul SRF04 diketik pada tool codevision AVR, lalu dicompile dan
didownload ke modul mikrokontroler (minimum sistem).
5. Hasil pengujian diamati pada osiloskop dan digambarkan pada
data hasil pengujian.
6. Setelah selesai, semua peralatan dirapihkan dan dikembalikan ke
tempat semula.
4.1.7 Data Hasil Pengujian
Tabel 4.2 Respon Ultrasonik terhadap jarak yang diukur
Jarak
(cm) Bentuk Pulsa hasil foto
Bentuk pulsa dengan
penyimpanan melaluiUSB
5
Jarak
(cm)Bentuk Pulsa hasil foto
Bentuk pulsa dengan
penyimpanan melalui
USB
10
15
33
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 34/53
20
25
Jarak
(cm)Bentuk Pulsa hasil foto
Bentuk pulsa dengan
penyimpanan melalui
USB
30
4.1.8 Analisa Hasil Pengujian
34
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 35/53
Dari hasil pemgujian, tidak dapat diketahui dengan pasti lebar pulsa dari
sinyal echonya dikarenakan gelombang terlalu cepat sehingga penyesuaian
pengukuran dengan pembacaan menjadi sulit. Untuk itu dipilih gelombang
dengan tampilan yang mudah dilihat. Bentuk gelombang yang didapat,
memberikan respon yang baik seiring dengan jarak yang diukur. Dari
percobaan didapatkan bahwa semakin jauh jarak yang diukur, maka lebar
pulsa semakin besar.
4.2 Pengujian Respon Sensor Kompas
4.2.1 TujuanPengujian
1. Mengetahui pembacaan posisi kompas secara langsung melalui protokol
I2C.
2. Mengetahui posisi kompas dari gelombang pulsa PWM yang didapat.
3. Mencocokkan hasil pembacaan dengan perhitungan.
4.2.2 Target Pengujian
Memperoleh gelombang pulsa yang mewakili pembacaan posisi magnet.
4.2.3 Data Lingkungan Pengujian
a. Lokasi Pengujian : Laboratorium Elektronika PNJ, Depok
b. Tanggal Pengujian : 18 Juli 2008
c. Waktu Pengujian : 13.30 WIB – 15.30 WIB
d. Pelaksana : Yeyes Ristintares
4.2.4 Konfigurasi Pengujian
Osilosk Osilosk
35
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 36/53
Gambar 4.2 Konfigurasi pengujian kompas
4.2.5 Peralatan Pengujian
Tabel 4.3 Daftar peralatan pengujian modul kompas
No Nama Alat Merk Tipe Fungsi
1Power supply5 V
Leybold-Heraeus
Sumber tegangan 5 Volt
2 Osiloskop TektronixTDS
1002Melihat bentuk pulsa hasilnavigasi
3Kabel BNC toCrocodile
- -Penghubung antaraosiloskop dengan modulkompas
4Kabel Banana
to Crocodile- -
Penghubung antara power supply dengan kontroler danmodul kompas
4.2.6 Langkah Pengujian
a. Alat dan modul yang dibutuhkan disiapkan terlebih dahulu.
b. Menyusun konfigurasi pengujian seperti gambar 4.2
c. Power supply dinyalakan dengan memastikan bahwa tegangan
supply adalah 5 Volt.
d. Program pembacaan register kompas diketik pada tool codevision
AVR, lalu dicompile dan didownload ke modul mikrokontroler (minimum
sistem).
e. Hasil pengujian diamati pada osiloskop dan digambarkan pada
data hasil pengujian.
f. Setelah selesai, semua peralatan dirapihkan dan dikembalikan ke
tempat semula.
4.2.7 Data Hasil Pengujian
Tabel 4.4 Pulsa pembacaan posisi sudut
Posisi
sudut
(0)
Nilai
binerBentuk gelombang Spesifikasi
0 0Volt / div = 2 VTime / div = 10 msPeriode (T) = 66 ms
Jml strip/T = 33Strip tH = 1
36
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 37/53
Strip tL = 32
45 30
Volt / div = 2 VTime / div = 25 msPeriode(T) = 70.3 ms
Jml strip/T = 14Strip tH = 1Strip tL = 13
90 60
Volt / div = 2 VTime / div = 25 msPeriode (T) =74.6 msJml strip/T = 15Strip tH = 2Strip tL = 13
Posisi
sudut
(0)
Nilai
binerBentuk gelombang Spesifikasi
37
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 38/53
135 100
Volt / div = 2 VTime / div = 25 msPeriode (T) = 78.7 msJml strip/T = 16Strip tH = 3
Strip tL = 13
180 130
Volt / div = 2 VTime / div = 25 msPeriode (T) = 84.2 ms
Jml strip/T = 17Strip tH = 4Strip tL =13
225 160
Volt / div = 2 VTime / div = 25 msPeriode (T) =87.1 msJml strip/T = 17.5Strip tH = 4.5Strip tL = 13
Posisi
sudut
(0)
Nilai
binerBentuk gelombang Spesifikasi
38
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 39/53
270 190
Volt / div = 2 VTime / div = 25 msPeriode (T) = 94 msJml strip/T = 19Strip tH = 6
Strip tL = 13
315 220
Volt / div = 2 VTime / div = 25 msPeriode (T) = 98.2 ms
Jml strip/T = 20Strip tH = 7Strip tL = 13
360 255
Volt / div = 2 V
Time / div = 25 msPeriode(T)= 101.7 msJml strip/T = 20Strip tH = 7Strip tL = 13
4.2.8 Analisa Hasil Pengujian
Sinyal PWM yang dihasilkan kompas merupakan sinyal yang lebar pulsanya
dapat berubah–ubah. Pulsa berlogika ’1’ (tH) menyatakan derajat. Lebar pulsa
berlogika ’1’ bervariasi antara 1 mili-detik (untuk 00) sampai 36,99 mili-detik
(untuk 359,90). Dengan kata lain, kompas memiliki resolusi 100 mikro-detik
tiap 1 derajat dengan offset sebesar 1 mili-detik. Setelah itu, sinyal kemudian
akan berlogika ’0’. Lebar pulsa berlogika low (tL) besarnya selalu sama untuk
39
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 40/53
tiap posisi sudut yaitu sebesar 65 mili-detik. Jadi, perioda sinyal PWM adalah
65 mili-detik ditambah lebar sinyal berlogika ’1’.
1) posisi sudut = 00
tH = ( strip tH x T ) / jml strip = ( 1 x 66 ms ) / 33 = 2 ms
posisi sudut (0)= ( lebar pulsa tH – offset ) / resolusi
= ( 2 ms – 1 ms ) / 100 µs
= 1 ms / 0,1 ms
= 10
tL = T - tH = 66 ms – 2 ms = 64 ms
2) posisi sudut = 450
tH = ( strip tH x T ) / jml strip = ( 1 x 70,3 ms ) / 14 = 5,02 ms
posisi sudut (0)= ( lebar pulsa tH – offset ) / resolusi
= ( 5,02 ms – 1 ms ) / 100 µs
= 4,02 ms / 0,1 ms
= 40,02
tL = T - tH = 70,03 ms – 5,02 ms = 65,01 ms
3) posisi sudut = 900
tH = ( strip tH x T ) / jml strip = ( 2 x 74,6 ms ) / 15 = 9,95 ms
posisi sudut (0)= ( lebar pulsa tH – offset ) / resolusi
= ( 9,95 ms – 1 ms ) / 100 µs
= 8,95 ms / 0,1 ms
= 89,5
tL = T - tH = 74,6 ms – 9,95 ms = 64,65 ms
4) posisi sudut = 135
0
tH = ( strip tH x T ) / jml strip = ( 3 x 78,7 ms ) / 16 = 14,75 ms
posisi sudut (0)= ( lebar pulsa tH – offset ) / resolusi
= ( 14,75 ms – 1 ms ) / 100 µs
= 13,75 ms / 0,1 ms
= 137,5
tL = T - tH = 78,7 ms – 14,75 ms = 63,95 ms
5) posisi sudut = 1800
tH = ( strip tH x T ) / jml strip = ( 4 x 84,2 ms ) / 17 = 19,81 ms
40
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 41/53
posisi sudut (0)= ( lebar pulsa tH – offset ) / resolusi
= ( 19,81 ms – 1 ms ) / 100 µs
= 18,81 ms / 0,1 ms
= 188,1
tL = T - tH = 84,2 ms – 19,81 ms = 64,39 ms
6) posisi sudut = 2250
tH = ( strip tH x T ) / jml strip = ( 4,5 x 87,1 ms ) / 17,5 = 22,39 ms
posisi sudut (0)= ( lebar pulsa tH – offset ) / resolusi
= ( 22,39 ms – 1 ms ) / 100 µs
= 21,39 ms / 0,1 ms
= 213,9tL = T - tH = 87,1 ms – 22,39 ms = 64,71 ms
7) posisi sudut = 2700
tH = ( strip tH x T ) / jml strip = ( 6 x 94 ms ) / 19 = 29,68 ms
posisi sudut (0)= ( lebar pulsa tH – offset ) / resolusi
= ( 29,68 ms – 1 ms ) / 100 µs
= 28,68 ms / 0,1 ms
= 286,8tL = T - tH = 94 ms – 29,68 ms = 64,32 ms
8) posisi sudut = 3150
tH = ( strip tH x T ) / jml strip = ( 7 x 98,2 ms ) / 20 = 34,37 ms
posisi sudut (0)= ( lebar pulsa tH – offset ) / resolusi
= 34,37 ms – 1 ms ) / 100 µs
= 33,37 ms / 0,1 ms
= 333,7tL = T - tH = 98,2 ms – 34,37 ms = 63,83 ms
9) posisi sudut = 3600
tH = ( strip tH x T ) / jml strip = ( 7,5 x 101,7 ms ) / 20,5 = 37,2 ms
posisi sudut (0)= ( lebar pulsa tH – offset ) / resolusi
= ( 37,2 ms – 1 ms ) / 100 µs
= 36,2 ms / 0,1 ms
= 362
41
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 42/53
tL = T - tH = 101,7 ms – 37,2 ms = 64,5 ms
4.3 Pengujian Respon Sensor Thermall Array
4.3.1 Tujuan Pengujian
1. Mengetahui pembacaan suhu secara langsung melalui protokol I2C.
2. Mencocokkan hasil pembacaan dengan ketentuan.
4.3.2 Target Pengujian
Memperoleh gelombang I2C yang dipengaruhi oleh api.
4.3.3 Data Lingkungan Pengujian
a. Lokasi Pengujian : Laboratorium Elektronika PNJ, Depok
b. Tanggal Pengujian : 18 Juli 2008
c. Waktu Pengujian : 13.30 WIB – 15.30 WIB
d. Pelaksana : Yeyes Ristintares
4.3.4 Konfigurasi Pengujian
Gambar 4.3 Konfigurasi pengujian termal array
4.3.5 Peralatan Pengujian
Tabel 4.5 Daftar peralatan pengujian termal array
42
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 43/53
No Nama Alat Merk Tipe Fungsi
1Power supply5 V
Leybold-Heraeus
Sumber tegangan 5 Volt
2 Osiloskop Tektronix TDS 1002BMelihat bentuk pulsahasil navigasi
3Kabel BNC toCrocodile
- -Penghubung antaraosiloskop dengan modultermal array
4Kabel Bananato Crocodile
- -
Penghubung antara power supply denganmikrokontroler danmodul termal array
4.3.6 Langkah Pengujian
a. Alat dan modul yang dibutuhkan disiapkan terlebih dahulu.
b. Menyusun konfigurasi pengujian seperti gambar 4.3
c. Power supply dinyalakan dengan memastikan tegangan supply
adalah 5 Volt.
d. Program pembacaan register thermall array diketik pada tool
codevision AVR, lalu dicompile dan didownload ke modul
mikrokontroler
(minimum sistem).
e. Hasil pengujian diamati pada osiloskop dan digambarkan padadata hasil pengujian.
f. Setelah selesai, semua peralatan dirapihkan dan dikembalikan ke
tempat semula.
4.3.7 Data Hasil Pengujian
Tabel 4.6 Respon perubahan suhu terhadap api
Kon-
disi
Pembacaan Suhu pada tiap
pixel
Bentuk gelombang output (SDA) Spe-
sifikasi
Tdk
ada
api
Volt/div= 2 VoltTime/div= 2,5 ms
Kon- Pembacaan Suhu pada tiap Bentuk gelombang output (SDA) Spe-
43
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 44/53
disi pixel sifikasi
Ada
api
Volt/div= 2 Volt
Time/div= 2,5 ms
4.4 Pengujian Tegangan Output PWM
4.4.1 TujuanPengujian
1. Mengetahui bentuk gelombang PWM yang dihasilkan mikrokontroler
Atmega8535.
2. Mengetahui respon gelombang PWM dengan persentase yang berbeda -
beda.
3. Mencocokkan hasil pembacaan dengan perhitungan.
4.4.2 Target Pengujian
Memperoleh data gelombang PWM.
4.4.3 Data Lingkungan Pengujian
a. Lokasi Pengujian : Laboratorium Elektronika PNJ, Depok
b. Tanggal Pengujian : 31 Juli 2008
c. Waktu Pengujian : 14.30 WIB – 16.00 WIB
d. Pelaksana : Yeyes Ristintares
4.4.4 Konfigurasi Pengujian
44
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 45/53
Gambar 4.4 Konfigurasi pengujian PWM
4.4.5 Peralatan Pengujian
Tabel 4.7 Daftar peralatan pengujian PWM
No Nama Alat Merk Tipe Fungsi
1Power supply
5 VLeybold-Heraeus
Sumber tegangan 5 Volt
2 Osiloskop Tektronix TDS 1002B Melihat bentuk pulsa
3Kabel BNC to
Crocodile- -
Penghubung antaraosiloskop dengan pinmikrokontroler
4Kabel Bananato Crocodile
- -Penghubung antara
power supply denganmikrokontroler
4.4.6 Langkah Pengujian
1. Alat dan modul yang dibutuhkan disiapkan terlebih dahulu.
2. Menyusun konfigurasi pengujian seperti gambar 4.4
3. Power supply dinyalakan dengan memastikan tegangan supply
adalah 5 Volt.
4. Program pemberian pulsa PWM diketik pada tool codevision
AVR, lalu dicompile dan didownload ke modul mikrokontroler (minimum
sistem).
5. Hasil pengujian diamati pada osiloskop dan digambarkan pada
data hasil pengujian.
6. Setelah selesai, semua peralatan dirapihkan dan dikembalikan ketempat semula.
45
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 46/53
4.4.7 Data Hasil Pengujian
Tabel 4.8 Bentuk pulsa PWM dari mikrokontroler
PWM
(%)Bentuk gelombang Spesifikasi
10
Volt/div = 2VTime/div= 250 µsPeriode(T) = 1 msJml strip 1 T = 20Strip tH = 2,5Strip tL = 17,5
20
Volt/div = 2VTime/div= 250 µsPeriode(T)= 1 msJml strip 1 T = 20Strip tH = 4,5Strip tL = 15,5
30 Volt/div = 2VTime/div= 250 µsPeriode(T)= 1 msJml strip 1 T = 20Strip tH = 6,5Strip tL = 13,5
46
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 47/53
PWM
(%)Bentuk gelombang Spesifikasi
40
Volt/div = 2VTime/div= 250 µsPeriode(T)= 1 msJml strip 1 T = 20Strip tH = 8,5Strip tL = 11,5
50
Volt/div = 2VTime/div= 250 µsPeriode(T)= 1 msJml strip 1 T = 20Strip tH = 10,5Strip tL = 9,5
60 Volt/div = 2VTime/div= 250 µsPeriode(T)= 1 msJml strip 1 T = 20Strip tH = 12,4Strip tL = 7,6
47
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 48/53
PWM
(%)Bentuk gelombang Spesifikasi
70
Volt/div = 2VTime/div= 250 µsPeriode(T)= 1 msJml strip 1 T = 20Strip tH = 14,5Strip tL = 5,5
80
Volt/div = 2VTime/div= 250 µsPeriode(T)= 1 msJml strip 1 T = 20Strip tH =16,5,5Strip tL = 3,5
90
Volt/div = 2VTime/div= 500µsPeriode(T)= 1 msJml strip 1 T = 10Strip tH = 8,2Strip tL = 1,8
48
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 49/53
PWM
(%)Bentuk gelombang Spesifikasi
100
Volt/div = 2VTime/div= 500 µs
Periode(T)= ~Jml strip 1 T = tH
Strip tL = 0
4.4.8 Analisa Hasil Pengujian
Persentase PWM = duty cycle = %100xtt
t
LH
H
+→ LH
tt + = periode
Untuk memudahkan perhitungan, analisa lebar pulsa dinyatakan dalam
jumlah strip tiap pulsa dibagi jumlah strip pulsa dalam satu periode. Ini akan
menghasilkan pembagi yang sama bila dinyatakan dalam skala detik. Namun
bila menggunakan skala detik, perhitungannnya akan melalui tahap yang
panjang.
Vrata-rata = tegangan output yang dikeluarkan mikrokontroler disesuaikan
dengan besarnya persentase PWM.
Vrata-rata = PWM x Vin → Vin = 5 Volt
1) PWM = 10% → Vrata-rata = 10% x 5 V = 0,5 V
Analisa pembacaan: PWM =%100x
17,52,5
2,5
+ = 12,5 %Vrata-rata = 12,5% x 5 V = 0,625 V
2) PWM = 20% → Vrata-rata = 20% x 5 V = 1 V
Analisa pembacaan: PWM = %100x15,54,5
4,5
+= 22,5 %
Vrata-rata = 22,5% x 5 V = 1,125 V
3) PWM = 30% → Vrata-rata = 30% x 5 V = 1,5 V
Analisa pembacaan: PWM = %100x13,56,5
6,5
+= 32,5 %
49
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 50/53
Vrata-rata = 32,5% x 5 V = 1,625V
4) PWM = 40% → Vrata-rata = 40% x 5 V = 2 V
Analisa pembacaan: PWM = %100x
11,58,5
8,5
+
= 42,5 %
Vrata-rata = 42,5% x 5 V = 2,125 V
5) PWM = 50% → Vrata-rata = 50% x 5 V = 2,5 V
Analisa pembacaan: PWM = %100x9,510,5
10,5
+= 52,5%
Vrata-rata = 52,5% x 5 V = 2,625 V
6) PWM = 60% → Vrata-rata = 60% x 5 V = 3 V
Analisa pembacaan: PWM = %100x7,612,4
12,4
+= 62 %
Vrata-rata = 62% x 5 V = 3,1 V
7) PWM = 70% → Vrata-rata = 70% x 5 V = 3,5 V
Analisa pembacaan: PWM = %100x15,514,5
14,5
+= 72,5%
Vrata-rata = 72,5% x 5 V = 3,625 V
8) PWM = 80% → Vrata-rata = 80% x 5 V = 4 V
Analisa pembacaan: PWM = %100x3,516,5
16,5
+= 82,5 %
Vrata-rata = 82,5% x 5 V = 4,125 V
9) PWM = 90% → Vrata-rata =90% x 5 V = 4,5 V
Analisa pembacaan: PWM = %100x1,88,2
8,2
+ = 82 %
Vrata-rata = 82% x 5 V = 4,1 V
10) PWM = 100% → Vrata-rata = 100% x 5 V = 5 V
Analisa pembacaan: PWM = %100x1 = 100 %
Vrata-rata = 100% x 5 V = 5 V
4.5 Pengujian Fungsional Robot
50
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 51/53
4.5.1 TujuanPengujian
Mengetahui keberhasilan program yang telah dibuat
4.5.2 Target Pengujian
Mengetahui kekurangan program yang dibuat dan dapat memperbaiki atau
memodifikasinya.
4.5.3 Data Lingkungan Pengujian
a. Lokasi Pengujian : Laboratorium Elektronika PNJ, Depok
b. Tanggal Pengujian : 7 Agustus 2008
c. Waktu Pengujian : 12.30 WIB – 15.30 WIB
d. Pelaksana : Yeyes Ristintares
4.5.4 Konfigurasi Pengujian
Gambar 4.5 Konfigurasi pengujian fungsional robot
4.5.5 Peralatan Pengujian
Tabel 4.9 Daftar peralatan pengujian fungsional robot
No Nama Alat Merk Tipe Fungsi
1 Robot Trevor_G Robot yang akan diuji
2 Stopwatch Nokia 1325Mengetahui waktu kerjarobot
3 Lapangan KRCISebagai denah lintasanrobot
51
Robot
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 52/53
4.5.6 Langkah Pengujian
1. Peralatan yang dibutuhkan disiapkan terlebih dahulu.
2. Menyusun konfigurasi pengujian seperti gambar 4.5
3. Robot posisi siaga dan mempersiapkan penghitung waktu( stopwatch)
4. Robot start .
5. Hasil pengujian diamati pada stopwatchp dan dimasukkan pada
data hasil pengujian.
6. Setelah selesai, semua peralatan dirapihkan.
4.5.7 Data Hasil Pengujian
Tabel 4.10 Performa robot memadamkan api
Keberadaan
Api
Keberhasilan memadamkan
api
(dari 5 kali percobaan)
Waktu rata-rata (detik)
Ruang 1 5 kali 13,53
Ruang 2 3 kali 47
Ruang 4 2 kali 90,47
Tabel 4.11 Performa robot menemukan bayi
Keberadaan
Bayi
Keberhasilan menemukan
bayi
(dari 5 kali percobaan)
Waktu rata-rata (detik)
Ruang 3 4 kali 77,3
52
5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com
http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 53/53
BAB V
PENUTUP
5.1 Kesimpulan
Berdasarkan hasil pengujian, dapat disimpulkan :
1. Output pulsa dari modul SRF04 merupakan waktu tempuh yang didapat dari hasil
pemantulan benda yang diukur. Untuk mendapatkan jarak dari waktu tempuh
yang dihasilkan yaitu dengan cara: waktu tempuh dibagi dengan 29 mikrodetik
karena waktu tempuh untuk jarak 1 cm adalah 29 mikrodetik dengan acuan cepat
rambat suara diudara sekitar 34399,22 cm/detik.
2. Lebar pulsa PWM ( Pulse Width Modulation) untuk input motor DC yang
dihasilkan oleh mikrokontroler sesuai dengan perancangan.
3. Berdasarkan hasil pengujian sensor jarak dan lebar pulsa PWM, telah didapatkan
hasil yang sesuai dengan perencanaan, sehingga robot dapat bergerak dengan baik
untuk menelusuri lorong dan memasuki setiap ruangan tanpa menyentuh dinding,
kemudian memadamkan api disalah satu ruangan yang diletakkan secara acak dan
juga dapat mendeteksi keberadaan bayi.
53