Files
smart-trainer/CHANGELOG.md
sm c76ca89cc9 Initial commit: project docs and wiring diagram
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>
2026-02-25 19:03:55 +03:00

4.4 KiB
Raw Permalink Blame History

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В от сети (мощность, форм-фактор)