MegaPirateNG

Материал из Multicopter Wiki
(Различия между версиями)
Перейти к: навигация, поиск
(Новая страница: «Портирование проекта ArduCopter 2 на обычную Arduino Mega 1280 и на более популярное и недорогое "...»)
 
 
(не показана 1 промежуточная версия 1 участника)
Строка 1: Строка 1:
 
Портирование проекта [[ArduCopter 2]] на обычную [[Arduino Mega 1280]] и на более популярное и недорогое "железо" от [[Олега aka Syberian]].
 
Портирование проекта [[ArduCopter 2]] на обычную [[Arduino Mega 1280]] и на более популярное и недорогое "железо" от [[Олега aka Syberian]].
  
Место основных знаний и хранения кода: [https://github.com/SirAlex/ardupilot-mpng GitHub] [http://www.megapirateng.com www.megapirateng.com]
+
Место основных знаний и хранения кода: [https://github.com/SirAlex/ardupilot-mpng GitHub] [http://www.megapirateng.com www.megapirateng.com] (раньше было на [http://code.google.com/p/megapirateng/ code.google.com].
  
 
На начало 2012 года программное обеспечение платформы позволяло управлять трикоптером (tri,y6), квадрокоптером (+,X) или гексакоптером.
 
На начало 2012 года программное обеспечение платформы позволяло управлять трикоптером (tri,y6), квадрокоптером (+,X) или гексакоптером.
Строка 52: Строка 52:
  
 
Вместо дорогостоящего [[XBee Pro]], можно использовать более бюджетный вариант - [http://www.goodluckbuy.com/apc220-wireless-communication-module-for-arduinousb-converter.html APC220 Wireless Communication Module].
 
Вместо дорогостоящего [[XBee Pro]], можно использовать более бюджетный вариант - [http://www.goodluckbuy.com/apc220-wireless-communication-module-for-arduinousb-converter.html APC220 Wireless Communication Module].
 +
 +
== Прошивки ==
 +
'''ВАЖНО!!!''' Для [[Arduino 2560]] (mega) - нужно использовать особую версию Arduino 22 [http://code.google.com/p/ardupilot-mega/downloads/list отсюда] (ищите "relax" в названии).
 +
 +
Скачать свежую версию можно на [http://code.google.com/p/megapirateng/downloads/list официальном сайте] проекта.
 +
 +
== Настройка ==
 +
Посмотрите дополнительные требования для платы BlackVortex в [http://code.google.com/p/megapirateng/source/browse/trunk/release_notes_BlackVortex.txt release_notes_BlackVortex.txt]
 +
# сделайте чистую установку arduino ide (без дополнительных библиотек в папке libraries), а затем скопируйте
 +
# Выберите ваш тип рамы в apm_config.h в #define FRAME_CONFIG и уточните ориентацию в #define FRAME_ORIENTATION если это необходимо
 +
# Выберите ваш типа сенсоров в apm_config.h в #define PIRATES_SENSOR_BOARD
 +
# Выставите настройки каналов вашей аппаратуры управления в /libraries/APM_RC/APM_RC_PIRATES.cpp (по умолчанию порядок каналов ROLL,PITCH,THROTTLE,YAW,MODE,AUX2,CAMPITCH,CAMROLL)
 +
# Для настройки 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 - передний-левый нижний мотор с вращением по часовой стрелке

Текущая версия на 21:50, 5 марта 2015

Портирование проекта 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 - передний-левый нижний мотор с вращением по часовой стрелке

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