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-шине. Буду на нем ребенка полетам обучать:)