ArduCopter Mega: порт на обычную Arduino (тестим)
спаял таки платку с датчиками …
И2С спай показывает что чипы откликаются …
аксель на 0х80 адресе …
скомпилил В8 (брал по ссылке из вики) …
АПМ который брал оттуда-жо уменя не идет ( прозрачный экран) …
стянул АПМ 1.0.52 … запускается , плату видит , гира работает правильно ,баро тоже …
компас пробовал калибровать , вроде тоже работает …
а вот с акселем засада … в рав сенсоре прямые х=-2124 Y=2124 Z=2124 …
разводку перепроверил - фсио правильно …
пробовал даже новый чип поставить - тожсамое …
где засада ???
может траблы в том что атот АПМ незнает мегапирата ???дайте ссылку на АПМ который нормально понимает мегапират …
Проверьте адрес акселя в прошивке. По умолчанию он 0х82. Прописан в библиотеке AP_ADC_ADS7844.cpp
Как это не знает? Остальные датчики ведь работают?
А как на Вашей плате ориентированы датчики? Если отличаются от FFMU или ALLINON, то будет много проблем с настройками.
При включении компаса, планер просит ввести координаты(вроде) местоположения, для Воронежа - 51°40′18″ с. ш. 39°12′38″ в. д. - что конкретно ввести в строке ?
Угол магнитного склонения.
Сюда ввести ваши значения www.ngdc.noaa.gov/geomagmodels/…/calcDeclination
Получите значение угла магнитного склонения, внизу появится карта с вашим населенным пунктом. Этот угол и надо ввести. Только угол выдаст в градусах и минутах, вам нужно перевести в нормальные числа. Можно просто целое значение угла, и через запятую десятичное значение (например: 30 минут это 0,5 одного градуса и т.д.)
PS. Для Воронежа 8 градусов 55 минут. Это 8,9 градуса, можно просто 9 вписать, округлить так сказать.
При включении компаса, планер просит ввести координаты(вроде) местоположения, для Воронежа - 51°40′18″ с. ш. 39°12′38″ в. д. - что конкретно ввести в строке ?
Можно ввести любую цифру, а потом через терминал откалибровать его (компасс). Подробнее написано в wiki
может траблы в том что атот АПМ незнает мегапирата ???
дайте ссылку на АПМ который нормально понимает мегапират …
Тут говорили про “железо”, мол, пока летает - не ремонтируй!
Я тот же принцип предлагаю и к софту использовать. Если прошивка B8 прекрасно позволяет соединяться с тем планнером, который имеет МЕГАПИРАТА среди доступных вариантов, но номер верси этого планнера 1.0.30 Build 1.0.42-bla-bla-bla - то какой смысл при этой прошивке искать другой планнер? Для других прошивок - возможно и нужен, а для B8 зачем???
Ссылку же на упомянутый мною планнер уже давали в этой ветке несколько раз, но вот даю еще разочек:
…googlecode.com/…/MegaPiratePlanner.zip
По поводу “висения” - тут что-то с питанием, судя по всему. То ли датчиков, то ли ардуины. Очень странная вещь, ни разу не встречал у себя… Ни на ардуине, ни на вортексе.
Ну, поскольку я не супер-пупер-электронщик, то видимо лучшим решением на данный момент будет именно БлекВортекс заказать. Я так понял, у тебя для него есть отдельная версия прошивки под названием B8_BV???
тоже заказал себе =) а то где нить уронишь в поле по fpv и ищи его потом… а так на карту глянул и потопал куда надо
еще заказал с HK вот такой баззер так же для поисков,
Баззер есть, пищит действительно не очень, но еще второй вопрос КАК его включать? У меня 6-каналка, 4 канала на управление, 1 на режимы, а еще один что-то никакак при калибровке радио не видится… Может и не должен - вот этот канал AUX как его с пульта активировать-то при калибровке? Я уж все тумблерочки щелкал - не видит…
Да, аппаратура Spektrum DX6i, если что… Задействованы миксы для того, чтобы не 2 режима можно было выбирать, а 5. Может из-за этого 6-ой канал не видится? Ну, он 6-ой не по номеру (номера я сейчас не помню) а просто количественно, типа 5 есть, а вот шестой…
Но зато вот в ветке про пенолеты ту же проблему (поиска в высокой траве) предложили решить весьма оригинально: беспроводной электрический звонок для дачи. Который разные там мелодии играет. На сам аппарат вешается часть со звонком (ну там можно для облегчения корпус снять и еще что-то - для пенолетов это важно, а у нас лишние 100 грамм особой погоды не сделают), а в кармане у тебя лежит “кнопка” от этого звонка. Якобы слышно его метров на 50 или даже больше. Да и в полете можно немного поразвлекаться мелодиями… Я такой звоночек уже приобрел, но не опробовал, ибо далеко пока не летаю…
А по поводу телеметрии в полете - это же значит и ноутбук с собой на поле нужен? Ну, возможно я дорасту до такой необходимости, не исключаю. Спасибо за информацию!
А по поводу телеметрии в полете - это же значит и ноутбук с собой на поле нужен? Ну, возможно я дорасту до такой необходимости, не исключаю. Спасибо за информацию!
Не обязательно ноутбук. У меня тут возникла идея, сделать GCS на базе ARM платки на которой стоит 3.2’’ дисплей с тачскрином. Такую можно купить баксов за 45. С ее помощью можно было бы смотреть телеметрию (разумеется нужен приемник xbee или другой) и управлять направленной антенной.
Но пока я еще разбираюсь с самим коптером, то мне не до этого 😃
КАК его включать?
у меня 5 из 6 каналов подключены, я так понимаю его можно тупо в приемник втыкнуть и пищать крутилкой/тумблером/etc
ноутбук с собой на поле нужен?
ну в общем да, я по fpv летаю с нетбуком (dx чето очечки никак не отправит, заразы), поэтому проблемы особой не вижу + на следующей неделе может радость случится и будет более легкий и долгоиграющий смартбук
Проверьте адрес акселя в прошивке. По умолчанию он 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 , что ваапче с выпаяным акселем 😵 …
есть еще какиенибудь ардуинвские скетчи чтобы попробовать проверить аксель ???
попробовать проверить аксель ???
в 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
пуллапы тут непричем , та плате стоит 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).