ArduCopter Mega: порт на обычную Arduino (тестим)
Лично я не использовал этот режим , но в каком архиве есть папка libraries\AP_OpticalFlow, там есть и поддержка. Вроде бы когда-то в теме писали об применении оптики, поищите.
А вот с подключением скорее всего будет проблема, т.к. специально выведенного разъема под оптику на Вашей плате нет, скорее всего придется подпаиваться к меге.
День добрый, вот и первые проблемы.
Скачал Ардуино 1.0.1
Скачал ArduplaneNG2x
Заменил библиотеки из ардусамик в Ардуино
открыл саму прошивку, нажал Проверить/Компилировать- выдало кучу ошибок.
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp: In function ‘void dataflash_CS_inactive()’:
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:80: error: ‘HIGH’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:80: error: ‘digitalWrite’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp: In function ‘void dataflash_CS_active()’:
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:85: error: ‘LOW’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:85: error: ‘digitalWrite’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp: In member function ‘virtual void DataFlash_APM1::Init()’:
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:96: error: ‘OUTPUT’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:96: error: ‘pinMode’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:97: error: ‘INPUT’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:103: error: ‘LOW’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:103: error: ‘digitalWrite’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:104: error: ‘delay’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:105: error: ‘HIGH’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:111: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:112: error: ‘MSBFIRST’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:113: error: ‘SPI_MODE3’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:114: error: ‘SPI_CLOCK_DIV2’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp: In member function ‘virtual void DataFlash_APM1::ReadManufacturerID()’:
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:129: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp: At global scope:
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:146: error: ‘byte’ does not name a type
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:163: error: ‘byte’ does not name a type
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp: In member function ‘virtual void DataFlash_APM1::PageToBuffer(unsigned char, uint16_t)’:
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:187: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:189: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:192: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:195: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:198: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp: In member function ‘virtual void DataFlash_APM1::BufferToPage(unsigned char, uint16_t, unsigned char)’:
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:214: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:216: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:219: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:222: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:225: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp: In member function ‘virtual void DataFlash_APM1::BufferWrite(unsigned char, uint16_t, unsigned char)’:
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:242: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:244: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:245: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp: In member function ‘virtual unsigned char DataFlash_APM1::BufferRead(unsigned char, uint16_t)’:
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:255: error: ‘byte’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:255: error: expected `;’ before ‘tmp’
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:260: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:262: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:263: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:267: error: ‘tmp’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp: In member function ‘virtual void DataFlash_APM1::PageErase(uint16_t)’:
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:278: error: ‘SPI’ was not declared in this scope
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp: In member function ‘virtual void DataFlash_APM1::ChipErase(void (*)(long unsigned int))’:
C:\Documents and Settings\eemasvi.TPC\Desktop\megapirat\arduino-1.0.1\libraries\DataFlash\DataFlash_APM1.cpp:302: error: ‘SPI’ was not declared in this scope
Куда копать?
Скорее всего прошивка не под ArduinoIDE 1.0.1- почитай описание - скорее под более старую версию
открыл саму прошивку, нажал Проверить/Компилировать- выдало кучу ошибок.
А вы что нибудь меняли в APM_Config.h? Если меняли, что выбрали?
А вы что нибудь меняли в APM_Config.h? Если меняли, что выбрали?
Нет, ничего не менял, проверил наличие строчек #define гпс, тип платы и баро, они там сразу присутствуют. Ничего не трогал. Эта прошивка (R5) сделана именно под АИОП плату, поэтому там всё что нужно уже внесено.
Выбрал тип камня. Сом-порт не менял, т.к. плата не подключена к компу. Моя идея в том, что для проверки её подключать не надо. Может обязательно нужно подключение платы? Но я не нажимал загрузить… и нет ошибок указывающих на неверный сом-порт или отсутствие чего-либо.
Скорее всего прошивка не под ArduinoIDE 1.0.1- почитай описание - скорее под более старую версию
Где это можно вычитать? Ни слова нигде про ArduinoIDE.
П.С. взял чуть старее прошивку R4(до этого пробовал R5), ошибки те-же самые.
П.С.2 - Причина ошибок в удалении оригинальных “libraries” из папки ArduinoIDE. Если оставить старые, добавить папки из прошивки- всё сшивается без ошибок! Натолкнулся на эту мысль на рсгрупс, хотя там Сэр Алекс и говорил неоднократно о необходимости удаления “оригинальных” библиотек. Решил попробовать- что я теряю!? Получилось.
Done compiling.
Binary sketch size: 131 168 bytes (of a 258 048 byte maximum)
Где это можно вычитать? Ни слова нигде про ArduinoIDE.
Это зависит насколько “древняя” Ваша прошивка или библиотеки.
Сейчас Вы скачали ArduinoIDE 1.0.1 (самую последнюю версию). С каждой новой версией у ардуины немного меняется язык программирования, поэтому она не всегда понимает старые скетчи или библиотеки
скачивают новые версии отсюда на той же странице , чуточку ниже, расположены ссылки на более старые версии
попробуйте скачать Arduino 0022 или Arduino 0023 ,
Надеюсь поможет )))
Сэр Алекс и говорил неоднократно о необходимости удаления “оригинальных” библиотек
Я говорил про MPNG! 😉 ArduplaneNG - другая прошивка, со своими заморочками, правда частично основана на MPNG.
Это зависит насколько “древняя” Ваша прошивка или библиотеки.
16 августа 2012
Надеюсь поможет )))
скачивают новые версии отсюда на той же странице , чуточку ниже, расположены ссылки на более старые версии
попробуйте скачать Arduino 0022 или Arduino 0023
их есть у меня, попробовать не успел, т.к.
П.С.2 - Причина ошибок в удалении оригинальных “libraries” из папки ArduinoIDE. Если оставить старые, добавить папки из прошивки- всё сшивается без ошибок! Натолкнулся на эту мысль на рсгрупс, хотя там Сэр Алекс и говорил неоднократно о необходимости удаления “оригинальных” библиотек. Решил попробовать- что я теряю!? Получилось.
Done compiling.
Binary sketch size: 131 168 bytes (of a 258 048 byte maximum)
Я говорил про MPNG! ArduplaneNG - другая прошивка, со своими заморочками, правда частично основана на MPNG
И ладно! Главное получилось! Надеюсь это поможет ещё кому!
А плату ATMega 2560 в настройках IDE выбирали?
Плата AIO 1.1
Кто нибудь смог запустить подвес на Мегапирате 2,7_R3(4)?
Я пробовал, но не особо получилось. Пытался настраивать оси через планнер, но так и не вышло. Работала лишь одна ось (не помню какая).
Плата AIO 1.1
Кто нибудь смог запустить подвес на Мегапирате 2,7_R3(4)?
на 2,6 работает 2 оси. но настроек вообще нет, есть гейн (чувствительность) и положение серв - макс, центр, мин. ни о какой стабилизации и речи не идет, так - небольшая компенсация, не более. я спрашивал уже несколько раз здесь на форуме про это - пока ответа не дождался, такое ощущение, что не используют все подвес с пиратом.
rcopen.com/forum/f123/topic283798/891
на 2,7 ввели 3ю ось - пока были проблемы с подвесом, не ставил эту прошивку, может и не исправили еще
Я сначала не мог разобраться, на ранних версиях подвес работал по умолчанию, во всяком случае я подключал одну ось и работало. На версии 2.7 он по умолчанию не включён, но если нажать на кнопочку “вики” на экране настройки подвеса в планере , то там доступно описано как включить и как настроить все три оси. Я сейчас подключил 2 оси работают нормально.
Кстати мозг использую “Mega MWC 2560”
2 All:
Кто-нибудь запускал megapirate на 3M Pilot? Датчики вроде те же, что и на All In One, но повернуты на 90 градусов, относительно “стрелки” на плате. Можно конечно и так оставить, но неэстетично, типа 😃
Может кто уже менял настройки осей под 3M Pilot?
Подскажите пожалуйста!
Собрал гексу(это моя первая модель), всё подключил, к пк подключаю APM Planner все датчики видит, пульт Turnigy 9x с приёмником объединил.
Включаю питание коптера, пульт, и не вот здесь я застрял, не знаю что делать, моторы на стики пульта не реагируют.
Растолкуйте мои последующие действия что бы коптер полетел.
Стик газа (моде 2) вниз и вправо до упора на несколько секунд! Теперь можно взлетать!
Дезактивация моторов автоматически после посадки (через секунд 20-30) или газ вниз и влево до упора на несколько секунд.
Растолкуйте мои последующие действия что бы коптер полетел.
если по быстрому - примерно так
1.откалибровать моторы - снимаем винты , отключаем питание, газ на максимум, включаем питание - слышим двойное попискивание(для разных регулей по разному)- выключаем питание , включаем питание - один писк, два писка - газ на минимум -три писка. все должен реагировать на стики .
- если все откалибровано - при включении питания моторы и не должны реагировать на стики - в целях безопасности- порядок такой
включаем, ждем пока лампочики помигают - если подключен к планнеру - большая красная надпись not armed (моторы не “заряжены”)
стик который отвечает за yaw - максимально вправо 5 сек - опять замигают - можно лететь (если подключен к планеру - появится надпись armed)
кода сел - тот же стик максимально влево на пару секунд - типа предохранитель - моторы не запустятся
примерно так…
если по быстрому - примерно так
1.откалибровать моторы - снимаем винты , отключаем питание, газ на максимум, включаем питание - слышим двойное попискивание(для разных регулей по разному)- выключаем питание , включаем питание - один писк, два писка - газ на минимум -три писка. все должен реагировать на стики .
- если все откалибровано - при включении питания моторы и не должны реагировать на стики - в целях безопасности- порядок такой
включаем, ждем пока лампочики помигают - если подключен к планнеру - большая красная надпись not armed (моторы не “заряжены”)
стик который отвечает за yaw - максимально вправо 5 сек - опять замигают - можно лететь (если подключен к планеру - появится надпись armed)
кода сел - тот же стик максимально влево на пару секунд - типа предохранитель - моторы не запустятсяпримерно так…
Попробывал, что то не получается. Может ещё что нибудь посоветуете?
- убедись , что передатчик работает в MODE 2
- В мегепирате немножко бывают перепутаны каналы - я подбирал методом тыка - у меня мега 2650
подключись к планеру
- откалибруй радиоканалы
- убедись что:
левый стик - вверх -вниз это throttle (газ) - лево-право это yaw (рысканье)
если это не так - переставь проводки от радиоприемника
Я тут схемку набросал - у меня по ней оно полетело:-)
2-й канал Pitch пришлось инвертировать (я сделал в планере) - х.з почему так - в коде не ковырялся - пока принял как должное
Кто-нибудь подключал к BlackVortex одновременно и блютуз и minimOSD? Вроде, судя по вики проекта arducamosd это возможно и достаточно сделать тройник на +, землю и rx, а tx подключить только к блютузу. Но у меня почему-то не получается…
Таксь, облетал я АИОП с ArduPlaneNG- летает!
Но не совсем.
При первичных настройках платы, мы друг-друга взбесили. Но на утро, на свежую голову, мы нашли взаимопонимание. 😃
Тестировал 4 режима. Ручной- нет стабилизации, Стабилизированный, Лойтер- удержание точки, РТЛ- возврат домой.
Ручной и стабилизированный- никаких вопросов. Стабилизированный порадовал своей “мягкостью”, нет дерганий и резких рывков.
Лойтер… сперва глючил, смещался по ветру, мог развернуться и полететь чёрти куда. Потом вроде проснулся и кружил довольно точно, нужно больше тестов. Газа мало. Как добавить не нашел. Как задавать высоту- удерживать высоту активации или высота задаётся сразу? Не разобрался, похоже что высота задаётся заранее, с компа. Фигово.
Возврат домой. Вот тут проблема. При включении недалеко от базы, он может подойти к базе, сделать 2-3 круга над базой и сваливает в северном направлении О_о Фпв не включал, ничего не доставал, отпускал так далеко, пока глаза видели, и ручками домой. Если его остановить и снова включить РТЛ, то он сразу разворачивается и валит на север. Если вернуть его на базу руками, завести южнее базы и включить возврат мордой направленной на юг, то он вернется назад к базе, покружит 2-3-4 круга, намажет лыжи и ломанётся чуть западнее севера (на 10-11 часов). Остановка, разворот, РТЛ- опять ломится на север или чуть западне севера. Иногда после простых полётов и активации РТЛ он может сразу ломануться на север, даже не подлетая к базе. Газу многовато, яб чутка убавил, где убавлять газ РТЛ не нашел. Где задать высоту РТЛ не нашёл, завязана на лойтер? При лойтере он спускался к земле на малом газу, при РТЛ набирал высоту на хорошем газу, поэтому, видимо эти вещи не связаны. Как их настраивать пока не понятно. Фигово что нельзя дать команду возвращаться на высоте активации. Да и фообще что-то непонятное с ним. не летит к дому, а если и летит, то улетает черти куда.
Нотиком проверил, при активации, где он запомнил дом. Там где активировался. Причины ухода на север не понятны. На зимовку!? 😃)