# ASSEMBLY.md - План сборки x0gp F1 1/27 MVP Дата: 2026-06-28. Версия: 1.1 (синхронизировано с CART_MVP v13). > **Что это**: пошаговая инструкция от распаковки коробок до работающей машины. > **Цель**: собрать 1 машину, протестировать, потом дозаказать ещё 3. > **Изменения v1.2 (2026-06-28)**: синхронизация с CART_MVP v14. > - **Батарея Tattu — ВДОЛЬ оси (отмена v13 «поперёк»)**: поперёк 55мм вылезает за пределы кузова (колея 58мм, понтоны 22-24мм). > - **Двухпалубная схема (v14)**: серво (нос) → батарея вдоль (центр) → мотор+дифф (корма). Электроника **НАВЕРХ через electronics_plate.stl** (возвращён в v14, был отказ в v10). Батарея полуутоплена в пропил деки на 3-4мм. > - **ESC — не приклеивать к ESP32**: пластинка-проставка 1мм (текстолит/PETG) для воздушного зазора. > - **Подшипники 6×10×2.5 (MR106-ZZ) — заказывать сразу** на AliExpress (не проставки 0.5мм). > - **Пиньон-набор — строго Ø2.0мм посадка** в День 1. > - **AliExpress п.1 — очищен** от старого текста про Ø1.5мм одиночный пиньон. > > **Изменения v1.1 (2026-06-28)**: синхронизация с CART_MVP v13. > - ESP32-S3-DevKitC-1 → **ESP32-S3-Zero (Waveshare, 21×17.5мм)**. > - Мотор 370 → **Mini-Z flat-can 130 (15×12мм, вал Ø2.0мм)**. > - ESC 35A BL → **Micro Brushed ESC 20A/30A**. > - Батарея GNB 350мАч XT30 → **Tattu 2S 300мАч PH2.0**, укладка **ПОПЕРЁК шасси**. > - Серво 9г → **AFRC D1802MG 5г (21.3×11.5×17.6мм)**, крепление **горизонтально** через прорезь в деке. > - Подшипники 684ZZ → **673ZZ (Ø3×6×2.5 перед)** + **686ZZ (Ø6×10×3 зад)**. > - Dogbones → **УДАЛЕНЫ** (задний привод Mini-Z, мотор→пиньон→спур→дифф напрямую). > - Силиконовое масло 30WT → **УДАЛЕНО** (печатные аморт. без уплотнений). > - RUSHFPV Cherry антенна → **штатный диполь камеры AIO** (откусить «клевер»). > - POSCAP 6.3V → **470мкФ×10V Low ESR**. --- ## 0. Что должно быть на столе перед сборкой ### Куплено и получено (Ozon + WB) - ESP32-S3-Zero (Waveshare, 21×17.5мм, USB-C) — Wi-Fi агент - MPU-6050 GY-521 (IMU, I2C) - Tattu 2S 300мАч 7.6V 75C PH2.0 (батарея, 55×20×12мм) - Micro Brushed ESC 20A/30A с реверсом и тормозом (BEC 5V/1A) - **Mini-Z flat-can мотор 130 (15×12мм, вал Ø2.0мм)** - Микро-серво AFRC D1802MG 5г, **металлическая шестерня** (21.3×11.5×17.6мм) - Дифференциал Mini-Z MR02/MR03 1/28 (металл, со штатным спуром) - 5.8G 800TVL AIO VTX+камера 25мВт 40CH - **686ZZ 6×10×3 подшипник ×10шт (задние)** - **673ZZ 3×6×2.5 подшипник ×10шт (передние)** - Винты M2/M2.5/M3 набор (RC, под шестигранник) ### Заказано (AliExpress, ждём 14-30 дней) - Набор алюминиевых пиньонов Surpass Hobby M0.4 13T-26T **с посадкой на вал Ø2.0мм** (SKU `1005008647925876`) - Съёмник пиньонов AJRC (SKU `1005009341739110`) ### Напечатано (P1S, ~5.7 часа) - chassis_deck.stl **v7** (с готовыми отверстиями Ø10/Ø6 + вырезом под Type-C) - ~~electronics_plate.stl~~ — НЕ используется (в v10) - body_post.stl ×4 - front_bumper.stl, rear_bumper.stl - shock_tower_front.stl, shock_tower_rear.stl (без поршня и уплотнений) - servo_mount.stl **v6** (горизонтальная укладка сервы, прорезь под качалку в деке) - motor_mount.stl **v12** (Mini-Z flat-can, осевое отверстие Ø2.2мм под вал Ø2.0мм) - battery_strap.stl, wire_clip.stl ×4, fpv_camera_mount.stl - wheel_hub_front.stl **v4** (под 673ZZ Ø6мм), wheel_hub_rear.stl **v4** (под 686ZZ Ø10мм) - tire_front.stl, tire_rear.stl (TPU 85A) - body_shell.stl (PETG, ~100 мин, печатаем сами — Kyosho НЕ покупаем) ### Дополнительно нужно (если нет дома) - Провода: силикон 30AWG 5 цветов набор (100м) — уже в корзине (~400₽) - ~~Силиконовое масло 30WT~~ — УДАЛЕНО (печатные аморт. без уплотнений, масло вытечет) - **POSCAP / Low ESR электролит 470мкФ×10V** (Ø6.3×8мм или Ø8×10мм, ~50₽) — ОБЯЗАТЕЛЬНО - **Каптоновый скотч 10мм × 30м** (~250₽) — ОБЯЗАТЕЛЬНО (изоляция бутерброда ESP32+ESC+MPU) - Двухсторонний скотч 3M VHB 0.1мм (~150₽) — фиксация плат - Термоусадка 3мм и 5мм — 100₽ - Изолента, кабельные стяжки — есть дома > Кузов печатаем сами на P1S (PETG, body_shell.stl, ~100 мин). Готовый кузов Kyosho НЕ покупается. ### Инструменты - Паяльник 25-40W с тонким жалом - Припой, флюс - Крестовая отвёртка PH00 + PH0 - Пинцет - Бокорезы - Мультиметр - USB-C кабель для ESP32 --- ## 1. Распечатка и подготовка деталей ### Шаг 1.1 - Печать STL 1. Открыть Bambu Studio 2. Импортировать STL из D:/x0gp/hardware/print/stl/ 3. Разложить на столе 256×256мм Bambu P1S: - Большие: deck, electronics_plate, front_bumper, rear_bumper, battery_strap - Средние: servo_mount, motor_mount, fpv_camera_mount, shock_tower×2 - Мелкие: 4× body_post, 4× wire_clip 4. **Все PETG детали**: профиль 0.16mm Strength @BBL P1S 5. **TPU детали** (front_bumper, rear_bumper, battery_strap): профиль 0.20mm Quality, AMS не нужен 6. Запустить печать (3 часа) ### Шаг 1.2 - Пост-обработка 1. Снять детали с стола 2. Убрать поддержки (если были) 3. Пройтись наждачкой 200 по отверстиям M2/M2.5 (если саморезы входят туго) 4. Проверить отверстия подшипников - вставить 673ZZ (Ø6мм) и 686ZZ (Ø10мм), должны входить с лёгким натягом 5. **Сверить размеры серво** с посадкой в `servo_mount.stl` v6 (21.3×11.5×17.6мм). Проверить, что прорезь под качалку Ø5мм на Y=+49 совпадает с нижней стороной деки. 6. **Сверить `motor_mount.stl` v12**: осевое отверстие Ø2.2мм должно пропускать вал мотора Ø2.0мм без трения. --- ## 2. Механика шасси (30 минут) ### Шаг 2.1 - Установка подшипников в деку 1. Берём chassis_deck.stl **v7** (напечатанный, отверстия уже есть — НЕ сверлить вручную) 2. Нажимаем **673ZZ** в отверстия **передней** оси (Ø6мм) — 2 шт 3. Нажимаем **686ZZ** в отверстия **задней** оси (Ø10мм) — 2 шт 4. Убеждаемся что вращаются свободно 5. **При получении дифференциала** — замерить штангенциркулем ширину посадочного места под задний подшипник. Оригинал Mini-Z MR02/03 = 2.5мм (НЕ 3мм). Если реально 2.5мм — напечатать PLA-проставку 0.5мм или дождаться AliExpress-партии 6×10×2.5. ### Шаг 2.2 - Установка мотора 1. Берём **motor_mount.stl v12** (под Mini-Z flat-can 15×12мм, осевое отверстие Ø2.2мм под вал Ø2.0мм) 2. Вставляем Mini-Z flat-can мотор в монтаж (посадочное окно 15×12мм) 3. Закрепляем 2×M1.6 винтами через торцевые отверстия мотора (НЕ M2 — резьба в моторе M1.6!) 4. **Снять штатную шестерню** с вала съёмником пиньонов AJRC (если мотор б/у) 5. Надеть пиньон M0.4 8T (посадка Ø2.0мм!) — **после приезда с AliExpress** (дни 21-30) 6. Устанавливаем motor_mount на деку: 2×M2 винтами через отверстия в motor_mount ### Шаг 2.3 - Установка серво (горизонтально) 1. Берём servo_mount.stl **v6** 2. Вставляем серво AFRC D1802MG (21.3×11.5×17.6мм) **горизонтально** — качалка вниз 3. Закрепляем 2×M2 винтами через servo_mount 4. Устанавливаем servo_mount на деку: 2×M2 винтами через отверстия 5. Качалка серво должна выходить **через прорезь Ø5мм в деке** на Y=+49 (rocker) — под деку, чтобы не торчать вверх в кокпит F1 6. **Внимание**: высота серво 17.6мм. Кузов F1 в носовой части обычно 12-15мм. Серво помещается только при горизонтальной укладке (проверено в CART_MVP v13). ### Шаг 2.4 - Установка ESC 1. Берём **Micro Brushed ESC 20A/30A** 2. Очистить от термоусадки и штатных толстых проводов — будем паять бутербродом с ESP32-S3-Zero 3. Устанавливаем ESC на деку **в носовой части** (X=0, Y=+30), между серво и передним краем 4. Фиксируем тонким двусторонним скотчем 3M VHB 0.1мм ### Шаг 2.5 - Установка shock towers 1. Берём shock_tower_front.stl (стойка Y=+20) 2. Крепим 2×M2.5 винтами к деке через отверстия на Y=+20 3. Берём shock_tower_rear.stl (стойка Y=-28) 4. Крепим 2×M2.5 винтами к деке через отверстия на Y=-28 5. Стойки направлены вверх, высота 25мм 6. **Амортизаторы**: shock_tower сделан без поршня и уплотнения — полая стойка. Трение «пластик по пластику». Масло НЕ нужно (УДАЛЕНО v13). ### Шаг 2.6 - Установка батареи (ВДОЛЬ центральной оси, v14) 1. Берём battery_strap.stl (напечатанный TPU 95A) 2. Протягиваем батарею **Tattu 2S 300мАч** через окно в strap **ВДОЛЬ** центральной оси (длинная сторона 55мм по Y, от носа к корме; ширина 20мм по X — по центру) 3. PH2.0 разъём направлен к корме (к ESC) для удобства подключения 4. **Полуутопить батарею** в пропил деки на 3-4мм (пропил вырезается напильником или фрезой в `chassis_deck.stl` v7+) — иначе высота стопки не закроется кузовом 5. Крепим strap к нижней стороне деки (через отверстия в деке или на двусторонний скотч) 6. Батарея лежит в средней части деки между серво (нос) и motor_mount (корма) 7. **НЕ ПОПЕРЁК** (v14 отмена v13): поперёк 55мм вылезает за пределы кузова как крылья ### Шаг 2.7 - Установка электроники ВТОРОЙ ПАЛУБОЙ (v14) 1. Берём 4× body_post.stl — устанавливаем в отверстия деки (FL/FR/RL/RR), высота стойки 10мм 2. **Возвращаем `electronics_plate.stl`** (в v14 — снова нужен) как «вторую палубу» над батареей 3. Берём ESP32-S3-Zero, MPU-6050 (с выпаянными пинами, тонкие силиконовые провода 30AWG) 4. Изолируем платы снизу каптоновым скотчем (ОБЯЗАТЕЛЬНО — иначе КЗ сожжёт ESP32) 5. **Между ESC и ESP32 — пластинка-проставка 1мм** (текстолит или кусочек плотного PETG от неудачной печати) — воздушный зазор для охлаждения феттов ESC (исправление v14) 6. Укладываем бутерброд **на верхнюю палубу (electronics_plate)** над батареей: - ESC — у дальней переборки (над кормой батареи) - ESP32-S3-Zero — рядом с ESC, вырезом под Type-C к краю деки - MPU-6050 — на свободном пятачке, SDA→GPIO21, SCL→GPIO22 7. Надеваем electronics_plate на 4× body_post, фиксируем 8. Общая высота стопки: дека 1.5мм + батарея полуутопленная ~8мм + стойки 10мм + электроника 5-6мм = **~25мм**. Кузов F1 в кокпите 22-25мм — впритык, закроется. ### Шаг 2.8 - ~~Установка dogbones~~ — УДАЛЕНО - Задний привод Mini-Z MR02/03: мотор → пиньон → спур дифференциала → колёса на оси дифф. Dogbones НЕ нужны (они для полноприводных MA020/AWD). ### Шаг 2.9 - Установка колёс (печатаем сами) 1. **Печатаем** wheel_hub_front.stl + tire_front.stl + wheel_hub_rear.stl + tire_rear.stl на P1S 2. Запрессовываем подшипники в ступицы: 673ZZ в передние, 686ZZ в задние 3. Устанавливаем на оси (перед — через ступицу 673ZZ, зад — на оси дифференциала через 686ZZ) 4. Проверить что колёса вращаются свободно --- ## 3. Электрика (60 минут) ### 3.1 Схема подключения (v13) ` [BATTERY Tattu 2S 300мАч 7.6V PH2.0] | +---- PH2.0 ----[Micro Brushed ESC 20A/30A]----[Mini-Z flat-can мотор 130, вал Ø2.0мм] | | | +---- BEC 5V/1A ----+--[POSCAP 470мкФ×10V Low ESR]--GND (на линии 5V) | | | | | +---- ESP32-S3-Zero 5V (от BEC) | | +---- SERVO VCC (красный) | | +---- AIO VTX+Camera 5V (ОБЯЗАТЕЛЬНО от BEC!) | | | +---- GND (общая шина) | | | +---- Signal ----[SERVO сигнальный оранжевый] | | | +---- Signal ----[ESC сигнал PWM] | +---- [ESP32-S3-Zero GPIO21] ----[MPU-6050 SDA] +---- [ESP32-S3-Zero GPIO22] ----[MPU-6050 SCL] +---- [ESP32-S3-Zero 3V3] ----[MPU-6050 VCC] +---- [ESP32-S3-Zero GND] ----[MPU-6050 GND] Штатная антенна-«клевер» AIO камеры -> откусить у основания, оголить 12.3-12.5мм = диполь ` ### 3.2 Схема питания (v13) ` Tattu 2S 300мАч (7.6V HV / 8.4V заряд) | +---- PH2.0 ----[Micro Brushed ESC 20A] (вход питания) | +---- BEC 5V/1A (выход для слаботочки) | +---- [POSCAP 470мкФ×10V Low ESR параллельно] (ОБЯЗАТЕЛЬНО) | +---- ESP32-S3-Zero 5V (350мА пик Wi-Fi) +---- AIO VTX+Camera 5V (200-300мА) +---- SERVO VCC (300-400мА пиково) +---- МОТОР (Mini-Z flat-can 130, коллекторный, 2 провода) - силовая часть ` **⚠️ ВАЖНО про камеру AIO (v13)**: НЕЛЬЗЯ питать от пина 3V3 ESP32-S3-Zero — встроенный LDO Waveshare 300-400мА перегружен (ESP32 сам ест 350мА в пике Wi-Fi). Только от **BEC 5V** параллельно POSCAP. **⚠️ ВАЖНО про POSCAP (v13)**: 470мкФ×10V Low ESR электролит или POSCAP. НЕ 6.3V — слишком мало запаса по вольтажу (BEC даёт скачки при торможении мотора, 6.3V может пробить). POSCAP положить **НАБОК** вдоль деки (экономит 5мм высоты). ### 3.3 Схема данных (сигналы) ` ESP32-S3-Zero (Waveshare, 21×17.5мм) ├── GPIO21 (SDA) -> MPU-6050 SDA ├── GPIO22 (SCL) -> MPU-6050 SCL ├── GPIO2/4/5/6/7/15/16/17/18 -> Servo PWM (любой LEDC-capable) ├── GPIO18 -> ESC Signal PWM ├── USB-C -> для прошивки ├── 3V3 -> MPU-6050 VCC (ТОЛЬКО для IMU! НЕ для AIO камеры!) └── GND -> общая земля (ESC GND, MPU GND, SERVO GND, AIO VTX GND) ` ### Шаг 3.1 - Паяем силовую часть 1. **Батарея -> ESC**: провод PH2.0 (комплектный с Tattu) или припаять PH2.0 к ESC 2. **ESC -> Мотор**: 2 провода (Mini-Z flat-can коллекторный) — любой порядок, потом подобрать направление 3. Проверить: подключить батарею (без мотора), ESC должен пикнуть (инициализация) ### Шаг 3.2 - Паяем BEC + POSCAP (v13) 1. **ESC BEC 5V** -> общая шина 5V (красный провод BEC) 2. **BEC GND** -> общая шина GND (чёрный/коричневый) 3. **POSCAP 470мкФ×10V Low ESR** — припаять параллельно шинам 5V и GND максимально короткими выводами (ОБЯЗАТЕЛЬНО, иначе будут перезагрузки ESP32 и полосы на видео) - Длинная ножка = «+» (5V), короткая = «−» (GND). **Перепутать = взрыв.** - Положить **НАБОК** вдоль деки 4. Проверить мультиметром: 5.0-5.2V между красным и чёрным ### Шаг 3.3 - Паяем серво 1. **SERVO VCC (красный)** -> шина 5V (от BEC) 2. **SERVO GND (коричневый/чёрный)** -> шина GND 3. **SERVO Signal (оранжевый/белый)** -> ESP32-S3-Zero GPIO5 (или другой LEDC-capable: GPIO2/4/6/7/15/16/17/18) ### Шаг 3.4 - Паяем ESP32 + MPU 1. **ESP32 5V** -> шина 5V (от BEC) 2. **ESP32 GND** -> шина GND 3. **MPU VCC** -> ESP32 3V3 (ТОЛЬКО IMU, не камера!) 4. **MPU GND** -> ESP32 GND 5. **MPU SDA** -> ESP32 GPIO21 6. **MPU SCL** -> ESP32 GPIO22 7. **MPU INT** -> опционально ESP32 GPIO4 (для прерываний) 8. **Пины MPU-6050 ВЫПАЯТЬ**, припаять тонкий силикон 30AWG напрямую к ESP32-S3-Zero плашмя (экономия 7мм высоты) ### Шаг 3.5 - Паяем ESC сигнал 1. **ESC Signal (белый/оранжевый)** -> ESP32 GPIO18 2. **ESC GND (чёрный)** -> шина GND ### Шаг 3.6 - Паяем AIO VTX+Camera (v13 — СТРОГО ОТ BEC) 1. **AIO 5V (красный)** -> шина 5V (от BEC) — НЕ от 3V3 ESP32! 2. **AIO GND (чёрный)** -> шина GND 3. **AIO Video Out (жёлтый)** -> опционально, для теста можно не подключать 4. **POSCAP** на этой линии гасит полосы от наводок BEC ### Шаг 3.7 - Антенна (v13) 1. **Штатная антенна-«клевер»** на AIO камере -> **откусить у основания**, снять **12.3-12.5мм** внешней оплётки (коэффициент укорочения в изоляции на 5.8ГГц!), оголить жилу = готовый лёгкий диполь (~0.1г) 2. Вывести через отверстие в кузове (после установки body_shell.stl) 3. RUSHFPV Cherry **НЕ используется** — слишком тяжёлая и большая для масштаба 1/27 --- ## 4. Прошивка ESP32 (30 минут) ### Шаг 4.1 - Установка toolchain 1. Установить **esptool** (Python пакет): pip install esptool 2. Скачать **ESP-IDF v5.x** или **Arduino-ESP32** (зависит от выбора firmware) 3. Для MVP рекомендую **MicroPython** (быстрый старт) ### Шаг 4.2 - Прошивка MicroPython 1. Скачать MicroPython firmware: https://micropython.org/download/ESP32-S3/ 2. Стереть flash: spefuse.py --chip esp32s3 erase_flash 3. Прошить MicroPython: sptool.py --chip esp32s3 -p COM3 write_flash 0x0 esp32s3-20240602-v1.23.0.bin 4. Подключиться через REPL (mpremote или Thonny) ### Шаг 4.3 - Тестовая прошивка (agent_linker) 1. Скопировать oot.py + main.py из репозитория x0gp/server/cmd/agent-linker/ 2. Настроить Wi-Fi SSID/пароль в config.py 3. Прошить через mpremote 4. Проверить логи - агент должен подключиться к Wi-Fi и WebSocket серверу ### Шаг 4.4 - Калибровка PWM 1. Подключить серво, ESC 2. Запустить тест PWM: 0%, 50%, 100% 3. Серво: проверить что диапазон 1000-2000 мкс (1-2 мс) 4. ESC: проверить что 1500 мкс = стоп, 1000 = полный назад, 2000 = полный вперёд 5. Записать калибровочные значения в config ### Шаг 4.5 - Проверка I2C (MPU-6050) 1. Сканировать I2C шину: `python from machine import I2C, Pin i2c = I2C(0, scl=Pin(22), sda=Pin(21)) print(i2c.scan()) # должно быть [104] (0x68) ` 2. Прочитать WHO_AM_I регистр (0x75) - должен вернуть 0x68 3. Прочитать accelerometer + gyroscope данные 4. Калибровать offsets (пока машина стоит ровно) --- ## 5. Установка батареи и кузова (15 минут) ### Шаг 5.1 - Установка батареи (ВДОЛЬ оси, v14) 1. Берём battery_strap.stl (напечатанный TPU 95A) 2. Протягиваем батарею **Tattu 2S 300мАч** через окно в strap **ВДОЛЬ** оси (длинная сторона 55мм по Y, от носа к корме; ширина 20мм по X — по центру) 3. **Полуутопить батарею** в пропил деки 3-4мм (пропил в `chassis_deck.stl` или напильником) 4. PH2.0 разъём направлен к корме (к ESC) для удобства подключения 5. Крепим strap к нижней стороне деки (через отверстия в деке или на двусторонний скотч) 6. Батарея лежит в средней части деки между серво (нос) и motor_mount (корма) 7. **НЕ ПОПЕРЁК** (v14 отмена v13): поперёк 55мм вылезает за пределы кузова ### Шаг 5.2 - Установка кузова 1. Берём **напечатанный** body_shell.stl (PETG) 2. Надеваем на 4× body_post 3. Кузов должен сесть плотно на деку (верхней плиты НЕТ — в v10) 4. Проверить: кузов не должен касаться колёс и серво (серво торчит на 17.6мм!) 5. Если касается - подрезать кузов ножом или подложить шайбы на body_posts 6. **Если высота кокпита в носовой части <17.6мм** — серво не помещается вертикально, только горизонтально (проверить Шаг 2.3) ### Шаг 5.3 - Установка FPV камеры + диполь (v13) 1. Берём fpv_camera_mount.stl 2. Вставляем AIO VTX+Camera в монтаж 3. Закрепляем 4×M2 (внутри) + 2×M2 (к деке) 4. **Штатная антенна-«клевер»** -> откусить у основания кусачками 5. Снять **12.3-12.5мм** внешней оплётки (точность ±0.5мм критична на 5.8ГГц из-за коэффициента укорочения в изоляции) 6. Оголить центральную жилу = готовый лёгкий диполь (~0.1г) 7. Вывести диполь через отверстие в кузове (в зоне шлема гонщика) 8. Проверить: камера должна смотреть вперёд 9. **RUSHFPV Cherry НЕ используется** — слишком тяжёлая для 1/27 ### Шаг 5.4 - Установка бамперов (TPU) 1. front_bumper.stl - на передний край шасси (Y=+65) 2. rear_bumper.stl - на задний край (Y=-65) 3. Крепим 2×M2.5 винтами через кузов к бамперам (или приклеиваем) --- ## 6. Первый запуск (15 минут) ### Шаг 6.1 - Проверка безопасности 1. **Убрать колёса** (если ещё не установлены) 2. Поднять машину так чтобы колёса не касались стола 3. Подключить батарею XT30 к ESC 4. ESC должен пикнуть (1 короткий сигнал = готов) ### Шаг 6.2 - Проверка серво 1. Подключиться к WebSocket серверу (через PC) 2. Отправить команду "steer 0" - серво должна встать в нейтраль 3. Отправить "steer 50" - серво поворачивает вправо 4. Отправить "steer -50" - серво поворачивает влево 5. Проверить диапазон - рулевая тяга не должна клинить ### Шаг 6.3 - Проверка мотора 1. Отправить "throttle 0" - мотор стоит 2. Медленно увеличить: "throttle 10" - мотор крутится медленно 3. Проверить направление: если колесо крутится назад, поменять 2 провода мотора 4. **Внимание**: держите машину крепко! Mini-Z flat-can 130 на 2S с пиньоном 8T и спуром 44T — передача 5.5:1, машинка ОЧЕНЬ шустрая. **Ограничить газ до 40-50% в прошивке на первых тестах** (Dual Rates). ### Шаг 6.4 - Проверка Wi-Fi 1. ESP32 должен подключиться к Wi-Fi (SSID из config) 2. Проверить IP адрес (через mpremote REPL) 3. Пинговать с PC: ping 192.168.1.XXX 4. WebSocket соединение с сервером должно установиться ### Шаг 6.5 - Проверка MPU-6050 1. В REPL прочитать значения гироскопа: `python ax, ay, az = mpu.accel.xyz gx, gy, gz = mpu.gyro.xyz print(ax, ay, az, gx, gy, gz) ` 2. Наклонить машину - значения должны меняться 3. Калибровать offsets (вычесть среднее в покое) --- ## 7. Тест-драйв (30 минут) ### Шаг 7.1 - На столе (без трассы) 1. Поставить машину на стол колёсами вниз 2. Установить колёса (если были сняты) 3. Подключить батарею 4. Подключиться к серверу, попробовать ехать прямо 5. Проверить рулевое - повороты должны быть чёткие ### Шаг 7.2 - На полу 1. Поставить машину на пол 2. Аккуратно дать газ - проверить прямолинейность 3. Попробовать повороты - радиус должен быть небольшой 4. Проверить время работы от батареи (Tattu 300мАч ~8-12 минут на полном газу, до 15 минут в щадящем режиме) ### Шаг 7.3 - Тест дальности Wi-Fi 1. Отнести машину на 5-10 метров от роутера 2. Проверить стабильность соединения 3. Задержка управления: ~50-100мс (приемлемо) ### Шаг 7.4 - Тест FPV (если есть VRX) 1. Подключить VRX к PC через USB 2. Открыть видеоплеер (или специализированное ПО) 3. Увидеть картинку с AIO камеры 4. Задержка видео: ~100-200мс (нормально для аналога 5.8G) --- ## 8. Что делать если что-то не работает ### ESC не пищит при подключении батареи - Проверить polarity XT30 - Проверить напряжение батареи (>6V) - Проверить коннектор ESC -> батарея ### Серво не двигается - Проверить PWM сигнал (осциллограф или другой серво) - Проверить питание 5V на серво - Калибровать ESC (многие ESC калибруют серво при первом подключении) ### Мотор не крутится - Проверить подключение 3 проводов - Проверить сигнал ESC - Попробовать поменять любые 2 провода (реверс) ### Wi-Fi не подключается - Проверить SSID/пароль в config - Проверить диапазон (ESP32-S3 только 2.4GHz) - Проверить что роутер не блокирует новые устройства ### MPU-6050 не отвечает - Проверить подключение SDA/SCL - Проверить адрес (0x68 по умолчанию) - Попробовать i2c.scan() для диагностики ### FPV картинки нет - Проверить что VTX включен (светодиод) - Проверить частоту канала (должна совпадать с VRX) - Проверить антенну (без антенны VTX может сгореть!) --- ## 9. После теста MVP (если всё работает) ### Дозаказать на оставшиеся 3 машины (см. CART_MVP.md v13) - ESP32-S3-Zero ×3, MPU-6050 ×3, батарея Tattu ×3, Micro Brushed ESC ×3 - Кузов ×3 (печатаем), дифференциал ×3 - AIO камера+VTX ×3, подшипники ×2 пачки (686ZZ + 673ZZ) - Mini-Z flat-can мотор ×3 (Ali/Avito) - Пиньон-набор 1 шт хватит на 4 машины — НЕ дозаказывать - ~~Dogbones~~ НЕ дозаказывать - ~~RUSHFPV антенна~~ НЕ дозаказывать (штатный диполь камеры) - **Итого дозаказ: ~21 103₽** ### Улучшения после MVP - Brushless мотор RC0820 (вместо коллекторного Mini-Z 130) - быстрее - Hobbywing Quicrun Micro Brushed ESC (водозащита + boost) - надёжнее - Камера BETAFPV C03 + VTX M03 (отдельные, лучше качество) - Гироскоп DasMikro (стабилизация FPV) - VRX на PC (Eachine ProDVR) - VRX goggles для FPV-пилотирования --- ## 10. Чек-лист перед первым заездом - [ ] Батарея Tattu заряжена (7.6V HV / 8.4V заряженная, проверить мультиметром) - [ ] POSCAP 470мкФ×10V Low ESR припаян параллельно 5V/GND - [ ] AIO камера запитана от BEC 5V (НЕ от 3V3 ESP32!) - [ ] Каптоновый скотч изолирует платы бутерброда ESP32+ESC+MPU - [ ] **Между ESC и ESP32 — пластинка-проставка 1мм** (воздушный зазор для охлаждения) - [ ] ESC пикает при подключении - [ ] Серво AFRC D1802MG двигается в обе стороны - [ ] Мотор Mini-Z flat-can крутится в правильую сторону - [ ] Колеса установлены и вращаются (перед — 673ZZ, зад — 686ZZ/MR106-ZZ) - [ ] Кузов не касается колёс и серво (серво 17.6мм торчит!) - [ ] **Батарея уложена ВДОЛЬ оси, полуутоплена в пропил деки 3-4мм** - [ ] Wi-Fi подключен, IP адрес известен - [ ] WebSocket соединение с сервером активно - [ ] MPU-6050 читает данные - [ ] Антенна-диполь камеры AIO (12.3-12.5мм) выведена через кузов - [ ] Бамперы не мешают колёсам - [ ] Все винты затянуты - [ ] В прошивке ограничен газ (Dual Rates 40-50%) **Готово к запуску!**