Activity

ArduCopter Mega: порт на обычную Arduino (тестим)

Всё решилось! Сегодня протестировал, точку держит, домой возвращается, по прямой! Всё просто супер!
Помог сброс до заводских настроек модуля перед заливкой конфига от 3ДР. Я не знаю, как я сам не додумался… Это же первое правило - вайпнуть до заводских если ведёт себя странно.

Алгоритм: Сброс настроек -> подсоединение на 9600 -> сброс настроек ещё раз -> установка руками скорости 38400 (что бы не рвало при заливке) -> заливка конфига.

Разница заметна сразу, ещё дома!!! После сброса настроек никаких ошибок, весь конфиг заливается меньше чем за 2 сек и окно заливки пропадает, что свидетельствует о том, что ошибок и повторных попыток не было никаких!
Раньше же оно мучало заливку конфига секунд 30 с повторными попытками!
В консоли Мегапирата test->Gps, раньше оно плевалось координатами раз в 1-2-3 секунды, неравномерно, теперь ровненько с частотой около 5 герц (на глаз), без задержек.

Всем спасибо за внимание!

Пользуясь случаем ещё вопросик.
Эта проблемка была и раньше, но думал что это компас и решится уходом от наводок. Теперь, после того, как просветился, что повороты по Yaw плата видит не компасом а акселерометром и после выноса компаса на палку, нужно что то решать.
Коптер со временем немного меняет свою ориентацию по Yaw при обычном спокойном полёте. Особенно, когда его на быстром спуске колбасит, может провернуться на 45 градусов и так и остаётся, пока стиком не выровняешь.
Кто виноват и что делать? Вибрации? Не критично, но бесит, что подымал я его задом к себе, а после спуска он уже почти лицом на меня смотрит. Или отлетел далеко, стик на себя, а он летит уже не совсем ко мне…
При этом сам он не теряется, по ГПС летит куда надо, в симпл моде летит как надо, то есть он осмысленно повернулся и согласился с этим поворотом, это не какая то временная наводка.

ArduCopter Mega: порт на обычную Arduino (тестим)

у меня были таймауты когда я использовал плату контроллера вместо FTDI. На нормальном FTDI, у меня все параметры залились , некоторые с 3-4 попытки… Сбросить настройки тоже немаловажно, так как конфиг при заливке только замещает те настройки, что в нём есть. Может там что то левое было выставлено, что не покрыто конфигом от 3ДР.

И ещё только что прочитал информацию, что Мегапират при запуске устанавливает какие то свои временные настройки для модуля сам. Что бы полностью исключить такое можно отсоединить проводок от TX на контроллере. Что бы он ничего не мог “сказать” модулю.

Я там выше ещё добавил свой опыт с MinimOSD, может пригодится!

ArduCopter Mega: порт на обычную Arduino (тестим)

Re-Loader Спасибо за совет!

Первым делом я попробую полететь после сброса настроек и заливки конфига 3DR. В другом месте подсказали, что удалось вылечить такие же улёты, при чём обязательно сброс настроек.
Думаю такая последовательность будет целесообразной, при том, что UBX протокол у меня всё же живой.

Если нет, попробую Ваш вариант, увеличу пропускную на модуле и в прошивке, буду пробовать NMEA.

В конфиге 3ДР большая часть настроек отвечает за типы сообщений, которые будет слать модуль (всё, что с префиксом MSG). Вполне возможно, что по дефолту включены какие то сообщения, которые либо вводят в заблуждение парсер в прошивке, либо просто флудят, нагружая контроллер. На буржуйских формах пишут, что начиная с версии 3.0 важность заливки конфига возросла.

Я бы уже давно проверил и не морочил голову, но пока не было возможности. Отпишусь!

Кстати, с MinimOSD там возня минимальная.

  • Запаять питание аналоговой части на 5 вольт с цифровой части (5v power mod, у меня уже было запаяно продавцом)

  • Соединения (контроллер - осд) vcc-vcc gnd-gnd tx-rx. При соединении с ПК через FTDI ущё добавить проводок rx-tx.

  • Если камера PAL, а OSD настроена на NTSC, вы не увидите наложеного изображения. Будет или только ОСД на черном фоне если камера выкл, или, если включаешь камеру - только камера. Выход - через конфиг тул выставить в ОСД меню PAL, и залить настройку (у меня не с первого раза залилось почему то).

  • У меня при залитии конфига в ОСД писало что нет связи с бутлоадером. Выход - по старинке, жмём send config на ПК и сразу же кнопку reset, на платке OSD, оно подхватит. И не надо перешивать бутлоадер, как советуют на половине форумов.

  • Если данные с пирата не будут обновляться - в АПМ планнере найти в Optional Hardware ОСД и нажать единственную там кнопку. У меня без той кнопки не завелось.

Надеюсь поможет. Инфу про ПАЛ и НТСК найти, на самом деле, не так просто, у меня ушел вечер, думал сжег плату, пока припаивал пины.

ArduCopter Mega: порт на обычную Arduino (тестим)

И снова здравствуйте! Спасибо Вам, за изложеные мнения!
За эти пару дней ещё кое-что потыкал посмотрел. На улицу коптер не выносил из за погоды…

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

RTemka, EvgenV, Спасибо, Вы меня немного отрезвили, а то я что-то реально начитался буржуйских форумов и зациклился на компасе… Ведь, и вправду, с компасом его бы крутило… А тут прямой Flyaway. И при этом всём, все эти режимы должны худо бедно пахать при компасмоте до 60%, а это уже ощутимые такие наводки, а хорошо пахать до 30%.
Кстати, сделал сегодня компассмот на скорую руку, прижимал коптер двумя пальцами. Результат 0-1%, что ожидаемо, так как когда компас был над платой было 10-15град ухода, что уже немного, а тут ещё + ~12 см расстояния высота палки.
Кстати, на заметку, тестил с батареей пристегнутой к раме - имел наводки, как то забыл привязать батарею и просто положил её рядом на пол - 2-3 градуса увод… Так что, основные наводки у меня от батареи, а не от всего остального.

Re-Loader, повытягивал контакты из молексового штекера ГПС, посгибал их, а то разонулись от засовываний иголок, когда подключал к компу. Но до этого пробовал трясти провод - ноль эффекта, на выдачу не влияет никак, ошибок нет.

По поводу ГПС:

Вчера забрал с почты адаптер FTDI, наконец то. После пары часов танцев с драйверами подрубил таки Блоху к ПК так же, как раньше подрубал через прошитый скетчем сериал ретранслятора АИОП. Поведение его не изменилось. Такое же, как и через АИОП. Графики спутников в Юцентре идут с небольшими подлагиваниями и пропусками, как будто тормоза. (пробовал скорость шить 115200, работает порезвее, пропуски у графиков очень редкие, но остаются, Мегапират на 115200 видеть ГПС отказывается, может позже попробую 57к или чтото подобное). Но самое интересное - это залив конфига от 3DR. Раньше, через АИОП, я ставил по 10 попыток на каждый параметр и все равно не шилось нормально (10 Retry и таймаут). Сейчас же, через нормальный FTDI льются почти все параметры (1 он там отвергает), максимум попытки с 4й… Тобишь, имеем что то типа:

Параметр X:
Retry
Retry
Retry
Success!

В итоге после заливки удалось слить с него конфиг почти точную копию 3DRовского…
Напрягает меня это тугодумие, но я так понял, что тут у многих оно не с первого раза настройки сохраняет вообще. И такое тугодумие “норма”.
Кстати, ИМХО, в этом 3DRконфиге не вижу ничего особенного. Скорость порта, 5гц, протокол на выдачу через UART1 UBX можно и ручками втоптать, если надобно… Ну, посмотрим, как он “полетит” с настройками из файлика 3DR.

Ха, на счёт 5гц… В официальном даташите написано что есть две версии модулей LEA-6H - ROM и FLASH и 5гц умеет только FLASH версия. А все те,что у нас - ROM и они максимум 1гц умеют, то то я заметил, что в консоли там далеко не 5гц выдача координат, а в лучшем случае 1 и то как то нелинейно, то 2 секунды нету выдачи, то за секунду три раза (если мегапирату этого мало, могут быть проблемы).

Ну, и, пожалуй, самое главное наблюдение:
В ответ Вам, хотел кинуть скриншот с треками позиции коптера на карте по логам. На самом деле, позиции довольно точные, никаких скачков если смотреть визуально. Но заметил одну неприятную закономерность: судя по сопоставлению геопозиций на карте и режимов по времени на графике, коптер начинает свой улёт уже тогда, когда я переключаюсь в AltHold и стиками его торможу!!! Выглядит это примерно так:

Я включаю РТЛ - коптер тупит на месте или дрифтует по ветру,(обычно я ему давал устаканится секунд 5-10 для чистоты эксперимента, перед тем как врубать РТЛ).
Я врубаю Альтхолд и выжимаю стик для торможения - на карте коптер в этот момент графика только начинает стремительный улёт в сторону дома)
после того как прошло уже куча вмешательств по РУ - коптер летит себе прямо по прямой в сторону дома, и реакция наступает аж потом.

Вывод - задержка геопозиции на карте с графиками не менее 4-5 секунд!!! При чём это на протяжении всего того куска полёта, что удалось слить по логам, тобишь, линейно…

Вопрос к Вам, бывалым, это норма? Или у вас в МишнПленнере всё точно сопоставлено на карте с локацией по времени и можно считать “это” кандидатом на причину такого поведения моего зверя?
Вообще, это даже немного логично, он видит, что газ даёт, а геолокация на месте, может думает что ветер, и даёт газу прочь против ветра)
Битмаску для логов ставил то ли ALL, то ли ALMOST ALL, может оно не справляется с записью? Хотя не должно.

Всем спасибо!

ArduCopter Mega: порт на обычную Arduino (тестим)

Доброго времени суток!
Собран квадрокоптер на базе CRIUS AIOP V2, залит последний MegaPirate 3.1.5, свежестянутый с GIT и собран свежим GCC 4.8.2 (говорили, что это уберёт проблемы с логами, но нет).

На стоковых пидах летает отлично, STAB как STAB, AltHold просто мёртво держит, если сильно не задувает.
Но счастье моё было не долгим… Точнее, довольно долгим, потому что первый ГПС просто не пришел, а второй шел полтора месяца, этого времени хватило что бы поднять общую грамотность в этой сфере, разобраться с аппой, калибровками, переставить по человечески каналы, ну и приобрести навыки управления что бы спасать коптер от RTL в Китай.

Пришел Модуль LEA-6H c компассом. Сначала был расположен на верхней полке над контроллером. Уход при 75% газа был около 15 градусов. Ну, подумал, не беда. Вон, на сайте ардукоптера пишут до 30% вообще не страшно…
Вышел на стадион тестить loiter и какие заметил последовательности:

  1. Реже. Коптер сразу резво улетает в любом направлении сразу же после включения лойтера.
  2. Коптер секунды 4 по чуть чуть, невнятно пробует скорректировать позицию, потом сразу резво разгоняясь начинает улетать прочь не останавливаясь.
  3. Коптер описывает чтото не подобии дуги или куска спирали постепенно ускоряясь (как будто выходит на орбиту) и на выходе из дуги уже на приличной скорости улетает прочь. Чем то похоже на toiletbowl, не совсем.

Когда коптер улетал метров на 20 с большой скоростью приходилось переключаться в altHold и руками его возвращать что бы не потерять управление.
После перечитывния тонны иностранных форумов модуль был вынесен на палку высотой в 16 см. Проверка дома показала нулевой увод в градусах при высоком газу. Результата никакого, поведение не изменилось, вообще.

Сегодня выходил ещё в добавок тестил RTL, Коптер летит в сторону дома, на приличной скорости, промахивается на несколько метров и не замедляясь летит себе дальше (метров 5-10 пока не вмешаешься), больше воли дать ему не мог, так как на моём месте тестов ездит трактор и пришлось переместиться на школьный стадион, на котором нету школьников только когда уже темно и легко потерять коптер.

Факты:

  • Внутренний компас был отключен в коде. Проверено, без внешнего показывает нули. I2C ошибок нет.

  • Ориентация компаса была выставлена в поворот Pitch 180град (довольно нестандартная). Сверено с бортовым компасом и компасом мобильного телефона. Куда нос коптера направлен то и показывает.

  • Калибруется компас через АПМ Пленнер хорошо (С помощью танца, который рекомендуют на ардукоптере). Оффсеты -54 -22 15, стабильны ± 3 от калибровке к калибровке. Калибрую в квартире, но результам доверяю, разбросов нету и показывает стабильно, не прыгает. Очень хотел бы калибровать на улице, но есть только Bluetooth, и я не знаю проги на Андроид, которая бы умела калибровать компасс. Droid planner так и не научили… Если кто знает как, подскажите, пожалуйста.

  • Compass declination и авто и руками вводил, разницы нет.

  • На GPS не грешу. С ним хоть и были проблемы (UCenter просто выдаёт таймауты на половину параметров при слитии конфига или попытке заливки конфига от 3DR, хотя они есть и сохраняются хорошо по отдельности через меню. Потеряли на почте мой FTDI, пришлось прошивать скетчем контроллер для настройки ГПС, на это и грешу пока что). Но в итоге он работает, при тесте в CLI координатами сыпет нормально, да и судя по логам никаких скачков нет, и информацию о локации доставляет оперативно без пауз даже в моменты улётов. Спутников 8-10, HDOP обычно 1.4-1.6.

Я уже не знаю куда копать, может это вибрации??..

Приложу пару графиков:

  • Первый сверху - вибрации при висении в альтхолде. Высота почти ровная линия, стики не трогаю, там видно на графике. Говорят, допустимые по Х У от -3 до 3 .

  • Второй - показания компаса Х и У во время висения (во время 36,7 я немного тронул стик, потому такая гора на графике).

  • Третий график - еще вибрации. Видно когда я включаю возврат, вибрации чуть усиливаются к концу, когда коптер разгоняется при улёте. Потом включаю ручное и торможу стиком.

  • Четвёртый график ожидаемых скоростей по осям с реальными. На нём меня немного пугают моменты, обведённые в белые рамки, где они в разные стороны идут, было как раз пару случаев, когда коптер в РТЛ летел НЕ в сторону дома. Может это они. А так, вообще, линии, вроде доганяют друг друга как здесь, тоесть коптер улетает осознанно…

Ну и приложу ещё файл логов. Это не полный лог всего полёта, потому что у меня часто зависает скачивание некоторых логов через терминал (на одних и тех же местах если пробовать ещё). А через Мишн или АПМ пленнер я никогда ничего не смог ещё скачать. Уже всё перепробовал, ничего не помогло, так что только первые пять минут без лойтера.

Погомогите, плиз, советом, а то это уже тупик 😵

logs.zip