MegaPirateNG
Admin (обсуждение | вклад) (Новая страница: «Портирование проекта ArduCopter 2 на обычную Arduino Mega 1280 и на более популярное и недорогое "...») |
Admin (обсуждение | вклад) |
||
(не показана 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
- сделайте чистую установку 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 - передний-левый нижний мотор с вращением по часовой стрелке