Я придумал, реализовал в железе и софте, а также экспериментально проверил новый принцип измерения аэродинамического качества параплана.
Год назад на форуме paraplan.ru был задан вопрос «почему не принято публиковать данные о аэродинамическом качестве крыльев?». Я на этот вопрос ответил, что не существует надёжного способа это самое качество измерить. А потом задумался: так ли уж его и нет?
Размышления привели меня к следующей идее. Рассмотрим для простоты прямолинейный установившийся полёт в спокойном воздухе. Относительно воздуха параплан летит вперед и немного вниз. Вектор его воздушной скорости направлен вперед чуть ниже горизонта, вне зависимости от того, как воздух движется сам по себе относительно земли. Что если поблизости от пилота разместить конструкцию, которая будет ориентироваться по вектору воздушной скорости и измерять угол своего отклонения от горизонта? Угол затем однозначно пересчитывается в аэродинамическое качество по формуле: glide = — 1/ctg(angle)
Забавно кстати, что в формулу не входит скорость. При снятии поляры можно сколько угодно ошибаться в измерении воздушной скорости, на измеренное аэродинамическое качество это не повлияет никак.
Главный вопрос в корректном измерении угла, а конкретно в точном определении плоскости горизонта, причём при наличии ускорений и вращений по всем трём осям. Раньше эта проблема была разрешима только с применением дорогостоящего и громоздкого оборудования. Благодаря техническому прогрессу, с недавних пор задача вполне точно решается при помощи одной микросхемы размером 5х5 мм, объединяющей в себе акселерометры, гироскопы и датчики магнитного поля.
Теперь что касается конструкции. Если прибор сделать более-менее осесимметричным с сильным разнесением центра масс и точки приложения аэродинамической силы по этой самой оси, то он будет самостоятельно ориентироваться вдоль линии тока воздуха, что, собственно, и требуется. Важный момент: подвешивать прибор нужно строго за центр масс, чтобы подвес не оказывал никакого воздействия на его угловое положение.
И нужно разместить прибор там, где 1) он будет свободно вращаться по курсу и тангажу 2) линии тока воздуха не будут возмущены крылом или пилотом. На стропе в метре под подвеской самое то.
Но одно дело придумать прибор, а совсем другое сконструировать и тем более собрать в реальном железе. Так что, держа картинку в голове, сел за Fusion 360 рисовать. Примерно на третьей итерации перерисовывания заново с самого начала вышло что-то вроде такого:
Помимо определения ориентации для построения поляры нужна также воздушная скорость. Спереди торчит трубка Пито, соединённая далее с датчиком дифференциального давления. Также внутри находятся датчики абсолютного давления, температуры, влажности.
Параллельно занялся схемотехникой. Самый первый вариант был основан на отладочной плате Adafruit Bluefruit nRF52832, к которой проводками присоединялись датчики.
Очень быстро я понял, что проводки имеют тенденцию отрываться в самый неподходящий момент всего лишь в руках, не говоря уже о реальном полёте. Следующие несколько прототипов включали в себя нормальные печатные платы, произведённые фабричным способом. Так что попутно пришлось ещё освоить Eagle для разводки плат.
Промежуточные версии так или иначе включали в себя механизм для оперативной замены датчиков. Мне нужно было понять, как ведут себя разные датчики, какая у них точность и шумы. По ходу дела к базовым датчикам добавился GPS и слот для Micro-SD карточек, а контроллер был заменён на ESP32.
До лётных испытаний добрался вариант, из которого выкинуто вообще всё лишнее, а датчики припаяны на основную печатную плату.
* Хвост потом переделал и в полтора раза удлинил. Модификация положительно сказалась на стабильности углов.
Прошивку написал с применением библиотек Arduino. Отсутствие необходимости вручную разбираться с сотнями регистров датчика ориентации, с работой с файловой системой SD-карточки, с BLE-стеком и пр. сэкономило мне немало времени. Впрочем, там и без копания в регистрах нюансов хватает.
Весь поток данных с датчиков пишется с частотой 10 герц в файл на карточку.
Я создал для телефона простое приложение, с помощью которого непосредственно в полёте могу контролировать основные параметры. Телефон соединяется с прибором по Bluetooth. На графике выводятся горизонтальная и вертикальная компоненты воздушной скорости, вычисленные из абсолютного значения воздушной скорости и глайда; отображается «хвост» из значений за последнюю секунду. Впрочем, всё это исключительно для удобства и наглядности, трек прибором записывается на карточку автономно
Первые же полёты дали понять, что моя идея сработала. Точность определения горизонта вышла на удивление хорошей. Оказалось, что колебания прибора под пилотом и колебания целиком крыла существенно больше точности измерений. С одной стороны, это конечно хорошо, значит в технологическое ограничение точности определения плоскости горизонта я не упёрся. С другой стороны, с колебаниями еще придётся побороться.
Забавный факт: я долго не мог понять, почему в термической спирали прибор показывал ерунду. Тангаж задирался до явно положительных значений, чего в принципе быть не должно. Сначала подозрение пало на датчик ориентации. Мол, при продолжительном ненулевом ускорении (имеется в виду центростремительное ускорение в термической спирали) сбивалась калибровка и уплывал горизонт. А потом понял: дело скорее всего в неоднородности восходящего потока и длинных стропах параплана. Крыло находится ближе к центру потока и увлекается им вверх. Пилот находится на периферии потока и в некоторых случаях буквально может двигаться вверх относительно окружающего его воздуха, поскольку соединён с крылом стропами постоянной длины. Так что если в сильном узком потоке вам кажется, что вы летите вверх относительно окружающего воздуха, то скорее всего вам это не кажется.
Из записанного трека оказалось не так-то просто получить поляру.
Для начала, потребовалось написать программу, которая бы показывала записанные данные наглядно. Увы, без фильтрации все измеренные параметры колеблются довольно сильно, даже при полёте в спокойном воздухе. Ну как «сильно»? Тангаж гуляет в пределах пары градусов. Глазом незаметно, однако без фильтрации поляра превращается в бесформенное облако точек. Впрочем, даже простое осреднение за период в несколько секунд ситуацию более-менее спасает.
Про колебания параплана хочу сказать отдельно. После окончания любых манёвров крыло качается ещё как минимум 10-15 секунд, с периодом колебаний около 7 секунд. Получается, что для проведения измерений на каждом из режимов нужно выставить акселератором или клевантами интересующую скорость, подождать бесполезные 15 секунд, затем выдержать «полочку» продолжительностью как минимум минуту, а лучше больше. Поворачивать и даже немного переваливаться в подвеске нельзя. Расход высоты на проверку всех скоростных режимов, учитывая все манёвры и ожидания, составляет около одного километра. Если такого запаса высоты нет, можно снимать данные в несколько заходов. Повторяемость измерений наблюдается хорошая.
Вот для примера пара скриншотов программы. Это полёт, по результатам которого построена поляра в начале поста. 5 кластеров точек на поляре соответствуют режимам полёта: на зажатых клевантах (без фанатизма, до карабинов), на балансировочной скорости и на 3 ступенях акселератора. Зелёная полоса внизу обозначает точки трека, автоматически по набору критериев отобранные для вычисления поляры.
Пояснение про воздушные скорости. При помощи трубки Пито и датчика дифференциального давления измеряется приборная (она же индикаторная, IAS) скорость. По формуле, использующей абсолютное давление и температуру, приборную скорость можно пересчитать в истинную воздушную скорость (TAS). На высоте 1000 м разница составляет около 2 км/ч, и с ростом высоты увеличивается. Применительно к поляре параплана корректно говорить именно о приборной скорости как характеристике летательного аппарата. А не об истинной воздушной скорости, которую можно намерить сколь угодно большой, всего лишь забравшись повыше в горы.
* На данный момент некоторые временные технологические сложности не позволяют мне утверждать, что измеренные воздушные скорости достаточно точны. Загвоздка в диаметре приёмных отверстий в трубке Пито и диаметре воздуховодов. До датчика дифференциального давления добирается меньшая разница давления, чем есть на самом деле. К счастью, искажения линейны. Измерения дифференциального давления мне приходится умножать на коэффициент, подобранный экспериментально.
Если посмотреть зависимость угла тангажа от скорости (шкала углов справа), можно увидеть, что диапазон качества от плохого до хорошего укладывается в диапазон углов от -9 до -6 градусов. Причем довольно чётко видна разница между режимами в пол градуса и даже меньше. Размазанность графика на максимальной скорости можно объяснить тем, что довольно сложно долго лететь на полном акселераторе прямолинейно и равномерно, ни разу не шелохнувшись. «Хвосты» на этом и других графиках появляются из-за несовершенства алгоритма отбора точек для вычисления поляры и в будущем исчезнут.
Посмотрим пристальнее на увеличенный график поляры в окрестности балансировочной скорости.
Хорошо видно, что есть область значений, соответствующих стабильному полёту. И есть набор «хвостов», соответствующих переходным процессам. По-хорошему, алгоритм отбора точек трека для расчёта поляры должен все эти переходные процессы вырезать. Придумать такой алгоритм, который к тому же не выбросит половину полезных точек, задача непростая. Но я работаю над ней.
При вычислении тангажа датчик ориентации определяет угол между некоей своей горизонтальной плоскостью, условно совпадающей с плоскостью печатной платы, и горизонтом. Наивно было бы полагать, что плоскость датчика точно совпадёт с горизонтом при обдуве прибора воздухом строго горизонтально. Из ситуации вышел следующим образом.
Выбрал ровную прямую максимально горизонтальную дорогу, и в штилевую погоду проехал туда-обратно несколько раз на машине, подвесив прибор на высунутой из окна машины палке. По идее, средний тангаж как раз и должен был дать калибровочный угол, на который нужно повернуть плоскость датчика ориентации. Я был озадачен, увидев на распределении тангажа 2 очень похожих облака точек: повыше и пониже. Они слились в единое облако, когда я сделал поправку на высотный профиль дороги. Оказалось, что 50 метров разницы высоты на дороге длиной 5 км дают средний уклон в 0.57 градуса, что довольно существенно на фоне точности определения плоскости горизонта в 0.1 градуса и менее. Калибровка скорректировала тангаж на 1.5 градуса.
Классический график поляры (зелёные точки на изображении выше) не очень-то информативен. Поляра стремится выстроиться вдоль прямой, и различия в аэродинамическом качестве становятся неочевидны. Но никто не мешает построить график непосредственно аэродинамического качества от скорости (розовые точки на графике выше, шкала справа). Очень хорошо видно, что точка максимального качества приходится ровно на балансировочную скорость, а на полном акселераторе качество явно портится. Притом зажатие клевант, как ни удивительно, не увеличивает снижение, т.е. конкретно на моём крыле манёвры на скорости ниже балансировочной всё ещё имеют смысл.
Интересный факт: чем больше аэродинамическое качество, тем выше требования к точности измерения углов. Качество в 5-7 единиц измерить сравнительно просто, а с 15 единицами и выше будут большие-пребольшие проблемы.
Пару слов о крыле. Niviuk Peak 3 21. En D, 2.5-рядка, 2013 года разработки. Налёт крыла за 200 часов, однако стропы стоят новые, с налётом в пределах 20 часов. Вилка 70-85, загрузка 85.
Первая же мысль, которая приходит в голову после взгляда на полученную поляру, звучит следующим образом. Зачем измерять угол? Может для горизонтального движения брать воздушную скорость, а вертикальную скорость считать по данным с датчиков давления и ускорения?
Я пишу в трек все измеряемые параметры, так что гипотезу легко проверить.
Рыжим цветом на графике обозначена скороподъемность относительно земли в зависимости от воздушной скорости. Видно, что разброс точек по скороподъёмности получается больше, а часть точек вообще смещена вниз. Речь идёт, между прочим, о зимнем стабильном воздухе почти без признаков термички.
Следующая большая задача – разработка алгоритмов умной и по возможности мало искажающей фильтрации данных с прибора. Я уже работаю над ней.
Всем хорошего глайда!