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

hobbo

Тогда я попрошу уважаемых форумчан посмотреть, все ли я сделал правильно в отношении перенастройки gps-модуля:

  • настройку делаю по этому мануалу: homepage3.nifty.com/…/MultiWii FC and GPS.html

  • подключаю gps-модуль к ftdi и к usb на ноуте:

    при подключении действительно нужно соблюдать последовательность Tx-Rx Rx-Tx. иначе u-center “не видит” gps-модуль.

  • запускаем u-center, выбираем com-порт (у меня com6) и скорость (по-умолчанию была 9600, сейчас уже установлена 115200):

    жмем кнопку Send

  • устанавливаем:
    baudrate=115200
    target=‘1-UART1’
    Protocol in=‘0+1 - UBX+NMEA’
    Protocol out=‘0+1 - UBX+NMEA’
    в блоке PRT (Ports):

    (тут я прошу меня простить за невежество, я даже толком не знаю что это за параметры. просто пытаюсь настроить модуль по найденному мануалу)
    жмем кнопку Send

  • устанавливаем:
    Time Source=‘1 - GPS time’
    Measurement Period=‘200ms’
    Measurement Frequency=‘5.00Hz’
    Navigation Rate=‘1cyc’
    Navigation Frequency=‘5.00Hz’
    в блоке RATE (Rates)

    жмем кнопку Send

  • сохраняем сделанные изменения:
    выбираем все Devices (0 - BBR, 1 - FLASH, 2 - I2C-EEPROM, 4 - SPI-FLASH)

    жмем кнопку Send

  • открываем ardiuno ide (у меня 1.0.1), загружаем multiwii (у меня 2.1), в config.h снимаем комментарии в строках:
    #define GPS_BAUD 115200
    #define I2C_GPS

    и прошиваем…
    прошивается у меня почему-то с выводом сообщения avrdude: stk500_getsync(): not in sync: resp=0x00
    хотя все изменения, сделанные в иходнике (например, активация aux1) происходят. в свойствах arduino ide у меня выбрано устройство Arduino Pro Mini w/ATmega328 на com6.

После этого, подключаем bluetooth-модуль, даем питание от бортового аккумулятора, запускаем конфигуратор, коннектимся по com-порту (у меня com3):

видно, что gps-модуль не обнаружен контроллером…

СТОП! СТОП! СТОП! СТОП!..

Дико извиняюсь перед всем сообществом… бес попутал… вторую ночь не спал… выбрал в arduino ide тип контроллера nano, все прошилось без ошибок и теперь GPS светится в конфигураторе зеленым… заодно узнал, что avrdude: stk500_getsync(): not in sync: resp=0x00 означает - контроллер не отвечает.
Еще раз прошу прощения и всем спасибо!

…буду ковырять дальше 😉

ЗЫ
Одна надежда, - если на форуме найдутся такие же горе-экспериментаторы, может быть этот длинный пост поможет им.

crown
hobbo:

все прошилось без ошибок и теперь GPS светится в конфигураторе зеленым

Светится то светится а сам gps работает? данные передает? у меня схожая проблема в конфиге все светится но плата переходника как мигала одиночными желтыми вспышками так и мигает, хотя сам модуль настроен так же на 115000 и 5гц, платку прошивал расcкоментировав только строчку ublox

hobbo
crown:

а сам gps работает?

Да, данные с гпс-модуля принимаются. Вот скрины из двух конфигураторов:

на окне (правда сам приемник лежит пока отдельно, почти у самой рамы) ловит до 9 спутников через минуту-полторы после включения:

crown
hobbo:

Да, данные с гпс-модуля принимаются. Вот скрины из двух конфигураторов:

а платку I2C NAV прошивал, или не трогал?

rx9abc

Все сделал так же как и Hobbo, но результата пока нет.
После долгих попыток понять в чем же дело пришел к следующему:

  1. модуль GPS работает. При подключении к у-центру через FTDI показывает спутники, настраивается, изменяет и записывает настройки (115200, 5 Гц). Все сделал так же как и в посте Hobbo и ссылке в его посте.
    Залил файл настроек u-blox-config.ublox.txt из архива I2C_GPS_NAV-v2.1rc2.zip
  2. Так же настроил плату МультиВии, т.е.

#define GPS_BAUD 115200
#define I2C_GPS

В конфигураторе GPS горит зеленым.
3. Осталась плата переходника. И чтобы я не делал она 1 сек к 1 сек моргает красным диодом. Я её тоже, кстати, перепрошил вот этим I2C_GPS_NAV-v2.1rc2.zip.
Причем, как написано в r33-documentation.pdf:
Глава Compiling the code, заменял в ардуино файлы twi.c и twi.h
глава Clearing the EEPROM, чистил EEPROM.

Ничего не помогает.
Чтобы такого сделать с этим переходником? А может GPS модуль надо как то хитро настроить и тогда переходник сможет его (GPS) понять?

PS: Заработало! В очередной раз зашел в конфигуратор, а он показывает данные с GPS. Я конечно безмерно этому рад, но плата переходника так и продолжает моргать красным диодом 1 к 1.

hobbo
crown:

а платку I2C NAV прошивал, или не трогал?

Нет, I2C не трогал. Хотел было, но уважаемый mixachev посоветовал не прошивать, т.к. вроде как эта платка уже настроена на 115200.
rcopen.com/forum/f123/topic287781/140

rx9abc:

Залил файл настроек u-blox-config.ublox.txt

А вот файлик я никакой не заливал. Может быть тут и порылась собака? Кто знает, что там сей файлик еще изменил…
Не мне давать советы, но почему-то мне кажется, что если исходить из того, что и модуль гпс и платка конвертора у Вас в норме (что чаще всего видимо и бывает), то методом исключения… Я бы в общем попробовал откатить настройки модуля гпс к заводским и сделать всю настройку еще раз по мануалу того китайца. Если возможно выгрузить конфиг из гпс модуля и меня ткнут носом как это сделать, я могу разместить мой конфиг тут или выслать Вам по почте…

crown
rx9abc:

Чтобы такого сделать с этим переходником? А может GPS модуль надо как то хитро настроить и тогда переходник сможет его (GPS) понять?

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

hobbo
crown:

моргает желтым

Кстати, у меня диод на конверторе моргает красным. Моргает как-то сериями… по 2 или 3 вспышки за серию, после которой полусекундный примерно таймаут.
Понимаю, что гуру имеют право застебать за столь “умные” беседы 😃

crown
hobbo:

Если возможно выгрузить конфиг из гпс модуля и меня ткнут носом как это сделать, я могу разместить мой конфиг тут

В программе u-center вкладка tools-gps configuration-gps>>file выгрузить файл с настройками, попробуй

rx9abc
hobbo:

Если возможно выгрузить конфиг из гпс модуля и меня ткнут носом как это сделать

Давайте попробуем! Подключаемся к GPS блоку по FTDI, запускаем у-центр. Идем Tools -> GPS Configuration и там жмем кнопку GPS >> File. Должна скачаться конфигурация с GPS модуля.

hobbo:

по 2 или 3 вспышки за серию, после которой полусекундный примерно таймаут.

Вот это хорошо! Так и должно быть!
* 3 short flash at startup
* blinks once per second if GPS is sending data but no position lock yet
* blinks twice fast, then off for a second if GPS 2D position is available
* blinks 3 times fast, then off for a second if GPS 3D position is available
* or goes on for a second, off for a second, (long pulse) if not getting any NEMA sentences for
over 5 seconds

rx9abc

Если я сам правильно понимаю, то 3D это не только координаты на поверхности планеты, но и высота над землей. Ну или просто точнее чем 2D. В общем 3D это хорошо!

hobbo

Именно так. Я успел отредактировать свой пост, т.к. нашел определение. Действительно, 2D позиция состоит из трех компонентов: идентификатор спутника, координата и время. А 3D позиция добавляет еще значение высоты над уровнем моря. …если я верно понял иноземный язык 😃

Кстати, может кто-то посоветует, как более беспроблемно установить гпс-модуль на квадрике? У меня уже установлен bluetooth, еще будет вероятно фпв на 900 мегагерц, ну и гопроха но это уже не существенно. Просто я не уверен, что никакие помехи не помешают работе гпс-модуля.

crown
hobbo:

Ловите. Надеюсь это Вам поможет как-то.

Залил этот файл изменений никаких, по видимому проблема в платке переходнике

hobbo

Хм… а провода у Вас все правильно соединены в кабелях? Нигде rx с tx не попутаны случайно?

И еще у меня вопрос, помимо защиты гпс-приемника, - у меня получается uart и i2c уже заняты, а ftdi используется время от времени. чтоли больше совсем некуда присобачить oled экранчик? 😃 хотя при наличии bluetooth он кажется не нужным, но у меня пока нет телефона с андроидом, поэтому в поле был бы удобен именно экранчик.

crown
hobbo:

Хм… а провода у Вас все правильно соединены в кабелях? Нигде rx с tx не попутаны случайно?

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

hobbo

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

mixachev
hobbo:

Кстати, может кто-то посоветует, как более беспроблемно установить гпс-модуль на квадрике?

Сам поставил возле fpv камеры не думал что она и на GPS будет влиять. При вкл. камере холодный старт 3-6 минут. А при выкл. 1-2 минуты. Не зря нельзя камеру возле приемника РУ ставить. Хотя в полете количество спутников вроде одинаковое.

rx9abc

Для Crown: У меня тоже была проблема, как я понял именно с платой переходником. Не знаю именно ли это мне помогло, но заработало только после того, как я скомпилировал и прошил переходник вот этим I2C_GPS_NAV-v2.1rc2.zip. Причем, перед компиляцией, вот здесь “arduino-1.0\libraries\Wire\utility\” надо заменить twi.c и twi.h на twiMW.c и twiMW.h из указанного выше архива.

crown
rx9abc:

как я скомпилировал и прошил переходник вот этим I2C_GPS_NAV-v2.1rc2.zip. Причем, перед компиляцией, вот здесь “arduino-1.0\libraries\Wire\utility\” надо заменить twi.c и twi.h на twiMW.c и twiMW.h из указанного выше архива.

Я этой прошивкой прошивал, только библиотеки не подменивал, попробую еще такой вариант, а менялось ли что нибудь в прошивке? я раскоментировал строчку define ublox вместо define mtk

rx9abc

В том то и дело, что я неоднократно прошивал ранее переходник этой прошивкой и ничего не менялось. А после подмены библиотек - заработало. Те старые я просто удалил, а новые, не меняя их имени туда скопировал.

Вот так у меня в конфиге для переходника:

#define I2C_ADDRESS 0x20
#define GPS_LEAD_FILTER
#define GPS_SERIAL_SPEED 115200

//#define NMEA
#define UBLOX
//#define MTK