In my electromechanical design class, we were assigned to create a cartesian motion system with 2.5 degrees of freedom. This project aimed to teach us how to design mechanical components and ideal joints while considering their function, mechanical loading, tolerances, and constraints, as well as integrating electrical components.
My team chose to design and build an automated chess robot as it presented a challenge that would highlight our engineering skills and result in an engaging project to showcase. The idea was to have motors move around a magnet in the X and Y directions parallel to the board and have a magnet be extruded in the Z direction. This would allow the magnet to be perpendicular to the board and physically move the pieces from the bottom of the board.
During the initial phases of the project, my team and I focused on brainstorming ideas for the design of the chess robot while ensuring we were within the project constraints.
These constraints encompassed several key aspects: First, the system needed to be compact and lightweight to be easily portable in a bag. Second, it can be totally or partially disassembled for transport as long as it can be assembled in no more than 10 minutes. Lastly, the system had to incorporate structural components (such as pulleys, linear guides, and belts) and motion elements (including stepper/servo motors).
Intially, we had very different ideas regarding our approach to the project. However, through extensive discussions, we reached three main conclusions.
At first, we wanted the chessboard to measure nearly 2 feet by 2 feet, which would result in an overall system size of 2.5 feet by 2.5 feet. This design included a housing for the system and a space to store pieces. However, we ended up scrapping the housing and storage as it would overcomplicate the design and wouldn't be within constraints.
The second and third conclusions emerged from the same early concept shared by the group. We envisioned the system lifting chess pieces from the top using an electromagnet, with each piece having a magnet attached to the top of each piece. However, upon thorough consideration of the provided components, we realized this approached faced many challenges.
Firstly, the electromagnet was too heavy for the stepper motors to move fluidly. Additionally, lifting pieces from the top would introduce additional variables, including gravity and the precision of the electromagnet, complicating the design. Consequently, we opted for a solution where pieces are dragged from the bottom, sliding them across teh board.
The motor connector was used to securely attach the motor the linear stages as the system was in motion. Our prototype successfully fit onto the linear stage and ensured proper hole alignment. However, when the motor was operated, the connector would bend due to its thin construction. Our final design fixes this issue by increasing the thickness from about 0.175 inches to 1 inch and adding a more stable connection to the linear stage.
First Iteration
Second Iteration
The pulley wheel connector was used to make sure that the pulley system that would move the belt was secured. Thanks to a working prototype, we did not have to make more adjustments to the functionality. However, an issue arose due to an imbalance in the linear stages caused by the difference in heights between the motor and the pulley wheel connector. To fix this, we had to add support to the bottom of the pulley wheels incorporated on the x-axis. The y-axis pulley wheel connector remained untouched as the motor height had no impact on the linear stages.
The belt holder serves to keep the belt taut during system operation as the bulleys would not work if there was any slack. However, we repeatedly faced a problem with the physical 3D-printed parts. Even if the dimensions were accurate in CAD, we found ourselves making coutnless adjustments on the teeth as the plastic tends to shrink as it cools down.
The actuator was used to maneuver the magnets up and down to control where the pieces moved. However, we discovered that the magnets prevented the actuator from seamlessly moving up and down. To mitigate this issue, we used a rubber band to stabilize the components.
To ensure that the two X-axis linear stages were stable and aligned, we needed to prevent them from collapsing inward. Initially, we considered implementing a perpendicular linear stage to keep them parallel. However, we ultimately decided to mount the motors onto a baseboard. This provided both structural support and prevented the linear stages from moving. Furthermore, we designed the chess board to be mounted above the base using vertical linear extrusions. To eep the chessboard flat, we made levelers using bolts and nuts.
The chess pieces were 3D printed and had nuts attached placed into holes at the bottom of the models. We opted to use a nut instead of a magnet with an opposite charge from the actuator to prevent the pieces from interfering with each other.
We utilized an MKS Base V1.6 3D Printer Circuit Card, featuring an ATmega2560 chip, to precisely control the motors effectively. The board was programmed using G-code via Repetir, to precisely move the motors and actuator to grab the pieces we wanted.Â
During demonstration day, I programmed the MKS to perform Scholar's Mate as we only had a limited time to showcase the project. Unfortunately, the video of the automated chess robot in action was lost, but the system functioned as intended.
In another version of the project, I had the players be able to select which pieces they wanted to move using an Arduino Uno, 4x4 keypad, and a 16x2 LCD screen. Unfortunately, the 12V battery that was used to power the circuit became unusable right before the final testing of the system so I was unable to showcase this version. The link on the left is the entire game of chess programmed on Arduino (missing castling, en passant, or other extremely specific chess cases).