top of page

Maze Game 2.5 DOF System

Project Overview

Project Overview: 

Create a system that translates rotational movement to linear motion.

​

System was created, and basics of system inspired 2.5 DOF Maze Game system.​

​

My Personal Duties:

  • Prototyped majority of CAD, solely responsible for entire End-Effector system

  • Coded MATLAB functions that connected MKS board to keyboard, allowing for G-code translation via keyboard inputs

  • Lead and organize team of 4 (create spreadsheets to organize who had latest prototypes, when they were sent to be printed, etc

  • Divided work among group and scheduled daily check-ins to ensure everyone was always busy and progress was moving

​

​

Prototyping the Base (X-direction)

IMG_1128.HEIC
IMG_1129.HEIC

With our stock materials of 8020 Aluminum and NIMA 17 Stepper motors, we designed the supports for the base motors that were 3D printed in red. The supports on the left are the supports that are set to house the motor on one side and the 8020 aluminum on the other side, while the support on the right holds the 8020 and the pin and pulley system. The finished base is shown below for reference. 

​

​

​

​

​

​​​

​

​

​

Motor Housing: 

 

Problems:

  1. FDM printed parts shrink 3-5% when cooled. Motor did not fit in.

  2. Exact screws were not determined before printing part, and counterbore created in CAD was not deep enough. Motor was offset, which made the screw holes on the top of the FDM part not line up.

  3. Client gave feedback that walls of prototype were too thin, and was worried about cracking when under stress of moving system from one location to another. 

  4. With thicker walls, certain features needed greater clearance so dimensions had to be adjusted again to create final product. Thicker walls had less strain, so previously working dimensions became too tight.
    ​​

Solutions:

  1. Make the CAD model 4% larger than it had to be, while adding clearances in less critical dimensions to ensure proper fit.

  2. 8020 was threaded and screws were chosen/dimensioned before printing another prototype to ensure proper counterbore depth.

  3. The black prototypes were created with thicker walls so stress did not fracture them.

  4. Dimensions were adjusted to allow for more clearance for the thicker walled part

​​​

Aluminum Housing: 

​

Problems:

  1. Height of support above the 8020 was too tall. Placing the pulley on the top of the support put the GT-2 timing belt at an angle rather than perfectly horizontal. 

  2. Hole for pulley pin slot on the top of the housing was too small

​

Solutions:

  1. Part was sanded down (as shown in top most picture) to exact dimension, remeasured, and reprinted for horizontal belt.

  2. Accounting for both clearance and the shrinkage of the ABS allowed for the hole to be redimensioned and reprinted

​

After all these changes were ready, the base was assembled with all components properly dimensioned and level. 

IMG_4018_edited.jpg

Pin and Pulley Hole

Prototyping the Carriages and End-Effector

Carriage Assembly Lower.png
X-Carriage
Carriage Assembly Upper2.png
Y-Carriage

Creating the carriages for this project required taking the internal geometry of the 8020 aluminum in SolidWorks and extruding on top of it a holder for an 8020 rod. The carriages that move along the X-direction are identical, while the carriage that moves along the Y-direction was specially designed to hold the toy motor. 

X-Carriage

IMG_1127.HEIC
Carriage Assembly Lower.png

We went through many iterations of the X-carriage, settling on the SolidWorks model on the right. Here are the iterations we went through and what we learned:

​

Iteration 1: (Bottom row of photo)

  • Idea 1: Maximize support for 8020 aluminum by maximizing support material in carriage. Thicker walls and thicker base will minimize bending or shear stresses. 

  • Idea 2: Belt will GT-2 timing belt pass through small holes in the base so carriage can move freely across 8020. 

​

Problems:​​

  • Hard to find where the belt would sit (hard to get the vertical dimensions of the holes in carriage)

  • Difficulty threading the belt through holes because of lack of access

​

Iteration 2: (Upper row and final design) 

Changes:

  • Allowing the teeth to thread the belt be easily accessible to outside users (shown on the right side of the SolidWorks Part)

  • Increasing the height of the upper supports to fully enclose the sides of the 8020 aluminum for maximal support

  • Made depth of part longer to allow for more teeth and less probability of belt slipping out during a run

Y-Carriage/End Effector

Carriage Assembly Upper.png
Carriage Assembly Upper2.png
IMG_0093.heic

Rack With Magnet Clip

Carriage

End Effector Assembly

​I was personally responsible for the design, prototyping and construction of this system. The hole on the carriage allowed for a junction point to connect the two parts. This allowed for the rack support to be printed separately from the carriage, should any alterations be needed we would not need to reprint the entire assembly.

​

End-effector system: rack and pinion idea setup, magnet is clipped onto the rack and pinion attached to toy stepper motor rotates to translate rack up and down. 

​

Complications:

  • Creating the right clearances for the rack to allow it to be supported while having enough friction to stay up without support under weight of magnet

  • Ensure there was not too much friction so rack could move freely

  • Choosing rack length to allow for different drop heights of the magnet while not being cumbersome to load or proportionally taller than its thickness (susceptible to shear breakage)

  • Placement of rack support (the two vertical rectangular prisms) had to be in a position that did not interfere with motor function while also being properly aligned to hold the rack onto the pinion

​

To solve these problems, I researched clearances for each of these items and adjusted their relative positions in the Solidworks Assembly until I was satisfied with the result. In the end, all of my dimensions, clearances, and assumptions were correct. 

​

Our Y-carriage and end-effector system was printed perfectly the first time, allowing for the first version to be the final version.

The Maze

IMG_1124.HEIC

The maze was 3D printed using an FDM printer and ABS material. It was designed to hold a 0.3" diameter magnetic marble which will attract to the magnet placed on the end of the rack as it moves. It is covered with 1/8" acrylic which was laser cut to fit the M3 screws for assembly. 

 

This maze at first was printed too deep, as the depth of it was 0.5" and the magnet had trouble attracting the ball. The final design was 0.34" deep which allowed for a strong connection between the ball and translating magnet. 

​

Engraved in the maze is a "Start" (bottom left corner) and "Finish" (top right corner) to denote how to solve the maze. 

Assembly and Final Product

IMG_1112.HEIC

The final Maze Game System was assembled and is demonstrated in the above video. I am controlling the maze's movement using arrow keys, and the ball reaches the "Finish," I press "E" to have the system return to zero in every coordinate.

 

This resetting of coordinates is essential for G-Code, as G-Code has no memory and the system sets the origin to be the position of startup. The system would crash if it started in a different place than at the start of the maze, as the limits would no longer be applicable. 

​​

The code to convert the keyboard inputs to G-Code through MATLAB is shown below on the left, as well as the informational popup that comes up when the user starts the game, as shown on the right. 

​

The code includes if statements to limit the positions of all the carriages so they never crash into the ends of the pulley system. These bounds were generated by testing the G-Code limits through Repetier Host and converting these values to variables. 

code.png
code popup.png
bottom of page