Robot Arm

by arvelmarcellio in Circuits > Arduino

1247 Views, 3 Favorites, 0 Comments

Robot Arm

Screenshot 2023-01-25 165243.png

Tujuan dan Manfaat

Tujuan

  • Memanfaatkan servo motor sebagai penggerak lengan
  • Menggunakan ESP32-WROOM untuk menjalankan robotic arm
  • Menghubungkan robotic arm dengan aplikasi untuk pergerakan robot

Manfaat

  • Mempelajari sistem robotic arms dengan alat yang lebih sederhana.


Fitur-fitur sistem

  • Menggunakan ESP32-WROOM sebagai penggerak motor servo
  • Menggunakan motor servo untuk menggerkan bagian – bagian tangan
  • Menggunakan aplikasi Blynk untuk menggerakan servo-servonya melalui ESP32-WROOM

Supplies

a170510368103e267593695efd1873d8.jpg

Alat:

  • Timah solder
  • Solder
  • PCB Cutter
  • Bor duduk
  • Obeng plus
  • Setrika
  • Serabut Kawat
  • Tiner
  • H20
  • HCl
  • H2O2

Bahan:

  • ESP32 WROOM
  • PCB Polos
  • Pin Header male to female 19 pin (2 pcs)
  • Pin Header male to male 3 pin (4 pcs)
  • Terminal Block 2 pin (2 pcs)
  • Kabel tunggal
  • Switch ON/OFF
  • DC Socket
  • DC adaptor 5V/5A
  • Skrup 3mm (2 pcs)
  • kertas foto A4 120 GSM

Block Diagram

Screenshot 2023-01-19 004121.png

Berikut Merupakan Block Diagram dari Robot Arm Sederhana bisa dilihat bahwa ESP32 WROOM berkomunikasi dengan Blynk setelah berkomunikasi dengan blynk maka servo-servo bisa bergerak

Flowchart

flow chart (2).png
flow chart bAWAH.png
flow chart SIKU.png
flow chart bahu.png
flow chart tangan.png
flow chart end.png

Berikut merupakan flowchart dari Robot Arm Sederhana bisa dilihat pada gambar cara kerja dari Robot Arm sederhana sendiri dengan berkomunikasi dengan BLYNK application dengan pertama menyambungkan dahulu ESP32-WROOM dengan aplikasi BLYNK dan juga menyambungkan wifi yang ada untuk menggerakan robot arms.


Pada penjelasan Servo bawah sendiri bekerja dengan servo berada di 90 derajat pada Blynk sendiri dengan cara mengubah nilai derajatnya jika digerakan dari 90 ke 0 derajat maka robot arm bergerak ke kanan dan jika dari 90 ke 180 derajat maka robot arm bergerak ke kiri dan jika servo bawah tidak menerima perintah maka servo akan diam


Pada penjelasan Servo siku sendiri juga sama bekerja dengan servo sebelumnya yaitu berada di 90 derajat pada Blynk sendiri dengan cara mengubah nilai derajatnya jika digerakan dari 90 ke 0 derajat maka robot arm bergerak ke bawah dan jika dari 90 ke 180 derajat maka robot arm bergerak ke atas dan jika servo siku tidak menerima perintah maka servo akan diam


Pada penjelasan Servo bahu sendiri juga sama bekerja dengan servo sebelumnya yaitu berada di 90 derajat pada Blynk sendiri dengan cara mengubah nilai derajatnya jika digerakan dari 90 ke 0 derajat maka robot arm bergerak ke belakang dan jika dari 90 ke 180 derajat maka robot arm bergerak ke depan dan jika servo siku tidak menerima perintah maka servo akan diam


Pada penjelasan Servo tangan sendiri juga sama bekerja dengan servo sebelumnya yaitu berada di 90 derajat pada Blynk sendiri dengan cara mengubah nilai derajatnya jika digerakan dari 90 ke 0 derajat maka tangan pada robot arm akan menutup dan jika dari 90 ke 180 derajat maka tangan robot arm terbuka dan jika servo siku tidak menerima perintah maka servo akan diam

Circuit and Schematic

Screenshot 2023-01-24 174428.png
Screenshot 2023-01-17 120030.png

Pada bagian ini circuit schematic bisa dilihat bahwa pin-pin yang akan dipakai untuk menggerakan setiap servo adalah 27,26,25, dan 33 dan pada bagian ini juga ada bagian yang tidak tersambung yaitu terminal block dikarenakan nantinya pada bagian ini akan dipasangkan kabel tunggal yang akan disambungkan pada switch on/off dan untuk power untuk menghidupkan alat ini menggunakan DC adaptor yang akan tersambung pada DC Socket sebesar 5V dan untuk ampere nya sendiri sebesar 5A.

Pembuatan PCB

Screenshot 2023-01-24 202323.png
Screenshot 2023-01-24 202407.png
  1. Pertama- tama kita potong dahulu PCB polos dengan ukuran yang diinginkan menggunakan PCB cutter
  2. Setelah itu kita print dahulu Bottom Layer dan Top Silk Layer schematic dari PCB menggunakan kertas foto A4 dengan menggunakan print laser agar tinta dapat menempel pada PCB
  3. Sebelum melakukan menyetrika kertas foto yang telah di print PCB polos harus di bersihkan menggunakan serabut kawat agar tinta menempel dan jalur PCB dapat berfungsi dengan baik
  4. Setelah melakukan pembersihan maka kita dapat menempelkan bottom layer yang telah di print pada PCB polos dengan cara menyetrikanya pastikan pada setrika sudah Memiliki panas yang maksimum lalu lakukan penyetriakaan selama 5 menit
  5. Setelah melakukan penyetriakaan pastikan sebelum melepaskan kertas fotonya tinta pada kertas foto sudah tertempel pada PCB polos
  6. Setelah tinta menempel pada PCB maka dapat akan melakukan etching dengan menggunakan H20, HCl, dan H2O2
  7. Setelah melakukan etching maka kita dapat menghapus tinta yang tertempel menggunakan tiner agar daoat terhapus
  8. Setelah itu PCB dapat di bor agar komponen dapat dimasukan ke PCB
  9. Tidak lupa juga pada bagian atas yaitu Top Silk layer yaitu bagian PCB yang tidak memiliki tembaga kita setrika untuk memberi tanda agar memudahkan kita dalam memasang komponennya
  10. Setelah itu kita dapat mensoldier semua komponen
  11. Setelah itu kita bisa melakukan pemereksian pada setiap jalur pada PCB menggunakan multimeter


untuk Foto diatas dapat diakses pada pada file dibawah ini untuk Bottom Layer dan Top Silk Layer

3D Print

Screenshot 2023-01-25 013726.png
Screenshot 2023-01-25 013633.png
PCB Fitting.jpg

Bisa dilihat pada pembuatan 3D print case pada kotak berukuran 82.00 x 74.50 mm dengan ketebalan dinding sebesar 2 mm dengan ukuran dari isi kotaknya adalah 78.00 x 70.50 mm. Pada 3D print ini juga di dalam kotak ada penyangga untuk tempat PCB meggunakan skrup berukuran 3 mm dan kedalamannya 10 mm pada bagian kotak juga ada beberapa lubang berbentuk kotak pada bagian samping tengah sebagai tempat untuk tempat switch on/off dan juga dibawahnya ada lubang untuk tempat masuknya DC adaptor dan di sisi yang berlawanan ada 4 lubang yang berfungsi sebagai tempat masuknya kabel dari servo. lalu pada case ini juga memiliki tutup dengan berukuran 88.00 x 80.50 mm dan ada bagian yang naik untuk mengunci nya berukuran 76.00 x 68.50 mm. Bisa dilihat juga fitting dari PCB dan 3D print

Penjelasan UI

Screenshot 2023-01-25 164651.png
45957.jpg

Pada UI ini pada kelompok kami menggunakan applikasi BLYNK untuk menggerakan setiap bagian-bagian pada robot arms pada UI pada kelompok kami sendiri bisa digerakan diantara 2 device yang memiliki BLYNK account yang sama dengan menggunakan slider sebagai penggerak servo yaitu berputar dari 0 sampai 180 derajat dan juga indikator untuk menunjukan sudah berapa derajat servo sudah bergerak

Penjelasan Coding 1

Screenshot 2023-01-25 194450.png
Screenshot 2023-01-25 194748.png

#define BLYNK_TEMPLATE_ID "TMPLLmr3VRe7"

#define BLYNK_DEVICE_NAME "Robot Arm sederhana"

pada bagian ini merupakan Blynk id yang berada pada blynk web application yang bisa didapatkan pada device info pada firmware configuration yang berfungsi me-assign ID dari blynk account agar UI nya dapat tersambung


#define BLYNK_FIRMWARE_VERSION "0.1.0"

Pada bagian ini merupakan berfungsi men-define versi dari firmware pada blynk


#define BLYNK_PRINT Serial

Pada bagian ini berfungsi untuk menampilkan serial data dari blynk yang akan ditampilkan pada UI


#include "BlynkEdgent.h"

Pada bagian ini sebagai library dari blynk yang berfungsi sebagai memanage koneksi dari device dan UI BLYNK melalui komunikasi cloud


#include<Servo.h>

Servo servo1, servo2, servo3, servo4;

Pada bagian ini sebagai library untuk servo agar berjalan dan juga sekaligus men-assign servo-servo yang ada

Penjelasan Coding 2

Screenshot 2023-01-25 202918.png
Screenshot 2023-01-26 002152.png
Screenshot 2023-01-26 002214.png

Pada bagian ini berfungsi untuk menampilkan sudah berapa derajat setiap sevo bergerak pada BLYNK WRITE sendiri akan menampilkan data-datanya pada setiap gauge nya dimana V0,V1,V2, dan V3 merupakan virtual pin yang berada di Blynk application yang berfungsi menggerakan servo menggunakan slider dan untuk V4,V5,V6, dan V7 merupakan virtual pin output yaitu gauge yang akan memberitahu berapa derajat servo sedang bergerak.

Penjelasan Coding 3

Screenshot 2023-01-25 220932.png

Pada bagian codingan ini kita men-assign pin servo yang akan digunakan pada ESP32-WROOM pada codingan ini pin yang digunakan adalah 27,26,25 dan 33 untuk menggerakan setiap servonya. lalu pada Blynkedgent berfungsi untuk berkomunikasi antara ESP32-WROOM dengan Blynk application.

Coding

https://drive.google.com/file/d/1vVXyhmVr2loQ4cDqS5Fyi3MBDE4S5vUT/view?usp=sharing

Hasil Percobaan

Screenshot 2023-01-25 205049.png

Dari hasil percobaan yang telah ditunjukan kita dapat melihat bahwa benda-benda yang berbentuk kotak dan memiliki bobot yang ringan masih bisa diangkat oleh robot arm akan tetapi jika berbentuk lain susah untuk mengangkatnya

Video Demo

Video Demo dan penjelasan singkat Robot Arm Sederhana