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

romushock
Sir_Alex:

зато есть пин,

Как говаривали в прошлом - внимательно учите первоисточники! Слона-то я и не заметил! Пошел пробовать…

romushock

Пожалуй прав Ян, дам-ка я немного картинок, чтоб яснее выглядело.
Итак, загружена В8, запущаем МР В8 Mission Planner:

Ставим порт и скорость, идём в первичный сетап

Перетирается EEPROM, грузится АРМ. Калибруем радио


CLI вэто время пишет следующее

Калибруем аксели, даём ОК на сонар и компас, загоняем магнитную инклинацию, даём тип рамы и получаем подтверждение о проведенном первичном сетапе





После этого начинается веселье - пытаемся поглядеть работу сенсоров

CLI начинает посылать в… и на…


Где я ошибаюсь?

Sir_Alex:

нужен пин RST, он внизу слева, обведен красным овалом

Ничего не дает…

YAN=

А где на плате перемычка для входа в CLI mode?

Sir_Alex
romushock:

Где я ошибаюсь?

Если способ с Ресетом не прокатывает, то
Что то мне подсказывает, что у вас проблема с AllInOne - либо вы не выбрали ее тип в прошивке, либо у вас проблема с одним из датчиков (непропай например)

Gapey

обычно такой коматоз бывает когда оно невидит гиру … без остальных датчиков оно хоть както работает …
для начала немешает зслить тестовый скетч и проверить видит ли мега датчики …

romushock
YAN=:

А где на плате перемычка для входа в CLI mode?

Здесь

Дабы опередить предположения “а не надо давать ему тереть еепром и ставить АРМ”, вот что пишет при запуске 30й версии планнера без начального сетапа


Всё те же плохие пакеты мавлинка.

Sir_Alex:

проблема с AllInOne - либо вы не выбрали ее тип в прошивке

Это здесь?

Gapey:

для начала немешает зслить тестовый скетч и проверить видит ли мега датчики …

Можно по пунктам - где взять, как шить и где смотреть потом?

tusik
romushock:

Это здесь?

Нет. Это здесь: C:\arduino-0022\libraries\AP_ADC\AP_ADC_ADS7844.cpp . Вот эти строки:

//*****************************
// Select your IMU board type:
// #define FFIMU
#define ALLINONE
// #define BMA_020 // do you have it?

Должно быть так

Сегодня попробовал авто взлет и посадку. В общих чертах работает. Установил в одной точке взлет, подъем на три метра и посадку. Поставил коптер дал газку. Коптер взлетел метра на полтора, сделал дугу, радиусом метра четыре и попытался сесть на обочину. Зацепился за траву и перевернулся. Грешу на свой ГПС. Посмотрел движется в планере коптер, пока в реале стоит на месте 😃 и пришел к выводу, что гпс надо менять.
Еще заметил зависимость алт-холда от погоды. Когда летал в 100% влажности коптер висит как прибитый, а когда погода сухая - его колбасит. Сегодня, правда, летал с парапланеристами, так они тоже ругались на непостоянство чего-то 😃

Gapey
romushock:

Можно по пунктам - где взять, как шить и где смотреть потом?

code.google.com/p/ardupirates/source/…/i2c_spy/?r=…
шить ардуиновским софтом , смотреть в нем-жо , в терминале … должон вывести список чипов на шине с указанием адресов …

TheGreatDom

Всем добрый вечер!

Заинтересовался мегапиратом. Раньше был aeroquad с железом shield 2. Решил попробовать пирата и наткнулся на проблемы.

Заливаю B8, все по правилам делаю. Мission planner видит все датчики, показания адекватные. При подключении питания моторов, они издают обычную серию из трех писков и потом начинают бесконечно быстро и коротко пищать…

Заливаю NG. Тут проблемы начинаются раньше. Пробую пройти setup в B8 planner, не получается. Не знаю, может с NG по другому настройку проходить надо, не нашел информации по этому поводу. При прохождении сетапа терминал пишет что определил прошивку 2.0.49_Beta и дальше ничего не происходит. Под большой кнопкой first setup при этом написанно comport opened.

Может я чтото не так делаю с NG? А вот с B8 все вроде правильно, но моторы все равно не работают. Может кто нибудь знет в чем дело?

Заранее спсибо!

Sir_Alex
TheGreatDom:

Может я чтото не так делаю с NG? А вот с B8 все вроде правильно, но моторы все равно не работают. Может кто нибудь знет в чем дело?

Вам надо откалибровать ESC. А для работы NG 2.0.49 нужен последний планер от 1.0.82 и выше

tusik
TheGreatDom:

но моторы все равно не работают

У меня был включен реверс рудера, и моторы стартовалли при отклонении стика рудера влево. А какое у Вас железо? Вы не в shield 2 заливаете?

TheGreatDom
Sir_Alex:

Вам надо откалибровать ESC. А для работы NG 2.0.49 нужен последний планер от 1.0.82 и выше

ESC откалиброваны были еще на аэрокваде. Их же не надо калибровать каждый раз когда меняешь проект как я понимаю?

NG заливаю и пробую коннектиться к самому последнему планеру, подключается но показания с датчиков не идут. Но я не прохожу setup как с В8. Надо ли его проходить на NG и как это сделать если надо?

tusik:

У меня был включен реверс рудера, и моторы стартовалли при отклонении стика рудера влево. А какое у Вас железо? Вы не в shield 2 заливаете?

До старта моторов еще не дошел, сразу при подключении к ним итания они ведут себя неадекватно.

Заливаю в Arduino Mega 2560. Shield 2 это плата с датчиками, я использую оборудование аналогичное ей. Как я понял датчики там такие же как и в allinone, и подключены они также к шине I2C. Так что здесь проблем вроде не должно быть, поправьте меня, если ошибаюсь.

tusik
TheGreatDom:

поправьте меня, если ошибаюсь.

Ошибаетесь. Там разные адреса. Надо знать что за плата и какие адреса у датчиков. По умолчанию пират использует аллинонне и ффиму.

Sir_Alex
tusik:

По умолчанию пират использует аллинонне и ффиму.

Ну и скорее всего, разная ориентация датчиков.

Gapey

на аэрокваде ориентация как на ффиму …

romushock
tusik:

Нет. Это здесь:

Андрей, с меня бутылочка кьянти… В прошлых битвах с ЖПСом снёс нахрен всё и перезачал по-новой, а AP ADC не подправил. В терминале видит радио и датчики. Теперь такой вопрос будет - тестируя altitude в терминале - откуда идут данные, с сонара или с барометра?

Как узнать, работает сонар или нет?
И снова война с ЖПСом… Скетч подправлен, как указано здесь (в сотый раз…). При попытках тестить в терминале команда rawgps остаётся без ответа, при даче gps начинает писать точки до бесконечности.

У меня сделано так

Шнурок 250 мм длиной, посредине стаб питания 3.3в. Слишком длинный?

tusik
romushock:

Как узнать, работает сонар или нет?

В терминале test-sonar.

romushock:

И снова война с ЖПСом

Что говорит планер на первой странице? Как подправлен скетч? Не нашел. Какие скорости порта? Как подключен ГПС? Надо RX-TX, TX-RX. А за кьянти спасибо 😃

TheGreatDom
tusik:

Ошибаетесь. Там разные адреса. Надо знать что за плата и какие адреса у датчиков. По умолчанию пират использует аллинонне и ффиму.

Датчики одинаковые и подключены к шине I2C, как я уже сказал. Это ведь значит что они висят на двух проводах, подключенных к одинаковым ножкам контроллера. Но возможно у них немного разная обвязка, адресующая каждый датчик. А существует в открытом доступе схематики allinone и ffimu? Был бы очень признателен, если кто подскажет. Проверив подключение датчиков можно будет точно судить.

Но в В8 все датчики работают и информация идет, проблема с двигателями, попробую еще откалибровать.

А всетаки в NG нужно проходить процедуру, аналогичную setup в B8? Не нашел информацию по этому поводу.

Sir_Alex
TheGreatDom:

А всетаки в NG нужно проходить процедуру, аналогичную setup в B8? Не нашел информацию по этому поводу.

Разумеется, нужно.

TheGreatDom

Я пробовал в планнере 1.0.88 с зашитым NG в терминале нажать “показать настройки” но там только показывает, выбирать как в В8 ничего не предлагается. И акселерометр с гироскопом видимо не определяются: в offsets одни нули, хотя в В8 датчики работают.

Не могли бы вы пошагово расписать setup для NG?

YAN=

Пытаюсь залить 2.0.49 в ардуину. А она мне ошибки.
D:\Qudro\arduino-0022\libraries\AP_RangeFinder\AP_RangeFinder_MaxsonarLV.cpp: In constructor ‘AP_RangeFinder_MaxsonarLV::AP_RangeFinder_MaxsonarLV()’:
D:\Qudro\arduino-0022\libraries\AP_RangeFinder\AP_RangeFinder_MaxsonarLV.cpp:34: error: no matching function for call to ‘RangeFinder::RangeFinder()’
D:\Qudro\arduino-0022\libraries\AP_RangeFinder\/RangeFinder.h:30: note: candidates are: RangeFinder::RangeFinder(AP_ADC*, ModeFilter*)
D:\Qudro\arduino-0022\libraries\AP_RangeFinder\/RangeFinder.h:27: note: RangeFinder::RangeFinder(const RangeFinder&)

где копать?