ArduCopter Mega: порт на обычную Arduino (тестим)
пуллапы тут непричем , та плате стоит 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 кгц … а вот с пиратом пока облом …
Не получается подключиться к платке используя APC220 если установлен CLI режим
Беспроводку действительно нельзя использовать в CLI. Этот режим напрямую меняет типа “жизненно важные” параметры системы, и доверять простой текстовый режим ненадежной беспроводке - значит, подвергаться.
Протокол MAVlink, используемый в наземной станции, имеет пакетную структуру, CRC и проч. защиту. Но он ничего общего не имеет с терминалом.
Беспроводку действительно нельзя использовать в CLI. Этот режим напрямую меняет типа “жизненно важные” параметры системы, и доверять простой текстовый режим ненадежной беспроводке - значит, подвергаться.
Протокол MAVlink, используемый в наземной станции, имеет пакетную структуру, CRC и проч. защиту. Но он ничего общего не имеет с терминалом.
Хм… А я уже кучу кода поменял и сделал чтоб работало и там и там, по ка только тестирование подключил. Жаль, но я не подумал, что могут теряться пакеты, думал модем как-то обеспечивает целостность. Пока вроде работает нормально, но после настройки уровня верну нормальную прошивку.
все датчики работают отлично на 400 кгц … а вот с пиратом пока облом …
вот и у меня последний раз так же было, пока пулапы не врубил 😉
в 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 ком. Может фронты будут покруче, что есть полезно…
А зачем подтягивающие резисторы включать?
у меня самопальные датчики - стали лучше работать (точнее вообще стали работать)
Понятненько… Но насчет фронтов, это нужно попробовать. А вдруг лучше станет! Хотя сомнения есть. Как совмещаются аппаратные и программные пуллапы в параллели…
вот и у меня последний раз так же было, пока пулапы не врубил 😉
посмотрел осцилом вроде фронты нормальные …
со стороны датчиков (3,3в) стоят по 10к - вполне достаточно … со стороны проца (5в) 5к впринцепе тоже достаточно …
пуллапы в проце врубал … бестолку …
завтра спаяю для экспериментов ишшо одну плату без LLC (PCA9306) … похоже вней дело …
посмотрел осцилом вроде фронты нормальные …
со стороны датчиков (3,3в) стоят по 10к - вполне достаточно … со стороны проца (5в) 5к впринцепе тоже достаточно …
пуллапы в проце врубал … бестолку …
завтра спаяю для экспериментов ишшо одну плату без LLC (PCA9306) … похоже вней дело …
А у Вас Ардуина 3.3 вольтовая?
А у Вас Ардуина 3.3 вольтовая?
5в на меге 2560 … с выключенными пуллапами в проце и резисторами на 3,3в буду пробовать … надеюсЪ что не сожгу датчики …
зато точно выясню косяк в проге или в LLC … а может партия акселей кривых попаласЪ …
Я так пробовал на плате стик 9 от Спаркфана… Ничего хорошего. Может и не рассогласование уровней было виновато, но когда поставил самоделку на транзисторах для согласования уровней, все наладилось. Если бы не проблемы с компасом на той плате! Но для Мегапирата купил Аллинон, там тоже ЛЛС на транзисторах. И все путем.
Вроде в Ардуине есть возможность задать внешнее опорное напряжение на AREF ногу. И есть функция увтановки опорного напряжения. Вот только не уверен, что это релевантно для шины I2C. Вроде только для цифровых входов-выходов. Иначе кто бы стал городить согласование уровней, если можно уровень выставить опорным напряжением?
Мои настройки для стабрежима рол, питч: P=0,1 I=0,08 D=0,05
Попробовал на таких ПИДах полетать, после взлета - сразу в расколбас уходит.
Вчера купил профиль алюминиевый 10x20. Попробую сделать новую раму с удлиненными лучами выходящими за винты (ну что бы не ломать их).
И еще, я делал следующее: Держа в руках, давал газ 50% и пробовал наклонять в разные стороны коптер, так вот что то я не замечаю, что бы он сопротивлялся моим издевательствам. Реакция у него есть какая то, но то ли не в ту сторону, то ли слишком вялая.
С другой стороны, если стиками начать дергать, то явно чувствуется что он пытается повернуть в нужную сторону.
Вроде в Ардуине есть возможность задать внешнее опорное напряжение на AREF ногу
Это опорное напряжение для аналоговых входов (ADC).
Подскажите, как подключаются моторы, на пошивке 2.0.38? Я заметил в планере появились дополнительные колонки (или как их там) выходов на моторы. В частности, меня заинтересовали колонки 7 и 8. Когда делаю арм моторам, и пытаюсь рулить креном и тангажом, в первых четырех колонках значения меняются только у двух моторов. А должны вроде как по-парно у всех четырех. А по-парно получается если использовать 3, 4, 7, 8 колонки. Отсюда, собственно вопрос: где на ардуине эти выходы? Написал сумбурновато, но вроде смысл передал 😃
Вот решил и я попробовать пирата. У меня ардуина 2560 и allinone с gps. Подключил ардуину и сенсоры, пока без приемника и движков. Так вот если подключен gps, то не получается подключится через планер. Хотя в терминале gps исправно выдает координаты. В чем может быть дело?
Кажется понял почему не коннектится с гпс. Заметил это в терминале. Если подключен гпс, то показания test adc через некоторое время подвисают. Продолжает работать только test gps. Такое ощущение, что вся i2c шина зависает. Попробовал подключиться через планер сразу после нажатия на reset на ардуине. Нормально подключается, но через пару секунд показания горизонта останавливается, обновляются только данные гпс.
Кто что думает по это поводу, как можно решить эту проблему?
Кто что думает по это поводу, как можно решить эту проблему?
Возможно, проблемы с питанием или логическими уровнями.
Возможно. Но познания у меня в этой области весьма посредственны, поэтому может кто подскажет что стоит попробовать сделать в этом случае?
Странно то, что gps подключается через tx-rx, а виснут при этом датчики на i2c. Если же отключить gps, то всё работает как часы сколь угодно долго.
И ещё у кого есть allinone с gps, посмотрите как у вас припаян чип гпс. На моем две ножки спаяны вместе, хотя на фотках, которые я видел, такого нету. Может в этом дело…
две ножки спаяны вместе
на Black Vortex так же спаяны …
посмотрите как у вас припаян чип гпс
Судя по даташиту , эти контакты и должны быть соединены.
Вы не сказали, какая у вас версия платы, на 5В или 3.3В. И как вы на нее подаете питание? Какая у вас Ардуина (желательно ссылку на описание)?
Здравствуйте все.
Большое спасибо Syberian за этот замечательный проект.
На прошивке В8 ну ни как у меня не удавалось настроить нормально PIDы.
Сломал с десяток уже винтов, начал грешить на датчики(они у меня раздельные ВМА020,itg3205,BMP085,HMC5883).
Уже расстраиваться стал 😦
Сегодня скачал прошивку 2_0_38,быстренько загрузил,настроил и пошёл попробовать.
Запустил и обалдел 😃 с PIDами по умолчанию держится замечательно.
Заснять процесс полёта пока нечем.
Надо попробовать ещё сонар прицепить, вроде говорили что он здесь работает.
Так что на моей конфигурации прошивка работает отлично.
Вот моя плата.