28 июня 2018

Тинивуп для сына

Авиамоделизмом занимаюсь с детства. Ходил в кружок, ездил на соревнования. После школы жизнь закрутила, институт-семья-работа, было не до любимого хобби. После переезда из Москвы в Крым родился младший сын. Когда он подрос, появилось немного больше свободного времени, тогда и решил вернуться к своему хобби, да еще и сына привлечь. Купил свой первый вертолет NineEagles Solo Pro V2, который был почти клоном первого микровертолета с одним основным ротором Blade mSR. Думал, ну вот, будем вместе заниматься, будет интересно! Но увы, сын растет гуманитарием и затащить его в мое хобби не получалось до текущего момента. Недавно он увидел у моего друга тинивуп в действии. Смотрю, заинтересовался. В общем, пообещал ему сделать такой же, чтобы могли вместе полетать:)


К выбору компонентов подошел основательно. Квадрик должен быть максимально надежным и простым в обслуживании. О бесколлекторном варианте речь даже не шла. Основа модели - полетный контроллер. Решил попробовать новую модель Eachine BeeCore V2 D16 с интегрированным приемником на SPI-шине.


Краткие характеристики полетного контроллера Eachine BeeCore V2 D16:
  • Прошивка BetaFlight CRAZYBEEF3FR
  • Процессор STM32F303
  • Гироскопы MPU6000 на SPI-шине
  • Питание 1S (3.5-4.35В)
  • Интегрированный чип приемника CC2500 на SPI-шине
  • BetaFlight OSD на чипе AT7456E
  • Степап 5В/0.8А с LC-фильтром
  • Контроль напряжения
  • Поддержка пищалки
  • Вес 3.25 грамма
Полетный контроллер приехал отлично упакованный, в жесткой коробочке. Какие-либо повреждения хрупкой вещи были исключены.


На коробке отмечен протокол работы приемника, но это немного некорректная информация. В случае, если стоит отметка FRSKY, то подразумевается, что на контроллере стоит чип CC2500. А уж какой с ним на самом деле будет использован протокол - решает сам пользователь. На текущий момент поддерживается FrSky D16 и D8, но, если на то будет воля разработчиков, можно будет запустить и протокол Futaba S-FHSS, который использует тот же чип CC2500. В остальных случаях интерпретация будет такой: FLYSKY - чип A7105, DSM2 - чип CYRF6936.

В комплекте было все тоже самое, что и с полетным контроллером RacerStar CrazyBee F3 FR: пять высоких демпферов, пять тонких винтиков, липучка и три силовых провода с разъемами LOSI, PH2.0 и PH1.25.


Схему подключения Eachine BeeCore V2 D16 взял из документации. Все примитивно: моторы - в разъемы, камера четырьмя проводками припаивается к соответствующим выводам.


Для сборки квадрика использовал следующие компоненты: рама BetaFPV65S, от донора Eachine E011 моторы и пропеллеры, камера LST S2, низкие демпферы из комплекта и самодельное крепление для камеры. Забыл добавить на фотографию силовой провод с PH2.0-разъемом.


С рамой BetaFPV65S вышел небольшой казус. Она оказалась немного не такой, как ожидалось. Если не брать во внимание цвет, то получилась вот такая картина.


Мне достался вариант с массивными кусками пластика непонятного назначения спереди и сзади, без фиксации проводов от моторов и без боковых перемычек. Да еще и весом 4 грамма, хотя был указан вес в 3 грамма. Для примера, рама донора весит 3.75 грамма. Уже хотел использовать ее, но останавливало крепление полетного контроллера только в трех точках. Пришлось брать в руки скальпель и хирургическим путем уменьшать вес рамы. Срезал массивные куски пластика - вес рамы стал 3.6 грамма. И то неплохо.


Уже припаял к полетному контроллеру силовой провод с PH2.0-разъемом, стал примерять плату на раму и обнаружил, что силовой провод категорически коротковат. Стоковый провод длиной всего 35мм, а для удобного подключения аккумулятора требуется длина в 55мм! Пришлось разбирать разъем, разжимать контакты и ставить более длинный провод толщиной 24AWG. Полетный контроллер установил на низкие демпферы из такого комплекта, не стал обрезать те, что были с полетным контроллером.


Стал думать, как зафиксировать провода от моторов. Обычно фиксируют резиновыми колечками за моторы, но по опыту знаю, что они все время теряются при авариях. Поэтому сделал проще - просто приклеил провода к раме "китайскими соплями". Это эластичный клей B-7000, который можно потом легко удалить.

Схема подключения камеры LST S2 выглядит, как на рисунке. Кроме этого добавится еще один провод для управления передатчиком.


Камеру припаял к соответствующим выводам на плате. Провода пропустил под креплением камеры. На креплении камеры остановлюсь подробнее. Оно изготовлено на 3D-принтере из нейлона, а точнее из триммерной лески. Вес крепления всего 0.3 грамма. Вместе с камерой получается 3.5 грамм. Камера фиксируется за линзу и крюком за верхнюю кромку. Крепление очень надежное, проверенное. Материал крепления очень прочный, по прочности примерно как нейлоновая стяжка.


Крепление создал в программе OpenSCAD. Это очень удобный и простой 3D-редактор, позволяющий создавать модели не визуально, а кодом из примитивов. Как программист, освоил его за пару вечеров. К плюсам редактора стоит отнести возможность создавать параметрические модели. Меняешь ряд переменных и модель автоматически перерисовывается по заданным условиям. Для меня основным преимуществом редактора стала возможность подтягивать контуры из SVG-файлов, созданных в векторном редакторе Inkscape, то есть, Inkscape используется как скетчер. И уж поверьте, в таком качестве это самый лучший скетчер из всех, что я видел в других 3D-редакторах:) У редактора OpenSCAD есть только один огромный недостаток - отсутствие какого-либо сглаживания. Ни фасок, ни плавного перехода между примитивами не сделать. Только создавать все это вручную.

Чтобы создать STL-файл модели крепления камеры, надо скачать и установить девелоперскую сборку редактора OpenSCAD из раздела "Development Snapshots". Затем загрузить и распаковать в отдельный каталог архив с моделью крепления камеры.


Открываем в редакторе файл "cameramount.scad" и включаем показ параметров последним пунктом в меню "Вид". Можно подстроить под себя угол наклона камеры, продольное расположение, ширину камеры и горизонтальный сдвиг относительно центра, угол и длину крюка, толщину всех деталей крепления. Перед созданием модели надо скрыть камеру, все углы задать в ноль, включить печать поддержки и удлиненных частей крепления, которые позже будут срезаны. Удлинять пришлось из-за того, что горячее сопло принтера ездит по одному месту и пластик не успевает остыть. Затем нажать F6 для создания окончательной модели и можно сохранить результат в STL-файл.


С печатью из нейлона есть некоторые хитрости. Нейлон очень сильно усаживается при остывании и деталь отрывает от стола. Для фиксации деталей из нейлона на столе принтера использую лак "Пластик-71". Вокруг мелких деталей будет достаточно задать широкий брим, а при печати больших деталей еще потребуется и несколько слоев рафта по площади раза в четыре больше самой детали! Иначе оторвет.

После печати удаляю поддержку, укорачиваю скальпелем удлиненные элементы и разъединяю фиксатор линзы с основанием крепления. Там заложен зазор и при печати пластик не намертво спаивается. Фиксатор линзы аккуратно приподнимаю и в районе переднего крепежного отверстия грею паяльным феном, включенным на 250-260 градусов. Благодаря небольшой канавке, заложенной в конструкцию детали, фиксатор линзы легко установить в вертикальное положение, немного нагрев его основание. Так же поднимается и крюк. Такой хитрый ход сделан для того, чтобы пластик располагался вдоль направления экструзии. Это заметно увеличивает прочность детали и не позволяет ей расслоиться. Если кажется, что камера стоит в креплении недостаточно надежно, можно мазнуть "китайскими соплями" вокруг линзы перед установкой, тогда камеру будет непросто разделить с креплением:)


Последним штрихом в установке камеры стал отдельный провод, идущий от контакта кнопки передатчика к контакту "BUZZ-" полетного контроллера. Так уже делал у предыдущей модели. Через этот провод буду управлять передатчиком камеры прямо с пульта отдельным тумблером.

Осталось изготовить канопу. Как и планировал, буду делать ее методом вакуумной формовки. Для этого надо изготовить молд-форму будущей канопы. Пробовал нарисовать молд в 3D-редакторе FreeCAD - получилось, но результат не очень понравился. Вернулся к понравившемуся OpenSCAD. Несмотря на отсутствие сглаживания, удалось нарисовать более-менее приличную канопу, да еще и с возможностью менять некоторые параметры.


Канопа как бы состоит из двух деталей: нижняя часть и верхняя. В прилагаемом архиве есть два варианта канопы: с нарисованным низом без сглаживания острых кромок и с низом, созданным отдельной моделью в редакторе FreeCAD. В остальном канопы идентичны. Чтобы получить необходимую форму, можно задать угол наклона камеры, продольное положение, высоту установки и прочие параметры. Затем стоит увеличить детализацию и только тогда сохранить модель в SLT-файл.


Канопу печатал из ABS-пластика на минимальной скорости, чтобы качество конечной модели было достаточным. Попробовал для сравнения два слайсера с практически одинаковыми параметрами: Slic3r PE и Simplify3D. По качеству конечной модели первый оказался немного лучше.


В качестве материала для формовки канопы рассматривал несколько вариантов: одноразовые тарелки, пластиковые папки-скоросшиватели и пластиковые бутылки. Для начала решил попробовать пластиковые тарелки. Выбрал самые большие из самого толстого пластика.

Для формовки купил пластиковый ящик с плоской крышкой, сделал в крышке сетку отверстий диаметром 3мм с шагом 12мм. Сбоку прорезал отверстие для шланга пылесоса. В качестве уплотнителя использовал толстый двухсторонний скотч. Внутрь ящика бросил старый аккумулятор от бесперебойника, чтобы ящик не дергался во время работы.


Для фиксации пластика использовал пяльцы для вышивки. Плохая была идея, как показала практика. Очень сложно зафиксировать в них пластиковую тарелку, даже с помощью паяльного фена. Но на пробу сгодится. Сбоку на крышке ящика приделал пластиковую скобу - это типа "третья рука":) За эту скобу фиксировал край заготовки. Пластик нагревал строительным феном до состояния провисания, затем резко опускал заготовку на молд. Пылесос при этом активно работал. После пары попыток понял, что молд надо приподнимать над поверхностью стола, иначе пластик во впадинах сильно истончается. Распечатал небольшую подставку.


Тогда процесс пошел лучше, но не каждый раз удачно. Заготовку надо равномерно прогревать феном по всей поверхности, иначе получается, что где-то пластик будет сильно тонким, а где-то не успеет обтянуть форму молда. Непростой процесс. Получилось сделать всего пару каноп. Во первых, материал пластиковых тарелок подойдет, прочности хватит. Но лучше, если бы он был листовым:) Наиболее подходящим будет материал от бутылок. Во вторых, швейные пяльцы абсолютно не подходят. Надо жесткий и прочный каркас, так как пластик в процессе остывания сильно усаживается и на каркас приходятся значительные нагрузки. Ну и пылесос надо чем мощнее, тем лучше, в разумных пределах:)

Вес получившейся канопы вышел всего 0.35 грамм. Прочности вполне достаточно. Если наладить их изготовление с умом, то вариант из тарелок будет более легкий, чем из пластиковых бутылок.


Заготовка канопы обрезается острым скальпелем прямо по нижнему краю молда. Отверстие под линзу аккуратно вырезается и доводится валиком из мелкой шкурки.


Квадрик готов! Итоговый вес получился 25.25 грамм. Это катастрофически много по сравнению с бесколлекторным вариантом, который весил менее 20 грамм!

Осталась настройка. Как раз удачно обновилась прошивка BetaFlight до версии 3.4.0-RC3, ее и поставлю. Тем более там была исправлена проблема с тряской по осям, если приемник работает через SPI-шину. Вот и проверю. Для настройки потребуется новая версия конфигуратора BetaFlight-10.3.0. Перед прошивкой рекомендую почитать про особенности настройки новой версии 3.4.0, а так же ознакомиться с рекомендациями проекта MockingBird.

Для начала сразу о грустном. Все прошил, настроил с приемником в режиме FrSky D16. Как обычно, все завелось, телеметрия есть, LUA-скрипты работают.


Начал летать - отлично, тряски по осям нет, как было с CrazyBee F3 FR. Отлетал аккумуляторов пять наверное, все хорошо. Продолжаю потихоньку настраивать PID-ы, подгонять поудобнее расходы. На следующем аккумуляторе сразу после взлета квадрик падает, переворачивается и начинает молотить пропеллерами, на пульт не реагирует. Хорошо, что перевернулся, прижало его к полу. Аккуратно поднял его, отключил аккумулятор. Думаю, ну ладно, бывает. Снова взлетаю, через пару минут падаю в соседней комнате с теми же симптомами. Итог - зависает полетный контроллер. Похожее поведение случалось и с RacerStar CrazyBee F3 FR, только там хоть моторы отключались, а тут продолжали работать на тех же оборотах, которые были на момент зависания. Видимо и тут придется отказаться от телеметрии и перейти на режим FrSky D8.

Есть еще один маленький недочет разработчиков прошивки. У полетного контроллера Eachine BeeCore V2 D16 отсутствует датчик тока, но в ресурсах прошивки он присутствует. Прошивка используется одна и та же с CrazyBee F3 FR, видимо из-за этого. Там датчик тока есть.

В полетный контроллер заливаю прошивку CRAZYBEEF3FR последней версии. Сразу переназначаю управляющий вывод на пищалку под управление передатчиком камеры через Pinio.

resource BEEPER 1 NONE
resource PINIO 1 C15
set pinio_box = 40,255,255,255

В портах вижу наличие одного UART-порта, но его выводов на плате нет.


В основных настройках включаю PID-цикл 8/8кГц, включаю на приемнике протокол FRSKY_D, задаю возможность арминга при любом положении. Отключаю динамические фильтры, не нужны они на коллекторнике.


В самом низу, что не попало на скриншот, отключаю все сигналы на пищалку - нет на квадрике пищалки. Вместо нее будет управление каналами передатчика.

Чтобы привязать приемник к пульту, надо либо нажать и подержать пару секунд кнопку BIND на плате полетного контроллера, либо ввести в консоли конфигуратора следующую команду:

frsky_bind

Так как доступ к кнопке BIND заблокирован канопой, проще всего ввести команду. В это же время аналогичная процедура запускается на передатчике.


На вкладке питания поднимаю максимальное напряжение до 4.4В, минимальное снижаю до 2.9В и отключаю датчик тока. Мелкие аккумуляторы значительно просаживаются под нагрузкой, по показаниям можно летать до 2.8В. После снятия нагрузки напряжение вернется к 3.5В.


В параметрах FailSafe выставил минимальное значение на первый AUX-канал, чтобы квадрик уходил в дизарм при потере сигнала.


PID-ы задирал до невозможности, ибо только с такими значениями появилось ощущение стабильного ровного предсказуемого полета. Расходы подобрал так, чтобы квадрик мог вращаться в районе 1000 градусов в секунду. На таком мелком аппарате флипы-роллы должны происходить максимально быстро, чтобы успеть подхватить над землей. Экспоненты не ставил, так как в пульте стоят ломанные семиточечные кривые на питч/ролл: -100,-36,-18,0,18,36,100. Этот как бы уменьшенные расходы в околонулевой зоне, но не с экспоненциальной, а с линейной характеристикой до определенного предела. Мне так удобнее показалось.


При полете в режиме стабилизации ограничил угол наклона квадрика в 30 градусов. На самом деле, это не пригодилось, ибо сына сразу стал обучать полетам в акро-режиме, но с ограничением по углу наклона.


В фильтрах все поменялось. Теперь нет необходимости переходить в консоль, чтобы задать значения для lowpass2-фильтра, все стало доступно напрямую из конфигуратора. Не буду сильно углубляться в настройку фильтров, иначе размер статьи увеличится в два раза. Рекомендации по настройке были по ссылке выше.


Во вкладке приемника ограничил количество AUX-каналов до четырех, выполнив в консоли команду:

set max_aux_channels = 4

Включил ручную интерполяцию, хотя не до конца уверен в том, что такое значение будет оптимальным - логов не хватает, проверить не получится.


Не стал трогать переменные rx_range, в передатчике просто выставил исходящий диапазон сигнала 1000-2000, немного подредактировав каждый из каналов.


Во вкладке режимов задал тумблеры на арминг, режим стабилизации, для переключения каналов видео-передатчика и нового акро-режима с ограничением угла наклона. Максимальный угол наклона задается через консоль следующей командой:

set acro_trainer_angle_limit = 15

Такого значения более чем достаточно для обучения. Кстати, при использовании этого режима акселерометры должны быть включены.

В настройках OSD вывел на экран только ник пилота, RSSI, напряжение аккумулятора, уровень газа, полетный режим и полетное время.


Еще немного пошевелил новые опции относительно фильтрации входящего сигнала и iterm_relax. Так же убрал в ноль новый параметр throttle_boost, отключив эту функцию. По итогу, квадрик полетел очень классно! Четкое предсказуемое управление, отличный подхват. На радостях полетал по дому на предельной скорости, попугал жену и кошку:) Итоговый файл настроек можно скачать здесь.

Обучение сына начал с визуальных полетов в акро-режиме с ограничением. Основная задача состояла в том, чтобы мозг ребенка перестал думать, в какую сторону дергать стики в той или иной ситуации, все должно работать на уровне рефлексов. Так же учил держать высоту, подхватывать при снижении, работать стиками короткими толчками. За несколько занятий сын уверенно висел над кроватью, не вылетая за ее пределы. На улице получилось не так хорошо, как дома:) Следующий этап - полеты по камере, но чуть позже.


Полетный контроллер Eachine BeeCore V2 D16 показал себя отлично, несмотря на некоторые проблемы, вызванные не очень стабильной работой прошивки BetaFlight. Кстати, уже появился в продаже его конкурент от BetaFPV с F411-процессором и так же приемником на SPI-шине. Рама BetaFPV65S старой редакции таки подвела. Сломалась пара лучей в месте крепления мотормаунтов. Временно поставил раму от донора Eachine E011, но уже заказал несколько обновленных версий рамы BetaFPV65S. Тему с самодельной канопой пока пришлось отложить, не могу придумать из чего и как сделать рамку для фиксации пластика. Нет ни подходящих инструментов, ни материалов в шаговой доступности. Немного позже нарисую крепление камеры под обычную канопу от BetaFPV.

Таких квадриков у меня будет два, чтобы летать вместе с сыном. На первое время отдам ему пульт Devo10 и очки Eachine EV100, а там посмотрим, может что и поинтереснее организую, если втянется:)

20 июня 2018

Линзы CustomFPX для очков FatShark

По FPV начал летать не очень давно, около трех лет назад. Из-за сложного зрения, просаженного утомительной работой за компьютером и травмами, основной проблемой был выбор шлема - ни один не подходил. Вроде ничего сложного, купить обычные очки и вставить из них линзы в шлем. Но не тут-то было. Мои обычные очки стоят дороже самых дорогих FPV-очков от FatShark:) Поэтому перебирал шлемы в поисках такого, который можно было бы использовать вместе с очками. А пока летал в шлеме, сделанном другом. Там маска позволяла надевать его, не снимая очков. Но рано или поздно всему приходит конец. Еще зимой сломались мои обычные очки, пришлось купить новые. А новые очки оказались чуть шире и перестали влезать в маску шлема:( К этому времени у меня уже были немного доработанные FPV-очки Eachine EV100, в них и летал. Да, мазохизм, а что делать...

Весной раздражение от EV100 достигло критической массы, раздуло зеленую жабу, она лопнула и я взял FatShark Dominator HD3. Брал с таким расчетом, что из старых сломанных очков для чтения смогу дремелем вырезать себе дополнительные линзы. Но и тут коварная судьба подготовила сюрприз. Как оказалось, линзы для чтения к очкам от FatShark ни разу не подойдут! Требуются линзы, в которых хорошо видно на расстоянии два метра. Это важно! Тут-то я и приуныл... Одна линза в местной оптике стоит 150 долларов, две - 300, плюс работа с неизвестным результатом.... Неужели не летать мне ясным соколом в крымском небе?

Стал просматривать интернет на предмет изготовления линз на заказ. Параллельно посетил офтальмолога, прихватив с собой рулетку. Выписали мне рецепт на очки с таким расчетом, что я буду хорошо видеть в них с расстояния в два метра. В интернете обнаружил два популярных сайта по изготовлению линз на заказ: rho-lens.com в Германии и customfpx.com в Гонконге. Разница в цене обещала быть не очень большой. В первом 60 евро, во втором - 60 долларов. Вариант от rho-lens.com больше понравился по дизайну. Решил там создать фиктивный заказ, ибо в процессе заказа было уточнение, что конечная сумма будет рассчитана, исходя из значений по диоптриям. По итогу пришел ответ: стоимость заказа составит почти 105 евро! Для меня это перебор, кубышку и так всю вытряс! К таким расходам был не готов. Ладно, проверяю второй сайт customfpx.com таким же методом через фиктивный заказ. Приходит ответ - 60 долларов с доставкой. Не поверил своим глазам - надо брать!

Как обычно в случае с Крымом, образовалась проблема с возможностью оплатить заказ через Paypal. Спасибо другу из Москвы, всегда выручает в таких случаях. После заказа долго не было ответа от производителя, месяца полтора где-то. Когда ожидание безобразно затянулось, написали ему, а в ответ - тишина. Надежда меня уже покинула, но тут неожиданно в Москве обнаружилась посылка из Гонконга, как раз с моими линзами! Друг переслал посылку мне и сегодня я получил долгожданные диоптрии! Ура!


Первое впечатление - брэнд. Все по феншую: футляр, салфетка, визитка, линзы в пленке. Линзы сделаны из пластика очень высокого качества.


По форме видно, что линзы асферические, то есть такие, с которыми искажение изображения на периферии будет минимальное. На передней кромке сделан бортик, чтобы линза могла вставляться в пазы на очках.


В очки FatShark HD3 линзы встали, как родные - с легким усилием, точно по направляющим. Дрожащими руками включил квадрик, прильнул к очкам и... Ничего себе, как все четко видно!!! Так я не видел ни в одном шлеме, ни где либо еще! Я в шоке! Потрясен до глубины души!


К качеству линз нет абсолютно никаких претензий. Бесспорно, они стоят своих денег. Но реализация способа их установки вызывает недоумение. Во первых, я тут же поцарапал себе бровь, снимая очки. Надо было сначала оттянуть очки от лица, а потом уже их снимать. Во вторых, очки уже не нацепишь на лоб, как было возможно без линз. Выступающие острые кромки линз оставят две глубокие вертикальные вмятины на лбу:)

Несмотря на такие мелкие недочеты, я абсолютно доволен. Осталось немного довести очки до ума, как это уже сделал друг тут и тут: зачернить линзы в модулях, подвести питание к вентилятору, сдвинуть аккумулятор на затылок. Тогда можно будет приступать к полетам, отрываясь по полной программе!

01 июня 2018

Самый легкий тинивуп на бесколлекторных моторах!

Не успев облетать квадрик HB64, уже разобрал его на запчасти - снял с него моторы HBRC D0603 на 16000kV. Только они мне потребуются для сборки самого легкого и самого заряженного тинивупа на бесколлекторных моторах! Хочу сделать квадрик весом менее 20 грамм с пропеллерами диаметром 31мм. В качестве полетного контроллера выбрал новинку RacerStar CrazyBee F3 FR. Буду использовать раму Beta65 Pro, канопу этого же производителя и камеру LST S2, которая стояла на квадрике FullSpeed BeeBee-66 и очень понравилась.


Весь функционал квадрика заключен в полетном контроллере RacerStar CrazyBee F3 FR, о нем и расскажу подробнее.


Краткие характеристики полетного контроллера RacerStar CrazyBee F3 FR:
  • Прошивка BetaFlight CRAZYBEEF3FR
  • Процессор STM32F303
  • Гироскопы MPU6000 на SPI-шине
  • Питание 1S (3.5-4.35В)
  • Интегрированный чип приемника CC2500 на SPI-шине
  • BetaFlight OSD на чипе AT7456E
  • Степап 5В/0.8А с LC-фильтром
  • Датчик тока
  • Контроль напряжения
  • Поддержка пищалки
  • Регуляторы 4-в-1 BLHeli_S с током до 5А
  • Вес 3.27 грамма
В комплекте с полетным контроллером были пять высоких демпферов, пять винтов с широкой шляпкой, кусочек толстого двухстороннего скотча и три хвоста с разъемами PH2.0, PH1.25 и LOSI.


В первую очередь, полетный контроллер RacerStar CrazyBee F3 FR интересен интегрированным приемником. Вместо приемника используется только чип CC2500, который подключен напрямую к процессору по SPI-шине. Это дает полную универсальность в выборе протокола управления квадриком. Если ваш пульт использует тот же чип CC2500 для передачи сигнала, то данный полетный контроллер cможет с ним работать, лишь бы протокол работы передатчика был реализован в прошивке полетного контроллера. Пока что полетный контроллер RacerStar CrazyBee F3 FR может работать только по протоколам FrSky D8 и D16, но если разработчики посчитают нужным, то получится без проблем заставить работать полетный контроллер, например, по протоколу Futaba S-FHSS, ибо там используется тот же чип CC2500. Думаю, что в конечном итоге все протоколы, реализованные в прошивке Deviation, в скором времени будут поддерживаться и в прошивке BetaFlight. Кстати, есть вариант этого же полетного контроллера с чипом A7105. Пока список поддерживаемых протоколов для приемников на SPI-шине не очень большой, по постоянно дополняемый.


Реализовано довольно много протоколов для чипа NRF24L01, но пока нет ни одного полетного контроллера с этим чипом. Приемники на SPI-шине - отличный задел на будущее. Надеюсь, проблем с ним не будет:)

Все, что потребуется для сборки квадрика есть на фотографии ниже. Это рама Beta65 Pro с прозрачной канопой, камера LST S2, четыре мотора HBRC B0603 на 16000kV, полетный контроллер RacerStar CrazyBee F3 FR, четыре демпфера с винтиками, пропеллеры на 31мм и хвост из проводов 24AWG с PH2.0-разъемом на конце.


Первым делом немного модифицировал раму Beta65 Pro будущего квадрика. Крепление аккумулятора предполагается резинкой снизу, но в тоже время рама имеет корзину под аккумуляторы, которая заблокирована перемычками.


Мысль разработчиков рамы понятна. При креплении резинкой можно использовать аккумуляторы различного размера, а при использовании корзины придется ограничиться только тинивупным размером аккумуляторов на 250-260мА/ч.


Решил срезать пару перемычек в корзине. В тоже время, ничто не мешает использовать аккумуляторы побольше, крепление резинкой никуда не денется:)


Пять минут работы скальпелем и вот результат! Аккумулятор на 260мА/ч прекрасно встал внутрь корзины, даже слегка поджимается элементами рамы. А квадрик теперь будет надежно стоять на ровной поверхности на креплениях моторов.

Камера с передатчиком будет прикрыта канопой и доступа к ее кнопке управления не будет. Есть возможность это исправить - сделаю управление камерой прямо с пульта. Для этого надо вывести один проводок непосредственно с контакта кнопки управления. Этот вывод не должен прозваниваться тестером на землю!


На моей камере это оказался контакт, который ближе к краю. Вывел с него голубой провод. Позже подключу этот провод к полетному контроллеру. Еще убрал термоусадку с антенны и заменил на слой каптона. Термоусадка весила 0.15 грамм - много!

Документацию по полетному контроллеру RacerStar CrazyBee F3 FR можно найти здесь. Из нее вырисовывается следующая схема.


Отпаял разъемы моторов от полетного контроллера. Вес платы стал 2.87 грамма, а был 3.27. Ничего себе, разъемы весят целых 0.4 грамма! Чтобы комфортно подключать и отключать аккумулятор, примерно подобрал длину силовых проводов. Получилось 45мм от выхода из PH2.0-разъема.


На этом этапе надо прикинуть длину проводов у всех элементов квадрика, ибо подпаивать их придется снизу полетного контроллера. Полетный контроллер будет устанавливаться на раму уже с припаянными моторами и камерой. Ставить буду на длинные стоковые демпферы, как они есть. Иначе USB-разъем уйдет вниз и не даст установить аккумулятор в корзину.


Пока можно не обращать внимание на голубой провод, который идет от кнопки камеры к полетному контроллеру, на этом этапе его припаивать не надо, просто я забежал немного вперед. Сначала надо сделать настройки полетного контроллера, иначе, если сразу подпаять этот провод, то на передатчике камеры будут хаотично переключаться каналы и сетка частот:)


Электроника встала на место без проблем. Чуть раньше пришлось заменить антенну приемника на кусок МГТФ-провода длиной 31мм. Под камеру подложил ступеньку из кусочка двухстороннего скотча, что был в комплекте с полетным контроллером. Он покрыт каким-то очень липким составом, камера чуть не намертво к плате прилипла.


Дополнительно зафиксировал камеру спереди за объектив напечатанной клипсой так, чтобы объектив попадал в вырез канопы. Вообще, канопа BetaFPV спроектирована под другой тип камер, у которых передатчик расположен горизонтально, типа BetaFPV Z01. Поэтому обычную камеру с передатчиком, расположенным сзади, надо устанавливать довольно высоко относительно платы полетного контроллера. Позже решу эту проблему.

Начал настройку с прошивки регуляторов. В них стояла прошивка BLHeli_S версии 16.6. С помощью BLHeliSuite обновил до версии 16.7. Заодно установил направление вращения моторов.


С прошивкой BLHeli_S 16.7 будет доступен программный реверс моторов и маяк, управляемый полетным контроллером, если использовать протокол управления DShot. Громкость маяка надо поднять на максимум, иначе его почти не слышно.

Изначально в полетном контроллере RacerStar CrazyBee F3 FR стояла прошивка BetaFlight версии 3.3.0, собранная производителем. Официальная прошивка доступна для полетного контроллера RacerStar CrazyBee F3 FR, начиная с версии 3.3.1, но не стоит ее ставить.

Забегая вперед, расскажу о возникшей проблеме с новым квадриком. Быстренько все настроил - вроде завелось, телеметрия прет, LUA-скрипты работают, радости нет предела!


Решил попробовать полетать по квартире, но не тут-то было. При арминге на доли секунды пропала телеметрия и вообще связь с квадриком. Ладно, FailSafe вроде не сработал, взлетаю, все хорошо. Начинает изредка подергивать по разным осям, как будто стоит чувствительный гироскоп и сам полетный контролер стоит не на демпферах или как один из моторов подзакусывает. Залетаю с соседнюю комнату и ловлю потерю сигнала, хотя RSSI на OSD показывает более 50%! Сначала подумал на проблему с антенной, все же менял ее, мог случайно повесить соплю олова на массу. Разобрал квадрик, осмотрел все - ничего не нашел. Снова пробую полетать и обнаруживаю, что в тот момент, когда на доли секунды пропадает телеметрия, идет и подергивание по какой-либо оси. А пару раз словил даже зависание полетного контроллера! Данные на OSD есть, но не меняются и квадрик ни на что не реагирует, просто падает вниз:) Ага, значит проблема точно не в антенне. Полез за ответами в интернет и обнаружил точное описание своей проблемы на сайте BetaFlight. Оказывается, приемник на SPI-шине пока что не может работать в режиме D16 с телеметрией и предлагается использовать только режим D8. Там же предлагается и измененная прошивка с патчами, исправляющими дерганье моторами при использовании DShot-протокола, но не вошедшими в основную ветку BetaFlight, ее и поставлю.

Итак, после прошивки сразу же иду в консоль конфигуратора BetaFlight и переназначаю ресурс пищалки на новомодную штуку Pinio:

resource BEEPER 1 NONE
resource PINIO 1 C15

Не забываю сохранить результат, выполнив команду 'save'. Данные действия позволят избежать хаотичного переключения каналов передатчика, если проводок от кнопки передатчика уже подпаян к полетному контроллеру. Если еще не подпаян, то уже можно это сделать. Провод от кнопки припаивается к выводу 'BUZZ-' полетного контроллера.


О том, что такое Pinio, можно почитать здесь. Вкратце - это возможность управлять любыми силовыми ключами. Применительно к управлению передатчиком, просто замыкается кнопка на общий через ключ подачи питания на пищалку.

Делаю первичную настройку полетного контроллера RacerStar CrazyBee F3 FR. В портах обнаружился один UART-порт, но в документации не указано, есть ли его выводы на плате полетного контроллера.


В настройках выставил протокол управления регуляторами DShot600, минимальный газ на 6%, частоту работы гироскопов 8/4кГц, поддержку приемника на SPI-шине, протокол работы приемника FrSky_D и возможность пищать моторами вместо обычной пищалки.


Лучше для этого полетного контроллера использовать протокол DShot300 из-за регуляторов с прошивкой 'O-L-05'. DShot600 так же будет работать, но регуляторы будут не успевать обрабатывать поток данных, часть данных будет пропускаться - могут быть проблемы.

Следующий этап - привязка приемника к пульту. Из-за вышеозначенной проблемы, пока что буду биндить в режиме D8. Есть два способа перевести приемник в режим сопряжения: нажать и удерживать кнопку BIND пару секунд или перейти в консоль конфигуратора BetaFlight и ввести команду:

frsky_bind

Подробнее по работе с приемником на SPI-шине можно почитать здесь.

В разделе питания только приподнял максимальное напряжение до 4.4В, но это все равно не помогло от постоянно выскакивающего предупреждения 'LAND NOW' при подключении свежего аккумулятора.


Кстати, наличие датчика тока на плате полетного контроллера - очень жирный плюс! Если вывести данные по расходу аккумулятора на OSD, можно в режиме реального времени оценить остаток заряда и вовремя подлететь на посадку. Бесколлекторные моторы позволяют сохранять динамику полета почти до полного разряда аккумулятора и более-менее чувствительная  просадка по питанию начинается за несколько секунд до падения:)


Для режима FailSafe только назначил дизарм при потере сигнала и включение маяка на регуляторах моторов.

PID-ы подобрал так, чтобы небольшие шевеления воздуха в штиль не сильно сказывались на управлении квадриком:)


Режекторные фильтры традиционно отключены, включен режим 'PT1' фильтра 'D-Term Lowpass' и понижена частота 'D-Term Lowpass' до 80Гц.


В консоли конфигуратора дополнительно включил фильтр Калмана и пока что выставил его на дефолтную частоту в 250Гц:

set gyro_lowpass2_type = FAST_KALMAN
set gyro_lowpass2_hz = 250

На вкладке приемника настройками пульта добился того, чтобы по всем каналам значения были четко в диапазоне 1000-2000.


Для этого подкорректировал минимальное и максимальное значение выходного сигнала с пульта.


Перед тем, как назначать на тумблеры все функции, в консоли выполнил следующую команду:

set pinio_box = 40,255,255,255

Эта команда указывает, что для первого переназначения Pinio будет задействована пользовательская функция на вкладке режимов. После этой команды во вкладке режимов появится дополнительный блок 'USER1', на который можно повесить любой из AUX-каналов с назначенным тумблером.


Вот этим назначенным тумблером и буду менять частоту и сетку передатчика у камеры.

На вкладке OSD расставил необходимые значения на привычные для себя места. Внизу вывел процент газа, чтобы оценить просадку питания при разряде аккумулятора.


На этом настройка завершена, полный дамп настроек можно скачать здесь.

Кстати, не все канопы BetaFPV одинаково весят. Имею четыре их канопы, вес разнится в диапазоне 0.7-1.2 грамма. Поставил самую легкую. Потом нарисую и напечатаю молд и буду делать свои канопы методом вакуумной формовки. Итоговый вес квадрика порадовал, удалось уложиться в 20 грамм! Сухой вес получился 19.7 грамма!


Еще есть запас, где можно убрать вес. Провода от камеры довольно толстые и жесткие, можно заменить на более тонкие. Если убрать антенну-диполь вместе с U.FL-разъемом и заменить просто проводком длиной 13мм, то квадрик похудеет еще минимум на полграмма. Так что, следующий рубеж - 19 грамм:)


Попробовал полетать на новом квадрике в помещении и на улице в штиль. Не скажу, что все понравилось. По работе камеры LST S2 претензий нет - ожидаемо отличная картинка для такого класса камер. Полетный контроллер RacerStar CrazyBee F3 FR работал без нареканий. Подвели моторы HBRC D0603. Не сделал на них и пятидесяти вылетов, а уже на всех появился осевой и поперечный люфт. Вибрации от моторов жуткие! Из-за этого пропала 'рельсовость' при полете, приходилось бороться с квадриком. Пробовал настраивать I-составляющую в PID-ах - не помогло. Немного улучшило бы полет переключение фильтра 'D-Term Lowpass' на 'BIQUAD', но это все полумеры. Решил устранить проблему радикально - заменой моторов, заказал новые Happymodel SE0603 на 19000kV с валом 0.8мм, чтобы была возможность использовать одинаковые пропеллеры как с коллекторным вупом, так и с бесколлекторным.


В целом, у легкого квадрика есть огромный потенциал! С аккумулятором на 260мА/ч время полета составляет чуть более трех минут - отличный результат! При этом динамика квадрика просто сногсшибательная! По высоте подрывается мгновенно, маневренность колоссальная. С аккумулятором на 550мА/ч квадрик не чувствует себя, как беременная блоха. Динамика становится слегка меньше, но это не мешает делать даже силовые петли! Зато время полета составляет пять минут сорок секунд! Думаю, что с аккумуляторами GNB на 450мА/ч будет оптимальное соотношение веса и времени полета.

На будущее, осталось спроектировать новое надежное и легкое крепление камеры и сделать форму для вакуумной формовки каноп. Работы в этом направлении уже близки к завершению.


В планах имеется и создание новой рамы из нейлона. Тормозит процесс только сломанный 3D-принтер. Очень не вовремя у него стало рельсы подклинивать. А своей очереди уже ждет еще один вуп. На этот раз снова на коллекторных моторах с новым полетным контроллером BeeCore V2 с интегрированным приемником FrSky на SPI-шине. Буду на нем ребенка полетам обучать:)