Introduction: 6DOF Stewart Platform
The 6DOF Stewart Platform is a robotic platform that can articulate in 6 degrees of freedom. Commonly constructed with 6 linear actuators, this scaled down mini version uses 6 servos to simulate the linear actuation motion. There are the three linear movements x, y, z (lateral, longitudinal and vertical), and the three rotations pitch, roll, & yaw.
Stewart platforms are commonly used for applications like flight simulators, machine tool technology, crane technology, underwater research, air-to-sea rescue, mechanical bulls, satellite dish positioning, telescopes, and orthopedic surgery.
This version of the Stewart platform is controlled with an Arduino Uno microcontroller and powered by a 5v power supply.
6 servo motors
Acrylic or wood
1 Arduino Uno
1 joystick module
12 ball joints and 6 threaded shafts
6 standoff pieces
Step 1: Designing CAD Files
Start measuring the mounting bracket for the servo, and the rubber grommet for threading wires, and make slightly bigger holes on a hexagonal polygon. Add mounting holes for standoffs if needed. Remember to leave suitable spacing so the servos do not push against each other when mounted. The final result (shown above) should fit the servo motor perfectly and should not require standoffs to hold the structure together. Print 4 copies of the file, 2 without holes for the rubber grommet. Also, print a copy of the hexagonal shape, scaled down 70%, but without the holes for the servo motors, this will be the top plate.
You can laser cut or 3D print these files, but adjust the thicknesses of materials appropriately that 2 sheets will perfectly match the height of the mounting bracket for the servos.
I used Adobe Illustrator for this project.
Step 2: Assembly
Start by sandwiching the servo motors in between the sheets of acrylic that we printed out in the last step. pay attention to thread the wires through, and bundle the wires neatly for later. Next, hot glue/tape/mount the short standoffs to the acrylic top plate on the short edges of the hexagonal polygon, as shown above. Remember to add a bit of spacing in between the standoffs.
Assemble the ball joints, keep in mind they have to be the same length. Attach the ball joints to servo horns included with the servo motor with self-boring screws, use appropriate spacing so the ball joints have a full range of freedom. Shown above.
Finally, Attach the other side of the ball joint mechanism to the standoffs on the acrylic with normal screws included in the ball joint package. Then, add the servo horns to the servos so that it should form a 90-degree angle to the inside when the servo is at a zero position, tweak the ball joints and servo horns accordingly. You can use a phone to see if the platform is level, shown above.
Step 3: Electronics
Start by attaching jumper wires to the servo wires, I like to use the corresponding color so they look neater. Connect the 5v and GND to the breadboard, and the signal (pwn) pin to the Arduino Uno in pins 3,5,6,9,10,11. Add push buttons to the breadboard, with a wire to 5v, a resistor to GND on the other side, and a signal wire going to a digital pin on the Arduino. These will control set commands for the platform. Continue by plugging in a joystick module, 5v, and GND to the breadboard, X and Y output to analog inputs. This is the main joystick control for the platform.
Strip a USB cable, taking the power and GND wires and connecting them to jumper cables, which connect to the power pins on the breadboard. This USB will power the system from a power bank. Add assorted capacitors to the power strip on the breadboard, keep in mind the positive and negative pins. These capacitors help the servos run because they pull a lot of current, and the capacitors will charge and output pulses to help that.
Step 4: Programming
I won't go in depth on the programming aspect of this project because the possibilities are endless, but you should start by moving the servo arms and getting a grasp of how to articulate the platform then set the servos in different positions through the Arduino to further discover ways to control the platform.
Step 5: Congratulations!
You have just built your stewart platform! Good luck! The possibilities are endless!