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

SovGVD
Ustas69:

Мне тоже интересно, почему у меня только на 9600 работает, это вообще не слишком медленно?

у меня только на 38400 =) а мне до 9600 надо скинуть для Multiwii чтоб с OSD работать сразу
еще кстаии есть вариант что у holux m1000 просто RX не разведен в USB порт, который на самом деле UART

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:

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

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