25 июня 2018

BetaFlight 3.4.0-RC3

Вышел третий предварительный релиз прошивки BetaFlight-3.4.0-RC3.


Важно!

Это предварительный релиз. Он предназначен для тестирования и некоторые вещи по-прежнему нуждаются в исправлениях и точной настройке. Пожалуйста, используйте его с осторожностью и сообщайте о любых проблемах на странице https://github.com/betaflight/betaflight/issues.

Важная информация при обновлении.
  • Ряд изменений и улучшений в этой версии требуют изменений и в конфигураторе BetaFlight. Эти изменения были добавлены в конфигуратор BetaFlight 10.3.0 (который будет выпущен в ближайшие дни, инструкция по установке здесь). Обновите конфигуратор BetaFlight до версии 10.3.0 или выше, или используйте консоль для управления новыми параметрами;
  • Как часть капитального ремонта различных стадий фильтра и усовершенствований PID-цикла, параметры по умолчанию были переоценены и обновлены. Новые значения по умолчанию предназначены для оптимального использования новой системы фильтров и улучшенного PID-цикла и могут использоваться с любым (практически) оборудованием. Даже если ваша текущая настройка работает нормально, возможно стоит попробовать восстановить только те параметры, которые не затрагивают фильтры и опции PID-цикла и перейти к новым значениям по умолчанию (на всякий случай сохраните свой старый diff в безопасное место, если вам не понравятся новые значения) (#6036);
  • Верхний предел  dterm_setpoint_weight  увеличен до 2000 (соответствует значению 20 для «D Setpoint Weight» в конфигураторе BetaFlight). Это означает, что пилоты, желающие более четкого ощущения стика, могут увеличить это значение до пределов предыдущего максимума, выставив значение 254. В то же время, было возвращено недокументированное изменение масштабирования, и теперь масштаб снова становится таким, как он выглядит в конфигураторе BetaFlight. Если вы используете собственные настройки для  dterm_setpoint_weight , разделите свое значение на 1.27, чтобы получить новое значение, которое даст вам такие же ощущения, как в версиях между 3.1.6 и 3.4.0 (#5945, #6052);
  • Была изменена конфигурация DShot-маяка. Теперь команда  beacon  в консоли может использоваться аналогично тому, как используется команда  beeper . Это позволяет индивидуально отключать DShot-маяк для условий, поддерживаемых им (RX_SET и RX_LOST в данный момент). Старый способ отключения DShot-маяка путем установки  beeper_dshot_beacon_tone  в ноль больше не поддерживается. DShot-маяк отключен для всех условий по умолчанию. Если хотите его включить, используйте в консоли команду beacon (#5891, #6070);
  • В предыдущих версиях прошивки, когда DShot-маяк был активен, случалось состояние, что команды DShot (например, активация режима "античерепаха"), игнорировались регулятором. Чтобы предотвратить это, DShot-маяк будет включаться на 2 секунды позже после дизарма (#6079);
  • Добавлена дополнительная проверка в настройках RSSI. В отличие от предыдущих версий прошивки, уже невозможно одновременно иметь несколько источников RSSI, поскольку только один может быть активным в текущий момент времени. Если настроено более одного из доступных источников RSSI (счетчик ошибок кадров / ADC / канал RX), все, кроме первого в этом списке, будут отключены (#5644);
  • Было добавлено масштабирование всех источников RSSI. Если используемый вами источник RSSI не выдает правильный диапазон значений, можно использовать переменные  rssi_scale  /  rssi_offset  для установки масштаба и смещения значения RSSI (#6001, #6032);
  • Улучшена функциональность режима "античерепаха": в дополнение к существующему перевороту вперед/назад/влево/вправо посредством вращения двух пропеллеров, теперь поддерживается переворот только одним вращающимся пропеллером (путем движения стика ролл/питч по диагонали), и поворот вокруг своей оси двумя пропеллерами, расположенными по диагонали (стиком по яву), чтобы повернуть перевернутый квадрик. Степень отклонения стика в любом из этих направлений определяет, на сколько быстро будут вращаться пропеллеры (#5163);
  • Параметр  moron_threshold , определяющий предел допустимого уровня шума во время калибровки гироскопа, был переименован в  gyro_calib_noise_limit . Кроме того, добавлена ​​новая настройка  gyro_calib_duration . Это позволит пользователям настраивать более длительную минимальную продолжительность калибровки гироскопа (в сотых секунды, по умолчанию: 125 или 1.25 секунды). Использование большего значения приведет к уменьшению дрейфа гироскопа, что положительно скажется на качестве полета (#5932);
  • К сожалению, исправления и улучшения функциональности ядра привели к увеличению размера прошивки и у некоторых полетных контроллеров на F3-процессоре перестало хватать доступной памяти. В результате, у полетных контроллеров из списка некоторые функции пришлось удалить: BETAFLIGHTF3, COLIBRI_RACE, FRSKYF3, FURYF3OSD, LUX_RACE, MIDELICF3, OMNIBUS, RCEXPLORERF3, RG_SSD_F3, SPRACINGF3EVO, SPRACINGF3NEO;
  • OSD-элементы  osd_crosshairs (перекрестие) и  osd_ah_sbar (боковая панель горизонта) были переименованы в  osd_crosshairs_pos  и  osd_ah_sbar_pos , чтобы соответствовать именованию элементов OSD. Если используете эти элементы, перед восстановлением конфигурации вручную измените их имена в резервной копии файла (#5534);
  • Диапазон значений параметра  vtx_band  был расширен, чтобы начинаться с нуля вместо единицы. Установка  vtx_band = 0  позволяет пользователям передатчиков с протоколами SmartPort или Tramp устанавливать нужную частоту напрямую через параметр  vtx_freq . Поскольку прямая настройка частоты не поддерживается для чипа RTC6705,  vtx_band = 0  не работает для этих передатчиков и не должен использоваться (#5465).
Основные изменения:
  • Переработанная и улучшенная фильтрация (#5458);
  • Оптимизирована и значительно улучшена производительность на F7-процессоре (#5674);
  • Добавлен режим спасения при полете по GPS (#5753, #5764);
  • Добавлена ​​поддержка доступа к SD-карте/встроенной памяти в качестве запоминающего устройства через USB (MSC) (#5443, #5629, #5650);
  • Добавлена ​​поддержка интерпретации входного сигнала приемника как USB-джойстика (HID). Уже рассказывал о такой возможности  (#5478, #5596);
  • Добавлена ​​поддержка конфигурации CMS через CrossFire-протокол (#5743);
  • Добавлена ​​поддержка экспериментальных фильтров для сглаживания входящих сигналов с приемника (#6017).
Прочие изменения:
  • Добавлен новый режим ACRO TRAINER (#5970);
  • Добавлен режим throttle boost (#5508);
  • Добавлена ​​поддержка ограничения значения газа (#5608);
  • Добавлены улучшения PID-цикла (#5968, #5963, #5962);
  • Ускорение срабатывания функции 'yaw spin recovery' (#5706);
  • Добавлена ​​поддержка прямой настройки значений PID через отдельные каналы приемника (#5584);
  • Добавлена ​​поддержка нескольких скоростей оверклокинга (#5193);
  • Добавлен мониторинг температуры процессора (#5322);
  • Добавлен режим PARALYZE (режим паралитика) (#5851);
  • Добавлена ​​поддержка компаса QMC5883L (#5309);
  • Добавлена ​​поддержка чипов памяти W25M (#5722).
Обновления полетных контроллеров:
  • Добавлен SPRACINGF7DUAL с поддержкой двух гироскопов (#5264).
Изменения по сравнению с первым кандидатом в релизы:

Улучшения безопасности:
  • Добавлено предупреждение на OSD, когда арминг задерживается из-за работы DShot-маяка (#6104).
Исправления:
  • Чистка кода (#6106, #6124);
  • Изменена запись значения по току в лог (#6082);
  • Исправлены проблемы с DShot-командами (#6108, #6113, #6130);
  • Исправлено определение компаса QMC5883L (#6121);
  • Улучшена производительность функции спасения через GPS (#6122);
  • Уменьшено время между включением/выключением DShot-маяка и арма/дизарма до 1.2 секунды (#6123);
  • Улучшена производительность PID-цикла (#6125, #6126, #6132);
  • Исправлена ​​ошибка 'off by one day' в RTC (#6127);
  • Исправлены проблемы с LED_STRIP на F7 (#6131).
Обновления полетных контроллеров:
  • Обновлены значения по умолчанию для ALIENWHOOP (#6097).
Изменения по сравнению со вторым кандидатом в релизы:

Исправления:
  • Исправлена ​​ошибка LED_STRIP на F4 (#6141);
  • Исправлено определение отрицательной высоты по GPS (#6096);
  • Исправлено несколько проблем с функцией GPS Rescue (#6161, #6166, #6193, #6201);
  • Исправлено отключение функции SOFTSERIAL в параметрах по умолчанию (#6173);
  • Добавлена ​​полная поддержка изменения скорости обновления при сглаживании RC-сигнала CrossFire-протокола (#6194);
  • Исправлен неправильный диапазон значений переменной  3d_deadband_throttle  в консоли (#6195);
  • Протокол управления камерой RunCam Split переведен в асинхронный режим (#6196);
  • Исправлена ​​ошибка с выводом значений  beeper  при выполнении команд  diff/dump  (#6199);
  • Исправлено отсутствие данных с GPS в выводе на SmartPort (#6202).
Обновления полетных контроллеров:
  • Добавлено сглаживание входящего сигнала/сброс Iterm для полетников на F3-процессоре. Убрана поддержка внешнего OSD (#6188).

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

15 апреля 2018

Беспроводной симулятор из квадрика с прошивкой BetaFlight!

Недавно обратил внимание, что в исходные тексты прошивки BetaFlight добавили возможность использовать USB-порт в качестве HID-устройства. Стало понятно, что дело идет к тому, чтобы использовать квадрик в качестве беспроводного джойстика в симуляторах. То есть, можно просто взять и подключить свой любимый квадрик к компьютеру и летать через него в любом симуляторе! И без разницы какой пульт и приемник - оно будет работать! Сегодня попробовал завести это дело.


Беспроводной джойстик пока что работает только на полетных контроллерах с F4 или F7-процессором. Потребуется обновить прошивку в полетном контроллере на самую свежую из ночных сборок. Если еще не настроена связка 'пульт-приемник-полетник', то самое время это сделать. Лучше всего подогнать диапазон до 1000-2000 по каждому каналу на вкладке приемника в конфигураторе BetaFlight. В общем-то и все. Очень желательно, чтобы приемник так же включался при подключении полетного контроллера через USB-порт, иначе потребуется еще и аккумулятор к квадрику подключать, что не очень безопасно.

В консоли конфигуратора BetaFlight надо ввести следующую команду и сделать сохранение настроек:

set usb_hid_cdc = on
save

После этого в свойствах компьютера появится джойстик на восемь осей. У меня даже два появилось, так как одновременно завел квадрик на F7-процессоре и маленький полетник на F4-процессоре:)


На квадрике с F7-процессором приемник подключен через FPort, а к полетнику на F4-процессоре - через SBUS. В обоих случаях все отлично работает. Если хочется просто сделать стационарный беспроводной джойстик, можно использовать маленький полетник на F4-процессоре и любой миниатюрный приемник, например такой для FrSky-протокола.


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

Попробовал завести беспроводной джойстик в различных симуляторах. В FPVFreeRider не завелось. Джойстик подхватился только в Heli-X и VelociDrone. Возможно, на windows-системах оно и везде заработает, просто у меня другая система.

В симуляторе VelociDrone беспроводной джойстик на F7-процессоре выглядит так:


А на F4-процессоре определяется с именем прошивки полетника:


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

Для отключения функции джойстика надо ввести в консоли конфигуратора BetaFlight следующие команды:

set usb_hid_cdc = off
save

Осталось дождаться появления этой функции в очередном релизе BetaFlight. А на сегодня все, удачных тренировок!

14 апреля 2018

HB64 - маленький вуп на бесколлекторных моторах

С некоторых пор плотно подсел на тинивупы. Уже попробовал парочку: на бесколлекторных 0703-моторах и коллекторных 0716-моторах. Время полета у них сильно отличается. Бесколлекторный летает полторы-две минуты на LiHV-аккумуляторах 260мА/ч, коллекторный 3.5-4 минуты. Причем, по динамике не скажу, что коллекторный сильно уступает. Да, подхват не тот, но время полета значительно больше. Приглянулся еще один квадрик на бесколлекторных 0603-моторах HB64. Наверное, это должно быть что-то среднее между двумя предыдущими квадриками. Вот и проверю!


Кроме 0603-моторов на 16000kV, заинтересовала рама. Она сделана по принципу, как рама RaconHeli для бесколлекторных тинивупов - карбоновое основание и пластиковые держатели моторов с защитой.

Краткие характеристики квадрика HB64:
  • База: 64мм
  • Вес: 24.7 грамм
  • Взлетный вес: 31.4 грамм
  • Моторы: 0603/16000kV
  • Диаметр пропеллеров: 31мм
  • Полетный контроллер: Omnibus F3
  • Блок регуляторов: Teeny1S
  • Камера: CM275T
  • Приемник: FlySky FS82
  • Аккумулятор: GNB LiHV 250мА/ч, 9.7 грамм
Квадрик HB64 приехал в пластиковом контейнере, но внутри все было не зафиксировано и болталось, хотя и упаковано в пакеты.


В комплекте, кроме квадрика, нашлась инструкция к полетному контроллеру, комплект запасных трехлопастных пропеллеров, съемник и хайвольтный аккумулятор на 250мА/ч.


Странно, на квадрике стоят четырехлопастные пропеллеры, а запасные - трехлопастные.

Несмотря на прочную упаковку, квадрик приехал с повреждениями. Один держатель мотора был с трещинами и лопнула одна из трех стоек прямо рядом с мотором. Материал этих держателей жестковат и хрупковат, похож на чистый поликарбонат, не выдержат они долго. Лучше бы из нейлона сделали. В продаже запасных пока не видел, только если брать оригинальные от RaconHeli и надеяться, что по посадочным отверстиям подойдут.

Первое впечатление - квадрик HB64 непропорционально высокий! Рама довольно жесткая, не хлипкая, как у коллекторного варианта того же размера или как рама Beta65 Pro.


Снизу хорошо видно блок регуляторов 4-в-1 Teeny1S. Рама квадрика позволяет устанавливать электронику с посадочными отверстиями 16x16мм или стандартные платы тинивупного размера с посадочными отверстиями 26x26мм.


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


На квадрике установлены бесколлекторные 0603-моторы на 16000kV с валом диаметром 1мм. Моторы на латунных втулках - не лучшее решение, но в таком размере на подшипниках будут еще хуже.


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


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


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


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


Приемник приклеен к полетному контроллеру на кусочек силикона. Хорошо видна кнопка на приемнике, с помощью которой можно забиндить квадрик и пульт.

На квадрике установлена одна из самых популярных камер CM275T. Честно говоря, мне она не очень нравится тем, что картинка с нее получается с оттенками желто-зеленого и не очень хорошо работает WDR.


И кстати, почему-то камера не переключается в PAL-режим. Если удерживать переднюю кнопку несколько секунд, то операция переключения вроде бы проходит, но картинка по прежнему остается в NTSC-режиме. В качестве антенны к передатчику припаян проводок длиной 13мм.

Первым делом забиндил приемник и пульт Taranis QX7 с установленным мультипротокольным модулем iRangeX IRX4. В пульте выбрал протокол управления 'FS 2A', зажал кнопку на приемнике и подал питание через USB-разъем. Все получилось с первого раза.


Затем подключил квадрик к компьютеру и в пульте немного подправил диапазон выходного сигнала по первым восьми каналам, чтобы в BetaFlight на вкладке 'Receiver' получить значения 1000-2000.

Изначально в полетном контроллере квадрика HB64 была установлена прошивка BetaFlight-3.1.7-OMNIBUS. Были сделаны только настройки подключения приемника к полетному контроллеру, все остальное было абсолютно по дефолту. Вот дамп этих настроек.

Буду заливать в полетный контроллер самосборную прошивку из свежего среза исходных текстов BetaFlight. Тоже самое можно получить из ночных сборок.

После обновления прошивки в полетном контроллере, сразу же обновил и прошивку регуляторов. Изначально там стояла BLHeli_S-16.6, с помощью BLHeliSuite поставил версию 16.7.


Сразу же заработал маяк на моторах и после настройки будет доступен режим 'античерепаха'. Громкость маяка надо выкручивать на максимум, иначе квадрик вообще не слышно, если включить писк моторами.

Настройки сделал самые обычные, даже PID-ы подобрал просто на глаз. Хотелось побыстрее облетать аппарат:) В портах выставил подключение приемника к UART3.


В настройках выставил протокол управления DShot600 - цифра рулит:) Минимальный газ пришлось поднять до 8%, иначе из-за сильных магнитов при арминге моторы не могли стартовать. Скорость работы гироскопов выставил 8/4, при 8/8 процессор загружался на 100%. Включил динамические фильтры и возможность издавать писк моторами.


В настройках питания отключил датчик тока - его нет. Приподнял максимальное напряжение до 4.4В, чтобы не было проблем с хайвольтными аккумуляторами. Сначала забыл снизить минимальное напряжение и квадрик в полете все время бросал сообщение на OSD о низком напряжении. Потом уже исправил на 2.8В.


В настройках FailSafe выставил дизарм и включение писка при потере сигнала.


PID-ы еще до конца не настроены - это сделаю позже. Расходы выставил такие же, как сейчас стоят на тренировочном хламолете и они отлично подошли.


Отключил все фильтры и выставил тип LPF-фильтра PT1. Еще понизил 'D-Term' до 80Гц.


На вкладке приемника ничего не менял. Хотел выставить вручную 'RC Interpolation', но не знаю даже приблизительного значения, которое может быть при использовании FlySky-приемника, а логов блэкбокса нет, чтобы это выяснить - оставил автоматическое.


В режимах раскидал доступные четыре AUX-канала по функциям. На всякий случай сделал режимы Angle и Horizon, хотя ими не пользуюсь. Включил пищалку на тумблере, сделал отключение OSD и настроил на тумблер новомодную функцию 'античерепаха'.


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


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


Вот полный дамп моих настроек квадрика HB64. С ними нагрузка на процессор не превышает 31% - нормально.

Когда первый раз поднял квадрик в воздух, то был удивлен его стабильностью. В акро-режиме он висел как приколоченный! Квадрик оказался даже более стабильным, чем FullSpeed BeeBee-66. По звуку работы моторов очень похож на коллекторного коллегу.


Время полета на стоковом аккумуляторе на 250мА/ч составило ровно две с половиной минуты. Просадка по питанию начинается за несколько секунд до падения, мало шансов дотянуть до точки взлета:) Остальное время квадрик очень легко подхватывается по высоте, флипы-роллы делает практически на месте без потери высоты. Пока что сделал всего десяток полетов, но уже и так понятно, что 0603-моторы оптимальны для квадрика такого размера. И да, квадрик HB64 сильно перетяжелен, можно еще скинуть пару-тройку грамм. Хотя он даже в таком виде получился легче коллекторного собрата.

В планах было пересадить моторы на раму Beta65 Pro и заменить полетный контроллер на Racerstar Crazybee F3, но стоковая рама понравилась своей жесткостью. Тем более, у нее удобнее аккумулятор фиксируется. Не поленился и снял начинку с квадрика.


Разница в весе двух рам не очень большая. Beta65 Pro весит 3.55гр, а рама HB64 - 4.5гр. Если уложиться в сухой вес грамм в 20 или чуть меньше, то можно попробовать более емкие аккумуляторы, весом 12-14 грамм. Это должно значительно прибавить время полета.

По ресурсу 0603-моторов пока рано делать выводы. Всего-то было только десяток полетов. После каждых полетушек буду капать на латунные втулки масло для высокоскоростных подшипников. Надеюсь, это увеличит их ресурс:)

Чуть позже хочу взять на обзор еще парочку моделей этого же производителя: HB65 и HB75. А на этом пока все, удачных полетов!