Вопросы по iNav
А что у вас было? и как решили?
приподнимаете стик газа, чтобы компенсировать просадку, коптер подрывает резко вверх?
Приподнимаю - сначала никакой реакции, а потом сразу 100%! Use mid throttle for althold у меня выкл. т.е. “нулём”
у меня будет положение стика на момент вкл алтхолда. Как бы ещё высоту по ОСД посмотреть? У меня то что было
высотомером на ОСД чудным образом превратилось в вариометр. В посте 6329 мне сказали что так и должно быть.
сверху контроллер закрывается плотно крышкой?
Плотно, но не герметично, спереди вообще открыто
мне кажется контроллер пнросто обрежет по самому дохлому мотору (если нет десинхронизации, как было у меня)
Обрезать-то он обрежет, только он же не знает, какой мотор самый дохлый. То есть сначала регуляторы дадут полный газ на моторы, это приведет к наклону коптера, а уже потом контроллер начнет корректировать и обрезать.
А что у вас было? и как решили?
Судя по всему, десинхронизация. Это срыв вращения мотора. Из-за неправильно настроенных регуляторов или физических повреждений обмотки в моторе. Если вы будете проверять каждый мотор, то и это тоже сможете проверить. А как решить - ну если повреждены витки, то или перематывать, или новый мотор.
А что у вас было? и как решили?
статор проворачивался на корпусе мотора.
из-за этого плавно все летало отлично, но если сделать резкий маневр, один двигатель вырубался и коптер падал. Если в стабе, то иногда просто кувыркался и выравнивался.
ну а так как при провороте статор дергал за обмотку, в месте ее припайки к проводам, то мотор теперь в перемотку. Пока поставил другой.
При этом, имею сейчас 3 мотора 2207 и один 2305 Мягко говоря, совсем разные по характеру моторы.
Ииииии… (барабанная дробь) - этого никак на коптере не чувствуется. Чуть послабже рвет в полном газу.
так что
Обрезать-то он обрежет, только он же не знает, какой мотор самый дохлый. То есть сначала регуляторы дадут полный газ на моторы, это приведет к наклону коптера, а уже потом контроллер начнет корректировать и обрезать.
вот это так не работает.
Контроллер выравнивает наргузку настолько быстро, что глазу этого не заметно. Возможно будет заметно на медленных регулях, или массивных моторах
вот это так не работает. Контроллер выравнивает наргузку настолько быстро, что глазу этого не заметно.
Может быть и так. Только смотрите сами на симптомы: если плавно повышать газ, то все ок, если резко - то нет. Значит при небольших отклонениях газа контроллер успевает выравнивать, а при больших нет. Плюс еще смотря как пиды настроены. Ну или есть какие-то другие причины. Я все равно с недавних пор проверяю все моторы на стенде, потому что иначе это будет неизвестная величина в любой проблемной ситуации.
Значит при небольших отклонениях газа контроллер успевает выравнивать, а при больших нет.
значит, у мотора есть проблема. Которую контроллер не может решить штатными способами.
Я и предлагаю проверить моторы 😃
Какую методу проверки без демонтажа рекомендуете?
может в настройках регулей попробывать поменять синхрозацию?или там ещо чтото про маг есть в настройках двигла.
В посте 6329 мне сказали что так и должно быть.
На сколько я понимаю, контроллер берёт за ноль высоту в момент арминга. Пока Вы не заармились, высота на ОСД будет подстраиваться под ноль. Думаю, если снять пропеллеры и заармиться, тогда высота будет отображаться правильно. Но Вам надо посмотреть как измеряется высота во время полёта, а не в руках. Постарайтесь сделать видео, подобное моему с вертикальным взлётом и снижением.
Плотно, но не герметично, спереди вообще открыто
Подозреваю, что в этом может и быть Ваша проблема с неправильным измерением высоты. Передние пропеллеры вращаются на камеру и задувают воздух прямо в отсек с контроллером. Этот отсек заглушен сзади и открыт спереди. Похоже, что он работает как ресивер в компрессоре. Давление в нём держится повышеным и падает только когда отключаются двигатели. Попробуйте для эксперимента заглушить переднюю часть. Например, заклеить скотчем. Потом полетать. Кстати, можно и не летать. Закрепите коптер на 3л банку с водой, поставте на табуретку и “взлетайте”, отслеживая высоту на ОСД. Она не должна меняться. Если бародатчик задувает, Вы увидите изменение показаний высоты.
Посмотрел свои старые видеозаписи тестов с “коптером на табуретке”. Я тогда аналогичным способом подбирал наиболее удачное место для компаса. Газовал от 0 до 100%. Когда паралон хорошо защищал бародатчик, высота стояла на “0” при полном диапазоне изменения газа. Но попались и не очень удачные случаи. Барометр задувало и при увеличении газа высота уходила в минус. Хороший тест получился, чтобы проверять паралончик!
Какую методу проверки без демонтажа рекомендуете?
Думаю, можно сделать так. Закрепите коптер на электронных весах и сбросьте показания на “0”. Подключите контроллер по USB к комп’ютеру. В конфигураторе или в BLHeliSuite зайдите на вкладку моторы и погоняйте их по одому, сравнив тягу по показаниям весов. 130 коптер проще всего крепить к пробке 2л пластиковой бутылки с водой, сделав соответствующий кронштейн. Бутылку с коптером ставте на весы.
Какую методу проверки без демонтажа рекомендуете?
может в настройках регулей попробывать поменять синхрозацию?или там ещо чтото про маг есть в настройках двигла.
подсунуть другой мотор и попробовать.
у меня “в руках” ситуацию было не повторить - все работало нормально, в том числе и полный газ.
рассинхрон случался при выходе из резкого маневра, когда включалост торможение двигателя - в этот момент он включал обратную тягу и статор проворачивался, коптер обнимал землю.
Откуда взять сигнал для второй сервы?
Как обычно - мануал почитать: github.com/…/Connecting-a-Gimbal-to-iNav
У вас на полётнике есть мотор-выходы 5 и 6 - вот к ним свои сервы и подключайте. Если окажется, что сервы жестко заданы на мотор-выходы 7 и 8 - поправьте в исходниках на 5-6 и пересоберите прошивку.
UPD: Мда, копнул исходники - что-то там всё печально. Похоже, для квадра предусмотрен всего один сервовыход. В BF можно было бы попробовать ремапнуть, но iNAV такой возможности не имеет.
Если окажется, что сервы жестко заданы на мотор-выходы 7 и 8 - поправьте в исходниках на 5-6 и пересоберите прошивку.
Легко сказать. Но если никогда этим не занимался то чувствую себя как первоклашка у доски)).
Но если никогда этим не занимался то чувствую себя как первоклашка у доски)).
Вы полагаете, мне проще? Тем более, у меня и вашего контроллера-то в наличии нет.
Но кое-что накопал: 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 - при попытке собрать неподходящей версией компилятор ругнётся и скажет какая версия требуется.
Процесс сборки конкретно айнава под разными операционками описан тут: github.com/iNavFlight/inav/tree/…/development
Вы полагаете, мне проще? Тем более, у меня и вашего контроллера-то в наличии нет.
Но кое-что накопал: 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 - при попытке собрать неподходящей версией компилятор ругнётся и скажет какая версия требуется.
Спасибо, буду изучать.
Всем привет! Как лучше настраивать пиды в INAV? Просто арм без всяких режимов или можно ANGLE c AIRMODE?
Так и должно быть. Пока не поймались спутники и нет GPS-фикса, навигация не безопасна, а значит и нельзя заармиться.
Иначе можно без спутников включить RTH и не вернуться.
Отключить на свой страх и риск можно командой ‘set nav_extra_arming_safety = OFF’.
Вроде нашло 6 спутников и появилось 3Д, но всё равно горит красный navigation is safe
Вот доказательство этому)
У меня правда в Modes стоит NAV ALTHOLD и NAV POSHOLD - Как эти штуки могут влиять? Потому что если я их выключаю, тогда разрешает армиться…
Тоже самое происходит если выбран режим fail safe RTH
Стоит это всё выключить и всё шикарно
((
Появился 7й спутник и вроде работает. Надеюсь в поле он будет меньше 15 минут их искать)
Вот сейчас 8 спутников и всё равно горит красным. Оно то окей, то не окей(
Я не понимаю.
Вот
Стоит RTH
в Modes стоит NAV ALTHOLD и NAV POSHOLD