# Bench Press Trainer — умный тренажёр жима лёжа
Уличный тренажёр с электронным управлением нагрузкой. Мотор-колесо Xiaomi M365 Pro работает как управляемый тормоз/генератор через барабан кабестана. Нагрузка регулируется током VESC-контроллера (FOC).
## Структура проекта
```
smart-trainer/
├── README.md
├── docker-compose.yml # Docsify docs server
├── docs/ # Документация (Docsify)
│ ├── index.html # Docsify loader
│ ├── README.md # Главная страница
│ ├── spec.md # Инженерная спецификация
│ ├── changelog.md # История решений v1→v4
│ └── wiring.html # Схема подключения (интерактивная)
├── firmware/ # (будущее) прошивки ESP32, STM32
└── cad/ # (будущее) чертежи
```
## Документация
Docs server (Docsify + nginx):
```bash
docker compose up -d
# http://192.168.50.212:8090/
```
## Как работать со схемой (wiring.html)
Схема построена на CSS grid с карточками модулей. Каждый модуль — `
`.
### Секции (сверху вниз):
1. **Силовая часть** — питание, VESC, реле, мотор, тормозной резистор, watchdog
2. **CAN Bus bar** — визуализация шины с узлами
3. **Управление** — ESP32 Waveshare, STM32 Blue Pill
4. **Периферия** — концевики, NFC, смартфон, TF карта, Flipsky BT
5. **Data Flow** — таблица CAN трафика + описание безопасности
6. **BOM** — две таблицы (электроника + силовая/механика)
### ID модулей для поиска:
- `mod-power` — питание 220В + батарея
- `mod-vesc` — Flipsky 75100
- `mod-relay` — реле НЗ
- `mod-motor` — мотор M365 Pro
- `mod-brake-resistor` — тормозной резистор
- `mod-watchdog` — watchdog 555
- `mod-esp32` — Waveshare ESP32-S3
- `mod-stm32` — Blue Pill STM32 каретка
- `mod-endstops` — концевики
- `mod-nfc` — RC522 NFC
- `mod-phone` — смартфон BLE
- `mod-tf` — TF карта
- `mod-flipsky-bt` — Flipsky Bluetooth
- `mod-dataflow` — таблица CAN трафика
- `mod-safety-summary` — сводка безопасности
- `mod-bom-electronics` — BOM электроника
- `mod-bom-power-mech` — BOM силовая + механика