Гоночный трикоптер RCExplorer MiniTricopter

PlanB

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

LeoTheHuman

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

PlanB:

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

Есть предположение, что это может быть связано с thrust factor настройкой. К сожалению, до своего трикоптера доберусь не раньше, чем через неделю. Судя по ответам на форуме, донести как раз получилось, правда велика вероятность, что бага как раз нет. Ваше “донести до разработчика не могу” здесь выглядит как упрек, возможно вы не это имели в виду.

PlanB

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

Очень поможет, если вы, по возможности, попробуете воспроизвести ошибку, я подозреваю что она может проявляться на любых контроллерах.
Два самых явных внешних признака:
Трикоптер при резком увеличении троттла клюет носом, заметно прямо при взлете.
После tailtune получается слишком низкое значение trustfactor.

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

Встроенный контроллер очень нравится, но мне элементарно не хватает портов, минимум устройств которые мне нужно подключать SBUS Rx, OSD, OpenLog, Smartport телеметрия, иногда GPS. Остальное второстепенно, но встроенный контроллер устарел, как ни крути, надеюсь Дэвид сделает таки новую плату, поэтому сижу жду, т.к. есть желание заказать еще один кит.

lvsw
PlanB:

но встроенный контроллер устарел, как ни крути, надеюсь Дэвид сделает таки новую плату

А встроенный контроллер на каком проце? На F1 или на F3?

Кстати, мужики, а как у вас живут провода на заднем моторе?
Не перетираются от постоянного шевеления?

LeoTheHuman

F1, обычный Naze32 Rev. 5 со слегка перемещенными отверстиями для пинов.
У меня не перетираются, нет ничего, обо что можно было бы перетереться.

lvsw
LeoTheHuman:

F1, обычный Naze32 Rev. 5 со слегка перемещенными отверстиями для пинов.

уууу, т.е. версия без UART3 и без поддержки S.BUS? Если так, то действительно уныленько, особенно для желающих повесить еще и OSD с GPS 😦

PlanB

Попробую кратко суммировать мое текущее понимание ситуации:

Проблема появилась в версии прошивки 0.5 beta 2, в предыдущей версии проблема отсутствует.

Проблема проявляется при использовании virtual servo, при подключении датчика положения сервопривода не проявляется.

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

Процедура TailTune дает некорректный результат, значение tri_tail_motor_thrustfactor примерно на треть меньше ожидаемого(обычно в моем сетапе около 95-100, а получается около 60). Неправильное значение thrustfactor очень легко определить по логам - если I имеет постоянно значительную величину, значит крутящий момент хвостового пропеллера не скомпенсирован и требуется постоянная коррекция. При правильном значении thrustfactor I не должно заметно отличаться от нуля при висении.

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

Я предполагаю, что есть ошибка где-то в коде виртуальной сервы, которая приводит к неверной оценке угла наклона хвостового мотора (в большую сторону). Как следствие, контроллер вносит излишне большую коррекцию для компенсации изменения вертикальной составляющей тяги мотора (есть такой оптимизирующий алгоритм в triflight).

Проблема:

Как должно быть:

Логи могу выложить целиком, если нужно.

lvsw
PlanB:

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

Во! Есть такое дело, прям хвост задирает на взлете и приходится подруливать, причем не с наклоном мотора проблема, а именно с оборотами. Из-за более высоких оборотов хвостового мотора, при взлете первым от земли отрывается именно хвост.
Хм, распаять чтоль проводок от потенциометра сервы, процедура вроде не сложная вовсе.

LeoTheHuman

Насколько я понимаю, с датчиком у вас получаются другие значения thrust factor & servo speed, правильно? Что если их прописать вручную когда вы отключаете датчик? Что получается?

PlanB
LeoTheHuman:

Насколько я понимаю, с датчиком у вас получаются другие значения thrust factor & servo speed, правильно? Что если их прописать вручную когда вы отключаете датчик? Что получается?

servo speed можно измерить только с датчика, у меня получается 262-266, что хорошо соотносится с данными от других пользователей. Что получится если ввести вручную правильный thrust factor смогу сказать вечером. Сниму логи и добавлю информацию в этот пост.

PlanB

Если прописать правильное значение thrust factor вручную, то хвост стабилизируется нормально на первый взгляд, т.е. I около нуля при висении. Но нестабильность по тангажу сохраняется.

Забыл упомянуть еще один момент - при использовании virtual servo положение сервопривода в логах отображается некорректно, значение всегда около 93-97, график плоский.

lvsw

Подскажите, пожалуйста, на штатном Naze32 есть контакты RX/TX ближе к носу.
Правильно ли я понимаю, что именно к ним можно цеплять OSD?

PlanB

У меня штатного naze нет, но цеплять OSD можно к любому UART порту

LeoTheHuman

И к ним тоже можно. Если вы планируете занять оба порта, то именно к ним лучше подключить OSD, т.к. он работает по тому же протоколу, что и USB, а эти контакты соединены с UART1, на котором и находится USB. Если вы не планируете никаких больше устройств подключать по UART, то можно подключить OSD к UART2 (Rx pins 3/4), чтобы OSD и USB могли работать и одновременно тоже.

lvsw
PlanB:

но цеплять OSD можно к любому UART порту

Да это понятно, но хотелось бы именно к UART1 цепляться, что бы тот же UART2 задействовать под DSMX-сателлит.

LeoTheHuman:

И к ним тоже можно. Если вы планируете занять оба порта, то именно к ним лучше подключить OSD, т.к. он работает по тому же протоколу, что и USB, а эти контакты соединены с UART1

Вооот, именно это я и ожидал услышать. Отлично.

Вообще задумался о приобретении штатного Naze32, а то конечно SP F3 Racing хорошо, подцепил к нему и OSD, и GPS, и DSMX-сателлит. Все работает отлично. Но блин, удалось его относительно удобно разметить таким образом, что USB-порт повернут в сторону камеры. И что бы к компу подключаться, приходится либо камеру снимать, либо каждый раз вытыкать OSD и подключаться через USB/TTL-адаптер. Оба варианта не очень удобны )

LeoTheHuman
lvsw:

Вооот, именно это я и ожидал услышать. Отлично.

Когда будете работать с USB, убедитесь что OSD или отключен, или не запитан, иначе могут быть проблемы с подключением.

lvsw
LeoTheHuman:

то можно подключить OSD к UART2 (Rx pins 3/4)

А у штатного NAZE только два UART? Или есть еще UART3?

LeoTheHuman:

Когда будете работать с USB, убедитесь что OSD или отключен, или не запитан, иначе могут быть проблемы с подключением.

Да, я в курсе, спасибо.

lvsw

Тут подумалось, а может для дополнительной защиты от крашей, залить компаундом штатный Naze32?

lvsw
PlanB:

лаком, думаю, будет достаточно

У меня есть пластик71, им уже покрыл PDB трикоптера. Но он создает тоненький слой. Им хорошо делать гидроизоляцию, но вряд ли может как-то защитить плату от разрушений.

LeoTheHuman

Я покрывал Naze32 тем же пластиком, от удара по компонентам все равно ничего не спасет, а от вылета элементов по инерции они оба скорее всего одинаково помогут. Но тут я не специалист. Мой главной задачей было защитить электронику от влаги при посадках в снег. www.instagram.com/p/BCP6OHVRLcV/