robotic arm
robotic arm
By
Group Members
Mariam saada
Sema Nur Çelik
Moustafa Mahmoud
Zyad ismail
Mechatronics Engineering
Istanbul Bilgi University
2024
ABSTRACT
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.
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.)
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.
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.
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>
void setup()
{
delay(5000);
pwm.begin();
pwm.setPWMFreq(FREQUENCY);
pwm.setPWM(11, 0, 90);
pinMode(13, INPUT_PULLUP);
Serial.begin(9600);
}
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)