ArduCopter Mega: порт на обычную Arduino (тестим)
У меня есть Arduino Mega 2560.
Подскажите какие прошивки поддерживает этот контроллер, а так же версии MissionPlaner?
тут скорее дело в используемыех датчиках, а не отдельно взятой ардуинке… если датчики совпадают с Crius All in one pro (или blackvortex), то можно ставить megapirateng, если нет, то смотрите в строну MultiWii или AeroQuad (о котором чего то давно не слышно)
тут скорее дело в используемыех датчиках, а не отдельно взятой ардуинке…
Датчики вот эти : www.ebay.com/itm/260846919495
Пробовал прошивку MegaPirateNG_2.8_R3 и Mission Planner 1.2.33 не работает. Пробовал прошивку MegaPirateB8 и Mission Planner 1.0.30 - работает, но датчики крен влево и вправо инвертированы, да и запуск моторов идет попарно, по диагонали.
Думаю может есть более свежая прошивка, но найти не удалось.
эти датчики должны поддерживаться, только в конфиге надо выбрать их, вместо стандартного варианта с криусом
инверсии никакой нет, это авиагоризонт, он должен так работать
эти датчики должны поддерживаться, только в конфиге надо выбрать их
В MegaPirateB8 этого выбора нет (хоть и работает), в MegaPirateNG_2.8_R3 прописываю PIRATES_ALLINONE вместо стандартного варианта с криусом, но MissionPlaner не соединяется, пишет “No Heatbeat Packets Received”
Хочу заказать Crius All in one pro v.2, но пока он до нас прийдет закончится лето, а хочется в это году полетать.
MegaPirateNG_2.8_R3 прописываю PIRATES_ALLINONE вместо стандартного варианта с криусом
видимо какой то косяк в коде, надо ждать пока Sir Alex ответит… я уже 100 лет не ковырял, а изменений крайне много случилось с момента как Syberian забросил портирование
видимо какой то косяк в коде, надо ждать пока Sir Alex ответит… я уже 100 лет не ковырял, а изменений крайне много случилось с момента как Syberian забросил портирование
В том то и дело, что у самих МегаПиратов на последнюю прошивку поддержка контроллеров только этих:
FreeIMU 0.4.1 - by Fabio Varesano
Remzibi OSD - by Remzibi
BlackVortex - by CSG_EU
3M Pilot - by binzi (http://www.cuav.net)
APM 2.0 - by binzi (http://www.cuav.net)
CRIUS AIOP v1
CRIUS AIOP v2
А Arduino Mega 2560 нет, поэтому и спрашиваю: может есть какая-то альтернатива и чтобы можно было PID’ы как-то настраивать?
готовые контроллеры это ардуинка + платка с датчиками, только вырезали лишнее от ардуины и датчики налепили на тот же кусок платы
кстатии есть вероятность, что каки то перемычки на allinone плате датчиков не запаяны (или наоборот) и просто не те адреса для датчиков, поэтому прошивка не работает
поэтому прошивка не работает
Прошивка может и работает, она даже заливается, но я не могу подключиться MissionPlanner’ом и моторы не запускаются (газ вниз и вправо)
кстатии есть вероятность, что каки то перемычки на allinone плате датчиков не запаяны (или наоборот) и просто не те адреса для датчиков
И датчики проверил на MegaPirateB8, все работает
если датчики не проинциализировались, то прошивка дальше не будет грузится и соотвественно никакой планер не подключится и моторы не стартанут
И датчики проверил на MegaPirateB8, все работает
адреса этих датчиков могли быть изменены в новых прошивках
скачайте nekaka.com/d/317ho8OsGV и загрузите в ардуинку с подключенными датчиками и через Arduino IDE через терминал посмотрите что выведет (выведет на каких адресах висят датчики),
адреса датчиков для all in one платки датчиков должны быть
ITG3200_ADDRESS 0x68
accel_addr 0x41
BMP085_ADDRESS 0x77
COMPASS_ADDRESS 0x1E
через Arduino IDE через терминал посмотрите что выведет
Выводит бесконечно “0 0 0—1225”, ничего такого "ITG3200_ADDRESS 0x68 … " нет.
уупс, это чето странное я вам дал, прошу прощения, вот верная ссылка nekaka.com/d/iAAwmfve6A (точнее верный i2c_spy)
точнее верный i2c_spy
На какой версии IDE Arduino нужно компилировать? На версии 1.0.1 и 1.0.3 дает ошибку “i2c_spy:6: error: ‘Wire’ was not declared in this scope”
на 1.0 собралось, как вариант - удалена папка Wire из библиотек
на 1.0 собралось, как вариант - удалена папка Wire из библиотек
Восстановил библиотеки в IDE, скомпилировал, залил, но терминал все равно не то выдает: “Éíÿ"þItLPÿ”
скорость не та выставлена, надо 115200
Понял! БОДы полставил 115200 и вот результат:
I2C devices detector
=================================
Detected device addr: 0x3C HMC5883/43 (compass)
Detected device addr: 0x80 BMA180 (accel) FFIMU or BB
Detected device addr: 0xD0 ITG3200 (gyro)
Detected device addr: 0xEE BMP085 (baro)
=================================
Cycle is over
чето не одного совпадения адресов… или я не там их смотрел =( киньте прошивку, которая работает, посмотрю что там указано
киньте прошивку, которая работает
Качал от сюда:
code.google.com/p/ardupirates/…/MegaPirateB8.zip
попробуйте так:
лезем в libraries/AP_InertialSensor/AP_InertialSensor_Pirates.cpp (в новой прошивке)
и менять там для акселя код с
if (_board_Type == PIRATES_ALLINONE || _board_Type == PIRATES_BLACKVORTEX) {
accel_addr = 0x41;
на
if (_board_Type == PIRATES_ALLINONE || _board_Type == PIRATES_BLACKVORTEX) {
accel_addr = 0x80;
и для гиры (там же в самом верху)
#define ITG3200_ADDRESS 0x68 // 0xD0
на
#define ITG3200_ADDRESS 0xD0 // 0xD0
Если не получится, то ждемс что Sir Alex напишет =)
Это что то очень старое. Качайте отсюда: code.google.com/p/megapirateng/downloads/detail?na…
датчики выбирайте PIRATES_ALLINONE
Заменил адреса в файлах:
ITG3200_ADDRESS 0x68 -> 0xD0 in libraries\AP_InertialSensor\AP_InertialSensor_Pirates.cpp
accel_addr 0x41 -> 0x80 in libraries\AP_InertialSensor\AP_InertialSensor_Pirates.cpp
BMP085_ADDRESS 0x77 -> 0xEE in libraries\AP_Baro\AP_Baro_BMP085_Pirates.cpp
COMPASS_ADDRESS 0x1E -> 0x3C in libraries\AP_Baro\AP_Baro_BMP085_Pirates.cpp
НО MissionPlanner все равно не соединяется, пишет “No Heatbeat Packets Received”. Проверить работу датчиков не могу