Head Tracker'ы. Подключение, использование и все что с ними связано
(я даже не знаю, зачем, возможно вы ученик с ХТ, а у вас тренер рядом сидит), все равно в какие каналы он отдает ППМ. Я просто привык, что ПАН и ТИЛТ на 7 и 8 каналах.
Моя аппа принимает только 1-6 каналы PPM, потому и спросил как переназначать каналы, только в GUI или нужно еще править код в модуле передатчика. В принципе, уже есть свежая прошивка аппы со всеми 8 PPM, так что заодно обновлю и ее.
Тогда в ГУИ выставляете нужные и снимаете их в аппе.
У меня не было цели переписать все, потому что я обнаружил “критическую неисправность”, даже наоборот, я хотел быстро все сделать.
Поэтому настройка модуля шлема полностью аналогична оригинальному проекту.
Сделал первый и почти закончил второй экземпляры переработанного беспроводного хэдтрекера на основе проекте DIY Headtracker 1.08 из Ардуины и гироакселемагнитометра MPU-9250
Молодец. Рад, что у нас еще кто-то головой думать не лениться.
Если опытный образец опробован, ПО отработано и на изделие имеется интерес, тогда можно его сделать в виде очень мелкой моно платы, без лишних соединений и соплей, которые могут отказать в самый не подходящий момент.
Думаю, что за пару дней можно спроектировать.
Надо?
Сначала обкатаем на тестовом экземпляре.
Я собрал второй экземпляр, спалил, перепаял новую арду и сейчас тестил - дискретит. Почему - непонятно.
Рядом лежит первый - пашет нормально.
Завтра буду разбираться. Может что-то не так сделал.
Плата - хорошая идея. Главное чтобы цена ее сборки не превысила стоимость Тринити. 😃
Спасибо, я вечером гляну.
Тут два важных момента.
- Арду и модем прошиваются и настраиваются только при отключенном друг от друга состоянии. Я делал две гребенки и джампер между их питанием.
- Физическое расположение компонент MPU-9250 должно быть геометрически точно таким, как на оригинальной плате.
Я до сих пор не могу понять, откуда у меня проблемы с вторым экземпляром. Возможно, когда я спалил ардуину, подав по ошибке 11 В вместо 5, я и модем повредил. Он работает, но медленно или со сбоями. Придется все снова проверять. 😦😦
достаточно UART разорвать или I2C тоже надо?
как программируется модуль ВТ?
Достаточно разорвать питание модема от ардуины. Если вы подсоединяете программатор к арду, то даже соединенные РХ-ТХ не мешают прошивке.
Программируется модем через программатор с чипом CH340 через АТ-команды.
Апдейт статуса. Сегодня три полета сделал. После взлета сразу забыл про эффект небольшого отката камеры на пару градусов после интенсивного поворота головой. В полете про это думать вообще некогда.
Общее впечатление - мне нравится. Угол поворота головы используется полностью. Глюков не было.
Подносили аппу с двухваттным усилителем 2.4 ГГц, трекер работает отлично.
Один момент - при включении шлема не надо им мотать. Лучше положить на стол и дать так трекеру подняться. Тринити не парил так своего владельца.
По изготовлению. Если два гиморных момента - калибровка, которая с первого раза даже у меня не получается, и конфигурирование девятью командами модемов, где надо сначала нажать кнопку на нем и подать питание, дать четыре команды, потом нажать и подать пятую, отпустить и подать еще четыре. 😃😃😃 А в остальном получается неплохая беспроводная вещь.
Тогда в ГУИ выставляете нужные и снимаете их в аппе.
Проверить работу ХТ не получается, никак не могу получить pan-tilt на нужных мне 5 и 6 каналах. Настройка каналов в GUI ничего не меняет. Может назначили 7-8 без возможности изменения?
Вечером проверю. Возможно менял что-то.
Я посмотрел код - да, каналы прошиты жестко.
Если умеете собирать код и заливать в мозг, то поправьте строки 801 и 802, указав нужный канал в массиве ppm[Х] вместо 6 и 7. Помните, что индекс начинается с нуля!
Вынужден снова задавать глупые вопросы ).
В общем, изменением типа и временных параметров PPM удалось добиться его “видимости” в передатчике. Но вот дальше никак.😵
Значения ppm[х] в строках 801 и 802 должны присваиваться в диапазоне 1000-2000, у меня же они 100 и -22016, не зависимо от подключения модуля трекера. Прошивку трекера не менял, в GUI пробовал разные значения каналов. Связь между модулями есть, при ее отсутствии сигналит FAILSAFE.
Если ppm[х] принудительно задаю числовое значение, то вижу это значение в передатчике, а вот проследить цепочку вычислений ppm[х] не в силах.
Подскажите, куда копать дальше?
Вопросы по теме вовсе не глупые.
Гуи на каналы не влияет.
Давайте в личку. Разберем, потом выложим резалт сюда.
Всем привет.
Я как-то выше писал, что делал второй экземпляр ХТ и спалил ардуину.
После перепайки новой ардуины выяснилось две вещи:
- БТ модуль может выжить при подаче на него 11 вольт вместо 5.
- Данные отдаются какими-то пачками раз в полсекунды. Поэтому движения серв прерывисты.
Пункт 2 навел меня на подозрение, что п. 1 неверен, и я подключил параллельно еще один модуль БТ. Ничего не изменилось.
Дальше я ковырялся в настройках БТ и обнаружил, что версия БТ 4.0 против 3.0 на первом работающем экземпляре.
Я выкопал еще один модуль БТ, слава богу это была версия 3.0. И что вы думаете? Она заработала сразу мягко и легко.
Покопав инет, я нашел пост, где говорится, что 4.0 надо выкинуть и использовать 3.0, так как с 4.0 есть маса глюков с конфигурированием.
У меня же они конфигурируются нормально, но работают совсем не так хорошо, как 3.0.
Внешний вид модулей привожу ниже. Работающий 3.0:
Неработающий 4.0:
В общем и целом я потерял с этими уродскими модулями два вечера, пытаясь понять природу дискретности передачи данных.
А она оказывается в глубинах прошивки модема версии 4.0, а вовсе не в коде ХТ.
Жаль, что я накупил этих уродских модулей на 5 комплектов.
Дополнил страницу по хэдтрекеру командами настройки модемов.
Доделал второй экземпляр - с БТ модемами версии 3.0 работает нормально.
Можно повторять. 😃
Нужно решить проблему блютус модемов версии 4.
После выхов займусь.
Разработал универсальную моно плату. Все 3 устройства в одной плате.
Здорово. Будете заказывать изготовление? Я бы пару-тройку купил.
На фото 10 плат, т.е. 5 пар.
Как только запустим ПО, можно заказать дополнительную партию.
Собрал DIY_Headtreker_1.09 (ардуино nano+gy-85). Воюю с колебровкой . После калибровки и подключения к передатчику сервы реагируют не так как нужно. Одна плоскость показывает нормально другие как бы в паре хотя отклоняю в одной плоскости. Грешу на неправильную колибровку. Подскажите какая последовательность волшебных движений должна с платой быть чтобы сей девайс заработал корректно ?
Я завел проект только с MPU9250. Калибровать аккуратно, ничего не путая, медленно и ждать после каждого поворота до нажатия на кнопку Далее секунд 5.