feat: Prototype base plate — real hub motor axle measurements #11

Merged
seb merged 3 commits from sl-mechanical/prototype-baseplate into main 2026-02-28 15:17:48 -05:00
Collaborator

Laser-cuttable base plate with D-cut dropout clamps matching caliper-verified axle dimensions from wiki. Replaces placeholder values from PR #7.

What changed

New file: chassis/prototype_baseplate.scad

Fully parametric OpenSCAD model for a flat prototype base plate:

  • Base plate (6 mm Al / 8 mm acrylic): open fork slots with semicircular tips, bearing seat relief cutout, FC holes, battery mount holes, lightening slots, rounded corners
  • Lower dropout clamp: round bore Ø16.51 mm (base axle zone)
  • Upper dropout clamp: D-cut bore computed from chord geometry — Ø16.25 mm with 13.6 mm flat chord (0.3 mm clearance all-round)
  • RENDER param exports 2-D DXF projections for each laser-cut part

Updated: chassis/BOM.md → Rev B

  • Measurement delta table (PR #7 vs caliper-verified)
  • Prototype base plate BOM section (3 laser-cut parts + fasteners)
  • Motor entry corrected with full verified axle spec

Verified axle dimensions (caliper)

Feature Value
Axle base dia 16.11 mm
D-cut OD 15.95 mm
D-cut flat chord 13.00 mm
Total protrusion 65.50 mm
Bearing seat OD 37.80 mm
Tire OD 254 mm (10×2.125")

🤖 Generated with Claude Code

Laser-cuttable base plate with D-cut dropout clamps matching caliper-verified axle dimensions from wiki. Replaces placeholder values from PR #7. ## What changed ### New file: `chassis/prototype_baseplate.scad` Fully parametric OpenSCAD model for a flat prototype base plate: - **Base plate** (6 mm Al / 8 mm acrylic): open fork slots with semicircular tips, bearing seat relief cutout, FC holes, battery mount holes, lightening slots, rounded corners - **Lower dropout clamp**: round bore Ø16.51 mm (base axle zone) - **Upper dropout clamp**: D-cut bore computed from chord geometry — Ø16.25 mm with 13.6 mm flat chord (0.3 mm clearance all-round) - `RENDER` param exports 2-D DXF projections for each laser-cut part ### Updated: `chassis/BOM.md` → Rev B - Measurement delta table (PR #7 vs caliper-verified) - Prototype base plate BOM section (3 laser-cut parts + fasteners) - Motor entry corrected with full verified axle spec ## Verified axle dimensions (caliper) | Feature | Value | |---------|-------| | Axle base dia | 16.11 mm | | D-cut OD | 15.95 mm | | D-cut flat chord | 13.00 mm | | Total protrusion | 65.50 mm | | Bearing seat OD | 37.80 mm | | Tire OD | 254 mm (10×2.125") | 🤖 Generated with [Claude Code](https://claude.com/claude-code)
sl-mechanical added 1 commit 2026-02-28 14:43:43 -05:00
Adds prototype_baseplate.scad — a laser-cuttable / CNC-routable flat
base plate for the self-balancing robot using caliper-verified axle
dimensions from the wiki (replaces placeholder values in PR #7):

  Axle base dia:     16.11 mm (was 14 mm)
  D-cut OD:          15.95 mm (new)
  D-cut flat chord:  13.00 mm (new)
  Total protrusion:  65.50 mm
  Bearing seat OD:   37.80 mm
  Tire OD:          254 mm (10x2.125")
  Axle CL height:   127 mm (was wrong 310 mm)

Design:
- Single flat plate (6 mm Al / 8 mm acrylic), 680x220 mm blank
- Open fork slots (16.51 mm, semicircular tip) at each axle end
- Bearing seat relief cutout prevents Ø37.8 mm collar binding on edge
- Two-piece dropout clamp: lower (round bore) + upper (D-cut bore)
- D-cut profile computed from chord geometry with 0.3 mm all-round clearance
- MAMBA F722S FC holes (30.5x30.5 mm M3), battery mount holes (M4)
- Lightening slots, corner radii via minkowski
- RENDER param switches between 3-D assembly and 2-D DXF projections
  for each of the three laser-cut parts

Updates BOM.md to Rev B: measurement delta table, prototype BOM section,
updated motor entry with verified axle spec.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
sl-mechanical added 1 commit 2026-02-28 14:46:56 -05:00
Replaces placeholder 185x72x52mm battery spec with caliper-verified
pack dimensions. 2 packs side-by-side is the default config.

Geometry impact:
- PLATE_DEPTH reduced to 210mm (2x88mm + 17mm margin each side)
- Battery zone: 420x176mm centred between motor forks (fits 600mm wheelbase)
- Mount holes repositioned: 4 per pack x 2 packs = 8 M4 holes
  at (±(BATT_L/2 - 18), ±BATT_W/2)
- Velcro strap slots: 25mm wide, pierce full plate depth at x=±BATT_L/4
- 4-pack expansion: optional M5 shelf bolt holes when BATT_PACKS=4
  (only viable 4-pack layout is 2+2 underdeck — analysed in BOM)
- Battery ghost in assembly preview shows 2-pack deck layout

4-pack analysis (added to BOM):
  in-line 840mm > wheelbase, side-by-side 352mm > plate depth
  → 2+2 underdeck shelf is the only viable 4-pack configuration

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
sl-mechanical added 1 commit 2026-02-28 14:57:37 -05:00
ARCHITECTURE CHANGE: batteries no longer sit flat on the base plate.
They mount VERTICALLY on a central mast via a height-adjustable carousel.
CG is tuned by sliding the carousel up/down the stem.

Part A — prototype_baseplate.scad (Rev C):
- PLATE_DEPTH: 210mm → 130mm (no battery footprint constraint)
- Removed all battery tray geometry (holes, strap slots, expansion mounts)
- Added central stem socket: Ø38.6mm bore + 4x M5 flange bolt holes on Ø66mm BC
- Added stem_flange() module: laser-cut ring (qty 2, one each side of plate)
- Wiring pass-through slots flanking stem centre
- FC mount relocated to FC_X_OFFSET = -40mm (front of plate, clear of stem)
- New RENDER="stem_flange_2d" DXF export option

Part B — stem_battery_clamp.scad (new):
- Collar: two 3D-printed D-shaped halves, split at Y=0
  - Ø38.6mm bore (1.5" EMT / 6061-T6 tube)
  - 4x M6 clamping bolts + hex nut pockets
  - 1x M6 set screw per half for height/rotation lock
  - Arm attachment pads with M4 through-holes + nut pockets
- Arms: flat bars, laser-cut or printed, ARM_REACH=55mm
- Battery cradles: U-channel, open top, Velcro strap slots at 30% + 65% height
- BATT_COUNT param: 2 (180°), 3 (120°), or 4 (90°) radial batteries
- ARM_START_ANGLE chosen per BATT_COUNT to keep all arms clear of Y=0 split
- Battery ghosts in assembly for visualisation
- Full RENDER control: assembly / collar_half / arm / arm_2d / cradle
- Assembly sequence + CG tuning notes in file footer

BOM.md → Rev C:
- Part A table updated (5 laser-cut parts + stem tube)
- Part B table added (collar halves, arms, cradles, fasteners)
- Battery section: flat-deck layout replaced with vertical stem guide
- Fastener table updated to match new architecture

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
seb approved these changes 2026-02-28 15:17:47 -05:00
seb left a comment
Owner

Architecture looks solid. Merging for hands-on review in OpenSCAD.

Architecture looks solid. Merging for hands-on review in OpenSCAD.
seb merged commit 544a52686e into main 2026-02-28 15:17:48 -05:00
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: seb/saltylab-firmware#11
No description provided.