Ардукоптер: прошивки, настройки, софт

igor_v_t

Вставлю свои 5 копеек. Я весь год летал на прошивке ArducopterNG (декабрь 2010 г). На разных коптерах - квадро и гекса - (от 550 гр до 2,5 кГ), разных моторах, винтах и регуляторах (HK SS , Turnigy Plush). От HK SS отказался - так как крутизна у них в два раза выше и калибруются на каждом включении. Во всех остальных случаях настройки практически не менялись (не более 15%). Переход на 400 Гц потребовал уменьшения коэффициентов в Пид регуляторе высоты в 1,5 раза.
Мой вывод таков - конструкции все практически одинаковы.

С софтом посложнее. В связи с появлением АРМ 2 возникла для меня потребность перейти на одну из прошивок 2.1 - 2.3.
По алгоритмам управления они существенно отличаются. У меня на стабилизацию в горизонте 3 коэффициента было, в 2.1 - четыре, в 2.3 пять. Мало того 2.1 и 2.3 тоже очень существенно отличаются. Нет ни одной версии более менее доведенной до ума.

Вывод мой таков. Без влезания в код хорошо летать не будет. Реально надо брать одну прошивку и доводить ее, поскольку выложенный код сырой и во всех режимах нормально не летает. Более того , алгоритм работы с сонаром и баро планирую взять старый, так как с новым нормально летать не будет. При переходе на APM 2 с баро MS5611 алгоритм можно изменить и добиться лучших результатов обрабатывая с акселерометром. Сейчас этим занимаюсь изучая датчики.

Поэтому обсуждение в одной теме разных версий прошивок проблематично - сильно уж разные они. И все отработать не удастся.

Поэтому лучше бы взять одну (может быть последнюю) и сосредоточится на ней какой то группой и попробовать добиться результата, иначе это так и останется конструктором.

rattis

А еще вопросы вдогонку.

  1. Имеет ли значение, какой планер использовать с какой прошивкой. Или всегда использовать последнюю версию?
  2. Какой Ардуиной лучше компилировать 49-ю прошивку? 22, 23 или последней (она, кстати, по-моему ругается на старые прошивки).
Cеpж
serfot32:

2.3 я вообще не понял, газует сама по себе иногда, вернулся на 49 от греха подальше.

Аналогично! Был крайне удивлён таким поведением коптера. И тоже вернулся на 49. Проблема сразу пропала. Прошиваю 22 Ардуиной. Пленер использую 1.1.18, вроде проблем нет.

К serfot32
Сергей, а Вы пробовали с этими настройками летать на ветру? У меня, с близкими Stab roll и рitch, плохо управлялся, при отличной стабилизации в висении, Пришлось увеличивать до 3,6.

rattis

Извините, я опять со своими дурацкими вопросами.
Поставил прошивку 2.0.49 (как уже писал, у меня APM 1.0 + IMU 1.4).
Парадокс!
В планере из терминала абсолютно все конфигурируется и тестируется, а стоит переконнектиться с переключателем в FLY-режиме - планер соединяется, но не видит никаких датчиков.
А из терминала все хорошо. И радио видит и моторы командой “motors” запускаются. И данные с ЖПС и прочих датчиков считываются.
Скажите, что я делаю не так. Ведь дело, мне кажется, в ерунде какой-то…
Заранее спасибо!

igor_v_t
rattis:

Извините, я опять со своими дурацкими вопросами.
Поставил прошивку 2.0.49 (как уже писал, у меня APM 1.0 + IMU 1.4).
Парадокс!
В планере из терминала абсолютно все конфигурируется и тестируется, а стоит переконнектиться с переключателем в FLY-режиме - планер соединяется, но не видит никаких датчиков.
А из терминала все хорошо. И радио видит и моторы командой “motors” запускаются. И данные с ЖПС и прочих датчиков считываются.
Скажите, что я делаю не так. Ведь дело, мне кажется, в ерунде какой-то…
Заранее спасибо!

А я тут операционку на компе переставлял, так как без фреймворка терминал не запускался, а на тот ХР что был фреймворк как то криво ставился и не работало.

alexeykozin

у меня коротыш был на ноге управления blackbox eprom - планер коннектился через раз, то показывет сенсоры то пишет (при выводе терминального окна) о мавлинк чексум еррор

rattis

Я нашел косяк.
Дело в том, что в терминале не всегда проходит команда test -> imu.
Тут два варианта:

  1. Команда отрабатывается. После появдения надписи Init Gyro, нескольких звездочек и выдачи текущих значений переводим слайдер в режим полета и в планере в все датчики видны.
  2. Команда не отрабатывается. Звездочки бегут бесконечно. В планере ничего не работает.
    Проблема или в самих гирах или в процедуре их инициализации. Я склоняюсь к первому варианту.
    Почему? Даже если все нормально, достаточно несколько раз покачать плату и на экране видим беспорядочные кувыркания.
    Переходим в терминал - гира опять не инициализируется, бегут звездочки.
    Подскажите, что еще можно посмотреть или искать непропаи/залипания?

ЗЫ. Фотку платы в высоком разрешении постараюсь сделать завтра.

alexeykozin

дело в том что гиры и аксель в апм1 аналоговые поэтому никаких цифровых глюков быть не может
глюки могут быть при обращении к ацп (ADS) а при тестировании в планере в любой цепи цифровых датчиков, имхо они как то увязаны что неисправность в одной цепи вешает весь остальной функционал (кстати говоря что неприемлемо к авиации, наоборот должны быть резервные контуры)
в ардуине - в библиотеках есть тестовые скетчи, их можно использовать для тестирования компонентов в отдельности, например проверить ADS (гиро-аксель-температура) компас итд, епромку не тестировал нашел залипон на резисторе визуально

igor_v_t
alexeykozin:

дело в том что гиры и аксель в апм1 аналоговые поэтому никаких цифровых глюков быть не может

Могут. Возился с баро MS 5611. Датчик читался неустойчиво. Поменял во втором слагаемом int на long в выражении " D = ((((long)buff1[0]) << 16) | (((long)buff1[1])<< 8) | buff1[2] );" и проблемы исчезли. Второй глюк был :
в выражении величина float была разделена на число без точки и стала long. А куски кода между прочим из библиотеки Арду.

alexeykozin

Имхо встроенный жпс “редкостное гавно” не зря есть опция купить без него.
есть в точь таком же формфакторе пин-совместимая модель как говорится “на три рубля дороже”
но уже на чипсете MT3339 он гораздо более чувствительный, с прошивой axn 2.10

тот что идет в комплекте globaltop pa6b
тот который новая, хорошая модель pa6c

как отличить - на сериал номере что на бумажке сбоку антенны
если написано p6 а дальше цифры - это B модель
а если P6C а дальше цифры - это C модель

Sir_Alex
alexeykozin:

Имхо встроенный жпс “редкостное гавно” не зря есть опция купить без него.

В чем заключается Г? У мну то же 3329, вроде пашет нормально.

alexeykozin
Sir_Alex:

В чем заключается Г? У мну то же 3329, вроде пашет нормально.

я пробовал порядка десятка модулей, втч несколько на чипсете 3329, некоторые из них вполне неплохие,
достаточно быстро ловят лок даже в неидеальных условиях, мало дрифтуют например quectell l10, безымянный китаец на 3329 после обновления прошивки.
конкретно PA6B у меня две штуки, одна интегрирована на APM2 а вторую купил отдельно в РФ, обе в тех же самых условиях что и остальные модули очень долго ловят лок (иногда вообще часами) а поймав его дают значительный дрифт как по координатам так и по высоте, я оставляю возможность, что возможно я такой невезучий что мне досталось два дефектных модуля подряд поэтому - ИМХО

Cеpж

Алексей, подскажите пожалуйста, можно ли к APM-1 подключить модуль GPS от мини тимометрии?
И использовать его для Арду и для телеметрии параллельно.

alexeykozin

если вопрос ко мне (тут много Алексеев) то втупую соединить тх двух устройств с rx gps модуля а tx модуля на два rx устройств - получателей нельзя,
каждое из управляющих устройств по цепи tx-> rx будет пытаться настроить жпс модуль на свой протокол, и скорость передачи данных.
Если одно из устройств умеет определять существующую скорость жпс модуля и подстраиваться под нее то вполне возможен вариант когда от управляющего устройства идет tx на rx gps
а tx gps модуля идет на RX обеих устройств параллельно.

насколько я понимаю в прошивках апм по умолчанию стоит автоопределение скорости модуля, передачи ему настройки на нужную скорость, и ожидания данных на этой скорости,
тоесть при таком коде APM не сможет работать по подключению только одного сигнала, но так как код открыт то тут ничего невозможного нет, важно только чтобы телеметрия и жпс модуль могли настраивать скорость порта, скорость обновления и перечень nmea строк необходимых для ардупилота.
Если же телеметрия сама умеет определять скорость жпс и довольствоваться теми строками которые идут с модуля (у такой обычно нет управляющего соединения tx телеметрии - rx gps, так было в китайской версии remzibi osd которую мне прислали ) то полное соединение делаем с АПМ а на rx телеметрии соединяем только tx gps и общий

Cеpж

Алексей, спасибо за подробное объяснение! Выходит - всё возможно! Ведь на телеметрию smalltim идёт только один сигнальный провод -TX.
А как разобраться куда что подключать? Ведь на штатном датчике шесть проводов, а на телеметрийном всего пять контактных площадок. И что в прошивке Арду надо поменять?


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

alexeykozin

наоборот если единственная определенная то все проще,
если не совпадет то подправить скорость в ардупилоте, важно чтобы это было чтото вменяемое порядка 38400 -57600 ибо при темпе выдачи данных 5 раз в секунду нужно хотябы 38400 а при 10Гц уже нужно 57600 для полного набора nmea строк.
для начала можно просто попробовать соединить, и если не пойдет попробовать подкрутить gps библиотечку

Cеpж

Выяснил - телеметрия работает на 38400. Пытаюсь разобраться в библиотеках GPS - пока тёмный лес… Прошивка 049. Нашёл там четыре библиотеки:
GPS_IMU,
GPS_MTK,
GPS_ NMEA,
GPS_UBLOX.
В какой и что поковырять?
Пока пробую подключить без изменения кода.

Cеpж

Попробовал подключиться. Телеметрия работает как прежде нормально, а Арду не видит датчика - ни в Пленере ни на плате (светодиод не мигает и не горит). Надо что-то в прошивке ковырять…