Sand table v2: printable design, STLs and notes
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>
This commit is contained in:
commit
370cb1c79c
33 files changed
+62975
No files matched your search
@@ -0,0 +1,7 @@
|
||||
# SolidCraft auto-backups
|
||||
*.bak
|
||||
|
||||
# OS / editor cruft
|
||||
.DS_Store
|
||||
*.swp
|
||||
*~
|
||||
@@ -0,0 +1,9 @@
|
||||
# sandTable
|
||||
|
||||
A 12" kinetic sand table that draws patterns in sand. A steel ball rolls under glass, pulled by a magnet on a polar arm underneath. The case is about 12.5" across and 5" tall. The parts are 3D-printed for a Bambu P1S and designed in SolidCraft.
|
||||
|
||||
- `sand-table-v2.solidcraft`: the printable design. Bodies named `REF_*` are bought parts, modeled for fit only.
|
||||
- `sand-table-v2-assembly.step`: the full assembly, for viewing in any CAD tool.
|
||||
- `print/`: STL files for every printed part, numbered in print order. Print `00-fit-test-coupon` first.
|
||||
- `design-notes.md`: how it works, dimensions, parts to buy, hardware list and print settings.
|
||||
- `sand-table-v1.solidcraft`, `mechanism-mockups.solidcraft`: earlier layout and mechanism studies.
|
||||
+139
@@ -0,0 +1,139 @@
|
||||
# Sand table: design notes
|
||||
|
||||
- **Printable design:** `sand-table-v2.solidcraft`. Bodies named `REF_*` are bought or on-hand parts, modeled only for fit.
|
||||
- **Older files:** `sand-table-v1.solidcraft` (first layout) and `mechanism-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 `DeckShelf` and `SandRing`.
|
||||
- **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.
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large.
Load diff
Binary file not shown.
Reference in new issue
Block a user