Automated Balance Beam

Project Goal

To design, build, and test a balance beam capable of using PID control to balance a ping pong ball at a set point on the beam.

My Role: 

Technical Skills: Non-technical Skills: 

Results

This project was completed at the end of the Spring 2023 semester and the balance beam functioned as designed. In addition to the engineering skills I developed while working on this project, I gained various analytical skills including strategic problem-solving, code debugging, efficient and good programming practices, and more.

Key Takeaways

Technical drawings of the servo mount (left) and sheet metal bracket (right). Units are in CGS

Completed balance beam assembly, excluding the circuit board

Completed circuit board with the integrated Arduino Nano

Project Overview & Process

The automated balance beam was a semester project for the Introduction to Mechanical Design (MENG 185) class at Yale. This was the first mechanical engineering class I took at Yale, and this term project was a great introduction to the ins and outs of engineering: CAD, DFM, rapid prototyping, and machining.

Design: The project began with a set of constraints and material requirements provided by our professor. The assembly had to fit on a standard 2x4 piece of wood, and could not exceed a certain height. I began with sketches and cardboard prototypes, and then, using SolidWorks, I modeled each component and created a 3D assembly. I presented the assembly model, a bill of materials, and my manufacturing plan.

Manufacture: A range of stock materials (sheet metal, wood, acrylic sheets, plastic U-channel, etc.) were provided. The sheet metal bracket was made using a sheet metal bender and riveted together. The stock acrylic sheets were cut into links of the desired sizes and holes were drilled into them using a drill press. Finally, a range of custom parts were 3D printed, including the servo mount onto the base, a stopper to keep the ping pong ball from rolling off the channel, a mount to hold the IR sensor on one end of the channel, and connection pieces to link the channel to the sheet metal bracket and the acrylic links.

Assembly: Once all the parts were manufactured, I began by screwing the servo mount and the sheet metal bracket into the wooden base. The 3D-printed sensor mount and connection pieces were screwed into the U-channel, and the complete channel was attached to the sheet metal bracket with pin joints and snap rings. The acrylic links were connected and attached to the underside of the channel using pin joints and snap rings. Finally, the servo was screwed into its mount and attached to the bottom-most acrylic link with screws.

Electronics: After completing the assembly and ensuring its structural integrity, I assembled and soldered the circuit boards and programmed the Arduino. The heart of the board is the Arduino Nano, and the circuit also contains components for power distribution and variable resistors (potentiometers) for fine-tuning the automated response of the servo. The completed circuit was connected to the IR sensor mounted at the end of the U-channel and the servo motor mounted on the wooden base. The circuit itself was attached to a sheet metal mount that was screwed into the wooden base.

Testing: Using the three potentiometers, I ran trial-and-error tests of the system to determine which proportional, integral, and derivative (PID) values yielded the best results. After hard-coding these values into the program and defining a set point on the U-channel (how far from the IR sensor I want the ball to balance), the system was complete. Below is a video of the balance beam in action, and it is available for download here.

video_2023-04-21_14-25-27.mp4