Smart bench press trainer with electric motor (M365 Pro). CAN Bus architecture: ESP32-S3 (master) + Flipsky 75100 (VESC) + STM32 Blue Pill (carriage). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
56 lines
4.4 KiB
Markdown
56 lines
4.4 KiB
Markdown
# CHANGELOG — История проектных решений
|
||
|
||
## v1 → v2: Расчёт мотора и барабана
|
||
- Выбран барабан D30мм (оптимум по расчёту: 100кг при 30А рабочих)
|
||
- Рассчитаны константы мотора M365 Pro (Kt, Ke, R, KV)
|
||
- Кабестан 3 витка, μ=0.25 — коэффициент удержания 14.1
|
||
- Контроллер: MKS VESC Mini 6.7 Pro (первоначальный выбор)
|
||
- Батарея 48В 500Вт·ч (автономная работа)
|
||
|
||
## v2 → v3: Waveshare ESP32-S3 Touch LCD 3.5"
|
||
- **Замена:** ESP32 + OLED + RTC + TF → Waveshare ESP32-S3 Touch LCD 3.5" (~$20)
|
||
- Плата включает: 3.5" IPS тачскрин, QMI8658 IMU, PCF85063 RTC, AXP2101 PMU, TF слот
|
||
- ESP32-S3 имеет TWAI (аппаратный CAN) — нужен только трансивер SN65HVD230
|
||
- Бортовой IMU (QMI8658) для диагностики; внешний MPU6050 на каретке для ускорения штанги
|
||
- BOM электроники снизился с ~$350 до ~$270
|
||
|
||
## v3 → v4: CAN Bus архитектура
|
||
- **Проблема I2C:** шлейф ~1м к каретке рядом с фазными проводами — ненадёжно для I2C
|
||
- **Решение:** CAN шина, 3 узла, все датчики читаются локально
|
||
- **CAN узел #3 (каретка):** STM32F103C8T6 Blue Pill (~$2)
|
||
- Выбран вместо ESP32-C3 (overkill) и ATtiny (нет встроенного CAN)
|
||
- STM32F103 — самый распространённый STM32, CAN 2.0B встроен, $1.5-2, тонна примеров
|
||
- Читает MPU6050 (I2C) + HX711+тензодатчик (GPIO) локально
|
||
- **Тензодатчик перемещён на каретку** (inline: каретка ↔ трос)
|
||
- Раньше был внизу у ролика — длинный провод HX711 к ESP32
|
||
- Теперь рядом с Blue Pill — провод 3 см, никаких проблем
|
||
- Бонус: мерим силу прямо в точке приложения к штанге
|
||
- **Контроллер:** Flipsky 75100 Pro V2 вместо MKS VESC Mini 6.7
|
||
- 100А длительно (запас ×2 при пиках 40-50А)
|
||
- 84В макс (48В батарея — в зоне комфорта)
|
||
- BT встроен (VESC Tool без провода)
|
||
- Фазный EMI фильтр на плате
|
||
- Стоимость: ~$90 (vs ~$35 MKS)
|
||
|
||
## v4 дополнения: Питание и безопасность
|
||
- **Питание от сети 220В** — вводной щит (автомат + УЗО + БП 48В)
|
||
- **Батарея уменьшена:** 500Вт·ч → 100-250Вт·ч (только буфер рекуперации + UPS)
|
||
- Заряд до 90% — оставляем буфер для приёма энергии рекуперации
|
||
- **Тормозной резистор:** 100-200Вт, 1-5Ом — сброс излишков при полной батарее
|
||
- Flipsky 75100 поддерживает brake resistor нативно
|
||
- Без резистора: батарея 100% → рекуперация → overvoltage → VESC fault → штанга падает
|
||
- **Реле:** 3× НЗ 40А (не 80А — реально через обмотки 20-30А при торможении)
|
||
- Или трёхфазный контактор НЗ на DIN-рейку в щите
|
||
- **Концевики:** остаются на GPIO ESP32 с RC-фильтром (1К+100нФ)
|
||
- Бинарный сигнал, помехозащита RC-фильтром достаточна, CAN overkill
|
||
|
||
## Открытые вопросы / TODO
|
||
- [ ] Софт ESP32: CAN-драйвер, управляющие алгоритмы, UI на тачскрине
|
||
- [ ] Софт STM32: чтение IMU+HX711, упаковка в CAN фрейм
|
||
- [ ] Настройка VESC: FOC, лимиты тока/температуры, brake resistor
|
||
- [ ] Чертежи: барабан, каретка, кронштейны, щит
|
||
- [ ] Приложение смартфон (BLE): профили, статистика
|
||
- [ ] Тестирование безопасности: watchdog, реле, концевики
|
||
- [ ] Выбор конкретного контактора НЗ / реле для щита
|
||
- [ ] Подбор БП 48В от сети (мощность, форм-фактор)
|