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

DrinK

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

zvuk_Irkutsk

Угол магнитного склонения.
Сюда ввести ваши значения www.ngdc.noaa.gov/geomagmodels/…/calcDeclination
Получите значение угла магнитного склонения, внизу появится карта с вашим населенным пунктом. Этот угол и надо ввести. Только угол выдаст в градусах и минутах, вам нужно перевести в нормальные числа. Можно просто целое значение угла, и через запятую десятичное значение (например: 30 минут это 0,5 одного градуса и т.д.)

PS. Для Воронежа 8 градусов 55 минут. Это 8,9 градуса, можно просто 9 вписать, округлить так сказать.

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 колонки. Отсюда, собственно вопрос: где на ардуине эти выходы? Написал сумбурновато, но вроде смысл передал 😃