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

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 на ардуине. Нормально подключается, но через пару секунд показания горизонта останавливается, обновляются только данные гпс.
Кто что думает по это поводу, как можно решить эту проблему?

Sir_Alex
Romb89:

Кто что думает по это поводу, как можно решить эту проблему?

Возможно, проблемы с питанием или логическими уровнями.

Romb89

Возможно. Но познания у меня в этой области весьма посредственны, поэтому может кто подскажет что стоит попробовать сделать в этом случае?
Странно то, что gps подключается через tx-rx, а виснут при этом датчики на i2c. Если же отключить gps, то всё работает как часы сколь угодно долго.

Romb89

И ещё у кого есть allinone с gps, посмотрите как у вас припаян чип гпс. На моем две ножки спаяны вместе, хотя на фотках, которые я видел, такого нету. Может в этом дело…

DrinK
Romb89:

две ножки спаяны вместе

на Black Vortex так же спаяны …