Daniel Vinals Robotics and Mechatronics Engineering Portfolio
Create Your First Project
Start adding your projects to your portfolio. Click on "Manage Projects" to get started
The Stacker
Project type
Mechatronics
Date
December 2021
Location
Boston
The goal for the stacking machine was for it to function like an arcade machine. It was important to us that anyone could easily pick up the controls and build a tower without needing to write any code. We started with an Arduino Mega running the class provided firmware that allowed it to run G-code. Using Repetier, a software for controlling 3D printers, we sent G-code commands to the machine through the Arduino's serial connection.
Our design consisted of the usage of four stepper motors and a servo to produce 3.5 degrees of freedom. One stepper motor was designated to move the end effector from left to right. Two stepper motors were designated to move the previous setup mentioned up and down. A belt drive system was used to achieve the desired linear motion. Acrylic and T-slotted aluminum extrusions (8020) were used to make the railings and carriages that produced the linear movement. The last stepper motor was used to rotate the cube holder ring. This was achieved by using an internal gear and a spur gear controlled by the motor. This setup was made from laser-cut acrylic. The end-effector (gripper) was driven by two meshing, equal number teeth gears. These two gears powered two four bar linkage mechanisms that opened and closed the fingers of the claw. The servo motor was connected to the input link allowing the two gripper arms to open and close based on the position angle of the servo.
By default, G-code used absolute positioning. This meant each movement command had to tell the machine what position to move to relative to zero. Because we wanted to use a controller with simple button inputs, it was necessary to use relative positioning, which allowed programming the machine to move a specified distance in a certain direction.
Once we had the G-code, we used reWASD to create macros that mapped the commands onto the buttons of an Xbox controller. With the controller connected to the laptop via bluetooth, we could control all 3.5 degrees of freedom wirelessly simply by triggering the movement commands with button presses. After some trial and error, we modified the movement distances in order to strike a balance between precision and ease of use. Smaller increments offered more control, but increased the number of times the user had to press a button to move in a certain direction. We settled on 5 mm for left/right movement, 10 mm for up/down movement and 5 degrees for the turntable. We found these values allowed for easy yet precise control of the stacker.

