ArduCopter Mega: порт на обычную Arduino (тестим)
http://www.sliksvn.com/en/download собственно совершенно бесплатная субверсия.
Сам проект с открытым кодом, под GPL, free to modify etc. Копилефты в коде имеются.
Чего еще надо-то?
Обновлен МегаПират бета2:
- основной цикл стал 5.4 мс вместо родных 16, для I2C-датчиков это очень критично
- закончена настройка сонара. Используется DYP-ME007 за $8 вместо Maxsonar за $40. Точность - 1 сантиметр, дальность до 3 метров (стабильно), максимум 5.
Trig подключить к D47, Echo - к ноге D48.
- переписана инициализация ITG3200, из-за чего у него в 8 раз упал рейт
Барометр как работал, так и работает.
Для GPS надо носить на улицу, т.к. окна на север, фикса нет, хотя статус показывается нормально.
Магнетометр из Allinone нужно вырезать и вешать отдельно, а еще лучше самого разработчика 😦 , так как вот , а другого у меня нет.
Попробовал пожужжать в комнате, треха висит довольно стабильно, вобла пропала, но подергивается из-за кривого демпфера. Код пока отставляю в сторону, буду лечить свою битую трешку от вибрации.
Ах да, забыл архивчик приложить 😃
ardupirates.googlecode.com/…/MegaPirateB2.zip
Напоминаю, что:
Дабы исключить мороки с разными версиями библиотек у разных пользователей, МегаПират будет обновляться так называемыми бандлами (bundle), т.е. полным архивом, который был лично затестен мной так, как он есть.
Для каждой конкретной версии ArduCopter2 будет существовать свой архив МегаПирата. После выхода очередного обновления ардукоптера и его “пиратизации” работа над предыдущим архивом будет прекращена.
Магнетометр из Allinone нужно вырезать и вешать отдельно, а еще лучше самого разработчика , так как вот , а другого у меня нет.
Олег, а в чем там проблема?
Ссылку на слове “вот” заметил?
Этот чел натыкал конденсаторов с железными выводами, которые магнитятся (прилипают к отвертке), рядом с магнетометром. Из-за чего компас показывает север где-то под ногами. Вон, он уже там отмазывается в теме…
Золотой ты человек! а то я уже хотел заказывать эту оллинван…
Такая же бодяга наверное из FF IMU?
well that sucks. Some of the Jussi’s FFIMUs have problems with the mag too, mine works OK though, at least Jussi offers a few options to fix the problem, hopefully CSG_EU will do the same.
Такая же бодяга наверное из FF IMU?
да, на второй версии 1,22 с магнетометром 5883 тоже глюки были, пока на DEV версии кода не откалибровал магнетометр.
на первом ффиму 1,1 с магнетометром 5843 проблем нет.
Кто ж его знает!
Я вот сижу и думаю, пойти за кондерами vishay, или просто выпаять к лешему те, что рядом с компасом. И что делать с BMР085?
Была суровая мысль выпилить к черту компас с куском платы и вывести на проводках на стоечку.
ну вот, а хотел с зп заказать подобную платку… продает кто отдельно напаянный магнетометр дешевле 25$?
Глеб, да сейчас выпустят новую версию платок, не торописька.
Учись, летай пока 😃
бодяга
Это же вроде soft_iron и hard_iron эффекты, нужно калибровать магнетометр. На сайте HoneyWell есть Application Notes по этому поводу, математика в наличии. www.magneticsensors.com/literature.php.
…honeywell.com/…/Applications_of_Magnetoresistive_…
…honeywell.com/…/AN215_Cross_Axis_Effect_for_AMR_M…
sensorsmag.com/…/compensating-tilt-hard-iron-and-s…
serj “На широте Питера, например, вектор магнитного поля смотрит в землю под углом около 70 градусов к вертикали.” 😦
Для GPS надо носить на улицу, т.к. окна на север, фикса нет, хотя статус показывается нормально.
С тем что окна на север - не причина не коннекта. Спутники не геостационарные - потому они со всех сторон горизонта. Причина в чем то другом.
вектор магнитного поля смотрит в землю
Но ведь не вертикально же, согласитесь?
не вертикально
Конечно, не на полюсе живем. Но на экваторе ситуация гораздо приятнее.
Считается, что с монтажом магнетометра не стоит заморачиваться. Заморачиваться нужно с калибровкой, вращая на идеально горизонтальной поверхности. По полученной фигуре типа эллипса найти коэффициенты корректировки, которые дадут окружность на графике напряженности магнитного поля. Компас еще не выслали, нужно плату делать - не скоро смогу сам проделать калибровку.
FreeFlight IMU 1.22L от сюда www.viacopter.eu/index.php?page=shop.product_detai…
Поведение магнетометра
www.youtube.com/watch?v=zXU8aebq-Aw
Кручу коптер держа в руках.
Вполне адекватно
дошли руки до этой прошивки, но не пойму что я делаю не так: залил прошивку, запускаю конфигуратор, Action->AC2 Setup, тыкаю Setup - там одна кнопка, тыкаю её пишет что порт открыт и далее всё повисает… если залезть в другие вкладки, пишет Mavlink четотам, повисает, появляется отсчет таймаута, потом: “Comport open failed - Please try again and make sure your not in CLI mode”
у меня только 2 сенсора, код поменял под них (тоже самое если не менять код)… куда копать (я в CLI режиме? ничего не замыкал)? =)
на всякий случай, если это важно - приемник не подключен, только ардуинка и датчики
upd: в CLI режиме:
Init ACM
RAM: 1895
FW Version 5
----------------------------------------
дальше ничего не происходит =(
Поздравляю 😃
Пошагово:
Раз уж написал свои драйверы, сперва нужно проверить, работают ли они вообще. В библиотеке AP_ADC есть examples и в нем скетч весом в 5 кб (а не 124). Запустив его, в консоли ардуины можно увидеть все 7 каналов “типа АЦП”. 0,1,2,4,5,6 меняются? отлично, едем дальше
- скачать заново megapirateB2.zip
- в папке ардуины потереть все библиотеки (кроме своей AP_ADC, но лучше из нее код перенести в новую) и залить из архива библиотеки
- обновить конфигуратор в меню UPDATE
-засадить ногу 40 на землю - теперь можно выбрать AC2setup-Setup, на кнопку не жать, а переключиться на вкладку Initial settings.
Должно быть так:
Init ACM
RAM: 1747
FW Version 6
----------------------------------------
Entering interactive setup mode...
Type 'help' to list commands, 'exit' to leave a submenu.
Visit the 'setup' menu for first-time configuration.
AC 2.0.2 Beta]
Там можно набрать test
затем ADC и узреть свои значения датчиков.
Как дойдешь до этого пункта, пиши, пойдем дальше 😃
как не ковыряю, всё тоже самое, данные с датчиков бегут (пока не кручу - циферки на месте, кручу - всё меняется), переключился на вкладку (ногу естественно засадил), там:
Init ACM
RAM: 1747
FW Version 6
----------------------------------------
и всё на этом =(
кстаии делаю всё это через VirtualBox с виндой XP SP2 Eng (с AeroQuad нормально работало)
методом тыка: повисает на barometer.Init(); - барометра у меня нету =) где его отключать?
UPD: закоментил инициализацию барометра, теперь CLI работает, на тесте всё ок, циферки бегут (только навернка знаки перепутаны, но это на потом)
что дальше?
методом тыка
Отлично 😃 Только это не выход. Как только он начнет опрашивать баро в полете, начнется зависон и тупняк. Баро там сильно интегрирован, поскольку входит в состав оригинальной платы.
Придется “занулять” библиотеку APM_BMP085, или хотя бы ее работу с и2с.
В панельке CLI пройдись по всем кнопкам сверху кроме erase и reset, чтобы все откалибровать и выбрать тип пепелаца и набор датчиков
Затем вытащи перемычку из 40 и щелкни по raw sensor data. Следи за текстом на консоли, чтобы отловить, зависнет где-нить или нет.
Если все поканает и поползут графики, проверь работу индикаторов ROLL PITCH YAW, чтоб соответствовали отклонению коптера - это и есть проверка полярности. Также возможно придется менять делитель в гиро и акселе.
С акселем проще: после калибровки на оси Z будет -1000. Усилением акселя нужно добиться, чтобы в перевернутом состоянии было +1000, а не -500, 0 или проч. Делитель одинаковый на все оси.
Как настроишь, можно включать пульт, подрубать моторы и настраивать пиды. Потом, собсно, летать.
покоментил работу с i2c, график заработал:
буду настраивать дальше, пока что ROLL PITCH YAW фигню показывают и возвращаются к нулям, как было при неверном расположении датчиков в mutiwii =)
А чо графики такие порепанные? зайди в консоль, набери test ввод profiling
цифра в конце абракадабры должна быть не более 6000 - это тайминг основного цикла, как в мультивие