0% found this document useful (0 votes)
12 views

robotic arm

Uploaded by

saadam026
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

robotic arm

Uploaded by

saadam026
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 14

ROBOTIC ARM

By
Group Members

 Mariam saada
 Sema Nur Çelik
 Moustafa Mahmoud
 Zyad ismail

Mechatronics Engineering
Istanbul Bilgi University
2024
ABSTRACT

This project demonstrates the design, fabrication, and programming of a 3D-


printed robot arm controlled by an Arduino microcontroller. Drawing inspiration
from YouTube tutorials—"How to Build a 3D Printed Robot Arm Tutorial
(Arduino Based) - Part One and Two" and "How I Built a 3D Printed Robot Arm
from Scratch (Arduino Based)"—and utilizing a model from Printables, we
successfully constructed a compact and functional robotic arm.
The project was completed in two stages. The first stage focused on the
mechanical design and assembly of the 3D-printed parts, ensuring precise
alignment and structural stability. The second stage involved integrating
electronic components, including servo motors and Arduino, followed by
programming the arm for basic movements.
This robot arm serves as a practical, affordable tool for introducing robotics
concepts. It demonstrates the potential of 3D printing and open-source platforms
for creating accessible, hands-on learning experiences in robotics education.
INTRODUCTION

Robotics is one of the most impactful fields in modern engineering, playing a


critical role in industries such as manufacturing, healthcare, and education. As
the demand for automation grows, so does the need for accessible tools that can
help individuals understand the fundamentals of robotics. A robotic arm, with its
ability to replicate human-like motions, is a quintessential example of a robotic
system, often used to demonstrate principles of kinematics, dynamics, and
control.

Despite its importance, the high cost of commercially available robotic arms
makes them inaccessible for many students, educators, and hobbyists. This
project addresses that gap by creating a low-cost, Arduino-controlled robotic
arm using 3D printing technology. The system is designed to provide a hands-on
learning experience, enabling users to explore the integration of mechanical
components, electronics, and programming in a functional and scalable manner.
The need for such a project was identified through the rising popularity of
affordable educational robotics kits and the increasing availability of 3D printing
technology. By combining open-source resources with low-cost hardware, this
project not only minimizes financial barriers but also encourages customization
and experimentation.

The application areas for this robotic arm are diverse. In an educational setting,
it can be used to teach concepts such as inverse kinematics, control theory, and
programming. For hobbyists, it offers an introduction to robotics that can be
expanded upon with additional features like sensors or artificial intelligence.
Moreover, the robot arm has practical applications in small-scale automation
tasks, such as pick-and-place operations, object sorting, or light assembly work.
This report provides a comprehensive guide to the design, fabrication, and
programming of the robotic arm, ensuring accessibility for individuals from
various technical backgrounds. By leveraging 3D printing, open-source designs,
and Arduino technology, this project highlights how innovative engineering
solutions can be achieved at a fraction of the cost of traditional systems.
METHODOLOGY
1. Problem Analysis and Design Approach
The project began with identifying the key requirements of the robotic arm:
 Cost-effectiveness: Use of readily available, affordable materials such as
PLA filament and Arduino microcontrollers.
 Modularity: Design to allow easy assembly and future modifications.
 Functionality: Capability to perform basic pick-and-place tasks with
precise movements.
 Scalability: Design to enable future expansion, such as adding sensors or
increasing degrees of freedom.
The design inspiration was derived from the "Compact Robot Arm" model
available on Printables. Adjustments were made to ensure compatibility with the
selected components and to improve the overall robustness.

2. Materials and Equipment


2.1. Materials Used
 3D Printing Filament: PLA was chosen for its strength, affordability, and
ease of use.
 Hardware:
o M3 screws and bolts for securing components.
o Bearings to ensure smooth joint rotation.
 Electronics:
o Arduino Uno microcontroller for controlling the robot arm.
o SG90 servo motors for joint actuation.
o Jumper wires and a breadboard for connections.
o 9V battery for power supply.
2.2. Tools and Equipment
 3D Printer: Used to fabricate the robot arm components. Printer
specifications included a 0.4 mm nozzle, a heated bed, and support for
PLA filament.
 Screwdriver and Hex Keys: For assembling the 3D-printed parts.
 Multimeter: For verifying electrical connections.

3. Mechanical Design and Fabrication


3.1. Design
The arm’s design included a base, shoulder, elbow, and gripper, providing four
degrees of freedom. Each joint was designed to house a servo motor, with slots
for cable management. Fusion 360 was used to modify the original design from
Printables, ensuring proper alignment and functionality.
3.2. 3D Printing Process
 Printer Settings:
o Layer height: 0.2 mm for precision.
o Infill density: 20% to balance weight and strength.
o Nozzle temperature: 200°C; bed temperature: 60°C.
 Post-Processing: After printing, parts were sanded to remove rough
edges, ensuring smooth assembly.

3.3. Assembly
The printed parts were connected using M3 screws and bolts. Bearings were
inserted into joints to minimize friction. Each servo motor was mounted securely
to its designated joint, with careful alignment to avoid binding during operation.

4. Electronics Integration
4.1. Components and Circuit Design
 Servo Motors:
Four SG90 servo motors were used, each capable of rotating 180°. They
were assigned to specific joints:
o Base rotation: Servo 1
o Shoulder movement: Servo 2
o Elbow movement: Servo 3
o Gripper actuation: Servo 4
 Arduino Uno:
The Arduino Uno served as the central controller. It provided PWM
signals to control the servo motors.
 Power Supply:
A 9V battery was used, with an external voltage regulator to ensure stable
power delivery to the servo motors.
4.2. Circuit Assembly
Each servo motor was connected to a PWM pin on the Arduino: pins 9, 10, 11,
and 12. The power supply was connected to the servo motors via the
breadboard, and a common ground ensured stable operation.
Circuit Diagram: (Include a visual diagram in your report for clarity.)

5. Signal Conditioning and Actuation


Signal conditioning was handled by the Arduino’s PWM outputs, which
converted digital signals into precise pulse widths to control the servo motors’
angles. The Servo library in the Arduino IDE provided a straightforward interface
for programming motor positions.
 PWM Signal Configuration:
The duty cycle of the PWM signals was adjusted to move each joint to the
desired angle.
 Actuation Testing:
Initial tests included moving each servo individually to verify proper
operation. The arm was then tested with coordinated movements to
ensure smooth functionality.

6. Programming
The Arduino IDE was used to program the robot arm. The code controlled each
joint via the Servo library, enabling precise movements based on predefined
sequences.
Key Programming Steps:
 Initialization: The servo motors were initialized, and default positions
were set in the setup() function.
 Movement Sequences: The loop() function executed a series of
movements, such as rotating the base, lifting the arm, and closing the
gripper.
7. Testing and Troubleshooting
Testing Procedures:
1. Mechanical Testing: Each joint was tested for smooth motion.
2. Electrical Testing: A multimeter was used to verify stable voltage and
current to the servo motors.
3. Functional Testing: The arm performed basic tasks, such as picking and
placing lightweight objects.
Troubleshooting:
 Servo Overheating: Addressed by limiting continuous operation time.
 Power Instability: Resolved by using an external voltage regulator.
RESULTS AND DISCUSSION

Figures
1. 3D Model of the Robot Arm
 Description: A screenshot or render of the 3D model created in software
(e.g., Fusion 360 or SolidWorks). This figure should show the overall
design, highlighting the joints and parts.
 Purpose: Helps readers visualize the robot arm before fabrication.
 Label Example:
Figure 1: 3D model of the robot arm designed using Fusion 360.

2. Printed Parts
 Description: Photos of the individual 3D-printed parts laid out before
assembly.
 Purpose: Showcases the quality of the prints and the modular nature of
the design.
 Label Example:
Figure 2: 3D-printed parts of the robot arm before assembly.

3. Assembled Robot Arm


 Description: A photo of the fully assembled robot arm without
electronics integrated.
 Purpose: Demonstrates the assembly process and structural alignment.
 Label Example:
Figure 3: Fully assembled robot arm before wiring and programming.

4. Circuit Diagram
 Description: A diagram showing the connections between the Arduino,
servo motors, power supply, and other components. Tools like Fritzing
can be used to create this.
 Purpose: Clarifies how the electronic components are connected.
 Label Example:
Figure 4: Circuit diagram of the electronic connections for the robot arm.

5. Robot Arm in Action


 Description: Photos or stills of the robot arm performing tasks (e.g.,
picking up a small object or rotating).
 Purpose: Illustrates the functionality of the robot arm.
 Label Example:
Figure 5: Robot arm gripping an object during testing.
Tables

Component Specification Quantity Purpose


Arduino Uno Microcontroller 1 Controls servo motors
SG90 Servo Motors 9g, 180° rotation 4 Actuates joints
PLA Filament 1.75 mm 1 spool 3D printing material
M3 Screws and Bolts 15 mm length 20 Assembling parts

Observations and Issues

Issue Cause Solution


Servo motor jittering Power instability Added external voltage regulator
Gripper misalignment Printing error Reprinted part with adjustments
Overheating of motors Excessive operation Reduced operational time per cycle
CONCLUSION

Outline the success of your project when compared to the objectives that were set.
Suggest further work for your research area. Summarize the most important findings.
This project successfully achieved its objectives of designing, fabricating, and
programming a functional, 3D-printed robotic arm controlled by an Arduino
microcontroller. The primary goal was to create a cost-effective and accessible
platform for learning robotics, integrating mechanical design, electronics, and
programming. By leveraging open-source resources, 3D printing technology, and
affordable components, the project met these goals effectively.
The robot arm demonstrated precise movements across its joints, including base
rotation, shoulder lifting, elbow bending, and gripper actuation. The use of SG90
servo motors provided sufficient torque for lightweight tasks, such as object
gripping and small-scale pick-and-place operations. Additionally, the modular
design allowed for straightforward assembly and potential future upgrades, such
as adding sensors or increasing the degrees of freedom.
While the project was successful, certain limitations were encountered. Power
stability was a critical factor, requiring the use of a dedicated power source to
avoid servo motor jitter. Additionally, the gripper was limited in its ability to
handle heavier objects, which could be improved by using stronger servo
motors.

Future work could focus on enhancing the functionality of the robot arm. Adding
sensors such as position encoders or force sensors could enable feedback-based
control for more precise and adaptive movements. Moreover, implementing
advanced programming techniques, such as inverse kinematics and machine
learning, could significantly expand the robot’s capabilities. Integrating wireless
control, such as Bluetooth or Wi-Fi, would also enhance usability and flexibility.
In conclusion, this project provides a practical and affordable solution for
learning robotics, offering a strong foundation for further exploration. It
highlights the potential of 3D printing and open-source platforms in
democratizing access to robotics education and prototyping, making it an
invaluable tool for students, educators, and hobbyists.
APPENDIX
Paste your Arduino code in this section. The code should be commented extensively.
#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>

#define MIN_PULSE_WIDTH 650


#define MAX_PULSE_WIDTH 2350
#define FREQUENCY 50

Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();

int potWrist = A3;


int potElbow = A2;
int potShoulder = A1;
int potBase = A0;

int hand = 11;


int wrist = 12;
int elbow = 13;
int shoulder = 14;
int base = 15;

void setup()
{
delay(5000);
pwm.begin();
pwm.setPWMFreq(FREQUENCY);
pwm.setPWM(11, 0, 90);
pinMode(13, INPUT_PULLUP);
Serial.begin(9600);
}

void moveMotor(int controlIn, int motorOut)


{
int pulse_wide, pulse_width, potVal;
potVal = analogRead(controlIn);
pulse_wide = map(potVal, 800, 240, MIN_PULSE_WIDTH, MAX_PULSE_WIDTH);
pulse_width = int(float(pulse_wide) / 1000000 * FREQUENCY * 4096);
pwm.setPWM(motorOut, 0, pulse_width);
}

void loop()
{
moveMotor(potWrist, wrist);
moveMotor(potElbow, elbow);
moveMotor(potShoulder, shoulder);
moveMotor(potBase, base);
int pushButton = digitalRead(13);
if (pushButton == LOW)
{
pwm.setPWM(hand, 0, 180);
Serial.println("Grab");
}
else
{
pwm.setPWM(hand, 0, 90);
Serial.println("Release");
}
}
REFERENCES
- Arduino documentation and tutorials.
- Adafruit PWM Servo Driver datasheet and user guide.
- Online forums and resources for servo motor control and robotics applications.
- Video references:
- [Robotic Arm Tutorial 1](https://youtu.be/AIsVlgopqJc)
- [Robotic Arm Tutorial 2](https://youtu.be/OiQKw0lZ5Rw)

You might also like