12" polar kinetic sand table (motor-on-arm mechanism with slip ring). - SolidCraft design + STEP assembly - 25 print-ready STLs for a Bambu P1S, fits set from the fit-test coupon (shaft 8.1 mm, 608 pocket 22.2 mm) - design notes: mechanism, dimensions, BOM, hardware, print orientation Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
6.9 KiB
6.9 KiB
Sand table: design notes
- Printable design:
sand-table-v2.solidcraft. Bodies namedREF_*are bought or on-hand parts, modeled only for fit. - Older files:
sand-table-v1.solidcraft(first layout) andmechanism-mockups.solidcraft(A vs B blocks). - Print files:
print/
Size
- 318 mm (12.5") across, about 129 mm (5.1") tall, plus stick-on feet.
- The sand area is 284 mm (11.2") across. The ball reaches 133 mm from the center (rho 0–133).
How it works (mechanism A)
- Spin:
- The pancake NEMA17 hangs under the center plate on 9 mm posts. Its screw slots allow ±3 mm for belt tension.
- A 20T pulley drives the printed 80T hub pulley (4:1) through a 200 mm closed GT2 loop, at a 46 mm center distance.
- Hub:
- One printed part: the 80T pulley, the arm plate, and a hollow shaft (8 mm OD, 4.5 mm bore).
- The shaft turns in 2× 608 bearings, set back-to-back in the center plate's housing, which has a lip between them.
- The slip-ring adapter is glued on the shaft bottom and presses up on the lower bearing, which locks the shaft in place.
- Slip ring:
- The rotor flange screws to the adapter (3× M3). The rotor wires go up the shaft bore, out a groove in the arm plate, and along the extrusion's side slot.
- The stator body hangs below. A printed collar's tab rides in a fork on the center plate, which stops the body from turning.
- Arm:
- 2020 T-slot, 220 mm long, from x -80 to +140, bolted to the hub with 2× M5 T-nuts.
- The in/out motor hangs upside down behind the back end on a printed bracket (T-nuts in the bottom slot).
- The tip idler is a 608 in a printed flanged sleeve, on a printed 8 mm pin. No M8 bolt is needed.
- Carriage:
- It rolls on 4× 608s on the upper lands of the extrusion's side faces. On the −y side the two rollers sit on flexure blades with 0.3 mm preload, so there's no slop.
- The belt ends clamp into a toothed slot.
- The magnet sits in a drop-in cup, 25 mm ahead of the carriage center. With a 1 mm felt pad on top, it touches the plexi floor.
- Homing: a microswitch on top of the extrusion's back end. The carriage reaches it at rho ≈ 2, and its body is the rho-0 hard stop.
- Electronics:
- The Arduino Uno + CNC shield hangs upside down (components facing down) under the deck at 45°, on 4 printed standoffs, with the USB edge toward the wall.
- Cables leave through a notch in the bottom of the wall. The bottom is open for access.
Heights (z from the ground, mm)
| Part | z |
|---|---|
| Slip ring body / flange | 19.8–34.8 / 34.8–36 |
| Adapter | 36–42 |
| Hub bearings | 42–49, 53–60 |
| Deck shelf | 51–56 |
| Center plate | 56–60 |
| Spin motor | 24.5–47 (shaft tip 71) |
| Hub pulley | 60.5–69.5 |
| Arm plate | 69.5–73 |
| In/out belt | 70.5–76.5 |
| Extrusion | 73–93 |
| Arm motor | 82–104.5 |
| Rollers | 85.5–92.5 |
| Carriage plate | 93–98 |
| Magnet top / felt | 105.5 / 106.5 |
| Plexi floor | 106.5–109.7 |
| Sand gap | 16 |
| Glass top / rim | 128.85 |
Motor (pancake NEMA17, from the user's drawing)
- Body: 42 × 42 × 22.5 ±0.8.
- Face: boss Ø22 × 2; 4× M3 on a 31 mm square, 2.5 mm deep.
- Shaft: Ø5 with a D-flat, 24 ±0.5 from the face.
- Connector: sticks out 7 mm near the back.
- Wires: A+ black, A− green, B+ red, B− blue.
Fit parameters (set from the fit-test coupon, 2026-10-22)
shaft_d= 8.1: every printed 8 mm shaft or pin that goes into a 608 (hub shaft, roller pins, idler pin).- 7.9 and 8.0 fell on and off; 8.1 grips.
- The parts were re-exported after this change: 10 hub, 11 slip-ring adapter, 15 idler bracket, 17 carriage.
brg_d= 22.2: every 608 pocket (center plate, idler sleeve).- 22.4 was loose, 22.2 a snug push, 22.0 too tight.
- If the idler sleeve ever slips on its bearing, add a drop of CA.
Parts on hand
- 2× pancake NEMA17
- 2× GT2 20T pulley (5 mm bore)
- open GT2 belt (about 0.5 m)
- 2020 T-slot (needs 220 mm)
- 7× 608: 2 hub, 4 carriage, 1 idler
- Arduino Uno + CNC shield
To buy
- Slip ring: Comidox 12.5 mm capsule, 6 wires, 2 A. It carries 4 wires for the arm motor and 2 for the home switch.
- Rotor: flange Ø24 × 1.2 with 3× Ø3.2 holes on an Ø18 circle, plus a Ø5 × 1.5 boss.
- Stator: body Ø12.5 × 15.
- GT2 closed loop, 200 mm × 6 mm
- 12" round glass, 1/8"
- 12" round plexi disc, 1/8" (white or frosted)
- N52 magnets, Ø12 × 3 mm, several (stack 2 to start)
- Steel balls, 3/8" (plus 5/16" and 1/2" to compare)
- Fine sand
- Felt pad (self-adhesive)
- 4 rubber feet
- 12 V 2 A power supply
- KW12-style microswitch (20 × 10 × 6.4)
- Optional: TMC2208/2209 drivers (quieter)
- Optional: 8 mm × 0.5 mm brass tube (spare shaft)
Hardware
| Qty | Part | Where |
|---|---|---|
| 8 | M3×16 + M3 nut | shell seam joints (2 per seam) |
| 16 | M3×8 | deck → wall ledge (8); center plate → deck (8) |
| 4 | M3×12 | spin motor (through the counterbored slots) |
| 4 | M3×6 | arm motor → bracket |
| 3 | M3×6 | slip ring flange → adapter |
| 5 | M3×8 | roller washers (4), idler washer (1) |
| 4 | M3×6 | Uno → standoffs |
| 7 | M5 + slot-6 T-nut | hub 2× M5×12, idler bracket 2× M5×12, motor bracket 2× M5×8, switch mount 1× M5×8 |
| 2 | M2×8 | microswitch |
Glue: CA for the slip-ring adapter on the shaft, the magnet cup in the carriage, and the magnets.
Print files (print/)
| File | Qty | Notes |
|---|---|---|
| 00-fit-test-coupon | 1 | Print first. Set shaft_d / brg_d from it, then re-export the parts below. |
| 01–04 shell Q1–Q4 | 1 each | Q1 has the cable notch. Joint screws go at the 4 seams. |
| 05–08 deck Q1–Q4 | 1 each | Q1 has the Arduino standoffs and goes under Shell Q1 (the 45° side). |
| 09 center plate | 1 | Bearing housing, spin-motor posts, slip-ring fork |
| 10 hub 80T pulley | 1 | PETG; arm plate on the bed |
| 11 slip-ring adapter, 12 stator collar | 1 each | |
| 13 arm motor bracket | 1 | Needs tree supports |
| 14 switch mount, 15 idler bracket, 16 idler sleeve | 1 each | |
| 17 carriage, 18 magnet cup | 1 each | |
| 19 roller washers ×4, 19b idler washer | ||
| 20 magnet spacers 1/2/3 mm | 1 set | |
| 21–24 sand ring Q1–Q4 | 1 each |
The full assembly for viewing is sand-table-v2-assembly.step.
The body names in sand-table-v2.solidcraft have SolidCraft's automatic split suffixes:
- Shell:
Shell_Q1= Q1,Shell_Q1 (1)'= Q2,Shell_Q1 (1) (1)= Q3,Shell_Q1 (1)= Q4. - Deck and sand ring: the same pattern, starting from
DeckShelfandSandRing. - Don't rename them. It breaks the split steps.
Print orientation
- Shell quarters: upright. The joint blocks have 45° chamfers underneath.
- Deck sectors, center plate, hub, carriage: upside down (top face on the bed).
- Arm motor bracket: motor plate on the bed, with tree supports under the T-nut plate.
- Everything else: flat as modeled.
- PETG is best for the hub, carriage and brackets. PLA is fine for the shell, deck and sand ring.