Introduction: Sand Table
Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.
Step 1: Items List
- Raspberry Pi (any version with the 40 pin GPIO)
- Stepper motor shield
- 2x DRV8825 stepper motor driver
- 2x NEMA 17 stepper motor
- 2x end-stop switch
- 12-wire slip ring
- DC power jacks (at least 2x male and 2x female connectors)
- 12V 10A DC power supply
- Any other male/female wires necessary for wiring with the Raspberry Pi
For the linear slide mechanism, I found the parts separately on OpenBuilds, but I would suggest using the V-Slot linear actuator kit, since it has all of the parts necessary as well as assembly instructions.
- 1/2" wood base for the mechanism
- Flange bearing with 1" inner diameter
- 4x Larger screws and nuts for securing the flange bearing to the base (I found these at my local hardware store)
- 1" steel pipe
- 1" right angle adapter
- Drop in T-nuts (I would suggest definitely getting some M5 T-nuts and any other sizes that you want)
- Large washers or shims (for balancing the flange)
- Any other wood/machine screw necessary for securing components
Wood Table Hardware:
- 1/2" and 1/4" pieces of plywood, birchwood, etc. (refer to the table design)
- 31" (or any other dimension) circular tempered glass
Step 2: Building the Base of the Arm Mechanism
- I used a 1/2" piece of MDF wood to act as a strong, heavy base for the arm mechanism. Any 1/2" thick wood could be used for the base (not necessarily MDF). I used a jigsaw (before I bought a woodworking router for better cuts) to cut the MDF board into a rough circle and sanded the edges. Make sure you mark the center of your square before cutting it into a circle.
- I bored a 1/2" hole in the center of the circle for the slip ring, and drilled 4 other holes for the screws that will secure the flange bearing to the base. Before securing the flange, you need to insert the slip ring in the 1/2" hole and secure it with wood screws so that the flange and the free-spinning node is on the top of the base.
- After securing the flange, insert the metal pipe in the ball bearing and check if the pipe is perpendicular to the base. When I tested this, I found that I needed to insert large washers in different locations under the flange to ensure that it was perpendicular.
- I cut the metal pipe to the length that I needed and drilled a hole through the pipe in the location where I was going to mount the main timing belt pulley.
Step 3: Building the Slide Mechanism
If you have acquired the OpenBuilds V-Slot kit or bought part that are similar, use the assembly resources from their website as a good guide for assembling the slide. I bought my parts separately so that I could have a "40x20" V-Slot rail laid horizontally instead of the vertical 20x40 arrangement that the OpenBuilds kit suggests using.
Using a horizontal V-Slot arrangement would allow for a slightly stronger attachment point to the metal pipe rotation axis, but it forces you to design the timing belt system on top of the belt. I will go more in depth to how I designed my custom linear slide, but if you choose to use the V-Slot kit from OpenBuilds, you will have to follow their guide for more information.
After choosing and cutting the length for my "40x20" V-slot, I began mounting the necessary hardware for gantry plate slide:
- I made mounting locations for the one of the pulleys that support the timing belt by drilling a hole close to on end of the slide, between the two V-Slot channels. I then used an M2.5 brass standoff with a threaded screw extension and a lock nut to secure a mounting location for the pulley that is elevated off the V-Slot. I used Loctite glue for added strength to the connection, since this pulley will have a fixed location on the slide. Then, it's as simple as mounting the ball bearing pulley with screw on to the standoff (make sure that you don't tighten it too much).
- The second pulley will be mounted to the stepper motor on the other side of the slide. I bought a separate flat aluminum bracket that was compliant with my "40x20" setup for mounting the stepper motor on the slide. I mounted the bracket with 2 drop in T-nuts and mounted the motor to the bracket. I used a 1/16" rubber sheet that I cut to the profile shape of the motor to insulate the vibrations from the motor, making the motor quieter.
- I bought four separate gantry wheels and a larger gantry plate to be compliant with my "40x20" setup. I mounted the gantry plate in the same way that it's mounted on the 20x40 V-Slot in the OpenBuilds kit. I made sure to adjust the spacing of the wheels by turning the eccentric spacers on 2 of the wheels until the gantry plate firmly secured and would start gliding when the V-Slot was tilted to one side.
- The timing belt that I used was a roll of GT2 timing belt (not a loop) that cut to the length that I needed. I mounted 3 more pulleys on to the gantry plate using a different length brass standoff in a V-pattern to maintain the tension in the timing belt. To secure the timing belt to the gantry plate, I used a 1" right-angled piece of scrap aluminum that I cut to about 50 mm in length. I drilled a hole to the same level as the pulleys and used a timing belt fixing bracket to clamp down the two ends of the cut timing belt. I then used belt torsion springs when necessary to increase the tension of the belt.
- I mounted the 2 end-stop switches to each ends of the slide by 3D printing a mounting bracket that is compliant with the V-Slot channels. I also 3D printed some bumpers for the gantry plate that extend over the edge of the plate, so that they will contact the switch first.
Step 4: Laser Cutting the Table Legs
I chose to laser cut the legs to be able to achieve the shape that I wanted from the table itself. I wanted them to have a wide base and a shape that flares outward to form a cone-shaped table. I also chose laser cutting to be able to have plenty of mounting holes and connecting braces to make the structure of the table sturdy. I used Fusion 360 to model the structure of the table with the laser cut parts for the legs. I used the laser cutter that I had access to from my local university to make these parts out of 1/4" plywood. I have laid out the necessary parts for 1 leg assembly in the model that can be used to laser cut the parts from a 1/4" 12"x24" piece of plywood.
Step 5: Building the Table Surface
Step 6: Wiring the Electronics
Step 7: Configuring the Software
- Download the latest version of Raspbian on your computer, and download Etcher for flashing the Raspbian image onto your Micro-SD card.
- In Etcher, select the Raspbian image that your saved and click flash.
- In the SD card's directory, create a file called "ssh" (or create a text file and rename it to "ssh"). Then create another file called "wpa_supplicant.conf". Copy the text from below and paste it into the file.
The only library that you should need is the "rpi_ws281x" for LED strip. Install the library onto the Raspberry Pi by using:
sudo pip install rpi_ws281x