2.7 KiB
2.7 KiB
⚙️ Samson eFit Module – Internal README (MVP Implementation)
🎯 Purpose
Build a compact, motor-controlled resistance unit with basic wireless control and encoder-based feedback.
Stay within MVP scope and avoid feature creep until core functionality works.
🧭 MVP Core Goals
- Smooth electronic resistance using BLDC + driver
- Wireless control of load (ESP32 → PWM)
- Encoder-based feedback to maintain commanded resistance
- Basic safety limits (current/thermal)
- Minimal UI (phone/Pi/serial)
📦 Current Components (Received)
| # | Component | Purpose | Notes |
|---|---|---|---|
| 1 | Waveshare 4" Round DSI Touch Display | UI | Use later; not MVP-critical |
| 2 | AS5600 Magnetic Encoders (5 pcs) | Angle/rep sensing | High priority for control loop |
| 3 | Milwaukee M18 Battery Adapters (2 pcs) | Power source | Portable demos; regulate as needed |
| 4 | 400W BLDC Motor Controllers (2 pcs) | Motor driving | PWM control with FWD/REV/Brake |
🧩 High-Level Architecture (MVP)
- ESP32: PWM output + encoder reading + wireless interface
- BLDC Driver: Drives motor phases based on PWM
- AS5600 Encoder: Shaft position/velocity feedback over I²C
- Power: 18V battery via adapter (regulate for ESP32)
- UI: Minimal (phone > Pi display for later)
🛠️ Implementation Order (Milestones)
- Bench-test BLDC controller + motor (no load)
- Read encoder position/velocity reliably
- Close feedback loop (PWM adjusted from encoder)
- Add safety limits (brake/stop/overcurrent handling)
- Wireless interface to set target resistance
- Optional: Pi display UI after stable MVP
💻 Firmware Tasks (ESP32)
- PWM generation + tuning
- Encoder I²C driver (AS5600)
- Resistance control loop (angle/speed → PWM adjust)
- Safety watchdogs (fault detection)
- Simple wireless command interface
🔩 Hardware Tasks
- Encoder magnet mounting on pulley/shaft
- Secure motor + driver on bench fixture
- Power routing + regulation
- Fusing + emergency stop provisions
🔋 Power Notes
- M18 battery: 18V nominal
- Driver acceptable: 6–60V
- ESP32 requires regulated 5V/3.3V
- Add DC-DC regulator if powering both from same source
🚫 Scope Limiters (Avoid Feature Creep)
Not MVP:
- Full AI workout planning
- Cloud accounts or server database
- Advanced touchscreen interface
- Subscription model
MVP success = controllable electronic resistance + encoder feedback loop.
🧪 Testing Targets
- Commanded resistance holds within stable margin
- Encoder data noise acceptable
- No uncontrolled torque spikes
- Safe stop behavior verified
📝 Notes to Ourselves
If it does not directly help us control and stabilize resistance, it waits until after MVP.