Figure 2.1: Overall schematic of prototype design, including mechanical hardware assembly, electrical hardware, and graphical user interface (GUI). Interactions between these componenets are represented by arrows.
The main components of the final design are categorized and listed below:
Mechanical Hardware
Vertical Axis Ball Screw Actuator
Horizontal Axis Lead Screw Actuator
Wagon Wheel Gripper Assembly
Into the Machine Axis
Electrical Hardware
Programmable Logic Controller (PLC)
Stepper Motors
Motor Driver
Network Switch
Power Source
Calibration Interface
Current Sensor
Software
Python Systems Control
Graphical User Interface (GUI)
Arduino Motor Control
Functional Requirements:
Lifts largest wagon wheel and entire horizontal axis and gripper assembly (820g)
Total travel length of at least 80 mm
Completes full travel length in 5 seconds
Connection to the horizontal axis supports a 1.3 Nm moment
Maximum height of 276 mm
The vertical axis ball screw actuator was purchased from a linear position actuator company, FUYU. This product was chosen for its ability to meet the functional requirements at low cost ($150) compared to other possible design solutions, and included all components shwon in figure 2.1. Purchasing the entire assembly rather than designing, manufacturing, and assembling from scratch also saved invaluable engineering time. A mounting bracket was designed and machined to mount the horizontal axis onto the FUYU vertical axis (figure 2.2).
Figure 2.2: FUYU ball screw linear actuator.
Figure 2.3: Bracket used for mounting vertical to horizontal axis. The four countersunk holes fasten to the threaded mounting block, and the slot fastens to the horizontal axis suppport (see below).
Functional Requirements:
Precision better than 0.5 mm
Minimum horizontal pushing force of 8 N
Small and lightweight
The horizontal Axis Lead Screw Actuator (figure 2.4) was designed from the ground up, using a NEMA 8 stepper motor with a lead screw purchased from Anaheim Automation. The axis is supported by an aluminum beam with a mounted hardened steel rail for 2 horizontal sliders. As opposed to the vertical axis, this component was designed from the ground up due to the more stringent space-requirements of this component, as it needed to fit within the space between the GDS O-ring and cooling puck (see home page).
Figure 2.4: Horizontal axis assembly with into the machine axis sliders and mounting brackets included.
A main concern for the horizontal axis component was that deflection under the load of the gripper and sample would exceed the required precision tolerance for positioning the sample. The initial horizontal axis design was supported on one side (cantilever beam) with one aluminum beam. Other options would be to support the beam on both sides (simply supported beam) and/or add multiple or larger aluminum beams for support. In order to inform this decision, deflection analysis was conducted using Finite Element Analysis (FEA) and analytical methods on the worst case-scenario loading (gripper as far from support as possible). Analysis assumptions and results are summarized below and shown in figure 2.5.
Analysis Assumptions:
Cantilever supported beam
Combined stiffness of beam from aluminum support and steel rail using parallel axis theorem
Neglect mounting holes in steel beam
Evenly distributed weight of aluminum beam and steel rail
Weight of gripper and sample evenly distributed between horizontal sliders
Results:
Max deflection: 0.36mm
Deflection at measured spoke: 0.12mm
Deflection < required precision (0.5m) ✅
Good agreement between FEA and analytical solution (within 10%)
Interpret results as worst-case due to actual support being better than simple cantilever
Conclusion: Proceed with current design using one support and one aluminum beam for support.
Figure 2.5: Beam deflection analysis of the horizontal axis. Finite Element Analysis results in SolidWorks (top) and analytical results (bottom).
Functional Requirements:
Securely hold 16- and 8-spoke wagon wheels during entire automation process
Electrically isolate sample from the rest of the mechanism
The wagon wheel gripper consists of a back plate to ensure vertical positioning of the wagon wheel, a v-shaped base with a spring-loaded clamp arm to ensure 3 points of contact (figure 2.5). High friction rubber material was adhered to the V-base and clamp arm for improved gripping of the sample. The assembly is mounted on sliders that move towards and away (x-direction) from the GDS O-ring and return springs mounted to automatically retract the sample when it is unclamped by the GDS (figure 2.4). Mounting plates made of Delrin plastic separate the y-axis and x-axis sliders in order to electrically isolate the sample from the mechanism and the base of the GDS (a requirement specified in this document from LECO).
Figure 2.6: Wagon wheel gripper assembly.
Functional Requirements:
Overcome return spring on cooling puck (15 N)
Travel 3 cm
Clamp sample with sufficient force to establish vacuum with O-ring
The x-axis actuator consists of a rack and pinion powered by a NEMA 23 stepper motor (figure 2.7), used to push the cooling puck against the sample, clamping it against the GDS O-ring prior to the vacuum is established for analysis (figure 2.8). A current sensor was implemented (see electrical components section) to sense the current jump that occurs when the sample meets the O-ring and command the motor to halt. This was necessary due to varying thicknesses of the wagon wheel samples.
Figure 2.7: X-Axis actuator assembly.
Fiugre 2.8: LECO GDS components – cooling puck, return spring, and O-ring (source).
Figure 2.9: Implementation of all mechanical hardware within the GDS.
Functional Requirements:
Provide 12V DC to electrical components
House electrical components in a ~1.2m x 1.2m x 1.2m space (housed under a small table)
Ability to drive a 2.5A, 2.8A and 0.5A stepper motor
Utilize current sensor to detect crash on x-axis
Actuate stepper motor when prompted by Application Programming Interface (API)
Easy to use calibration interface to actuate both axes
Figure 2.10: Control box housing electrical hardware within required space.
Figure 2.11: Wiring schematic for all electrical components (top) and circuit diagram for buttons used for calibration (bottom).
Figure 2.12: Calibration Interface – 5 buttons oriented to actuate the vertical and horizontal components of the 3D gantry with a 5th button used to complete calibration ("Set Zero").
Functional Requirements:
Facilitate communication between API and GDS via TCP/IPv4 to send and receive XML strings
Send and receive string formatted motor commands to PLC via TCP/IPv4
Utilize user inputs to calibrate and start analysis process
Handle error messages to allow the user to determined subsequent steps
The control system is programmed to follow the state machine computational model. The entire system exists in one of several states which is controlled by certain events/triggers. The system expects triggers, such as XML messages from the GDS and logical expressions to and from the Arduino Mega. Based on the current state that the system is in, the system executes certain functions. The system can be described as having the following states (listed below and shown in figure 2.13):
1) Idle
2) Networking
2) Calibration
3) Analysis
Initialize
b) Loading
c) Analyze
d) Unload
e) Moving
f) Reaming
g) Waiting
4) Error
Figure 2.13: Top level State machine depicted with triggers and events.
The analysis state contains substates that allow the system to flow through sample loading, analysis, unloading, and GDS self-cleaning (AKA Reaming) procedures, as well as handle errors. These nested states are shown in figure 2.14.
Figure 2.14: Nested State Machine of analysis state with triggers and events.
A graphical user interface (GUI) was implemented in order to allow the user to easily walk through the sample loading, calibration, and starting analysis processes (figure 2.15, left). Additionally, the GUI allows the user to be notified of and handle errors when a vacuum is not established (figure 2.15, right). The user manual provides detain on how to use the GUI to perform automated analysis.
Figure 2.15: GUI to control connection, sample loading and calibration, and starting analysis (left). Error pop-up window for handling vacuum errors with the option to try analysis again, skip a single spoke, or abort the analysis completely (right).
The Programmable Logic Controller (PLC or Arduino MEGA, see electical hardware section) also follows a state machine model to control the motors through the sample calibration, analysis, and GDS self cleaning processes. The states for the PLC are shown in figure 2.16.
Figure 2.16: State Machine of PLC and their respective string triggers.
In order to assess the achieved precision and accuracy of the final gantry prototype, it was placed facing a wall with a marker secured to the gripper (figure 2.17). The mechanism was programmed to trace out an 8X8 grid with 10mm spacing between grid points, and each position marked. Then, a photograph were taken of the grid (figure 2.18) and grid point positions located using image processing in MATLAB (figure 2.19). The distance between adjacent points throughout the grid was used to asses the precision and accuracy of the mechanism achieved by both axes, with results shown in figure 2.20 and table 2.1. In conclusion, the achieved precision for both axes were better than the required 0.5mm. The median accuracy was also within the 0.5mm margin, and further testing could be done to refine the stepper motor step to distance conversion ratio used in the software if it is found to be necessary.
Figure 2.17: Experimental setup to assess precision and accuracy of positioning mechanism.
Figure 2.18: Photograph of 8X8, 10mm spacing grid.
Figure 2.19: 8X8 grid with grid point positions identified by MATLAB image processing (red circles).
Figure 2.20: Distribution of distances between grid points for the 8x8 grid. Precision can be interpreted as the range of the distribution and accuracy as the difference between the commanded 10mm spacing and the actual spacing. The functionally required lower and upper bound for position are shown by dashed orange lines.
Table 2.1: Summary of positioning precision and accuracy results for the z- and y-axes.
The sample alignment gantry mechanism was installed in the GDS900 and all software was installed on the PC Desktop computer. Visual inspection confirmed that the programmed pathing for positioning of the 8-spoke wagon wheel was successful after the calibration procedure was completed. Additionally, the programmed retracted position successfully moved the mechanism to a position where the GDS was able to perform self-cleaning. However, when the analysis process began on the GDS, connection with the PLC was repeatedly lost and the motors occasionally began running uncontrollably. Extensive trouble-shooting was unsuccessful within the time-limitations of the project, and full integration and testing of the mechanism will be a future endeavor for another individual or team. It is hypothesized that electromagnetic interference within the GDS causes the loss of connection due to repeated tests outside the GDS that did not lose connection (Table 2.2).
Table 2.2: Results of initial testing of the automation process.