26 апреля 2020

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

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


Краткие характеристики Happymodel Mobula6:
Краткие характеристики полетного контроллера Crazybee F4 Lite:
  • Процессор STM32F411
  • Гироскопы MPU6000 на SPI-шине
  • BetaFlight OSD AT7456E
  • Приемник CC2500/AT7105 на выбор
  • Питание 1S 4.35В
  • Разъем питания PH2.0 с цельными пинами
  • Максимальный ток 5А
  • Прошивка регуляторов O_H_5_REV16_7
  • Встроенный передатчик 5.8ГГц/25мВт 40 каналов
  • Датчик тока
  • Вес без силового провода 4.05г
Характеристики RunCam Nano 3:
  • Сенсор: CMOS 1/3"
  • Формат видеосигнала: 800 TVL NTSC
  • Линза: 2.1мм с резьбой M8
  • Угол обзора: 160 градусов
  • Вес: 1.2г
На первый взгляд видно, что разработчики знатно поработали и представили действительно привлекательный тинивуп. Мощная камера, надежные моторы, новый полетный контроллер. Особое внимание уделили весу модели. На мой взгляд, при таком размере, вес аппарата не должен превышать 20г. Вес у Happymodel Mobula6 не критично чуть больше.


Упаковано все было в простую картонную коробочку. Сбоку на этикетке указан тип приемника и вариант моторов.


Комплектация квадрика на высоте! Четыре аккумулятора, простенький зарядник, отвертка, запасной комплект пропеллеров, съемник, набор винтиков и инструкция.


Аккумуляторы на 300мА/ч уже знакомы, пробовал их раньше. Вполне достойные, отработают свой срок на полную. Обычно в комплект бросают 1-2 аккумулятора, а здесь - целых четыре!


Не поленился и попробовал стоковое зарядное устройство. Удивительно, но вполне нормально работает. Не перезаряжает аккумуляторы, а плавно доводит напряжение до 4.35В.


Имеет два режима работы: заряд LiHV-аккумуляторов и обычных. Для LiHV переключатель надо сдвинуть в сторону USB-разъема.

Итак, Happymodel Mobula6 собран на довольно древней раме. Вот тут разработчики поленились сделать что-то новое. Тот же слишком низкий аккумуляторный отсек, из-за которого квадрик стоит не на креплениях моторов.


Канопа фиксируется в трех точках. То, что она не закреплена спереди, может и к лучшему. При ударах нагрузка будет распределятся на все точки крепления.


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


Квадрик выпускается с двумя вариантами моторов: на 19000kV и 25000kV. Специально не брал версию с высоким kV, так как не видел в этом смысла. Моторы SE0802 на 25000kV намотаны проводом 0.25мм по 7 витков на зуб. Это очень-очень мало. Мощность у моторов будет высокая, но и потреблять они будут очень много. Нового аккумулятора будет хватать на 2-2.5 минуты полета. Ток подскочит до 7А. PH2.0-разъем и так с трудом выдерживает ток в 5А, да и аккумулятор долго не проживет в таком режиме, ибо номинально может отдавать только 4.5А.


Вообще, конструкция квадрика очень простая, с минимумом проводов. Снизу все стандартно - USB-разъем, коннекторы моторов и коннектор для камеры.


Силовой PH2.0-разъем с цельными пинами соединен с платой 22AWG-проводом. Чуть позже отпаял провода от платы. Вес провода 0.8г. Под термоусадкой обнаружил немного термоклея, который фиксировал пины от выдавливания из разъема.


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

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


Извлекаю камеру. Канопа сделана из достаточно вязкого пластика. Вес 0.7г. Камера зафиксирована к переходнику винтиками и клеем. Вес камеры с проводом составляет 1.32г.


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


С камерой RunCam Nano 3 уже сталкивался. Это одна из немногих тинивупных камер с матрицей 1/3 дюйма, что дает хорошую четкость на картинке. Если снять наклейку и отпаять провода, вес камеры будет 1.05г. В совокупности с неубиваемым объективом, это решающий фактор. Несмотря на немного блеклые цвета, камера хорошо работает при плохом освещении и не имеет ярко выраженной дисторсии, как у большинства тинивупных камер. В общем, пока не появится чего-либо более интересного, буду использовать эту камеру на всех последующих моделях.


Рама весит 3.3г. Если представится случай ее разбить, заменил бы на раму от Meteor65, она немного легче, весит 3.1г.


Моторы Happymodel SE0802 19000kV - самые лучшие в своем классе и оптимальны для этого квадрика. Вес каждого мотора 1.9г. Ротор мотора легкий, с тонкими магнитами. Заводская обмотка не очень аккуратная, но зафиксирована лаком. Намотано по 9 витков проводом 0.2мм. Я бы использовал провод потолще, например 0.22мм. Видно, что между обмотками еще много места. Такие моторы стоят почти на всех моих тинивупах.


С пропеллерами Gemfan 1.2x1.9x3 моторы имеют оптимальный баланс по соотношению тяга-энергопотребление. Перепробовал все имеющиеся в наличии пропеллеры и снова вернулся к стоковым.

Остается самая интересная деталь квадрика - полетный контроллер Crazybee F4 Lite. Это один из самых навороченных полетных контроллеров с богатой периферией. Его вес 4г. Выполнен на плате толщиной 1мм. Основа - процессор STM32F411. Гироскопы MPU6000 на SPI-шине. На плату интегрирован чип CC2500, выполняющий роль приемника, но без усилителя мощности. Приемник может работать по протоколам FrSky D8/D16 и Futaba S-FHSS.


На плату так же интегрирован видео-передатчик мощностью 25мВт на 40 каналов. Это позволило уменьшить вес периферии и избавиться от лишних проводов. Единственное, что непонятно - это длина видео-антенны в 32.2мм. Так же на плате есть датчик тока, выводы под управляемые цветные диоды и пищалку, два полноценных UART-порта, причем первый еще и с инвертированным RX для подключения внешних приемников. На регуляторах стоят BB2-чипы - полноценно будет работать RPM-телеметрия.

Собираю все обратно и приступаю к настройке. Изначально в полетном контроллере установлена прошивка BetaFlight-3.5.7 для CRAZYBEEF4FR. Дефолтные настройки можно найти на официальном сайте. Прошивка BetaFlight-3.5.7 - не лучший выбор для полетного контроллера с такими богатыми возможностями:) Буду ставить бета-версию BetaFlight-4.2. Но сначала разберусь с регуляторами. Так как планирую использовать RPM-телеметрию, то поставлю в регуляторы версию BLHeli_S с патчами JazzMaverick-16.8 на 48кГц для O_H_05. Прошивка устанавливается через BLHeliSuite и функцию "Flash Other".


Настройки обычны для 0802-моторов. Поднимаю "Startup Power" и тайминг на максимум. Затем проверяю направление вращения моторов на вкладке "Motors". В отличии от JESC, это бесплатная прошивка с полной поддержкой RPM-телеметрии.

Новая версия BetaFlight-4.2 вот-вот выйдет. Весь новый функционал уже добавлен, основные ошибки исправлены. Можно пользоваться, но с осторожностью. Новый конфигуратор брал здесь.


В портах уже включено управление передатчиком через "TBS SmartAudio" на UART2.


В настройках включаю реверс, устанавливаю DShot300, включаю Bidirectional DShot, задаю 12 магнитов на роторе. В BF-4.2 больше недоступен выбор частоты работы гироскопа. Теперь гироскоп всегда работает на номинальной частоте, чтобы не было потерь данных из-за менее частого цикла опроса. Частоту цикла обработки ПИД устанавливаю на 4кГц. Протокол управления - FrSky-D8. Отключаю AIRMODE. Остальное - по желанию.


В параметрах питания задаю удобные для себя параметры напряжения. Как показала практика, такие параметры оптимальны. При посадке, после снятия нагрузки, напряжение на аккумуляторе остается 3.6В.


Делитель для датчика тока надо выставить 1175. Такой делитель использовался на полетных контроллерах Crazybee с поддержкой напряжения 1-2S. Может и эта плата поддерживает 2S, но проверять не буду:)

В ПИД еще можно поднять "P" для стабильности по оси Roll и Pitch. С этими значениями еще нет осцилляций и квадрик прилетает с холодными моторами. Параметры "FeedForward" - на любителя, но мне с такими комфортно. Квадрик после маневра имеет как бы небольшой отскок.


Фильтры довольно типичны. Включена RPM-фильтрация на три гармоники.


Работу RPM-телеметрии можно проверить в блоке моторов. Подключаю аккумулятор и даю немного газа Master-ползунком. Данные приходят без ошибок - все в порядке.


В блоке расходов решил попробовать новый тип задания значений "QuickRates". Этот тип аналогичем заданию расходов в прошивке NFE Silverware. Сделал экспоненту на кривую газа, взяв за центр 40%. Именно при таком значении квадрик висит на месте. А экспонента позволила более точно управлять квадриком по высоте.


Сделал еще два профиля расходов, скопировав значения из настроек прошивки NFE Silverware. Эти расходы будут использоваться для RaceMode-режима, о чем ниже.


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


Так как сам не летаю в режиме стабилизации, то профили а-ля NFE Silverware настроил для друга, чтобы он мог оценить по ощущениям, насколько будет привычно управлять Happymodel Mobula6 по сравнению с дефолтными настройками NFE Silverware на коллекторном тинивупе. Друг говорит, что оно самое, только по газу непривычно. Ну, оно и понятно:)

В настройках приемника задаю параметры фильтрации вручную. Подсмотрел рекомендованные значения в BetaFlight-Wiki.


В интернете нашел вариант VTX-таблицы для этого квадрика. Более того, обнаружилось, что передатчик еще и с переключаемой мощностью 25/50/100мВт!


Часть параметров задается через консоль. Вечная проблема всех полетных контроллеров Crazybee - неправильное отображение RSSI. Исправляется командой:

set rssi_scale = 120

Если вдруг захочется использовать режим AIRMODE, то процент газа, с которого он будет включаться, лучше поднять до 50%, иначе квадрик при арминге и небольшом увеличении газа будет прыгать по поверхности:)

set airmode_start_throttle_percent = 50

Функцию "Runaway takeoff prevention" лучше отключить, иначе при попытке вылезти из труднодоступного места будут случаться дизармы.

set runaway_takeoff_prevention = OFF

Обязательно надо включить функцию "Crash recovery". На BF-4.X с RPM-фильтрацией она работает особенно хорошо. А для тех, кто как и я, летает в акро-режиме, эта функция будет просто незаменима. Она позволяет стабилизировать квадрик на короткое время при столкновении с препятствиями.

set crash_recovery = ON

Очень странно, что RaceMode-режим не вынесли во вкладку модов. Там бы ему самое место. Этот режим пришел из прошивки NFE Silverware, позволяет стабилизировать квадрик по оси Roll, а по оси Pitch оставляет акро-режим.

set level_race_mode = ON

По итогу получился нижеследующий дамп настроек:

# version
# Betaflight / STM32F411 (S411) 4.2.0 Apr 21 2020 / 13:54:58 (1d8a0e9fd) MSP API: 1.43
# config: manufacturer_id: HAMO, board_name: CRAZYBEEF4FR, version: 56f796fb, date: 2019-10-26T09:47:21Z

# start the command batch
batch start

# reset configuration to default settings
defaults nosave

# name: MCHeli

# feature
feature -RX_PARALLEL_PWM
feature -AIRMODE

# beeper
beeper -ALL

# beacon
beacon RX_LOST
beacon RX_SET

# serial
serial 1 2048 115200 57600 0 115200

# aux
aux 0 0 0 1900 2100 0 0
aux 1 1 2 1400 1600 0 0
aux 2 2 2 1900 2100 0 0
aux 3 13 1 1400 1600 0 0
aux 4 35 1 1900 2100 0 0

# adjrange
adjrange 0 0 2 900 2100 12 2 0 0

# vtxtable
vtxtable bands 6
vtxtable channels 8
vtxtable band 1 BOSCAM_A A FACTORY 5865 5845 5825 5805 5785 5765 5745 5725
vtxtable band 2 BOSCAM_B B FACTORY 5733 5752 5771 5790 5809 5828 5847 5866
vtxtable band 3 BOSCAM_E E FACTORY 5705 5685 5665    0 5885 5905    0    0
vtxtable band 4 FATSHARK F FACTORY 5740 5760 5780 5800 5820 5840 5860 5880
vtxtable band 5 RACEBAND R FACTORY 5658 5695 5732 5769 5806 5843 5880 5917
vtxtable band 6 IMD6     I CUSTOM  5732 5765 5828 5840 5866 5740    0    0
vtxtable powerlevels 3
vtxtable powervalues 0 1 2
vtxtable powerlabels 25 50 100

# master
set dyn_notch_width_percent = 0
set dyn_notch_q = 250
set acc_calibration = 25,56,99,1
set mag_hardware = NONE
set baro_hardware = NONE
set min_check = 1100
set rssi_scale = 120
set rc_interp_ch = RPY
set rc_smoothing_input_hz = 40
set rc_smoothing_derivative_hz = 100
set rc_smoothing_input_type = PT1
set rc_smoothing_derivative_type = PT1
set airmode_start_throttle_percent = 50
set rx_spi_protocol = FRSKY_D
set blackbox_device = NONE
set dshot_idle_value = 700
set dshot_bidir = ON
set motor_pwm_protocol = DSHOT300
set motor_poles = 12
set bat_capacity = 300
set vbat_max_cell_voltage = 460
set vbat_min_cell_voltage = 310
set vbat_warning_cell_voltage = 330
set ibata_scale = 1175
set beeper_dshot_beacon_tone = 4
set yaw_motors_reversed = ON
set small_angle = 180
set deadband = 5
set yaw_deadband = 5
set runaway_takeoff_prevention = OFF
set osd_warn_rssi = ON
set osd_warn_link_quality = ON
set osd_cap_alarm = 300
set osd_tim1 = 1792
set osd_tim2 = 1025
set osd_vbat_pos = 2433
set osd_rssi_pos = 2105
set osd_tim_2_pos = 2454
set osd_anti_gravity_pos = 465
set osd_throttle_pos = 2444
set osd_current_pos = 417
set osd_mah_drawn_pos = 439
set osd_craft_name_pos = 2081
set osd_debug_pos = 227
set osd_stat_max_spd = OFF
set osd_stat_battery = ON
set osd_stat_bbox = OFF
set osd_stat_bb_no = OFF
set vtx_band = 5
set vtx_channel = 4
set vtx_power = 1
set vtx_freq = 5769
set vcd_video_system = NTSC
set frsky_spi_tx_id = 63,30
set frsky_spi_offset = -1
set frsky_spi_bind_hop_data = 5,83,163,8,88,168,13,93,173,18,98,178,23,103,183,28,108,188,33,113,193,38,118,198,43,123,203,48,128,208,53,135,213,58,138,218,63,143,223,68,148,228,73,153,233,78,158,0,0,0
set gyro_1_align_yaw = 900
set name = MCHeli

profile 0

# profile 0
set feedforward_transition = 1
set crash_recovery = ON
set iterm_limit = 500
set pidsum_limit = 1000
set pidsum_limit_yaw = 1000
set p_pitch = 85
set i_pitch = 25
set d_pitch = 90
set f_pitch = 250
set p_roll = 85
set i_roll = 25
set d_roll = 90
set f_roll = 250
set p_yaw = 120
set f_yaw = 0
set level_limit = 65
set d_min_roll = 80
set d_min_pitch = 80
set d_min_boost_gain = 30
set d_min_advance = 0
set ff_interpolate_sp = ON
set ff_spike_limit = 255
set ff_boost = 50
set level_race_mode = ON

# restore original profile selection
profile 0

rateprofile 0

# rateprofile 0
set thr_mid = 40
set thr_expo = 50
set rates_type = QUICK
set yaw_rc_rate = 250
set roll_expo = 30
set pitch_expo = 30
set roll_srate = 86
set pitch_srate = 86
set yaw_srate = 50

rateprofile 1

# rateprofile 1
set rates_type = QUICK
set roll_expo = 55
set pitch_expo = 60
set yaw_expo = 55
set roll_srate = 86
set pitch_srate = 86
set yaw_srate = 50

rateprofile 2

# rateprofile 2
set rates_type = QUICK
set roll_expo = 55
set pitch_expo = 60
set yaw_expo = 55
set roll_srate = 86
set pitch_srate = 86
set yaw_srate = 50

# restore original rateprofile selection
rateprofile 0

# save configuration
save


Не стал вырезать из дампа персональные настройки, может кому зайдут мои расходы. Хочу отметить, что по оси Yaw сделал ровную прямую без всяких экспонент. Это позволило максимально резко разворачиваться при прохождении сложной извилистой трассы.

Полет Happymodel Mobula6 ожидаем и предсказуем, очень понравился:) По сравнению с коллекторником, при снижении не нужно заранее поднимать газ, можно просто поймать квадрик на нужной высоте. Так же и при подъеме, нет необходимости замедляться на трассе, чтобы набрать высоту. Мощности с избытком, можно просто топнуть газом и все. С моторами на 19000kV тинивуп очень аккуратно расходует энергию аккумулятора. Пиковый ток редко превышает 4А.


На новых аккумуляторах на 300мА/ч квадрик летает 4-4.5 минуты. На аккумуляторах полуторагодовалой свежести, которым уже циклов по 200, летает 3 минуты. Всегда прилетает с холодными моторами и едва теплым аккумулятором. Не надо ждать, пока остынет, можно летать нон-стоп.


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


Итак, по итогу, ставлю тинивупу Happymodel Mobula6 твердую пятерку! На сегодняшний день, это самая нормальная модель из выпускаемых промышленно. Это тот случай, когда можно просто накатить прошивки, настройки, забиндить и летать. С крашеустойчивостью все в норме. Уже выполнил примерно 50 полетов, много падал - квадрик пока в порядке.

Чтобы я доработал? Во первых, сделал бы нормальную видео-антенну. Во вторых, убрал бы коннекторы моторов и припаял их напрямую. В третьих, убрал бы металлические винтики крепления моторов. Либо заменил бы на пластиковые винтики RENY, либо, как более дешевый вариант, оставил бы один металлический винтик, а два других заменил бы на петлю из лески, как уже делал. В четвертых, заменил бы канопу на легкую напечатанную. Была еще мысль заменить силовой разъем на BT2.0, но при максимальном токе в 4А, пока не вижу смысла. Кстати, силовые провода можно сделать покороче и потоньше из 24AWG-провода, а силовой разъем заменить на угловой. И да, раму тоже можно заменить на раму от Meteor65. Все это в совокупности позволит довести вес до 18.5г. У меня есть еще несколько идей по снижению веса, но это уже за пределами простых модификаций:)