GPS-приемники для квадрокоптеров

HATUUL

Ну у меня есть еще время до прихода модуля,буду потихоньку играться.

alexeykozin

у кого глонас / галилео/ гпс под ардукоптер
попробуйте diydrones.com/group/…/nmea-extension
 я наглазок набросал какие правки кода сделать, по идее должно работать…
но не тестил
если кто проверит - отпишитесь

omegapraim

в выходные проверю, после отпишусь.

Вы поправили так же как и предлагали путем игнорирования первых двух символов из пакета?

Чет не компилится, вот че пишет.

Building for ArduPilot Mega 2.x
Excluding arduino core from include paths
C:\ArduPilot-Arduino-1.0.3-windows\ardupilot-mpng\libraries\AP_GPS\AP_GPS_NMEA.cpp:95: error: expected unqualified-id before ‘…’ token
C:\ArduPilot-Arduino-1.0.3-windows\ardupilot-mpng\libraries\AP_GPS\AP_GPS_NMEA.cpp:98: error: expected unqualified-id before ‘else’
C:\ArduPilot-Arduino-1.0.3-windows\ardupilot-mpng\libraries\AP_GPS\AP_GPS_NMEA.cpp:99: error: expected unqualified-id before ‘else’
C:\ArduPilot-Arduino-1.0.3-windows\ardupilot-mpng\libraries\AP_GPS\AP_GPS_NMEA.cpp:101: error: ‘to’ does not name a type
C:\ArduPilot-Arduino-1.0.3-windows\ardupilot-mpng\libraries\AP_GPS\AP_GPS_NMEA.cpp:105: error: redefinition of ‘const char AP_GPS_NMEA::_gpgga_string []’
C:\ArduPilot-Arduino-1.0.3-windows\ardupilot-mpng\libraries\AP_GPS\AP_GPS_NMEA.cpp:92: error: ‘const prog_char AP_GPS_NMEA::_gpgga_string [6]’ previously defined here
C:\ArduPilot-Arduino-1.0.3-windows\ardupilot-mpng\libraries\AP_GPS\AP_GPS_NMEA.cpp:106: error: redefinition of ‘const char AP_GPS_NMEA::_gpvtg_string []’
C:\ArduPilot-Arduino-1.0.3-windows\ardupilot-mpng\libraries\AP_GPS\AP_GPS_NMEA.cpp:93: error: ‘const prog_char AP_GPS_NMEA::_gpvtg_string [6]’ previously defined here
C:\ArduPilot-Arduino-1.0.3-windows\ardupilot-mpng\libraries\AP_GPS\AP_GPS_NMEA.cpp:109: error: expected unqualified-id before ‘if’
C:\ArduPilot-Arduino-1.0.3-windows\ardupilot-mpng\libraries\AP_GPS\AP_GPS_NMEA.cpp:110: error: expected unqualified-id before ‘else’
C:\ArduPilot-Arduino-1.0.3-windows\ardupilot-mpng\libraries\AP_GPS\AP_GPS_NMEA.cpp:111: error: expected unqualified-id before ‘else’

да и на всякий случай напишу, что оригинальные папки арду просто вставил вместо папок с мегапиратом, предварительно все из папки удалив, HAL поставил апм 2ххх ну и конечно тип микрухи нужный.

omegapraim

Алексей по поводу вашей правки:

GP is Talker ID (GP for a GPS unit, GN for a GLONASS)
Mediatek 3333 & ublox lea 6 h support glonass system
as example mt 3333 after gps and glonass fixed output mesages changes
from $G P RMCto $G N RMC and APM show “NO FIX”

// NMEA message identifiers //////////////////////////////////////////////////// //

const char AP_GPS_NMEA::_gprmc_string[] PROGMEM = “GPRMC”;
const char AP_GPS_NMEA::_gpgga_string[] PROGMEM = “GPGGA”;
const char AP_GPS_NMEA::_gpvtg_string[] PROGMEM = “GPVTG”;



if (!strcmp_P(_term, _gprmc_string)) { _sentence_type = _GPS_SENTENCE_GPRMC; }
else if (!strcmp_P(_term, _gpgga_string)) { _sentence_type = _GPS_SENTENCE_GPGGA; }
else if (!strcmp_P(_term, _gpvtg_string)) { _sentence_type = _GPS_SENTENCE_GPVTG;}

**to increase the number of compatible receivers
I propose to make such changes:**const char AP_GPS_NMEA::_gprmc_string[] PROGMEM = “RMC”;
const char AP_GPS_NMEA::_gpgga_string[] PROGMEM = “GGA”;
const char AP_GPS_NMEA::_gpvtg_string[] PROGMEM = “VTG”;

if (!strcmp_P(_term + 2, _gprmc_string)) { _sentence_type = _GPS_SENTENCE_GPRMC; }
else if (!strcmp_P(_term + 2, _gpgga_string)) { _sentence_type = _GPS_SENTENCE_GPGGA; }
else if (!strcmp_P(_term + 2, _gpvtg_string)) { _sentence_type = _GPS_SENTENCE_GPVTG;}

Задам вообще тупой вопрос. Подсовывать надо все целиком или только часть отмеченную жирным, я предполагаю что все, но вдруг я ошибаюсь, сегодня вечером скомпелирую прошивку а завтра сутра испытаю и видос сниму))))

alexeykozin

суть правки в том что в константах убираем два первых символа
например GPRMC превращаем в RMC

а внизу где с этими константами идет сравнение
в трех местах
!strcmp_P(_term, _gprmc_string)
добавляем + 2
!strcmp_P(_term + 2, _gprmc_string)

идея в том что функция strcmp_P сравнивает две текстовые переменные, но в качестве аргументов она принимает не саму переменную а ее адрес в памяти
если к адресу начала строки добавить + 2 то сравниваться будет не с начала строки а с символами с 3 по 5

Hyperion

Блин стыдно писать, закидаете помидорами но без вашей помощи не получается 😦
Купил GPS
www.hobbyking.com/hobbyking/…/uh_viewItem.asp?idPr…
Через USB подключил. В U-centre спутники видятся 3d fix делается.
Залил конфиг
copter.ardupilot.com/wiki/common-ublox-gps/
dropbox.com/…/Screenshot 2014-03-28 19.23.04.png
Проверил настройки - Protocol out стоял только Ublox. Засомневался. Но решил попробовать так. Скорость стояла 38400. Залил мегапирата
#define SERIAL2_BAUD 38400
#define GPS_PROTOCOL GPS_PROTOCOL_AUTO (пробовал и NMEA и UBLOX и AUTO)
В окошке MP пишется GPS-no GPS. В терминале test->gps тишина
Полистал тему, наткнулся на дневник. Сменил настройки. Скорость 115200 и Protocol out 0+1 Ublox + NMEA
залил мегапирата 3.0.1-R4
#define SERIAL2_BAUD 115200
#define GPS_PROTOCOL GPS_PROTOCOL_AUTO
Результат один. Gps-no gps.
Проверил напряжение - на GPS поступает при питании от USB 4.51В. Запитал от внешнего бека (5.5В). На GPS стало поступать 5.14В. Но все равно не увиделся.
Подключал так
www.dropbox.com/s/…/IMG_20140328_192034.jpg
Вроде все верно. Плюс к плюсу минус к минусу, RX-TX, TX-RX. Кстати когда подключаю GPS через USB на нем горит диод PWR. При питании от CRIUSa зеленый диод не загорается. Может в этом проблема?

omegapraim

Алексей.

  1. GPS не следует питать от внутреннего источника платы т.к. он лажает по питанию и проседает у меня от встроенного источника даже приемник отказывался работать.
    2)Огонечек повер должен гореть по любому. Ну и конечно просто попробуйте поменять тх рх местами как вариант китаисы тоже могли обшибиться.
Hyperion

ага спасибо. Когда писал пост, рассуждая дошел до того что диод должен гореть. Прозвонил - распаяный плюс не соединен с штеккерным плюсом. Перепаял плюс на штекер - диод загорелся. Прозвонил все остальные провода - все остальные звонятся. После этого все также GPS- no gps, но теперь test gps что то стал выдавать. Попробую еще запитать от внешнего источника, спасибо.
dropbox.com/…/Screenshot 2014-03-28 19.48.31.png

Hyperion

Хо-хо, заработало 😃 Был мой косяк. Залил Tx и землю припоем раз.
Второе после заливки конфига с сайта ардупилота,
#define SERIAL2_BAUD 38400
#define GPS_PROTOCOL GPS_PROTOCOL_AUTO
На подоконнике появился 3D Fix и поймал 9 спутников 😃

omegapraim

Скомпилировал прошивку с правками, но полетать так и не удалось у нас штормовое предупреждение, да и после перепрошивки по ходу надо все по новой делать всякие тюнинги итп)))) а погода не позволяет, так что думаю все переносится на следующую неделю, модуль работает, в планере фикс есть, что дальше будет хз, теперь другая проблема, куда подоткнуть компас что бы помех не было.

HATUUL

Дим ты говоришь про АРМ?
Если да,то стойт игратся с графиком компасмота, есть в настройках,чем меньше наводок тем лучше.

omegapraim

ну да на мультивие уже все летает год как и глюков не было уже давно.

omegapraim

Всем здрасте, сегодня полетал на арду с Глонасс гпс приемником в режиме лойтер, ну что я могу пока сказать оно летает, а если учесть что ветер был 6-7м\с то вполне неплохо. Правда вот на 9й минуте квадрик чет как то странно себя повел, стал колбаситься по всем 3м осям и жестко приземлился. Пока я доволен))))

omegapraim

А ничего что у назы там еще процессор в приемнике встроен? не я конечно не эксперт в назах но если делать к назе приемник нужно тогчно знать что он выдает на выходе и еще момент в назовском еще и компас есть или он вам не нужен?

джедай

нужен и в нём есть компас…я просто интерисуюсь

kostya-tin

повредился провод идущий к антене на Ublox NEO6-M в месте его входа под экран антены (оборван экран провода). GPS из-за этого не видит спутников. Достаточно ли будет отрезать провод по поврежденный участок и припаять его по место этого обрезания или надо соблюдать длину кабеля?

omegapraim

Соблюдать длину не обязательно, главное что бы хватило.

Geniok

Всем добрый день!
Ситуация в следующем, приобрел данный девайс: www.rctimer.com/product_984.html
Сразу подключил к ардуино, посмотрел что данные с приемника идут, скачал U-Center 8.10 с сайта производителя, установил, подключил, все отлично работает, местоположение показывает, ловит 10-15 спутников на окне.
По-умолчанию скорость в нем прошита 9600 и частота 1 Гц. Бьюсь уже вторые сутки, не могу изменить ни скорость на 115200, ни частоту на 5 Гц.
В чем может быть дело ? Может у кого-нибудь есть такой же приемник ?