PAP-R Design Report Team 2
Transcript of PAP-R Design Report Team 2
PAP-R Design Report β Team 2
MEGR 3156-002
November 5, 2020
Brendan Welch, Nathaniel Martin, Noah Farkas, Matthew Rezin, Christian Fischer, John Huggins
2
1. Introduction
Team 2 was tasked with the design and manufacture of a pick and place robot that met certain criteria.
These requirements were as follows: the robot must use two serially stacked rotary axes driven by stepper
motors to position an arm and a single servo motor to actuate a gripping mechanism; the gripper
mechanism must incorporate a permanent magnet for the picking up of five, β12.7 mm steel balls from
preset locations; once picked up, a ball must be carried to a specific drop point and released such that the
ball can pass through a β14.3 mm hole in the baseplate; the entire robot must be controlled by an Arduino
UnoR3 microcontroller. The following report is an in-depth look at Team 2βs design for accomplishing
this task. Figure 1 shows the required ball placements and drop point.
Figure 1: Predetermined ball bearing layout.
3
1.1 Design Overview
Team 2βs PAP-R design features several design choices that make it unique. For the baseplate, a
framework design was chosen to significantly reduce the required material without a significant loss of
structural integrity. To reduce the required motor torque (and therefore motor size) the two rotary axes
were designed such that the driving motor for Rotary Axis 1 was located on the baseplate and the motor
for Rotary Axis 2 was located on the axis of rotation for Rotary Axis 1. Finally, the gripper mechanism
was designed as a simple and lightweight rack and pinion, minimizing the moving parts required to
actuate. The overall design was divided into five subsystems as can be seen in Figure 2. Table 1 provides
the color-coding key for Figure 2.
Figure 2: Color-coded diagram of Team 2βs PAP robot.
Table 1: Subsystem color code
Subsystem Color
Red Baseplate
Orange Rotary Axis 1
Yellow Rotary Axis 2
Green Gripper
Blue Controls
4
2. Baseplate
2.1 Subsystem Introduction
The baseplate serves three primary functions; it provides a base for the robot assembly, lays out all of the
pickup and drop-off holes at prescribed dimensions, and houses all electronic control components. Figure
3 shows the Baseplate Subsystem isolated from the rest of the robot and Figure 4 details the component
list for the subsystem.
Figure 3: The Baseplate subsystem, isolated.
Figure 4: Baseplate component list.
5
Material properties for the baseplateβs manufacture can be found in Table 2, and an in depth, dimensioned
model is shown in Figure 5.
Table 2: Baseplate material properties (Domb, 2016).
Material Youngβs Modulus, E Density, Ο Yield Strength, ΟY
PLA Plastic 3.70 GPa 1.24 g/cm3 54 MPa
Figure 5: Baseplate dimensional diagram.
2.2 Baseplate Calculations
For plastic failure and deflection analysis, The Robot base (the 100 mm by 125 mm middle portion of the
base plate) was the only piece tested. This is because the other two components of the Baseplate
subassembly are exposed to extremely low forces and moments that are absorbed by the supporting feet
attached to them with little or no deflection along the actual body of the component.
The Robot Base was analyzed based on the assumed boundary conditions of zero forces and zero
moments at each support. This assumption was made due to the low weights of any components on the
Baseplate or Controls Base. Figure 6 shows a free body diagram for the Robot Base was made using the
above boundary conditions along with forces and moments generated by the NEMA 17, the robot
assembly, and the distributed load of the entire part.
6
Figure 6: Free body diagram of Robot Base
Table 3: Figure 6 known parameters.
Variable Value
P 2.95 N
b 0.125 m
L 0.100 m
t 0.002 m
aP 0.0235 m
bP 0.0765 m
af 0.077 m
Ο 1.24 g/cm3
In order to calculate the weight force, P, of the NEMA 17, the mass of the motor was pulled off the
specifications sheet to be 285 g (Components 101, 2019). This was multiplied by the acceleration due to
gravity, yielding a force of 2.8 N. The distributed load of the material was determined later in the
calculations using a solved for required thickness t, and the cross-sectional dimensions of the Robot Base.
The reaction force, FAY, and reaction moment, MA, generated by the robot assembly was solved for by
analyzing a free body diagram of the robot assembly as shown in Figure 7.
Figure 7: Free body diagram of robot assembly
Each of the important dimensions/loads shown in the figure above is tabulated below in Table 4.
7
Table 4: Figure 7 parameters.
Variable Value
P1 0.084 N
P2 0.216 N
L1 122 mm
L2 120 mm
L 100 mm
t TBD
b 125 mm
ta 13 mm
ba 10 mm
Ο 1.24 g/cm3
Force P1 is the force generated by the weight of the gear and belt assembly present on rotary axis 2. The
weight of these parts was found in SolidWorks to be 8.6 g, yielding a force of 0.084 N. Force P2 is the
force generated by the weight of the gripper unit at the end of link 2. The weight of these parts was also
found in SolidWorks to be 22 g, yielding a force of 0.216 N. The weight force of both Link 1 and Link 2
combined was calculated by multiplying the density of PLA plastic by the volume of the links. The
dimensions used to determine the combined volume of Links 1 and 2 are present in a table below and the
equation for finding the volume is also shown below.
Table 5: Dimensions to find weight force.
Variable Value
L1 122 mm
L2 120 mm
ba 10 mm
ta 13 mm
ππ = πππ = π(πΏ1 + πΏ2)π‘ππππ (1)
This weight force βmgβ was found to be 2.65 N. With this, force FAY was found to be 2.95 N by summing
the forces in the vertical direction. Moment MAY was found to be 0.110 N-m by summing the moments
about the Robot Base.
All of the equations used in the baseplate analysis were sourced from a solid mechanics textbook (Philpot,
2017). With these calculations, the free body diagram of the robot base was populated and analyzed for
deflection and stress. Starting with deflection, a maximum desired deflection of 1 mm and minimum
desired safety factor of 2 was selected. This factor of safety was chosen to minimize deflection without
forcing the baseplate to be overdesigned to a thickness too high to be 3D printed. This maximum
deflection was determined to keep uncertainty in the gripper positioning low. (2) β (7) were used to find
the deflection across the Robot Base.
(2) shows the equation for moment of inertia where βbβ is the base width of the cross section and βtβ is the
thickness of the cross section.
πΌ =ππ‘3
12 (2)
(3) models the deflection caused by a point force from the leftmost support to the point that the force is
applied. βbβ is the distance from where that force is applied to the rightmost support, βEβ is the modulus of
8
elasticity for the selected material, PLA plastic, βLβ is the overall length of the Robot Base, and βIβ is the
moment of inertia.
π£π΄π΅ =πΉπ΄π¦ππ₯
6πΏπΈπΌ(π₯2 + π2βπΏ2) (3)
(4) models the deflection caused by a point force from the point the force is applied to the rightmost
support where βaβ is the distance from the leftmost support to where that point force is applied.
π£π΅πΆ =πΉπ΄π¦π(πΏ β π₯)
6πΏπΈπΌ(π₯2 + π2 β 2πΏπ₯) (4)
(5) and (6) model the deflections caused by moments from the leftmost support to the point the moment is
applied and from the point the moment is applied to the rightmost support, respectively. In (5) and (6),
distance βaβ is the length from the leftmost support to the point the moment is applied.
π£π΄π΅ =ππ΄π₯
6πΏπΈπΌ(π₯2 + 3π2β6ππΏ + 2πΏ2) (5)
π£π΅πΆ =ππ΄
6πΏπΈπΌ(π₯3 + 3πΏπ₯2 + π₯(2πΏ2 + 3π2) β 3π2πΏ) (6)
(7) models the deflection caused by a distributed load across the entire length the beam where βwβ is the
magnitude of the distributed load.
π£π€ =π€π₯
24πΏπΈπΌ(2πΏπ₯2 β π₯3 β πΏ3) (7)
Each of the above equations was input into a MatLab code for analysis. The code calculated the deflection
at each point along the robot base using each of the equations above and summed the deflections using the
superposition method. From the summed deflection values across the beam, the max was taken. This was
repeated for varying thicknesses ranging from 1 mm to 10 mm, and a maximum deflection versus
thickness curve was generated as shown in Figure 8.
Figure 8: Deflection vs thickness plot for Robot Base.
9
Based on the plot above, a minimum thickness of roughly 2 mm was identified to meet the target
deflection of 1 mm. Applying a safety factor of 2 to this led to a chosen Robot Base thickness of 4 mm.
At a thickness of 2mm, the following elastic curve across the length of the beam was generated and is
shown in Figure 9. This illustrates the deflection experienced on the robot base without a safety factor.
Figure 9: Deflection vs distance across length of Robot Base at a thickness of 2mm.
To contrast, at 4mm thick, the maximum deflection is roughly 0.1 mm. This chosen thickness value of 4
mm was then plugged into (1) to calculate the Robot Baseβs moment of inertia for use in future
calculations, and into (8) to calculate the magnitude of distributed load βwβ.
π€ = ππ΄π = πππ‘π (8)
From (2), the moment of inertia βIβ was found to be 6.67x10-10 mm4. From (8), βwβ was calculated to be
3.04 N/m. Using this distributed load βwβ, and the prior determined values for forces and moments βPβ,
βFAYβ and βMAYβ, the following shear and moment diagrams were generated to begin the analysis for
stresses and are shown in Figure 10.
10
Figure 10: Shear and moment diagram for Robot Base.
As shown in the figure above, the maximum moment occurs at the point where βFAYβ and βMAYβ are
applied, which is 77 mm from the leftmost support of the base. The maximum moment at this point was
found by calculating area βAβ of the shear diagram to that point. The shear diagram consists of two
trapezoidal areas with different dimensions. The equation for the area of a trapezoid with parallel sides βaβ
and βbβ and height βhβ is shown below.
π΄ =(π + π)
2β (9)
In the case of the shear diagram shown in Figure 9, the values of βaβ and βbβ would be the shear values on
each side of the trapezoid, and the height βhβ would be the horizontal length between them. Using (9), the
areas for each of the trapezoidal areas were 0.085 N-m and 0.300 N-m respectively, yielding an overall
maximum moment of 0.115 N-m. This value was plugged into (10), where βMβ is the maximum moment,
βtβ is the thickness of the Robot Base, and βIβ is the moment of inertia. to calculate the maximum bending
stress at that point.
ππ =ππ‘
2πΌ (10)
The maximum bending stress on the Robot Base was calculated to be 346 kPa and occurs at a distance of
77 mm from the axis of rotation. This value was placed on the stress element shown in Figure 11 and
analyzed on a Mohrβs Circle as shown in Figure 12.
11
Figure 11: Stress element at point of maximum bending stress.
Figure 12: Mohr's circle at point of maximum bending stress.
Because the maximum moment occurs where the slope of the moment is equal to zero (i.e. the shear at
that point is equal to zero), the bending stress on the stress element is equal to the radius of the Mohrβs
circle. This means that the first principle stress is equal to 346 kPa, the maximum shear stress is equal to
βrβ, which is half of 346 kPa, and the second and third principle stresses are both equal to zero. Because of
the bending stress being the only non-zero principle stress, the Von-Mises stress equation is simplified to
(11).
π β² = β(π1 β π2)2 + (π1 β π3)2 + (π3 β π1)2
2= π1β
3
2 (11)
The Von-Mises stress βπβ β is equal to 424 kPa. This value was plugged into the Von-Mises Failure
Criteria, (12) to yield the safety factor, βnβ.
π β² <ππ
πβ΄ π =
ππ
π β² (12)
For the given Von-Mises stress and the Yield Stress of PLA plastic, 53 MPa, the safety factor βnβ was
found to be 125.
The maximum shear stress, 173 kPa, was plugged into the Tresca Failure Criteria, (13) to yield the safety
factor, βnβ.
ππππ₯ <ππ
2πβ΄ π =
ππ
2 ππππ₯ (13)
For the given maximum shear stress and the Yield Stress of PLA plastic, the safety factor βnβ was found
to be 153.2.
12
The mass of the subsystem was calculated using (14) where βΟβ is the density of PLA plastic, βLβ is the
length of the robot base, βbβ is the width of the Robot Base, and βtβ is the decided thickness of the base.
π = ππ = πππΏπ‘ (14)
Using (13) the mass of the Robot Base was found to be 0.062 kg or 62 g. Calculating mass with (14)
assumed the part was solid. Considering the part was meant to be 3D printed and the geometry was
slightly more complex than a perfect rectangular solid, the part was analyzed in SolidWorks to yield a
mass of 77 g. Also using SolidWorks, the mass of the Baseplate and Controls Base was found to be 121 g
and 66 g respectively. The mass of each hex bolt and foot is 110 g. Summing up the masses for each of
the components, including 9 total feet, the combined mass of the entire Base Subsystem is 1250 g or 1.25
kg.
3. Rotary Axis 1
3.1 Subsystem Introduction
Rotary Axis 1 is responsible for rotating the main link about the robot base and supporting rotary axis two
without excessive deflection or stress. The two axes work together to form the correct angles to place the
gripper at the correct pickup and drop-off locations. Rotary Axis 1 is to be 3D printed out of PLA plastic
and is 122 mm in length. A dimensional overview of Rotary Axis 1 is provided in Figure 13 and Table 6.
Figure 13: Rotary Axis 1 overview
13
Table 6: Figure 13 parameters.
Variable Value
t 13 mm
D 38 mm
d 12.7 mm
W2 10 mm
L2 79.67 mm
W3 19 mm
ΞΈ 45Β°
W4 48 mm
L4 52 mm
3.2 Rotary Axis 1 Calculations
The rotational moment of inertia for Rotary Axis 1 Jz1L, was analyzed as weighted rods and point masses
by the equation below and the parameters outlined in Table 7.
π½π§1πΏ =
(π1 + π2) Γ (πΏ1 + πΏ2)2
3+ ππ(πΏ1 + πΏ2)2 + π½π2
(15)
Table 7: Equation 15 variables and values
Variable Value
Mass of arm 1, M1 0.046 kg
Mass of arm 2, M2 0.049 kg
Length of arm 1, L1 0.122 m
Length of arm 2, L2 0.120 m
Moment or inertia of motor 2, π½π2 7.7E-5 kg-m2
Mass of gripper, Mg 0.250 kg
Arms one and two were modeled as weighted rods with their weight calculated based off their dimensions
and the density of the PLA that they would be printed in. The gripper was modeled as a point load at the
end of the arms at full extension. Rotary axis one also supported the motor that drove axis two directly on
top or its axis of rotation. This was also accounted for by modeling the rotational moment of inertia of a
rectangle with the same mass and dimensions as a NEMA 17 stepper motor. The final moment of inertia
was calculated to be 0.016 kg β m3.
14
The torque requirements for motor 1, πm1, were analyzed by first calculating the equivalent moment of
inertia of the robot arms and gripper about axis 1, Jz1eq, by the equations below and the parameters
outlined in Table 8.
π½z1eq = π½π§1m + π½π§1πΏ Γ (π1
π2)2 (16)
πm1 = π½π§1eq Γ β1Γπ2
π1 (17)
Table 8: Equation 16 & 17 variables and values
Variable Value
Motor 1 internal moment, Jz1m 2.2E-6 kg-m2
Rotational moment of inertia load axis 1, Jz1L 0.016 kg-m2
Target angular accel, Ξ±1 20 rad/s2
Pully ratio 1, π1
π2 4.5/1
The angular acceleration desired for the design is 20 rad/s2 because that will allow the Rotary Axis to
accelerate to a speed of 43 rpm in .1 seconds. The maximum torque required to accomplish this is 0.077
N- m, which is below half the stall torque of the NEMA 17, which is equal to 0.1 N-m (0.2 N-m stall
torque). The motor also has the capacity to operate at a speed of 90 rpm given the loading and powering
conditions. A NEMA 17 stepper motor with a 4.5/1 pully ratio was selected to drive Rotary Axis 1
because it has ample toque to perform without missing steps and maintaining a fine resolution.
πmax = βπππππ‘
πΌπ§ ππ β
πππ‘ππ
πΌπ§ (18)
π =ππ
πΌπ‘ (19)
Variables M and V are the moment and forces applied to the rotary axisβs limbs with the c value being the
cross sectional distance to the top or bottom from the neutral plane, in this case it is half of the thickness;
similarly to c the value of Q involves the internal cross section of the leg where Q involves a portion of
the cross sectional area times the internal distance of the area to the center of the cross section. The value
I generally represents the moment of inertia, the way it was calculated by sectioning the top view of the
3D model to the basic shapes to calculate the moment of inertia and further to the bending and shear
stress. The formula to gather the moment of inertia is by using the equation:
πΌπ§ = πΌπ + π2π΄ (20)
Where d is the distance to the center of mass and Ic being the basic calculated moment of inertia.
3.3 Component Manufacturing
Parts 1, 2, and 6, in Figure 14 (below) are to be 3D printed due to their complex geometries. The
remainder of the parts listed will be purchased.
15
Figure 14: Rotary Axis 1 component list.
The overall mass of this subsystem was analyzed using SolidWorks and was determined to be
approximately 325 grams.
4. Rotary Axis 2
4.1 Subsystem Introduction
Rotary Axis 2 is responsible for positioning the gripper above the pickup and drop off holes in addition to
supporting the weight of the gripper without excessive deflection or stress. Rotary Axis 2 is to be 3D
printed out of PLA plastic and is 120 mm in length. A dimensional overview of Rotary Axis 2 is provided
in Figure 15 and Table 9.
16
Figure 15: Link 2, dimension labels.
Table 9: Figure 15 dimensions.
Variable Value
t 13 mm
D 25.4 mm
d 12.7 mm
W1 17 mm
L1 17 mm
W2 11 mm
L2 11 mm
W3 37 mm
L3 25 mm
W4 10 mm
L4 74.8 mm
4.2 Rotary Axis 2 Calculations
The rotational moment of inertia for Rotary Axis 2 βJz2Lβ, was analyzed as a weighted rod and point mass
by the equation below.
π½π§2πΏ =π2 Γ πΏ2
2
3+ πππΏ2
2 = 0.004 ππ β π2 (21)
17
Table 10: Torque calculation variables.
Variable Value
Mass of arm 2, M2 0.015 kg
Length of arm 2, L2 0.120 m
Mass of gripper, Mg 0.250 kg
The arm of rotary axis two was modeled as a weighted rod with its weight determined from the
dimensions and the density of the material it would be printed from, PLA plastic. The gripper was
modeled as a point load at the end of the arm. The final moment of inertia was calculated to be 0.004
kg β m3
The same NEMA 17 motor was chosen for Rotary Axis 2. The torque required for Rotary Axis two,
0.018, is significantly lower than half the stall torque of the NEMA 17, and the same speed of 90 rpm
is easily accomplished given the loading and powering conditions. The torque requirements for motor
2, πm2, were analyzed by first calculating the equivalent moment of inertia of the robot arms and
gripper about axis 2, Jz2eq, by the equations below and the parameters outlined in Table 11.
π½π§2ππ = π½π§2π + π½π§2πΏ Γ (π1
π2)2 (22)
ππ2 = π½π§2ππ Γ β2Γπ2
π1 (23)
Table 11: Rotary Axis 2 stepper motor data.
Variable Value
Motor 2 internal moment, Jz2m 2.2E-6 kg-m2
Rotational moment of inertia
load axis 2, Jz2L 0.004 kg-m2
Target angular accel, Ξ±2 20 rad/s2
Pully ratio 2, π1
π2 4.5/1
The angular acceleration desired for Rotary Axis 2 is 20 rad/s2 because that will allow us to accelerate to
a speed of 90 rpm in roughly 0.2 seconds. The max torque required to accomplish this is .018 N- m. A
NEMA 17 stepper motor with a 4.5/1 pully ratio was selected to drive rotary axis one because it has
ample toque to perform without missing steps and maintaining a fine resolution.
The stress and deflection calculations for the rotary axes were performed using the dimensions for links
one and two. The dimensions for Link 1 are listed prior to this section.
After combining all the dimensions from links one and two and the forces present at the boundaries of
each link, the following Free Body, Shear, and Moment Diagrams were generated in Figure 16 below.
The magnitudes of the forces and the dimensions present on Figure 16 are tabulated in Table 12 below.
18
Figure 16: FBD & VM Diagrams
Table 12: Figure 16 loads and dimensions.
Variable Value Mass
L1 .122 m 19.6 g
L2 .120 m 19.3 g
P1 0.084 N 8.6 g
P2 0.216 N 22 g
w 1.58 N/m 161 g/m
The values above reflect the masses of Link 1 and Link 2 as well as the forces applied to them.
19
The forces and moments from the diagrams above contribute to bending and shear stresses. The bending
stress and shear stress were calculated using (18) and (24) respectively. The results and a few calculated
parameters are tabulated in Table 13 below.
π =πΉ
π΄π (24)
Table 13: Stress calculation results.
Variable Value Units
ΟB 3.91E-04 MPa
π 5.23E-06 MPa
Q 151.25 mm3
c 6.5 mm
Iz 1.83E-9 m4
The calculations above show the maximum bending stress to be 0.3 kPa. This stress occurs at the
connection point between Link 1 and Rotary Axis 1. When dividing the yield stress of PLA plastic (53
MPa) by this value, a safety factor of 110,000. This safety factor is above the minimum required safety
factor of 2 that was decided upon by the team.
The maximum shear stress, which also occurs at the connection point between Link 1 and Rotary Axis 1,
was found to be 523 Pa. This shear stress yields a safety factor of roughly 300,000, which is above the
minimum required safety factor of 2 that was decided upon by the team.
The deflection calculations were carried out using many of the same dimensions and loads from the
previous stress calculations. An equation for maximum deflection was found by combining a series of
equations for the maximum deflection using the superposition method. This method is valid because the
maximum deflection caused by each of the three loads on links one and two (P1, P2, and w) occurs at the
same location, the end of link two. Because of this, the maximum deflection terms from each loading
condition of a cantilever beam were added together in (25) listed below.
ππππ₯ =π1(πΏ1)2
3πΈπΌ(3π β πΏ1) +
π2(π)3
3πΈπΌ+
π€π4
8πΈπΌ (25)
From this equation, the maximum deflection at the end of both the links was found to be 0.31 mm. This is
below the maximum deflection decided upon by the team of 1 mm even with a factor of safety of 2
applied.
20
Figure 17: Exploded view of Rotary Axis 2 with part labels.
Items 1, 5, and 2 in the figure above will be 3D printed using UNCCβs rapid prototyping equipment. The
remainder of the parts listed on the figure above will be purchased separately and assembled in
conjunction with the rapid prototyped parts.
The overall mass of this subsystem was analyzed in SolidWorks to be roughly 290 g. This mass
calculation included all of the parts listed in the figure above.
5. Gripper
5.1 Subsystem Introduction
The Gripper Assembly is a system that is in control of escorting the steel spheres to their proper drop-off
location. Our assembly consists of a SG-90 Servo Motor, rack and pinion, and a NSN0592 Rare-Earth
Disc Magnet. A diagram of the assembly can be seen in Figure 18.
21
Figure 18: Exported Gripper Assembly Diagram
The Servo Motor is attached by screws to link two in our PAP design and is connected and controls the
movement of the pinion. The Motor weighs 10.5 grams, and is capable of producing a torque of 1.3
kg/cm. It is controlled and powered by the Motor Shield and requires 4 V of supply voltage (Components
101, 2017).
As stated in the last paragraph, the Pinion is mounted onto the motor and is essentially a gear. The Servo
Motor spins the Pinion clockwise and counterclockwise, which translates to vertically raising and
lowering the Rack. Both pieces are 3D Printed and are constrained together by their gears. The Pinion has
a volume of 785 mm3 and a weight of 0.97 grams, while the Rack has a Volume of 11,000 mm3 and a
weight of 14 grams. The radius of the Pinion is 10 mm, and it has 25 teeth. The Rack is 110 mm in height
and its width and length are 10 mm. The width and length of the Rack had to be less than the diameter of
the steel balls because otherwise the balls wouldnβt fall when the end of the Rack was raised above link
two.
Attached to the end of the Rack is the NSN0592 Rare-Earth Disc Magnet. The Magnet itself is 3.18 mm
in diameter and 0.8 mm thick. It is 0.05 grams in weight and has a pull force of 150 grams. The Magnet is
attached to the Rack by some βCement Glueβ, which is fully capable of holding the magnet in place.
5.2 Gripper Functionality The gripper will begin at its home position. As can be seen from Figure 19, the home position is about 31
mm from the top of a sphere resting in a pick-up hole location and is above the Rotary Axis 2 Outlet. The
Servo Motor, once positioned above the sphere, will rotate 142 degrees counterclockwise. This lowers the
rack 31 mm, connecting the magnet to the sphere. Then the Servo Motor will rotate 42 degrees clockwise
to position number 2, also seen in Figure 19. The Gripper is then positioned over the drop hole. At this
point the Servo Motor rotates itself another 100 degrees clockwise so that its back in the home position.
22
While the Servo Motor is heading to the home position, the Steel Ball will get caught on the Rotary Axis
2 Outlet and disconnect from the magnet, falling into the drop hole.
Figure 19: Gripper Functionality and Movement Diagram
The max weight of the gripper is 34 grams with the steel ball, and the speed of the Servo Motor is 240
rad/sec (40 RPM). The range of motion of the Servo Motor is 142 degrees, which translate to the rack
moving 31 mm linearly.
5.3 Gripper Calculations The Servo Motorβs Failure Torque is defined as 1.3 kg/mm, where it can theoretically lift an object
weighing 1.3 kilograms that is a millimeter from the Motor. Our Rack was 10 mm away giving the
distance parameter. All the found variables are inserted in Table 14.
23
Table 14: Gripper Torque Given Variables
The maximum force was found when the Gripper was moving towards the home position and the steel
ball was caught on the Rotary Axis 2 Output. Here the magnet is creating force in the opposite direction
of movement, which is causing the Servo Motor to exert more torque. The following equations were used
to determine the required torque.
πππ π ππ π πππ: ππ = Ο * V (26)
βπ = ππ + ππ + ππ + πΉ (27)
π πππ’ππππ πππππ’π: ππ = βπ/π (28)
πΆβπππ ππ > ππ (29)
The Required Torque was found to be 0.069 kg/mm given a safety factor of 4. This is 5.3% of the Failure
Torque.
6. Controls
6.1 Controllers
The subsystems of the robot were all driven using a single Arduino Uno R3 Microcontroller. A
microcontroller acts as a hub where signals can be input, output, and processed for devices connected to
it. In this particular design, the Arduino Uno was used in conjunction with an Adafuit motor shield to
input signals from the microswitches and to supply power and signal commands to the two stepper motors
and the servo motor. A simplified wiring diagram for the controls is shown in Figure 20.
24
Figure 20: Wiring schematic for robot controls.
6.2 Power Requirements
The two NEMA-17 stepper motors each draw 1.2 A at 4 V (Components 101, 2019)and the servo motor
draws (at max) 0.36 A at 4 V (Components 101, 2017). Using this information and the following
equation, the power consumption can be determined using the equation:
πππ€ππ = β πΆπ’πππππ‘ β ππππ‘πππ (30)
πππ€ππ = (2 β 1.2 A β 4 V) + (0.36 π΄ β 4 π) = 11.04 W
The Arduino Uno draws its power directly from the USB connection to the laptop so the power demands
of the microcontroller were not considered. To supply the required power, 3 AA batteries were chosen to
provide a supply voltage of 4.5 V. Working backwards from the required power and the required voltage
drop to adjust the supply voltage, the required resistance was determined with Ohms law:
π ππ ππ π‘ππππ =ππππ‘πππ
πΆπ’πππππ‘ (31)
π ππ ππ π‘ππππ =0.5 π
2.76 π΄= 0.18 πΊ
This resistance was determined to be low enough to be accounted for simply through the resistance of the
wires and components in the circuit.
6.3 Autonomous Control
The basic process the autonomous controls must follow is summarized by the flow chart, Figure 21,
below.
L298 Driver 1
L298 Driver 2
Power Terminal
Pin 8
Pin 9 Pin 6
Microswitch
25
Figure 21: Autonomous control process diagram.
The code used to operate Arduino Microcontroller was split into three main portions, initialization,
homing, and pickup and drop off. The initialization stage of the code can be seen in Figure 22 below.
Figure 22: Initialization code for Arduino micro controller.
The included libraries were the following: Wire, Adafruit Motor shield, and Servo. After these libraries
were included in the code, the stepper motors on rotary axes 1 and 2 and the servo motor on the gripper
unit were established as objects and set to the proper steps per revolution. The NEMA 17 motor has a
resolution of 1.8Β° per step, thus 200 steps per revolution. The servo motor was attached to pin 6 of the
motor shield. Next, the speeds were set for both stepper motors to be 90rpm. This speed was chosen to
26
account for a gear reduction of 4.5 for each stepper motor accomplished by the belts. With that reduction
applied, the operating speed of the links themselves will be 20rpm. Once the motors were properly
defined, the micro switches were attached to pins 8 and 9 of the motor shield.
Next, within the setup sequence, the code for moving the rotary axes and operating the gripper was
inserted. The first step to operating the rotary axes is homing. The code for which can be seen in Figure
23.
Figure 23: Homing code for Rotary Axes 1 & 2.
The code above sets a variable βvalβ equal to zero. This βvalβ variable is replaced with the Arduinoβs
reading of the microswitch pin at each iteration of the loop. This loop is repeated while slowly stepping
the rotary axis backwards until the microswitch is clicked in. Once the microswitch engages, the analog
reading of the microswitch pin should increase above 2 V. Once this happens, the while loop will be
broken and the next homing loop will start for the next rotary axis.
After this is complete for both rotary axes, the code will begin to move the gripper unit over each drop
hole and activate the gripper. One entire cycle for retrieving a ball from one of the pickup points and
depositing it in the drop hole is shown below. This same code is used for each of the five holes, only with
different step values for βMoving to Hole #β and βMoving to Dropoff.β Figure 24 shows this code.
27
Figure 24: Movement cycle for Hole 1.
The cycle begins by homing the motor. Once this is complete, the stepper motor controlling rotary axis 1
undergoes the proper number of steps to its desired position for the gripper to reach Hole 1. Next, the
stepper motor controlling Rotary Axis 2 does the same. As far as step direction is concerned, forward is
considered clockwise and backwards is counterclockwise.
After this is finished, the servo motor controlling the gripper rotates 142Β°. This lowers the rack to the
bottom of its travel distance so that the magnet will reach the steel ball and attach. The servo then rotates
to 100Β° (backwards by 42Β°) to raise the ball clear of any obstructions. Once the ball is raised, the stepper
motors move the required number of steps to position the gripper above the drop off point, and initiates
drop off by pulling the rack past the gripper collar and rotating backwards 100Β° to 0Β°, thus causing the
ball to be pulled off of the magnet and dropped straight down.
Finally, the rotary axes move a fixed number of steps backwards to move close to home position. This
segment of code was added to hasten the homing process, as rotating rotary axes 1 and 2 350 steps and
540 steps backwards respectively places them relatively close to home position (within 20Β°) at full
rotational speed instead of rotating at 2 steps per second for the entire trip from the drop hole to home.
28
This code was copied and pasted for each pickup hole. The required angles Ο΄1 and Ο΄2 for each pickup
hole and the drop off hole were measured using the SolidWorks model. Their values are tabulated below,
and using a resolution of 1.8Β° per step and a gear reduction of 4.5:1, these angles were converted to steps.
These step values are tabulated below in Table 15.
Table 15: Stepper motor step counts for each hole.
Hole Ο΄1 [deg] Ο΄2 [deg] Ο΄1 [steps] Ο΄2 [steps] Ο΄1-D [steps] Ο΄2-D [steps]
1 42.19 36.98 105.475 92.45 119.77 197.09
2 84.81 36.98 212.025 92.45 77.15 197.09
3 142.78 195.63 356.95 489.075 19.18 38.44
4 119.06 239.58 297.65 598.95 42.9 -5.51
5 210.35 239.58 525.875 598.95 -48.39 -5.51
Drop 161.96 234.07 404.9 585.175 0 0
The first two columns are the measured angles for Ο΄1 and Ο΄2 (in degrees) by the SolidWorks model. The
middle two columns are those angles converted to steps by dividing by the resolution and multiplying by
the gear reduction. The last two columns are the number of steps to reach the drop hole from the desired
pickup hole. These values were put into the Arduino code for each holeβs cycle.
7. Uncertainty
For our uncertainty calculations, the first goal was to calculate the first and second theta for the Rotary
Axis 1 and 2 for each hole. At the start of our design, it was uncertain how far Rotary Axis 1 was going to
be from the hole A (the drop hole). Therefore, I defined the distance from Rotary Axis 1 to hole A to be
βdAβ. Each of the hole location distances are based off of βdAβ and can be viewed in Table 16. The
Resolution of a Servo Motor is 1.8 degrees. So when doubled and based on the 4 to 1 gear ratio that we
used for each Rotary Axis, our βu(Theata)β values became 0.02 radians. The machining uncertainty was
based off the capabilities of the machine shop, and came to 0.25 mm. These values can be viewed in
Table 17.
29
Table 16: Final Lengths and Distances from Rotary Axis 1 to Pick-up and Drop-off Holes
Table 17: The Resolution of Rotary Axis 1 and 2 and the Resolution of Machining L1 and L2
7.1 Uncertainty Equations
The equations of the Theta One and Two, Sensitivities, and Uncertainties are all given below for the
uncertainty in βXβ.
π1 = tanβ1 (π¦
π₯) β tanβ1 (
πΏ2 sin(π2)
πΏ1 + πΏ2 cos(π2)) (32)
π2 = cosβ1 (π₯2 + π¦2 β πΏ1
2 β πΏ22
2πΏ1πΏ2) (33)
30
Table 18 gives the evaluated values for Theta 1 and 2 for each hole location.
Table 18: Angle values for each hole location.
π΄(π₯) = πΏ1 cos(π1) + πΏ2 cos(π1 + π2) (34)
πΏπ₯
πΏπΏ1= cos (π1) (35)
πΏπ₯
πΏπΏ2= cos (π1 + π2) (36)
πΏπ₯
πΏπ2= βπΏ1 sin(π1) β πΏ2 sin(π1 + π2) (37)
πΏπ₯
πΏπ2= βπΏ2sin (π1 + π2) (38)
π’π2(π₯) = (
πΏπ₯
πΏπΏ1)
2
π’2(πΏ1) + (πΏπ₯
πΏπΏ2)
2
π’2(πΏ2) + (πΏπ₯
πΏπ1)
2
π’2(π1) + (πΏπ₯
πΏπ2)
2
π’2(π2)
(39)
The equations of Theta One and Two are the same for the uncertainty in βYβ, so the rest of the equations
are given below.
π΄(π¦) = πΏ1 sin(π1) + πΏ2 sin(π1 + π2) (40)
πΏπ¦
πΏπΏ1= sin(π1) (41)
πΏπ¦
πΏπΏ2= sin (π1 + π2) (42)
πΏπ¦
πΏπ1= βπΏ1 cos(π1) β πΏ2cos (π1 + π2) (43)
πΏπ¦
πΏπ2= βπΏ2cos (π1 + π2) (44)
π’π2(π¦) = (
πΏπ¦
πΏπΏ1)
2
π’2(πΏ1) + (πΏπ¦
πΏπΏ2)
2
π’2(πΏ2) + (πΏπ¦
πΏπ1)
2
π’2(π1) + (πΏπ¦
πΏπ2)
2
π’2(π2) (45)
31
7.2 Final Values
The uncertainties were calculated for each hole and presented in Tables 19a & 19b. The leftmost table is
the uncertainty in the x and y directions in vector form. The rightmost table refers to the total uncertainty
calculations were the x and y uncertainties were combined using the Pythagorean Formula. Table 19
below lists the final uncertainty values.
Table 19: 19a (Left) Uncertainties in Vector Form
19b (Right) Combined Uncertainties. Dimensions in mm
8. Budget
The budget for our design is broken into two sections, one for the cost of buying the required components
and one for the cost of labor. The labor costs are estimated assuming ten dollars per hour for student labor
and 100 dollars per hour for outside labor. Component costs are based on catalog prices. Because of the
material saving baseplate, as well as our extensive use of 3D printing, we were able to keep material costs
to a minimum. In addition to reducing the cost of material, the use of 3D printing allows us to rely less on
outside labor and more on student labor. This reduces our total cost by a great deal as outside labor is
significantly more expensive than student labor. The total labor hours are outlined in Table 20 which is
broken into sections including design/analysis, manufacturing, assembly, and testing. Table 20 shows that
the majority of the labor spent on our project is in design/analysis and in manufacturing.
Table 20: Total labor hours.
Labor (hours)
Subsystem Design/Analysis (all systems) Manufacturing Assembly Testing Total
Baseplate
75.5
1 .5 .25 77.25
Rotary Axis 1 .5 .5 .5 1.5
Rotary Axis 2 .5 .5 .5 1.5
Controls 0 1 .75 1.75
Gripper .75 .25 .5 1.5
83.5
Using the total cost of components for each subsystem as well as total labor and rapid prototyping costs
for each subsystem, Table 21 shows the total cost of producing our PAP robot.
32
Table 21: Total manufacturing cost.
Total Cost
Subsystem Components Rapid Protyping Labor (all systems) Total
Baseplate $23.03 $59.85
$835.00
$917.88
Rotary Axis 1 $22.26 $20.3 $42.56
Rotary Axis 2 $15.86 $22.45 $38.31
Controls $63.72 $0 $63.72
Gripper $13.72 $8.86 $22.58
$1085.05
This table shows that the most expensive subsystem for components is the controls subsystem, this is
because of the comparitively expensive components used by the controls system such as the Arduino
UNO and the Adafruit motor shield. The most expensive subsystem to rapid prototype is the baseplate,
however, this cost is still much lower than if another material or baseplate design were implemented. By
utilizing student labor and rapid prototyping instead of outside labor, we were able to keep total labor and
manufacturing costs to a minimum. The total cost for producing our robot is $1085.05.
33
9. References
Components 101. (2017, September 18). Servo Motor SG-90. Retrieved from Components 101:
https://components101.com/servo-motor-basics-pinout-datasheet
Components 101. (2019, August 19). NEMA 17 Stepper Motor. Retrieved from Components 101:
https://components101.com/motors/nema17-stepper-motor
Domb, e. a. (2016). PLA biodegradable polymers. Advanced Drug Delivery Reviews, 1-392. Retrieved
from https://www.sciencedirect.com/journal/advanced-drug-delivery-reviews/vol/107/suppl/C
Philpot, T. A. (2017). Mechanics of Materials: an Integrated Learning System. Hoboken, NJ: John Wiley
& Sons, Inc.
34
Table of Contents 1. Introduction 2
1.1 Design Overview 3
2. Baseplate 4
2.1 Subsystem Introduction 4
2.2 Baseplate Calculations 5
3. Rotary Axis 1 12
3.1 Subsystem Introduction 12
3.2 Rotary Axis 1 Calculations 13
3.3 Component Manufacturing 14
4. Rotary Axis 2 15
4.1 Subsystem Introduction 15
4.2 Rotary Axis 2 Calculations 16
5. Gripper 20
5.1 Subsystem Introduction 20
5.2 Gripper Functionality 21
5.3 Gripper Calculations 22
6. Controls 23
6.1 Controllers 23
6.2 Power Requirements 24
6.3 Autonomous Control 24
7. Uncertainty 28
7.1 Uncertainty Equations 29
7.2 Final Values 31
8. Budget 31
9. References 33