Benda Tiga Dimensi Pengolahan Citra Digital Metode Pengenalan Benda

Gambar 3.1. Blok Diagram Sistem 3.2. Perancangan Mekanik Lengan Robot Pada tahap ini dilakukan perancangan mekanik dari robot tersebut, antara lain mendesain ukuran robot, penggunaan bahan dasar untuk lengan robot yaitu akrilik setebal 3mm. Pendesainan robot menggunakan software Google SketchUp. Lengan robot terdiri dari lima bagian utama yaitu poros, gripper, komponen 1, komponen 2, komponen 3. Gambar 3.2 menunjukan anatomi lengan robot secara keseluruhan. Berikut adalah gambar detail dari bagian-bagian lengan robot, yaitu: komponen 1 ditunjukan Gambar 3.3, komponen 2 ditunjukan Gambar 3.4, komponen 3 ditunjukan Gambar 3.5, gripper tampak atas ditunjukan Gambar 3.6. Gambar 3.2. Anatomi Lengan Robot Gambar 3.3. Komponen 1 Gambar 3.4. Komponen 2 Gambar 3.5. Komponen 3 Gambar 3.6. Gripper Tampak Atas Gambar 3.7. Peletakan Seluruh Komponen

3.3. Perancangan Perangkat Keras hardware

Ada beberapa komponen dalam perancangan subsistem perangkat keras lengan robot pemisah benda, diantaranya yaitu : a Minimum System ATmega32 + LCD 16x2 b Motor servo c Regulator ic 7805 + penguat arus d Webcam Logitech seri C270h e Sensor photodioda f Benda 3.3.1. Minimum System ATmega32 + LCD 16x2

3.3.1.1. Minimum System ATmega32

Rangkaian minimum system berfungsi sebagai IO untuk mengontrol atau mengendalikan sudut putar motor servo yang telah diprogram dalam mikrokontroler ATmega32 pada lengan robot serta sebagai pengolah data serial yang dikirimkan dari komputer melalui USB to TTL converter. Mikrokontroler membutuhkan minimum system yang terdiri dari rangkaian eksternal yaitu rangkaian osilator dan rangkaian reset. Untuk rangkaian osilator digunakan crystal dengan frekuensi sebesar 11,0592 MHz dan menggunakan kapasitor 22 pf pada pin XTAL1 dan XTAL2 di mikrokontroler. Rangkaian osilator ini berfungsi sebagai sumber clock bagi mikrokontroler. Pemberian kapasitor bertujuan untuk memperbaiki kestabilan frekuensi yang diberikan oleh osilator eksternal. Gambar 3.8 menunjukan rangkaian osilator. Gambar 3.8. Rangkaian Osilator ATmega32 [6] Perancangan rangkaian reset bertujuan untuk memaksa proses kerja pada mikrokontroler dapat diulang dari awal. Saat tombol reset ditekan maka mikrokontroler mendapat input logika rendah, sehingga akan me-reset seluruh proses yang sedang dilakukan mikrokontroler. Gambar 3.9 adalah rangkaian reset untuk ATmega32. Gambar 3.9. Rangkaian Reset ATmega32 [6] Pada gambar 3.9 terdapat resistor yang memiliki resistansi sebesar 4,7 KΩ yang difungsikan sebagai pull up. Resistor pull-up eksternal dapat digunakan untuk menjaga agar pin RESET tidak berlogika 0 secara tidak disengaja. Kapasitor 10nF digunakan untuk menghilangkan noise yang disusun seri dengan resistor. Rangkaian reset minimum system ATmega32 merupakan gabungan dari rangkaia push-button dan low-pass filter.

3.3.1.2. Rangkaian Konfigurasi LCD 16x2

Rangkaian LCD berfungsi untuk menampilkan nama benda yang terdeteksi oleh webcam agar user dapat melihat apakah webcam mendeteksi benda dengan benar. Rangkaian LCD dapat dilihat pada gambar 3.10. Penentuan konfigurasi kaki LCD menuju mikrokontroler ditentukan dengan melihat pada software compiler CodeVisionAVR seperti pada Gambar 3.11. Gambar 3.10. Skematik LCD 16x2 Gambar 3.11. Setting Port LCD

3.3.2. Perhitungan Torsi Motor Servo

Untuk menghitung besar torsi pada masing-masing motor servo, digunaka rumus [4] : Dengan : F = Gaya N r = jari-jari link m m = Masa benda kg ϴ= sudut derajat g = Grafitasi ms 2 τ = Torsi kg-cm Gambar 3.12 merupakan gambar kontruksi lengan robot untuk menghitung besar torsi masing-masing motor servo. Tabel 3.1 merupakan tabel perhitungan torsi motor servo. Gambar 3.12. Konstruksi Lengan Robot Tabel 3.1. Perhitungan Torsi Motor Servo TORSI Motor servo 1 m = 190 gr F = m x g = 0,190 x 9,8 = 1,862 N Ket : servo 1 bergerak 0 o , 45 o , 135 o , dan 180 o Ket: 1 N-m = 10.1971621298 Kg-cm  Sudut 0 o r = 370 mm Τ = 1,862 x 0,370 x sin0 = 0 N-m = 0 kg-cm  Sudut 45 o r = 370 mm Τ = 1,862 x 0,370 x sin45 = 0,4871 N-m = 4,967 kg-cm  Sudut 135 o r = 370 mm Τ = 1,862 x 0,370 x sin135 = 0,4871 N-m = 4,967 kg-cm  Sudut 180 o r = 370 mm Τ = 1,862 x 0,370 x sin180 = 0 N-m = 0 kg-cm Motor servo 2 m = 130 gr F = m x g = 0,130 x 9,8 = 1,274 N Ket : servo 2 bergerak 70 dan 110 o  Sudut 70 o r = 370 mm Τ = 1,274 x 0,370 x sin70 = 0,4429 N-m = 4.5168 kg-cm  Sudut 110 o r = 370 mm Τ = 1,274 x 0,370 x sin110 = 0,443 N-m = 4.517 kg-cm Motor servo 3 m = 70 gr F = m x g = 0,070 x 9,8 = 0,686 N Ket : servo 3 bergerak 90 o  Sudut 90 o r = 230 mm Τ = 0,686 x 0,230 x sin90 = 0,15778 N-m = 1.6089 kg-cm Motor servo 4 m = 50 gr F = m x g = 0,050 x 9,8 = 0,49 N Ket : servo 4 bergerak 0 o dan 50 o  Sudut 0 o r = 60 mm Τ = 0,49 x 0,060 x sin0 = 0 N-m = 0 kg-cm  Sudut 50 o r = 60 mm Τ = 0,49 x 0,060 x sin50 = 0,022 N-m = 0.224 kg-cm

3.3.3. Motor Servo

Motor servo digunakan untuk menggerakan lengan robot. Motor servo yang digunakan yaitu Towerpro MG946R untuk servo 1, servo 2, dan servo 3 sebanyak tiga buah, dan Towerpro SG90 untuk servo 4 sebanyak satu buah. Alasan menggunakan servo Towerpro MG946R yaitu karena memiliki torsi yang kuat mencapai 12 kg-cm dan harganya tidak begitu mahal, sedangkan servo Towerpro SG90 digunakan karena pada bagian gripper tidak membutuhkan torsi yang besar yaitu berdasarkan perhitungan hanya 0,299 kg-cm sehingga servo Towerpro SG90 dapat digunakan untuk menggerakan gripper. Spesifikasi servo Towerpro MG946R dan spesifikasi servo Towerpro SG90 dapat dilihat pada lampiran. Rangkaian servo terdiri dari tiga port yaitu vcc, ground, dan data. Jalur data terhubung dengan port pada mikrokontroler sebagai jalur pengiriman pulsa PWM untuk mengaktifkan motor servo dan mengatur sudut putarnya. Gambar 3.13 merupakan rangkaian pin untuk motor servo. Gambar 3.13. Rangkaian Pin Motor Servo Digunakan interrupt timer sebagai pembangkit PWM. Timer adalah sebuah counter penghitung. Tugas timer hanya menghitung, timer selalu menyimpan hitungannya saat menghitung “satu, dua, tiga, …” hingga 255 8 bit. Naiknya hitungan timer dan berapa lama jeda antar hitungan ini ditentukan dari siklus pencacah microcontroller, mode timer. Pada perancangan motor servo, timer diset agar menghitung sampai 255. Dan jika sudah mencapai 255, maka timer overflow akan memberikan sinyal, disinilah PWM bekerja dan mengintruksikan timer untuk menghitung lagi dari 0. Demikian seterusnya terjadi jika nilai 255 tercapai . Perbandingan nilai lebar pulsa terhadap nilai overflow motor servo selama T= 20ms adalah nilai OCR, yang merupakan cacahan pulsa selama 1ms sampai 2ms. Berikut perhitungan overflow interrupt sebagai pembangkit PWM untuk mengatur sudut putar motor servo. Frekuensi crystal yang digunakan yaitu 11,059200 MHz, sehingga untuk mendapatkan periode dari frekuensi tersebut digunakan rumus : T = 111059200 = 0,090422 x 10 -6 s. Dengan menggunakan timer08bit256 dan nilai prescaler 1 sebagai pengatur kecepatan clock maka timer overflow yang dihasilkan 0,090422 x 10 -6 x 256 x 1 = 23,148 x 10 -6 . Sehingga pemberian nilai untuk membuat interrupt dapat mencacah selama 20ms yaitu 20ms23,148x10 -6 = 864. Tabel 3.2 menunjukan pemberian nilai OCR untuk mengontrol pergerakan motor servo secara umum. Dan Gambar 3.14 menunjukan lebar pulsa motor servo. Rumus yang digunakan untuk mendapatkan nilai OCR yaitu : Tabel 3.2. Perhitungan Nilai OCR SUDUT LEBAR PULSA NILAI OCR o 1 ms OCR = = 43,20 90 o 1,5 ms OCR = = 64,8 180 o 2 ms OCR = = 86,40 Gambar 3.14. Lebar Pulsa Motor Servo [5]