Вопросы по iNav

gmonorok

Коптер 120гр. Аки 150гр.) Ну это до операции снижения веса. Завтра логи сниму на полном газу. Полетник приличный 20*20 не нашол. Пока использую matek crt. Влезает, рама и на 20*20 и на 30*30. Потом перейду на 20*20 и лишнее с рамы срежу.

tuskan
rc468:

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

мне кажется контроллер пнросто обрежет по самому дохлому мотору (если нет десинхронизации, как было у меня)

Shu
Siarzhuk:

приподнимаете стик газа, чтобы компенсировать просадку, коптер подрывает резко вверх?

Приподнимаю - сначала никакой реакции, а потом сразу 100%! Use mid throttle for althold у меня выкл. т.е. “нулём”
у меня будет положение стика на момент вкл алтхолда. Как бы ещё высоту по ОСД посмотреть? У меня то что было
высотомером на ОСД чудным образом превратилось в вариометр. В посте 6329 мне сказали что так и должно быть.

Siarzhuk:

сверху контроллер закрывается плотно крышкой?

Плотно, но не герметично, спереди вообще открыто

rc468
tuskan:

мне кажется контроллер пнросто обрежет по самому дохлому мотору (если нет десинхронизации, как было у меня)

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

gmonorok:

А что у вас было? и как решили?

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

tuskan
gmonorok:

А что у вас было? и как решили?

статор проворачивался на корпусе мотора.
из-за этого плавно все летало отлично, но если сделать резкий маневр, один двигатель вырубался и коптер падал. Если в стабе, то иногда просто кувыркался и выравнивался.
ну а так как при провороте статор дергал за обмотку, в месте ее припайки к проводам, то мотор теперь в перемотку. Пока поставил другой.
При этом, имею сейчас 3 мотора 2207 и один 2305 Мягко говоря, совсем разные по характеру моторы.
Ииииии… (барабанная дробь) - этого никак на коптере не чувствуется. Чуть послабже рвет в полном газу.
так что

rc468:

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

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

rc468
tuskan:

вот это так не работает. Контроллер выравнивает наргузку настолько быстро, что глазу этого не заметно.

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

tuskan
rc468:

Значит при небольших отклонениях газа контроллер успевает выравнивать, а при больших нет.

значит, у мотора есть проблема. Которую контроллер не может решить штатными способами.

rc468

Я и предлагаю проверить моторы 😃

gmonorok

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

Siarzhuk
Shu:

В посте 6329 мне сказали что так и должно быть.

На сколько я понимаю, контроллер берёт за ноль высоту в момент арминга. Пока Вы не заармились, высота на ОСД будет подстраиваться под ноль. Думаю, если снять пропеллеры и заармиться, тогда высота будет отображаться правильно. Но Вам надо посмотреть как измеряется высота во время полёта, а не в руках. Постарайтесь сделать видео, подобное моему с вертикальным взлётом и снижением.

Shu:

Плотно, но не герметично, спереди вообще открыто

Подозреваю, что в этом может и быть Ваша проблема с неправильным измерением высоты. Передние пропеллеры вращаются на камеру и задувают воздух прямо в отсек с контроллером. Этот отсек заглушен сзади и открыт спереди. Похоже, что он работает как ресивер в компрессоре. Давление в нём держится повышеным и падает только когда отключаются двигатели. Попробуйте для эксперимента заглушить переднюю часть. Например, заклеить скотчем. Потом полетать. Кстати, можно и не летать. Закрепите коптер на 3л банку с водой, поставте на табуретку и “взлетайте”, отслеживая высоту на ОСД. Она не должна меняться. Если бародатчик задувает, Вы увидите изменение показаний высоты.

Siarzhuk

Посмотрел свои старые видеозаписи тестов с “коптером на табуретке”. Я тогда аналогичным способом подбирал наиболее удачное место для компаса. Газовал от 0 до 100%. Когда паралон хорошо защищал бародатчик, высота стояла на “0” при полном диапазоне изменения газа. Но попались и не очень удачные случаи. Барометр задувало и при увеличении газа высота уходила в минус. Хороший тест получился, чтобы проверять паралончик!

Siarzhuk
gmonorok:

Какую методу проверки без демонтажа рекомендуете?

Думаю, можно сделать так. Закрепите коптер на электронных весах и сбросьте показания на “0”. Подключите контроллер по USB к комп’ютеру. В конфигураторе или в BLHeliSuite зайдите на вкладку моторы и погоняйте их по одому, сравнив тягу по показаниям весов. 130 коптер проще всего крепить к пробке 2л пластиковой бутылки с водой, сделав соответствующий кронштейн. Бутылку с коптером ставте на весы.

tuskan
gmonorok:

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

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

QuadroSky

Подскажите как подключить к Матек F722std 2 сервы. Полетник на коптере. Подключил одну на контакт pwm, в конфигураторе все настроил и работает. Откуда взять сигнал для второй сервы?

SkyPlayer
QuadroSky:

Откуда взять сигнал для второй сервы?

Как обычно - мануал почитать: github.com/…/Connecting-a-Gimbal-to-iNav
У вас на полётнике есть мотор-выходы 5 и 6 - вот к ним свои сервы и подключайте. Если окажется, что сервы жестко заданы на мотор-выходы 7 и 8 - поправьте в исходниках на 5-6 и пересоберите прошивку.

UPD: Мда, копнул исходники - что-то там всё печально. Похоже, для квадра предусмотрен всего один сервовыход. В BF можно было бы попробовать ремапнуть, но iNAV такой возможности не имеет.

QuadroSky
SkyPlayer:

Если окажется, что сервы жестко заданы на мотор-выходы 7 и 8 - поправьте в исходниках на 5-6 и пересоберите прошивку.

Легко сказать. Но если никогда этим не занимался то чувствую себя как первоклашка у доски)).

SkyPlayer
QuadroSky:

Но если никогда этим не занимался то чувствую себя как первоклашка у доски)).

Вы полагаете, мне проще? Тем более, у меня и вашего контроллера-то в наличии нет.
Но кое-что накопал: github.com/iNavFlight/inav/blob/…/target.c
Обратите внимание на строчку

{ TIM4, IO_TAG(PB8),    TIM_CHANNEL_3, TIM_EN,   IOCFG_AF_PP_PD, GPIO_AF2_TIM4, TIM_USE_MC_CHNFW | TIM_USE_MC_SERVO | TIM_USE_FW_SERVO }, //S7 DMA1_ST7

Это и есть назначение функции сервы (как для channel forwarding так и для SERVO GIMBAL) для выход PB8 проца - в мануале по полётнику указано, что именно он на PWM и выходит, причём для мультикоптера других сервовыходов не предусмотрено, они есть только для крыла или самолёта (TIM_USE_FW_SERVO).
Можно попробовать изменить предыдущую строчку по аналогии

{ TIM1, IO_TAG(PA8),    TIM_CHANNEL_1, TIM_EN,   IOCFG_AF_PP_PD, GPIO_AF1_TIM1, TIM_USE_MC_CHNFW | TIM_USE_MC_SERVO | TIM_USE_FW_SERVO }, //S6 DMA2_ST6 SV6

то есть для выхода S6 заменяем функцию TIM_USE_MC_MOTOR (мотор мультикоптера) на TIM_USE_MC_CHNFW (multicopter channel forwarding) и добавляем функцию TIM_USE_MC_SERVO (multicopter servo).

Ну и пересобрать по аналогии с betaflight: copterpilot.ru/articles/betaflightcompilingwin/
Только, скорее всего, понадобится более новая версия gcc - при попытке собрать неподходящей версией компилятор ругнётся и скажет какая версия требуется.

QuadroSky
SkyPlayer:

Вы полагаете, мне проще? Тем более, у меня и вашего контроллера-то в наличии нет.
Но кое-что накопал: github.com/iNavFlight/inav/blob/…/target.c
Обратите внимание на строчку

{ TIM4, IO_TAG(PB8),    TIM_CHANNEL_3, TIM_EN,   IOCFG_AF_PP_PD, GPIO_AF2_TIM4, TIM_USE_MC_CHNFW | TIM_USE_MC_SERVO | TIM_USE_FW_SERVO }, //S7 DMA1_ST7

Это и есть назначение функции сервы (как для channel forwarding так и для SERVO GIMBAL) для выход PB8 проца - в мануале по полётнику указано, что именно он на PWM и выходит, причём для мультикоптера других сервовыходов не предусмотрено, они есть только для крыла или самолёта (TIM_USE_FW_SERVO).
Можно попробовать изменить предыдущую строчку по аналогии

{ TIM1, IO_TAG(PA8),    TIM_CHANNEL_1, TIM_EN,   IOCFG_AF_PP_PD, GPIO_AF1_TIM1, TIM_USE_MC_CHNFW | TIM_USE_MC_SERVO | TIM_USE_FW_SERVO }, //S6 DMA2_ST6 SV6

то есть для выхода S6 заменяем функцию TIM_USE_MC_MOTOR (мотор мультикоптера) на TIM_USE_MC_CHNFW (multicopter channel forwarding) и добавляем функцию TIM_USE_MC_SERVO (multicopter servo).

Ну и пересобрать по аналогии с betaflight: copterpilot.ru/articles/betaflightcompilingwin/
Только, скорее всего, понадобится более новая версия gcc - при попытке собрать неподходящей версией компилятор ругнётся и скажет какая версия требуется.

Спасибо, буду изучать.

Maraboo

Всем привет! Как лучше настраивать пиды в INAV? Просто арм без всяких режимов или можно ANGLE c AIRMODE?