?

Log in

No account? Create an account
aviamax
Полетный контроллер Crius All In One Pro с прошивкой MegaPirateNG (часть 1) 
26-сент-2012 09:32 pm
alenka
Несколько недель назад приехал полетный контроллер Crius All In One Pro.
Для того чтобы поэтапно проверить его работу и разобраться с ПО, времени не хватало.
Crius All In One Pro v1.0
Сейчас есть несколько свободных дней для ее настройки.
Я решил задокументировать свой "танец с бубном" вокруг этой платы, так как в комплекте нет документации и используется большое количество инструментов разных производителей.


Данный полетный контроллер интересен наличием всех необходимых датчиков и большим числом выводов для управления моторами и подвесом.
Для аэрофотографии и видеосъемки будут полезны режимы удержания позиции и полет по точкам (при использование MegaPirateNG).
Crius AIO Pro v1.0
На Crius AIO Pro установлены следующие компоненты:
Микроконтроллер - Atmel- ATMEGA2560
Акселлерометры/гироскопы - InvenSense MPU-6050
Компас - Honeywell HMC-5883L
Барометр MS-5611
Количество выводов на регуляторы хода - 8шт
Количество выходов для управления подвесом -3шт
На этом железе возможно использование кода MultiWii и MegaPirateNG.
MegaPirateNG является адаптацией кода ArduCopter2 для работы на альтернативном железе.
Плату можно приобрести на dx - CRIUS ALL IN ONE PRO v1.0 Multiwii & Megapirate Flight Controller

Комплект поставки
Crius All In One Pro v1.0 packing
Плата поставляется в комплекте с необходимыми для подключения приемника и периферии проводами.

Crius All In One Pro v1.0 cable set
•3Pin to 1Pinx3 cable 100mm x 3
•3Pin to 3Pin cable 100mm x 1
•Molex 1.25mm 4Pin cable 100mm x1
•Molex 1.25mm 6Pin cable 100mm x2
•Molex 1.25mm 8Pin cable 100mm x1

Не хватает в комплекте только микро-USB кабеля.

Установка драйверов USB-Serial
Для доступа  к последовательному порту микроконтроллера AIO на плате установлен преобразователь интерфейса USB в последовательный - FTDI FT232RQ.
Перед началом работы необходимо скачать и установить драйвер с сайта FTDI.

Компилирование и заливка прошивки MegaPirateNG.
Скачиваем IDE для разработки Arduino 1.0.1 - http://arduino.cc/en/Main/Software
Распаковываем содержимое в отдельную папку.
Переименовываем каталог libraries в libraries.orig
Скачиваем исходный код MegaPirateNG (в моем случае версия 2.7R4) http://code.google.com/p/megapirateng/downloads/list.
Распаковываем в тот же каталог содержимое архива MegaPirateNG. Папка libs  из исходников MegaPirateNG подменяет оригинальные библиотеки согласно README.

Правим файл ArduCopter\APM_Config.h
#define PIRATES_SENSOR_BOARD PIRATES_CRIUS_AIO_PRO_V1
#define CONFIG_BARO AP_BARO_MS5611_I2C
На данном этапе я хотел проверить работоспособность платы. Остальные настройки буду выполнять по мере надобности.

Запускаем среду разработки - arduino.exe
Открываем проект File-> Open  в папке ArduCopter\ArduCopter.pde

arduino ide board select Crius AIO Pro
Выбираем плату проекта Tools-> Board -> Arduino Mega 2560 or MegaADK

Arduino Programmer select
Программировать будем по USB средствами платы Tools->Programmer->Arduino as ISP

Arduino Port Selection
Выбираем виртуальный ком-порт Tools->Serial Port.

Arduino compile
Нажимаем Verify для сборки проекта

Arduino firmware upload
Нажимаем Upload для загрузки микропрограммы в плату.

Проверка работы датчиков через Mission Planner
Mission Planner можно скачать из проекта ArduPilot http://code.google.com/p/ardupilot-mega/downloads/list
После подключения платы к USB должна пройти инициализация датчиков.
Индикация инициализации гироскопа - поочередное моргание светодиодов A (красный) и B (желтый).
В  этот момент плата должна лежать неподвижно 3-7 секунд .

Crius All In One Pro MegaPirateNG Mission Planner
На данном этапе на плату у меня уже загружена firmware с MegaPirateNG.
Можно проверить что Mission Planner успешно распознает плату.

Mission Planner Crius AIO Pro Compass Enable
Активировать компас можно в меню Configuration->Hardware Options ->Compass->enable
Для правильной работы нужно выполнить калибровку и указать магнитное склонение той местности, где будут проводиться полеты.

Калибровку компаса проводим, медленно вращая плату в каждой из осей.

После калибровки компаса можно повертеть плату в окне Flight Data, проверив работу барометра, компаса, гироскопов и акселерометров.

Upd:
Аналогичная по датчикам плата - 3M PILOT MultiWii MegaPirateNg MWC Flight Controller

Другие статьи:
Подключение EagleTree GPS v4 к Crius All In One Pro с MegaPirateNG

Comments 
27-сент-2012 02:31 pm - Начало -)))
Сегодня пришла эта платка. Залил на нее 2.7 R4. Плата подключена через усб к компу и питается от него же. Подключиться пытаюсь миссион планером - не дает это сделать. Вопрос - могу я через усб это сделать или только через порт мавлинк этот коннект происходит? Как вообще проверить работу датчиков платки? В терминалке три раза нажимаю ентер но командной строки так и не появляется.
27-сент-2012 02:38 pm - Re: Начало -)))
или все же посмотрев на Ваш планер - запитать платку от внешнего источника питания?-) УСБ питания не хватает ей для запуска-). Хотя датчики по i2c шине видны все-)
27-сент-2012 02:56 pm - Re: Начало -)))
Я запитал позже через внешку, но для других целей. Чтобы на последовательных портах 5v присутствовало.
А виртуальный ком-порт появляется? В миссион планнер вы его выбрали? Скорость 115200?
После кнопки коннект что происходит?

Сейчас блютуз зацепил с ftdi порта
27-сент-2012 02:50 pm - Re: Начало -)))
у меня все через usb было - работало.
Вы его случайно не вырвали при отключение?
27-сент-2012 03:08 pm - Re: Начало -)))
Да нее-)) Я в курсе этой проблемы. Он то прошился и на терминалку выкидывает данные. Gyro init Нажмите 3 раза для входа в командную строку...но туда не входит. Ком порт конечно виден. Но подключение - пишет таймаут и что-то вроде no heartbeat
27-сент-2012 03:10 pm - Re: Начало -)))
получается он как подвисает что-ли после старта....должна же в терминалке командная строка вывалиться после трехкратного ентера...
27-сент-2012 04:33 pm - Re: Начало -)))
А др софты не могут в это время порт использовать?
Arduino IDE закрыт?

терминалку вы как смотрите?
27-сент-2012 07:19 pm - Re: Начало -)))
Arduino открыт - но он порт не цепляет то пока не открыт на нем терминал или он не прошивает. Но закрыть попробую. Терминалку пробовали в планере и другую стороннюю. Завтра попробую внешнее питание подкинуть
28-сент-2012 12:26 pm - Re: Начало -)))
а какие надписи в терминалке вываливаются при подключении у вас.? у меня часто виснет на надписи InitGyro....мож с гироскопом че-то не того думаю...
хотя i2c_spy видит наличие гироскопа на шине
28-сент-2012 12:57 pm - Re: Начало -)))
Для инициализации гир надо полный покой. положите плату неподвижно.
про надписи чуть позже посмотрю
28-сент-2012 01:10 pm - Re: Начало -)))
Ок..уже что-то. и сколько времени это процесс занимает? Залили мультивии и вижу что нормалек с датчиками - графики бегают - стрелки крутятся-))))))))
28-сент-2012 01:26 pm - Re: Начало -)))
Хм..полежал он подольше и запустился планер-)))
28-сент-2012 01:32 pm - Re: Начало -)))
Гиры недолго инициализируются. Неподвижность нужна секунд 10.
28-сент-2012 01:45 pm - Re: Начало -)))
Добавлю в инструкцию. Не очевидно, что плата должна лежать.)
28-сент-2012 02:33 pm - Re: Начало -)))
может ее мультивии как-то дернула и она проснуласью Пробовал 2.7 R3 заливать - на ней у меня терминалка начала предлагать функции. До этого просто не было командной строки. Похоже что висел один из датчиков...сейчас вроде все окей-). Заказываю 3Dradio и гпс приемник к этой платке. Следующий этап - перешивка регулей кастомной прошивкой-)
This page was loaded окт 23 2017, 4:05 am GMT.