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

RA4ASN

Ну, я и имел в виду allinone и freeimu платки датчиков, а не пилиные или отдельные чипы. Надо было дописать 😃 Короче, наверн самому проще будет это дело изготовить, а пока и так сойдет 😃

Ar2r

По поводу APC220 есть небольшое решение.
Оно позволяет сохранять все измененные параметры, но сообщение об ошибке всеравно закрывать нужно.

Потом просто Refresh params жмем и убеждаемся, что все сохранилось.

diydrones.com/forum/topics/apc220-with-mp?page=1&c…

Sir_Alex

MegaPirateNG 2.2 b3

Прошивку я компилил на Arduino IDE 0023 без relapath (даже не знаю, нужен ли он был в действительности или нет).
Т.к. у меня появился GPS MT3329, обнаружил багу в драйвере. Не то что бы пофиксил (просто добавил в нужное место паузу), но пока работает без проблем.
В остальном, изменения были только в оригинальном коде AC, подробности можно прочитать тут

P.S. Похоже, я из тех, кто пишет прошивки, собирает коптеры, но толком не летает на них… просто не хватает на это времени 😃

SovGVD

погода не летная (во всяком случае в МО) - мороз и ветер, а так бы на квадрике с мультивия на мегапират мозги переставил и попробовал
чую к наступлению нормально погоды придется заново всё вспоминать и искать по теме пирата =)

alexeykozin
Sir_Alex:

Наконец то подключил модуль GPS! долго маялся, делать для него шилдик или нет… в итоге припаял просто кусочками выводов от резисторов… 😎

По умолчанию он работает на скорости 38400, протокол NMEA. Я его к пирату подключил как GPS_PROTOCOL_MTK16, в этом случае он переключается на 10Hz и Binary протокол 😃

Теперь мой МегаПиратеШилд выглядит вот так (на фото: FreeIMU 0.4.1, Bluetooth BC-04, GPS MT3329):

по идее на 57600 -115200 он должен и на nmea переключаться, если жпс модулю не хватает скорости потока то он вместо изменения скорости обновления выдает ошибку
если брать жпс модуль отдельно то лучше брать вместо pa6b продаваемого у дидронов - globaltop PA6C у него чип новый 3339, лучше чувствительность, меньше дрифт, поддержка загрузки EPO (AGPS)
в РФ globaltop продают только в одной питерской конторе и то только юрлицам, но можно попробовать где нить зарубежом

mahowik
Sir_Alex:

Похоже, я из тех, кто пишет прошивки, собирает коптеры, но толком не летает на них… просто не хватает на это времени

подобная фигня… все улучшайзеры пытаюсь делать и не летаю толком… надо чтото менять! 😃

Sir_Alex
alexeykozin:

по идее на 57600 -115200 он должен и на nmea переключаться, если жпс модулю не хватает скорости потока то он вместо изменения скорости обновления выдает ошибку

А зачем на NMEA (Кстати, он по умолчанию и работает на NMEA)? Мне и Binary протокол подходит, у него меньше по размеру пакеты - следовательно быстрее обрабатываются.

alexeykozin:

поддержка загрузки EPO (AGPS)

Он то же поддерживает AGPS… только зачем он нужен? Софт у нас это все равно не поддерживает. 😃

alexeykozin

AGPS на две недели вперед можно загрузить фирменной тулзой globaltop (если нужно дам ссылку), для этого надо подключить жпс модуль к ftdi (кстати на модуле есть юсб как второй интерфейс, может и через него можно, я пока не пробовал)
я заказал несколько разных модулей для тестирования, в том числе PA6B & PA6C если PA6Bна оригинальной прошиве то AGPS только по даташиту поддерживается, практически в процессе загрузки виснет и эффекта нет

EPO данные загружаются в энергонезависимую память, но батарейка на резервное питание все равно нужна - для внутренних часов

Sir_Alex
alexeykozin:

EPO данные загружаются в энергонезависимую память, но батарейка на резервное питание все равно нужна - для внутренних часов

Батарелки у мну нету 😦 У меня сам модуль (т.е. без какого либо шилда) подпаян на макетку + 1 резистор. Так что, лично для меня AGPS бесполезная штука. Кстати, я правильно понимаю, что если GPS привяжется к спутникам, то он точно так же в течении 14 дней сможет сделать Warm start? Я к чему, AGPS полезна, когда включаешь в первый раз по истечении этих 14 дней, что бы быстро загрузить эфемериды или что они там грузят и не ждать их, пока придут от спутников.
Еще вопрос по GPS: Изменение Datum’a на что нибудь влияет?

alexeykozin

батарейку или хотябы конденсатор надо обязательно, чтобы хотябы на время смены батареи коптера часы не сбивались. дело в том что в первые пару минут после получения лока на холодную показания плавают метров до 30
ерунда если в горизонтали, но плавает и высота, поэтому после холодного старта надо выждать пару минут и нажать сброс чтобы сохранился правильный хоум позишн.

EPO подкачиваются и без agps только непонятно на какой срок…
датум это смещение различных систем картографии относительно друг дружки, в планере используются гуголь карты у них датум 0, он же задан везде по умолчанию. полюбому точка хоум сохраняется в соответствии с тем датумом который прописан, посему особой разницы нет

кстати у P6 серии на резервное питание достаточно повесить кондер 2000мкф без цепи подзаряда, модуль сам его зарядит и на минуту как минимум тем экземплярам что у меня хватает - этого достаточно чтобы сменить батарею коптера

недавняя катастрофа в под петразаводском, была версия что самолет уклонился вправо изза того что карта с координатами была по нашему датуму а штурман вел по жпс навигатору с другой установкой датума, не сделав пересчет

Geniok

Всем добрый день!
Возможно кто-то сможет помочь с такой проблемой.
Имеется: MegapirateNG 49-й версии, Turnigy 9ch, ArduinoMoga 2560, MissionPlanner1.1.23, AeroSim RC 3.81.
Проблема: Не могу их между собой подружить.
Делал так, на пустую Ардуину заливал прошивку. Далее джампер между выводами A5 и землей. (как я понял включается режим CLI).
После этого запускаю MissionPlaner, выбираю порт и жму “Connect”. Далее иду в закладку “Terminal”, Там жму “Настроить радио”, гоняю стики Аппы по кругу, жму Enter, ставлю стики по центру, жму Enter.
Следующим шагом нажимаю “Тесты”, ввожу команду “Radio”, гоняю стики туда-сюда, показания меняются. То есть значения на Планер приходят.
Далее захожу в закладку “Configuration”, там выбираю закладку “Настройка”. Появляется окно “APM Setup” (скрин 1), там реакции на стики нет.
Открываю закладку “Simulation”, Там ставлю “AeroSimRC”, нажимаю “Старт”.
Запускаю сам AeroSimRC, там иду в плагины, выбираю APMHill, появляется маленькое окошко с надписью “APM Hill” и красным крестиком(скрин 2). Реакции на стики никакой. При заходе в настройки управления в самой игре реакции тоже нет.

Будьте добры, подскажите куда копать?

P.S. Все это время А5 и земля остаются замкнутыми, то есть из режима CLI не выходил.

С Уважением, Евгений!

SovGVD

а где написано что так можно делать со стандартной мегапиратной прошивкой?

Geniok
SovGVD:

а где написано что так можно делать со стандартной мегапиратной прошивкой?

Хмм…
Логично! Нигде! И какая прошивка нужна для этого?

SovGVD
Geniok:

И какая прошивка нужна для этого?

честно - хз =) но когда давно были ковыряния с кодом - там был режим HIL, его надо было задействовать, после чего как то хитро платка становилась мозгами для любого авиасимулятора
Sir Alex tusik, кажется, говорил что в новой версии это через MAVlink (протокол через который мозги с прогой общаются) уже можно делать
где то в wiki ардукоптера видел что-то про HIL =) больше ничего не могу сказать
если разберетесь - расскажите

tusik
SovGVD:

а где написано что так можно делать со стандартной мегапиратной прошивкой?

Чуть выше я писал. Перемычку с А5 убрать. На вкладке симулейшин ролл питч и рудер гейн выставить по 2000. Но я так и на смог добится адекватной реакции на газ. Стик в аеросиме ходит еле-еле. Хотя все остальные нормально. Соответственно взлететь не удалось 😃 Тестил на прошивке 2.1.1

Geniok
tusik:

Чуть выше я писал. Перемычку с А5 убрать. На вкладке симулейшин ролл питч и рудер гейн выставить по 2000. Но я так и на смог добится адекватной реакции на газ. Стик в аеросиме ходит еле-еле. Хотя все остальные нормально. Соответственно взлететь не удалось 😃 Тестил на прошивке 2.1.1

Если правильно понял перемычку убрать уже когда подключаюсь к симулятору?
Или еще когда в самом планере нахожусь?
Если убрать пока в самом планере то при подключении к планеру контроллера (нажатии кнопки “Connect”) Мавлинк не находит контроллер.

tusik
Geniok:

перемычку убрать уже когда подключаюсь к симулятору

Я вообще CLI режимом не пользуюсь. В планере на вкладке конфигурейшн делаю калибровку аппаратуры. В планере на вкладке симулейшин выбираю сим, выставляю гейны, нажимаю симлинк старт. Затем запускаю аеросим, выбираю плагин и все

Geniok
tusik:

Я вообще CLI режимом не пользуюсь. В планере на вкладке конфигурейшн делаю калибровку аппаратуры. В планере на вкладке симулейшин выбираю сим, выставляю гейны, нажимаю симлинк старт. Затем запускаю аеросим, выбираю плагин и все

Спасибо!
А вот у меня без CLI не видит контроллер. Будем копать дальше.

Вот тему нарыл, может тебе поможет, так как раз по настройкам: diydrones.com/forum/…/arducopter-2-1-1-alpha?comme…

tusik
Geniok:

А вот у меня без CLI не видит контроллер

Это как? А кнопочку коннект справа вверху нажимаете?

И вопрос по пирату 2.1 Сонар работает?

Sir_Alex
tusik:

И вопрос по пирату 2.1 Сонар работает?

Должен работать 😃 (У меня работает во всяком случае)

Я тут сделал видео для одного из пользователей RCGroups, но думаю оно будет полезно и тут. На видео видно, как должен вести себя HUD дисплей в Mission Planner. Это нужно если вы подключаете другие датчики или сомневаетесь в правильности работы существующих.
Суть в том, что вы в начале исключаете показания Акселерометра, а затем исключаете Гиру (а аксель назад включаете).
Отключить аксель можно, закомментировав кусок кода в файле AP_InertialSensor_Pirates.cpp:


_accel.x = _accel_scale * _accel_data_sign[0] * sum[_accel_data_index[0]] * count_scale;
_accel.y = _accel_scale * _accel_data_sign[1] * sum[_accel_data_index[1]] * count_scale;
_accel.z = _accel_scale * _accel_data_sign[2] * sum[_accel_data_index[2]] * count_scale;

Соответственно, код гиры чуть выше.

Geniok
tusik:

Это как? А кнопочку коннект справа вверху нажимаете?

Само-собой. В течении 30 сек. безрезультативно пытается подключиться