Давно интересуюсь темой беспроводного подключения передатчика к симулятору. Сегодня расскажу об еще одной попытке приспособить для этого промышленный продукт. Речь пойдет о беспроводном USD-свистке от OrangeRX.
USB-свисток выпускается в двух вариантах: с протоколом DSM2/DSMX и с протоколом FrSky. У меня первый вариант. Для него есть небольшое руководство на английском.
С привязкой USB-свистка к передатчику никаких проблем не возникло. В пульте DEVO-10 с прошивкой Deviation выставил протокол DSMX, 10 каналов. Если выставить меньшее количество каналов, то не все оси будут работать! На USB-свистке зажал кнопку сбоку и вставил его в USB-разъем. В пульте нажал Bind и все. USB-свисток завелся сразу и без проблем. Даже если его выдернуть из USB-разъема, то привязка к передатчику сохранится.
В компьютере USB-свисток определяется как восьми-осевой джойстик без кнопок с названием "Cypress USB dsmx HID". При первом подключении насторожило полное отсутствие дребезга в около-нулевой зоне. Провел калибровку и оказался в полном недоумении. Мертвая зона была порядка 8% хода стика в каждую сторону! Целый вечер сидел и в настройках пульта вырезал эту огромную мертвую зону. А проблема-то была совсем в другом. Мертвая зона образовалась в процессе калибровки. Когда в настройках джойстика руками выставил нормальные значения, то мертвая зона исчезла, но и дребезг не появился! Когда стики находятся по центру и откалиброваны в пульте, то джойстик показывает нулевые значения по осям.
Экспериментальным путем выяснил, что джойстик имеет 168 шагов на каждую ось. Вроде бы маловато, но в симуляторе это не ощущается. Модель управляется гладко и точно, без ступенек.
Для настройки джойстика в Ubuntu потребуются две программы: joystick и jstest-gtk. Обе устанавливаются одной командой:
# sudo apt-get install joystick jstest-gtk
Затем в jstest-gtk делаются настройки, как на скриншоте выше, и результат сохраняется командой:
# sudo jscal-store /dev/input/js0
При следующем подключении USB-свистка данные калибровки автоматически подтянутся.
В Windows получилась примерно такая же картина. USB-свисток откалибровался без мертвой зоны. Все каналы работали. Никакие драйвера не потребовались.
USB-свисток проверил в симуляторах Heli-X, FPVFreeRider и LiftOff на системе Ubuntu. В Heli-X заработало все сразу и без проблем. С FPVFreeRider и LiftOff USB-свисток не заработал. Стал искать причину. Как оказалось, на симуляторах, созданных с помощью платформы Unity3D, кривовато определяется наличие джойстика в системе, по крайней мере в Ubuntu. На Windows не удалось проверить, но в руководстве написано, что там все должно работать без проблем.
Решение проблемы в Ubuntu придумал практически сразу, благо в наличии был старый USD-свисток, с которым работали все симуляторы. Вот как старый USB-свисток видится в системе:
# udevadm info /dev/input/js0
P: /devices/pci0000:00/0000:00:14.0/usb3/3-13/3-13.4/3-13.4:1.0/0003:06F7:0003.0024/input/input53/js0
N: input/js0
S: input/by-id/usb-WAILLY_PPM-joystick
S: input/by-path/pci-0000:00:14.0-usb-0:13.4:1.0-joystick
E: DEVLINKS=/dev/input/by-id/usb-WAILLY_PPM-joystick /dev/input/by-path/pci-0000:00:14.0-usb-0:13.4:1.0-joystick
E: DEVNAME=/dev/input/js0
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb3/3-13/3-13.4/3-13.4:1.0/0003:06F7:0003.0024/input/input53/js0
E: ID_BUS=usb
E: ID_FOR_SEAT=input-pci-0000_00_14_0-usb-0_13_4_1_0
E: ID_INPUT=1
E: ID_INPUT_JOYSTICK=1
E: ID_MODEL=PPM
E: ID_MODEL_ENC=PPM
E: ID_MODEL_ID=0003
E: ID_PATH=pci-0000:00:14.0-usb-0:13.4:1.0
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_13_4_1_0
E: ID_REVISION=0107
E: ID_SERIAL=WAILLY_PPM
E: ID_TYPE=hid
E: ID_USB_DRIVER=usbhid
E: ID_USB_INTERFACES=:030000:
E: ID_USB_INTERFACE_NUM=00
E: ID_VENDOR=WAILLY
E: ID_VENDOR_ENC=WAILLY
E: ID_VENDOR_ID=06f7
E: MAJOR=13
E: MINOR=0
E: SUBSYSTEM=input
E: TAGS=:seat:uaccess:
E: USEC_INITIALIZED=945499616162
Старый USB-свисток явно определяется как джойстик и симуляторы его подхватывают. А вот как выглядит в системе USD-свисток от OrangeRX:
# udevadm info /dev/input/js0
P: /devices/pci0000:00/0000:00:14.0/usb3/3-13/3-13.4/3-13.4:1.0/0003:0451:16A5.0025/input/input54/js0
N: input/js0
E: DEVNAME=/dev/input/js0
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb3/3-13/3-13.4/3-13.4:1.0/0003:0451:16A5.0025/input/input54/js0
E: ID_BUS=usb
E: ID_INPUT=1
E: ID_INPUT_ACCELEROMETER=1
E: ID_MODEL=USB_dsmX_HID
E: ID_MODEL_ENC=USB\x20dsmX\x20HID
E: ID_MODEL_ID=16a5
E: ID_PATH=pci-0000:00:14.0-usb-0:13.4:1.0
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_13_4_1_0
E: ID_REVISION=0100
E: ID_SERIAL=Cypress_USB_dsmX_HID
E: ID_TYPE=hid
E: ID_USB_DRIVER=usbhid
E: ID_USB_INTERFACES=:030000:
E: ID_USB_INTERFACE_NUM=00
E: ID_VENDOR=Cypress
E: ID_VENDOR_ENC=Cypress
E: ID_VENDOR_ID=0451
E: MAJOR=13
E: MINOR=0
E: SUBSYSTEM=input
E: USEC_INITIALIZED=945649611930
Ничего себе, определяется, как набор акселерометров! Да, инженеры из OrangeRX еще те шутники:) И никакого намека на то, что это много-осевой джойстик. Вот поэтому симуляторы и не подхватывают этот USB-свисток. Пришлось убедить систему, что перед ней все таки джойстик, а не набор акселерометров. Это можно сделать через простое правило для подсистемы udev. Следующие две команды создают такое правило и применяют его к системе:
# sudo echo 'SUBSYSTEM=="input", ATTRS{idVendor}=="0451", ATTRS{idProduct}=="16a5", ENV{ID_INPUT_ACCELEROMETER}="0", ENV{ID_INPUT_JOYSTICK}="1"' >/etc/udev/rules.d/52-input-joystick.rules
# sudo udevadm control -R
Теперь снова проверим, как USD-свисток от OrangeRX видится в системе:
# udevadm info /dev/input/js0
P: /devices/pci0000:00/0000:00:14.0/usb3/3-13/3-13.4/3-13.4:1.0/0003:0451:16A5.0026/input/input55/js0
N: input/js0
S: input/by-id/usb-Cypress_USB_dsmX_HID-joystick
S: input/by-path/pci-0000:00:14.0-usb-0:13.4:1.0-joystick
E: DEVLINKS=/dev/input/by-id/usb-Cypress_USB_dsmX_HID-joystick /dev/input/by-path/pci-0000:00:14.0-usb-0:13.4:1.0-joystick
E: DEVNAME=/dev/input/js0
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb3/3-13/3-13.4/3-13.4:1.0/0003:0451:16A5.0026/input/input55/js0
E: ID_BUS=usb
E: ID_FOR_SEAT=input-pci-0000_00_14_0-usb-0_13_4_1_0
E: ID_INPUT=1
E: ID_INPUT_ACCELEROMETER=0
E: ID_INPUT_JOYSTICK=1
E: ID_MODEL=USB_dsmX_HID
E: ID_MODEL_ENC=USB\x20dsmX\x20HID
E: ID_MODEL_ID=16a5
E: ID_PATH=pci-0000:00:14.0-usb-0:13.4:1.0
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_13_4_1_0
E: ID_REVISION=0100
E: ID_SERIAL=Cypress_USB_dsmX_HID
E: ID_TYPE=hid
E: ID_USB_DRIVER=usbhid
E: ID_USB_INTERFACES=:030000:
E: ID_USB_INTERFACE_NUM=00
E: ID_VENDOR=Cypress
E: ID_VENDOR_ENC=Cypress
E: ID_VENDOR_ID=0451
E: MAJOR=13
E: MINOR=0
E: SUBSYSTEM=input
E: TAGS=:seat:uaccess:
E: USEC_INITIALIZED=946869574054
Ну вот, совсем другое дело! Теперь, вместо набора акселерометров, этот USB-свисток стал определяться как джойстик. После этой простой процедуры без проблем заработали симуляторы FPVFreeRider и LiftOff. USD-свисток от OrangeRX в них видится, калибруется и работает.
Здесь приведу свою конфигурацию для передатчика DEVO-10 с прошивкой Deviation. На тумблере RUDD D/R находится режим для калибровки джойстика, когда каналы ниже четвертого управляются с крутилок AUX4 и AUX5. Остальное можно переназначить на свой вкус.
Данный USD-свисток от OrangeRX понравился больше, чем старый. Пока что полетаю с ним. Извиняюсь за большое количество текста, многим оно будет не очень интересно. Но мне хотелось во всем разобраться и рассказать об этом, как можно подробнее. Удачных тренировок!
01 февраля 2017
29 января 2017
Гонки по FPV - проект нового квадрика
Как говорится, гоночных квадриков много не бывает:) У меня уже есть один для фристайла, один - для гонок, а теперь хочу собрать еще один - для экспериментов. Каждый день появляется все больше интересного "железа" для гоночных квадриков. Ставить на отлаженные модели новые электронные компоненты как-то не хочется. Вот и будет такой себе квадрик, на котором экспериментировать не жалко.
За основу взял нижнюю пластину на 4мм от рамы RealAcc X210, которая является почти полным клоном Lumenier QAV-X. Кабинка из поликарбоната для QAV-X подошла почти идеально. Только передние отверстия в пластине пришлось расточить по полмиллиметра в стороны. Получилась очень простая и очень прочная рама всего из двух деталей:) Поликарбонат сломать - надо постараться! Но я способный:)
Сразу же примерил передатчик Eachine ET526. Встал без проблем. Очень понравилась его фиксация внутри верхней части.
Сначала я думал, что в кабинку потребуется передатчик с угловым разъемом, но это не так. Передатчик можно зафиксировать парой стяжек. Одна за корпус, вторая за антенный кабель.
В кабинке очень удачно расположен вырез под кнопку переключения каналов передатчика. Силовой разъем будет сзади. Под него есть фигурный вырез в кабинке. А я-то думал, что потребуется фиксатор XT60-разъема и купил их парочку.
Кабинку из поликарбоната для QAV-X помог получить друг с материка, так как в наши края Америка не шлет - санкции-с:) Спасибо ему огромное!
Моторы планирую поставить довольно мощные. На выбор есть два варианта: еще не выпущенный EMax TS2306 2400kV или T-Motor F40 2305 2400kV. Я уже достаточно насмотрелся на различные моторы и для себя сделал один вывод: чтобы квадрик хорошо подрывался, мотор должен быть намотан тонким проводом в несколько жил с очень плотной укладкой в пазы статора. Этим требованиям удовлетворяют три мотора. Два из них, про которые говорил выше, и Lumenier 2206 2350kV. Их-то мне и не купить:(
Хочу попробовать новые регуляторы EMax EMX-SC-1775 Bullet Series 35A 3-6S или проверенные RacerStar RS35A V2 2-6S. Зачем такие-то мощные? С запасом на будущее. Тенденция такая, что сейчас с гоночными квадриками происходит тоже самое, что было в свое время с вертолетами - надо больше мощности! А аккумуляторы пока не могут выдавать желаемые токи, у них тоже есть свой технологический предел. Поэтому остается поднимать только напряжение, то есть увеличивать количество банок в аккумуляторе. Так что в этом году будут популярны аккумуляторы на 5S и 6S. Потому и регуляторы нужны с поддержкой шести банок.
Полетный контроллер будет на F4-процессоре с гироскопами, способными поддерживать частоту работы в 32кГц. А может к тому времени и на F7 что-то появится:)
Камера, скорее всего, будет Foxeer Arrow V3 или аналогичная. Металлический корпус решает! Она является продолжением знаменитой Foxeer HS1177, а эта камера, по крайней мере для меня, остается эталоном. Как надоел аналог, когда же будет быстрая и доступная цифра...
Остальная начинка остается под вопросом. Все будет зависеть от того, что смогут предложить производители на тот момент, когда квадрик будет укомплектован регуляторами и моторами.
За основу взял нижнюю пластину на 4мм от рамы RealAcc X210, которая является почти полным клоном Lumenier QAV-X. Кабинка из поликарбоната для QAV-X подошла почти идеально. Только передние отверстия в пластине пришлось расточить по полмиллиметра в стороны. Получилась очень простая и очень прочная рама всего из двух деталей:) Поликарбонат сломать - надо постараться! Но я способный:)
Сразу же примерил передатчик Eachine ET526. Встал без проблем. Очень понравилась его фиксация внутри верхней части.
Сначала я думал, что в кабинку потребуется передатчик с угловым разъемом, но это не так. Передатчик можно зафиксировать парой стяжек. Одна за корпус, вторая за антенный кабель.
В кабинке очень удачно расположен вырез под кнопку переключения каналов передатчика. Силовой разъем будет сзади. Под него есть фигурный вырез в кабинке. А я-то думал, что потребуется фиксатор XT60-разъема и купил их парочку.
Кабинку из поликарбоната для QAV-X помог получить друг с материка, так как в наши края Америка не шлет - санкции-с:) Спасибо ему огромное!
Моторы планирую поставить довольно мощные. На выбор есть два варианта: еще не выпущенный EMax TS2306 2400kV или T-Motor F40 2305 2400kV. Я уже достаточно насмотрелся на различные моторы и для себя сделал один вывод: чтобы квадрик хорошо подрывался, мотор должен быть намотан тонким проводом в несколько жил с очень плотной укладкой в пазы статора. Этим требованиям удовлетворяют три мотора. Два из них, про которые говорил выше, и Lumenier 2206 2350kV. Их-то мне и не купить:(
Хочу попробовать новые регуляторы EMax EMX-SC-1775 Bullet Series 35A 3-6S или проверенные RacerStar RS35A V2 2-6S. Зачем такие-то мощные? С запасом на будущее. Тенденция такая, что сейчас с гоночными квадриками происходит тоже самое, что было в свое время с вертолетами - надо больше мощности! А аккумуляторы пока не могут выдавать желаемые токи, у них тоже есть свой технологический предел. Поэтому остается поднимать только напряжение, то есть увеличивать количество банок в аккумуляторе. Так что в этом году будут популярны аккумуляторы на 5S и 6S. Потому и регуляторы нужны с поддержкой шести банок.
Полетный контроллер будет на F4-процессоре с гироскопами, способными поддерживать частоту работы в 32кГц. А может к тому времени и на F7 что-то появится:)
Камера, скорее всего, будет Foxeer Arrow V3 или аналогичная. Металлический корпус решает! Она является продолжением знаменитой Foxeer HS1177, а эта камера, по крайней мере для меня, остается эталоном. Как надоел аналог, когда же будет быстрая и доступная цифра...
Остальная начинка остается под вопросом. Все будет зависеть от того, что смогут предложить производители на тот момент, когда квадрик будет укомплектован регуляторами и моторами.
27 января 2017
HUBOSD - прошивка без программатора
Недавно нашел интересный материал о том, как прошить любую плату HUBOSD без программатора. А сегодня попробовал на практике на плате RealAcc HUBOSD ECO X.
Оно работает! Делал все по инструкции. Подпаял три проводка от свободного UART-разъема к плате RealAcc HUBOSD ECO X. У меня был свободен UART2 на плате SP Racing F3 6DOF. Соединил UART-RX - HUBOSD-TX, UART-TX - HUBOSD-RX и общий. Общий можно было и не подпаивать, платы и так соединены.
Затем снял пропеллеры, подключил полетный контроллер к компьютеру, подключил аккумулятор, запустил конфигуратор BetaFlight. На вкладке CLI в командной строке ввел:
serialpassthrough 1 115200
Первая цифра - номер UART-порта. Счет идет от нуля, поэтому для UART2 ставлю цифру один. Вторая цифра - скорость порта. Можно такую и оставить. Выключил конфигуратор. Не отключая аккумулятора и USB-разъем, запустил программу прошивки STOSD8 Tool, скачал самую свежую на сегодня прошивку версии 3.3 и без проблем залил ее в плату RealAcc HUBOSD ECO X по инструкции с сайта stosd.com. Все!
Оно работает! Делал все по инструкции. Подпаял три проводка от свободного UART-разъема к плате RealAcc HUBOSD ECO X. У меня был свободен UART2 на плате SP Racing F3 6DOF. Соединил UART-RX - HUBOSD-TX, UART-TX - HUBOSD-RX и общий. Общий можно было и не подпаивать, платы и так соединены.
Затем снял пропеллеры, подключил полетный контроллер к компьютеру, подключил аккумулятор, запустил конфигуратор BetaFlight. На вкладке CLI в командной строке ввел:
serialpassthrough 1 115200
Первая цифра - номер UART-порта. Счет идет от нуля, поэтому для UART2 ставлю цифру один. Вторая цифра - скорость порта. Можно такую и оставить. Выключил конфигуратор. Не отключая аккумулятора и USB-разъем, запустил программу прошивки STOSD8 Tool, скачал самую свежую на сегодня прошивку версии 3.3 и без проблем залил ее в плату RealAcc HUBOSD ECO X по инструкции с сайта stosd.com. Все!
26 января 2017
Полезная мелочь - крепление гоночного квадрика к рюкзаку
Совсем недавно озаботился проблемой крепления гоночного квадрика снаружи к рюкзаку. Вроде бы и мелочь, но возиться с пришиванием ремешков не очень-то хотелось. Так и забросил. А сегодня увидел вот такую интересную штуку:
Вроде и сложного ничего нет: две пластинки, четыре болтика и ремешок! Выглядит отлично, устанавливается легко и непринужденно:) И где оно раньше было, когда требовалось...
Вроде и сложного ничего нет: две пластинки, четыре болтика и ремешок! Выглядит отлично, устанавливается легко и непринужденно:) И где оно раньше было, когда требовалось...
BetaFlight 3.1.0
Вышел релиз прошивки BetaFlight-3.1.0 для полетных контроллеров гоночных квадриков. Релиз очень большой и значительный.
Приведу список изменений:
Приведу список изменений:
- Добавлена поддержка F7-процессоров (ANYFCF7 - первый поддерживаемый кандидат...)
- Динамическое распределение входов/выходов
- Поддержка DSHOT для процессоров F3 и F4. Поддерживаются DSHOT150, DSHOT300, DSHOT600 и DSHOT1200 (читайте wiki о поддерживаемом оборудовании)
- Полная поддержка операций с плавающей точкой на всех этапах полета
- Много новых динамических настроек (фильтры, setpoint weights, прочее)
- Поддержка телеметрии для регуляторов KISS (только для DSHOT)
- Много оптимизаций кода (возможна более быстрая работа PID-регулятора на процессорах F3 и F4)
- Поддерживается телеметрия регуляторов KISS (только с DSHOT)
- Добавлено определение температуры и оборотов для регуляторов KISS
- Добавлена поддержка serial passthrough (программирование регуляторов через полетный контроллер) для регуляторов KISS24 и CASTLE
- Поддержка множества новых полетных контроллеров
- Добавлена поддержка CMS для внешних OLED-экранов
- Добавлена поддержка CSRF для TBS-приемников и связанной телеметрии
- Добавлены дополнительные параметры OSD, такие как PID и данные по питанию
- Добавлена поддержка SmartAudio для передатчиков TBS Unify
- Добавлена поддержка MSP через Smartport
- Автоматический выбор видео-формата для OSD
- Множественные улучшения конфигуратора
- Ускорение сборки прошивки. В этом есть необходимость, так как требуется сборка для многих полетных контроллеров
- Исправлено определение огромных фреймов на полетных контроллерах, работающих через VCP-драйвер. Поэтому логи BlackBox будут загружаться немного быстрее
- Новый параметр "anti_gravity_threshold" добавляет стабильности при резких перегрузках во время полета. Он применяется при быстрых скачках газа, когда квадрик находится в точке перехода от падения к подъему. В этих случаях параметр ITerm может вызвать нежелательные эффекты, такие как тряска или рысканье по руддеру. Это возникает из-за частых изменений от первоначального положения (due to strong changes in accumulation polarities).
- Защита от слишком частых изменений оборотов двигателей (для примера, если выбран протокол OENSHO125, тогда максимальная возможная скорость работы PID-регулятора и частота изменения скорости моторов будет 2кГц)
- Добавлена экспериментальная поддержка частоты работы гироскопов на 32кГц для тех гироскопов, которые это могут. Как правило, полетные контролеры на F4-процессоре хорошо работают при частоте гироскопов 32кГц и частоте PID-регулятора 16кГц. 32/32 - многовато для F4-процессора. Пока что F7-процессор единственный, способный работать безотказно на частотах 32/32, даже со включенным акселерометром. Для включения поддержки частоты 32кГц используйте команду gyro_use_32khz = ON. (Конфигуратор не будет корректно отображать скорость работы, пока не будет ближайшего обновления, но вы можете видеть реальное время работы цикла в строке статуса). Заметка - только полетные контроллеры с гироскопами MPU6500, MPU9250 и ICM-серий (типа ICM20689) поддерживают частоту работы 32кГц.
- Улучшения в работе BlackBox (требует обновления BlackBox Explorer до версии 2.5.8 или выше)
- Добавлено два новых параметра: level_angle_limit и level_stick_sensitivity. Параметры задаются в градусах. level_angle_limit - максимально допустимый угол наклона. level_stick_sensitivity - максимальное отклонение квадрика при максимальном отклонении стика.
- Добавлена поддержка IRC для передатчиков Tramp (можно изменять канал, диапазон, мощность и pit-mode прямо с пульта)
- И многое другое...
Подписаться на:
Сообщения
(
Atom
)











