02 февраля 2023

LimeWhoop - cбалансированный тинивуп под 35-е пропеллеры

Не распробовав как следует BetaFPV Meteor65 Pro, решил собрать свой вариант тинивупа на 65-й раме с 35-ми пропами. Как раз все комплектующие образовались в наличии. Итак, состав аппарата: рама BetaFPV Meteor 65 Pro, полетник BetaFPV F4 1S 5A AIO, передатчик Happymodel OXV300, камера Caddx Ant Lite, моторы Happymodel EX0802 на 19000kV, пропеллеры Gemfan 35мм.

Внимание! Картинки доступны только через ВПН - благодарите за это Google:)

Что я ожидал от этого аппарата? Хороший баланс между производительностью и временем полета. Забегая вперед, скажу, что ожидания полностью оправдались!

В основе - новый полетник F4 1S AIO от BetaFPV, о котором рассказывал ранее. В раму BetaFPV Meteor 65 Pro только подобный и встанет. Народ, конечно, пытается вкорячить в нее Happymodel DiamondF4 ELRS, но это такое себе, колхозненько. Сейчас появилась Lite-версия F4 1S AIO от BetaFPV, без разъемов под моторы, толщиной 0.8мм и весом менее трех грамм. На следующую сборку буду использовать его. Так же просочилась информация, что возможно появится еще более легкий вариант - без USB-разъема.

У передатчика Happymodel OXV300 удалил IPX-разъем и кнопку управления. Хоть немного, но уменьшил вес. Забыл записать на сколько, в следующий раз исправлюсь. Антенна - проводок длиной 13мм, залитый у основания клеем T-7000. Передатчик просто прилеплен к полетнику снизу на толстый "автомобильный" двухсторонний скотч. Четыре провода от него идут на верхнюю сторону полетника. Здесь же хорошо видно антенну приемника, которую традиционно заменил на проводок в тефлоне, а затем вывел сбоку.

На этом аппарате впервые применил титановые винтики M1.4 длиной 3мм с потайной головкой. Вес комплекта 0.22г. В раме немного рассверлил отверстия под них, чтобы шляпка полностью погрузилась в пластик.

Кстати, силовые BT2.0-разъемы из новых партий заметно испортились. Пины очень слабо держатся в пластике, могут и выскочить. Плюс ко всему, пины стали более глубоко сидеть в разъеме. Из-за этого разъем очень не плотно держится при подключении. По итогу, решил укоротить его так, чтобы он до упора насаживался на аккумулятор. Силовой разъем припаиваю под углом, предварительно сточив пины надфилем. Место пайки заливаю клеем T-7000. Силовой провод всегда вывожу снизу, чтобы часть его прижималась элементами рамы. При таком раскладе, шанс отломать силовой в месте пайки практически исключен.

Использовал пропики Gemfan-четверки на 35мм. Обрезал их до двушек, но все равно они тяжелые. Вес комплекта ровно один грамм. В идеале, под эти моторы надо бы обрезать AZI-трешки на 40мм.

Решил установить на этот аппарат нормальную качественную камеру Caddx Ant Lite. Отпаял у нее разъем, но все равно она тяжелая. Долго думал, как бы ее закрепить. У такого типа камер есть болезнь - отваливается объектив от платы камеры. Все варианты крепления этой камеры, доступные в интернете, либо чрезмерно тяжелые, либо предусматривают крепление именно за линзу. Меня ни один из вариантов не устраивал. Пришлось проектировать что-то свое. Долго ломал голову над фиксацией камеры так, чтобы она не распалась на части. По итогу, решил просто притянуть камеру к канопе петлей из TPU-пластика. Решение получилось настолько простым и элегантным, что буквально за несколько дней реализовалось в материале!

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

Канопа универсальная. Можно использовать как с классическим креплением на четыре точки, так и под полетник Happymodel DiamondF4 ELRS, достаточно заменить один параметр в скрипте. Лучше печатать слоем 0.1мм из обычного нейлона типа PA12. Такой материал без проблем удерживается на столе клей-карандашом "Каляка-маляка". Сразу предупреждаю, из даже очень жесткого TPU ничего не получится - материал этот не имеет упругости, как нейлон. Если уж так ломает купить нормальный нейлон, то подойдет даже круглая высушенная леска для триммера:) Полипропилен еще лучше. Принципиально не буду публиковать никаких STL-моделей, не просите. Только файл скрипта для генерации в OpenSCAD. Не думаю, что будет проблемой открыть файл и нажать две кнопки: F5 и F6, чтобы получить STL-модель, собранную под ваши личные параметры. Кстати, вес канопы из нейлона в зависимости от модели 0.84-0.86г. По прочности претензий нет. Уже вылетал порядка 50 аккумуляторов - на канопе ни царапинки!

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

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

Управление светодиодами вывел на крутилку пульта - удобно менять цвет, не залезая в настройки квадрика. Итоговый вес в 19.56г не вдохновил - тяжеловато получилось и этому есть объяснение: полетник, камера, пропы...

В будущем, хочу собрать еще один аппарат этого класса, но с более легкими компонентами. Попробую вписать вес в 18 грамм. Подготовка к этому уже начата.

По настройке. Сразу же проверил ELRS-приемник на полетнике. Без проблем все прошилось и завелось для версии ExpressLRS-3.2.0. Единственный момент, по дефолту приемник довольно быстро переходит в WiFi-режим. Если сборка прошивки затянулась, то до процесса заливки прошивки приемник может не дотянуть.

Стоит увеличить значение параметра AUTO_WIFI_ON_INTERVAL до трех минут или около того.

Новым для меня стал процесс прошивки новой версии BetaFlight-4.4.0. Сборка в облаке - это нечто! Конечно, надо понимать, какие параметры нужны, чтобы все блоки полетника работали как надо. У меня получилось вот так:

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

С такими фильтрами тинивуп отлично летит! Так же друг прогнал через PIDToolBox логи и сказал, что PID-ы настроены идеально, ничего не трогай.

В блоке регуляторов была прошивка Bluejay-0.17 на 96кГц. Решил попробовать с такой частотой, только обновил до версии 0.18.1.

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

# version
# Betaflight / STM32F411 (S411) 4.4.0 Feb  1 2023 / 10:47:33 (4605309d8) MSP API: 1.45

# config: YES

# start the command batch
batch start

# reset configuration to default settings
defaults nosave

# name: M65Pro

# resources
resource SERIAL_RX 2 NONE
resource CAMERA_CONTROL 1 A03

# feature
feature -SOFTSERIAL
feature -TELEMETRY
feature -AIRMODE
feature LED_STRIP

# serial
serial 1 2048 115200 57600 0 115200

# beeper
beeper -ALL

# beacon
beacon RX_LOST
beacon RX_SET

# led
led 0 0,0::CT:14
led 1 1,0::CT:14

# color
color 13 0,0,255
color 14 135,0,255
color 15 270,0,255

# mode_color
mode_color 7 0 11

# aux
aux 0 0 0 1900 2100 0 0
aux 1 1 1 1400 1600 0 0
aux 2 2 1 1900 2100 0 0
aux 3 13 3 1900 2100 0 0
aux 4 15 5 900 1600 1 0
aux 5 15 0 900 1900 1 0
aux 6 28 6 1900 2100 0 0
aux 7 35 4 1900 2100 0 0

# adjrange
adjrange 0 0 0 900 2100 29 0 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 5645 5885 5905 5925 5945
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 LOWRACE  L FACTORY 5333 5373 5413 5453 5493 5533 5573 5613
vtxtable powerlevels 5
vtxtable powervalues 1 2 14 20 26
vtxtable powerlabels 0 RCE 25 100 400

# master
set gyro_lpf1_static_hz = 0
set gyro_lpf2_static_hz = 0
set yaw_spin_recovery = ON
set yaw_spin_threshold = 800
set dyn_notch_count = 2
set dyn_notch_q = 400
set dyn_notch_min_hz = 150
set dyn_notch_max_hz = 630
set gyro_lpf1_dyn_min_hz = 150
set gyro_lpf1_dyn_max_hz = 630
set acc_lpf_hz = 10
set acc_calibration = -35,-23,37,1
set rc_smoothing_auto_factor = 25
set rc_smoothing_auto_factor_throttle = 25
set blackbox_sample_rate = 1/2
set blackbox_device = NONE
set dshot_idle_value = 600
set dshot_bidir = ON
set motor_pwm_protocol = DSHOT300
set motor_poles = 12
set vbat_max_cell_voltage = 460
set vbat_min_cell_voltage = 310
set current_meter = NONE
set vbat_scale = 111
set beeper_dshot_beacon_tone = 4
set yaw_motors_reversed = ON
set small_angle = 180
set deadband = 2
set yaw_deadband = 2
set pid_process_denom = 1
set runaway_takeoff_prevention = OFF
set simplified_gyro_filter = OFF
set report_cell_voltage = ON
set osd_warn_bitmask = 18415
set osd_cap_alarm = 300
set osd_tim1 = 1025
set osd_tim2 = 1792
set osd_vbat_pos = 10625
set osd_link_quality_pos = 10294
set osd_tim_1_pos = 8598
set osd_tim_2_pos = 2454
set osd_flymode_pos = 2449
set osd_throttle_pos = 8588
set osd_vtx_channel_pos = 2441
set osd_craft_name_pos = 33
set osd_pilot_name_pos = 10273
set osd_rate_profile_name_pos = 44
set osd_stat_bitmask = 8586978
set osd_canvas_height = 13
set debug_mode = GYRO_SCALED
set vtx_band = 5
set vtx_channel = 2
set vtx_power = 3
set vtx_low_power_disarm = UNTIL_FIRST_ARM
set vtx_freq = 5695
set vcd_video_system = NTSC
set camera_control_ref_voltage = 324
set camera_control_internal_resistance = 270
set camera_control_button_resistance = 450,270,150,75,15
set gyro_1_sensor_align = CW90
set gyro_1_align_yaw = 900
set craft_name = M65Pro
set pilot_name = MCHeli

profile 0

# profile 0
set dterm_lpf2_static_hz = 0
set crash_recovery = ON
set iterm_relax_cutoff = 20
set yaw_lowpass_hz = 0
set p_pitch = 88
set i_pitch = 47
set d_pitch = 90
set f_pitch = 332
set p_roll = 85
set i_roll = 45
set d_roll = 84
set f_roll = 319
set p_yaw = 85
set i_yaw = 45
set f_yaw = 319
set d_min_roll = 84
set d_min_pitch = 90
set d_max_advance = 0
set feedforward_averaging = 2_POINT
set feedforward_smooth_factor = 65
set feedforward_jitter_factor = 3
set feedforward_boost = 18
set feedforward_max_rate_limit = 95
set dyn_idle_min_rpm = 50
set level_race_mode = ON
set simplified_master_multiplier = 140
set simplified_i_gain = 30
set simplified_d_gain = 200
set simplified_pi_gain = 135
set simplified_dmax_gain = 0
set simplified_feedforward_gain = 190
set simplified_pitch_d_gain = 95
set tpa_breakpoint = 1250

profile 1

profile 2

profile 3

# restore original profile selection
profile 0

rateprofile 0

# rateprofile 0
set rateprofile_name = ACRO
set thr_expo = 50
set roll_rc_rate = 15
set pitch_rc_rate = 18
set yaw_rc_rate = 18
set roll_expo = 80
set pitch_expo = 80
set roll_srate = 30
set pitch_srate = 36
set yaw_srate = 65

rateprofile 1

rateprofile 2

rateprofile 3

# restore original rateprofile selection
rateprofile 0

# save configuration
save

Тинивуп получился очень экономным. В режиме беспечного полета по квартире легко вылетывается пять минут на прошлогодних аккумуляторах на 300мАч. Из-за пропеллеров с довольно низким шагом, висит на 50% газа. В режиме гонки прилетает с холодным аккумулятором. Подхват великолепный, управляемость могла бы быть лучше. Вообще, нормальных пропеллеров на 35мм нет. Либо делать самому, обкусывая пропы на 40мм, либо довольствоваться вальяжным управлением. Компромисс - обломать четверки до двушек, что я и сделал.

Если какой-либо производитель (только не HQ!) разродится легкими пропами на 35мм, то такой формат тинивупа будет наиболее востребован из-за отличной энергоэффективности. Продолжение следует...