Add csi_rain_shield.scad with parametric visor-style protective shields for all 4 Raspberry Pi CSI cameras (IMX219). Features: - Visor-style overhang (32mm forward extension) shields lens from rain and direct sunlight - Drip edge prevents water from trickling back onto PCB - Snap-fit tabs (4 per shield, no fasteners required) - Ventilation slots prevent moisture condensation - Optional transparent polycarbonate lens cover insert - Radially symmetric design fits all 4 cameras Includes comprehensive BOM with: - Print settings and material specifications - Assembly instructions for snap-fit installation - Maintenance and troubleshooting guide - Weather resistance performance notes - Design variants for different conditions - Post-print finishing recommendations Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
295 lines
11 KiB
Markdown
295 lines
11 KiB
Markdown
# CSI Camera Rain/Sun Shield — BOM + Assembly
|
||
**Rev A — 2026-03-02 — sl-mechanical**
|
||
|
||
---
|
||
|
||
## System Overview
|
||
|
||
Protective visor-style rain and sun shields for all 4 Raspberry Pi CSI cameras (IMX219) on SaltyBot's sensor head.
|
||
|
||
| Feature | Spec |
|
||
|---------|------|
|
||
| Application | Protects IMX219 cameras from rain, dust, and direct sunlight |
|
||
| Camera interface | Snap-fit to camera housing (32×32 mm PCB with 38×38 mm face plate) |
|
||
| Material | PETG (printed) or polycarbonate (lens cover) |
|
||
| Coverage | All 4 cameras (radial arms at 0°/90°/180°/270°) |
|
||
| Visor overhang | 32 mm forward extension |
|
||
| Installation | Tool-free snap-fit (no fasteners required) |
|
||
| Optional | Clear polycarbonate lens cover insert |
|
||
|
||
---
|
||
|
||
## Design Features
|
||
|
||
- **Visor-style overhang:** 32 mm forward extension shields lens from rain and sun glare
|
||
- **Drip edge:** Curved bottom lip (3 mm radius) prevents water from running back onto PCB
|
||
- **Snap-fit tabs:** 4 flexible tabs clip into grooves on camera housing sides (no fasteners)
|
||
- **Ventilation slots:** 3 vent slots per side prevent moisture condensation inside shield
|
||
- **Lens cover groove:** Optional slot accepts removable 2.0 mm clear polycarbonate sheet
|
||
- **Minimal weight:** ~8–10 g per shield (4 shields ≈ 32–40 g)
|
||
- **No supports needed:** Flat-print orientation; minimal bridging
|
||
|
||
---
|
||
|
||
## Part A — Printed Shields
|
||
|
||
### Single Shield Unit (csi_rain_shield.scad, RENDER="shield")
|
||
|
||
**Purpose:** Protective visor for one CSI camera lens; clips onto camera housing.
|
||
|
||
| Parameter | Value | Notes |
|
||
|-----------|-------|-------|
|
||
| Qty | 4 | One per camera (front, back, left, right) |
|
||
| Material | PETG | 4 perimeters, 25% infill (speed-optimized) |
|
||
| Print size | ~45 × 55 × 8 mm | Flat-face-down orientation |
|
||
| Print time | ~25–35 min per shield | Total ~2 hours for all 4 |
|
||
| Support | Minimal | Small bridging over drip edge only |
|
||
| Wall thickness | 3 mm nominal | Adequate for snap-tab rigidity |
|
||
|
||
**Key features:**
|
||
- Curved top surface sheds water outward
|
||
- 4 snap-fit tabs (one per side) with 0.4 mm clearance for easy on/off
|
||
- Vent slots (3 on left, 3 on right) for air circulation
|
||
- Integrated groove for optional lens cover
|
||
- Drip edge prevents water from trickling back
|
||
|
||
**Post-print finishing:**
|
||
- Remove minimal support (drip edge underside)
|
||
- Smooth any rough edges with 220-grit sandpaper
|
||
- Test snap-tabs fit snugly (should click into place with light pressure)
|
||
- Verify vent slots are open (clear with compressed air if needed)
|
||
|
||
---
|
||
|
||
## Part B — Optional Lens Cover
|
||
|
||
### Clear Polycarbonate Insert (csi_rain_shield.scad, RENDER="lens_cover")
|
||
|
||
**Purpose:** Optional removable transparent lens cover; protects optics while allowing light transmission.
|
||
|
||
| Parameter | Value | Notes |
|
||
|-----------|-------|-------|
|
||
| Qty | 4 | One per camera (optional) |
|
||
| Material | Polycarbonate sheet, clear | 2.0 mm thickness; cut from larger stock |
|
||
| Size | ~44 × 44 mm (with flanges) | Trimmed to fit shield groove |
|
||
| Optical quality | >90% transmission | Standard transparency grade; no special optics required |
|
||
| Source | Cut from 2.0 mm clear polycarbonate sheet | Order stock, cut to size, sand edges smooth |
|
||
|
||
**Installation:**
|
||
1. Measure shield opening: approx. 38×38 mm (camera face size)
|
||
2. Cut polycarbonate sheet to ~44×44 mm (includes 3 mm flange on each side)
|
||
3. Sand edges smooth with 220+ grit (prevent scratching during insertion)
|
||
4. Slide into groove on shield front (flanges grip in shield channels)
|
||
5. Can be removed/cleaned without tools
|
||
|
||
**Note:** Lens cover is **optional** — shields work fine without it. Use for:
|
||
- Extreme weather (heavy rain, salt spray)
|
||
- Coastal/sandy environments (dust protection)
|
||
- High-temperature environments (reduces direct solar heating on sensor)
|
||
|
||
---
|
||
|
||
## Assembly Instructions
|
||
|
||
### Installation on Camera Housing
|
||
|
||
1. **Prepare shield:** Remove any support material; verify snap-tabs are flexible.
|
||
2. **Position shield:** Orient visor away from camera (forward overhang extends away).
|
||
3. **Align tabs:** Match snap-tab positions with grooves on camera housing sides.
|
||
4. **Apply light pressure:** Snap shield onto housing with gentle thumb pressure.
|
||
- You should hear/feel a "click" as each tab engages.
|
||
- All 4 tabs should seat simultaneously (indicate correct orientation).
|
||
5. **Verify fit:** Tug gently on shield — it should not move relative to housing.
|
||
|
||
### Installation of Lens Cover (Optional)
|
||
|
||
1. **Prepare cover:** Sand edges smooth; verify 44×44 mm dimension.
|
||
2. **Align flanges:** Position cover so flanges align with groove channels on shield.
|
||
3. **Slide into groove:** Insert cover from front, sliding flanges into shield grooves.
|
||
4. **Check seating:** Cover should sit flush with shield front (no gaps).
|
||
5. **Removal:** Gently pry from one corner to remove for cleaning.
|
||
|
||
### Removal (For Cleaning/Replacement)
|
||
|
||
1. **Lens cover:** Pop out with fingernail or plastic lever (takes 10 seconds).
|
||
2. **Shield:** Flex one snap-tab up slightly while pulling shield forward.
|
||
- Repeat on opposite side if needed.
|
||
- Once one tab releases, shield pulls free easily.
|
||
3. **Clean:** Wipe interior with dry cloth; use lens cleaner on polycarbonate if needed.
|
||
4. **Reinstall:** Reverse steps above.
|
||
|
||
---
|
||
|
||
## Fastener List
|
||
|
||
| # | Item | Qty | Notes |
|
||
|---|------|-----|-------|
|
||
| 1 | Printed shield (PETG) | 4 | See Part A specs above |
|
||
| 2 | Polycarbonate lens cover | 4 | Optional; see Part B above |
|
||
| – | **No fasteners required** | — | Shields attach via snap-fit tabs only |
|
||
|
||
---
|
||
|
||
## Mounting Configuration
|
||
|
||
All 4 shields mount to radial arms of sensor_head.scad camera arms:
|
||
|
||
```
|
||
Top-down view (looking down at sensor head):
|
||
|
||
Camera 1 (0°, front)
|
||
▲
|
||
│
|
||
Shield │ Shield
|
||
(270°) │ (90°)
|
||
◄────-●─────►
|
||
│
|
||
│
|
||
Camera 3 (180°, back)
|
||
▼
|
||
|
||
Each camera has a 32×32 mm PCB with 38×38 mm face plate.
|
||
All 4 shields use identical design (radially symmetric).
|
||
```
|
||
|
||
---
|
||
|
||
## Print Settings (Recommended)
|
||
|
||
| Parameter | Value | Reason |
|
||
|-----------|-------|--------|
|
||
| **Nozzle temp** | 215–220 °C (PETG) | Prevent stringing; avoid over-heating |
|
||
| **Bed temp** | 80 °C | Good adhesion for PETG |
|
||
| **Print speed** | 40 mm/s | Normal speed; snapt-tabs need clean layers |
|
||
| **Infill** | 25% | Sufficient for rigidity; saves weight & time |
|
||
| **Perimeters** | 4 | Ensures solid snap-tabs |
|
||
| **Supports** | Minimal (tree/linear) | Only under drip edge if needed |
|
||
| **Orientation** | Flat-side-down | Visor face toward bed for best surface finish |
|
||
| **Layer height** | 0.2 mm | Standard; 0.1 mm for improved surface finish |
|
||
|
||
---
|
||
|
||
## Mass Estimate
|
||
|
||
| Component | Qty | Material | Est. mass |
|
||
|-----------|-----|----------|-----------|
|
||
| Rain shield (printed) | 4 | PETG | 8–10 g each (32–40 g total) |
|
||
| Polycarbonate cover | 4 | PC sheet | 3–5 g each (12–20 g total, optional) |
|
||
| **Subtotal (shields only)** | | | **32–40 g** |
|
||
| **Total (with covers)** | | | **44–60 g** |
|
||
|
||
**Impact on robot:** Negligible — <60 g added weight distributed symmetrically on sensor head.
|
||
|
||
---
|
||
|
||
## Weather Resistance
|
||
|
||
| Condition | Protection | Notes |
|
||
|-----------|-----------|-------|
|
||
| **Light rain** | Excellent | Visor prevents direct water contact |
|
||
| **Heavy rain** | Good | Drip edge minimizes runoff; vent slots allow drainage |
|
||
| **Salt spray** | Good | PETG resists corrosion; rinsable with fresh water |
|
||
| **Direct sunlight** | Excellent | Reduces lens heating; improves image contrast in bright conditions |
|
||
| **Dust** | Very good | Visor blocks most airborne dust; lens cover optional for sandy environments |
|
||
| **Snow/ice** | Fair | Shields prevent accumulation on lens; may require occasional wiping |
|
||
|
||
---
|
||
|
||
## Maintenance & Cleaning
|
||
|
||
### Weekly (or after rain/dust storm)
|
||
|
||
- **Wipe exterior:** Soft cloth, no cleaners (PETG safe with water only)
|
||
- **Check vent slots:** Clear any debris with compressed air
|
||
- **Verify snap-tabs:** Ensure shield hasn't loosened (retighten if needed)
|
||
|
||
### Monthly (or as needed)
|
||
|
||
- **Clean lens:** Remove polycarbonate cover; clean with lens cleaner + microfiber cloth
|
||
- **Inspect for cracks:** Check snap-tabs and drip edge for damage
|
||
- **Reattach cover:** Reinstall lens cover if removed
|
||
|
||
### Seasonal (before extended operations)
|
||
|
||
- **Deep clean:** Soak shields in warm soapy water; dry thoroughly
|
||
- **Inspect material:** Check for UV degradation (yellowing, brittleness)
|
||
- **Test fit:** Verify snap-tabs still grip firmly; replace if worn
|
||
|
||
---
|
||
|
||
## Troubleshooting
|
||
|
||
| Issue | Cause | Solution |
|
||
|-------|-------|----------|
|
||
| Shield won't snap on | Tabs too tight | Sand snap-tabs lightly; verify groove alignment |
|
||
| Shield rattles | Tabs too loose | Shim with thin tape; or reprint with tighter tolerance |
|
||
| Water pooling inside | Vent slots blocked | Clear vents with compressed air |
|
||
| Condensation on lens | Poor ventilation | Increase fan speed on sensor head or add desiccant packet |
|
||
| Lens cover stuck | Flanges swollen | Let air-dry in sun for 1 hour; gently pry corner |
|
||
| Drip edge cracked | Impact damage | Replace shield; or reinforce with epoxy + fiber tape |
|
||
|
||
---
|
||
|
||
## Design Variants
|
||
|
||
### Variant 1: Enhanced Rain Protection (HEAVY WEATHER)
|
||
- Extend visor overhang to 40 mm
|
||
- Add full-width drip lip (vs. curved edge)
|
||
- Thicken walls to 4 mm for durability
|
||
- **Cost:** +10% weight, +5% print time
|
||
|
||
### Variant 2: Minimal Sun Shield (LIGHTWEIGHT)
|
||
- Reduce visor overhang to 20 mm
|
||
- Thinner walls (2.5 mm)
|
||
- Fewer vent slots (1 per side)
|
||
- **Weight savings:** ~15%; best for dry climates
|
||
|
||
### Variant 3: 360° Camera Protection (ADVANCED)
|
||
- Add full-wrap shroud (not just visor)
|
||
- Integrated housing covers (larger print)
|
||
- Requires more support material
|
||
- **Print time:** ~3 hours per shield
|
||
|
||
---
|
||
|
||
## Storage & Replacement
|
||
|
||
**Shelf life:** PETG shields have indefinite shelf life if stored dry.
|
||
|
||
**Replacement schedule:** Replace if:
|
||
- Snap-tabs become loose or brittle
|
||
- UV degradation visible (yellowing, embrittlement)
|
||
- Cracks develop in visor
|
||
- Polycarbonate cover becomes cloudy (clean first; replace if cloudiness persists)
|
||
|
||
**Spares to keep:** 1–2 extra shields (in case of damage during field operations).
|
||
|
||
---
|
||
|
||
## Files & References
|
||
|
||
| File | Purpose |
|
||
|------|---------|
|
||
| `csi_rain_shield.scad` | OpenSCAD parametric model (3 RENDER variants) |
|
||
| `csi_rain_shield_BOM.md` | This document |
|
||
| `imx219_mount.scad` | CSI camera housing reference (dependency) |
|
||
| `sensor_head.scad` | Radial arm assembly reference |
|
||
|
||
---
|
||
|
||
## Assembly Checklist
|
||
|
||
- [ ] Print all 4 shields (PETG, flat-face-down)
|
||
- [ ] Remove support material (minimal)
|
||
- [ ] Sand edges smooth (220 grit)
|
||
- [ ] Test snap-tabs (should click into place with finger pressure)
|
||
- [ ] Verify vent slots are open
|
||
- [ ] *Optional:* Cut polycarbonate lens covers to size
|
||
- [ ] *Optional:* Sand polycarbonate edges smooth
|
||
- [ ] Mount shields on all 4 cameras (starting with front)
|
||
- [ ] Verify all snap-tabs engaged
|
||
- [ ] *Optional:* Install polycarbonate lens covers
|
||
- [ ] Inspect for water shedding (test with water spray if available)
|
||
- [ ] Label shields if needed (mark front/back camera positions)
|
||
- [ ] Store spares in dry location
|