GY-NEO6MV2 время

Тема в разделе "Arduino & Shields", создана пользователем santer, 8 ноя 2017.

  1. santer

    santer Нерд

    А вот интересно, только у меня этот модуль тормозит и пропускает секунды?
    Время может застыть на несколько секунд, потом опять пойти пропустив эти несколько секунд.
    Кто знает что делать?
    Использую стандартный пример из библиотеки TinyGPS.h
    Скорость 9600, в общем все как всегда. А время временами притормаживает. С чем это связано?
     
  2. ИгорьК

    ИгорьК Гуру

    Модуль отправляет время, но что то его читает.
    Вот уже два источника проблем, а не один.
     
  3. ostrov

    ostrov Гуру

    Он и не должен заменять ЧРВ, его задача время от времени подводить ЧРВ. Если не считать основной задачей позиционирование, конечно. У меня башенные часы подводит примерно раз сутки, но можно и реже.
     
  4. brokly

    brokly Гик

    Конечно нужно вести счет времени хотя бы программно, синхронизируя эти программные часы по показаниям пришедшим с GPS.
     
    Igor68 нравится это.
  5. sslobodyan

    sslobodyan Гик

    Поднимите скорость. У модуля переполняется выходной буфер если он выдает все НМЕА сообщения на такой маленькой скорости. Или ограничьте тип выходящих от него пакетов. В ю-центре можете посмотреть загрузку выходного буфера и настроить только нужные пакеты.
     
  6. brokly

    brokly Гик

    А мне почему то кажется, что это все равно не позволит использовать GPS модуль как часы. Да и для поднятия скорости интерфейса, частоты выдачи пакетов и типа пакетов не нужны никакие пляски с бубном, просто , обычная команда в правильном формате.
     
  7. sslobodyan

    sslobodyan Гик

    Это только кажется. Абсолютно позволит.
    1. Отключить всю информацию NMEA.
    2. Отключить всю информацию UBLOX, за исключением NAV_TIMEUTC.
    3. Перевести индикаторный диод в режим секундного мигания.
    4. Подключить ножку МК с внешним прерыванием к этому светодиоду.
    5. Получить прерывание - это будет начало текущей секунды.
    6. Получить кадр NAV_TIMEUTC и вытянуть оттуда время.
    Профит.
    PS Если миллисекундная точность не нужна, то со светодиодом и прерываниями можно не возиться. Только NAV_TIMEUTC с разрешением 200мс (5Гц выход). Для часов этого КМК достаточно, ведь ошибка не накапливается и всегда будет +-100мс.
     
  8. brokly

    brokly Гик

    "Кажется", я сказал дабы не ущемить ваше самолюбие. Скажу так как следует сказать - GPS модуль не часы. Никто не гарантирует ежесекундного обновления информации, об этом в любом мануале написано. Вы можете требовать информацию с модуля, хоть каждую миллисекунду, он вам ее выдаст, но выдаст последнюю полученную. А она может быть устаревшей. Так что никакого профита у вас не получилось. Глюки обеспечены.

    Но если пойти таким хитромудрым способом как вы предлагаете - использовать мигание светодиода, то все равно придется самому считать секунды, ловить переполнения, считать минуты и далее. Сам модуль вам этого не сделает. Итог, часы все равно программные, а уж откуда вы их тактируете - другой вопрос. Но светодиод модуля - последнее место откуда следует брать такт :) Опять не профит.

    А в зубах можно и поленом ковырять, только какой смысл ?
     
  9. sslobodyan

    sslobodyan Гик

    Покажите.
    Модуль уже сам выдаст точное время. Вы хоть представляете принцип работы спутниковой навигации? Модуль со спутника получает время, синхронизированное по атомным часам. И считает задержки фазы принятого сигнала. Так что на счет +-100мс можете не беспокоиться.
    За мое самолюбие не переживайте. Как-нибудь справлюсь.
     
  10. brokly

    brokly Гик

    Мне не нужно ничего представлять. И показывать я вам ничего не буду, сами поищите. Просто повторю. У модуля НЕТ СВОИХ ВСТРОЕННЫХ ЧАСОВ, если модуль не видит спутника все - время остановилось :) Получились волшебные часы, хуже песочных. ИМХО, не стоит учить людей всякой ерунде.
    Вилкой суп не съешь.
    Со своей стороны считаю дальнейший спор нецелесообразным.
     
  11. sslobodyan

    sslobodyan Гик

    Ок, оторвусь, раз пошла такая пьянка.

    gps.png

    Это вырезка из мануала по M6N. Импульсы на модулях выводятся на светодиод (как правило). Нужны еще доказательства?
    Так что пока модуль видит спутники, время там точное.
    А на счет "волшебных часов", так это простой съезд с темы. В обычных электронных тоже питание может пропасть, даже простые механические можно забыть подзавести. Если ТС хочет использовать GPS модуль в качестве источника точного времени, то он наверняка знает, что:
    1. модуль надо подключить к его устройству,
    2. модуль надо запитать и настроить,
    3. модуль должен видеть спутники.

    Вот теперь спор считаю оконченным.
     
    Mable нравится это.
  12. santer

    santer Нерд

    Ну господа, спасибо за консультацию. Как говорили великие, в споре рождается истина. Я в любом случае планировал для более стабильного отсчета времени использовать RTC DS1307 и периодически его обновлять если обнаружится разница во времени с GPS и если время с модуля не залипло.
    И мне квантовой точности не требуется, в любом случае спасибо всем.

    sslobodyan, подскажите а какой программой мне отпедалить модуль и поотключать у него
    1. Отключить всю информацию NMEA.
    2. Отключить всю информацию UBLOX, за исключением NAV_TIMEUTC.
    3. Перевести индикаторный диод в режим секундного мигания.
    4. Подключить ножку МК с внешним прерыванием к этому светодиоду.
    5. Получить прерывание - это будет начало текущей секунды.
    6. Получить кадр NAV_TIMEUTC и вытянуть оттуда время.
     
  13. sslobodyan

    sslobodyan Гик

    Google "ublox u-center download"
     
    santer нравится это.
  14. brokly

    brokly Гик

    Нету в модуле GPS никакого RTC и никогда не было. Вы утверждаете, что этот модуль может работать как RTC, тем самым запутывая людей. "МОДУЛЬ ДОЛЖЕДН ВИДЕТЬ СПУТНИКИ", кому он должен ? Вот это как раз и есть съезд с темы. Кислый какой то отрыв, не находите ? :)

    Учите людей всякой ерунде, да еще и с видом знатока.

    И вообще, чего вы к этим импульсам привязались ? Ну есть такая функция, вас она не спасет. Это именно для СИНХРОНИЗАЦИИ, а не для тактирования.
     
    Последнее редактирование: 10 ноя 2017
  15. santer

    santer Нерд

    Я буду отдельным модулем RTC это делать.
    GPS модуль будет водить хоровод и запихивать в RTC актуальное время если будет обнаружена разница в показаниях.
    Вчера с помощью библиотеки TinyGPS++.h получил время. При этом светодиод на борту модуля не мигал, а время шло. Удивительно. Убрал модуль от окна 2 м. Все равно тикает...)))
    Или ему достаточно 1-2 спутников или это библиотека такая умная...
     
  16. sslobodyan

    sslobodyan Гик

    Товарищ, протрите свои глаза и почитайте наконец-то документацию от производителя чипа. А если лень или слабО с английским - так не надо соваться со своими глупыми советами в тему, в которой ни в зуб ногой.
    Может вы себе представляете RTC только как генератор на батарейке со счетчиками, но это не совсем так. Real Time Clock - устройство, которое выдает время, независимо откуда и как оно синхронизируется. Хоть от собственного кварца, или внешней входящей частоты, или берет со спутниковых пакетов данных. Так вот обсуждаемый здесь чип умеет получать это время со спутников и пересинхронизируется с ними каждые 5 минут. На свой вывод TimePulse чип выдает импульс настроенной пользователем полярности, длительности и частоты, привязанный к точному спутниковому времени. Плюс имеет калибровку положения данного импульса с учетом задержек в своей ВЧ, кабеле и даже настройку на задержки в пользовательском приложении. Все поправки в микросекундах.
    gps.png
    О ужас, оказывается в пакете 35.13 NAV-TIMEUTC (0x01 0x21) содержится вся информация о времени: год, месяц, день, час, минута, секунда и даже ожидаемая точность! И уже не надо самому ничего пересчитывать, окромя сделать смещение по своему часовому поясу. И, повторюсь, с абсолютной, не накапливаемой погрешностью.
     
    Mable нравится это.
  17. sslobodyan

    sslobodyan Гик

    Для определения местоположения в 2Д-координатах GPS приемнику надо захватить не менее 3 спутников, для 3Д положения - не менее 4 спутников, а для захвата времени достаточно одного. Библиотека вообще ничего сама не делает, окромя как расшифровывает принятый от модуля пакет. Мигание светодиода настраивается - смотрите 28 страницу руководства. gps.png
     
  18. brokly

    brokly Гик

    Гражданин, выдыхайте уже. Для считывания времени из пакета, этот пакет сначала нужно получить, ферштейн или ни разу :) Эк вас бомбит то, прям какими то сокровенными данными, я смотрю вы тут делитесь, даташиты всякие переводите, мы же сами необразованные, все сокровенные знания у вас. Хоть застрелитесь, ну нету тут RTC, нету :) Не часы это, не-ча-сы :) Или вам картинку нарисовать, как в детском садике ?
     
  19. sslobodyan

    sslobodyan Гик

    Не переживайте, это лечится путем чтения первоисточников.
    Ошибаетесь, все сокровенные знания у производителя чипа. Выдержками из документации я только подтверждаю свои слова.
    Жду - не дождусь, запас попкорна уже заготовил.
    Рекомендую хотя бы поиск включить в даташите по фразе RTC.
    Не надо говорить, что мне делать и я не буду говорить куда вам идти.
    Успехов в образовании и рисовании картинок.
     
  20. brokly

    brokly Гик

    А говорили, что справитесь с самолюбием. Вижу не взошло. Не часы это не часы.