Posts Tagged ‘bahan robot’

AN0185 Algoritma Robot KRCI Menjelajah Ruangan dengan Fuzzy

Saturday, March 24th, 2012

Hal pertama yang perlu dilakukan oleh Robot KRCI pada saat pertandingan adalah menjelajah ruang untuk mencari titik-titik api. Untuk menjelajah ruang-ruang tersebut dibutuhkan algoritma tertentu agar robot tidak menabrak dinding. Dengan bantuan Modul DST-NAVI maka 8 buah sensor jarak baik inframerah maupun ultrasonik dapat dihubungkan pada robot dengan mudah. Namun untuk kondisi standard, 6 buah sensor sudah cukup baik. yaitu di posisikan di kiri, serong kiri, depan, serong kanan, kanan dan belakang.

Keenam sensor tersebut akan selalu mengukur jarak terhadap obyek di saat robot berjalan dan memutuskan ke arah mana robot bergerak berdasarkan jarak-jarak sensor terhadap obyek.

Masing-masing sensor dalam mendeteksi jarak memiliki 4 level jarak yaitu dekat, sesuai, jauh dan kosong. Dekat artinya robot sudah terlalu dekat dengan dinding, Sesuai artinya jarak robot dengan dinding berada di posisi aman (tidak terlalu jauh atau dekat). Jauh artinya jarak robot terlalu jauh dari dinding, sehingga apabila robot ingin menyusuri dinding tersebut, robot harus bergerak mendekati dinding. Sedangkan Kosong artinya jarak sensor sangat jauh dengan obyek karena adanya lorong di depan atau belokan (untuk sensor samping.

Agar pengguna dapat lebih mudah / fleksibel dalam mem-program gerakan robot berdasar kondisi-kondisi sensor, digunakan metode Fuzzy.

Untuk mengembangkan proses fuzzy ini dibutuhkan dua buah software yaitu Software Fuzzy Development yang bekerja di PC / Laptop yang digunakan untuk mendisain proses fuzzy dan Kernel Fuzzy pada mikrokontroler. Untuk Software Fuzzy Development dapat dilakukan dengan menggunakan Software FUDGE yang dikembangkan oleh Motorola. Dengan software ini akan menghasilkan kode database yang akan menjadi acuan Kernel Mikrokontroler untuk melakukan proses Fuzzy.

Perancangan sistem fuzzy ini dilakukan dengan langkah-langkah sebagai berikut:

  1. Tentukan Crisp Input

Crisp input dalam hal ini adalah merupakan karakteristik sensor di mana bagian ini akan diisi sesuai dengan karakteristik sensor yang digunakan. Dalam aplikasi ini digunakan 6 buah sensor jarak yaitu Sensor Kiri, Sensor Serong Kiri, Sensor Depan, Sensor Serong Kanan, Sensor Kanan dan Sensor Belakang di mana masing-masing sensor memiliki range antara 0 – 255

Number of member function adalah jumlah level yang dideteksi oleh sensor tersebut seperti yang dijelaskan di atas yaitu (dekat, sesuai, jauh, kosong)

2. Atur Input Membership Function di mana pada proses ini dilakukan pengaturan pada jarak berapa sensor dianggap dekat, sesuai, jauh atau kosong.

3. Tentukan Crisp Output. Dalam aplikasi ini output adalah proses gerakan robot dan terdiri dari 8 jenis gerakan.

Pengaturan Output Membership Function

4. Tentukan Output Membership Function di mana pada bagian ini akan dinyatakan gerakan apa yang dilakukan oleh robot saat diperoleh output tersebut.

Pengaturan Output Membership Function

5. Buat rule-rule yang berupa apa yang harus dilakukan saat diperoleh kondisi tertentu pada sensor. Contoh rule 1, jika sensor kiri dekat, serong kiri dekat, depan jauh maka robot akan putar kanan.

6. Generate Code dan gabungkan code yang dihasilkan ke program utama bersama kernel fuzzy.

7. Untuk menyimpan hasil disain fuzzy dilakukan dalam file Save.FDG melalui menu File – Save As.

8. Dengan menggunakan File Save.FDG yang ada pada Paket CD Robot KRCI, robot akan berjalan menyusuri sisi sebelah kiri dinding.

Source Code untuk aplikasi ini dapat diperoleh pada setiap pembelian

Robot KRCI dengan 6 sensor ultrasonic SRF-05/04

Robot KRCI dengan 6 SRF05 dan 6 Sensor Infrared GP2D12

Robot KRCI Pro Version

Paulus Andi Nalwan, Delta Electronic

AN-0188 Instalasi Delta Smart UVTRON pada Robot Laba-laba MSR-H01

Tuesday, March 20th, 2012

Modul ini adalah modul UVTRON cerdas yang dapat mencari posisi titik api hanya dengan sebuah perintah dari mikrokontroler robot. Hal ini akan mempermudah pemrograman dan efisiensi program karena proses pencarian titik api dilakukan oleh modul ini berdasarkan perintah dari mikrokontroler robot. Pencarian titik api dilakukan dengan proses scanning motor servo dengan sudut tertentu sehingga robot tidak harus bergerak ke kiri atau ke kanan untuk mencari titik api. Proses scanning dapat dilakukan sambil robot tetap berjalan bebas.

Setelah titik api ketemu, maka Delta Smart UVTRON dapat diatur untuk langsung mengaktifkan kipas atau hanya memberi info pada mikrokontroler robot bahwa titik api ditemukan.

Bagian-bagian Paket

  1. Kipas
  2. Smart UVTRON Microcontroller, bagian mikrokontroler yang berfungsi mendeteksi sinyal UVTRON, menggerakkan servo dan mengaktifkan kipas.
  3. Relay 12 Volt, relay untuk mengaktifkan motor DC penggerak kipas
  4. UVTRON Reflector, bagian yang memfokuskan sinar ultraviolet yang diterima UVTRON sehingga hanya bagian yang tepat didepan celah yang dapat terdeteksi.
  5. UVTRON Driver, rangkaian pembangkit tegangan DC 400 Volt untuk mengaktifkan UVTRON R9454 dilengkapi rangkaian pengkondisi dengan keluaran level TTL
  6. Battery 12 Volt + holder, battery sumber daya bagi UVTRON maupun relay.
  7. High Speed DC Motor, motor DC kecepatan tinggi untuk menggerakkan kipas.

Bagian-bagian Delta Smart UVTRON

Instalasi Delta Smart UVTRON kit pada MSR-H01

  1. Pasang High Speed DC Motor pada Pan Tilt Head seperti pada gambar berikut. Kabel motor sifatnya non polarity sehingga bebas untuk dibolak balik di mana posisi kabel hanya akan mengubah arah putaran kipas

    Instalasi High Speed DC Motor pada Pan Tilt Head

  2. Pasang UVTRON + Driver di atas jangkar servo dan motor

Instalasi UVTRON Driver

3. Pasang Reflektor UVTRON pada sensor UVTRON

UVTRON reflektor

4. Pasang kabel konektor 3 pin ke Delta Smart UVTRON Microcontroller dan Battery holder 12 Volt

Delta Smart UVTRON Microcontroller

5. Pasang Kipas di High Speed DC Motor dan hubungkan kabel konektor 3 pin ke UVTRON driver

Delta Smart UVTRON Fan

6. Pasang Delta Smart UVTRON kit pada kerangka MSR-H01

Delta Smart UVTRON pada MSR-H01

Wiring Diagram Instalasi ST-8535 – Delta Hex Engine dan Delta Smart UVTRON


Wiring Diagram Delta Smart UVTRON dengan ST-8535


Cara Kerja Sistem

Delta Smart UVTRON kit bergerak melacak titik api dengan menggerakkan servo ke arah CW dan CCW pada sudut tertentu dengan kecepatan 60 derajat per detik. Reflektor UVTRON berfungsi agar titik api hanya terdeteksi saat berada tepat di depan bagian celah reflektor sehingga lebih terfokus.

Saat api terdeteksi, gerakan servo akan melambat dan bergerak bertahap menuju ke titik api dan berhenti saat UVTRON tepat berada di depan titik api. Untuk mengetahui apakah UVTRON telah berada di depan titik api dilakukan dengan mendeteksi frekwensi yang dihasilkan oleh UVTRON Driver. Mikrokontroler yang ada pada Modul Smart UVTRON Microcontroller akan melakukan sampling setiap 150 mS. Pada saat titik api terdeteksi, maka akan ada sejumlah pulsa yang terdeteksi pada setiap kali sampling, semakin dekat arah UVTRON ke titik api maka akan semakin banyak pula pulsa yang diperoleh. Saat diperoleh sejumlah pulsa tertentu maka akan merupakan indikasi bahwa sensor telah mendekati arah titik api.

Melakui protokol yang dikirimkan ke Delta Smart UVTRON Microcontroller maka dapat diatur berapa pulsa di mana UVTRON dianggap telah mengarah ke titik api. Selain itu kadang-kadang diperoleh kondisi di mana pulsa maksimum sudah diperoleh walau sensor belum mengarah sepenuhnya seperti pada kondisi pada gambar berikut.

Pada gambar tersebut terlihat bahwa pulsa yang terdeteksi sudah mencapai maksimum padahal sensor belum terarah tepat ke titik api. Agar dapat dipastikan UVTRON dapat mengarah tepat ke titik api maka dapat dilakukan pengaturan di mana titik api dinyatakan ketemu saat kondisi pulsa maksimum diperoleh berturut-turut selama sejumlah sampling tertentu. Contohnya nilai 3 berarti titik api ditemukan setelah 3 kali sampling berturut-turut adalah sejumlah pulsa maksimum. Nilai ini disebut Nilai Api Ketemu pada bagian protokol.

Saat titik api ditemukan, Smart UVTRON Microcontroller dapat diatur untuk langsung mengaktifkan kipas atau hanya memberitahu mikrokontroler robot bahwa titik api telah ketemu dengan memberikan logika 0 pada bagian Output Smart UVTRON Microcontroller.

Saat titik api hilang, maka kipas akan otomatis padam dan proses scanning kembali berjalan. Hilangnya titik api diketahui dengan tidak adanya pulsa lagi pada saat sampling. Namun seringkali api yang kecil juga tidak akan menimbulkan pulsa lagi oleh karena itu keputusan api telah padam sebaiknya tidak langsung diputuskan hanya dalam satu kali sampling. Jumlah sampling di mana api dianggap padam dapat diatur pada nilai Nilai Api Hilang pada bagian protokol. Pada kondisi standard nilai ini adalah 3.

Kecepatan gerak servo saat titik api ditemukan juga dapat diatur di bagian Durasi Gerak dalam satuan 20uS pada bagian protokol. Pada kondisi standard nilai ini adalah 8000h atau 32768 x 20uS = 0.65 second.

Posisi servo saat titik api ditemukan juga dapat dideteksi dengan perintah meminta info ke Delta Smart UVTRON Microcontroller.

Kipas juga dapat diaktifkan dan non aktif secara manual melalui protokol.

Kadang-kadang pada kondisi tertentu, proses scanning diperlukan dalam sudut yang tidak terlalu besar karena masalah mekanis, untuk itu pengguna dapat mengatur arah maksimum CCW dan CW servo melalui protokol juga.

Untuk memastikan api benar-benar padam, juga terdapat perintah untuk mengaktifkan kipas sambil menggerakkan servo CW dan CCW untuk menyapu titik-titik api.

Deskripsi I/O Delta Smart UVTRON Microcontroller

SERVO           : Port Output PWM ke Motor Servo

KIPAS            : Port Output untuk mengaktifkan kipas. Logika 0 = kipas aktif, Logika 1= kipas non aktif

TXD    : Output UART Delta Smart UVTRON Microcontroller

RXD   : Input UART Delta Smart UVTRON Microcontroller

GND   : Input Power 0 Volt

VCC    : Input Power 5 Volt

UVTRON       : Input yang diambil dari keluaran UVTRON Driver C10423

CONTROL     : Input pemilih modul di mana pada saat logika 0 data perintah yang dikirim ke

UART akan diproses, pada logika 1 semua data yang masuk ke UART akan

diabaikan.

BUSY : Output yang mengindikasikan modul siap untuk dikirim perintah. Logika 0 adalah status

non busy di mana hal ini akan memberitahukan mikrokontroler robot bahwa perintah

boleh dikirimkan dan sebaliknya pada logika 1.

OUTPUT        : Output yang mengindikasikan bahwa posisi titik api telah ditemukan sehingga

mikrokontroler robot dapat memberikan keputusan selanjutnya.

Algoritma pengiriman protokol

  1. Tunggu kondisi tidak busy dengan mencari kondisi logika 0 pada port ini.
  2. Beri logika 0 pada input control untuk memilih modul ini.
  3. Kirimkan data UART sesuai protokol.

Pengaturan Komunikasi:

-          Baudrate 57600 bps

-          8 bit

-          No Parity

-          None

Protokol Data

PROTOKOL DARI MASTER / PC KE Delta Smart UVTRON
Byte Nilai Deskripsi
00 1E Awal Paket
01 30h ID Smart UVTRON
02 01 Selalu 01
03 00 ID Pengirim adalah Master/PC
04 00 – FF Nomor urut Master/PC
05 01 – FF Panjang data mulai byte 6 hingga sebelum checksum
06 01 – 05 01 Mode Setting, 02 Minta info, 03 aktivasi kipas, 04 aktivasi kipas + Scan
05 aktivasi scan
07+panjang+1 Checksum di mana total semua data + checksum = 00
Mode Setting
Byte Nilai Deskripsi
06 01 Perintah Setting
07 01 – FF Durasi Gerak dalam satuan per 20uS
08 01 – FF Nilai Setting Api atau jumlah pulsa dalam sampling 150mS di mana
dianggap pulsa maksimum titik api terdeteksi
09 01 – FF Nilai Api hilang, jumlah sampling di mana diperoleh nilai 0 pulsa berturut2
10 01 – FF Nilai Api Ketemu, jumlah sampling di mana diperoleh nilai max pulsa
berturut-turut
11 00 / 01 Control kipas otomatis, 00 = kipas tetap padam, 01 = kipas langsung aktif
saat titik api diperoleh
Minta Informasi
Byte Nilai Deskripsi
06 02 Perintah minta info
Aktivasi Kipas
Byte Nilai Deskripsi
06 03 Perintah aktivasi kipas
07 00 / 01 00 = Kipas non aktif, 01 = kipas aktif
Aktivasi Kipas dan Scan
Byte Nilai Deskripsi
06 04 Perintah aktivasi kipas dan Scan
07 00 / 01 00 = Kipas dan scan non aktif, 01 = kipas dan scan aktif
Aktivasi Scan
Byte Nilai Deskripsi
06 05 Perintah aktivasi scan
07 00 / 01 00 = Scan non aktif, 01 = scan aktif
PROTOKOL dari Delta Smart UVTRON ke PC / MASTER
Byte Nilai Deskripsi
00 1E Awal Paket
01 00 ID Master / PC
02 00 – FF Nomor urut Master/PC
03 30 ID Delta Smart UVTRON
04 01 Selalu 01
05 01 – FF Panjang data
06 02 02 = Data informasi jarak, 06 = ACK
07+panjang+1 Checksum di mana total semua data + checksum = 00
Data Informasi Jarak
Byte Nilai Deskripsi
06 01 Data Informasi Jarak
07 01 – FF Durasi Gerak
08 01 – FF Nilai Setting Api
09 01 – FF Nilai Api hilang
10 01 – FF Nilai Api ditemukan
11 01 – FF Jumlah pulsa titik api yang diperoleh
12 00 / 01 00 = kipas tidak langsung aktif saat titik api ketemu, 01 = kipas langsung
saat titik api ketemu
Modul-modul Pendukung

- Delta Smart UVTRON Kit

- Pan Tilt Head

- Small System ATMega8535

- Delta Hex Engine

- Mekanik laba-laba MSR-H01

Paulus Andi Nalwan, Delta Electronic

AN0186 Teknik Melacak dan Memadamkan Titik Api Pada Robot KRCI

Friday, March 2nd, 2012

Pencarian titik api pada Robot KRCI biasanya dilakukan dengan menggerakkan robot ke kiri dan ke kanan untuk memastikan posisi titik api. Proses ini membutuhkan waktu dan daya yang cukup besar karena harus menggerakkan seluruh body robot.

Pada artikel ini proses pelacakan titik api tidak memerlukan robot bergerak ke kiri dan ke kanan melainkan dengan bantuan Modul Delta UV Kit sensor tersebut akan digerakkan oleh servo ke kiri dan ke kanan mencari titik api tanpa robot harus bergerak ke kiri dan ke kanan. Bahkan untuk mempersingkat waktu, dapat dilakukan sambil robot bergerak.

Gerakan Sensor pada Robot KRCI

Modul Delta UV Kit ini menggunakan sensor api UVTRON R9454 dengan Driver C10423 yang dapat mendeteksi titik api dari jarak 5 meter dapat digerakkan dengan menggunakan motor servo HS-311 sehingga dapat melakukan gerakan scanning ke kiri dan ke kanan dalam sudut 180 derajat.

Delta UV Kit (UVTRON Driver + Servo HS-311 + Propeller

Agar UVTRON dapat mendeteksi api lebih terfokus maka ditambahkan reflektor yang menyelubungi UVTRON dengan sebuah celah kecil

Reflektor UVTRON

Saat titik api terdeteksi, gerakan scanning akan melambat dan bergerak step by step mengarah ke titik api. Semakin reflektor UVTRON mengarah ke titik api maka keluaran driver UVTRON C10423 akan berupa frekwensi yang semakin merapat. Sistem mikrokontroler pada Delta UV Kit akan melakukan sampling data setiap 5.5 mS dan akan diperoleh berapa kali perubahan logic yang diperoleh dari output UVTRON selama itu. Dengan frekwensi 700 Hz maka akan diperoleh periode 1.42 mS di mana perubahan logic akan terjadi setiap 0.71 mS.

Dalam 5.5 mS akan terjadi 7.7 kali perubahan atau 7 – 8 kali perubahan yang menandakan bahwa UVTRON telah mengarah ke titik api. Melalui Protokol data yang dikirimkan pada Port UART, pengguna dapat mengatur apakah propeller akan langsung aktif atau menunggu perintah dari robot saat UVTRON dianggap mengarah ke titik api.

Pengguna juga dapat mengatur agar pemadaman api dapat dilakukan dengan mengaktifkan propeller sambil motor servo melakukan scanning 180 derajat. Setelah titik api tak terdeteksi lagi, maka servo akan melakukan scanning 180 derajat lagi dengan kecepatan yang tinggi.

Pada saat UVTRON telah dianggap mengarah ke titik api tadi sistem mikrokontroler juga akan memberikan logic output ke robot untuk memberitahu robot bahwa posisi telah terarah ke titik api. Robot dapat meminta informasi sudut melalui Port UART sehingga robot dapat dibelokkan sesuai arah UVTRON.

Delta UVTRON Kit pada DST-NAVI dalam MSR-H01 robot

Untuk video klip dapat dilihat di

Paulus Andi Nalwan, Delta Electronic

AN0184 Antarmuka Robot KRCI dengan sensor-sensornya menggunakan DST Navi

Sunday, February 26th, 2012

Seperti telah dibahas pada artikel AN0172 di mana sistem navigasi robot dapat dilakukan dengan lebih mudah menggunakan DST-Navi. Dengan Sub System ini, proses perhitungan pulsa dari sensor sonar, proses penghitungan tegangan sensor inframerah ataupun akses I2C kompas dapat dilakukan dengan mudah karena mikrokontroler robot tidak perlu lagi melakukan perhitungan jarak. Proses perhitungan dilakukan oleh mikrokontroler yang ada dalam sub system berdasarkan perintah dari mikrokontroler robot. Hasil dari perhitungan akan dikirim ke mikrokontroler robot melalui Port UART.

DST Navi (SRF05, CMPS10, GP2Y0A21)

AN0183 Membangun Sistem Mekanik pada Robot KRCI kategori berkaki

Thursday, February 23rd, 2012

Pada Robot KRCI kategori berkaki, sistem mekanik sangat jauh berbeda dengan Robot KRCI kategori beroda. Gerakan-gerakan  yang dilakukan pada kategori ini bukanlah gerakan memutar biasa namun gerakan sudut. Konstruksi yang paling efektif pada Robot KRCI kategori berkaki adalah konstruksi kaki laba-laba di mana robot tidak harus mengatur keseimbangan dengan adanya keenam kakinya.

Setiap kaki memiliki dua ruas dengan tiga derajat kebebasan yaitu naik-turun untuk ruas pertama dan kedua serta maju-mundur untuk kedua ruas sekaligus.

Gerak Vertikal Kaki Hexapod

Gerak Horisontal Kaki Hexapod

Gambar Mekanik Hexapod Robot

Mekanik laba-laba Robot KRCI MSR-H01

Mekanik laba-laba MSR-H01 didisain dengan menggunakan aluminium anodize dan tersedia berbagai warna yaitu silver, hitam dan merah. Gerakan-gerakan sudut dari robot ini dilakukan dengan menggunakan motor servo, yaitu motor yang bergerak menuju sudut tertentu berdasarkan perubahan pulsa PWM. Proses pengaturan gerak kaki-kaki Robot KRCI ini dengan menggunakan PWM bukanlah hal yang mudah bagi pemula. Untuk mempermudah proses ini dapat dilakukan dengan menggunakan suatu modul yang berfungsi mengatur gerakan-gerakan robot krci ini yaitu P-Brain Hex Engine buatan Micromagic

P-brain hex engine

Dengan modul ini, gerakan-gerakan robot dapat dilakukan hanya dengan mengirimkan perintah-perintah melalui UART port saja. Proses pengaturan PWM akan dilakukan oleh modul P-brain sendiri di mana pengguna tidak perlu menghitung pulsa PWM lagi.

Mekanik penggerak sensor Robot KRCI (Pan Tilt Head)

Agar robot krci dapat bergerak sambil memperhatikan kondisi sekitar maka dibutuhkan sebuah sensor yang dinamis yaitu dapat bergerak menoleh kekiri dan kanan tanpa robot krci ini harus bergerak

Sensor baik berupa infrared ataupun sonar (ultrasonic) dapat dipasang pada mekanik ini.

Untuk versi lokal dengan harga yang lebih ekonomis  kami juga telah memproduksi yaitu DH-18 Mechanic yang menggunakan bahan aluminium

Mekanik Robot KRCI kategori berkaki (DH-18)

Untuk mengatur gerakan-gerakan mekanik ini kami juga menyediakan versi lokalnya yaitu Delta Hex Engine

Delta Hex Engine

Versi lengkap dari DH-18 dapat dilihat di sini

Mekanik Robot KRCI kategori berkaki (DH-18 Economic)

Servo-servo yang ada pada robot ini digerakkan oleh Delta Hex Engine yang diperintah melalui UART dengan menggunakan Modul ST-32

Pada paket economic ini robot menggunakan battery 6 volt sehingga dapat dihubungkan langsung ke servo tanpa harus menambahkan rangkaian regulator penurun tegangan lagi. Namun sistem ini sangat riskan terhadap drop tegangan pada battery. Dengan tegangan 6 volt maka saat battery mengalami drop tegangan sedikit akan mempengaruhi kinerja robot. Agar robot lebih tahan dalam mengalami drop tegangan maka dapat digunakan battery dengan tegangan yang lebih besar seperti 7.2 Volt dan diturunkan dengan menggunakan regulator.

Kami telah menyediakan regulator khusus dengan arus maksimum 3A yang didisain memanjang sesuai kaki laba-laba yaitu DDC-01

Voltage Regulator

Modul ini dapat dipasang pada masing-masing kaki dari Robot KRCI berkaki dan menyediakan arus 3A untuk servo-servo yang ada di kaki tersebut

Paulus Andi Nalwan, Delta Electronic

AN0182 Membangun Sistem Mekanik Pada Robot KRCI kategori beroda

Friday, February 3rd, 2012

Pada Robot KRCI kategori beroda, motor adalah merupakan bagian penggerak robot. Dalam hal ini motor yang digunakan adalah motor DC. Untuk memperoleh torsi yang kuat maka perlu ditambahkan gearbox pada motor tersebut. Gear berfungsi memperkuat torsi sesuai dengan perbandingan gigi-giginya.

Rasio gear

Dengan rasio 2:1 maka torsi motor Robot KRCI akan diperkuat dua kali lipat namun kecepatan akan turun juga dua kali.

Berikut ini adalah jenis-jenis gear yang digunakan pada sebuah motor

  • Worm gear adalah gigi yang berbentuk ulir yang berfungsi mengubah arah putaran dari horizontal menjadi vertical
  • Transfer Gear adalah gigi yang berfungsi untuk konversi antara gigi dengan jumlah banyak ke jumlah kecil ataupun sebaliknya.
  • Gear Shaft adalah gigi yang terhubung langsung dengan as atau sumbu motor

Arduino DC Motor dengan torsi 5.5 kg dan kecepatan 240 RPM dalam hal ini yang kita gunakan sebagai motor penggerak robot.

Arduino DC Motor

Agar diperoleh torsi pada Robot KRCI yang kuat dalam bergerak dapat digunakan sistem 4 wheel drive pada mekanik robot beroda yaitu dengan menggunakan 4 buah motor dc yang terpasang di setiap sudut dari Robot KRCI seperti pada gambar berikut.

4 wheel drive robot

Robot KRCI dapat bergerak berputar di tempat dengan menggerakkan motor di sisi kiri dan kanan secara berlawanan. Robot KRCI juga dapat berbelok dengan membuat perbedaan kecepatan pada motor di kedua sisi. Contohnya agar robot dapat berbelok ke kanan maka motor di sisi kiri diputar lebih lambat dan sisi sebelah kanan lebih cepat. Ketajaman belokan dapat diatur dengan besarnya perbedaan kecepatan. Apabila perbedaan kecepatan semakin besar maka belokan akan semakin tajam.

Robo Kits Body

Pengaturan kecepatan pada motor kita lakukan dengan menggunakan sistem PWM (Pulse Width Modulation) yaitu pengaturan lebar pulsa yang diberikan pada motor. Semakin lebar pulsa maka semakin cepat pula motor berputar.

Pulse Width Modulation

T On / Periode x 100 % = Duty Cycle. Semakin besar pulsa ON maka akan semakin besar pula duty cyclenya. Kecepatan maksimum motor akan diperoleh dengan duty cycle 100%.

Sinyal yang digambarkan di atas adalah merupakan kondisi tegangan pada output mikrokontroler yang diinputkanke rangkaian pengendali kecepatan yang dibahas pada AN0181 (rangkaian gate 74ls02). Rangkaian ini bersifat aktif low, oleh karena itu T ON di sini adalah T saat berlogika low.

Pada aplikasi ini kami sediakan pengaturan PWM dengan 8 buah tingkat kecepatan, oleh karena itu duty cycle yang ditimbulkan adalah 12.5%, 25%, 37.5%, 50%, 62.5%, 75%, 87.5% dan 100%. Hal ini dilakukan dengan menggunakan menggeser variabel 8 bit ke I/O mikrokontroler. Contoh variabel 00000000b akan menghasilkan duty cycle 100% karena semua logika yang digeser adalah logika low. Sedangkan variabel 00001111b akan menghasilkan 50% karena perbandingan logika high dan low yang sama.

Potongan Program Pembangkit PWM 8 step pada dua buah motor pada Robot KRCI

PWMMotor:
Mov    A,PWMValueMOtor1    ;PWM Motor 1
Rl    A            ;
Mov     C,ACC0                   ;
Mov    LeftEnable,C        ;
Mov    PWMValueMotor1,A    ;
Mov    A,PWMValueMotor1+1    ;
Rlc    A            ;
Mov    PWMValueMotor1+1,A    ;
Mov    A,PWMValueMotor1    ;
Mov     ACC0,C                   ;
Mov    PWMValueMotor1,A    ;

Mov    A,PWMValueMOtor2    ;PWM Motor 2
Rl    A            ;
Mov     C,ACC0                   ;
Mov    RightEnable,C        ;
Mov    PWMValueMotor2,A    ;
Mov    A,PWMValueMotor2+1    ;
Rlc    A            ;
Mov    PWMValueMotor2+1,A    ;
Mov    A,PWMValueMotor2    ;
Mov     ACC0,C                   ;
Mov    PWMValueMotor2,A    ;
Ret

Pada listing di atas, nilai variabel terletak di PWMValueMotor1 dan PWMValueMotor 2 untuk motor 2.

Agar robot dapat bergerak dengan jarak tertentu ada dua macam cara yang digunakan, yaitu dengan menghitung durasi gerakan atau dengan menghitung putaran roda. Perhitungan durasi atau delay adalah metode yang paling sederhana, namun metode ini memiliki kelemahan apabila sumber daya mengalami penurunan. Contoh saat battery robot turun maka kecepatan robot akan menurun sehingga dengan perhitungan delay yang sama maka jarak yang ditempuh akan berbeda.

Cara perhitungan putaran roda adalah cara yang paling efektif dan dibutuhkan tambahan sensor yang disebut encoder. Rangkaian ini dibangun oleh optocoupler MOC70T3 seperti yang dibahas pada AN0181. Perhitungan gerakan dilihat dari berapa banyak piringan encoder menghalangi cahaya pada encoder saat motor berputar.

Potongan Program Encoder pada Robot KRCI

CekEncoder1:
Mov    A,FlagEncoder

Jb    ACC0,CekEncode1Low
Jnb     DetectEncoder1,NoFlagEncode

Setb    ACC0
Mov    FlagEncoder,A
Lcall    IncCounterEncoder1

Ret

CekEncode1Low:
Jb      DetectEncoder1,NoFlagEncode

Clr    ACC0
Mov    FlagEncoder,A

NoFlagEncode:
Ret

IncCounterEncoder1:
Inc    CounterEncoder1
Mov    A,CounterEncoder1
Jnz    Nox1
Inc    CounterEncoder1+1
Nox1:
Ret

Potongan program di atas adalah merupakan potongan program pendeteksi encoder yang dilakukan dengan mendeteksi kondisi port mikrokontroler yang terhubung ke encoder. Setiap adanya pulsa akan menambah nilai pada variable 16 bit counterencoder1. Potongan program ini akan lebih efektif ditempatkan pada timer interrupt yang aktif sehingga kita tidak perlu bingung kapan program ini dijalankan.

Berikut adalah contoh program untuk menggerakkan robot dengan kecepatan tertentu dan berhenti setelah encoder mencapai posisi tertentu pula.

Main Program

Start:
Mov     A,#4                    ;Set kecepatan 50%
Lcall   SetKecepatan            ;
Lcall   StartPWM                ;

Mov     EncoderVCompare,#50     ;Set nilai komparasi encoder
Mov     EncoderVCompare+1,#0    ;
Mov     R7,#6
Lcall   RobotPutarKananEncoder  ;Gerakkan robot putar kanan
TungguEncoder:
Mov     A,TaskTimer             ;Tunggu encoder sesuai dengan nilai
Jb      ACC0,TungguEncoder      ;komparasi
Ljmp    $

Nilai kecepatan diisikan pada R7 adalah 6 yaitu 75% duty cycle sedangkan variabel komparasi encoder (EncoderVCompare) adalah 0050. Robot akan berputar ke kanan dengan 75%  kecepatan hingga garis encoder terpotong sebanyak 50 kali dan robot akan berhenti.

Di dalam include file motor.asm juga terdapat prosedur2 atau subroutine untuk menggerakkan robot maju, mundur, berputar maupun berbelok. Program-program ini dapat didownload di

Roboencd.zip untuk versi assembler

Robotc.zip untuk versi C

Sedangkan program assemblernya dapat didownload di asm51.zip

Paulus Andi Nalwan, Delta Electronic

AN0181 Membangun Rangkaian Elektronik Robot Beroda

Tuesday, January 31st, 2012

Robot beroda adalah merupakan robot yang paling sederhana karena hanya menggunakan dua motor DC saja untuk mengatur gerakan. Robot ini termasuk kategori vehicle yang bergerak dengan menggunakan roda. Kadang-kadang untuk memperkuat torsi digunakan empat buah motor yaitu sistem 4 wheel drive. Namun untuk pengatur gerakannya tetap hanya dibutuhkan dua, karena motor depan dan motor belakang untuk setiap sisi terhubung paralel.

Agar robot dapat bergerak maju, mundur, berbelok maupun berputar dilakukan dengan permainan arah putar dan kecepatan motor yang akan dibahas lebih detail di bagian membangun bagian mekanik. Pengaturan arah putar pada motor DC dilakukan dengan mengalirkan arus pada motor tersebut di mana arah arus akan menentukan arah putaran motor.

Pengaturan Arah Motor berdasar Aliran Arus

Agar arah arus dapat mengalir bergantian maka dibutuhkan dua buah saklar SPDT seperti pada gambar berikut.

Pengaturan Aliran Arus Motor

Pada sebuah robot, pengaturan motor dilakukan oleh otak robot yaitu mikrokontroler. Agar pengaturan aliran arus dapat dilakukan oleh mikrokontroler maka saklar SPDT S1 dan S2 digantikan dengan rangkaian transistor yang disebut H-Bridge. Rangkaian ini sebetulnya dapat juga digantikan dengan IC seperti L293 atau LMD18200T namun dalam hal ini penulis lebih cenderung menggunakan transistor. Dengan penggunaan transistor akan lebih mudah bagi kita untuk meningkatkan arus apabila motor yang digunakan untuk aplikasi-aplikasi yang lebih berat. Cukup dengan mengganti transistor dengan transistor yang memiliki arus kolektor lebih besar maka rangkaian H-Bridge akan dapat mengendalikan motor yang lebih besar pula.

Rangkaian H-BridgeLebih detail mengenai pengaturan arah motor DC ini dapat dilihat di link berikut. Pada rangkaian H-Bridge tidak diperkenankan terjadi dua buah transistor di sisi yang sama aktif bersamaan, kondisi ini disebut kondisi inhibit. Apabila terjadi kondisi tersebut maka V+ dan Ground akan terhubung singkat dan dapat merusak rangkaian. Untuk mencegah terjadinya kondisi tersebut maka ditambahkan rangkaian gate yang dibangun dengan 74LS02 seperti yang tampak pada gambar berikut. Dengan rangkaian tersebut, DRV0 dan DRV1 tidak mungkin berkondisi logika 1 secara bersamaan.

Rangkaian Gate 74LS02

Dalam hal ini P1.3 berfungsi sebagai pengatur aktivasi motor. Saat P1.3 logika 1 maka motor akan OFF apapun kondisi P1.2 sedangkan saat P1.3 logika 0 maka motor akan ON dan P1.2 berfungsi sebagai pengatur arah (Lihat tabel kebenaran di gambar di atas)

Melalui rangkaian ini, mikrokontroler juga dapat mengatur kecepatan putar motor dengan dengan memberikan logika 0 dan logika 1 secara periodik dengan durasi tertentu. Semakin durasi logika 0 dibanding logika 1 maka akan semakin cepat putaran motor. Teknik ini adalah teknik PWM (Pulse Width Modulation) yang akan kita bahas lebih lanjut.

Kelemahan motor DC adalah kesulitan dalam menentukan posisi, sudah berapa jauh motor tersebut berputar? Untuk mengetahui hal ini ditempatkan sebuah encoder dan rangkaian opto interrupt yang dibangun dengan sensor  MOC70T3. Encoder akan memotong aliran cahaya infrared pada celah yang ada di MOC70T3 sehingga sensor ini akan mengeluarkan pulsa-pulsa sebagai indikasi terpotong dan tidaknya cahaya.

Opto Interrupt MOC70T3

Output dari Opto interrupt ini akan berupa pulsa-pulsa yang dapat dihitung oleh mikrokontroler.

Otak dari sebuah robot adalah bagian pemroses atau mikrokontroler dan bagian pengingat atau memori. Berikut adalah rangkaian sistem mikrokontroler yang dilengkapi memori I2C AT24C08. Rangkaian juga dilengkapi jumper yang dapat mengubah reset dari logika 1 menjadi logika 0 sehingga sistem mikrokontroler selain digunakan untuk AT89S51 juga dapat digunakan untuk mikrokontroler ATMega8515

Sistem Mikrokontroler

Skema Mikrokontroler dan Driver Motor Robot

Pada skema tersebut terdapat JP5 yaitu Port UART yang dapat menghubungkan robot ke modul lain yang menggunakan UART seperti Subsystem DST Navi yang merupakan sub system yang menangani 8 buah sensor jarak inframerah GP2D12 / GP2Y0A21, 8 buah sensor jarak SRF05 serta sebuah compass cmps10 / cmps03, atau ke Modul Servo Control seperti DSR-08 dan lain-lain.

JP12 merupakan port dengan 8 I/O yang dapat difungsikan secara bebas oleh pengguna, seperti mengaktifkan relay kipas, menghitung pulsa output UVTRON dan lain-lain.

JP8, JP9, JP10 dan JP11 yang ditempatkan pada 4 sisi robot pada Delta Robo Kits berfungsi sebagai port input untuk mendeteksi garis yang dapat dihubungkan pada Modul Single Line Follower seperti DSF-01

Anda dapat membeli komponen-komponen dari skema tersebut dengan mengirimkan file berikut ke email kami paulus@delta-electronic.com atau anda dapat membeli rangkaian yang telah siap pakai dengan PCB dan dilengkapi downloader serta kabel USB dan CD Software di sini

Paulus Andi Nalwan, Delta Electronic

AN0179 Battery dan Power Supply untuk Robot KRCI

Wednesday, January 4th, 2012

Sumber Daya atau Power adalah merupakan sumber tenaga dari robot, agar diperoleh gerakan mekanik yang kuat dan kinerja rangkaian elektronik yang stabil dibutuhkan sumber daya yang stabil pula.

Robot-robot yang menggunakan motor DC, stepper ataupun servo menggunakan sumber daya DC sebagai sumber tenaga. Namun sumber daya ini rentan sekali mengalami drop tegangan apalagi bila digunakan untuk beban yang berat.

Agar sumber daya tidak mengalami drop tegangan maka sumber daya tersebut sebaiknya memiliki tegangan di atas tegangan yang dibutuhkan dan diregulasi sesuai tegangan yang dibutuhkan. Analoginya pada sebuah saluran air, agar diperoleh aliran yang stabil maka dibutuhkan tekanan yang lebih tinggi dari kebutuhan dan keran diatur agar sesuai dengan tekanan yang dibutuhkan.

Contoh pada robot yang menggunakan motor-motor DC bertegangan 6 Volt DC. Apabila digunakan battery yang memiliki tegangan 6 volt juga, maka pada saat battery tersebut sedikit menurun kapasitasnya, tegangan yang masuk ke motor juga akan turun dan mempengaruhi kinerja motor.

regulator

Namun bila kita gunakan tegangan di atas 6 volt maka saat kapasitas battery menurun, hal ini tidak menyebabkan sumber daya robot menurun selama batas tertentu. Batasan tersebut ditentukan dari karakteristik regulator yang digunakan. Regulator yang baik adalah tipe LDO (Low Drop Output). Contoh untuk regulator dengan drop output sebesar 0.35V maka saat battery mengalami penurunan tegangan hingga 6.35 volt output pada regulator masih tetap pada tegangan 6 volt. Tegangan output akan turun dibawah 6 volt saat tegangan input regulator dibawah 6.35 volt.

Power Regulator DDC-01

Modul DDC-01 adalah modul power regulator yang termasuk LDO dengan drop output sebesar 0.35 volt dan arus maksimum 3A. Modul ini juga dilengkapi dengan thermal protection yang mengamankan modul pada kondisi panas berlebih dan overcurrent protection yang mengamankan modul dari kondisi arus berlebih ataupun terhubung singkat.

Regulator juga dapat difungsikan untuk memisahkan sumber daya. Pada aplikasi yang menggunakan motor, sebaiknya sumber daya mikrokontroler dan sumber daya motor dipisahkan. Agar dapat diperoleh sumber daya terpisah dalam satu battery maka dapat dilakukan dengan menggunakan dua buah regulator

Dual Regulator

Apalagi mikrokontroler biasanya membutuhkan tegangan 5 volt, maka perlu ditambahkan sebuah regulator 5 volt untuk keperluan tersebut. Hal ini dapat dilakukan dengan dua buah Modul DDC-01

Motor adalah merupakan komponen induksi, sehingga seringkali gejala elektromagnet yang ditimbulkan oleh gerakan motor mengakibatkan arus balik yang masuk ke rangkaian elektronik. Arus balik terbesar terjadi apabila motor mendadak berputar ke arah yang sebaliknya dengan daya penuh. Hal ini akan menimbulkan gangguan pada sistem elektronik terutama pada mikrokontroler apabila memiliki sumber daya dari regulator yang sama. Agar noise dari arus balik ini sama sekali tidak mengganggu mikrokontroler, lebih baik lagi bila digunakan battery terpisah, regulator terpisah dan opto isolator untuk I/O-I/O mikrokontroler yang terhubung ke motor.

Modul Opto Isolator DIM-01

Modul DDC-01 juga didisain dengan konstruksi yang memanjang sehingga cocok untuk disematkan pada kaki-kaki robot. Tampak pada gambar berikut Modul DDC-01 dipasang di setiap kaki robot laba-laba

Regulator di Kaki Robot

Rechargeable Battery

Untuk memilih battery, perlu diperhatikan tegangan dan kapasitas battery selain juga ukuran dan beratnya. Tegangan yang dipilih sebaiknya tidak terlalu jauh dari tegangan yang dibutuhkan, hal ini dilakukan untuk menghindari disipasi panas yang terlalu besar pada regulator. Semakin besar perbedaan tegangan, maka daya yang dibuang untuk menurunkan tegangan semakin besar pula. W = VxIxt di mana V = perbedaan tegangan, I = arus yang dibutuhkan dan t adalah waktu.

Sedangkan kapasitas tergantung dari berapa arus yang dibutuhkan oleh robot dan berapa lama robot harus bekerja. Sebagai contoh battery dengan kapasitas 5000mAH seperti pada gambar di bawah ini, battery ini akan menghasilkan arus sebesar 5000mA atau 5A selama 1 hour atau 1 jam.

Rechargeable Battery

Battery tersebut adalah tipe NiMH atau Nickel Metal Hydride Cell yang memiliki ukuran lebih kecil untuk kapasitas yang sama dibanding Battery NiCd ataupun Li-on (Lithium Ion). Ukuran yang kecil dan beratnya yang ringan membuat battery ini sangat cocok untuk aplikasi robotik di mana ukuran dan berat merupakan hal yang sangat kritis.

Dengan battery 7.2 volt dibutuhkan regulator agar tegangan dapat diturunkan sesuai kebutuhan motor servo yang biasanya berkisar 5 atau 6 volt. Dengan battery kapasitas ini dan regulator, penurunan tegangan pada battery tidak akan mengganggu kinerja robot selama masih di atas 6.3 volt (tegangan yang dibutuhkan + nilai drop output regulator).

Namun untuk anggaran robot yang lebih murah, dapat juga digunakan battery 6 volt tanpa melalui regulator. Tentunya dengan konsekwensi, penurunan nilai tegangan battery akan langsung mempengaruhi kinerja robot.

Battery NiMH 2000mA 6V

Untuk sistem mikrokontroler, bila diinginkan sumber daya yang betul-betul terpisah, dapat ditambahkan lagi battery yang lebih kecil kapasitasnya dengan tegangan yang lebih kecil pula seperti battery 6V / 1.3A pada gambar berikut

Battery 6V

Battery Charger

Bagian yang tak kalah penting lagi adalah bagian pengisi battery atau Battery Charger. Agar battery yang diisi dapat berumur panjang maka perlu dihindari kondisi memory effect dengan membuang muatan battery terlebih dahulu sebelum proses pengisian dilakukan.

Battery Charger iMax B6AC adalah merupakan battery charger yang selain mengisi, juga dapat membuang muatan battery 0.1 – 1A. Battery charger ini juga dilengkapi LCD untuk monitoring pengisian untuk setiap selnya.

NiMH & Li Po Battery Charger Discharger

Battery charger ini juga dapat digunakan untuk pengisian battery Lithium Polimer atau Lipo. Selain itu sumber daya dari battery charger ini dapat menggunakan sumber daya AC 100V hingga 240VAC baik 50 atau 60Hz dan juga sumber daya DC 11 – 18 Volt DC

Paulus Andi Nalwan, Delta Electronic

AN0178 Sistem Mikrokontroler, Downloader dan DC Driver

Sunday, January 1st, 2012

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 Driver

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

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)

Bagi pengguna yang ingin menggunakan V3 di Win 7 dapat membuat Win 7 bekerja dalam mode XP dapat mengikuti petunjuk dalam link ini http://www.microsoft.com/windows/virtual-pc/.

DU ISP juga memiliki jumper untuk mengaktifkan power supply dari port USB sehingga downloader dan target board tidak lagi membutuhkan power supply eksternal melainkan cukup mengambil dari power USB. Namun hal ini sangat tidak disarankan pada target board yang membutuhkan arus besar seperti pada power robot yang biasanya juga terhubung pada motor.

DU ISP didisain dengan menggunakan bahan PCB FR4 1mm through hole yang kuat dan tidak mudah korosi.

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

Selain downloader, sistem mikrokontroler dan dc driver, modul ini juga menyediakan port-port untuk I/O maupun sensor

Juga terdapat 210 lubang project board seperti pada gambar berikut yang dapat digunakan oleh pengguna untuk memberikan rangkaian tambahan pada robot anda

robotic pro board

Delta Robo Kits juga memiliki 90 lubang spacer untuk keperluan sebagai penyangga aksesoris-aksesoris robot seperti mekanik, sensor, pemadam api dan lain-lain

Delta Robo Kits didisain dengan PCB FR4 through hole yang tidak mudah korosi.

Paulus Andi Nalwan, Delta Electronic

AN0177 Sensor-sensor untuk keperluan Robot KRCI

Sunday, January 1st, 2012

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

Robot KRCI mendeteksi 8 arah mata angin

Sensor Ultrasonik

Sensor ini adalah merupakan sensor jarak yang bekerja dengan mengirimkan suara ke obyek yang diukur dan perhitungan jarak dilakukan berdasarkan waktu yang terhitung mulai gelombang ultrasonik dipancarkan hingga diterima kembali.

Devantech SRF-05

Merupakan sensor jarak ultrasonik produksi Devantech yang merupakan penyempurnaan dari versi sebelumnya SRF04. Devantech SRF05 mampu menghitung jarak hingga 4 meter (SRF04 hanya 3 meter). Dengan teknik akses yang masih sama persis dengan SRF04 yaitu dengan memberikan pulsa trigger dan informasi jarak akan dikirim dalam bentuk pulsa echo di mana lebar pulsa akan mewakili jauhnya jarak. Satu hal lagi kelebihan SRF05 adalah kemampuan tambahan untuk diakses dengan hanya menggunakan satu jalur I/O saja selain teknik lama yang menggunakan 2 jalur tetap dipertahankan.

D-Sonar

Sensor Ultrasonic 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 Jarak Inframerah

Sharp GP2D12

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.

sudut pantul gp2y0a21

Versi terbaru dari GP2D12 saat ini adalah GP2Y0A21. Bagian LED Drive circuit akan memancarkan cahaya inframerah ke obyek dan memantulkan dalam sudut yang sama. Apabila obyek menjauh maka sinar akan diterima semakin ke kanan dan tegangan keluaran akan semakin mengecil.

Sinar diterima pada phototransistor yang ada di dalam bagian signal processing circuit dan menghasilkan tegangan analog yang dikeluarkan ke bagian output

GP2D12, GP2Y0A21 Block Diagram

Hasil output tegangan tersebut tidaklah linier melainkan membentuk kurva seperti pada gambar berikut. Sensor mulai menampilkan jarak yang valid saat berada di jarak sekitar 4 cm dan menurun hingga 80 cm.

Kurva gp2d12 atau gp2y0a21

Untuk menghitung jarak maka dapat dilakukan dengan dua cara yaitu look up table dan interpolasi. Teknik paling sederhana adalah look up table yaitu dengan menyimpan di memori jarak-jarak berdasar kondisi tegangan sesuai dengan tabel di atas.

Berikut ini adalah beberapa sensor inframerah untuk pengukur jarak yang ada.

  • GP2D12, versi lama dengan jarak maksimum 80 cm
  • GP2Y0A21, versi terbaru dari GP2D12 dengan jarak maksimum 80 cm
  • GP2Y0A02, untuk jarak maksimum 150 cm

Sensor Kompas

Saat robot pertama kali berada pada posisi sejajar dengan dinding maka posisi tersebut harus disimpan sebagai referensi. Posisi tersebut disimpan dalam bentuh arah terhadap mata angin sehingga dibutuhkan sensor kompas untuk hal ini.

Devantech CMPS03

Devantech CMPS03 Digital Compass

Merupakan sensor kompas keluaran Devantech dengan antarmuka I2C.

Devantech CMPS10

Devantech CMPS10 Digital Compass

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.

Uneven Floor

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

UVTRON Sensor R2868 atau 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 Driver C10423

TPA81 Thermopile Array

TPA81 Thermophile 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. Antarmuka TPA81 adalah dalam bentuk I2C

Paulus Andi Nalwan, Delta Electronic