Подбор ВМГ
Раздел скрыт (флаг
vmg_tools.picker, по умолчанию OFF) — точка входа в
навигации и на дашборде убрана. Причина в форме ответа: подбор говорит «ставь
вот это», то есть даёт рекомендацию, а измеренная ошибка расчёта в такой
форме перестаёт читаться как оговорка. Систематическое занижение крейсерской
тяги, которое стояло здесь раньше, снято (август 2026, кривые Ct(J)/Cp(J)):
сдвиг на крейсере −23.4 % → +1.1 %. Но разброс никуда не делся — 6.5 % средней
ошибки и до 23 % в худшей точке на крейсере на ПРОДУТОМ винте, а на винте,
которого в каталоге нет, 9.5 % и до 47.5 %, —
а по крейсеру и ранжируются варианты, то есть на этом числе строится сам
порядок «что лучше». Открытие раздела — решение основателя, а не
автоматическое следствие улучшившейся метрики. Тем же флагом закрыт и
подбор винта под намерение на странице проверки. Соседняя
проверка связки открыта всем: она считает тем же
расчётом, но ничего не выбирает — отвечает, сходится ли уже собранное, и
печатает измеренную ошибку рядом с числом. Страница и данные подборщика
никуда не делись, раздел вернётся.
Инструмент /tools/vmg рассчитывает оптимальную конфигурацию двигателя и пропеллера
по параметрам модели самолёта.
Без учётной записи
Страница и расчёт открыты без регистрации: инструмент — точка входа в
Skyforge для того, у кого ещё нет ни аккаунта, ни парка. Заполнять сверх
минимума (масса, крейсерская скорость, напряжение пакета, желаемая
тяговооружённость) ничего не нужно — вердикт приходит сразу, параметры пакета
необязательны.
Пока раздел скрыт флагом (см. врезку выше), это касается и гостя: адрес
отвечает «не найдено» всем, включая поисковых роботов. Как только флаг
включат, страница станет доступной без входа — и с того же момента попадёт в
карту сайта.
Ссылка на результат. После расчёта адрес страницы содержит введённые
параметры в читаемом виде:
/tools/vmg?mass_g=1500&speed_kmh=60&cells=4s&tw=1.5&battery_mah=2200&battery_c=25
Такую ссылку можно переслать — она откроется у другого человека, тоже без
учётной записи, и сразу покажет тот же расчёт. Испорченный или неизвестный
параметр просто игнорируется: страница откроется с умолчаниями.
Учётная запись нужна для следующего шага — сохранить подобранную связку на
карточке своего борта рядом с его аккумуляторами, полётами и расходами
(приглашение появляется на странице после первого расчёта).
Чем грозит ошибка
Экран называет три детали, которые горят, когда их занижают, — винт, регулятор
и мотор:
- регулятор ниже реального тока полного газа перегревается и снимает тягу в
наборе высоты: мотор останавливается в воздухе, а не на столе; - пакет, который такой ток не отдаёт, просаживается и греется — вздутая банка в
лучшем случае, просадка питания приёмника и потерянная модель в худшем; - винт, берущий больше, чем рассчитан планер, нагружает мотораму и крыло ровно
тогда, когда модель ниже и медленнее всего.
Поэтому критерий у инструмента не «точное число», а отсечение опасного:
связка, которую пакет физически не прокормит, не показывается вовсе, а
рекомендация регулятора берётся по худшему режиму, а не по крейсерскому.
Расчёт сверен с продувками UIUC, и ошибка оказалась большой: см. раздел
«Точность: сверка с продувками UIUC» ниже. Его числа читаются как порядок
величины, а не как обещание.
Что нужно иметь под рукой
Инструмент спрашивает только то, что человек может измерить или прочитать, и
не просит оценок, которых он не знает:
- кухонные весы — взлётная масса с установленной батареей, в граммах;
- наклейка пакета — число банок, ёмкость (мА·ч) и C-rating; паспортный
burst — только если он напечатан; - тип модели — из него следует требуемая тяговооружённость (таблица ниже).
Число, которого вы не знаете, — не входной параметр: оставьте поля пакета
пустыми, и сверка с пакетом просто не выполняется (инструмент говорит об этом,
а не додумывает).
Методика и источники
Тяга и мощность на валу считаются по BEMT (Blade Element Momentum Theory) на
коэффициентах винтов из каталога инструмента: статический уровень — из
каталога, зависимость от скорости — по кривым Ct(J) и Cp(J) самого винта
(данные производителя APC, PER3). Рабочая точка «мотор + винт» решается по Cp на
текущей поступи, поэтому разгрузка винта в полёте учтена.
Критерий отбора: два режима, а не один
Инструмент отбирает связки по двум разным требованиям, потому что режимов
два, и ни одно из них не заменяет другое:
| Режим | Что требуется | Откуда берутся числа |
|---|---|---|
| Крейсерский полёт | тяга равна сопротивлению плюс запас на набор высоты: T/W = 1/K + RoC/V |
качество K и скороподъёмность RoC — типовые для назначения борта (то же, что у точки проектирования конструктора) |
| Взлёт и набор | статическая тяга на полном газе не ниже требуемой тяговооружённости | требуемое T/W вводит человек; обороты под него не должны превышать конструктивный предел винта |
Что было до августа 2026 и почему заменено. Отбор требовал «тяга на
крейсерской скорости не ниже 0.8 взлётного веса». Это физически неверно: в
установившемся горизонтальном полёте тяга равна сопротивлению, а доля веса
— это про разгон и набор высоты, то есть про совсем другой режим. Цена ошибки
измерена на реальных бортах: требование 0.8 веса превышало настоящую потребную
тягу крейсера в 5–16 раз, поэтому рабочая точка вставала туда, где связка не
работает никогда, а «крейсерский ток» выходил в разы больше реального —
мотопланер 1400 г на 45 км/ч показывал 36 А (на пакете 2200 мА·ч это меньше
четырёх минут полёта вместо реальных десятков минут).
Три тока в таблице — это три режима, а не три оценки одного. «Ток
крейсера с набором» — по нему идёт отбор; «ток горизонтального полёта» — по
нему считается время полёта и его же видит человек в ровном полёте; «ток
полного газа» — по нему выбирается регулятор.
Сверка с бортами, которые реально летают
Критерий проверен не рассуждением, а связками из ангара — по правилу «если
критерий отвергает то, что летает годами, неверен критерий»:
| Борт | Что стоит | Место реального винта в подборе |
|---|---|---|
| Spitfire Mk.IXc 1600 (3400 г, 6S) | 16×10 | 1-е из 27 |
| Knife Racer 1 м, пилон (550 г, 3S) | 4.7×4.7 ≈ 5×4.5 | 1-е из 72 |
| Typhoon MK2 Toccata (1900 г, 4S) | 13×8 | 2-е из 57 |
| Volantex Phoenix S 1600 (800 г, 3S) | 12×6 | 16-е из 71 |
| Phoenix 2400 (1400 г, 3S) | 10×6 складной | 48-е из 66 |
| E-DG600 (1700 г, 4S) | 14×8 складной | 61-е из 64 |
Ни один реальный винт критерием не отвергается. Два последних борта —
мотопланеры со складными винтами, а складной винт выбирают не по КПД, а по
тому, что он складывается и помещается в фюзеляж; про складывание инструмент
не знает ничего, и низкое место здесь — граница инструмента, а не вердикт «так
летать нельзя».
Откуда взяты коэффициенты (каталог смешанный)
У каждой записи каталога свой источник, и он виден в результате. Из 77
типоразмеров каталога 38 продуты в аэродинамической трубе — у них коэффициенты
взяты прямо из замера; у остальных 39 замера не существует, и коэффициенты
взяты из данных производителя APC.
| Происхождение | Сколько записей | Что это значит для строки результата |
|---|---|---|
| Продувка UIUC (труба) | 38 | числа сверены с замером; ошибка названа в таблице ниже |
| Данные производителя APC | 35 | этот винт никто не дул — строка помечена «не проверено» |
| Данные производителя, противоречащие геометрии лопасти | 4 | известно, что числа неверны; строка помечена отдельно |
Третья строка — находка августа 2026. Это записи Slow Flyer (10×6, 11×5.5,
12×6, 13×6.5), которых нет в продувках. Таблица производителя даёт им
коэффициент тяги на 0.001–0.002 ниже, чем одноразмерному Thin Electric, —
хотя лопасть у Slow Flyer шире в 1.56 раза (относительная хорда на 0.75
радиуса: 0.197–0.202 против 0.103–0.150, диапазоны не пересекаются), а на пяти
типоразмерах, продутых в обоих семействах, измеренный Ct у Slow Flyer выше в
1.31–1.49 раза. То есть в этих числах перевёрнут сам знак различия между
семействами. Переписать их «правдоподобными» инструмент не вправе — это было бы
выдумывание данных; поэтому они остаются как есть, но помечены отдельно от
честного «замера не существует».
Каталог пополнен продутыми типоразмерами (там же, август 2026): в него
дописаны 16 винтов, которые UIUC дул, а каталог не держал (7 Slow Flyer —
8×3.8, 9×3.8, 9×4.7, 9×7.5, 10×4.7, 11×3.8, 11×4.7 — и 9 Thin Electric).
Раньше запрос такого размера зажимался на ближайшую запись своего семейства:
«9×4.7 APC-SF» считался числами «9×6 APC-SF», то есть более тяговитого винта.
До августа 2026 каталог ссылался на UIUC как на источник всех своих чисел,
и это было неправдой: сверка (см. ниже) показала, что для 10×5 APC-E каталог
давал Ct = 0.122 / Cp = 0.063 против измеренных Ct ≈ 0.096 / Cp ≈ 0.037 — тяга
завышена на четверть, мощность почти вдвое. Числа продутых винтов заменены
измеренными, ссылка на UIUC убрана оттуда, где она не соответствовала правде, и
все рекомендации инструмента из-за этого изменились.
Что это значит на практике:
- подобранные связки стали «крупнее» — так было при том критерии отбора,
который действовал тогда («тяга на крейсере не ниже 0.8 взлётного веса»): на
честных, более низких коэффициентах то же требование выполнялось бо́льшим
винтом и бо́льшим током. Сам этот критерий с тех пор заменён как физически
неверный (см. «Критерий отбора: два режима, а не один»), и токи вернулись к
правдоподобным; - подбор, сохранённый в проекте раньше, остался со старыми числами — он не
пересчитывается сам. Откройте инструмент и пересчитайте связку заново, если
собираетесь по ней что-то покупать или строить.
Допущения, на которых стоит результат:
- КПД тракта «батарея → регулятор → мотор» принят постоянным
(DRIVETRAIN_EFFICIENCY,web/services/propulsion_calc.py) — экран называет
это число прямо в блоке «Методика», беря его из сервиса; - падение тяги со скоростью и изменение мощности берутся по кривым Ct(J) и
Cp(J) из опубликованных данных производителя (APC PER3), усреднённым по
всем напечатанным там режимам оборотов, и интерполируются по диаметру и шагу
так же, как сами коэффициенты. Форма кривой — расчёт производителя, а не
продувка: измеренных кривых для этих типоразмеров никто не публикует, и это
осознанная граница; - коэффициент у винта один на весь диапазон оборотов, хотя измеренный Ct с
оборотами растёт (эффект числа Рейнольдса): у 12×6 от 0.077 на 1046 об/мин до
0.105 на 7546. Для продутых винтов взято среднее по всем опубликованным
статическим точкам замера, без отбора «удачных»; - размер, которого в каталоге нет, интерполируется по диаметру и шагу между
соседними записями того же семейства (с августа 2026): «10×7 APC-E» и
«10×7 APC-SF» — разные винты, и числа одного больше не подставляются другому.
Если у семейства нет записи нужного размера, коэффициент зажимается на
ближайшей записи ЭТОГО семейства, а не берётся у соседнего; - семейство винта инструмент пока не спрашивает там, где связка задаётся
ползунками «диаметр × шаг» (панель ВМГ в конструкторе, интервальная оценка
связки): в этом случае считается Thin Electric (APC-E) — самое массовое
семейство каталога. Для Slow Flyer выбирайте винт на странице/tools/vmg,
где связка подбирается по записям каталога вместе с их семейством.
Источники:
- UIUC Propeller Data Site
(Brandt, Deters, Ananda, Dantsker, Selig) — продувки, из которых взяты
коэффициенты 38 записей каталога и весь набор точек сверки; - APC Propellers — performance data
— данные производителя для остальных 39 записей (35 обычных и 4 помеченных
как противоречащие геометрии лопасти); - APC Propellers — file downloads,
архивPERFILES_WEB(PER3) — кривые Ct(J) и Cp(J) для 115 типоразмеров
обоих семейств. Набор лежит вweb/services/apc_curve_reference.jsonи
собирается воспроизводимо скриптомscripts/fetch_apc_curves.py, который
кладёт в JSON адрес использованного архива и имя файла каждого винта.
Точность: сверка с продувками UIUC
Расчёт сверен с измерениями в аэродинамической трубе (UIUC Propeller Data Site,
тома 1–4, данные сняты 2026-08-13). Сравнивались 1511 измеренных точек —
это 38 реальных винтов семейств APC-E и APC-SF: модель инструмента
считалась на тех же оборотах и той же поступи, что и замер. Набор точек лежит в
web/services/uiuc_propeller_reference.json, собирается воспроизводимо
скриптом scripts/fetch_uiuc_reference.py.
Ошибка большая, и это главное, что нужно знать об инструменте.
Проценты ниже — доли статической тяги (или мощности) того же винта: на
винте, дающем на столе 1 кг, 10 % означают 100 г. Так они считаются с августа
2026 (вместе с переходом на кривые): у поступи, на которой тяга обращается в
ноль, измеренное значение само уходит к нулю, и «процент от значения в точке»
там перестаёт что-либо означать — до 10 741 % при расхождении в сотые доли
статической тяги.
⚠ Числа, опубликованные до августа 2026, считались ПРЕЖНЕЙ мерой (доля
значения в точке) и с нынешними напрямую не сравниваются. Разница не
косметическая: на тех же крейсерских точках, где новая мера даёт 8 %, прежняя —
16.8 %. Не увидев этой оговорки, читатель прежних чисел решит, что модель стала
втрое точнее, хотя изменилась единица.
| Величина | Режим | Средняя ошибка | Худшая точка | Систематический сдвиг |
|---|---|---|---|---|
| Тяга | статика (на столе) | 5.0% | 20.0% | +0.5% |
| Тяга | крейсер (со скоростью) | 6.5% | 23.0% | +1.5% |
| Ток | статика (на столе) | 3.5% | 14.5% | +0.5% |
| Ток | крейсер (со скоростью) | 12.5% | 52.0% | +8.5% |
⚠ «Средняя ошибка» и «систематический сдвиг» — РАЗНЫЕ величины, и путать их
нельзя. Первая говорит, насколько ответ расходится с продувкой ВООБЩЕ (знак не
учитывается), вторая — насколько эти расхождения НЕ гасят друг друга, то есть на
сколько ответ смещён в одну сторону. Поэтому 5 % и +0.5 % в одной строке — не
противоречие: промахи крупные, но разнонаправленные. Знак сдвига в таблице —
результат замера, а не обещание инструмента: пока модуль сдвига ниже 5 %,
сторона считается неустановленной (пересчёт вправе её перевернуть), и на экранах
она не называется вовсе.
⚠ Эта таблица описывает винт, ЧЕЙ ТИПОРАЗМЕР ЕСТЬ В КАТАЛОГЕ и продут.
Половина каталога — данные производителя, а любой промежуточный размер
считается интерполяцией; для них ошибка совсем другая, и она измерена
отдельно — таблица «контроль с изъятием» ниже:
| Величина | Режим | Средняя ошибка | Худшая точка | Систематический сдвиг |
|---|---|---|---|---|
| Тяга | статика | 16.0% | 70.5% | +8.0% |
| Тяга | крейсер | 9.5% | 47.5% | +2.0% |
| Ток | статика | 36.5% | 183.5% | +21.0% |
| Ток | крейсер | 27.5% | 194.0% | +21.5% |
Считается так: запись самого винта вынимается из каталога, и его
коэффициенты собираются интерполяцией по оставшимся соседям своего семейства —
ровно то, что происходит с непродутым размером. Подогнать модель под эту меру
невозможно по построению: проверяемая точка в её собственный ответ не входит.
Что дал переход на кривые Ct(J)/Cp(J)
До августа 2026 модель гасила тягу линейно до нуля на геометрическом шаге
винта, а Cp брала статическим на любой скорости. Оба допущения заменены
кривыми самого винта. Обе колонки ниже посчитаны одной мерой (старая модель
прогнана заново) — иначе сравнение было бы между разными величинами:
| Величина | Режим | Средняя ошибка (было → стало) | Сдвиг (было → стало) |
|---|---|---|---|
| Тяга | статика | 10.7% → 10.7% | +6.2% → +6.2% |
| Тяга | крейсер | 23.7% → 7.8% | −23.4% → +1.1% |
| Ток | статика | 22.8% → 22.8% | +11.7% → +11.7% |
| Ток | крейсер | 38.0% → 17.9% | +31.1% → +13.5% |
- Систематическое занижение крейсерской тяги исчезло — то самое, из-за
которого подбор винта и был закрыт. Сдвиг −23.4 % стал +1.1 %. - Статика не изменилась вовсе, и так и должно быть: на нулевой скорости
кривая по построению даёт единицу. Это контроль замера, а не отсутствие
эффекта — сдвиг здесь означал бы ошибку в правке. - Разброс остался. 8 % средней и до 46 % в худшей точке по крейсерской
тяге — по одному расчёту всё ещё не взлетают.
Смена единицы улучшение НЕ рисует — тот же переход ПРЕЖНЕЙ мерой, на
подмножестве крейсерских точек, где она вообще определена (измеренный Ct выше
0.01, то есть выше сотни последних разрядов публикации UIUC; таких точек 1167
из 1321):
| Величина | Прежней мерой (было → стало) | Сдвиг (было → стало) |
|---|---|---|
| Тяга на крейсере | 53.7 % → 13.4 % | −53.7 % → +0.7 % |
Втрое точнее и в этой мере тоже. Сверку держит tests/test_prop_curve_model.py
— числа не переписаны сюда, а посчитаны обеими моделями в одном прогоне.
Цена прежнего упрощения на конкретных винтах (мотор 1000 KV, 600 Вт на валу,
4S; крейсер 60 км/ч). Столбец «V₀» — скорость, на которой модель обнуляет тягу:
| Винт | шаг/диаметр | Тяга на крейсере (было → стало) | V₀ (было → стало) |
|---|---|---|---|
| 10×5 APC-E (мелкий шаг) | 0.50 | 665 г → 1225 г (+84 %) | 25.2 → 37.4 м/с (+48 %) |
| 11×7 APC-E (средний) | 0.64 | 1127 г → 1719 г (+53 %) | 31.1 → 48.6 м/с (+57 %) |
| 10×10 APC-E (крупный) | 1.00 | 1212 г → 1626 г (+34 %) | 41.3 → 65.0 м/с (+57 %) |
Матрицу считает tests/test_prop_curve_model.py (прежняя модель воспроизведена
в самом тесте — второй ветки расчёта в продукте нет). Отношения «стало /
было» из последних двух столбцов сторожит тот же тест с допуском 5%: уехали
данные APC — таблица краснеет, а не расходится с реальностью молча. Сами
граммы и метры в секунду приведены здесь как масштаб — их тест не пинит.
Что дала замена коэффициентов на измеренные
Первая сверка (август 2026) шла на прежних, не измеренных коэффициентах.
После замены замер повторён тем же способом:
Числа этих двух таблиц сняты прежней мерой (процент от значения в точке) —
сравнивать их с действующими напрямую нельзя.
| Величина | Режим | Средняя ошибка (было → стало) | Сдвиг (было → стало) |
|---|---|---|---|
| Тяга | статика | 25% → 11% | +21% → +0.5% |
| Тяга | крейсер | 52% → 60% | −51% → −60% |
| Ток | статика | 61.5% → 19% | +56% → +3.5% |
| Ток | крейсер | 143.5% → 65% | +142% → +55.5% |
- Главное исправлено: статическая тяга — то число, на которое смотрят перед
первым взлётом, — больше не завышается систематически. Было «в среднем на
21% больше, чем даст винт», стало почти ноль. - Крейсерская тяга стала ХУЖЕ, и это честный результат, а не регресс.
Занижение на геометрическом шаге было и раньше, но частично компенсировалось
завышенным коэффициентом тяги. Компенсация двух ошибок разного происхождения
— это не точность, а совпадение; убрав одну, мы увидели вторую целиком. - Ошибка не исчезла. Средние 11% по статике и 60% по крейсеру — это всё
ещё порядок величины, а не обещание. Причина уже не в данных каталога.
Числа этой таблицы — история: они сняты, когда поиск коэффициентов ещё не
различал семейство винта. Действующие — в таблице выше.
Что дало различение семейства винта
С августа 2026 коэффициенты ищутся по ключу «семейство + диаметр + шаг», а не
по одному размеру. По продутым винтам, которые есть в каталоге СВОИМ
семейством, счёт такой:
| Семейство | Величина, статика | Средняя ошибка (было → стало) | Сдвиг (было → стало) |
|---|---|---|---|
| APC-SF (Slow Flyer) | тяга | 27.6% → 3.7% | −27.6% → +0.2% |
| APC-SF (Slow Flyer) | ток | 27.5% → 5.2% | −27.5% → +0.4% |
| APC-E (Thin Electric) | тяга | 4.8% → 4.8% | +0.4% → +0.4% |
| APC-E (Thin Electric) | ток | 2.3% → 2.3% | +0.1% → +0.1% |
- Slow Flyer перестал считаться по чужому винту. Раньше запись «10×7
APC-SF» получала коэффициенты «10×7 APC-E», и ошибка была почти шестикратно
больше, чем у соседа. Теперь разницы между семействами в этих числах нет. - У APC-E не изменилось ничего — и это ожидаемо: подмена шла только в
сторону меньшинства. Неизменность здесь — контроль, а не отсутствие эффекта. - Крейсер этим не лечится (у APC-SF 72.9% → 62.6%): там правила другая
причина — обнуление тяги на геометрическом шаге, и её сняли кривые Ct(J)
(см. раздел выше). - Средняя по ВСЕМУ набору стала ХУЖЕ по току (19% → 23% на статике), и это
надо сказать прямо. Причина не в поиске, а в данных: для типоразмеров Slow
Flyer, которых в трубе не дули, каталог держит числа производителя,
записанные примерно на уровне Thin Electric (8×6 SF: Ct = 0.126 против
измеренных 0.148). Пока поиск подмешивал таким винтам замер соседа, эта
ошибка была не видна. Это находка, а не ухудшение расчёта — тот же механизм,
что с крейсерской тягой выше: две ошибки перестали гасить друг друга.
Эта находка закрыта — см. следующий раздел: 8×6 Slow Flyer и ещё
шесть его типоразмеров теперь в каталоге с измеренными числами, а те
четыре, которых в трубе нет, помечены отдельно.
Что дали полный каталог и пометка неправдоподобных чисел
Август 2026: в каталог дописаны 16 продутых типоразмеров, а четыре записи Slow
Flyer, чьи числа противоречат ширине лопасти, помечены отдельно. Формулы
расчёта не менялись ни одной строкой — менялись данные:
| Величина | Режим | Средняя ошибка (было → стало) | Худшая (было → стало) | Сдвиг (было → стало) |
|---|---|---|---|---|
| Тяга | статика | 10.7 % → 4.7 % | 62.1 % → 19.9 % | +6.2 % → +0.0 % |
| Тяга | крейсер | 7.8 % → 6.0 % | 45.6 % → 22.7 % | +1.1 % → −1.1 % |
| Ток | статика | 22.8 % → 3.2 % | 114.8 % → 14.4 % | +11.7 % → −0.0 % |
| Ток | крейсер | 17.9 % → 12.2 % | 106.8 % → 51.8 % | +13.5 % → +8.4 % |
- Улучшение настоящее там, где винт был в продувках, а в каталоге его не
было. Раньше «9×4.7 APC-SF» считался числами «9×6 APC-SF» — более
тяговитого винта; теперь у него свои измеренные коэффициенты. - Но саму таблицу читать как «инструмент стал точнее» нельзя. Измеренных
типоразмеров вне каталога не осталось вовсе, и по статике коэффициент записи
теперь РАВЕН среднему по замеру того же винта — отсюда сдвиг ровно ноль в
двух строках. Это тождество, а не достижение. - Поэтому и появилась вторая таблица точности («контроль с изъятием» выше):
она отвечает на вопрос, который первая после этой правки задавать перестала —
как инструмент считает винт, чьих коэффициентов у него нет. - Числа неправдоподобных записей НЕ ИЗМЕНИЛИСЬ. Их нельзя ни выдумать, ни
откалибровать по продувкам (это была бы подгонка под эталон, которым же
меряется ошибка) — изменилось только то, что инструмент про них говорит.
Числа — потолок, который инструмент объявляет
(web/services/propulsion_validation.py, DECLARED_ACCURACY); тест
tests/test_propulsion_validation.py краснеет, когда фактическая ошибка стала
ХУЖЕ потолка, и молчит, когда лучше. Понизить потолок вслед за улучшением —
можно и нужно тем же MR, вместе с этой таблицей; поднять, чтобы протащить
регресс, — нельзя (дисциплина min_percent покрытия).
Что означают эти числа
- Ток эталоном проверен не полностью. Труба меряет момент на валу, а не ток
из пакета: числа выше — ошибка мощности на валу. КПД тракта
«батарея → регулятор → мотор» не проверен ничем, поэтому реальная ошибка по
току не меньше названной. Проверить её можно только ваттметром на столе. - Знак ошибки по току — в сторону запаса: инструмент требует больше тока,
чем возьмёт связка, значит рекомендованный регулятор скорее крупнее нужного,
а время полёта — пессимистичное. - Систематического перекоса статики больше нет (сдвиг +0.0 %), и понимать
это надо буквально: у продутого винта коэффициент каталога РАВЕН среднему по
его же замеру, поэтому ноль здесь — тождество, а не достижение. Осмысленный
остаток — разброс: 5 % средней ошибки и до 20 % в худшей измеренной точке
(замер того же винта на разных оборотах). Одного расчёта для решения
«полетит» мало — проверяйте весами. - У винта, которого в каталоге нет, ошибка втрое-вдесятеро больше (16 % по
тяге и 36.5 % по току на статике — вторая таблица выше). Это и есть цена
промежуточного размера с ползунка и записи, взятой у производителя. - Крейсерская тяга больше не занижается систематически (сдвиг +1.1%): винт
тянет и за геометрическим шагом — 309 из 1321 крейсерской точки замера лежат
за ним, — и модель это учитывает по кривой Ct(J), а не обнуляет тягу раньше
времени. - Строки на данных производителя помечены «не проверено» независимо от
режима: такого винта в трубе не было вовсе, и никакие обороты не сделают
его строку сверенной. Четыре из них помечены СИЛЬНЕЕ — про их числа
известно, что они противоречат ширине лопасти (см. «Откуда взяты
коэффициенты» выше).
Что осталось причиной ошибки
Замена данных закрыла не всё. Оставшееся названо прямо — это не список
оправданий, а список задач:
- форма кривой — расчёт производителя, а не продувка. Уровень коэффициента
у продутых винтов измерен, а вот как он падает со скоростью — считал APC.
Своих измеренных кривых у нас нет, и брать их из того же набора, которым мы
меряем точность, нельзя: это была бы проверка данных ими же самими.
Оставшиеся 7.8% крейсерской ошибки — в том числе цена этого допущения; - интерполяция на типоразмер, которого в каталоге нет — 16 % средней
ошибки по тяге и 36.5 % по току (вторая таблица точности выше). Это главная
оставшаяся неизвестность: половина каталога — данные производителя, а любой
промежуточный размер считается интерполяцией; - данные производителя там, где продувки нет вовсе — их ошибка не измерена
никак и измерена быть не может: сравнивать не с чем. Четыре записи Slow Flyer
из этого числа заведомо дефектны и помечены отдельно (август 2026); - один коэффициент на весь диапазон оборотов — 5 % средней ошибки статики
остаётся даже у винта, чей типоразмер продут и есть в каталоге своим
семейством.
Дефект ключа поиска, который стоял здесь раньше («интерполяция не различает
семейство винта», 27.6% против 4.8%), устранён — см. раздел выше.
Где расчёт проверен, а где нет
Границы применимости вычисляются из самого набора эталонных точек (сдвинуть
границу, не сдвинув замер, нельзя):
| Ось | Проверено |
|---|---|
| Диаметр винта | 8″–16″ |
| Окружная скорость конца лопасти (π·об/с·D) | 16–148 м/с |
| Относительная поступь J | 0–1.16 |
| Число Рейнольдса на 0.75 радиуса (справочно) | 21 000–135 000 |
Ось «конец лопасти», а не обороты: 16″ на 3000 об/мин и 8″ на 6000 — один и
тот же режим для лопасти. Число Рейнольдса приводится справочно — оно посчитано
по 17 винтам, для которых UIUC опубликовал геометрию лопасти; внутри
прямоугольника «диаметр × конец лопасти» Re монотонен по обеим осям.
Режим за этими границами помечается в таблице результатов как «не проверено»
— число всё равно показывается, но рядом сказано, какая ось вышла за край.
Это утверждение об инструменте, а не о винте.
Что осталось непроверенным вовсе:
- винты меньше 8″ — в базе UIUC мелких скоростных винтов почти нет, а тех,
что есть, нет в семействах каталога. Инструмент их предлагает (каталог
начинается с 4.75″) и честно помечает «не проверено»; - КПД тракта — эталон электрических величин не содержит (см. выше);
- время полёта, потребная мощность мотора, рекомендация KV — производные от
проверенных величин, отдельного эталона у них нет.
Как проверить результат самому
Три величины из таблицы измеряются на столе обычными приборами — на экране их
колонки помечены соответствующим прибором:
| Что проверяем | Чем | Колонка |
|---|---|---|
| Ток и мощность полного газа | ваттметр в разрыве питания | «Ток полного газа», «Мощность» |
| Статическая тяга полного газа | кухонные весы, модель прижата к ним тягой | «Статическая тяга» |
| Обороты | оптический тахометр | «RPM» |
Остальное дома не проверяется и честно помечено оценкой: крейсерская тяга и
КПД требуют скорости набегающего потока, а время полёта считает только тяговой
ток.
⚠️ Замер идёт с установленным винтом — он и есть нагрузка. Закрепите
модель, держите плоскость вращения свободной и стойте вне её, наденьте
защиту глаз, давайте полный газ короткими включениями и отключайте батарею
прежде, чем трогать модель.
Входные параметры
| Параметр | Единица | Описание |
|---|---|---|
| Масса модели | г | Взлётная масса включая аккумулятор |
| Крейсерская скорость | км/ч | Целевая крейсерская скорость |
| Напряжение АКБ | В | Напряжение батареи (3S, 4S, 6S) |
| Целевое T/W | — | Тяговооружённость (1.2–2.0 рекомендовано). Задаёт режим полного газа, по которому подбирается регулятор (см. ниже) |
| Ёмкость АКБ | мА·ч | Необязательно. Задана — считается время полёта и ток сверяется с пакетом |
| C-rating (продолжительный) | — | Необязательно. Вместе с ёмкостью задаёт допустимый продолжительный разряд пакета |
| C-rating (пиковый) | — | Необязательно. Паспортный burst; без него пиковым пределом считается продолжительный |
Результаты расчёта
Для каждого подходящего пропеллера APC из базы данных платформа рассчитывает:
- Крейсерская тяга (г) — тяга в крейсерской рабочей точке по BEMT-формулам
- Статическая тяга (г) — тяга на полном газе без набегающего потока;
единственная из тяг, которую можно проверить весами (см. «Как проверить
результат самому») - Ток крейсера (А) — потребляемый ток в крейсерской рабочей точке
- Ток полного газа (А) — потребляемый ток на взлёте и в наборе высоты
- Мощность (Вт) — потребляемая мощность
- КПД (%) — пропеллерная эффективность
- T/W — достигаемая тяговооружённость
- RPM — обороты при крейсерской скорости
- Время полёта (мин) — на крейсере, если задана ёмкость пакета (см. ниже)
- ESC — рекомендуемый контроллер скорости; рядом с номиналом указан ток, по
которому он выбран (пиковый ток с запасом), чтобы происхождение рекомендации
было видно, а не пересчитывалось в уме
Что делает батарея
Ёмкость и C-rating необязательны, но заданы — работают две вещи сразу.
Ток сверяется с пакетом. Допустимый продолжительный разряд =
ёмкость × C (2200 мА·ч × 25C = 55 А). Дальше:
- крейсерский ток выше продолжительного разряда — рабочая точка не
показывается: крейсер и есть продолжительный режим; - ток полного газа выше того, что пакет отдаёт даже в паспортном burst, —
связка не показывается вовсе. Регулятор подбирается именно по этому току, и
рекомендация, которую пакет физически не прокормит, — это рекомендация
испортить пакет (а заодно и регулятор); - ток полного газа между продолжительным и burst-пределом — связка
показывается с пометкой ⚡ и предупреждением: полный газ короткими
включениями (взлёт, набор) пакет отдаст, длительный полёт на полном газе —
нет.
Пиковый (burst) C-rating берётся ТОЛЬКО из паспорта пакета. Не указан — за
пиковый предел принимается продолжительный: подставлять «обычно вдвое» значило
бы разрешать пакету то, чего он, возможно, не может.
Не прошла ни одна связка — подсказка под таблицей называет предел пакета и что
менять: ёмкость, C-rating, паспортный burst, напряжение или целевое T/W.
Время полёта считается по току горизонтального полёта:
ёмкость × 0.8 / ток.
Двадцать процентов остаются в пакете — LiPo не разряжают в ноль. Оценка
учитывает только тяговой ток: приёмник, серво и видео в неё не входят, а
реальный профиль с набором высоты короче ровного крейсера.
Почему регулятор крупнее, чем кажется нужным
Регулятор подбирается по току полного газа с запасом 20%, а не по
крейсерскому току. Крейсерская рабочая точка стоит на потребной тяге режима, то
есть у малого тока связки; на взлёте и в наборе высоты тот же винт берёт в
несколько раз больше (сколько именно — зависит от целевого T/W). Поэтому в
таблице показаны все три тока: по двум левым судят о расходе батареи в полёте,
по правому — о номинале регулятора.
Здесь же работает вторая половина критерия отбора: требуемую статическую тягу
винт обязан давать на оборотах, которые переживёт. Конец лопасти быстрее
190 м/с — предел, выше которого связка не предлагается вовсе; это не запас
осторожности, а верх того, что реально летает (пилон на APC 4.7×4.7 и
30 000 об/мин сидит ровно на нём).
Требование T/W задаёт режим полного газа: чем выше T/W, тем выше пиковый ток и
крупнее регулятор. Если пиковому току не хватает даже верхнего номинала из
каталога инструмента (80 А), рекомендация честно пишется как >80A ESC и
страница показывает предупреждение — брать регулятор нужно по паспорту
производителя либо снижать целевое T/W.
Рекомендации по T/W
| Тип модели | T/W |
|---|---|
| Планер/тренер | 0.8–1.2 |
| Спортивная модель | 1.2–1.8 |
| Аэробатика / 3D | 1.8–2.5+ |
| Скоростная | 1.0–1.5 |
Как пользоваться
- Перейдите в
/tools/vmg - Введите параметры модели
- Нажмите Рассчитать
- Отфильтруйте результаты по T/W и выберите подходящий пропеллер
- Возьмите рекомендованный ESC: запас 20% над током полного газа в него уже
заложен (см. «Почему регулятор крупнее, чем кажется нужным»)
Примечание о точности
Расчёт основан на BEMT (Blade Element Momentum Theory) с коэффициентами реальных
пропеллеров APC. Прежняя редакция этого раздела обещала «±10–15%, характерно для
BEMT» — это была оценка метода вообще, а не замер НАШЕЙ реализации. Замер по
UIUC (раздел «Точность: сверка с продувками UIUC» выше) даёт числа в разы
больше. Для уточнения используйте данные производителя мотора и собственный
замер на столе.
Inline-рекомендация в конструкторе
В Aero Designer (страница проекта) есть секция «Подбор ВМГ» —
авто-расчёт ВМГ прямо в конструкторе, без перехода на отдельную страницу /tools/vmg.
Как работает
- В левой панели конструктора раскройте секцию «Подбор ВМГ»
- Выберите конфигурацию батареи (2S–6S)
- При желании введите ёмкость пакета (мА·ч) и его продолжительный C-rating —
тогда ток сверяется с пакетом и считается время полёта (паспортный burst
спрашивает только страница/tools/vmg) - Расчёт запускается автоматически при изменении любого из параметров:
- Масса проекта
- Крейсерская скорость
- Конфигурация батареи (S)
- Ёмкость и C-rating пакета - Debounce 500мс — параметры можно менять без задержек
Что показывается
- Лучший вариант — карточка с тягой, T/W, КПД, током крейсера, током
полного газа, мощностью, RPM, ESC, пределом разряда пакета и временем полёта - Альтернативы — свёрнутый список (раскрывается по клику)
- Рекомендация мотора — текстовая подсказка по тяге
Сохранение в проект
Кнопка «Применить» записывает выбранный пропеллер + мотор + ESC
в данные проекта (поля vmg_*). При следующем открытии конструктора
рекомендация подгружается автоматически.
Когда не находится ни один пропеллер
Если параметры за пределами возможностей пропеллеров APC из базы
(слишком тяжёлая модель, слишком высокая скорость на 2S и т.п.) —
показываются подсказки с конкретными предложениями:
повысить напряжение, уменьшить массу или скорость. Если причина в пакете
(ни одна связка не укладывается в его разряд) — подсказка называет предел
пакета и предлагает поднять ёмкость, C-rating или напряжение.
API
Inline-рекомендация использует тот же endpoint, что и страница /tools/vmg:
POST /tools/vmg/calc— расчёт (см. выше)POST /projects/{id}/vmg/apply— сохранение выбранной рекомендации в проект
Payload /vmg/apply (все поля опциональны, сохраняются только переданные):
vmg_motor, vmg_prop_name, vmg_thrust_g, vmg_current_a,
vmg_current_peak_a, vmg_power_w, vmg_efficiency_pct, vmg_tw_ratio,
vmg_rpm_cruise, vmg_esc, vmg_battery_capacity_mah,
vmg_battery_c_rating, vmg_battery_limit_a, vmg_endurance_min.