Archive for the ‘Tingkat Dasar’ Category

Dasar Robotika 3 – Robot Target Untuk Sasaran Tembak

Sunday, October 25th, 2020

Aplikasi robot kali ini berbeda dari biasanya, yaitu robot target untuk sasaran tembak. Dengan menambahkan dua modul Delta Infrared Fire & Target pada robot yang kita rancang pada bab 2 maka aplikasi robot sasaran tembak ini dapat dibuat. Bila sebelumnya permainan tembak menembak sasaran dilakukan di layar televisi dengan playstation maka pada aplikasi robot kali ini, permainan tersebut dapat dilakukan lebih realistis di luar layar televisi.

Proses menembak robot ini dilakukan dengan memancarkan cahaya inframerah ke sebuah sensor yang ada pada robot. Cahaya inframerah yang terpancar sifatnya divergen atau menyebar, oleh karena itu agar diperoleh tembakan inframerah yang terfokus, cahaya ini dilewatkan ke sebuah reflektor berupa material logam berbentuk tabung dengan lubang di kedua sisinya. Material ini dapat diperoleh dari spacer dengan lubang di kedua sisi.

Gambar 1

Cahaya yang telah terfokus tersebut akan ditembakkan hingga mengenai TSOP4838 yang berfungsi sebagai infrared receiver pada Delta Infrared Fire & Target yang terpasang pada robot. Sedangkan Delta Infrared Fire & Target akan memerintahkan robot yang menjadi target untuk berhenti. Seperti telah dijelaskan sebelumnya pada bab 1 di mana Delta DC Driver yang berfungsi sebagai pengendali motor robot ini akan berhenti apabila kaki left enable dan right enable diberi tegangan 5 Volt maka Delta Infrared Fire & Target akan memberikan tegangan 5 Volt pada bagian tersebut sehingga robot terhenti.

Robot hanya akan dapat dijalankan kembali dengan cara merestart sistem yaitu dengan mematikan tombol power pada kotak battery dan mengaktifkan kembali.

Gambar 2

Daftar Bahan Baku

Jumlah Nama Barang Kode
1 Delta DC Driver 003-002
1 Delta Robo Wheel 004-0001
2 Battery Pack
2 Delta Infrared Fire & Target
1 Black Housing 6 pin 022-0043
3 Black Housing 1 pin 022-0031
2 Spacer dengan dua lubang 014-0022

Untuk membangun aplikasi ini maka dibutuhkan bahan-bahan sebagai berikut:

-         1 Unit Modul Delta DC Driver yang kita rancang pada aplikasi robot pada bab 2

-         1 Unit Delta Robo Wheel Set berupa motor, gearbox lengkap dengan rodanya

-         2 Unit Battery pack untuk tempat battery

-         2 Unit Delta Infrared Fire & Target

Penjelasan lebih detail mengenai bagaimana cara kerja Delta Infrared Fire & Target menembakkan cahayanya telah dijelaskan pada bab 1 oleh karena itu berikut ini akan dijelaskan mengenai langkah-langkah instalasi unit.

Petunjuk Instalasi

  1. Siapkan Delta DC Driver dan Delta Robo Wheel Set seperti pada langkah 1 hingga langkah 8 pada robot penjejak garis (bab 2) kecuali Part A Line Follower tidak harus dipasang dalam aplikasi ini.
  2. Siapkan Modul Delta Infrared Fire & Target 2 unit dan pasang di belakang robot seperti pada gambar 3

Gambar 3

3. Hubungkan +6V dan GND dari modul ke VCC dan GND pada port Delta DC Driver (Gambar 3.4)

4. Hubungkan keluaran Delta IR Fire & Target di P1.4 ke Left Enable dan Right Enable Delta DC Driver

5. Diagram pengkabelan antara Delta DC Driver dan Delta Infrared Fire & Target adalah seperti tampak pada gambar 3.5

Gambar 4

Gambar 5

7. Robot untuk target telah siap, berikutnya yang diperlukan adalah bagian penembak. Siapkan 1 unit lagi Delta Infrared Fire & Target

8. Masukkan LED-LED Inframerah ke dalam reflektor berupa spacer

9. Pasang Switch Pushbutton di antara P3.0 dan GND (Gambar 3.6)

10. Pasang Battery 6V di input power Delta Infrared Fire & Target

11. Aktifkan robot target dengan menekan saklar pada battery

12. Arahkan reflektor ke arah sensor yang ada pada robot yang sedang berjalan

13. Robot target akan berhenti saat tembakan mengenai sensor

Gambar 6

Robo War Fire & Target

Tips

  1. Untuk mempermudah penembakan, gunakan pistol mainan yang dilengkapi dengan saklar pada bagian pelatuk dan hubungkan ke bagian saklar dari Delta Infrared Fire & Target
  2. Untuk memperpanjang jarak tembak, perpanjang spacer dengan dua buah spacer dan direkatkan dengan lem pada bagian luarnya

Paulus Andi Nalwan, DELTA ELECTRONIC

AN-0194 Dasar Robotika 2 – Membuat Robot Line Follower Sederhana

Thursday, October 22nd, 2020


Teori Dasar

Robot Penjejak Garis adalah robot yang bergerak secara otomatis mengikuti lika-liku garis yang ada di permukaan lantai. Untuk mengenali pola garis, digunakan sensor cahaya yang akan mendeteksi terang gelap dari permukaan yang ada di bawahnya. Untuk itu harus diperoleh perbedaan warna yang menyolok antara warna garis dan warna permukaan lantai.

Sensor cahaya yang paling sesuai untuk aplikasi ini adalah sensor inframerah berupa phototransistor. Inframerah memiliki lebar frekwensi yang tertentu (Gambar 2.1) sehingga robot dapat membedakan antara cahaya lampu atau cahaya-cahaya lain yang tidak mengandung inframerah dan cahaya inframerah dari sensor robot.

Namun demikian, cahaya matahari masih juga mengandung sinar-sinar inframerah yang mungkin dapat mengganggu, oleh karena itu phototransistor yang digunakan sebaiknya memiliki lapisan pelindung cahaya berwarna hitam seperti yang ada pada TOPS030TB untuk phototransistor ukuran 3mm atau TOPS050TB untuk phototransistor ukuran 5 mm.

Gambar 2.1

Proses pengenalan terang gelap dilakukan dengan menembakkan sinar inframerah ke obyek. Apabila obyek yang dituju memiliki warna yang terang maka sinar akan dipantulkan dan mengenai phototransistor, namun bila obyek yang dituju memiliki warna yang telap maka sinar yang dipantulkan akan lebih sedikit atau bahkan tidak dipantulkan sama sekali karena terserap warna gelap tersebut.

Cahaya inframerah yang terpantul akan membias phototransistor sehingga phototransistor akan mengalirkan arus dari kolektor ke emitor. Seringkali aliran arus ini masih kurang besar untuk memberikan perubahan kondisi tegangan yang dapat dikenali oleh otak robot. Oleh karena itu perlu ditambahkan sebuah transistor yang menguatkan perubahan arus tersebut. (Gambar 2.2)

Gambar 2.3 menunjukkan kondisi di mana sensor memperoleh warna terang dan phototransistor mengalirkan arus dari kolektor ke emitor. Karena phototransistor ON (saturasi) maka kaki kolektornya akan terhubung ke ground sehingga tegangan turun mendekati 0 Volt. Hal ini mengakibatkan transistor OFF (Cut off) dan kolektor transistor berada pada kondisi terbuka. Arus akan mengalir dari VCC melalui resistor ke otak robot sehingga input otak robot akan memperoleh tegangan mendekati VCC.

Gambar 2.2

Gambar 2.3

Gambar 2.4

Pada saat cahaya mengenai obyek gelap maka cahaya inframerah akan terserap dan phototransistor tidak memperoleh bias sehingga berada pada kondisi Cut Off. Arus tidak lagi mengalir ke emitor melainkan mengalir ke basis transistor dan membuat transistor tersebut saturasi (ON). Kolektor dan emitor akan terhubung sehingga keluaran sensor yang terhubung ke otak robot adalah tegangan 0 Volt.

Dengan rangkaian sensor ini maka akan diperoleh tegangan 0 Volt sebagai indikasi adanya warna gelap dan tegangan 5 Volt sebagai indikasi adanya warna terang. Dasar proses penjejak garis secara sederhana adalah berbelok ke kiri saat robot terlalu kanan dari garis dan berbelok ke kanan saat robot terlalu kiri dari garis. Robot akan bergerak ke kanan saat sensor kanan mengenai garis dan bergerak ke kiri saat sensor kiri mengenai garis seperti pada gambar 2.5

Gambar 2.5

Penggunaan sensor berbentuk sungut akan mempermudah robot penjejak garis dalam menjejak garis dengan berbagai macam ukuran. Sensor yang terletak di ujung sungut yang fleksibel akan mengenali berbagai macam ukuran garis dengan mengatur posisi sungut.

Delta DC Driver dalam hal ini yang berfungsi sebagai Dual H-Bridge Driver akan menggerakkan motor ke arah mundur saat tegangan di kaki Left dan Right Motor 0 Volt dan menggerakkan motor ke arah maju saat tegangan di kaki Left dan Right Motor 5 Volt. Sedangkan kaki Left dan Right Enable dihubungkan ke Ground (0 Volt) untuk mengaktifkan motor. Pada gambar 2.6 kedua kaki Left dan Right Motor dari Delta DC Driver dihubungkan ke sensor kiri dan sensor kanan robot. Pada saat sensor kiri mendeteksi garis dan sensor kanan tidak mendeteksi garis maka tegangan sensor kiri adalah 5 Volt dan sensor kanan 0 Volt.

Motor kiri akan bergerak mundur dan motor kanan bergerak maju sehingga robot berputar ke kiri.

Sebaliknya saat sensor kanan mendeteksi garis dan sensor kiri tidak, maka tegangan sensor kanan adalah 5 Volt dan sensor kiri 0 Volt. Motor kanan akan bergerak mundur dan motor kiri bergerak maju sehingga robot berputar ke kiri.

Untuk mekanik penggerak di sini digunakan motor tamiya yang dilengkapi sistem gigi dan roda. Gigi 10 yang terhubung pada as motor terhubung dengan gigi transfer 28 ke 10 membentuk perbandingan 10: 28. Gigi transfer ini juga terhubung lagi ke gigi transfer 28 ke 10 sehingga membentuk lagi perbandingan 10:28 dan terakhir terhubung pada gigi 28 yang terhubung juga dengan as roda sehingga diperoleh perbandingan

Maka akan diperoleh torsi 22 kali lebih kuat dengan kecepatan 22 kali lebih lambat

Gambar 2.7

Langkah-langkah Instalasi

  1. Siapkan Delta DC Driver dan solder komponen-komponen sesuai gambar 2.8

Gambar 2.8

  1. Pasang Delta Robo Wheel ke Delta DC Driver dan pastikan kelima konektor masuk di lubang-lubang yang ada pada PCB
  2. Pastikan kelima konektor menembus PCB cukup banyak dan lakukan penyolderan pada kelima konektor tersebut
  3. Hubungkan V+ ke VCC dari konektor 5 pin seperti pada gambar 2.10
  4. Pasang spacer di empat posisi Delta DC Driver seperti tampak pada gambar 2.11
  5. Pasang tempat battery pada spacer-spacer tadi seperti tampak pada gambar 2.11

Gambar 2.9

Gambar 2.10

Gambar 2.11

7. Pasang sungut (Part A Line Follower) sesuai pada gambar 2.12

Gambar 2.12

8. Pasang kabel dari Battery seperti pada gambar 2.1

9. Pasang kabel dari Part A Line Follower ke Delta DC Driver. Bagian sisi konektor 5 pin dihubungkan ke Delta DC Driver dan bagian sisi konektor kancing dihubungkan ke Part A Line Follower seperti pada gambar 2.13

Gambar 2.13

10. Atur kedua sungut robot agar berada sedikit di luar garis

Gambar 2.14

11. Aktifkan saklar battery dan robot akan bergerak mengikuti lika liku garis

Paket Robot Line Follower Sederhana ini dapat diperoleh di sini

Paulus Andi Nalwan, DELTA ELECTRONIC

AN-0204 Membangun Robot KRCI / KRPAI dengan menggunakan DH-18 Delta Hexapod 18 Servo

Tuesday, April 16th, 2019

Bila pada artikel-artikel yang lalu telah dibahas mengenai pembuatan Robot KRPAI / KRCI beroda seperti di AN-0199 dan AN-0201 maka pada artikel ini akan kita bahas Robot KRPAI kategori berkaki yang digunakan ntuk kontes robot cerdas indonesia.

Secara garis besar prinsip kerja Robot KRPAI berkaki tidak berbeda jauh dengan Robot KRPAI Beroda, perbedaan utama hanya terletak pada cara berjalannya saja seperti yang telah dijelaskan di AN-0183.    Namun pada artikel ini robot berkaki yang dibahas adalah DH-18 (Delta Hexapod 18 Servo) di mana telah dilakukan penyempurnaan sebagai berikut

  • Hexapod Controller menggunakan Delta Hex Engine yang diproduksi oleh Delta Electronic dan  memiliki tambahan fitur untuk kalibrasi servo ataupun auto test di mana robot dapat berjalan sendiri dengan menggunakan sebuah sensor HCSR04 sebagai acuan untuk mendeteksi halangan
  • Servo Regulator yang lebih kuat dayanya yaitu 6V / 45A untuk ke 18 servo yang ada pada DH-18 disusun oleh 15 unit modul MP1584 Voltage Regulator

Delta Hex Engine V2

Delta Hex Engine V2 ini disusun oleh sistem minimum ATMega8535 (ST-8535) yang berfungsi sebagai sistem minimum mikrokontrolernya dan PCB DSR-08 yang berfungsi sebagai bridge untuk soket ke servo-servo yang digunakan. Di sini unit DSR-08 tidak terpasang IC namun hanya soket-soket saja, karena dalam hal ini PCB DSR-08 hanya dibutuhkan sebagai konverter dari konektor-konektor ST-8535 ke servo.

Agar dapat bekerja sesuai fungsinya, masing-masing servo harus dipasang pada port-port yang telah ditentukan pada tabel berikut.

Port di Delta Hex Engine

Nomor Servo

Fungsi Servo

PC0

0

Kaki kiri depan gerak vertikal

PC1

1

Kaki kiri depan gerak horisontal, ruas tengah

PC2

2

Kaki kiri depan gerak horisontal, ruas ujung

PC3

3

Kaki kiri tengah gerak vertikal

PC4

4

Kaki kiri tengah gerak horisontal ruas tengah

PC5

5

Kaki kiri tengah gerak horisontal, ruas ujung

PC6

6

Kaki kiri belakang gerak vertikal

PC7

7

Kaki kiri belakang gerak horisontal ruas tengah

PA0

8

Kaki kiri belakang gerak horisontal, ruas ujung

PA1

9

Kaki kanan depan gerak vertikal

PA2

10

Kaki kanan depan gerak horisontal ruas tengah

PA3

11

Kaki kanan depan gerak horisontal, ruas ujung

PA4

12

Kaki kanan tengah gerak vertikal

PA5

13

Kaki kanan tengah gerak horisontal ruas tengah

PA6

14

Kaki kanan tengah gerak horisontal, ruas ujung

PA7

15

Kaki kanan belakang gerak vertikal

PB0

16

Kaki kanan belakang gerak horisontal ruas tengah

PB1

17

Kaki kanan belakang gerak horisontal, ruas ujung

Adapun wiring diagram antara Delta Hex Engine dan modul-modul lainnya dapat dilihat di wiring diagram total Robot KRPAI di bawah ini

Blok Diagram Robot KRPAI berkakiDi sana terlihat bahwa Delta Hex Engine dikendalikan oleh DH-18 CPU yang merupakan otak utama robot melalui jalur UART / Serial. Hal ini membuat kinerja dari DH-18 CPU menjadi tidak terlalu berat karena fungsi pengaturan PWM-PWM untuk servo sepenuhnya diatur oleh Delta Hex Engine dan DH-18 CPU hanya berfungsi untuk memberi perintah gerakan saja, seperti maju, mundur, belok dan berdiri.

Delta Smart TPA-64

Selain Delta Hex Engine, DH-18 CPU di sini bekerja juga dibantu dengan Delta Smart TPA yaitu sub system yang berfungsi untuk mengatur sistem pencarian dan pemadaman titik api. Dengan sensor TPA-64 sebagai komponen utamanya modul ini bekerja sebagai berikut:

  • Delta Smart TPA-64 akan menghitung rata-rata suhu ruangan di tiap pixelnya. Dalam TPA-64 terdiri dari 8 x 8 pixel area di mana area yang ada di depan sensor akan terbagi menjadi 64 pixel dan dapat dideteksi suhu di tiap2 pixelnya.
  • Setelah menerima perintah scan dari serial DH-18 CPU, Delta Smart TPA-64  akan menggerakkan servo yang membawa sensor TPA-64 dan penyemprot air ke kiri dan kekanan sambil mencari titik api
  • Titik api akan dideteksi dengan adanya pixel yang bersuhu = suhu ruangan + nilai setting suhu. Di sini nilai setting suhu pada kondisi standard adalah 5 derajat celcius. Pengguna dapat mengubah nilai tersebut secara custom melalui perintah yang dikirimkan pada port serial Delta Smart TPA-64 sesuai protokol yang dijelaskan pada user manualnya
  • Pada saat titik api ditemukan, maka LED merah akan menyala, namun Delta Smart TPA masih belum mengambil tindakan terlebih dahulu apabila titik api tersebut belum ditemukan di posisi tengah. Saat nilai titik api ditemukan pada posisi tengah dari area pixel, maka hal ini berarti titik api sudah berada tepat didepan penyemprot, maka Delta Smart TPA akan menghentikan gerakan servo dan menyemprotkan air
  • Proses penyemprotan dilakukan selama 2 detik dan dilanjutkan dengan menggerakkan servo ke kiri dan ke kanan lagi untuk memastikan api betul-betul padam.
  • Kemudian Delta Smart TPA akan menghentikan penyemprotan apabila titik api sudah tidak terdeteksi lagi dan memberitahukan ke DH-18 CPU bahwa api telah padam dan robot dapat bergerak kembali menjelajah ruangan
Wiring Diagram Delta Smart TPA

Wiring Diagram Delta Smart TPA

Paket Delta Smart TPA-64 ini terdiri dari:

1. Sensor suhu TPA-64 yang mendeteksi suhu di area 8 x 8 pixel

2. Bagian penyemprot yang dapat diatur besar kecil semprotannya

3. Servo HS-322 yang mengatur gerakan penyemprot untuk ke kiri dan ke kanan

4. Modul Delta Smart TPA-64 yang dirancang dari unit PCB DSR-08 yang diisi firmware Delta Smart TPA-64

Untuk lebih detail mengenai Delta Smart TPA-64 akan dibahas di AN0205 Pencarian dan Pemadaman Titik Api dengan menggunakan Delta Smart TPA64

Sensor Jarak Ultrasonic untuk menjelajah ruangan

Agar robot dapat berjalan tanpa menabrak dinding-dinding maka terdapat 6 buah sensor yaitu Sensor Kiri, Sensor Serong Kiri, Sensor Depan, Sensor Serong Kanan, Sensor Kanan dan Sensor Depan. Teknik jelajah ruangan yang digunakan sama dengan teknik yang digunakan pada robot beroda yang dijelaskan di AN0201
Merancang Robot KRCI/KRPAI Beroda dengan Sistem Fuzzy Logic (bagian 2)

Perbedaan di sini hanya terletak pada cara berjalan robot, bila pada robot beroda gerakan maju, mundur dan berbelok dilakukan dengan menggerakkan motor maka pada robot berkaki ini dilakukan dengan mengirimkan perintah-perintah ke Delta Hex Engine agar menggerakkan servo sesuai gerakan yang diminta.

Untuk sensor jarak yang digunakan di sini adalah HC-SR04 yaitu sensor ultrasonik yang akan mengukur jarak dengan menggunakan pantulan sinyal ultrasonik ke obyek. Hasilnya akan dikonversi dalam bentuk pulsa di mana lebar pulsa adalah berbanding lurus dengan jarak sensor ke obyek.

Sensor Jarak Ultrasonic

Cara kerja sensor ini sama seperti yang ada pada Devantech SRF-05 ataupun SRF-04 juga PING dari Parallax namun dengan harga yang jauh lebih ekonomis dapat diperoleh di sini.

Lebih detail mengenai kinerja sensor ini pada Aplikasi Robot KRPAI dapat dilihat di AN-0205 Teknik Monitor Sensor-sensor jarak pada Robot KRCI / KRPAI dengan menggunakan Aplikasi Android

http://delta-electronic.com/article/2015/09/an-0195-merancang-robot-krci-beroda-dengan-sistem-fuzzy-logic-bagian-1/dan AN-02002

AN-0198 Dasar Robotika 3 – Kerangka Robot

Tuesday, May 27th, 2014

Kerangka robot berdasarkan jenisnya terdiri dari:

Kerangka Robot Vehicle

Robot Vehicle adalah jenis robot beroda seperti pada Delta Robo Kits. Berikut adalah bagian-bagian dari kerangka Delta Robo Kits

Robot Vehicle biasanya memiliki roda, berikut adalah roda yang diproduksi oleh Delta Electronic yaitu Delta Robo Wheel V2 yang memiliki bagian-bagian sebagai berikut:

Kerangka Robot Walker

Robot walker adalah robot yang digerakkan oleh kaki, konstruksi yang
paling mudah adalah robot berkaki enam yang didisain dengan
menggunakan motor DC di mana gerakan memutar akan dikonversi
menjadi gerakan melangkah pada robot.

Robot Walker Sederhana

Untuk robot walker yang lebih kompleks, gerakan setiap kaki bukan lagi menggunakan gerakan memutar namun gerakan sudut yang dilakukan oleh motor servo. Sebagai contoh adalah robot laba-laba DH-18

Kerangka Robot Appendage

Robot Appendage didisain menyerupai bentuk lengan dan berfungsi
untuk memindahkan barang.

Paulus Andi Nalwan, ST Delta Electronic

Hardcopy

Dapatkan versi hardcopy disertai cara-cara membuat robot di sini

AN-0197 Dasar Robotika 2 – Motor Servo

Saturday, May 24th, 2014

Berbeda dengan motor DC, motor servo tidak bergerak kontinyu melainkan hanya menuju ke sudut tertentu dan berhenti di sudut tersebut. Motor ini digunakan untuk aplikasi gerakan-gerakan sudut dari robot contohnya gerakan lengan, gripper menjepit benda atau gerakan kaki melangkah.

Gambar 1 menunjukkan motor servo yang sering digunakan pada aplikasi robotik.

Motor Servo

Motor servo ini terdiri dari beberapa bagian sebagai berikut:

Jangkar untuk menghubungkan motor servo dengan obyek-obyek yang akan digerakkan.

Lubang Jangkar bagian ini berfungsi untuk menempatkan sekrup yang mengaitkan jangkar ke obyek-obyek yang akan digerakkan. Pada gambar 14 tampak lubang jangkar dihubungkan ke obyek dengan sekrup untuk gerakan memutar.

Lubang Sekrup yang berfungsi untuk mengaitkan motor servo dengan tubuh robot

Housing Servo, di dalam bagian ini terdapat motor DC, gearbox dan rangkaian pengatur sudut servo

Kabel, kabel yang menghubungkan rangkaian servo dengan pengendali servo

Konektor, konektor 3 pin yang terdiri dari input tegangan positif (+), input tegangan negatif (GND) dan input pulsa (Signal) dengan konfigurasi seperti pada gambar 4

jangkar motor servo

Gambar 2 Pemasangan obyek pada jangkar untuk gerakan memutar

motor servo pengait
Gambar 3 Pemasangan obyek untuk gerakan mengait

Pin Out Motor Servo
Gambar 4. Pin Out Motor Servo

Tidak seperti pada Motor DC, untuk mengendalikan motor servo harus dilakukan dengan terlebih dahulu melalui rangkaian pengatur sudut di mana rangkaian ini membutuhkan masukan berupa pulsa. Pada umumnya pulsa servo berada di antara 1 hingga 2 mS di mana 1.5 mS adalah merupakan titik tengahnya seperti tampak pada gambar 5

pulsa servo

Gambar 5. Pulsa Servo

Parameter-parameter yang perlu dipertimbangkan dalam memilih motor servo adalah:

  • Tegangan operasi: Tegangan sumber dari motor servo, contohnya pada HS-645MG adalah 4.8V – 6V.
  • Operating Speed atau kecepatan operasi: Merupakan kecepatan servo untuk bergerak menuju sudut tertentu. Contoh pada HS-645MG adalah 0.24 detik untuk menuju sudut 60 ?C pada tegangan 4.8V dan tanpa beban
  • Stall Torque adalah torsi paling maksimum yang dapat dilakukan oleh motor servo ini. Kondisi ini tidak boleh berlangsung terlalu lama. Contoh pada HS-645MG adalah 9.6 kg.cm yang artinya adalah menarik beban 9.6 kg dengan jangkar sepanjang 1 cm.
  • Current Drain adalah arus yang digunakan motor servo. Contoh pada HS-645MG 9.8mA saat standby dan 450mA saat beroperasi / bergerak tanpa beban
  • Dead Band Width adalah akurasi servo dalam bergerak. Gerakan servo baru terjadi apabila perubahan pulsa lebih besar ari 6 uS

Pulsa motor servo biasanya dibangkitkan oleh komponen cerdas seperti mikrokontroler atau modul elektronik Delta Servo Controller. Modul Delta Servo Controller berfungsi untuk membangkitkan pulsa-pulsa untuk mengendalikan motor servo dari PC. Dengan bantuan software PC Servo Controller maka enam motor Servo dapat dikendalikan dengan menggeser-geser panel yang ada pada software tersebut.

Gambar 6. PC Servo Controller

Paulus Andi Nalwan, ST Delta Electronic

Hardcopy

Dapatkan hardcopy artikel ini di

Dapatkan versi hardcopy disertai cara-cara membuat robot di sini

Modul Pendukung
- DSR-08 Delta Servo Controller

AN-0193 Dasar Robotika 1 – Motor DC

Sunday, March 24th, 2013

Pada sebuah robot, motor ini merupakan bagian penggerak utama di mana hampir setiap robot pasti selalu menggunakan motor DC. Kecuali beberapa robot yang menggunakan pneumatic, muscle wire atau motor AC.

Motor DC terdiri dari sebuah magnet permanen dengan dua kutub dan kumparan, cincin belah yang berfungsi sebagai komutator (pemutus arus)

  1. Arus mengalir dari sisi kiri cincin belah ke sisi kanan. Arus ini akan dilanjutkan ke kumparan yang terkait pada cincin belah
  2. Arus mengalir dalam kumparan menimbulkan medan magnet dan membentuk kutub-kutub magnet pada kumparan
  3. Kutub magnet yang sama dengan kutub magnet permanen akan saling tolak menolak dan kumparan akan bergerak memutar hingga kumparan berada pada posisi di mana kedua kutubnya berbeda dengan kutub magnet permanen.

Fase 1 Motor DC

Fase 2 Motor DC

  1. Perputaran kumparan yang terkait pada cincin belah akan mengakibatkan perubahan polaritas pada kumparan karena sikat-sikat (brush) yang dialiri listrik terhubung pada sisi cincin belah yang berbeda
  2. Perubahan polaritas kumparan juga mengakibatkan perubahan kutub pada kumparan sehingga kumparan kembali bergerak memutar.
  3. Proses tersebut terjadi berulang-ulang sehingga kumparan akan berputar secara kontinyu selama aliran arus terjadi pada kedua kutub sikat.

Arah putaran motor DC dapat diubah dengan mengubah polaritas aliran arus yang terhubung ke sikat-sikatnya. Sedangkan kecepatan putar motor tergantung dari berapa besar arus yang mengalir. Paulus Andi Nalwan, Delta Electronic

Hardcopy

Dapatkan versi hardcopy disertai cara-cara membuat robot di sini

Buku Robot Dasar

Artikel-artikel pendukung

AN0182 Membangun Sistem Mekanik Pada Robot KRCI kategori beroda

AN0181 Membangun Rangkaian Elektronik Robot Beroda

AN0043 Pengaturan Arah Motor DC

Bahan-bahan pendukung

AN-0189 Aplikasi Micro Tank Dengan Remote Sony

Friday, July 20th, 2012

Pada aplikasi kali ini akan membahas mengenai penggunaan protocol remote sony sebagai sarana untuk pengaturan robot micro tank. Micro tank ini sendiri dilengkapi dengan sensor infra merah yaitu TSSOP dan juga infraled diode untuk memancarkan sinyal infra merah sesuai dengan protocol remote sony. Adapun protocol remote sony adalah seperti dibawah ini:

Gambar 1 Protokol Remote Sony

Dari gambar 1 diatas dapat dilihat bentuk gelombang yang dipancarkan remote sony. Data remote itu sendiri terdiri dari :

  • Start bit
  • Space
  • 7 bit perintah
  • 5 bit alamat

Untuk pengiriman data, remote sony ini menggunakan data lsb duluan kemudian data msb. Sedangkan yang dibaca oleh mikrokontroler adalah output TSSOP, gambar bawah pada gambar 1. Dimana output dari TSSOP ini adalah kebalikan dari ouput remote sony, sehingga kita nanti pada program untuk pembacaan lebar pulsa ini kita baca pada level low. Untuk membedakan antara ‘0’ dan ‘1’ pada protocol remote sony ini menggunakan lebar pulsa, untuk ‘0’ lebar pulsanya 0,6 ms sedangkan untuk ‘1’ selebar 1,2 ms. Sedangkan untuk start bit lebar pulsanya sebesar 2,4 ms. Jadi nantinya pada program kita harus mengukur lebar pulsa tersebut untuk dapat membedakan start bit dan data.

Untuk memancarkan kembali kita juga harus menuruti aturan seperti diatas tersebut, dimana kita harus menghasilkan pulsa dengan lebar pulsa yang sesuai dengan remote sony. Hal ini diperlukan untuk kompatibilitas dengan remote sony, dan juga ini digunakan untuk proses tembakan yang digunakan oleh mini tank. Setelah kita memahami semua bentuk protocol dari remote sony baru kita bisa membuat program yang akan mendecode protocol dari remote sony tersebut.

TSSOP ini adalah komponen yang akan menerima sinyal infra merah, pada prinsipnya sinyal infra merah ini dimodulasikan pada frekuensi 40Khz. Sehingga sinyal infra merah yang dipancarkan bisa mencapai jarak yang jauh. Nantinya pada program untuk memancarkan sinyal infra merah ini akan memodulasikan sinyal infra merah pada frekuensi 40Khz. Pada TSSOP sudah terintegrasi rangkaian yang akan memodulasikan sinyal infra merah yang diterima, kemudian akan mengeluarkan pulsa ‘0’ jika menerima sinyal infra merah yang dimodulasikan pada frek 40Khz. Sehingga memudahkan kita dalam program, karena kita tidak perlu membuat program untuk mendemodulasikan sinyal infra merah yang diterima.

Setelah selesai membahas protocol remote sony yang kita gunakan untuk komunikasi data dari satu mini tank ke micro tank yang lain. Sekarang kita memahami bagian penggerak dari micro tank itu sendiri. Micro tank ini menggunakan 2 motor yang mini, sesuai dengan namanya, sehingga memudahkan kita dalam penggunaannya. Motor ini tidak membutuhkan arus yang besar sehingga tidak diperlukan driver untuk menggerakkan motor ini. Gambar berikut ini menggambarkan sambungan dari mikrokontroler ke motor. Dari gambar dapat dilihat rangkaian yang sangat sederhana. Mikrokontroler mampu memberikan arus sebesar 20 mA setiap output. Jadi untuk membuat motor bergerak maju dan mundur dengan cara mengatur level output mikrokontroler yang tersambung ke motor.

Hubungan Motor dengan Mikrokontroler

Setelah membahas sambungan maupun rangkaian kita mulai membahas program. Pertama kita akan membahas mengenai pembacaan remote sony, potongan program dibawah ini merupakan program yang digunakan untuk mendefinisikan port mikro sebagai input, mengaktifkan timer untuk mengukur lebar pulsa dari sinyal infra merah yang diterima.

DDRD=0xFB

PORTD=0×04

void baca data infra(void)

{

uint8_t i;

perintah infra=0;

alamat infra=0;

TCCR1B=0×02;

TCNT1=0;

while( !(PIND & 0×04) );

if( TCNT1>2400 )

{

while( PIND & 0×04);

for( i=0; i<7; i++ )

{

TCNT1=0;

while( !(PIND & 0×04) );

if( TCNT1>1200 ) perintah infra|=0×80;

while( PIND & 0×04 );

perintah infra>>=1;

}

for( i=0; i<5; i++)

{

TCNT1=0;

while( !(PIND & 0×04) );

if( TCNT1>1200 ) alamat infra|=0×80;

while( PIND & 0×04 );

alamat infra>>=1;

}

}

perintah infra&=0×7F;

alamat infra>>=2;

alamat infra&=0×1F;

TCCR1B=0×00;

}

Pada potongan program diatas, baris 1 untuk mendefinisikan port d.2 sebagai input, kemudian baris 2 untuk mengaktifkan pull up pada port tersebut. Pada prosedur baca data infra kita harus mengisikan data perintah dan alamat infra dengan nilai 0. Kemudian mengaktifkan timer 1 dengan frek 1 Mhz, dan kita harus mengisikan nilai timer dengan 0 . Kemudian menunggu selama pin infra merah dalam level low, itu dilakukan dengan perintah “while (!(PIND&0×04))” kemudian kita ukur lebar pulsa yang diterima. Hal ini dilakukan dengan membaca nilai timer, karena timer tadi kita aktifkan dengan frek 1Mhz maka didapat periode = 1us. Setelah didapat lebar pulsa, kemudian dicek apakah lebar pulsanya mencapai 2,4ms, jika ya berarti ada start bit yang diterima, lihat gambar 1,kita lanjutkan untuk pengecekan  data perintah dan data alamat yang dikirimkan. Pada gambar 1 terlihat setelah start bit maka berikutnya adalah data perintah sebanyak 7 bit, maka diperlukan pembacaan lebar pulsa sebanyak 7 kali. Pada potongan program diatas terlihat “for(i=0;i<7;i++)” perintah ini merupakan perintah untuk melakukan pengulangan. Kemudian dilakukan pengukuran lebar pulsa, jika lebar pulsa=1,2 ms maka data bitnya adalah 1 sedangkan jika 0,6ms data bitnya ‘0’ , setelah dilakukan pengukuran lebar pulsa, data bit digeser 1 bit kekiri ini dilakukan karena pada pengiriman data remote sony adalah lsb duluan. Setelah dilakukan pengecekan perintah infra berikutnya kita harus melakukan pengecekan alamat infra, alamat infra ini sebanyak 5 bit, lihat gambar 1. Prosedur pengukuran lebar pulsa pada pengecekan alamat infra ini sama dengan pengecekan perintah infra, yang beda hanya banyak pengulangan yang dilakukan.

Data dari setiap tombol yang ada pada remote sony berbeda-beda perintahnya, kita tinggal menentukan tombol mana saja yang digunakan untuk menggerakkan robot. Hal ini dapat dilakukan dengan menampilkan data remote yang diterima melalui serial port. Pada saat tombol di remote  ditekan secara terus menerus maka dilakukan pengiriman data secara terus menerus juga dengan jeda waktu 30ms. Berikutnya setelah data diterima tinggal kita menerjemahkan data tersebut menjadi pergerakan robot.

Berikut ini diberikan potongan program untuk menggerakkan robot mini tank, sebenarnya untuk pergerakan robot ini progamnya sangat mudah, hanya diperlukan untuk mengatur port-port mikro. Karena motor langsung terhubung ke port mikro dan tidak menggunakan driver motor.

void belok kanan(void)

{

ML_P_OUT;

ML_M_OUT;

MR_P_OUT;

MR_M_OUT;

ML_P_HIGH;

ML_M_LOW;

MR_P_HIGH;

MR_M_LOW;

}

void belok kiri(void)

{

ML_P_OUT;

ML_M_OUT;

MR_P_OUT;

MR_M_OUT;

ML_M_HIGH;

ML_P_LOW;

MR_M_HIGH;

MR_P_LOW;

}

void mundur(void)

{

ML_P_OUT;

ML_M_OUT;

MR_P_OUT;

MR_M_OUT;

ML_P_HIGH;

ML_M_LOW;

MR_M_HIGH;

MR_P_LOW;

}

void maju(void)

{

ML_P_OUT;

ML_M_OUT;

MR_P_OUT;

MR_M_OUT;

ML_M_HIGH;

ML_P_LOW;

MR_P_HIGH;

MR_M_LOW;

}

void berhenti(void)

{

ML_P_IN;

ML_M_IN;

MR_P_IN;

MR_M_IN;

}

Dengan potongan program diatas sudah dapat menjalankan robot micro tank untuk bergerak maju, mundur, belok kiri dan belok kanan.

Selamat berkreasi

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

AN-0180 Sistem Mekanik Robot

Friday, January 13th, 2012

Bagian ini adalah merupakan penggerak robot ataupun kerangka robot. Kerangka robot akan didisain sesuai dengan fungsi dari robot. Kerangka berbentuk lengan untuk robot yang bersifat statis atau kerangka robot berkaki untuk robot yang bergerak di medan yang tidak rata dan lain-lain.
Sedangkan bagian penggerak yang bagaikan otot dari robot biasa menggunakan motor. Beberapa robot bahkan menggunakan muscle wire (kawat otot) yaitu kawat yang merapat dan merenggang saat dialiri arus. Kawat ini lebih menyerupai gerakan otot dibandingkan motor, namun harganya yang cukup mahal membuat kawat ini jarang digunakan pada robot.

Motor

Motor adalah merupakan bagian penggerak pada robot, untuk aplikasi robot beroda motor yang digunakan adalah motor DC. Bagian ini biasanya berfungsi sebagai penggerak roda dan dibutuhkan torsi yang cukup besar. Oleh karena itu motor DC yang digunakan dilengkapi dengan gigi atau disebut motor gearbox.

Peningkatana kekuatan pada motor gearbox dilakukan dengan menambahkan gigi dengan perbandingan yang cukup besar seperti pada gambar berikut

perbandingan gigi

Tampak pada gambar di atas rasio dihitung dari perbandingan jumlah gigi. Dengan rasio 2:1 maka torsi yang dihasilkan akan meningkat 2 kali lipat namun kecepatan akan menurun dua kali juga.

Arduino DC Motor

Motor Gearbox

Motor ini memiliki rasio 1:100 yang meningkatkan kekuatan motor menjadi 100 x sehingga diperoleh torsi 5.5 kg-cm pada kekuatan penuh. Motor ini bekerja dengan kecepatan maksimum 240 rpm

Motor Servo

Untuk aplikasi robot berkaki, gerakan-gerakan tidak hanya memutar, namun gerakan sudut lebih banyak diperlukan. Untuk itu dibutuhkan motor servo, yaitu motor yang bergerak menuju sudut tertentu berdasarkan lebar pulsa PWM yang diterima.

Motor Servo

Motor servo ini terdiri dari beberapa bagian sebagai berikut:
Jangkar untuk menghubungkan motor servo dengan obyek-obyek yang akan digerakkan.
Lubang Jangkar bagian ini berfungsi untuk menempatkan sekrup yang mengaitkan jangkar ke obyek-obyek yang akan digerakkan. Pada gambar 14 tampak lubang jangkar dihubungkan ke obyek dengan sekrup untuk gerakan memutar.
Lubang Sekrup yang berfungsi untuk mengaitkan motor servo dengan tubuh robot
Housing Servo, di dalam bagian ini terdapat motor DC, gearbox dan rangkaian pengatur sudut servo
Kabel, kabel yang menghubungkan rangkaian servo dengan pengendali servo
Konektor, konektor 3 pin yang terdiri dari input tegangan positif (+), input tegangan negatif (GND) dan input pulsa (Signal)

Ada beberapa jenis motor servo yang biasa digunakan.

HS-645MG

HS-645MG

Motor servo ini memiliki torsi yang cukup besar yaitu 9.6 kg-cm dengan metal gear sehingga biasa ditempatkan pada bagian-bagian terberat yaitu bagian yang menopang robot.

Dengan kecepatan 60 derajat dalam 0.2 second berarti motor dapat bergerak 60 derajat dengan kecepatan 0.2 detik.

HS-225BB

Untuk aplikasi yang tidak terlalu berat dapat digunakan motor servo yang lebih lemah torsinya seperti HS-225BB

HS-225BB

Motor ini memiliki torsi 3.9 kg-cm dan juga terdapat versi metal gearnya yaitu HS-225MG

HS-225MG

HS-311

Untuk gerakan sudut yang torsinya lebih ringan lagi dapat dilakukan dengan menggunakan HS-311 yang dari segi harga sangat ekonomis

HS-311

Servo ini memiliki torsi 3.7 kg-cm dan kecepatan untuk menempuh sudut 60 derajat dalam 0.19 detik.

Encoder

Untuk Robot KRCI kategori beroda, diperlukan untuk mengetahui berapa jauh robot bergerak. Hal ini dapat dilakukan dengan menempatkan piringan encoder di bagian as motornya.

Encoder

Piringan tersebut memiliki celah-celah di mana cahaya inframerah dari LED bisa melewati dan mengenai phototransistor saat sejajar dengan celah dan cahaya akan terhalang saat celah bergeser. Proses ini akan menimbulkan lewat tidaknya cahaya inframerah saat as berputar.

LED Inframerah dan phototransistor seringkali dikemas dalam satu paket komponen yaitu opto interrupter seperti pada gambar berikut

Opto Interrupter

Pada saat lubang piringan tidak melalui celah tersebut, maka cahaya terhalang dan photo transistor berada dalam kondisi terbuka (cut off, baca bagian transistor). Tegangan pada keluaran rangkaian ini (kaki 1 dari connector 3 pin) adalah sebesar VCC, namun pada saat lubang piringan berada pada celah, cahaya tidak lagi terhalang dan photo transistor akan berada dalam kondisi saturasi. Arus mengalir dari VCC ke emitor melalui R 1K yang mengakibatkan keluaran dari rangkaian ini terhubung ke Ground atau tegangan 0 Volt. Putaran dari piringan encoder akan membuat keluaran rangkaian ini berubah-ubah dari logika 0 ke 1 dan kembali lagi ke 0 dan seterusnya.

Encoder

Mikrokontroler sebagai otak robot akan menghitung perubahan-perubahan kondisi ini menjadi perhitungan yang akan menentukan posisi gerakan motor. Sebagai contoh pada motor yang memiliki 10 celah encoder maka akan diperoleh perhitungan bahwa setiap celah mewakili sudut sebagai berikut
Sudut celah     =  360/jumlah celah
= 36º
Apabila terdeteksi adanya 3 pulsa maka akan diperoleh informasi bahwa motor telah bergerak 36º x 3 = 108º

Skema Encoder

Berikut ini adalah paket Delta Encoder Kit yaitu paket berisi encoder, opto interrupter dan komponen-komponen lain sesuai skema untuk membentuk sistem encoder.

Delta Encoder

Kerangka Robot

Agar diperoleh konstruksi robot yang baik, maka ada beberapa hal yang perlu diperhatikan pada bagian kerangka sebagai berikut:

  • Ringan agar tidak membutuhkan daya yang besar untuk bergerak sehingga torsi motor maupun battery sebagai sumber daya tidak harus besar
  • Kuat dan tidak mudah melengkung sehingga robot dapat bergerak lebih konsisten.

Kevlar adalah merupakan bahan yang ditemukan oleh Dupon pada tahun 1965 dan diproduksi pada tahun 1970. Bahan ini bersifat keras dan tidak mudah ditekuk namun memiliki berat yang sangat ringan bahkan lebih ringan daripada aluminium anodize sekalipun.

Sintesa Kimia Kevlar

Pada Robot Hexapod, bahan ini digunakan sebagai tubuh dan kaki-kaki robot seperti berikut.

Hexapod Mechanic

Klik di sini untuk memesan atau melihat dokumentasi videonya

Robot ini dikendalikan dengan 18 motor servo dan 6 buah kaki di mana masing-masing kaki memiliki 3 derajat kebebasan.

Paulus Andi Nalwan, Delta Electronic