CRIUS ALL IN ONE PRO Flight Controller

Сергей_Вертолетов
ctakah:

Тогда интересно узнать по каким датчикам висит просто наза в одной точке или пузыри для нее не так важны?).Скорее всего дело в программе

Используется помимо барометра, ось Z датчиков, так что по сути - алгоритм хороший…

mahowik
elik981:

Лично мне мегапират нравится гораздо больше. Функционал пошире, настроек много, есть наземная станция с планнером. В плане кода мультивий гораздо проще устроен. Там нет телеметрии с мавлинком и наверное много чего еще. Все это туда скорее всего можно прикрутить, но приятнее, когда оно уже есть в прошивке.

А я за вий хотябы потому, что на 70-80% знаю его код, и если что пошло не так, то можно разобраться и самому поправить, а часто поэксперемeнтировать и дописать чего надо…
пират - black box, который даже у СэраАлекса на старте прыгает/прыгал через раз… По поводу теметрии, в вие она есть но со своим new протоколом и если поставить 3DR модем, то можно трекать все что надо, в том числе и по карте…

Shuricus
mahowik:

А я за вий хотябы потому, что на 70-80% знаю его код

ну только 70-80% остальных этот код не знают и поправить не смогут… Или я один такой?

mahowik

/- mobiDrone OSD v 2.3 PRE Release 7.5

  • New result screen with fly time, high altitude, high speed, high current, high distance
  • Added fly time to main screen
  • Adjustable max radar distance
  • Fixed menu noises in some case
  • GPS speed units changed to km/h
AnTiks:

в multiwii надо дописать кусок кода

www.multiwii.com/forum/viewtopic.php?f=8&t=649&sta…

Shuricus:

ну только 70-80% остальных этот код не знают и поправить не смогут…

посидите с годик в коде, тогда и набежит 70-80% 😉

Armin

да там и за месяц реально освоиться. Говнокода совсем нет, все прокомментировано, очень логично и понятно. Дело времени и некоторых навыков программирования.

сказал бы кто, как победить нестабильность бародатчика, чтобы вертолет на солнце не сходил с ума.

AnTiks
Armin:

сказал бы кто, как победить нестабильность бародатчика, чтобы вертолет на солнце не сходил с ума.

Поставить сонары… альтиметр с обычного ми-8 уж больно тяжелый-))))

mahowik
Armin:

да там и за месяц реально освоиться. Говнокода совсем нет, все прокомментировано, очень логично и понятно. Дело времени и некоторых навыков программирования.

раскажите мне тогда через месяц как в ИМУ происходит вращение матриЦ и компенсация дрейфа гироскопов по акселю и магнетометру… либо что такое и почему проишодит накопление ошибки в интеграторах самого ИМУ или пид контроллера… 😉 если база по теории этой есть, то не сомневаюсь что и за месяц можно! 😉

Armin:

сказал бы кто, как победить нестабильность бародатчика, чтобы вертолет на солнце не сходил с ума.

па-ра-лон! 😃

couger

Докладываю. Вчера пришла идея попробовать отделить мух от котлет, т.е. протоколы NMEA и UBLOX. Перепрошил плату на бинарный протокол, настроил gps на вывод данных только в UBLOX - заработало… до переконнекта… потом опять - NO GPS, GPS disabled. Но мы ведь не сдаемся. Тот-же фокус, только с NMEA. Скорость коннекта и там и там - 38400.
Результат есть. Вчера весь вечер и передергивал питание и жал ресет, делал холодный рестарт модулю - он настойчиво ловит 8-9 спутников на подоконнике и выдает координаты. Дал отлежаться ночь и полчаса назад включил - через 15 сек загорелся зеленый светодиод и минимосд показал на экране координаты.
Я пока для себя вопрос с gps СN-06 и AIO решил, связка работает, дело в коде. Буду собирать коптер и ждать изменений в протоколе ublox, так как считается что в нем нагрузка на проц при разборе меньше, да и точность выше, вроде.
Надеюсь у остальных, у кого были проблемы с этой связкой, тоже заработает…

Armin
mahowik:

раскажите мне тогда через месяц как в ИМУ происходит вращение матриЦ и компенсация дрейфа гироскопов по акселю и магнетометру…

для понимания этих процессов требуется знание матанализа и линейной алгебры. Я то не это имел ввилу, а про код писал, что понять и разобраться, где что происходит - не так сложно, там стиль написания кода довольно простой. Вот я про что. 😃 Единственное - что нет толковой документации, а иногда не совсем ясно, что есть что. Вот на выяснение этого уходит масса времени.
А ПИДы - это черный ящик. Не знаю, какая методика используется для их вычислений в коде мультивия, мне это неинтересно, ибо оно работает, и ладно; но существует масса готовых методов и алгоритмов вычисления интеграла. Согласен - не все так просто. Но все, что сделано одним челвоеком, может быть понято другим.

Об это можно порассуждать, но просто начнем мы с Вами об этом говорить, а толку? я лично не готов лезть туда, где чего-то не понимаю, при том, что алгоритм работает исправно. Сделать лучше? Ну да, может быть.

couger
Armin:

сравнил два ГПСа - от EagleTree, и CN-06. Второй проигрывает первому по чуйке…

Что-то не могу найти информации о подключении Игловского ЖПС. Роман, подскажите, как подключали к AIO PRO?

Diman-Gad
couger:

Докладываю. Вчера пришла идея попробовать отделить мух от котлет, т.е. протоколы NMEA и UBLOX. Перепрошил плату на бинарный протокол, настроил gps на вывод данных только в UBLOX - заработало… до переконнекта… потом опять - NO GPS, GPS disabled. Но мы ведь не сдаемся. Тот-же фокус, только с NMEA. Скорость коннекта и там и там - 38400.
Результат есть. Вчера весь вечер и передергивал питание и жал ресет, делал холодный рестарт модулю - он настойчиво ловит 8-9 спутников на подоконнике и выдает координаты. Дал отлежаться ночь и полчаса назад включил - через 15 сек загорелся зеленый светодиод и минимосд показал на экране координаты.
Я пока для себя вопрос с gps СN-06 и AIO решил, связка работает, дело в коде. Буду собирать коптер и ждать изменений в протоколе ublox, так как считается что в нем нагрузка на проц при разборе меньше, да и точность выше, вроде.
Надеюсь у остальных, у кого были проблемы с этой связкой, тоже заработает…

как у меня работает: ублох не надо коннектить к компу и переставлять там протоколы, он должен быть на дефолтных настройках иначе пират его не увидит!
те скорость 9600 и умолчальный протокол
в дефайне указать протокол ублох и не в коем случае не менять скорость, должна остаться 38400
подключаем батарею, смотрим - после инициализации (перемигивания красного и ораньжевого) должна сразу начать моргать зеленая лампа на контроллере, если не загорелась, сдёргиваем батарею и подключаем снова, должна начать моргать. как зафиксирует спутники -будет гореть постоянно
у меня 100 процентов всегда так стабильно работает
думаю при первой инициализации пират конфигурирует ублох, но не успевает его подхватить
потом при наличии батареи в ублохе пират видит жпс сразу, пока батарея не сядет, честно-небольшой гимор, думаю
да, фак всё-таки нужно какой-нибудь создать …

Armin
couger:

Роман, подскажите, как подключали к AIO PRO?

я не подключал его к AIO, а просто сравнил приём игловского и ублоксовского ГПСов.
В сравнении выяснил:

  • игл захватывает больше спутников, чем ублокс;
  • уровень сигнала принимаемых спутников выше у игла, чем у ублокса.
  • игл принимает те же спутники, что и ублокс, плюс еще 2-3 спутника с невысоким уровнем.
mahowik
Armin:

и линейной алгебры

тригонометрии скорее

Armin:

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

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

Armin:

Единственное - что нет толковой документации, а иногда не совсем ясно, что есть что. Вот на выяснение этого уходит масса времени.

не забывай - это опен сорс проект с ответами в сорсах 😉

Armin:

А ПИДы - это черный ящик. Не знаю, какая методика используется для их вычислений в коде мультивия, мне это неинтересно, ибо оно работает, и ладно

хе! а вот тут в корне не правильно! для того чтобы настроить леталку под себя, нужно хотябы понимать какой параметр за что отвечает, а то блин потом “не летит” ))
и как мин прочитать и разобраться с этим rcopen.com/blogs/83206/14324
и тогда не будет вопросов, что покрутить чеб “порезче”, а что делать а то блин по яв нос не держит… или самый крутой вопрос: “плата на столе, а уровни на контроллер разные бегут”… и т.д.

Armin:

Об это можно порассуждать, но просто начнем мы с Вами об этом говорить, а толку? я лично не готов лезть туда, где чего-то не понимаю, при том, что алгоритм работает исправно. Сделать лучше? Ну да, может быть.

если отношение чисто “я пользователь”, то зачем тогда лезть в опен сорс?! только потому что дешевле? купите назу или кроля и летайте… там вроде как раз и с описаловом получше, хотя не уверен…

я лично потратил пол года только на понимание, настройку коэф. комплементарного фильтра (альфа-бета фильтр) в IMU + кучу вариаций НЧ фильтров для акселя, + на полетные тесты для того чтобы вий держал таки горизонт в стаб. моде и не боялся вибраций + потом с 3-й попытки наконец пропихнули это в офицальный релиз. А раньше вий летал, толко у очень аккуратных моделистов с правильними рамами и виброразвязкой контроллера, да и на оф. форуме только и плодились темы о постоянном дрейфе стаб. мода, или “прыжек на старте в стаб. моде” = -2 пропа… Если коротко совсем, то стаб мод. был головной болью мултивистов, а сейчас он может стерпеть не идеально откалиброванние пропы и контроллер прикрученный к раме болтами без демпферов. Не со всеми акселями это проходит но всеж…

Я к тому что за все надо платить, а то русский менталитет типа “хачу все за 1$ еще и с документацией”… но не отрицаю сам иногда болею тем же, но борюсь с этим 😃

ivkov
mahowik:

я лично потратил пол года только на понимание,

Полностью согласен!
Есть такие “специалисты”- пару проводков скрутил, уже эксперт. Типа “могу порекомендовать” а спросишь по сути- не знаю, я думал, мне показалось ну и пр.

DVE

Для меня например open source удобен в первую очередь своей гибкостью, легко если надо переназначить пин или канал, поменять скорость порта, повесить пищалку и пр.
С контроллером “из коробки” такого не сделаешь.

Armin
mahowik:

Я к тому что за все надо платить, а то русский менталитет типа “хачу все за 1$ еще и с документацией”… но не отрицаю сам иногда болею тем же, но борюсь с этим 😃

хех, с этим не поспоришь 😃 все верно.

ivkov:

Есть такие “специалисты”- пару проводков скрутил, уже эксперт.

Женя, чтобы проводочки скрутить, как минимум сертификацию и допуск до киловольта надо. А это всётаки специалист уже. Да и с малоточкой не так всё просто. Да ладно, чё оффтоп разводить. Я просто свои постом по поводу разобрацца в коде хотел сказать, что надо цели ставить перед собой, а тот кто сидит, у того ничего не получится. И те самые 70-80% и через год не получится освоить. Если ты будешь верить и стремиться к тому, чтобы за месяц смочь освоить код МультиВия сего шматрицами и прочей математикой, то ты его освоишь, может не за месяц, но всётаки быстрее, чем если будешь сидеть и думать, “блин как тут всё сложно”. Вот что я хотел сказать. Надо стремиться к поставленной цели.

igoralekseevru

коллеги, мои мучения с контроллером продолжаются
хочу залить MW2.1

поставил arduino выбрал плату из списка Mega 2560 но ком-порт она мне выбрать не дает
указал прошивку 2.1 пробовал скомпилить выдает ошибки (как я пнимаю нужно в коде править параметры указывая тип моего коптера и тд?) где править?

In file included from MultiWii_2_1.cpp:14:
def.h:1469:10: error: #error "NUMBER_MOTOR is not set, most likely you have not defined any type of multicopter"
MultiWii_2_1:203: error: 'NUMBER_MOTOR' was not declared in this scope
MultiWii_2_1.cpp: In function 'void writeAllMotors(int16_t)':
Output:322: error: 'NUMBER_MOTOR' was not declared in this scope
Output:323: error: 'motor' was not declared in this scope
MultiWii_2_1.cpp: In function 'void initOutput()':
Output:334: error: 'NUMBER_MOTOR' was not declared in this scope
MultiWii_2_1.cpp: In function 'void mixTable()':
Output:1180: error: 'motor' was not declared in this scope
Output:1181: error: 'NUMBER_MOTOR' was not declared in this scope
Output:1183: error: 'NUMBER_MOTOR' was not declared in this scope
MultiWii_2_1.cpp: In function 'void evaluateCommand()':
Serial:207: error: 'MULTITYPE' was not declared in this scope
Serial:239: error: 'NUMBER_MOTOR' was not declared in this scope
Serial:239: error: 'motor' was not declared in this scope
igoralekseevru
igoralekseevru:

коллеги, мои мучения с контроллером продолжаются
хочу залить MW2.1

сам себе отвечаю, вдруг кому пригодится:

настройки нужно менять в config.h - простым расскоментированием (стиранием двойных слешей)
что бы порт нашелся нужно поставить драйвер с www.ftdichip.com/Drivers/VCP.htm

Мне не понравилось сообщение после загрузки “Размер скетча в двоичном коде: 22 274 байт (из 258 048 байт максимум)” Что это значит и насколько плохо?

Armin
igoralekseevru:

Размер скетча в двоичном коде: 22 274 байт (из 258 048 байт максимум)

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

igoralekseevru

по поводу настройки GPS CN-06 в MultiWii 2.1

Попробовал сделать по упомянутой коллегами ссылке:

www.multiwii.com/forum/viewtopic.php?f=8&t=649&sta…

если делать по инструкции, то шаг 3. In MultiWii.ino replace this: - затык =(

как я понял файл MultiWii.ino называется MultiWii_2_1.ino но в нем нет куска который нужно заменить

Означает ли это, что в новой версии уже пропатчили и ничего делать не надо? Остальные шаги я сделал (добавил строчки, точнее расскоментировал)

Сейчас смотрю на GPS модуль и думаю, а куда его встыкать-то?

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

Armin

о, сейчас я Вас закидаю ссылками. Судя по названию поста, у Вас Ublox CN-06, да?
Значит, смотрите.
Первое.
www.multiwii.com/forum/viewtopic.php?f=8&t=2166#p2…
Переведу на всякий случай.
Сначала качаем файлик GPS.zip он там к сообщению прикреплен (ссылка выше). Кладем этот файлик в папку со скетчем, заменив родной GPS.ino на новый из архива.

Добавляем эти строки в config.h в раздел, где GPS config.
//#define NMEA
#define UBLOX
// #define MTK

#define GPS_LEAD_FILTER

//#define GPS_FILTERING
//#define NAV_SLEW_RATE 30

Теперь добавляем иициализацию в multiwii.ino setup() (сразу после объявления самого setup() ):

#if defined(GPS_SERIAL)

#if defined(UBLOX)
UBLOX_init();
delay(200);
#endif

#if defined(MTK)
MTK_init();
delay(200);
#endif

SerialOpen(GPS_SERIAL,GPS_BAUD);

For UBLOX and MTK the GPS_BAUD must be 57600
, то есть надо установить baudrate 56700.
Данный мод запускает ГПС в режиме Ublox Binary на скорости 57600, частота обновления 5 Гц. Автор мода утверждает, что режим Ublox Binary лучше, чем NMEA, потому что точнее. В подробности не вдавался, каким именно образом.

__________________________________________
Второй вариант - 115200 и 10 Гц обновления лежит по ссылке www.rcgroups.com/forums/showpost.php?p=22388178&po…
Скажу от себя - пробовал его, ГПС дёрганый какой-то, удержание кое как, а RTL - совсем и не RTL, а по моему “догони меня, если не хочешь потерять”.