Final Project
Introduction and Ideation
As I mentioned in Week_1 I was choosing between two cool projects (Interactive Binary Display or 2D drawing Robot Arm). I chose the 2D drawing robotic arm as I want to get deep in robotics and machine design especially path planning, motion control and programming. Also I love art but I can't do it ^^ so I thought why not make a machine to do it for me.
What does it do?
my minimum goal is to draw basic shapes like circles, squares rectangles and triandles. and for complete feature I want it to understand gcode and receive files from the PC GUI and for the nice to have features I want it to do live drawing through out the GUI like the GUI will have a canvas that the user can draw in and the hand will move accordingly in real time.
who has done what beforehand
There are many people through out the internet explored making this robotic arm using a 4 link mechanism or a scara robot arm like mechanism like:
- Arduino Controlled Drawing Robot.
- Sketching Robot Arm
- Lukas, Tanjas, Peters and Jimenas Drawbot (2018)
What material and components will be used? cost?
Components | Quantity | Links | Cost |
---|---|---|---|
Stepper motor | 2 | Stepper motor Nema 17 | 900EGP |
Servo motor | 1 | Servo motor SG90. | 100EGP |
GT2 timing belt | 2 | Timing belt 1m 6mm | 60EGP |
Stepper motor pulley | 2 | Pulleys 20 teeth 5mm bore | 100EGP |
Stepper motor pulley | 2 | Pulleys 36 teeth 5mm bore | 150EGP |
Limit switch | 2 | Limit Switches | 15EGP |
Stepper motor driver | 2 | Stepper motor driver A4988 | 170EGP |
Arduino Uno/Nano/Xiao ESP32 C3 | 1 | Xioa ESP32 C3 | 750EGP |
LCD with I2C interface/ OLED | 1 | 20x4 LCD display | 350EGP |
Materials | Quantity | Notes | Cost |
Acrylic 6mm/Plywood 6mm | Inventory | ||
3D printing filament | Inventory |
What tools and processes will be used?
- I will use laser cutting for the frame and the main links in the arm
- I will use 3D printing for the pen holder and the electronics case
- I will use PCB milling for the PCB control circiut if needed (and make less noise for the stepper than when using jumpers and wires)
- I will use this tool chain in programming: Arduino C, python for the GUI and path planning.
What will be made? and Tasks scheduling
- Week 1 Design & Planning
- Finalize arm dimensions and joint design
- Simulate inverse kinematics in software (Bottango)
- Start 3D modeling of mechanical parts
- Week 2 Fabrication & Electronics
- 3D print or laser cut arm parts
- Assemble mechanical structure
- Design and mill custom PCB
- Connect drivers, endstops, and microcontroller
- Week 3 Programming and GUI
- Write code for simple movement
- Write code for basic shapes
- Simple GUI interface development
- Move anywhere with limits
- Week 4 Testing and Integration
- Implement serial communication between GUI and the machine via USB cable
- Test complete drawing process
- Finish the project ^^