Показаны сообщения с ярлыком Eachine. Показать все сообщения
Показаны сообщения с ярлыком Eachine. Показать все сообщения

22 сентября 2020

Eachine UZ65 - идея отличная, но реализация хромает...

Как только появилась первая информация о новом тинивупе Eachine UZ65, сразу понял, что рано или поздно он попадет ко мне в руки. Главная причина, почему так хотелось его посмотреть, это ожидание хорошего баланса между тягой, точностью управления и временем полета из-за нового формата пропеллеров диаметром 35мм.


Образ удачного тинивупа у меня уже сложился - MCHeliWhoop, о котором неоднократно рассказывал. У него есть только один недостаток - слишком большая тяга. Нет, не максимальная, а вообще. Надо делать экспоненту на канале газа, чтобы добиться более предсказуемой реакции на работу стиком газа, иначе при полете стик газа приходится держать в очень узком диапазоне. Из-за этого полеты по компактной трассе превращаются в бесконечные столкновения с препятствиями. То есть, тяги с избытком, скорость высокая, а точности не хватает. Полетав какое-то время на Mobula6 с 0802-моторами на 19000kV, пришел к выводу, что по точности этот тиниувуп значительно выигрывает, но тяги хотелось бы чуть-чуть больше. Несколько раз на трассе с перепадами по высоте случалось так, что приходилось сбавлять темп, чтобы было время набрать высоту. Если поставить моторы на 22000kV или 25000kV, то тяги прибавится, но и время полета заметно сократится. Очень надеялся, что Eachine UZ65 будет более сбалансирован по вышеназванным параметрам. Проверим!

Краткие характеристики Eachine UZ65:
Краткие характеристики полетного контроллера Eachine AIO Superbee F4:
  • Процессор STM32F411
  • Гироскопы MPU6000 на SPI-шине
  • BetaFlight OSD AT7456E
  • Приемник CC2500/AT7105 на выбор
  • Питание 1-2S 4.35В
  • Разъем питания PH2.0 с цельными пинами
  • Максимальный ток 5А
  • Прошивка регуляторов S_H_50_REV16_8
  • Датчик тока
  • Вес без силового провода 2.75г
Характеристики RunCam Nano 3:
  • Сенсор: CMOS 1/3"
  • Формат видеосигнала: 800 TVL NTSC
  • Линза: 2.1мм с резьбой M8
  • Угол обзора: 160 градусов
  • Вес: 1.2г
Квадрик приезжает в фирменном кейсе от Eachine, как было с Eachine Trashcan или Eachine RedDevil. Несмотря на то, что посылка добиралась до меня более двух месяцев из-за задержек, связанных с COVID-19, внутри кейса только аккумуляторы выпали из своих ячеек, остальное не пострадало:)


В комплекте все как и должно быть: квадрик, инструкция, запасные винтики, набор пропеллеров, простенький USB-зарядник, отвертка, съемник для пропеллеров и 4 аккумулятора на 300мА/ч.


LiHV-аккумуляторы точно такие же, как были в комплекте с Happymodel Mobula6, только наклейки другие. Весят по 7.6 грамма, с PH2.0-разъемами.


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


Переключатель меняет режим работы: LiPO или LiHV. Если сдвинуть его в сторону USB-разъема, будет работать в LiHV-режиме.

Первое впечатление от квадрика Eachine UZ65 - какой-то он "стеклянный":) Пластик прозрачный и выглядит хрупким, но это не так. При пропеллерах большего диаметра, габариты квадрика остались на уровне обычного тинивупа на 65-й раме с 31мм-пропеллерами: 80.5x80.5мм.


Просто диагональ рамы стала 59мм. Из-за этого очень уменьшился и полетный контроллер, хотя расстояние между его точками крепления осталось тинивупного формата: 26x26мм.


В задней части под канопой расположился видеопередатчик. Его кнопка управления расположена очень близко к краю канопы, поэтому возможны случайные переключения частоты при падениях квадрика. Антенна видеопередатчика довольно жесткая, возможна ее потеря при авариях, так как она держится только на U.FL-разъеме. Я бы перенес видеопередатчик под полетный контроллер. Места там предостаточно.


Из-за уменьшения размеров полетного контроллера, пришлось отказаться от разъемов, моторы напрямую припаяны к выводам полетного контроллера.


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


Аккумулятор, конечно, и так стоит не ниже моторов, но мог бы быть еще ближе к центру масс. Моторы 0802-размера на 19000kV оптимальны для этого тинивупа. Будет отличный баланс между тягой и энергопотреблением.


HQ-пропеллеры весят 0.32 грамма каждый. Чтобы визуально оценить размер пропеллеров на 35мм, сделал снимок между пропеллерами на 40мм и 31мм. Хотелось показать пропеллеры одного производителя, но новые HQ на 31мм до меня так и не доехали за последние несколько месяцев.


Ширина лопасти новых пропеллеров в максимальной части составляет 8мм. Для примера, ширина лопасти пропеллеров на 40мм - 7.5мм, вес 0.35 грамма. С учетом количества лопастей, чуть меньшего веса, но того же шага, ожидаю от новых пропеллеров чуть большей динамики на разгон, но чуть меньшей тяги, чем с пропеллерами на 40мм. Квадрик должен быть более послушным в управлении, а максимальной тяги все равно будет предостаточно, чтобы не терять динамику на длинных участках гоночной трассы.

Снимаю канопу, там идет шлейф проводов от полетного контроллера к передатчику. Отдельным зеленым проводом выведено управление передатчика через SmartAudio.


Полетный контроллер очень маленький. Чтобы оценить его вес, придется полностью разобрать квадрик. Рама выполнена из очень жесткого и упругого материала. Петли холдера под аккумулятор тонкие и вероятность того, что они отломаются от рамы очень высока. Рама весит 3.8 грамма - многовато для такого размера.


Моторы Eachine NC0802 19000kV отличаются от привычных Happymodel SE0802 19000kV только отсутствием разъема для подключения и небольшой платой между статором и основанием для фиксации выводов обмоток. Один мотор весит 1.9 грамма, что ровно столько же, как и Happymodel SE0802 с разъемом. Плата фиксации выводов обмоток - дело хорошее, но в погоне за надежностью пренебрегли весом:(


Обмотка мотора сделана проводом 0.2мм по 9 витков на зуб, соединены звездой. Обмотка зафиксирована лаком.

Полетный контроллер Eachine AIO Superbee F4 мог бы претендовать на звание самого маленького и легкого, благодаря уникальной форме. Такой полетный контроллер можно разместить на раме с минимальной диагональю, что невозможно сделать с BetaFPV F4 1S - моим фаворитом.


Полетный контроллер не имеет разъемов для подключения моторов, только площадки для пайки. Нет ни одной кнопки, забиндить его или перевести в DFU-режим для прошивки можно только через консоль BetaFlight-конфигуратора. Вес полетного контроллера Eachine AIO Superbee F4 составляет 2.75 грамма, что на половину грамма тяжелее BetaFPV F4 1S без разъемов под моторы. При одинаковой толщине платы, при том же наборе компонентов, производитель все же сумел "нагнать вес", установив массивный, тяжелый USB-разъем! Получается, что этот кусок металла на полграмма тяжелее аналогичного на BetaFPV F4 1S! Ну почему в бочке меда обязательно должна быть ложка дегтя:( Братья-китайцы, неужели так сложно было немного подумать и сделать зачетный полетник?!


Периферия полетного контроллера классическая для линейки Crazybee: процессор STM32F411, гироскопы MPU6000, CC2500 в качестве приемника, BB2-чипы управления силовыми ключами, AT7456 для OSD, два UART-порта, причем один имеет инверсию на RX-контакте, вывод под пищалку и управление цветными светодиодами. Кстати, Eachine AIO Superbee F4 рассчитан на питание 1-2S и это не есть хорошо, о чем ниже, когда рассмотрим настройки.


Силовые провода в силиконовой изоляции имеют толщину 22AWG, довольно жесткие. Силовой PH2.0-разъем с цельными пинами. Место соединения силовых проводов и разъема залито термоклеем и затянуто в термоусадку. Общий вес всей конструкции 0.85 грамма.


Силовые провода можно было сделать 24AWG-проводом. Вместо куска термоклея вполне бы подошел тонкий кусочек текстолита, к которому припаиваются и пины разъема, и силовые провода, как было реализовано у BetaFPV Meteor65.


Канопа выглядит "стеклянной", но пластик такой же, как у рамы, вязкий и упругий. Вес канопы 0.8 грамма без фурнитуры. С креплением камеры и болтиками вес увеличивается до 1.15 грамм. Передатчик Eachine VTX Nano на этом квадрике немного не к месту - слишком тяжелый, весит 1.3 грамма. Если бы была версия без разъемов - было бы лучше. А еще лучше было бы интегрировать передатчик над полетником вторым этажом, тогда бы и лишних проводов не было.


Мощность передатчика переключаемая 25/100/200мВт, доступны классические 40 каналов, включая RaceBand. Кстати, антенна весит 0.35 грамма, а провод от передатчика до полетника - 0.3 грамма.


Камера квадрика отличается от классической RunCam 3 Nano - установлен новый объектив с меньшим углом обзора. Насколько изображение стало меньше, можно оценить на следующей фотографии. Зеленой рамкой выделил размер изображения с новой камеры относительно старой.


Камера весит 1.27 грамма. Мне с ней еще в одном моменте "повезло" -  с левой стороны пробивается ультрафиолет:)

Итак, все компоненты рассмотрены, собираю Eachine UZ65 обратно. В процессе сборки заменил силовые провода на более тонкие 24AWG - их достаточно. Заодно добавил для красоты пару светодиодов на PH2.0-разъем:) Антенну притянул к канопе тонкой петлей из термоусадки, чтобы не болталась.


Квадрик Eachine UZ65 поставляется вполне себе хорошо настроенным, что встречаю впервые. В регуляторы залита прошивка BLHeli_M версии 16.8. В полетный контроллер установлена прошивка BetaFlight-4.1.1, настроена RPM-фильтрация и PID-ы. Достаточно забиндить квадрик, выставить удобные расходы и назначить тумблеры на AUX-каналах. Стоковые настройки сохранил в файле.

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


Теперь расскажу, почему не стоит использовать полетные контроллеры, рассчитанные на питание 1-2S только для 1S-тинивупов. Для примера, возьму Eachine AIO Superbee F4 и BetaFPV F4 1S. У обоих используются одинаковые силовые ключи SIA517DJ, но есть нюанс. У первого силовые ключи управляются через дополнительные транзисторы, которые защищают контроллер регулятора от высокого напряжения. У второго контроллер напрямую управляет силовыми ключами. У первого в контроллерах стоит прошивка "S-H-50", у второго "O-H-5", где цифра - это количество квантов времени между переключениями силовых ключей. Один квант времени равен 20.4нс. Получается, что у первого контроллера задержку дают дополнительные транзисторы.

Как это влияет на работу моторов? Допустим, регуляторы работают на частоте 48кГц. Это позволяют прошивки JESC и BLHeli_M. При частоте 48кГц время одного PWM-цикла составляет 1/48000=20.8мкс. Время задержки на переключение между силовыми ключами при 50 квантах времени составляет 50*20.4=1020нс или примерно 1мкс. Соответственно, пауза в 50 квантов составляет 1/20.8*100=4.8% от времени одного PWM-цикла. Но за это время энергия так же расходуется. А при 5 квантах время переключения всего 0.1мкс или примерно 0.5% от времени PWM-цикла. В общем, чем меньше время переключения между силовыми ключами, тем эффективнее работа мотора. Получается, что полетные контроллеры с поддержкой 1-2S будут на 4.3% менее эффективны, чем контроллеры, рассчитанные только на 1S:)

В полетный контроллер залил последнюю стабильную версию BetaFlight-4.2.2, немного подкорректировал настройки под себя. Вот что получилось:

# version
# Betaflight / STM32F411 (S411) 4.2.2 Aug 16 2020 / 01:47:01 (e833ac612) 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

# 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 100 200

# master
set dyn_notch_width_percent = 0
set acc_calibration = 7,-18,-33,1
set mag_hardware = NONE
set baro_hardware = NONE
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 rx_spi_protocol = FRSKY_D
set blackbox_device = NONE
set dshot_idle_value = 600
set dshot_burst = OFF
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 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 scheduler_optimize_rate = ON
set vtx_band = 5
set vtx_channel = 4
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 crash_recovery = ON
set iterm_limit = 500
set pidsum_limit = 1000
set pidsum_limit_yaw = 1000
set throttle_boost = 0
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
set ff_interpolate_sp = ON
set ff_spike_limit = 255
set ff_boost = 50
set idle_min_rpm = 52
set level_race_mode = ON

# restore original profile selection
profile 0

rateprofile 0

# rateprofile 0
set thr_mid = 32
set thr_expo = 60
set rates_type = QUICK
set yaw_rc_rate = 250
set roll_expo = 30
set pitch_expo = 30
set roll_srate = 77
set pitch_srate = 77
set yaw_srate = 50

# save configuration
save


Как летит Eachine UZ65, оправдались ли ожидания? Честно скажу - нет. Квадрик висит на 30-33% газа. Это несколько больше, чем ожидалось. На стоковом аккумуляторе полетное время составляет всего 3 минуты. Ток в пике подскакивал до 6А. Квадрик оказался очень прожорливым! Виной тому широкие лопасти пропеллеров с большим шагом. Если бы лопасти по ширине соответствовали 40-кам от HQ, тогда был бы толк. Диаметр колец защиты рамы оказался маловат, иногда лопасти царапали их в полете. По умолчанию передатчик шпарит на 200мВт и адски греется, надо сразу переключить его на меньшую мощность. На не очень свежих аккумуляторах тинивуп летит всего пару минут, не хватает токотдачи. К точности управления у меня большая претензия. Из-за малых оборотов квадрик реагирует на стик очень инертно, на трассе переруливаешь. По высоте держать его сложно, газом надо работать в очень узком диапазоне. Не спасает уменьшение расходов и экспонента на канале газа. Опять же, из-за малых оборотов модель не снижается при уменьшении газа, а падает.


По итогу, надежды на эту модель оказались тщетны. Каждый компонент квадрика Eachine UZ65 имеет какой-либо косяк и в целом получается безрадостная картина. Да, аппарат можно облегчить, сняв пару грамм, но это не решит проблему радикально. Модель все равно останется сильно прожорливой. Этот тинивуп не для компактных трасс. Ему нужен простор, чтобы была возможность летать быстро и поддерживать обороты на высоком уровне, тогда и управляемость будет лучше - проверено! А я такие надежды возлагал на новые пропеллеры, набрал их целую кучу:)

01 января 2020

Eachine EV800DM - компактный шлем для начинающих

Уже некоторое время летаю в очках FatShark HD3, но и за производителями шлемов периодически наблюдаю и отмечаю интересные для себя вещи. Одной из таких стал новый шлем Eachine EV800DM, который позиционируется, как продолжение очень удачной модели Eachine EV800D. Небольшой экран высокого разрешения, компактный размер, малый вес, диверсити-приемник, DVR-модуль - все это в совокупности должно было быть хорошим решением для новичков в FPV.


Краткие характеристики Eachine EV800DM:
  • Вес без антенн: 320гр.
  • Размеры: 150x170x80мм.
  • Экран: 3 дюйма, 4:3, 900x600 пикселей, яркость 600кд/м²
  • Встроенный DVR-модуль
  • Встроенный аккумулятор: 2000мА/ч 3.8В.
  • Напряжение зарядки: 5-18В.
  • Приемник: 40 каналов с поддержкой Raceband.
  • Разъем антенн: SMA.
Шлем приезжает в плотной коробке с пластиковой вставкой внутри по форме самого шлема - повреждения практически исключены.


В комплекте идет зарядное устройство (без EU-адаптера), провод для него, видео-кабель, салфетка, простая инструкция и две антенны: клевер и патч.


Очень удивил размер шлема - немного больше обычных FPV-очков! Материал корпуса слегка шероховатый, матовый. Не такой маркий, как был у Eachine EV800D, но следы от пальцев все равно остаются.


Шлем может раздвигаться на 20мм для подстройки резкости. Но с этим моментом есть нюанс, о чем ниже.


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


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


Почему-то я думал, что этот шлем будет без линзы Френеля. На рекламных постерах о ней и разговора не было, только упоминались дополнительные обычные линзы. Я не правильно понял контекст слова "дополнительные". Решил, что они дополнительно встроенные, как замена линзы Френеля.


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


С настройкой резкости не все так просто. В полностью задвинутом состоянии шлем будет комфортно использовать людям с довольно значительной близорукостью. В полностью выдвинутом состоянии - людям с небольшой близорукостью будет нормально, а людям с нормальным зрением - на грани комфорта. Для людей с небольшой возрастной дальнозоркостью в этот шлем лучше и не смотреть без дополнительной линзы:) Качество картинки на экране - отдельная история, о чем ниже.

В верхней части шлема установлены два SMA-разъема под антенны. Кнопка "CH+/Band+" - для выбора частоты и сетки. Короткое нажатие - выбор частоты, длинное - переключение в режим выбора сетки. Этой же кнопкой уменьшается значение выбранного пункта в меню настроек. Кнопка включения при длительном нажатии включает/выключает шлем. В остальных случаях используется для выхода из режима настроек или DVR-режима. Кнопка "SRC/Menu" - для переключения режимов работы шлема: диверсити, только правая антенна, только левая антенна и вывод изображения с AV-входа. Длинное нажатие этой кнопки вызывает меню с настройками. В режиме настроек кнопка служит для перемещения по пунктам меню. Рядом с антенными разъемами есть два индикатора. Первый - индикатор питания, второй - индикатор зарядки.


С нижней стороны видно очень большой вырез для носа. Да, носы у всех разные:) Чтобы не было засветок, потребуется мягкий уплотнитель. В передней части справа расположена кнопка "Search" для поиска активного канала. Поиск идет в сторону увеличения частоты до первого попавшегося канала, а не просматривается вся полоса частот. Этой же кнопкой в настройках увеличивается значение выбранного пункта меню. Кнопка "Pic/Rec" служит для создания скриншота при коротком нажатии, и для начала/остановки записи на DVR при длинном нажатии.


В передней части шлема по центру виден разъем для SD-карты. Шлем поддерживает запись на SD-карты C10-класса и объемом до 32 гигабайт. Прямо под разъемом есть небольшое отверстие с подписью "RST" - это сброс шлема, если он зависнет:) По бокам от SD-слота расположились разъем для зарядки встроенного аккумулятора на 2000мА/ч и миниджек для видеовхода и выхода под наушники.

Разбирается шлем очень просто, только надо учитывать, что лицевая маска приклеена. В передней части установлен аккумулятор с PH2.0-разъемом. В районе выхода силового провода на аккумуляторе есть небольшое утолщение. Очень похоже на то, что это контроллер заряда/разряда.


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


Качество приема будет не лучше и не хуже других моделей приемников с такими же модулями. Экран очень похож на дисплей какого-то фотоаппарата.


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


Некоторые обзорщики отмечали задержку с выводом изображения на экране шлема Eachine EV800DM. К счастью, у себя подобной проблемы не обнаружил, даже в режиме записи DVR. Качество изображения на экране среднее, мне не понравилось. Местами видны пересвеченные участки, цветопередача тоже не на высоте. В общем, немного лучше, чем в EV100. И еще, я надеялся, что из-за маленького угла обзора будет виден весь экран целиком, но этого не случилось. Из-за того, что глаза приходится собирать в кучу, фактически виден только центр экрана, остальное изображение уходит на периферию. Получается ощущение, похожее на то, когда на камере стоит линза с маленьким углом обзора. Я просто не вижу, что происходит вокруг! Когда снял шлем и стал использовать свои FPV-очки, первое время не мог заставить мозг сводить картинку с двух экранов:)


Кстати, DVR у шлема просто шикарный! Записывает в естественном разрешении на 30 кадров в секунду.


Брал этот шлем на обзор в надежде на то, что его получится переделать в компактный FPV-монитор, но размер основной платы относительно экрана очень большой. Итак, в минусы шлема Eachine EV800DM можно записать слишком маленький экран не очень высокого качества, наличие линзы Френеля, необходимость покупки дополнительной линзы. В плюсы запишу компактность, малый вес, прекрасный DVR.

Если бы в шлеме стояло два таких экрана и не было бы линзы Френеля - вот это был бы отличный вариант для начинающих! Всех с Новым Годом!

18 ноября 2019

TinyViewPlus - засечка по ArUco-маркерам с Eachine ROTG02

Часто летаем с друзьями на тинивупах и иногда устраиваем маленькие локальные гоночки. В гоночках хотелось бы видеть результат:) Недавно наткнулся на интересную программу TinyViewPlus, позволяющую учитывать время прохождения круга по ArUco-маркерам, висящим на финишных воротах. Идея очень понравилась. Все, что нужно для работы программы - несколько приемников Eachine ROTG02, Eachine ROTG01 Pro или Eachine ROTG01. Сказано - сделано. Три приемника Eachine ROTG02 оказались у меня в руках. Сначала расскажу о самом приемнике Eachine ROTG02, а потом уже о программе TinyViewPlus.


Краткие характеристики Eachine ROTG02:
  • Количество каналов: 150
  • Диапазон частот: 5645~5945МГц
  • Разъемы для антенн: RP-SMA
  • Аналоговый видеовыход
  • Напряжение питания: 5В
  • Потребление тока: 300мА
  • Габариты: 60x41x11мм
Было получено три прибора в металлических контейнерах - защита на высоте! Контейнеры потом можно пустить под мелочевку:)


В комплекте есть пара антенн, шнур микроUSB-микроUSB и шнур микроUSB-USB-C. Никакой инструкции нет.


Сам приемник Eachine ROTG02 - простая пластиковая коробочка из слегка желтоватого пластика. На лицевой стороне две кнопки управления. С одной стороны торчат RP-SMA-выводы антенн, с другой стороны видны микроUSB и JST-1.25 на 4 пина с аналоговыми выводами.


Если на предыдущих версиях этого приемника на корпусе была написана распиновка JST-разъема, то в текущей версии производитель этого не сделал. Но распиновка осталась прежней: выход аудио, выход видео, плюсовой провод и общий. Приемник можно питать только от напряжения не более 5В.


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


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

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


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


Если на приемнике зажать и удерживать любую из кнопок - запускается процесс сканирования частот.


Выбрать конкретную частоту можно, используя эти же кнопки. За каждое нажатие кнопки частота смещается на 2МГц в ту или иную сторону. У приемника нет какой-либо конкретной сетки частот, только диапазон 5645~5945МГц. В настройках можно зафиксировать поворот экрана, включить автозапись при подключении Eachine ROTG02, выбрать место для хранения записей или включить воспроизведение звука.


В настройках доступен VR-режим, при котором экран разделяется на два. Можно взять любой VR-шлем, вставить туда телефон и подключить приемник.


К сожалению, полетать в такой конфигурации можно только на не очень быстрых FPV-носителях или покатать друзей. Задержка воспроизведения значительная, она ощущается при полете на гоночном квадрокоптере. Тем не менее, с помощью Eachine ROTG02 можно делать записи своих полетов. Телефон будет записывать видео в разрешении 640x480 пикселей с частотой 25 кадров в секунду.


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


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

Программа TinyViewPlus мультиплатформенная, но пока хорошо работает только с Windows и MacOS X. Исходный код программы открыт, поэтому, немного изменив код, мне удалось запустить ее и на Linux, о чем чуть позже.

Программа может получать изображение максимум с четырех приемников. Приемники можно подключать через USB-хаб, но только не с Windows. Для этой операционной системы нужны настоящие USB-порты. Для вывода изображения на экран программа использует OpenGL. Под Windows программа не будет работать со встроенным видео-адаптером, нужно перенаправить вывод на дискретную видеокарту, если она есть. Еще момент, под Windows программа использует библиотеки из пакета Microsoft Visual C++ 2015 Redistributable и, если такого нет в системе, надо его установить. Кроме подсчета времени на трассе, программа умеет озвучивать голосом различные события во время гонки. Пока доступны только японский и английский языки, работа над русским языком уже ведется.

Картинки ArUco-маркеров можно найти по ссылкам: первый, второй, третий и четвертый. Их нужно распечатать по две штуки размером не менее 150x150мм. По опыту скажу, что размер лучше сделать побольше, где-то 200x200мм, чтобы на больших скоростях они лучше определялись. Маркеры нужно закрепить на финишных воротах напротив друг друга. На маркерах есть отметка INSIDE, этой отметкой маркеры должны смотреть внутрь ворот. Финишные ворота надо устанавливать на прямом участке трассы так, чтобы квадрик влетал в эти ворота по возможности максимально перпендикулярно их плоскости и не на очень большой скорости. Если влетать в ворота под углом, засечка может и не сработать. Еще одно важное замечание. Изображение с камеры квадрика не должно быть перегружено OSD-элементами, они мешают нормально считать ArUco-маркер. Финишные ворота лучше сделать побольше размером, чтобы тинивуп гарантированно пролетел их. Стартовую позицию надо размещать за финишными воротами.

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


Следующий этап - определение пилотов. Можно вручную изменить имена пилотов в программе, щелкнув мышкой по имени пилота. Можно вручную выбрать иконку пилота, предварительно сохранив ее в PNG-формате в каталоге "pilots" с данными программы. Имя файла должно соответствовать имени пилота, тогда имя пилота будет задано автоматически. А можно задать имена пилотов в полностью автоматическом режиме. Для этого каждому пилоту надо сгенерировать свой никнейм, как QR-код. Можно воспользоваться бесчисленным количеством онлайновых генераторов QR-кода, но проще всего сделать это по данной ссылке, введя в конце строки свой никнейм и указав желаемый размер картинки.

Как использовать полученный QR-код? В программе есть режим сканирования, который включается и отключается по Q-клавише. В этом режиме надо показать программе ваш QR-код любым способом, тогда программа вас идентифицирует и автоматически выставит имя пилота и вашу иконку, если название файла с иконкой будет соответствовать имени пилота и такой файл найдется в каталоге "pilots". Есть два способа показать программе ваш QR-код. Первый - просто распечатать картинку с вашим QR-кодом и, когда программа будет в режиме сканирования, показать ваш QR-код в камеру квадрика. Второй - зашить ваш QR-код в стартовый экран OSD квадрика. Второй способ, конечно, удобнее, но не у всех квадриков есть программируемое OSD:)


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

Как зашить ваш QR-код в стартовый экран с прошивкой BetaFlight? Сначала надо создать в любом графическом редакторе изображение размером 288x72 пикселя. Затем надо разместить ваш QR-код в любом месте этого изображения. Лучше сгенерировать QR-код в размере 100x100 пикселей и вставить его так, как показано ниже.


Изображение формируется только из белого и черного цвета. Зеленый цвет - это прозрачные участки. Необходимо сохранить изображение в PNG-формате. На вкладке OSD конфигуратора BetaFlight следует нажать кнопку Font Manager в нижнем правом углу, в открывшемся диалоге выбрать желаемый шрифт и загрузить ваше изображение. Затем нажать кнопку Upload Font и проверить результат.


Итак, пилоты определены. Следующий этап - параметры гонки. Для этого следует нажать H-клавишу в программе TinyViewPlus. На экране будут представлены опции программы с описанием параметров.


Основные параметры гонки задаются по D-клавише. Появляются диалоговые окна, где задается максимальное время гонки и количество кругов. По M-клавише задается минимально возможное время круга. Этот параметр необходим для того, чтобы не было ложных срабатываний засечки. Собственно, это все, что нужно для начала гонки. Гонка начинается по нажатию на пробел, так же и останавливается. По завершению гонки программа выводит результаты.


Для того, чтобы сделать запись гонки или провести трансляцию, удобнее всего использовать программу OBS Studio. Эта программа потребляет малое количество ресурсов компьютера и записывает видео с экрана в отличном качестве.


Немного слов про работу TinyViewPlus в Linux. Есть две проблемы, мешающие нормальной работе программы. Первая - кривое определение доступных видеоустройств в библиотеке OpenFrameWorks, на основе которой построена программа. В Linux приемник Eachine ROTG02 определяется, как составное устройство, создаются два дополнительных девайса, например /dev/video0 и /dev/video1. При обращении к первому девайсу программа нормально отрабатывает, при обращении ко второму - выпадает в segmentation fault. Причем, при любом обращении, даже если просто запросить параметры устройства. Я не смог решить эту проблему корректно, поэтому поставил костыль - в Linux заставил программу работать только с каждым первым устройством из двух новых. В таком режиме все работает хорошо. Следующий косяк - в Linux нет какой-либо встроенной системы text-to-speech, в отличии от MacOS X и Windows. То есть, можно прикрутить любую на выбор из имеющихся. Без проблем можно добавить, например, espeak. Но, если делать с расчетом на будущее, с учетом того, что программа будет русифицирована, получается так, что ни одна из оффлайновых TTS-систем нормально не говорит по русски, кроме RHVoice. И тут нашлись подводные камни. Репозитарий RHVoice с бинарными сборками под Ubuntu очень давно не обновлялся и там нет пакетов под современную систему. Надо либо самому собирать и устанавливать RHVoice без участия пакетного менеджера, либо локально пересобрать и обновить доступные пакеты, перетряхнув в них зависимости. Не то, чтобы это было большой проблемой, но это таки большой костыль. Не очень хочется привязывать TinyViewPlus к зависимостям, полученным через костыли. Поэтому вопрос привязки русского TTS-движка в Linux остается открытым, а английскую версию можно привязать в любой момент. Мою сборку программы TinyViewPlus позже можно будет найти на GitHub.

Работает TinyViewPlus замечательно! Теперь только с этой программой и летаем. Бывает очень интересно посмотреть результаты тренировки. Для организаторов тинивупных гонок программа так же будет очень кстати. Впервые будем ее использовать на гонке в Симферополе.


Ваши пожелания по доработке TinyViewPlus можно оставить в комментариях под постом или в VK-группе. Удачных тренировок!