MegaPirateNG

Материал из Multicopter Wiki
Перейти к: навигация, поиск

Портирование проекта ArduCopter 2 на обычную Arduino Mega 1280 и на более популярное и недорогое "железо" от Олега aka Syberian.

Место основных знаний и хранения кода: GitHub www.megapirateng.com (раньше было на code.google.com.

На начало 2012 года программное обеспечение платформы позволяло управлять трикоптером (tri,y6), квадрокоптером (+,X) или гексакоптером.

Содержание

Полётные режимы

  • ACRO - для акробатики - коптер летает на одних гироскопах, поэтому надо подруливать, чтобы удерживать в нужном положении.
  • STABILIZE - тоже что ACRO, но акселерометр стабилизирует коптер по горизонту, хорош для полетов с камерой ("блинчиком").
  • SIMPLE - тоже что STABILIZE, но "нос" всегда ориентирован строго от пилота (главное не залетать себе за спину и не передвигаться).
  • ALT_HOLD - удержание текущей высоты, стик газа лучше не трогать.
  • POSITION - тоже что ALT_HOLD, но стиком газа можно регулировать высоту
  • LOITER - удержание позиции и высоты (удержание на точке).
  • CIRCLE - тоже что LOITER, но коптер не зависает над точкой, а кружится вокруг неё.
  • RTL - возвращение на точку взлета (возврат домой).
  • AUTO - полет по заранее записанному маршруту.
  • GUIDED - (только при наличии связи с наземной станции) - тыкаем на карту - коптер летит на эту точку и зависает над ней.

Компоненты

Мозгом системы является контроллер Arduino 1280/2560. В качестве датчиков ипользуются платы FFIMU или ALLINONE с полным набором сенсоров (гироскоп, акселерометр, компас, бародатчик), так же есть вариант полетов только на датчиках ITG3200 и BMA020 из проекта MultiWii, а так же полный набор на одной плате (процессор и датчики) BLACK VORTEX.

Полный набор на одной плате

BLACK VORTEX 219$ на Atmega2560 16MHz 5V c антенной GPS.

Датчики:

  • HMC5883L - Трех Осевой магнитный компас
  • BMA180 - Трех Осевой Датчик ускорения
  • BMP085 - Датчик давления воздуха (БАРО)
  • ITG3200 - Трех Осевой цифровой датчик вращения
  • NEO-6Q - модуль GPS (приемник)

Совместимые контроллеры Arduino

Датчики

Изначально проект рассчитывался на 2 типа плат "все-в-одном":

  • All-in-one sensor board ВНИМАНИЕ, гироскоп может менять свой порт, до тех пор пока не запаяна перемычка на плате с землей.
  • All-in-one sensor board with GPS Требуйте у продавца сразу выслать даташит. Есть версии на 3.3В и 5В

Платы отличаются ориентацией датчиков и содержат:

  • ITG3200 - гироскоп
  • BMA180 - акселерометр
  • BMP085 - бародатчик (или другой более точный, возможны проблемы с кодом)
  • HMC5883L - компас

Для использования всех возможностей проекта необходимо дополнительно:

  • сонар DYP-ME007 - для полетов на сверхмалых высотах
  • GPS-модуль - для навигации, полетов по маршруту и возврата в точку запуска
  • XBee Pro 900 MHz - для работы системы двусторонней телеметрии MAVlink

Вместо дорогостоящего XBee Pro, можно использовать более бюджетный вариант - APC220 Wireless Communication Module.

Прошивки

ВАЖНО!!! Для Arduino 2560 (mega) - нужно использовать особую версию Arduino 22 отсюда (ищите "relax" в названии).

Скачать свежую версию можно на официальном сайте проекта.

Настройка

Посмотрите дополнительные требования для платы BlackVortex в release_notes_BlackVortex.txt

  1. сделайте чистую установку arduino ide (без дополнительных библиотек в папке libraries), а затем скопируйте
  2. Выберите ваш тип рамы в apm_config.h в #define FRAME_CONFIG и уточните ориентацию в #define FRAME_ORIENTATION если это необходимо
  3. Выберите ваш типа сенсоров в apm_config.h в #define PIRATES_SENSOR_BOARD
  4. Выставите настройки каналов вашей аппаратуры управления в /libraries/APM_RC/APM_RC_PIRATES.cpp (по умолчанию порядок каналов ROLL,PITCH,THROTTLE,YAW,MODE,AUX2,CAMPITCH,CAMROLL)
  5. Для настройки LED мигалки, откройте LED.pde и прочитайте инструкции

Подключение периферии

Аппаратура управления

Если вы поменяли порядок каналов в /libraries/APM_RC/APM_RC_PIRATES.cpp, то таблица не актуальна

пин	канал
A8 	Roll
A9 	Pitch
A10 	Throttle
A11 	Yaw
A12 	Mode
A13 	Aux2
A14 	Cam1
A15 	Cam2

Стабилизация камеры

  • d44 - Roll servo
  • d45 - Pitch servo

Подключение UART GPS

  • RX2 - TX на GPS
  • TX2 - RX на GPS

Телеметрия (через XBee, APC220, Bluetooth и другие)

  • RX3 - TX на XBee
  • TX3 - RX на XBee

Переключение входа в CLI режим

  • a5 - следует замкнуть на землю

Сонар(дальномер)

  • d9 - Tx
  • d10 - Echo

Статусные светодиоды

  • d13 - Красный (обычно уже есть на плате)
  • d30 - Желтый
  • d31 - Зеленый

LED мигалка

  • A1,A2,A3,A4 - смотрите описание в led.pde

Моторы

Pin 	D2 	D3 	D5 	D6 	D7 	D8 	D11 	D12 	Arduino
CH 	3 	4 	1 	2 	7 	8 	10 	11 	номер канала MegaPirate
-------- 	------ 	------ 	------ 	------ 	------ 	------ 	------ 	------ 	-----------------------
TRI 	S 	BC 	RC 	LC 	- 	- 	- 	- 	
QuadX 	LFW 	RBW 	RFC 	LBC 	- 	- 	- 	- 	
Quad+ 	FW 	BW 	RC 	LC 	- 	- 	- 	- 	
Hexa+ 	BLW 	FRC 	FW 	BC 	FLC 	BRW 	- 	- 	
HexaX 	FLW 	BRC 	RW 	LC 	FRC 	BLW 	- 	- 	
Y6 	LDW 	BDW 	RDW 	LUC 	RUC 	BUC 	- 	- 	
Octo+ 	FRC 	BRC 	FW 	BW 	FLC 	BLC 	LW 	LW 	порядок изменен с 2.0.39 версии
OctoX 	RRFC 	BBRC 	FFRW 	BBLW 	FFLC 	LLBC 	LLFW 	RRBW 	порядок изменен с 2.0.39 версии
Quad8X 	BLUC 	BLDW 	BRUC 	BRDW 	FLUC 	FLDW 	FRUC 	FRDW 	добавлено в 2.0.36
Quad8+ 	BUC 	BDW 	RUC 	RDW 	LUC 	LDW 	FUC 	FDW 	добавлено в 2.0.36 

Расшифровка:

  • B - задний (back)
  • R - правый (right)
  • L - левый (left)
  • F - передний (front)
  • U - верхний (upper)
  • D - нижний (lower)
  • W - вращение по часовой стрелке (clockwise rotation)
  • C - вращение против часовой стрелке - обычный пропеллер (counter clockwise rotation (normal propeller))
  • S - серва для трикоптера (servo (for tri))

Например: FLDW - передний-левый нижний мотор с вращением по часовой стрелке

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты
Группа ВКонтакте