ArduCopter Mega: порт на обычную Arduino (тестим)

Sir_Alex
SovGVD:

у меня только на 38400 =) а мне до 9600 надо скинуть для Multiwii чтоб с OSD работать сразу

Так добавь в коде инициализации GPS в MultiWii, команды переключения на 9600 и сразу Serial.begin(9600)

SovGVD

Не получается =(
в сетупе сделал

    Serial.begin(38400);
    delay(10);
    Serial.println("$PMTK251,9600*17");
    delay(10);
    Serial.begin(9600);
    delay(10);

Из мануала (может быть не походит к этому чипу, но там везде про MTK NMEA)

Example:
$PMTK251,38400*27<CR><LF>

тут www.hhhh.org/wiml/proj/nmeaxor.html чексумму посчитал

он после этого кода просто перестает что либо передавать, если передернуть питание приемнику, то шлет снова на 38400

попробоавл Mini_GPS, holux команды принимает (версию прошивки глянул), но например скорость порта упорно не хочет менять, видимо залочено это… или вообще на встроенный BT модуль уходит.

Sir_Alex

Проверь через обычный терминал, как он реагирует на эту команду. В пирате есть папка tools в которой есть SerialPassThrough, можешь с его помощью пообщаться с GPS.

SovGVD

да уже, через USB-UART переходник подрубил, на некоторые команды реагирует, но скорость не хочет менять никак =) имхо залочили это для девайса

LeonVS

Господа кто наставит на путь истинный, как из Мавлинк потока льющегося на землю выковырять ГПС данные координат и высоты? Хочу трекер замутить 😃 Не догоняю к чему привязаться… Судя по протоколу это находится в параметре GPS_RAW_INT (#24), но при просмотре то что льется в 16-ричном коде при переводе в десятеричный получается ахинея полная… Задал вопрос в самолетной теме, пока тишина, может здесь есть гуры по мавлинку 😃?

Sir_Alex
LeonVS:

Судя по протоколу это находится в параметре GPS_RAW_INT

Скорее в MSG_LOCATION

    Matrix3f rot = ahrs.get_dcm_matrix(); // neglecting angle of attack for now
    mavlink_msg_global_position_int_send(
        chan,
        current_loc.lat,
        current_loc.lng,
        current_loc.alt * 10,
        g_gps->ground_speed * rot.a.x,
        g_gps->ground_speed * rot.b.x,
        g_gps->ground_speed * rot.c.x); 
LeonVS

Алекс, а как идет разделение в блоке данных не пойму судя по коду, просто друг за другом? Какой байт отвечает за начало пакета и окончание пакета? В каком формате данные летят?

Начало передачи данных это судя по всему “chan” но вот что это? Судя по всему переменная, передающаяся в начале каждого блока данных, а вот как узнать какой блок данных передается в данный отрезок времени??? Идут строго по порядку? Опять же как идентифицируется в данном случае первый пакет? Чтот мое совсем в ступоре…

Sir_Alex
LeonVS:

Чтот мое совсем в ступоре…

Не проще ли задействовать готовую либу GCS_MAVLink? Описание протокола можно найти тут qgroundcontrol.org/mavlink/start (Я правда не знаю, на сколько сильно его переделали под нужны АрдуКоптера)

P.S. Я сам не в курсе деталей работы этого протокола, пока не приходилось там что то править…

LeonVS
Sir_Alex:

Я правда не знаю, на сколько сильно его переделали под нужны АрдуКоптера

Переделали сильно, их штатная софтинка команды арду не понимает… Даже более новый киллморе и тот уже часть команд не понимает, те же координаты ГПС уже не видит, выдает нули… Вот и хочется понять что там как лезет и как это раскодировать в удобный формат…

couger
LeonVS:

Переделали сильно, их штатная софтинка команды арду не понимает… Даже более новый киллморе и тот уже часть команд не понимает, те же координаты ГПС уже не видит, выдает нули… Вот и хочется понять что там как лезет и как это раскодировать в удобный формат…

Леонид, если правильно понял - может это поможет code.google.com/p/ardupilot-mega/wiki/MAVLink

LeonVS

Хм… это уже что то конечно, но тут рассматриваются команды для управления АР, то что льется в него а не из него, хотя алгоритм по идее должен быть тот же…
Тобишь судя из сие данных получаем что одна пачка содержит 14 байт, в которой передается байт означающий что это за команда, и 4 переменных. Но если посмотрим код отправки из АП:

mavlink_msg_sys_status_send(
chan,
mode,
nav_mode,
status,
load * 1000,
battery_voltage * 1000,
battery_remaining,
packet_drops);
break;

Получаем уже 7 переменных в пакете… И опять же остается вопрос, какой байт означает начало и конец пачки??? В общем вопросов опять больше чем ответов…

Chester_kz

У кого какие вести в полей у кого на чем как полетело? Вчера попробовал хексу (XAircraft DIY, 2830 - 1000кв, 10x4.7) на прошивке 2.4.1 как-то не понравилось. Тресест всего. Yaw бешенный. Надо пиды крутить. ПРобовал уменьшить Stab P как-то сильно разницы не заметил. Возможно надо было уменьшаять Rate P. Шас думаю прошиться 2.5.1 в след выходные покрутить пиды основательно. Хотя есть подозрения на небольшие вибрации.

LeonVS

Чтот смотрю темка заглохла опять… Все летающее побилось и все “курят” ожидая запчастей 😃?
Уффф, разобрался я с долбанным мавлинком… Если новых граблей не встречу напишу свой трекер антенны, а то сейчас на леталке целый зверинец пираты, иглы… 😃

RA4ASN
LeonVS:

Чтот смотрю темка заглохла опять… Все летающее побилось и все “курят” ожидая запчастей 😃?

С начала летного сезона занимался исключительно коптерконтролом, но сейчас в нем разочаровался, продаю плату, и брошу все силы на освоение мегапирата 😃

Sir_Alex

А я вот Назу32 пока изчаю… на коптер смонтировал и пока осилил страниц 80 обсуждения на rcgroups 😃

SovGVD

А у меня MultiWii залетал внезапно вполне отлично + конфигуратор в Linux работает… да и снова начал эксперементировать с рамами, квадрик есть, трешка почти летает, осталось Y6 сделать и подумать на каких мозгах оно будет летать.

Lazyan

Поменял на своей гексе движки и регули. Тестирую прошивку 2.5.1. С регулями HK SS 18А (программируемые) возникла проблема. Они не хотят инициализироваться при включении питания. Т.е. вступительную песню они проигрывают как обычно, а сигнал о готовности не играют. Если после этого подключиться к планнеру через USB и проц перезагрузиться регули запускаются. Пробовал играться с INSTANT_PWM и RC_SPEED - ничего не помогает. Пробовал то же с регулем HK blueseries - никаких проблем не наблюдается.
Были ли у кого-то подобные проблемы? Как с этим бороться?

RA4ASN

Пищат, как при отсутствии подключения к приемнику или вообще никаких звуков не издают?

Lazyan
RA4ASN:

Пищат, как при отсутствии подключения к приемнику или вообще никаких звуков не издают?

Не издают никаких звуков.

RA4ASN

Как Вы определяете, что регули не проинициализировались? Не происходит арминг? По идее, как раз признаком успешной инициализации и является замолкание регулей 😃 Но если, как говорите, проблема исчезает при usb-подключении, скорее всего что-то с напряжением питания, видимо, его ардуине не хватает. Попробуйте замерить напряжение при отключенном usb.

Chester_kz

Попробовал вчера прошивку 2.5.1 на хексе (2830-1000kv, 10x4.5 полетный вес около чуть меньше 2 кг).
Из хорошего Copter GCS (Android) подключился правда не сразу приходилось передергивать питание иногда висла. Пиды меняет HUD показыет.
Из плохого в моей конфигурации прошивка не летатабельная. На стоковых пидах сильные осиляции. Уменьшаял пиды (Stab) вплоть до 0.5 в итоге от стабилизации ничего не осталось поднял до 0.9 получше но все равно раскачка. Сегодня утром дошло что надо было делать Erase от старых прошивок (2.4.1) хотя не факт что это бы помогло. Собстранно не знаю что делать возможно попробую вернуться на 2.0.49 на ней хоть как-то в том году летал на кваде.
У кого какие результаты полетов? Если мысли отказаться нахрен он него (пирата) в сторону других мозгов… но сердце требует пирата.

RA4ASN

Мне от пирата нужна возможность полета по точкам через GPS, какие еще мозги этой ценовой категории это поддерживают?

Сейчас доделываю квадр, малость изменил прошивку 2.0.49 для работы с хедтрекером Фатшарка - убрал стабилизацию и перенаправил нужные каналы приемника на соответствующие выходы. На стоковых пидах осцилляций нет, правда, поднимал на метр в комнате. Сонар отрабатывает нормально. Андроидовский планнер (8) также работает без проблем, через блютус.

Lazyan
RA4ASN:

Как Вы определяете, что регули не проинициализировались? Не происходит арминг? По идее, как раз признаком успешной инициализации и является замолкание регулей 😃 Но если, как говорите, проблема исчезает при usb-подключении, скорее всего что-то с напряжением питания, видимо, его ардуине не хватает. Попробуйте замерить напряжение при отключенном usb.

Для других регулей питания хватает, а для SS не хватает? 😁 У меня BlackVortex, он питается от батареи. Пищат они не совсем как обычно. Обычно издаются 3 разных тона подряд и потом через небольшой интервал еще один тон, сообщающий о готовности регуля к запуску движков. Так вот, этот последний “писк” регуль издает после того, как я подключаю USB и проц при этом перегружается. С этого момента все работает и можно лететь.

Неужели никто не пробовал HK SS на пирате?