24 ноября 2021

BetaFPV - распродажа Черной Пятницы

В этом году на Черную Пятницу компания BetaFPV предоставила ряд интересных предложений на период с 26-го по 30-е ноября.

На все продукты будет действовать купон BF2021, дающий скидку в 15% на все товары сайта.

Купон не действует на товары из раздела "распродажа" и "специальные предложения".

В этот же период будет работать колесо фортуны, где можно выиграть купон на скидку до 25%! Для этого надо зарегистрироваться на сайте, зайти на главную страницу и подождать появления колеса фортуны сбоку:)

В разделе "распродажа" обещают скидки до 90%! Товаров там немного, но может кому что и приглянется.

Наиболее лояльным клиентам компания подарит купон на 20% скидку и бесплатный подарок!

Если вы делаете заказ в период с 26-го по 30-е ноября, то есть шанс выиграть ценные призы! Всего компания подготовила 100 призов с различными ExpressLRS-компонентами.

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

  • При заказе от $400 и выше - приз на $150
  • При заказе от 200 до $400 - приз на $100
  • При заказе менее чем на $200 - приз на $70
  • При заказе продуктов Cetus-серии - приз на $50

При любом заказе с 5-го по 30-е ноября начисляются удвоенные betafpv-пойнты. Эти пойнты можно использовать для частичной оплаты следующих заказов.

Более подробно про использование betafpv-пойнтов можно почитать здесь.

Для всех желающих есть шанс выиграть что-нибудь интересное, если принять участие в конкурсе от BetaFPV!

Условия конкурса стандартные: подписка на BetaFPV в facebook, лайкнуть и сделать репост этого поста, в комментариях к посту отметить троих друзей.

Из наиболее интересного хочу отметить новый тинивуп на ExpressLRS - BetaFPV Meteor65 Pro на 65-й раме под 35мм-пропеллеры от Gemfan. По совокупности параметров должна быть золотая середина между тинивупами на 31-х и 40-х пропах.

Новый ExpressLRS-модуль под JR-слот на 2.4ГГц, с OLED-экраном, джойстиком, активным охлаждением и подсветкой обещает в дальнейшем быть очень интересным. Пока есть некоторые ограничения по работе джойстика и экранного меню, но компания обещает исправить все косяки к выходу ExpressLRS-2.1.

Приятным дополнением будет и новый ExpressLRS-приемник BetaFPV Lite на 2.4ГГц с керамической антенной - прямой конкурент Happymodel EP2. Габариты приемника 10x10мм, вес 0.47г. В отличие от BetaFPV Nano, приемник не имеет усилителя мощности, поэтому на дальнюю работу телеметрии не стоит рассчитывать, да и не для того он предназначен. Это модель для тинивупов, зубочисток, гоночных квадрокоптеров и других легких аппаратов.

Надеюсь, что этот пост поможет кому-нибудь совершать выгодные покупки на сайте BetaFPV в период распродажи!

21 ноября 2021

Flywoo Firefly - новая 1S зубочистка

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

Краткие характеристики Flywoo Firefly:

Краткие характеристики полетного контроллера GOKU Versatile F4 5-IN-1 1S AIO:

  • Процессор STM32F411
  • Гироскопы MPU6000 на SPI-шине
  • BetaFlight OSD AT7456E
  • Приемник CC2500
  • Питание 1S 4.35В
  • Разъем питания PH2.0 с прессованными пинами
  • Максимальный ток 5А
  • Прошивка регуляторов O_H_05
  • Датчик тока
  • Встроенный видеопередатчик на 25/50/100/200/250мВт
  • Вес без силового провода и антенн 4.2г

Квадрик приехал в пластиковом контейнере, который пригодится для хранения мелочевки.

Внутри все упаковано на отлично. Даже саму зубочистку запаяли в пленку!

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

Сам квадрик Flywoo Firefly - типичная зубочистка, сделанная в форме бабочки. Не знаю, уместно ли с такой формой говорить про диагональ рамы, но расстояние между моторами составляет 74мм.

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

Оригинально реализована защита USB-разъема полетного контроллера - в вырезе крепления камеры. Камера держится за объектив, что не есть хорошо.

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

Аккумулятор фиксируется петлей из TPU-пластика. Предполагается использовать аккумуляторы на 450-550мА/ч, но таких у меня уже давно нет. Попробую полетать с аккумуляторами на 300мА/ч.

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

Напечатанные детали выполнены из классического жесткого TPU-пластика. Вес крепления для камеры 1.13г, вес петли для фиксации аккумулятора 0.12г.

Новые двухлопастные Gemfan-пропики на 40мм выглядят многообещающе. По форме лопасти и шагу очень похожи на мои любимые Azi-пропики. Вес комплекта 0.96г.

Моторы у Flywoo Firefly собственного производства. Типоразмер 0802.4 на 16500kV, выходной вал 1мм. Магниты туговаты, а значит не стоит ожидать от моторов быстрого отклика на управление. Как и у большинства моторов такого размера, в качестве подшипников стоят латунные втулки. При разборе обнаружилось, что между ротором и статором стоит всего одна тефлоновая шайбочка. Между стопорным кольцом и латунной втулкой ничего нет, то есть стопорное кольцо будет обтираться прямо о втулку.

Сверху нет стопорного кольца, но диаметр вала в этом месте составляет 1.8мм - это шляпка, что не даст валу провалиться вниз при замене пропеллеров. Моторы по конструкции без цельного ротора, поэтому стоит ожидать, что кольцо с магнитами может сползать вниз при авариях. Выходы обмоток заведены на отдельную маленькую плату под статором. Выводы моторов легко заменить, если будет обрыв. Вес одного мотора 1.9г с выводами, вес всех моторов 7.6г.

Камера Flywoo Nano Camera показалась до боли знакомой. Ага, это камера Caddx Ant Lite, только с пластиковым объективом. Я был очень разочарован, когда увидел камеру, так как с таким объективом выпускались камеры подразделениями BangGood и были они только с соотношением сторон изображения 16:9. Как и эта камера:(

Камера с выводами весит 1.48г. Если подпаять управляющий провод на какой-либо свободный UART-вывод полетного контроллера, то можно будет получить управление камерой, как это делал ранее.

Самая интересная часть - полетный контроллер. По большому счету, это то, ради чего брал на обзор Flywoo Firefly. Было интересно, можно ли использовать этот вариант для обычных тинивупов.

Оказалось, что очень даже можно, но... Его вес без антенн составляет 4.2г. Для примера, полетный контроллер от Mobula6 весит 4г, но он с разъемами для моторов. Полетник от Flywoo без разъемов, так что его лучше сравнивать с Happymodel DiamondF4, который весит 3.55г. И вот тут, увы, разница в весе получается значительная при практически том же функционале.

Полетник построен по уже сложившемуся рецепту для моделей такого класса: STM32F411-процессор, MPU6000-гироскопы, AT7456E-OSD, CC2500 в качестве приемника, EFM8BB21-чипы для управления SIA517DJ-T1-GE3-ключами. На плате установлены два RGB-светодиода, есть вывод для подключения внешних RGB-светодиодов. Можно подключить пищалку, внешний приемник по SBUS. Доступны выводы двух UART-портов, но один используется для управления встроенным видеопередатчиком. Доступна I2C-шина (SDA, SCL). Есть два дополнительных вывода B4 и B0, на них можно организовать Softserial или использовать для других функций. Приемник на SPI-шине может работать на всем доступном семействе протоколов, использующих CC2500-чип. Это FrSky_D8/FrSky_X/FrSky_X-LBT, Futaba S-FHSS, Redpine. Понравилось, что площадки для подключения моторов выведены с обоих сторон платы, это очень удобно. При подключении через USB к компьютеру, полетник практически не нагревается, так как встроенный видеопередатчик и светодиоды не получают питание.

Силовой PH2.0-разъем с не-цельными пинами. Срок жизни его сильно ограничен. Его вес с проводами 0.34г. Лучше сразу заменить его на BT2.0 или GNB27, так как квадрик будет потреблять более 5А и стоковый разъем будет узким горлышком. В новых версиях используется GNB27.

Собираю все обратно и приступаю к настройке. Для настройки буду использовать рекомендации Project Mockingbird для Flywoo Firefly.

Сразу начну с блока регуляторов. Изначально внутри стояла прошивка BLHeli_M-16.80. Меняю ее на Bluejay-0.14 на 48кГц и выставляю привычные настройки. Тайминг не стал задирать на максимум. Стартовую мощность пришлось немного приподнять, ибо токи на моторах небольшие, а магниты туговаты - моторы не сразу стартовали.

В полетном контроллере в стоке была древняя прошивка BetaFlight-4.2.0. Основные функции были настроены, квадрик с этими настройками мог бы полететь, но, например, PID-ы стояли дефолтные. Сохранив дамп заводских настроек, хотел залить свежую версию BetaFlight и обломился. Таргета FLYWOOF411FR в прошивальщике конфигуратора нет:( Покопавшись на официальном сайте Flywoo, нашел только дефолтные настройки для полетного контроллера, аналогичные сохраненным. То есть, для обновления прошивки надо заливать таргет "STM32F411" и потом накатывать в настройках список ресурсов, DMA-каналов и таймеров из заводского конфига. Как-то через одно место получается... Ладно, попробую. Залил таргет STM32F411-4.2.11. Надо учитывать еще такой момент, что в настройках с официального сайта данные ресурсов по моторам выставлены так, как должен стоять полетный контроллер по умолчанию - USB-разъемом вниз. А в дампе настроек с квадрика уже выполнен ремаппинг моторов.

Данные PID-ов и фильтров для Flywoo Firefly позаимствовал из Project Mockingbird - подошли на отлично! Остальные параметры уже привычные для тинивупов. Получился такой дамп данных:

# diff all
###WARNING: NO CUSTOM DEFAULTS FOUND###

# version
# Betaflight / STM32F411 (S411) 4.2.11 Nov  9 2021 / 20:28:23 (948ba6339) MSP API: 1.43
###ERROR: diff: NO CONFIG FOUND###
# start the command batch
batch start

# reset configuration to default settings
defaults nosave

board_name FLYWOOF411FR
manufacturer_id FLWO
mcu_id 003400413236510235383430
signature

# name: MCHeli

# resources
resource BEEPER 1 C14
resource MOTOR 1 B10
resource MOTOR 2 B07
resource MOTOR 3 A08
resource MOTOR 4 B06
resource PPM 1 A02
resource LED_STRIP 1 A00
resource SERIAL_TX 1 A09
resource SERIAL_TX 2 A02
resource SERIAL_RX 1 A10
resource SERIAL_RX 2 A03
resource LED 1 C13
resource SPI_SCK 1 A05
resource SPI_SCK 2 B13
resource SPI_SCK 3 B03
resource SPI_MISO 1 A06
resource SPI_MISO 2 B14
resource SPI_MISO 3 B04
resource SPI_MOSI 1 A07
resource SPI_MOSI 2 B15
resource SPI_MOSI 3 B05
resource ADC_BATT 1 B01
resource ADC_CURR 1 A01
resource OSD_CS 1 B12
resource RX_SPI_CS 1 A15
resource RX_SPI_EXTI 1 B00
resource RX_SPI_BIND 1 B08
resource RX_SPI_LED 1 B09
resource GYRO_EXTI 1 B02
resource GYRO_CS 1 A04
resource USB_DETECT 1 C15

# timer
timer A02 AF3
# pin A02: TIM9 CH1 (AF3)
timer A08 AF1
# pin A08: TIM1 CH1 (AF1)
timer B03 AF1
# pin B03: TIM2 CH2 (AF1)
timer B10 AF1
# pin B10: TIM2 CH3 (AF1)
timer A15 AF1
# pin A15: TIM2 CH1 (AF1)
timer B06 AF2
# pin B06: TIM4 CH1 (AF2)
timer B07 AF2
# pin B07: TIM4 CH2 (AF2)
timer B00 AF2
# pin B00: TIM3 CH3 (AF2)
timer B04 AF2
# pin B04: TIM3 CH1 (AF2)
timer A00 AF2
# pin A00: TIM5 CH1 (AF2)

# dma
dma ADC 1 0
# ADC 1: DMA2 Stream 0 Channel 0
dma pin A08 1
# pin A08: DMA2 Stream 1 Channel 6
dma pin B03 0
# pin B03: DMA1 Stream 6 Channel 3
dma pin B10 0
# pin B10: DMA1 Stream 1 Channel 3
dma pin A15 0
# pin A15: DMA1 Stream 5 Channel 3
dma pin B06 0
# pin B06: DMA1 Stream 0 Channel 2
dma pin B07 0
# pin B07: DMA1 Stream 3 Channel 2
dma pin B00 0
# pin B00: DMA1 Stream 7 Channel 5
dma pin B04 0
# pin B04: DMA1 Stream 4 Channel 5
dma pin A00 0
# pin A00: DMA1 Stream 2 Channel 6

# feature
feature -RX_PARALLEL_PWM
feature LED_STRIP
feature OSD
feature RX_SPI

# beeper
beeper -ALL

# beacon
beacon RX_LOST
beacon RX_SET

# serial
serial 1 8192 115200 57600 0 115200

# led
led 0 0,0::CB:8
led 1 1,0::CB:8

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

# adjrange
adjrange 0 0 7 900 2100 12 7 0 0

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

# master
set gyro_lowpass2_hz = 350
set yaw_spin_recovery = ON
set yaw_spin_threshold = 800
set dyn_notch_width_percent = 0
set dyn_notch_q = 150
set dyn_notch_max_hz = 400
set dyn_lpf_gyro_min_hz = 280
set dyn_lpf_gyro_max_hz = 700
set acc_calibration = 22,23,-74,1
set mag_hardware = NONE
set baro_hardware = NONE
set airmode_start_throttle_percent = 60
set rx_spi_protocol = REDPINE
set rx_spi_bus = 3
set blackbox_device = NONE
set dshot_idle_value = 900
set dshot_bidir = ON
set motor_pwm_protocol = DSHOT300
set motor_poles = 12
set align_board_roll = 180
set vbat_max_cell_voltage = 460
set vbat_min_cell_voltage = 310
set vbat_warning_cell_voltage = 330
set current_meter = ADC
set battery_meter = ADC
set ibata_scale = 260
set beeper_inversion = ON
set beeper_od = OFF
set beeper_dshot_beacon_tone = 4
set yaw_motors_reversed = ON
set small_angle = 180
set deadband = 2
set yaw_deadband = 2
set thrust_linear = 25
set osd_warn_rssi = ON
set osd_warn_link_quality = ON
set osd_tim1 = 1025
set osd_tim2 = 1792
set osd_vbat_pos = 2433
set osd_rssi_pos = 2105
set osd_tim_1_pos = 2455
set osd_throttle_pos = 2448
set osd_vtx_channel_pos = 2440
set osd_craft_name_pos = 2081
set osd_stat_tim_1 = ON
set osd_stat_tim_2 = OFF
set osd_stat_max_spd = OFF
set osd_stat_battery = ON
set osd_stat_bbox = OFF
set osd_stat_bb_no = OFF
set osd_stat_max_esc_rpm = ON
set cpu_overclock = 120MHZ
set vtx_band = 5
set vtx_channel = 3
set vtx_power = 4
set vtx_freq = 5732
set vcd_video_system = NTSC
set max7456_spi_bus = 2
set gyro_1_spibus = 1
set gyro_1_sensor_align = CW0FLIP
set gyro_1_align_pitch = 1800
set name = MCHeli

profile 0

# profile 0
set dyn_lpf_dterm_min_hz = 98
set dyn_lpf_dterm_max_hz = 238
set dterm_lowpass2_hz = 0
set vbat_sag_compensation = 100
set anti_gravity_gain = 2500
set crash_recovery_angle = 5
set crash_recovery = ON
set iterm_relax_cutoff = 22
set iterm_limit = 500
set pidsum_limit = 1000
set pidsum_limit_yaw = 1000
set p_pitch = 120
set i_pitch = 117
set d_pitch = 109
set f_pitch = 161
set p_roll = 109
set i_roll = 111
set d_roll = 100
set f_roll = 152
set p_yaw = 117
set i_yaw = 117
set f_yaw = 152
set angle_level_strength = 90
set d_min_roll = 0
set d_min_pitch = 0
set d_min_boost_gain = 30
set d_min_advance = 0
set level_race_mode = ON

profile 1

profile 2

# profile 2
set vbat_sag_compensation = 100
set anti_gravity_gain = 2500
set crash_recovery_angle = 5
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 d_min_roll = 80
set d_min_pitch = 80
set d_min_boost_gain = 30
set d_min_advance = 0

# restore original profile selection
profile 0

rateprofile 0

# rateprofile 0
set thr_expo = 50
set rates_type = ACTUAL
set roll_rc_rate = 18
set pitch_rc_rate = 18
set yaw_rc_rate = 16
set roll_expo = 50
set pitch_expo = 50
set yaw_expo = 40
set roll_srate = 54
set pitch_srate = 54
set yaw_srate = 60
set tpa_breakpoint = 1750

rateprofile 1

rateprofile 2

# rateprofile 2
set thr_expo = 50
set rates_type = ACTUAL
set roll_rc_rate = 18
set pitch_rc_rate = 18
set yaw_rc_rate = 16
set roll_expo = 80
set pitch_expo = 80
set yaw_expo = 40
set roll_srate = 86
set pitch_srate = 86
set yaw_srate = 60
set tpa_breakpoint = 1750

# restore original rateprofile selection
rateprofile 0

# save configuration
save
#

Для управления использовал Redpine-протокол. Каких-либо проблем по дальности не обнаружил. Впрочем, есть свободный UART и туда никто не мешает повесить маленький ExpressLRS-приемник.

По итогу, Flywoo Firefly вполне достойный дворолет! Уверенно держит ветер до 5-7м/c, хорошо управляется, предсказуемо летит, неожиданно легкий на подхват. Если к каждой из деталей у меня были какие-либо претензии, то в совокупности все оно работает как надо. Новые пропики Gemfan на 40мм зашли на отлично и оправдали ожидания! С ними ток не поднимался выше 7А и это прекрасно. Моторки вполне тяговитые, но, как и ожидал, не очень быстрые. Если на улице можно летать и не беспокоиться об этом, то полет в помещении - тот еще экстрим. Единственный крайне негативный момент - это камера. Летать в очках 4:3 с камерой 16:9 - малоприятное удовольствие. Да еще и вертикальный угол обзора у камеры крайне маловат. На улице не чувствуется, а в помещении совсем не видно, куда лететь. Было ощущение, что картинка подрезана сверху и снизу, чтобы получить формат 16:9. Использовал тинивупные аккумуляторы на 300мА/ч, их хватает примерно на две с половиной минуты активного полета. Для этой модели однозначно потребуются аккумуляторы на 450мА/ч.

Пожалуй, это все, что я хотел бы рассказать о Flywoo Firefly. Удачных полетов!

08 октября 2021

ExpressLRS - компоненты от BetaFPV

Многие производители комплектующих обратили свой взгляд на открытую и привлекательную ExpressLRS-платформу, о которой рассказывал в предыдущей статье. Исключением не стала компания BetaFPV, выпустившая свои компоненты на 2.4ГГц и 868/915МГц. Взял модуль и приемники на 2.4ГГц, чтобы сравнить с аналогичными от Happymodel.

Первое впечатление - качество. Комплект выглядит добротным законченным решением.

Сначала рассмотрим ExpressLRS-модуль. Он поставляется в картонной коробочке. Внутри все детали были дополнительно расфасованы по пакетикам.

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

Moxon-антенна поставляется в разобранном виде. С одной стороны у кабеля SMA-разъем, с другой - MMCX-коннектор. Все это легко собирается воедино.

Сам модуль шикарен! На мой взгляд, один из лучших относительно других производителей. Компактный, красивый, функциональный.

Сверху расположена кнопка управления мощностью и бинда. Рядом - индикатор мощности. Все это лаконично интегрировано в стильный алюминиевый радиатор. С нижнего торца модуля виден USB-C-разъем для обновления прошивки. Это очень удобно - подключил и прошил.

С обратной стороны имеется слим-коннектор для подключения к современным пультам. Модуль можно подключить и в JR-слот через адаптер, который выпускает BetaFPV. Для подключения антенны используется SMA-разъем.

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

А дальше все идет, как описывал ранее. Модуль устанавливается во внешний слот пульта, в пульте создается модель с CRSF-протоколом.

В передатчике должна быть OpenTX-прошивка не ниже 2.3.12 для поддержки частоты работы модуля в 500Гц. После этой процедуры индикатор на модуле будет светиться одним из трех цветов.

Голубой показывает, что модуль работает на мощности в 100мВт, фиолетовый - 250мВт, красный - 500мВт. Мощность модуля можно переключать долгим нажатием на кнопку. А короткое нажатие переводит модуль в режим сопряжения с приемником, но это никак не отображается. Режим сопряжения отключается автоматически через 5 секунд, если приемник не найден.

С обновлением прошивки модуля вообще не возникло никаких проблем. Просто подключил к компьютеру, в ExpressLRS-конфигураторе задал параметры и нажал "BUILD & FLASH".

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

Оставалось только бросить в пульт, в каталог "/SCRIPTS/TOOLS" LUA-скрипт по ссылке из конфигуратора и все.

Запустив LUA-скрипт, получаем привычный список параметров.

ExpressLRS-приемник от BetaFPV выгодно отличается от аналогичных приемников других производителей. В версии на 2.4ГГц он имеет усилитель мощности! Если учитывать, что в следующей версии ExpressLRS появится динамическое переключение мощности модуля, то для успешной работы этой функции потребуется качественный сигнал телеметрии с приемника, что и обеспечит усилитель мощности. С таким приемником вполне можно улететь километров на 10 или дальше.

Габариты приемника 19.6x12мм, вес без антенны 0.75г. Антенна весит 0.9г.

Приемник подключается к полетному контроллеру, как и любой другой ExpressLRS-приемник: TX-RX, RX-TX и питание.

Как писал ранее, настройка ExpressLRS в прошивке BetaFlight очень простая. В BetaFlight-конфигураторе, в портах указывается, какой порт использует приемник, включением "Serial Rx".

На вкладке конфигурации, в блоке выбора приемника, надо указать "Serial-based receiver..." и протокол "CRSF".

Приемник имеет возможность обновления прошивки всеми тремя способами: через FTDI-адаптер, через полетный контроллер и через WiFi. В режим точки доступа приемник входит примерно через минуту после подачи питания. В приемнике уже установлена довольно свежая прошивка и для обновления через полетный контроллер уже не требуется зажимать кнопку бинда при подаче питания на приемник. Просто припаял его к полетному контроллеру, запустил ExpressLRS-конфигуратор, задал опции и нажал "BUILD & FLASH".

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

Кроме классических вариантов, приемник без проблем можно обновить и через WiFi, но для этого потребуется больше телодвижений:) А вот модуль через WiFi отказывается обновляться. Что-то производитель не учел...

Подводя итоги, отмечу, что ExpressLRS-модуль и приемник от BetaFPV отличаются по качеству и функционалу от конкурентов в лучшую сторону! Не удержался и к модулю от Happymodel так же прикупил Moxon-антенну на 2.4ГГц, не столько для увеличения дальности связи, сколько просто понравилась:)

22 сентября 2021

ExpressLRS - компоненты от Happymodel

ExpressLRS - новое слово, которое ворвалось в мир радиоуправляемых моделей быстро и неожиданно весной этого года с анонсом модулей, приемников и AIO-полетников от Happymodel. Что это и зачем оно нужно - попробуем разобраться!

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

Сначала разберем собственно протокол ExpressLRS. Чем же он так хорош? Как утверждают разработчики, на сегодняшний день, это самый быстрый протокол управления с самой минимальной задержкой. Протокол может работать в диапазонах 868/915МГц и 2.4ГГц. Это альтернатива таким системам, как TBS Crossfire, TBS Tracer, ImmersionRC Ghost и FrSky R9M. На некоторые из этих коммерческих продуктов так же можно установить прошивку ExpressLRS. Для связи используется LoRa-модуляция, как и у почти всех конкурентов, кроме TBS. Новый протокол может работать с различной частотой передачи пакетов, от 50Гц до 500Гц. В зависимости от этого, можно получить либо минимальную задержку в управлении (повысить частоту), либо максимальную дальность (снизить частоту). Рекордно минимальная задержка была достигнута на частоте 500Гц в диапазоне 2.4ГГц и составила 4.92мс.

Как удалось получить столь малую задержку? Ответ очевиден - передача пакетов данных минимальной длины. По протоколу ExpressLRS можно передавать 12 каналов управления. Первые четыре канала - пропорциональные, с разрешением 10 бит. Пятый канал однобитный, используется для функции Arm/Disarm. Эти данные передаются в каждом фрейме. Далее возможны варианты. Первый вариант - нормальный: остальные 7 каналов так же, как и пятый, однобитные (как тумблер Вкл/Выкл) и передаются так же в каждом фрейме. Получается общая длина пакета данных 48 бит. Второй вариант - гибридный: с 6-го по 11-й каналы трехбитные, по 6 значений на канал, и последний 12-й канал - четырехбитный, 16 значений на канал. В этом варианте данные о 6-12 каналах передаются не в каждом фрейме, а частями по кругу в последних 7 битах пакета. Если просуммировать количество бит 6-12 каналов и разделить на 7, то получается, что полная информация о данных на этих каналах будет доступна через каждые четыре фрейма. Подробнее - здесь. Кстати, первый вариант очень напоминает структуру быстрого протокола RedPine для SPI-приемников на CC2500-чипе, что сейчас использую на тинивупах. Для меня это было одним из факторов обратить внимание на ExpressLRS.

Поддерживает ли ExpressLRS телеметрию? Да, поддерживает, но ее использовать можно только с гибридным вариантом структуры передаваемых каналов управления. Структура телеметрии была переработана. Теперь она разбита на две части: первая - состояние телеметрии, передается каждые 512мс или, грубо говоря, два раза в секунду. Вторая часть - данные. Как часто их передавать - задается в настройках модуля. И чем чаще передается телеметрия, тем меньше данных по каналам получит приемник. Надо соблюдать некие пропорции, чтобы не гнать большой поток данных с приемника и не забивать телеметрией полезные данные. Разработчики рекомендуют следующие варианты для различных частот передачи данных:

  • 500Гц - соотношение от 1:128
  • 250Гц - соотношение от 1:64
  • 200Гц - соотношение от 1:64
  • 150Гц - соотношение от 1:32
  • 100Гц - соотношение от 1:32
  • 50Гц - соотношение от 1:16
  • 25Гц - соотношение от 1:8

То есть, если взять первый пример, то при частоте 500Гц достаточно одного пакета с телеметрией на 128 пакетов данных.

На каком "железе" может работать прошивка ExpressLRS? На текущий момент некоторые производители уже выпустили свои варианты модулей и приемников, некоторые еще только планируют. Из-за открытости проекта, цена "железа" значительно ниже, чем у конкурентов, что привлекает. Небольшой список доступен ниже.

Передающие модули на 868/915МГц:

Приемники на 868/915МГц:

Передающие модули на 2.4ГГц:

Приемники на 2.4ГГц:

AIO полетные контроллеры с интегрированным приемником ExpressLRS:

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

С какими пультами могут работать ExpressLRS-модули? Чтобы реализовать весь потенциал модуля, потребуется пульт, поддерживающий прошивку OpenTX, с версией не ниже 2.3.12, или EdgeTX - форк OpenTX с поддержкой тачскрина. Для связи между модулем и пультом в свежих версиях прошивки используется CRSFShot-протокол. Он уже будет работать при выборе CRSF-протокола в настройках модели.

Для пультов FrSky QX7,X10/S,X12 требуется установка Crossfire-инвертера. Настоятельно рекомендуется отключать ADC-фильтр, который сглаживает данные со стиков.

Подробнее по работе пультов с ExpressLRS-модулями можно почитать здесь.

Максимальное количество документации собрано на сайте ExpressLRS, часть ссылок на него уже давал выше.

Разберу работу всего этого хозяйства на примере модуля Happymodel ES24TX 2.4G, приемника Happymodel EP2 RX 2.4G и полетного контроллера HappyModel ExpressLRS ELRS F4 2G4 AIO.

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

Модуль Happymodel ES24TX 2.4G поставляется в простейшей картонной коробочке в разобранном виде. Корпус модуля выполнен из очень-очень дешевого пластика, видимо вторичной переработки. На ощупь он просто отвратительный. Производитель уже выпустил новый корпус.

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

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

Позволю себе небольшое лирическое отступление. Выскажу свое мнение на тему ExpressLRS в целом. Многие обзорщики показывают, как далеко стало возможно улетать на 2.4ГГц. Это ли важно? Для меня гораздо важнее минимальная задержка в управлении. Если это работает хотя бы в радиусе одного километра - уже прекрасно. Для гоночного квадрика больше и не нужно. Если планируется улететь на расстояние более километра, я бы не стал использовать частоту 2.4ГГц, а перешел бы на 816/915МГц. И вот тут возникает конфликт интересов. Либо дешевые ExpressLRS-компоненты, либо проверенное временем решение на TBS CrossFire. У вас есть парк дальнолетов, которым нужны десятки приемников, чтобы переживать о цене последних? Я так не думаю. Ваш дальнолет стоит так мало, что даже цена приемника имеет какое-то значение? Тоже не уверен:) Поэтому, мое мнение: для гоночек - ExpressLRS на 2.4ГГц, а для дальнолетов - TBS CrossFire. Так что, в ExpressLRS-теме буду рассматривать решения только на 2.4ГГц.

Для прошивки модуля потребуется ExpressLRS-конфигуратор. По сути, это оболочка пакета инструментов для компиляции бинарной прошивки из исходных текстов с необходимыми параметрами. Описание всех параметров доступно в документации. Сначала выбирается версия прошивки, модель ExpressLRS-модуля и вариант прошивки модуля: либо через USB, либо через Wi-Fi. Первый раз прошивал модуль через USB, иначе можно словить несовместимость LUA-скрипта в пульте с текущей версией прошивки в модуле. Да и этот вариант наиболее удобен. Выбрал таргет "HappyModel_ES24TX_2400_TX_via_UART".

Под выбором таргета стоит ссылка на скачивание LUA-скрипта для выбранной версии прошивки. Надо бросить скачанный скрипт в каталог "/Scripts/Tools" пульта. Остается подправить всего несколько параметров. Первый - "BINDING_PHRASE". Вписывается туда что угодно, лишь бы длиннее шести символов. Эта уникальная фраза используется для связи модуля с приемниками. Можно отключить этот параметр и позже привязывать приемники вручную. Второй очень важный параметр - "HYBRID_SWITCHES_8". Он отвечает за режим передачи каналов: нормальный или гибридный, о чем шла речь раньше. Выбрал нормальный режим и зря, о чем ниже. В этом режиме телеметрия не будет работать, поэтому параметр "ENABLE_TELEMETRY" отключаю, иначе при компиляции прошивки получу ошибку.

Подключаю модуль через USB, выбираю порт для заливки прошивки, жму кнопку "BUILD & FLASH" и жду. Через некоторое время прошивка собирается и заливается в модуль.

Устанавливаю модуль в пульт, создаю новую модель, назначаю в ней протокол CRSF - внутри корпуса модуля появляется зловещее красное свечение:)

В пульте перехожу в системные инструменты, запускаю ELRS-скрипт и смотрю, какие настройки доступны. Кстати, в конце верхней строки отображается реальная частота обмена данными пульта с модулем, например "0:500" - это 500 пакетов в секунду.

Ниже есть выбор частоты генерации пакетов, как часто передавать пакеты телеметрии или ее отключение, выбор мощности. Так как производитель не потрудился вывести USB-разъем наружу, в следующий раз придется обновлять прошивку в модуле менее приятным способом - по воздуху. Для этого меняю таргет в настройках конфигуратора на "HappyModel_ES24TX_2400_TX_via_WIFI" и заново собираю прошивку.

Жму "BUILD", жду, и на выходе, если все хорошо, открывается файловый менеджер с выделенным файлом готовой прошивки.

Этот BIN-файл бросаю на телефон. В пульте запускаю ELRS-скрипт и выбираю "WiFi Update". Появляется надпись "Goto http://10.0.0.1"

В телефоне открываю настройки Wi-Fi и подключаюсь к точке доступа "ExpressLRS TX Module" с паролем "expresslrs".

Затем открываю браузер, если автоматически не открылся, и перехожу по адресу "http://10.0.0.1". Перематываю страницу вниз, выбираю файл прошивки, ранее брошенный на телефон.

Нажимаю кнопку "Update" и жду примерно 10-15 секунд, пока прошивка в модуле не обновится. Если все хорошо, то получаю ответ "Ok" от модуля.

Чтобы убедиться, что прошивка в модуле обновилась, надо запустить ELRS-скрипт в пульте и посмотреть значение хеша в первой строчке. Первые 6 символов должны совпадать со значением релиза на github. Но в более новых версиях здесь выводится просто номер релиза.

С модулем разобрались. Теперь приемник Happymodel EP2 RX 2.4G. Он реально маленький! Такой и на тинивупе не будет обузой:)

Габариты приемника 10.6x10.35x6.05мм, вес 0.45г. Кроме габаритов, большим плюсом этого приемника является керамическая антенна. Можно спрятать приемник так, что он гарантированно не пострадает при авариях. А дальности приема с такой антенной без проблем хватит на 2-3 километра, а больше и не нужно. Схема подключения приемника полностью повторяет схему подключения CrossFire-приемника. Такой приемник можно установить на любой полетный контроллер или переходник, поддерживающий интеграцию с CrossFire-приемником.

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

Подключил один из приемников к полетному контроллеру на свободный UART-порт. После подачи питания на полетный контроллер, приемник неспешно начинает мигать индикатором, а через 20-30 секунд, если пульт не свяжется с приемником, индикатор будет мигать быстро-быстро. Это значит, что приемник перешел в режим прошивки по воздуху. Но сначала надо собрать прошивку. Параметры такие же, как и для модуля, таргет "HappyModel_EP_2400_RX_via_WIFI".

Параметр "AUTO_WIFI_ON_INTERVAL" отвечает за автоматическое включение Wi-Fi-точки на приемнике для обновления прошивки, если до истечения этого времени к приемнику не поступит сигнал от пульта. Если отключить этот параметр, то придется обновлять прошивку приемника другими способами, менее удобными. Если отключить параметр "BINDING_PHRASE", то приемник можно будет забиндить с любым другим модулем, но с некоторыми лишними телодвижениями. Нажимаю кнопку "BUILD" и жду результат. Если все в порядке, то после сборки откроется окно файлового менеджера с выделенным бинарным файлом прошивки приемника.

Как и в случае с модулем, бросаю BIN-файл на телефон. Если приемник включен и быстро-быстро мигает индикатором, то телефоном надо найти точку доступа "ExpressLRS RX" и подключиться к ней с паролем "expresslrs".

В браузере перехожу по адресу "http://10.0.0.1", спускаюсь вниз и выбираю файл прошивки приемника.

Жму "Update". Прошивка заливается довольно быстро, несколько секунд, после чего приемник перезагружается и снова начинает мигать медленно - ждать пульт. Если на экране телефона появилась надпись "Update success! Rebooting...", значит все в порядке - прошивка обновилась.

Настройка ExpressLRS в прошивке BetaFlight довольно проста и примитивна. В BetaFlight-конфигураторе, в портах нужно указать, какой порт использует приемник. В моем случае это UART1.

В конфигурации, в блоке приемника, надо выбрать "Serial-based receiver..." и "CRSF".

Чтобы получить максимальное быстродействие, в настройках приемника надо указать тип сглаживания "Interpolation", ручной режим и интервал 5мс для частоты передачи пакетов в 500Гц, 10мс - для 250Гц и так далее.

На канал AUX11 будет выводиться LQI-значение, а на AUX12 - RSSI, но не нужно указывать RSSI-канал в настройках приемника. Эти значения уже доступны для вывода на OSD.

Остается включить пульт, подать питание на полетный контроллер и все. Индикатор на приемнике будет светиться ровно, отклик по каналам будет виден в BetaFlight-конфигураторе.

Если прошивка приемника была собрана без задания параметра "BINDING_PHRASE", то приемник надо еще и забиндить с пультом. Для этого на короткий интервал времени подается питание на приемник три раза подряд, после чего он переходит в режим сопряжения - индикатор будет мигать двойными прерывистыми вспышками. На пульте запускается ELRS-скрипт и в нем нажимается кнопка "Bind". Если сопряжение состоялось, индикатор на приемнике загорится ровно. Приемник с прошивкой, в которой задан параметр "BINDING_PHRASE", нельзя перевести в режим сопряжения!

Если по какой-либо причине обновление прошивки приемника не получается через Wi-Fi, есть альтернативный вариант - обновление через проброс порта в полетном контроллере или через FTDI-адаптер. Способы схожи с обновлением модуля через USB. Если используется FTDI-адаптер, то приемник подключается к нему, как и к полетному контроллеру: "RX-TX, TX-RX" и питание. Перед подключением FTDI-адаптера к компьютеру, надо на короткое время закоротить BOOT-контакты на приемнике, чтобы перевести его в режим загрузки прошивки. Делал это пинцетом. Индикатор приемника мигнет и загорится ровным светом. В ExpressLRS-конфигураторе выбираю таргет "HappyModel_EP_2400_RX_via_UART", в самом низу выбираю порт FTDI-адаптера и нажимаю кнопку "BUILD & FLASH". Все, прошивка должна обновиться.

Если приемник уже установлен на модель, его можно обновить через проброс порта в полетном контроллере. Перед подключением полетного контроллера через USB, надо замкнуть BOOT-контакты на приемнике, хотя в инструкции сказано, что после версии 1.0.0-RC6 этого делать не надо, но изначально неизвестно, какая версия прошивки стоит в приемнике. Если уверены, что версия старше - ничего замыкать не надо! В ExpressLRS-конфигураторе, выбираю таргет "HappyModel_EP_2400_RX_via_BetaflightPassthrough", а в самом низу - порт, к которому подключен полетный контроллер.

Жму кнопку "BUILD & FLASH" и, после сборки прошивки, наблюдаю за процентами заливки прошивки в приемник. Конфигуратор сам считает параметры полетного контроллера и определит UART-порт, к которому подключен приемник.

Это намного проще, чем через Wi-FI, но бывает, что получается не с первого раза:) Уф, с этим делом разобрались!

На очереди - новый полетный контроллер HappyModel ExpressLRS ELRS F4 2G4 AIO с интегрированным ExpressLRS-SPI-приемником.

Поставляется он в классической пластиковой коробочке. В комплекте есть набор винтиков, демпферы, провод для камеры и силовой провод с PH2.0-разъемом на конце. Внешне полетный контроллер по дизайну очень похож на Happymodel Crazybee F4 Lite от Mobula6. По характеристикам так же близок: F411-процессор, MPU6000-гироскоп, OSD - AT7456E. Блок регуляторов собран на EFM8BB21-чипах, силовые ключи SiA517DJ-T1-GE3. Питается полетный контроллер от 1S-аккумулятора. На SPI-шине висит ExpressLRS-приемник с керамической антенной. Интегрированный видеопередатчик на 40 каналов может работать на мощности 25/100/200мВт. Антенна видеопередатчика сделана на U.FL-разъеме. Вес полетного контроллера без антенны передатчика составляет 4.6г. Для примера, полетный контроллер от Mobula6 весит 4г. Столь значительная разница в весе при практически идентичной компоновке объясняется просто. Толщина платы HappyModel ExpressLRS ELRS F4 2G4 AIO 1мм (справа), а Happymodel Crazybee F4 Lite - 0.8мм (слева).

Хочется верить, что у нового тинивупа Happymodel Mobula6 ELRS плата стала тоньше и легче, но нет, кого я обманываю:)

Новый полетный контроллер хоть и похож на Happymodel Crazybee F4 Lite, но некоторые существенные отличия все же присутствуют.

Производитель обещал наличие двух полноценных UART-портов. Да, они есть, но... второй занят под управление встроенным передатчиком. Это можно исправить, убрав перемычку из олова между TX2 и пятачком SmartAudio. Тогда да, будет два UART-a, но не будет управления встроенным передатчиком:) Есть еще одна перемычка в передней части полетного контроллера снизу. Если ее убрать, то питание встроенного передатчика будет отключено. Так же доступны выводы Video-IN и Video-OUT для подключения внешнего передатчика, если встроенный не устраивает. На плате больше нет инвертированного RX1-вывода для подключения внешнего приемника по SBUS.

Полетный контроллер HappyModel ExpressLRS ELRS F4 2G4 AIO поставил на URUAV UZ80. При установке оказалось, что разъемы моторов развернуты на 180 градусов, сначала даже не обратил на это внимания. Разъем видеоантенны и керамическую антенну приемника дополнительно зафиксировал "клеем для антенн" - тавтология какая-то... Получилась 20-граммовая зубочистка. Надо бы новые пропики Gemfan-двушки на этом квадрике попробовать.

В полетный контроллер залита ранняя версия BetaFlight-4.3.0 с патчами для поддержки ExpressLRS на SPI-шине, но версия ExpressLRS довольно старая, требующая обновления. ExpressLRS-патчи еще не включены в основную версию BetaFlight и вряд ли будут включены до окончательного релиза. Из-за этого с обновлением прошивки есть проблема. Производитель предлагает отслеживать появление новых сборок в запросе на github. Для настройки прошивки потребуется еще не выпущенный BetaFlight-конфигуратор версии 10.8.0. Прежде, чем производить обновление прошивки, надо сделать дамп настроек полетного контроллера командой "diff all" в командной строке BetaFlight-конфигуратора. Результат надо скопировать в файл и сохранить.

Залил в полетный контроллер прошивку от 28 августа. Основные параметры взял из обзора по URUAV UZ80. В регуляторы установил Bluejay-0.14 на 48кГц с такими же настройками. Чтобы посмотреть, какие параметры доступны для настройки ExpressLRS, надо выполнить в консоли BetaFlight-конфигуратора команду "get expresslrs".

Параметр "expresslrs_uid"  отвечает за привязку полетного контроллера к модулю. Привязку можно выполнить несколькими способами. Можно взять значение из лога сборки прошивки для модуля, если в настройках модуля задан параметр "BINDING_PHRASE", и присвоить это значение параметру "expresslrs_uid". Результат сохранить командой "save". Все, приемник будет привязан к модулю.

Другой способ еще проще. Надо на вкладке приемника BetaFlight-конфигуратора нажать кнопку "Bind Receiver". Тот же результат можно получить, если вместо кнопки в конфигураторе, перейти в консоль и выполнить команду "bind_rx". Затем в пульте выполнить ELRS-скрипт и в нем нажать "Bind". После этой процедуры параметр "expresslrs_uid" не будет равен нулю, но и значение не будет совпадать со значением из лога сборки прошивки для модуля, хотя все будет работать. Если полетный контроллер не привязан ни к какому модулю, то значение "expresslrs_uid" равно нулю.

Следующий параметр "expresslrs_domain" имеет одно значение и остается без изменений. Этот параметр отвечает за тип ExpressLRS-оборудования, установленного на полетный контроллер.

Параметр "expresslrs_rate_index" отвечает за частоту приема пакетов данных от модуля. По умолчанию стоит значение "0". Это значит, что прием идет на частоте 500Гц. Таблица значений выглядит так:

  • 0 - 500Гц
  • 1 - 250Гц
  • 2 - 150Гц
  • 3 - 50Гц

Последний параметр "expresslrs_hybrid_switches" отвечает за режим работы ExpressLRS-системы. При значении "OFF" - нормальный режим, при "ON" - гибридный режим с возможностью использования телеметрии. Подробнее по настройке ExpressLRS-приемника на SPI-шине можно почитать в официальной документации.

По итогу, конфигурация 1S-зубочистки получилась такой:

# version
# Betaflight / CRAZYBEEF4SX1280 (HAMO) 4.3.0 Aug 28 2021 / 16:06:30 (e6937f4ea2) MSP API: 1.44

# start the command batch
batch start

# reset configuration to default settings
defaults nosave

# name: UZ80E

# feature
feature -TELEMETRY
feature -AIRMODE

# serial
serial 1 2048 115200 57600 0 115200

# beeper
beeper -ALL

# beacon
beacon RX_LOST
beacon RX_SET

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

# adjrange
adjrange 0 0 7 900 2100 12 7 0 0

# vtxtable
vtxtable bands 5
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 CUSTOM 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 powerlevels 3
vtxtable powervalues 0 1 2
vtxtable powerlabels 25 100 200

# master
set yaw_spin_recovery = ON
set yaw_spin_threshold = 800
set dyn_notch_q = 250
set dyn_notch_min_hz = 125
set dyn_notch_max_hz = 350
set acc_calibration = -74,42,-93,1
set airmode_start_throttle_percent = 50
set dshot_idle_value = 900
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 vbat_warning_cell_voltage = 330
set beeper_dshot_beacon_tone = 4
set yaw_motors_reversed = ON
set small_angle = 180
set deadband = 2
set yaw_deadband = 2
set runaway_takeoff_prevention = OFF
set thrust_linear = 25
set simplified_gyro_filter = ON
set osd_warn_link_quality = ON
set osd_warn_rssi_dbm = ON
set osd_rssi_dbm_alarm = -98
set osd_cap_alarm = 300
set osd_tim1 = 1025
set osd_vbat_pos = 2433
set osd_link_quality_pos = 2102
set osd_rssi_dbm_pos = 2096
set osd_tim_1_pos = 2454
set osd_throttle_pos = 2448
set osd_vtx_channel_pos = 2440
set osd_craft_name_pos = 2089
set osd_display_name_pos = 2081
set osd_stat_tim_1 = ON
set osd_stat_tim_2 = OFF
set osd_stat_max_spd = OFF
set osd_stat_battery = ON
set osd_stat_min_rssi = OFF
set osd_stat_bbox = OFF
set osd_stat_bb_no = OFF
set osd_stat_max_esc_rpm = ON
set osd_stat_min_link_quality = ON
set osd_stat_min_rssi_dbm = ON
set cpu_overclock = 120MHZ
set vtx_band = 5
set vtx_channel = 3
set vtx_power = 2
set vtx_freq = 5732
set vcd_video_system = NTSC
set expresslrs_uid = 152,176,177,192,49,82
set name = UZ80E
set display_name = MCHeli

profile 0

# profile 0
set vbat_sag_compensation = 100
set anti_gravity_gain = 2000
set crash_recovery_angle = 5
set crash_recovery = ON
set iterm_relax_cutoff = 10
set iterm_limit = 500
set pidsum_limit = 1000
set pidsum_limit_yaw = 1000
set p_pitch = 68
set i_pitch = 25
set d_pitch = 58
set f_pitch = 250
set p_roll = 68
set i_roll = 25
set d_roll = 58
set f_roll = 250
set p_yaw = 120
set d_min_roll = 0
set d_min_pitch = 0
set d_min_advance = 0
set level_race_mode = ON
set simplified_dterm_filter = ON

# restore original profile selection
profile 0

rateprofile 0

# rateprofile 0
set roll_rc_rate = 18
set pitch_rc_rate = 18
set yaw_rc_rate = 16
set roll_expo = 50
set pitch_expo = 50
set yaw_expo = 40
set roll_srate = 54
set pitch_srate = 54
set yaw_srate = 40
set tpa_breakpoint = 1750

rateprofile 2

# rateprofile 2
set thr_expo = 50
set roll_rc_rate = 18
set pitch_rc_rate = 18
set yaw_rc_rate = 16
set roll_expo = 80
set pitch_expo = 80
set yaw_expo = 40
set roll_srate = 86
set pitch_srate = 86
set yaw_srate = 40
set tpa_breakpoint = 1750

# restore original rateprofile selection
rateprofile 0

# save configuration
save
#

Испытания проводил при мощности модуля 10мВт и 25мВт, чтобы квадрики не очень далеко улетали, но было видно возможности ExpressLRS-системы. Первое впечатление - квадрик летит еще до того, как тронул стики:) Непривычно отзывчиво! Если раньше некоторые маневры закладывал заранее, то сейчас получается, что местами переруливаю, надо привыкать по новой. Чувствую, что могу лететь быстее. Управление очень-очень четкое! Модель буквально идет за стиком.

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

Предвидя один из первых же вопросов по ExpressLRS-системе, сразу отвечу - модули и приемники разных производителей абсолютно совместимы в рамках частотного диапазона 2.4ГГц или 868/915МГц!

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