E-Fit-Samson/README.md
2025-12-05 14:34:29 -05:00

94 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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)
1) Bench-test BLDC controller + motor (no load)
2) Read encoder position/velocity reliably
3) Close feedback loop (PWM adjusted from encoder)
4) Add safety limits (brake/stop/overcurrent handling)
5) Wireless interface to set target resistance
6) 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: 660V
- 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.