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

Antarius

В соседней ветке, где пилят прошивку под турнигу с отображение режимов полета, есть вариант с прошивкой для тараниса.
Но работает не стабильно, причину не понял. Выводит все. Когда работает.

Re-Loader
Antarius:

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

Спасибо за наводку - что-то сразу не догадался, что вместо конвертера можно допилить прошивку аппы до понимания мавлинка. Нашел такой проект - буду пробовать. Ну и APM Power Module тож заказал.
diydrones.com/…/mavlink-data-displayed-on-taranis-…
Думаю для тараниса это будет лучшим вариантом. Еще бы в офф. код включили поддержку мавлинка, чтоб можно было обновляться в ногу с новыми прошивками.

Dynamitry

Имею криус АИО с рстаймера с дохлым баро, хочу подключить внешний баро BMP180 и залить пирата. Будет работать?

RTemka

Если поискать старого пирата где еще под старые платы датчики в ручную выбирались.

Sir_Alex
Dynamitry:

Имею криус АИО с рстаймера с дохлым баро, хочу подключить внешний баро BMP180 и залить пирата. Будет работать?

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

Dynamitry

где именно там хранится тип и адрес баро, не подскажете? И я так понимаю что баро который я ставлю будет подключен к внешнему i2c порту, это тоже надо переписать в коде?

8 days later
Angel_007

Уважаемые форумчане-коптероводы,
помогите новичку:

Перекурил много по форумам 😵 Решил обратиться к первоисточникам. Какая самая свежая и стабильная версия прошивки МегаПирата или ArduCopter годится для прошивки Arduino Mega2560 r3? в версиях 3.1.х не понял, какое IMU выбирать. Прошивать Arduino IDE 1.0.6 или только 1.0.3 с заменой *.jar? Где-то читал, что ардуйну можно прошивать только версией “relax 022”, но не нашёл где качать. Очень много старых, не работающих ссылок. С 2011, когда всё начиналось- много новых идей и решений было реализовано. Всё, что выкачал из svn (trunk и diff)не компилируется, не в обиду SirAlex будет сказано. Возможно, что-то устарело или какая-то библиотека с чем-то не подружилась. Буду признателен, если дадите ссылку рабочего варианта 😉 Прекрасно встаёт 3.1.4, но в Mission planer не пересылаются mavlink heartbeats пакеты… за 2 недели тестов и прошивок передался 1 раз, 1 пакет (думаю баг).
Нашёл схему подключения всей периферии она ещё актуальна? rcopen.com/files/507af8b499707300778945a3
Собираю сам коптер Х, рама готовая 450, с GPS SkyLab. Подвес для камеры (простой, на сервах), MinimOSD. 6 каналов HobbyKing.
Пока не пришёл компас- режим Acro, на MPU6050 с акселератором.
Есть ли поддержка Сонара (HC-SR04) и 10dof (l3gd20 lsm303d BMP180) ? Пытался ли кто-нибудь добавить к Arduino Mega 2560 r3 1602 lcd keypad shield, для выбора режимов и отображения информации?

RTemka

Может вам AIOP купить ? Или IMU свежее с набором как в AIOP.
Иначе только искать старого пирата ниже 3й версии.

Angel_007

Ну прежде всего, так не интересно, а во вторых - Мега и датчики уже на руках 😛 а всё остальное нужно покупать.
Прошивку 2.9 осилил, вечером заливать буду. Осталось “прикрутить” датчики IMU 😵 видел в кодах мультивия похожие, а как их правильно их прикрутить - не могу найти. У кого-нибудь был опыт?

RTemka

В старом насколько помню была поддержка всех твоих сенсоров 😃

Angel_007
RTemka:

В старом насколько помню была поддержка всех твоих сенсоров 😃

В насколько старом? 2.5 ? 2.7 ?
Только с MPU6050 летать будет? Как её обозначить для системы?
Как посмотреть, по каким адресам откликается плата через I2C? (для 10DOF)

SovGVD
RTemka:

В старом насколько помню была поддержка всех твоих сенсоров

не было таких сенсоров, в старом itg320x поддержилвася с каким то старым барометром и акселем бошевым

чтобы запустить именно этим сенсоры, надо перековыривать HAL мегапиратный (или APMмный? чето не нашел бегло там про датчики)

самый простой вариант - купить платку с такими же датчиками (GY-86 кажется), чтобы не мучится, благо не миллионы долларов она стоит
еще лучше, но дороже, купить AIOP
если хочется новые прошивки, то APM/APMmini (хотя и на это чую забъют скоро, из-за тогоч то мощности AVR-ки не хватает на все хотелки)
если хочется продвинутой версии, то F4BY
если хочется продвинутой версии с новыми прошивками, то PixHawk
ну и так далее, до вуконга и прочих =)

Cooler044

Доброго времени суток!
Собран квадрокоптер на базе 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

damian
Cooler044:

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

Аналогичную ситуацию я не смог победить на своей плате. Лойтер так и не смог заставить работать, дальнейшие эксперименты с лойтером прекратил. Далее не вижу смысла тратить своё время и Вам не советую. По причине появления дешёвых плат APM и GPS на любой вкус и кошелёк.
Ради спортивного интереса эксперименты можно продолжить. Начал бы с разводки раздельного стабильного питания и влияния помех, вибраций.

RTemka

Все там просто 😃
Если алт холд висит как вкопанный значит вибрация в норме.
GPS запускаем и смотрим через минуты 3-5 если координаты скачут, в мусорку его или пробовать настройки перезалить. Хотя у меня был один случай дохлого усилка в антенне.
Украинским пользователям советую не забывать про АТО.
Если после этого унитазит, лечим компас от наводок.
И не надо всех этих графиков и прочего 😃

EvgenV

Loiter это режим, использующий GPS. Судя по симптомам, ваш коптер думает, что он находится совсем не там, где он на самом деле… ИМХО, питание и вибрации тут не причем, т.к. в режимах без GPS все в порядке, как я понял, и коптер адекватен. Подключить к МР и на земле наблюдать, что происходит на карте с его местоположением. Можно поменять местами пропеллеры, чтобы коптер не взлетал, когда газуешь… в общем, тщательно покопать в области GPS…

RTemka

Визуально разница заметна.
Если компас тот он начинает закручиваться как какашка в унитазе.
А если гпс, то четко летит в одну точку потом в другую 😃
Но при условии, что не срабатывает FS по GPS.

Re-Loader

Борюсь с такими же проблемами - уверенный улет в произвольную сторону в лоитер, но вроде худо-бедно стал висеть(жду внешний компас- у меня компасмот 100-350…). Что сделал - гпс на 5гц, порт на 57600, оставил только nmea протокол - ublox данных модуль вообще не отдавал(все через ublox u-center на neo-6m). И многократные калибровки аксель-гиро с упором коптера в перпендикулярные поверхности. Проверить ориентацию платы относительно коптера и в МР проверить, не стоит ли угол поворота для компаса(для встроенного быть не должно, внешний нужно точно ориентировать)
Пс. И еще что у меня было - видимо плохой контакт гпс. Поменял несколько шлейфов как в порту аиоп, так и в порту приемника. Симптомы - на столе, без питания движков коптер в МР резко “улетал” по карте в произвольную сторону - стоило тронуть провода или приемник. Иногда вылезала ошибка bad gps health. При этом обычно даже 3д фикс не терялся.

RTemka

Может стоило сразу такой модуль в ведро ?
С чего бы ему на родной блохе не разговаривать.
Есть модули без епрома на плате, те просто не запоминают настройки.
Есть еще смешнее, в место ионистора стоит батарейка. Пока не села все работает.

Re-Loader

Может и стоило, но другого пока нет, а этот вроде заработал. Я цеплялся к нему напрямую терминалом, бинарных данных с него не увидел - только чистый nmea. Хотя пирата шил через флештул и при прошивке выбирал скорость 115200 и протокол блохи - МР показывал 3д фикс и координаты, но думается мне что в коде там все ж есть какой-то автовыбор (не проверял!) и реально координаты получал по nmea. Если я ему говорил на выход только ublox - на порту была полная тишина. Хз что - может китайцы мудрят с этими модулями… и еще - вроде все пишут что он максимум 5гц может быть, но у меня легко устанавливался на 10гц, и без ошибок получал данные. На дублирование их не проверял - может просто сыпет 2 раза подряд одними координатами, но то что поток шел 10гц nmea и без ошибок- факт.
Модуль у меня с еепромом - настройки сохраняются, правда не с 1го раза. Ионистора хватает минут на 30-60, сужу по “холодному старту” модуля, елси полежит больше этого времени

Cooler044

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

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, может оно не справляется с записью? Хотя не должно.

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