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

Sir_Alex
DrinK:

При включении компаса, планер просит ввести координаты(вроде) местоположения, для Воронежа - 51°40′18″ с. ш. 39°12′38″ в. д. - что конкретно ввести в строке ?

Можно ввести любую цифру, а потом через терминал откалибровать его (компасс). Подробнее написано в wiki

SavosRU
Gapey:

может траблы в том что атот АПМ незнает мегапирата ???

дайте ссылку на АПМ который нормально понимает мегапират …

Тут говорили про “железо”, мол, пока летает - не ремонтируй!
Я тот же принцип предлагаю и к софту использовать. Если прошивка B8 прекрасно позволяет соединяться с тем планнером, который имеет МЕГАПИРАТА среди доступных вариантов, но номер верси этого планнера 1.0.30 Build 1.0.42-bla-bla-bla - то какой смысл при этой прошивке искать другой планнер? Для других прошивок - возможно и нужен, а для B8 зачем???

Ссылку же на упомянутый мною планнер уже давали в этой ветке несколько раз, но вот даю еще разочек:
…googlecode.com/…/MegaPiratePlanner.zip

Syberian:

По поводу “висения” - тут что-то с питанием, судя по всему. То ли датчиков, то ли ардуины. Очень странная вещь, ни разу не встречал у себя… Ни на ардуине, ни на вортексе.

Ну, поскольку я не супер-пупер-электронщик, то видимо лучшим решением на данный момент будет именно БлекВортекс заказать. Я так понял, у тебя для него есть отдельная версия прошивки под названием B8_BV???

SovGVD:

тоже заказал себе =) а то где нить уронишь в поле по fpv и ищи его потом… а так на карту глянул и потопал куда надо
еще заказал с HK вот такой баззер так же для поисков,

Баззер есть, пищит действительно не очень, но еще второй вопрос КАК его включать? У меня 6-каналка, 4 канала на управление, 1 на режимы, а еще один что-то никакак при калибровке радио не видится… Может и не должен - вот этот канал AUX как его с пульта активировать-то при калибровке? Я уж все тумблерочки щелкал - не видит…
Да, аппаратура Spektrum DX6i, если что… Задействованы миксы для того, чтобы не 2 режима можно было выбирать, а 5. Может из-за этого 6-ой канал не видится? Ну, он 6-ой не по номеру (номера я сейчас не помню) а просто количественно, типа 5 есть, а вот шестой…

Но зато вот в ветке про пенолеты ту же проблему (поиска в высокой траве) предложили решить весьма оригинально: беспроводной электрический звонок для дачи. Который разные там мелодии играет. На сам аппарат вешается часть со звонком (ну там можно для облегчения корпус снять и еще что-то - для пенолетов это важно, а у нас лишние 100 грамм особой погоды не сделают), а в кармане у тебя лежит “кнопка” от этого звонка. Якобы слышно его метров на 50 или даже больше. Да и в полете можно немного поразвлекаться мелодиями… Я такой звоночек уже приобрел, но не опробовал, ибо далеко пока не летаю…
А по поводу телеметрии в полете - это же значит и ноутбук с собой на поле нужен? Ну, возможно я дорасту до такой необходимости, не исключаю. Спасибо за информацию!

Sir_Alex
SavosRU:

А по поводу телеметрии в полете - это же значит и ноутбук с собой на поле нужен? Ну, возможно я дорасту до такой необходимости, не исключаю. Спасибо за информацию!

Не обязательно ноутбук. У меня тут возникла идея, сделать GCS на базе ARM платки на которой стоит 3.2’’ дисплей с тачскрином. Такую можно купить баксов за 45. С ее помощью можно было бы смотреть телеметрию (разумеется нужен приемник xbee или другой) и управлять направленной антенной.
Но пока я еще разбираюсь с самим коптером, то мне не до этого 😃

SovGVD
SavosRU:

КАК его включать?

у меня 5 из 6 каналов подключены, я так понимаю его можно тупо в приемник втыкнуть и пищать крутилкой/тумблером/etc

SavosRU:

ноутбук с собой на поле нужен?

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

Gapey
Alex_from_Israel:

Проверьте адрес акселя в прошивке. По умолчанию он 0х82. Прописан в библиотеке AP_ADC_ADS7844.cpp

Как это не знает? Остальные датчики ведь работают?

А как на Вашей плате ориентированы датчики? Если отличаются от FFMU или ALLINON, то будет много проблем с настройками.

ишшо раз прибил все и распаковал заново …
в библиотеке AP_ADC_ADS7844.cpp по умолчанию стоит FFIMU вроде как адрес 0х80 …
И2С спай показывает адрес 0х80 …
все датчики расположены как на FFIMU , собственно плата с неё и переделывалась …
АПМ скачал 1.0.30 Build 1.0.42 … аксель попрежнему неработает … в рав сенсоре прямые х=-2124 Y=2124 Z=2124 …
притом что с акселем на 0х80 что на 0х82 , что ваапче с выпаяным акселем 😵
есть еще какиенибудь ардуинвские скетчи чтобы попробовать проверить аксель ???

SovGVD
Gapey:

попробовать проверить аксель ???

в Examples есть ADC test, вроде как мучает только гиру с акселем (и наверное сонар?)
еще можно multiwii залить попробовать
а еще у меня датчики лучше заработали когда добавил (аксель молчал, хотя раньше работал отлично):

// *********************
// I2C general functions
// *********************
  #define I2C_PULLUPS_DISABLE       PORTC &= ~(1<<4); PORTC &= ~(1<<5);
  #define I2C_PULLUPS_ENABLE		PORTD |= 1<<0; PORTD |= 1<<1;

и далее

void i2c_init(void) {
    I2C_PULLUPS_ENABLE
Gapey

пуллапы тут непричем , та плате стоит pca9306 и резюки припаяны …
AP_ADC_test.pde компилится без ошибок , но ничего не отдает в компорт …
AP_IMU.pde из Examples сбрасывается и выдает Doing IMU startup…
после чего в след строке опять пишет Doing IMU startup накладывающиеся друг на друга …
видимо потому что стоит мега 2560 (1280 чипов уменя нет) …

смотрел multiwii 1,8 … там какраз добавилась поддержка FFIMU … на моей меге чота тоже незапустился …
придется садиться собирать нану 328 под multiwii … благо 328р имеются …

ЗЫ: таки запустил wii … все датчики работают отлично на 400 кгц … а вот с пиратом пока облом …

Syberian
Galamaga:

Не получается подключиться к платке используя APC220 если установлен CLI режим

Беспроводку действительно нельзя использовать в CLI. Этот режим напрямую меняет типа “жизненно важные” параметры системы, и доверять простой текстовый режим ненадежной беспроводке - значит, подвергаться.
Протокол MAVlink, используемый в наземной станции, имеет пакетную структуру, CRC и проч. защиту. Но он ничего общего не имеет с терминалом.

Galamaga
Syberian:

Беспроводку действительно нельзя использовать в CLI. Этот режим напрямую меняет типа “жизненно важные” параметры системы, и доверять простой текстовый режим ненадежной беспроводке - значит, подвергаться.
Протокол MAVlink, используемый в наземной станции, имеет пакетную структуру, CRC и проч. защиту. Но он ничего общего не имеет с терминалом.

Хм… А я уже кучу кода поменял и сделал чтоб работало и там и там, по ка только тестирование подключил. Жаль, но я не подумал, что могут теряться пакеты, думал модем как-то обеспечивает целостность. Пока вроде работает нормально, но после настройки уровня верну нормальную прошивку.

SovGVD
Gapey:

все датчики работают отлично на 400 кгц … а вот с пиратом пока облом …

вот и у меня последний раз так же было, пока пулапы не врубил 😉

Alex_from_Israel
SovGVD:

в Examples есть ADC test, вроде как мучает только гиру с акселем (и наверное сонар?)
еще можно multiwii залить попробовать
а еще у меня датчики лучше заработали когда добавил (аксель молчал, хотя раньше работал отлично):

// *********************
// I2C general functions
// *********************
 #define I2C_PULLUPS_DISABLE       PORTC &= ~(1<<4); PORTC &= ~(1<<5);
 #define I2C_PULLUPS_ENABLE		PORTD |= 1<<0; PORTD |= 1<<1;

и далее

void i2c_init(void) {
   I2C_PULLUPS_ENABLE

А зачем подтягивающие резисторы включать? На плате же есть по 4 килоома. Впрочем с 20 ком подтягивающими и 4 ка плате получится меньше 4 ком. Может фронты будут покруче, что есть полезно…

SovGVD
Alex_from_Israel:

А зачем подтягивающие резисторы включать?

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

Alex_from_Israel

Понятненько… Но насчет фронтов, это нужно попробовать. А вдруг лучше станет! Хотя сомнения есть. Как совмещаются аппаратные и программные пуллапы в параллели…

Gapey
SovGVD:

вот и у меня последний раз так же было, пока пулапы не врубил 😉

посмотрел осцилом вроде фронты нормальные …
со стороны датчиков (3,3в) стоят по 10к - вполне достаточно … со стороны проца (5в) 5к впринцепе тоже достаточно …
пуллапы в проце врубал … бестолку …
завтра спаяю для экспериментов ишшо одну плату без LLC (PCA9306) … похоже вней дело …

Alex_from_Israel
Gapey:

посмотрел осцилом вроде фронты нормальные …
со стороны датчиков (3,3в) стоят по 10к - вполне достаточно … со стороны проца (5в) 5к впринцепе тоже достаточно …
пуллапы в проце врубал … бестолку …
завтра спаяю для экспериментов ишшо одну плату без LLC (PCA9306) … похоже вней дело …

А у Вас Ардуина 3.3 вольтовая?

Gapey
Alex_from_Israel:

А у Вас Ардуина 3.3 вольтовая?

5в на меге 2560 … с выключенными пуллапами в проце и резисторами на 3,3в буду пробовать … надеюсЪ что не сожгу датчики …
зато точно выясню косяк в проге или в LLC … а может партия акселей кривых попаласЪ …

Alex_from_Israel

Я так пробовал на плате стик 9 от Спаркфана… Ничего хорошего. Может и не рассогласование уровней было виновато, но когда поставил самоделку на транзисторах для согласования уровней, все наладилось. Если бы не проблемы с компасом на той плате! Но для Мегапирата купил Аллинон, там тоже ЛЛС на транзисторах. И все путем.

Вроде в Ардуине есть возможность задать внешнее опорное напряжение на AREF ногу. И есть функция увтановки опорного напряжения. Вот только не уверен, что это релевантно для шины I2C. Вроде только для цифровых входов-выходов. Иначе кто бы стал городить согласование уровней, если можно уровень выставить опорным напряжением?

Sir_Alex
zvuk_Irkutsk:

Мои настройки для стабрежима рол, питч: P=0,1 I=0,08 D=0,05

Попробовал на таких ПИДах полетать, после взлета - сразу в расколбас уходит.
Вчера купил профиль алюминиевый 10x20. Попробую сделать новую раму с удлиненными лучами выходящими за винты (ну что бы не ломать их).

И еще, я делал следующее: Держа в руках, давал газ 50% и пробовал наклонять в разные стороны коптер, так вот что то я не замечаю, что бы он сопротивлялся моим издевательствам. Реакция у него есть какая то, но то ли не в ту сторону, то ли слишком вялая.
С другой стороны, если стиками начать дергать, то явно чувствуется что он пытается повернуть в нужную сторону.

Alex_from_Israel:

Вроде в Ардуине есть возможность задать внешнее опорное напряжение на AREF ногу

Это опорное напряжение для аналоговых входов (ADC).

tusik

Подскажите, как подключаются моторы, на пошивке 2.0.38? Я заметил в планере появились дополнительные колонки (или как их там) выходов на моторы. В частности, меня заинтересовали колонки 7 и 8. Когда делаю арм моторам, и пытаюсь рулить креном и тангажом, в первых четырех колонках значения меняются только у двух моторов. А должны вроде как по-парно у всех четырех. А по-парно получается если использовать 3, 4, 7, 8 колонки. Отсюда, собственно вопрос: где на ардуине эти выходы? Написал сумбурновато, но вроде смысл передал 😃

Romb89

Вот решил и я попробовать пирата. У меня ардуина 2560 и allinone с gps. Подключил ардуину и сенсоры, пока без приемника и движков. Так вот если подключен gps, то не получается подключится через планер. Хотя в терминале gps исправно выдает координаты. В чем может быть дело?

Romb89

Кажется понял почему не коннектится с гпс. Заметил это в терминале. Если подключен гпс, то показания test adc через некоторое время подвисают. Продолжает работать только test gps. Такое ощущение, что вся i2c шина зависает. Попробовал подключиться через планер сразу после нажатия на reset на ардуине. Нормально подключается, но через пару секунд показания горизонта останавливается, обновляются только данные гпс.
Кто что думает по это поводу, как можно решить эту проблему?