А давайте обсудим Arducopter - APM
В ходе попыток разобраться почему у меня таки не работает RC input на HGLRC F4 WING (таргет omnibusf4v6) поковырял ardupilot\libraries\AP_HAL_ChibiOS\hwdef\omnibusf4v6\hwdef.dat - и с обалдением выяснил, что SBus предполагается заводить через LED pin!
# LED strip output pad used for RC input # timer 4 is free (not used for pwm) PB6 TIM4_CH1 TIM4 RCININT PULLDOWN LOW
Они что - и вправду разбирают SBus-пакеты “руками” по таймеру, а не аппаратно?!!
Получается, что RX4 тупо теряется - его особо ни к чему не применишь, был бы TX - можно было бы через полудуплекс FPort завести, хотя там один фиг инвертор мешать будет.
Да декодится с помощью таймера 😄 Видимо это было удобно в один пин засунуть ppm sbus ibus и все что захочешь а потом вываливаются какие нибудь задержки…
И при этом нужен пин с таймером видимо led для этого подошёл…
Почему теряется? Можно все настроить через hwdef есть такая штука как ALT(1) 1 это номер чисто можно и ALT(2) а затем указываем в арду номер и пины буду меняться в зависимости от того что прописано в hwdef. Ссылку на конфиг этот - я гляну?
Видимо это было удобно в один пин засунуть ppm sbus ibus и все что захочешь а потом вываливаются какие нибудь задержки…
А потом адепты арду задвигают тут про “надёжность и вылизанность кода” в сравнении с “сырой поделкой iNAV” 😁
Почему теряется? Можно все настроить через hwdef есть такая штука как ALT(1) 1 это номер чисто можно и ALT(2) а затем указываем в арду номер и пины буду меняться в зависимости от того что прописано в hwdef.
Такой фокус я видел в конфигах, но просто что можно повесить на “одноногий” UART с “внешним” однонаправленным инвертором на входе (стандартное схемное решение для Sbus на полётниках с F4)?
Ссылку на конфиг этот - я гляну?
Мануал на полётник: cdn.shopify.com/…/HGLRC_F4_WING_1e1aa46f-a91f-4301…
Конфиг арду: github.com/ArduPilot/ardupilot/…/omnibusf4v6
Конфиг iNAV: github.com/iNavFlight/inav/tree/…/FIREWORKSV2
А потом адепты арду задвигают тут про “надёжность и вылизанность кода” в сравнении с “сырой поделкой iNAV” 😁
Такой фокус я видел в конфигах, но просто что можно повесить на “одноногий” UART с “внешним” однонаправленным инвертором на входе (стандартное схемное решение для Sbus на полётниках с F4)?
Мануал на полётник: cdn.shopify.com/…/HGLRC_F4_WING_1e1aa46f-a91f-4301…
Конфиг арду: github.com/ArduPilot/ardupilot/…/omnibusf4v6
Конфиг iNAV: github.com/iNavFlight/inav/tree/…/FIREWORKSV2
Чёт по докам написано что uart6 для sbus , uart4 не инвертированный должен и он не теряется в арду - rx можно юзать теряется uart 6 rx т.к. pb6 становится для rx input…
Опять же uart6 включен в конфиге - инвертор я так понял не отключаемый… можно поставить ещё один инвертор и будет норм 😃
Чёт по докам написано что uart6 для sbus
Да, это я уже что-то запутался. 😃 Там действительно выведен пин RC (RX6_inverted) и TX6, то есть UART6 можно задействовать под FPort (TX6 в режиме полудуплекса)
Для тех кто смотрим в книгу и видит фигу, какой параметр менять, чтобы коптер плавнее тормозил, а не резко при отпускании стиков:
LOIT_BRK_ACCEL: max acceleration in cm/s/s while braking (i.e. pilot has moved sticks to center). Higher values will stop the vehicle more quickly
или
LOIT_BRK_JERK: max change in acceleration in cm/s/s/s while braking. Higher numbers will make the vehicle reach the maximum braking angle more quickly, lower numbers will cause smoother braking
Для тех кто смотрим в книгу и видит фигу, какой параметр менять, чтобы коптер плавнее тормозил, а не резко при отпускании стиков:
LOIT_BRK_ACCEL: max acceleration in cm/s/s while braking (i.e. pilot has moved sticks to center). Higher values will stop the vehicle more quickly
или
LOIT_BRK_JERK: max change in acceleration in cm/s/s/s while braking. Higher numbers will make the vehicle reach the maximum braking angle more quickly, lower numbers will cause smoother braking
Ага я ж писал про один из них… вообщем все в Вики есть… читать только надо
Так какой параметр менять?
Так какой параметр менять?
Они друг друга дополняют - 1 - максимальное ускорение при торможении а 2 это насколько быстро достичь угла торможения…
Видимо первый управляет скоростью моторов а 2 углом - это как бы на авто 1 - газ в пол а второй руль до конца в сторону))
1 - throttle
2 - pitch/roll angle
Имхо…
Ладно, буду оба занижать и смотреть что получилось.
Я правильно понял, что после каждой новой прошивки надо по новой калибровать аксель и компас? А то прыгать с 5 килограммами не очень приятно. А еще на айнав гонят.
Вы сюда постебаться заходите? Две страницы говна на вентилятор.
Вы сюда постебаться заходите? Две страницы говна на вентилятор.
Так напиши, где я ошибаюсь? Что еще нужно чтобы перенести настройки?
У меня очередной вопрос к сообществу.
Сделал автотюн. Сохранил полученные настройки. После автотюна получил неприятную "болтанку при снижении вертикально на разряженных АКБ.
На стоковых настройках ( изначально уменьшил только параметры Rate Roll и Rate Pitch c 0,150 до 0,090 ) такого не было (летал до 3,5 на банках). После 3.6 квадр только вяло набирал высоту.
После автотюна (на момент автотюна АКБ был заряжен до 12,37 v) получил такие настройки ну и сохранил их.
Собственно проблема.
Пока на АКБ заряд выше 3,8 v на банке (АКБ 3S) летает отлично. При полете по горизонтали “не проседает”. При наборе или уменьшении высоты (не важно какая скорость подьема - спуска) поднимается и снижается “без болтанки”.
А вот при снижении заряда АКБ ниже 3,8 v при снижении вертикально вниз (хоть быстро 2 м/сек. и более, хоть медленно - 1м/сек. и менее) - начинается “болтанка” Раскачивает градусов на 25 как в плоскости влево-вправо так и в плоскости вперед-назад.
Подскажите пожалуйста какие параметры подкрутить что бы нормализовать спуск - подьем при просаженном питании (после 3,8v на банках).
Квадр на 450 раме, АПМ 2,6, двигатели 2212 920KV, пропы 9450, АКБ LiPo 3S 4000
ПС. Есть мысль просто сделать автотюн на напруге 3.8v на банках. И потом сравнить параметры и уже делать выводы. Но это только мысль. А совет знающего - намного лучше.
Спасибо за помощь.
ardupilot.org/…/current-limiting-and-voltage-scali…
Думаю надо настроить voltage scaling как раз стабилизирует высоту при низкой батареи
Я правильно понял, что после каждой новой прошивки надо по новой калибровать аксель и компас? А то прыгать с 5 килограммами не очень приятно. А еще на айнав гонят.
Не надо. Там данные сохраняются. В крайнем случае перед заливкой можно сохранить настройки в файл, а потом оттуда их выгрузить. Другое дело, что ардупилот меняет порой название параметров и начинает ошибка выдаваться. Но для APM это не имеет значения. Его прошивка там остановилась на 3,2 какой-то.
Не надо. Там данные сохраняются. В крайнем случае перед заливкой можно сохранить настройки в файл, а потом оттуда их выгрузить. Другое дело, что ардупилот меняет порой название параметров и начинает ошибка выдаваться. Но для APM это не имеет значения. Его прошивка там остановилась на 3,2 какой-то.
У меня матек405-цтр и 765 винг. Начал настраивать с 4.0.3 и на днях вышла 4.0.4 с правками для последнего полетнике. Вот решил по принципу айнава скопировать лист и трии и залить после прошивки. Но требует почемуто калибровку акселя и компаса. Произвел повторно калибровку и залил по новой старые конфиги. Пока вижу такой выход из данного положения… Потом буду радио проверять и попробую облетать.
Чёт по докам написано что uart6 для sbus , uart4 не инвертированный должен и он не теряется в арду - rx можно юзать теряется uart 6 rx т.к. pb6 становится для rx input…
В общем, помучал железо вчера вечером - через LED-пин действительно прекрасно заработал RC-input, наскоро настроил модель - вроде всё в норме… за исключением пищалки. В арду-доках странички про omnibus F4 v6 нет, но есть про наиболее близкий аналог: ardupilot.org/copter/…/common-omnibusnanov6.html - там как раз и про LED и про Buzzrer
RC input is via pad marked LED on the board and is compatible all RX serial protocols supported by ArduPilot. The Buzzer output pad has no functionality.
Полез в конфиг исходников - на пине буззера странный и, вдобавок, “закомментированный” дефайн:
#PB4 TIM3_CH1 TIM3 GPIO(70) ALARM
Попробовал изменить по аналогии с матеками:
PB4 BUZZER OUTPUT GPIO(80) LOW
define HAL_BUZZER_PIN 80
define HAL_BUZZER_ON 1
define HAL_BUZZER_OFF 0
пересобрал, залил - не работает. 😦 В общем, надо курить github-историю этого таргета - почему в нём так всё печально.
Пищалка должна быть реализована с помощью таймера ибо надо частоту выдавать чтобы пищать… закомментировано возможно из-за того что этот таймер уже занят tim3_ch1
Пищалка должна быть реализована с помощью таймера ибо надо частоту выдавать чтобы пищать… закомментировано возможно из-за того что этот таймер уже занят tim3_ch1
Это если пассивный буззер. А для активного нужен тупо “ключ, замыкающий цепь питания” (обычно это замыкание на GND). Кстати, в “родительском” таргете OmnibusNanoV6 ещё год назад аналогично добавили определение активного буззера: github.com/ArduPilot/ardupilot/pull/12081
Только вот ХЗ почему не работает…