Kamis, 21 April 2016

Skema Robot Pemadam Api Beroda

         Sistem Mikrokontroler
Inti dari sebuah robot adalah otak, demikian juga pada robot-robot KRI dan robot KRCI ini. Pada bagian ini semua input baik dari sensor atau remote akan diolah dan diambil keputusan berdasar data-data yang diperoleh. Untuk itu dibutuhkan sebuah mikrokontroler yang akan mengambil data-data sensor dari inputnya dan memberikan keputusan berupa tindakan melalui bagian output.

CPU Robot
Modul ini pada kondisi standard berbasis mikrokontroler AT89S51, namun pengguna dapat meminta opsi mikrokontroler lain seperti AT89S52, ATMega8515. Pada modul ini terdapat port-port yang dapat dihubungkan ke sensor ultrasonik, uart, infrared line sensor dan lain-lain. Port UART dapat dihubungkan ke Modul DST-Navi sehingga apabila Robo CPU digunakan untuk aplikasi Robot KRCI, modul ini dapat mengakses 8 sensor ultrasonik, 8 sensor infrared dan satu unit kompas sekaligus.


         DC MOTOR

DC Motor adalah bagian penunjang mekanik yang paling penting pada sebuah robot terutama pada salah satu kategori dari Robot KRCI yaitu kategori beroda. Untuk menggerakkan DC motor dibutuhkan rangkaian DC Driver yaitu merupakan sebuah rangkaian H-Bridge yang berfungsi untuk mengendalikan dua buah motor DC.
DC Driver
Modul Delta Robo Driver ini memiliki dual H-Bridge sehingga dapat mengendalikan dua motor DC dengan kemampuan arus maksimum 3A. Untuk penggunaan 4 wheel drive, pengguna dapat menggunakan 4 motor DC dengan konfigurasi 2 motor di kanan dan 2 motor di kiri di mana masing-masing sisi baik kanan maupun kiri terdiri dari dua motor DC yang saling terhubung parallel ke satu output driver.
Modul Delta Robo Driver juga memiliki konfigurasi input yang sesuai untuk Delta Robo CPU sehingga modul tersebut dapat langsung dihubungkan ke bagian atas melalui konektor
Delta Robo CPU + Delta Robo DC Driver
Delta Robo CPU + Delta Robo DC Driver

DST-128 Sistem Mikrokontroler ATMega128
Sistem minimum ini dirancang berbasis mikrokontroler ATMega128 sehingga sistem ini memiliki:
  • 128 Kb Flash PEROM untuk menyimpan program
  • 4Kb EPROM untuk menyimpan data-data dari aplikasi robot, contohnya pada KRCI untuk menyimpan data perjalanan robot agar dapat kembali ke tujuan.
  • 4Kb SRAM untuk menyimpan variabel program.
  • 8 Channel 10 bit ADC, pada aplikasi KRCI input ini dapat dihubungkan pada keluaran analog sensor jarak inframerah GP2D12, kecuali bila menggunakan DST-Navi yang dapat mengintegrasikan 8 GP2D12 ke dalam port UART
  • 2 buah 8 bit PWM yang dapat digunakan untuk mengendalikan motor DC
  • Programmable watchdog dan on chip oscillator yang mengantisipasi sistem dari kondisi “hang”
  • 53 bit I/O untuk keperluan umum
Sistem Minimum ATMega128 DST-128  
USB Downloader DU-ISP
Untuk mengisikan program ke dalam mikrokontroler, dibutuhkan unit yang disebut downloader. Berdasarkan koneksi dengan PC/laptop, terdapat beberapa jenis downloader yaitu downloader paralel yang biasa disebut Kabel ISP, downloader serial dan downloader USB. Dibanding jenis yang lain, downloader usb adalah downloader yang paling fleksibel mengingat PC dan laptop saat ini tidak memiliki port serial dan parallel lagi.
AVR & MCS51 USB Downloader DU ISP

DU ISP adalah USB Downloader yang memiliki kemampuan sebagai downloader bagi hampir semua mikrokontroler Atmel yang memiliki kemampuan ISP (In System Programming) seperti MCS-51 dan AVR. DU ISP juga memiliki ukuran sangat ringkas dan kompak sehingga mudah untuk disisipkan dalam suatu sistem.
Terdapat dua versi DU ISP yaitu V3 yang memiliki kecepatan tinggi dengan koneksi real USB (kecepatan setara STK-500 dari Atmel) namun versi ini hanya dapat bekerja di Win XP.  Dan V4 yang dapat bekerja di Win Vista dan 7, namun memiliki kecepatan lebih rendah karena koneksi USBnya diemulasi ke dalam serial (COM)


Delta Robo Kits (Board Only)
Untuk membangun sistem elektronik robot yang kompak dan ringkas maka USB Downloader, Sistem Mikrokontroler dan DC Driver yang terdiri dari dua H-Bridge dapat digabung dalam satu sistem yaitu Delta Robo Kits (Board Only).
 
Delta Robo Kits

AN0177 Sensor-sensor untuk keperluan Robot KRCI

Pada KRCI, penggunaan sensor-sensor yang akurat adalah salah satu faktor penentu kemenangan dalam pertandingan. Berikut ini akan kami bahas mengenai sensor-sensor yang dapat digunakan pada KRCI. Pada kontes ini robot akan bergerak menjelajah ruangan untuk mencari titik api. Agar robot dapat bergerak menjelajah ruangan maka dibutuhkan sensor jarak yang memberikan informasi pada robot akan jarak terhadap dinding-dinding.
         Pada kondisi awal robot biasanya diletakkan pada kondisi yag tidak menentu pada posisi awal (home) oleh karena itu terlebih dahulu robot akan menyesuaikan arahnya terhadap salah satu dinding dengan mendeteksi saat sensor jarak robot terhadap dinding.  Caranya dengan memutar robot hingga salah satu sisi sensor (dalam gambar di atas adalah sensor kanan) berhasil menemukan dinding dalam jarak tertentu. Kemudian robot akan tetap berputar hingga sensor mendeteksi jarak yang semakin mendekat. Pada saat jarak sensor semakin menjauh maka robot dinyatakan telah sejajar dengan dinding dan selanjutnya robot dapat bergerak menjelajah ruangan dengan selalu memeriksa kondisi jarak dari sisi kanan, kiri, depan, serong kiri dan serong kanan. Dengan 5 buah sensor tersebut sebetulnya sudah cukup untuk menjelajah ruangan namun akan lebih baik lagi bila digunakan 8 buah sensor yang menempati 8 arah mata angin seperti pada gambar berikut


D-SONAR
 
Merupakan sensor ultrasonik produksi Delta Electronic yang didisain dengan harga yang jauh lebih terjangkau. Sensor ini dapat diakses dengan trigger dan echo seperti pada SRF04 dan juga melalui UART. Dengan melalui UART, informasi jarak tidak hanya berupa lebar pulsa namun juga dapat diminta dalam bentuk jarak.
Sensor Ultrasonic D-Sonar
SENSOR JARAK INFRA MERAH

Sensor jarak ultrasonik memang dapat mengatasi tipuan-tipuan dalam bentuk cermin, namun sensor ini memiliki kelemahan apabila obyek yang dideteksi berupa dinding yang bergelombang di mana sinyal sonar akan dipantulkan ke arah lain sehingga jarak tidak terdeteksi. Untuk mengatasi hal ini, sensor inframerah sebagai pendukung sistem pengukuran jarak adalah alternatif yang baik. Berbeda dengan sensor ultrasonik, sensor inframerah tidak menghitung waktu pancaran sinar melainkan menghitung di bagian mana sinar inframerah yang dikembalikan diterima oleh rangkaian phototransistor. Semakin jauh jarak maka semakin ke kanan sinar inframerah yang diterima pada rangkaian phototransistor dan semakin kecil tegangan outputnya.  Hasil output ini akan diterima oleh adc terlebih dahulu sebelum diambil oleh mikrokontroler.

Sharp GP2D12
DEVANTECH CMPS10

Merupakan versi update dari CMPS03 yang juga dilengkapi dengan sensor akselerasi dan sensor kemiringan. Pada KRCI terdapat salah satu tingkat kesulitan berupa uneven floor. Pada bagian ini robot akan mengalami gangguan navigasi sejenak karena bisa saja sensor jarak mengarah ke atas dan tidak mendeteksi dinding. Agar robot dapat mengetahui kapan terjadinya uneven floor, maka hal ini dapat dideteksi dengan fitur tilt (kemiringan) sensor pada CMPS10.
Devantech CMPS10 Digital Compass

DST Navi

Merupakan sistem navigasi robot Produksi Delta Electronic di mana sistem ini dapat dihubungkan pada 8 buah SRF05, 8 buah GP2D12 dan sebuah Devantech Compass (CMPS03 atau CMPS10)
Modul DST-Navi terhubung dengan 8 SRF05, 8 GP2Y0A21, 1 CMPS10, Modul DST-AVR dan LCD
Pada sistem ini pengguna tidak harus menentukan kapan menggunakan sensor inframerah dan kapan sensor ultrasonik saat mengukur jarak. Terdapat perintah melalui UART yang meminta sistem untuk mengukur jarah di salah satu arah mata angin. Pada saat perintah ini diproses maka sistem akan melakukan dua metode pengukuran dan setelah menentukan hasil yang valid maka sistem akan mengirimkan informasi jarak ke UART. Hal ini akan membuat source code / program yang dibuat oleh pengguna semakin simpel.
Selain informasi jarak, DST-Navi juga dapat mendeteksi posisi robot terhadap arah mata angin ataupun kemiringan  dengan bantuan Devantech Compass. Salah satu aturan KRCI adalah robot kembali ke posisi awal, untuk kasus ini DST Navi juga dapat menyimpan catatan perjalanan robot berupa arah dan kemiringan setiap periode tertentu ke dalam memori sehingga melalui port UART catatan tersebut dapat diminta.


Sensor Api
Terdapat dua jenis sensor api yang sering digunakan yaitu Hamamatsu UVTRON yang mendeteksi titik api dengan mencari sinar ultraviolet dan TPA81 yang menggunakan inframerah.

Hamamatsu UVTRON R9454

 Merupakan sensor api produksi Hamamatsu  dan penyempurnaan dari versi sebelumnya R2868. Sensor ini memiliki ketahanan 10x lebih besar dari R2868 yaitu ( 10.000 m/s2 ). Sensor UVTRON dapat mendeteksi titik api dari jarak 5 meter.  Sensor ini membutuhkan tegangan DC yang cukup besar, yaitu 400 VDC. Untuk mempermudah pengguna dalam memakai sensor ini maka tersedia rangkaian driver C10423 yang menjadi antarmuka UVTRON dengan mikrokontroler. C10423 akan membangkitkan tegangan 400 Volt DC dan membangkitkan pulsa level TTL sehingga dapat dihubungkan langsung ke mikrokontroler
UVTRON Sensor R2868 atau R9454
 TPA81 Thermopile Array

Tidak sejauh UVTRON yang mampu mendeteksi api pada jarak 5 meter, sensor ini hanya mendeteksi api pada jarak 2 meter. Namun UVTRON memiliki sudut yang cukup luas dalam mendeteksi titik api sehingga posisi api masih belum dapat dipastikan. Sedangkan Thermophile Array akan mendeteksi posisi titik api berdasarkan pixel-pixel yang mendeteksi cahaya inframerah dari api.
TPA81 Thermophile Array  




Berikut dapat dilihat video sebuah robot pemadam api beroda dibawah ini


semoga bermanfaat :D

Selasa, 05 April 2016

SISTIM PENGHITUNGAN TIMER OTOMATIS MENGGUNAKAN MIKROKONTROLER

      Keterbatasan ketelitian dan kejelian seorang wasit dalam perlombaan dapat menyebabkan terjadinya kesalahan penilaian. Umumnya perlombaan menggunakan stopwatch sebagai pengukur waktu. Penelitian ini dilatar belakangi oleh ketidak efisienan dan ketidak efektifan penggunaan sistem pewaktuan dalam perlombaan. Dalam penelitian ini dimanfaatkan beberapa saklar tekan pada ujung-ujung lintasan renang, pemanfaatan IC penyimpan suara ISD1420, mikrokontroler terprogram sebagai pengendali waktu utama, dan LCD sebagai tampilan. Prototipe kolam renang yang dibuat terdiri atas empat lintasan. Perancangan perangkat lunak ditekankan pada pemanfaatan timer mikrokontroler. Meskipun hanya digunakan sebuah timer namun pemanfaatannya dilakukan pada empat lintasan sekaligus dengan menggunakan teknik buffering nilai timer pada suatu data array. Hasil penelitian menunjukkan bahwa fasilitas timer dalam mikrokontroler dapat dimanfaatkan untuk pewaktuan paralel empat lintasan, semua perenang dalam keempat lintasan dapat dicatat waktunya. Demikian juga suara peringatan yang terekam pada ISD dapat diputar tepat waktu.
         
   
selanjutnya IC ISD, Chip ini digunakan untuk menyimpan data suara. ISD kependekan dari Information Storage Devices. Konfigurasi pin IC ISD1420 ditunjukkan dalam gambar 1.













Gambar 1. Konfigurasi pin IC ISD1420

ISD1420 berdurasi minimum 20 detik. Di dalamnya terdapat memori sebesar 128 KB untuk menyimpan data suara. Sebelum merekam suara perlu dilakukan pemilihan alamat. Lama perekaman akan menentukan banyaknya alamat yang dipakai oleh IC ISD1420. Semakin lama merekam, alamat yang dipakai akan makin banyak (konsep memory). Jika IC ISD1420 digunakan untuk merekam beberapa kata dalam durasi beberapa detik, lamanya perekaman tidak boleh melebihi durasi waktu yang telah dirancang atau masuk pada alamat perekam berikutnya, karena suara yang telah direkam dapat tertumpuk dan terpotong dengan data suara berikutnya.

      




gambar diatas merupakan skema rangkaian timer otomatis menggunakan mikrokontroller.


Pemrograman terdiri atas beberapa sub rutin yang disediakan, yakni: sub rutin delay; sub rutin pemutar suara: “siap-siap”, “mulai”, “terjadi kecurangan”, dan “ finish”; sub rutin LCD; sub rutin timer; dan sub rutin konversi.

Sub rutin pemutar suara isinya bertujuan untuk mengendalikan A4 dan A9 IC ISD1420. Contoh program untuk mengeluarkan suara “siap-siap”
void siap_siap ( )
{
D9 = 0;D4 = 0;
play=0; tunda (10) ; play=1;
}

Sedangkan sub rutin timer digunakan untuk inisialisasi timer dan interrupt timer overflow. Timer yang digunakan adalah timer 0, mode 1, hitungan 10000 detak maju.
void init_timer()
{
TMOD=0b00000001;

TCON=0; TH0=0xEC;TL0=0x78; //(-5000) ET0=1;
EA=1;
}
Setiap dua kali overflow, timer 0 interrupt akan diaktifkan melalui interrupt service routine berikut:
void tim0_int(void) interrupt 1 using 3
{
TR0=0;
hitungan++;
if (hitungan ==2)
{
hitung++;
hitungan=0;
}
TF0=0;

TH0=0xEC;TL0=0x78; //(-5000) TR0=1;
}

Dari kedua sub rutin tersebut dihasilkan 10000 detak yang setara dengan 10000µ detik atau sama dengan 1/100 detik. Penelitian ini menggunakan crystal 12MHz.

Sehingga waktu terkecil yang bisa terdeteksi adalah 1/100 detik, sama seperti nilai timer stopwatch pada umumnya.

Sub rutin berikutnya adalah konversi, yang akan merubah nilai di atas menjadi satuan detik, menit, dan jam. Adapun isi sub rutin konversi adalah
void konversi ( )
{

seperdetik=hitung; //dalam 1/100 detik detiknya=(seperdetik)-;

if(seperdetik>=100)


if (detiknya >=60) detiknya=detiknya%60;
if (menitnya >=60) menitnya=menitnya%60;
}

Metode buffering digunakan untuk menyimpan nilai timer ke data array setiap kali switch finish tertekan. Berikut proses buffering nilai timer ke data array untuk perenang di lintasan 1 saat mencapai finish:

if (j1b==1 && selesai1==0) { konversi();

seperdetik_j1=seperdetik; data_seperdetik[0]=seperdetik_j1;

detik_j1=detiknya; data_detik[0]=detik_j1;

menit_j1=menitnya; data_menit[0]=menit_j1;

}



Pengujian dilakukan per bagian dan pengujian secara keseluruhan. Adapun pengujian yang dilakukan per bagian meliputi pengujian minimum sistem AT89S51, pengujian LCD, pengujian IC ISD1420, dan pengujian respon kontroler terhadap masukan switch.

Secara keseluruhan hasil pengujian sistem dibandingkan dengan stopwatch Seiko ditampilkan pada tabel 3.
 


Detak yang diberikan timer pada mikrokontroler dapat dimanfaatkan untuk pewaktuan (real time) dengan pendeteksian timer overflow dan besarnya crystal yang terpasang pada minimum sistem. Pada alat ini, perekaman dan pemutaran ulang suara pada ISD1420 memerlukan pengalamatan yang tepat untuk menentukan waktu rekam. Penelitian dapat dikembangkan untuk perlombaan renang umum, dengan menyediakan pilihan kategori lebih lengkap pada alat yang dibuat. Demikian juga peletakan switch disesuaikan dengan gaya renang yang dipakai.