GPS-приёмник на PIC » Программирование устройств на PIC микроконтроллерах


Логин:
Пароль:
О сайте:

Pic.Rkniga.ru - Сайт как для начинающих, так и для опытных радиолюбителей, разрабатывающих свои устройства на популярных PIC микроконтроллерах.
Здесь можно обмениваться сообщениями на форуме, а также добавлять на сайт статьи и схемы своих устройств.

Меню сайта
Главная Форум по PIC микроконтроллерам Форум Статьи по PIC микроконтроллерам Статьи Справочная информаци по PIC микроконтроллерам Справочник Литература по PIC микроконтроллерам Литература Схемотехника Схемотехника устройств на PIC микроконтроллерах Микроконтроллеры Программаторы Все по программированию PIC микроконтроллеров Программы, Софт Программы Ссылки Написать нам
Опрос

Какой средой программирования вы пользуетесь?


MPLab/MPLabX
MicroC
MicroBasic
MicroPascal
Другой


Последние материалы
  • Каршеринг в Москве - это Просто, Удобно и Недорого.
  • Кнопка On/OFF на PIC12F629.
  • Часы с синхронизацией от китайского будильника
  • ШИМ регулятор на PIC16F628A.
  • Счетчики прямого и обратного счета на PIC16F628A.
  • Таймер отключения питания для мультиметра и не только.
  • Программирование на C микроконтроллеров PIC24
  • Измеритель напряжения и тока
  • Маршрутный компьютер для электровелосипеда
  • Простой двухканальный термометр на PIC16F690 и датчиках DS18B20
  • Популярные материалы
    Случайная книга
    GPS-приёмник на PIC
    Автор публикации: Lokkie Просмотров: 3926 Добавлен: 2-10-2014, 19:53 Комментарии: 0

    Данная конструкция, имея в своей основе один из встраиваемых приёмных GPS модулей, выпускаемых компанией Locsense, которые встраиваются в GPS навигаторы, позволяет определять точные координаты своего местоположения, а также время, высоту над уровнем моря, скорость перемещения и курс перемещения объекта, снабжённого данным устройством.

    GPS-приёмник на PIC

    Общий вид прибора


         Итак, основой конструкции приёмника является встраиваемый GPS-модуль LS40CM из линейки GPS- модулей LS40, выпускаемых компанией Locsense. Данная линейка модулей довольно широко представлена на Российском рынке и приобрести любой из модулей довольно просто. Выбор именно модификации LS40CM обусловлен наличием встроенной приёмной антенны, наличием встроенного стабилизатора напряжения, что позволяет питать модуль напряжением от 3,8 В до 8 В при потреблении тока в 90 мА, возможностью подключения внешней антенны для использования прибора, например, в автомобиле. Другие устройства из данной линейки имеют иные наборы компонентов, но также могут быть применены в конструкции приёмника благодаря применению единого протокола управления и конфигурации для всех устройств линейки LS40CM. Информация выдаётся GPS-модулем по интерфейсу UART с уровнями TTL и содержит один или несколько текстовых сообщений протокола NMEA в зависимости от выбранного режима приёмного модуля. Протокол NMEA – это формат передачи сообщений между корабельными приборами. Он включает в себя систему сообщений для обмена информацией между навигационными GPS приёмниками и потребителями навигационной информации. Все сообщения передаются в текстовом ASCII виде, относящиеся к GPS-приёмникам начинаются с $GP.
    Содержание некоторых сообщений протокола NMEA.
    $GPGGA - Сообщение содержит GPS данные о местоположении, времени местоопределения, качестве данных, количестве использованных спутников.
    $GPGLL - Сообщение содержит GPS–данные о географической широте, долготе и времени определения координат.
    $GPGSA - В этом сообщении отображается режим работы GPS приёмника, параметры спутников, используемых при решении навигационной задачи, результаты которой отображены в сообщении $GPGGA и значения факторов точности определения координат.
    $GPGSV - В сообщении указывается количество видимых спутников, их номера, возвышение, азимут и значение отношения сигнал/шум для каждого из них.
    $GPRMC - Сообщение RMC содержит данные о времени, местоположении, курсе и скорости, передаваемые навигационным GPS приёмником. Контрольная сумма обязательна для этого сообщения, интервалы передачи не должны превышать 2 секунды.
    $GPVTG - Сообщение VTG передает текущее истинное направление курса (COG) и скорость относительно земли (SOG).
    $GPZDA - Сообщение ZDA содержит информацию о времени по UTC, календарный день, месяц, год и локальный часовой пояс.

         В приборе используются сообщения: $GPGLL, $GPGGA, $GPZDA, $GPVTG. Принцип работы прибора прост. При включении устройства микроконтроллер выводит на дисплей меню, в котором указаны названия возможных режимов работы устройства, выбираемых с помощью кнопок управления 1-5 (рис.1). Кнопка ‘L’ предназначена для включения подсветки дисплея.

    GPS-приёмник на PIC

    Рис. 1


         Названия режимов работы выбраны в соответствии с используемым в нём NMEA- сообщением GPS-приёмника, кроме режима ‘COM’, и указывают на то, какая навигационная информация будет отображаться на дисплее. Режим ‘COM’ необходим для совместной работы устройства с персональным компьютером, связь с которым осуществляется посредством COM-порта. После выбора режима нажатием на одну из кнопок прибор выдаёт кратковременный звуковой сигнал, и микроконтроллер конфигурирует GPS-модуль по UART для включения определённого режима. После процесса конфигурирования GPS-модуль 1 раз в секунду выдаёт NMEA-сообщение по UART микроконтроллеру, который считывает его и выводит на дисплей навигационную информацию. Таким образом, в режиме ‘1-GLL’ на дисплее отображается основная текущая навигационная информация (рис.2).

    Меню CGL
    GPS-приёмник на PIC

    Рис. 2


         Это - широта (градусы, минуты, секунды и после точки отображается литера текущей широты; ‘N’ – северная широта, ‘S’ – Южная широта), долгота (градусы, минуты, секунды и после точки выводится литера текущей долготы; ‘W’ – Западная долгота, ‘E’ - Восточная долгота), время UTC (часы, минуты, секунды). В нижнем правом углу дисплея отображается символ валидности выводимой информации. Дело в том, что для точного определения координат местоположения приёмнику необходим уверенный приём сигналов как минимум 3-х спутников GPS. Если приёмник в определённый момент работает с 3-мя и более спутниками, то выводимая им информация считается валидной (т.е. верной), о чём сообщается соответствующим символом в сообщении NMEA. Если приёмник располагает сигналами менее чем от 3-х спутников, то выводимые им данные считаются невалидными, и отражающий состояние выводимых данных символ изменится на символ, указывающий на невалидность данных в сообщении NMEA. Так при отображении на дисплее валидных данных отображается символ валидности данных ‘VP’ – Valid Packet, а при отображении невалидных данных отображается символ невалидности данных ‘IP’- Invalid Packet. В режиме ‘2-GGA’ на дисплей выводится расширенная текущая навигационная информация (рис. 3).

    Меню CGA
    GPS-приёмник на PIC

    Рис. 3


         ‘Т’ - время UTC (часы, минуты, секунды), ‘Nsats’ – количество спутников, сигналы которых в данный момент уверенно принимаются GPS-модулем и используются для навигации, ‘LAT’ - широта (градусы, минуты, секунды и литера текущей широты; ‘N’ – северная широта, ‘S’ – южная широта), ‘LON’ - долгота (градусы, минуты, секунды и литера текущей долготы; ‘W’ – западная долгота, ‘E’ - восточная долгота). В правой части дисплея отображается надпись ‘MODE’, под которой микроконтроллер выводит символ валидности данных: ‘GPS’ – данные валидны, ‘INVL’ – данные невалидны. В нижней строке дисплея отображается информация о текущей высоте: ‘HAS’ – высота над уровнем моря (до 18000,0 м с точностью до 0,1 м), ‘GH’ – высота над геоидом (до 9999,9 м с точностью до 0,1 м) – математической моделью Земли, необходимой для проведения землемерных работ. При некоторых обстоятельствах эту высоту можно считать высотой над поверхностью материка. В режиме ‘3-ZDA’ на дисплей выводится информация о текущей дате и времени UTC, а также напряжение аккумуляторной батареи, от которой питается устройство (рис. 4).
    Меню ZDA

    GPS-приёмник на PIC

    Рис. 4


    Меню VTG
    GPS-приёмник на PIC

    Рис. 5


         Курс отображается в градусах относительно северного полюса Земли по часовой стрелке с пояснительной надписью ‘ист.’, и относительно магнитного полюса Земли с пояснительной надписью ‘маг.’. Скорость перемещения отображается на дисплее в узлах – ‘узл’, и в километрах в час - ‘км/ч’. В нижней строке отображается текущее напряжение аккумуляторной батареи. В нижнем правом углу дисплея выводится символ валидности данных ‘INV’ – данные невалидны, ‘GPS’ – данные валидны.
    Режим ‘COM’ специально предусмотрен для возможности работы устройства совместно с персональным компьютером. При этом в полной мере сохраняются все возможности работы персонального компьютера с GPS-модулем, использования программного обеспечения для конфигурирования и тестирования модуля посредством PC, а также использования модуля совместно с навигационными программами для персонального компьютера. В режиме ‘COM’ на дисплее отображается сообщение «Соединение с ЭВМ», и в нижней строке выводится текущее напряжение аккумуляторной батареи (рис. 6).

    Меню COM
    GPS-приёмник на PIC

    Рис. 6


    Теперь перейдём к рассмотрению принципиальной схемы устройства (рис. 7).
    Принципиальная схема GPS приемника

    GPS-приёмник на PIC

    Рис. 7


         При включении питания микроконтроллер выводит на дисплей меню, в котором указаны названия возможных режимов работы устройства, выбираемых с помощью кнопок управления SB1 - SB5. Кнопкой SB6 включается подсветка дисплея. Пользователь нажатием на соответствующую кнопку выбирает режим работы прибора, микроконтроллер формирует на выводе RC1 последовательность импульсов, управляющих транзистором VT5, работающем в ключевом режиме. Между выводом микроконтроллера RC1 и коллектором транзистора VT5 включен звуковой пьезоизлучатель, который издаёт звуковой сигнал в период поступления в базу транзистора импульсов с микроконтроллера и сигнализирует пользователю о нажатии на кнопку. Затем с вывода микроконтроллера RC6, выполняющего в данной схеме функцию передатчика UART, через токоограничивающий резистор R14, мультиплексор DD2 и преобразователь уровней КМОП в ТТL, выполненный на транзисторах VT3 и VT4, на вывод 2 (вход UART) GPS-модуля LS40CM поступает сообщение конфигурирования, настраивающее модуль в режим вывода навигационного сообщения, соответствующее выбранному режиму работы прибора. Получив сообщение, модуль GPS с вывода 1 (выход UART) через преобразователь уровней TTL в КМОП, выполненный на транзисторах VT1 и VT2, через токоограничивающий резистор R13 на вывод RC7 микроконтроллера, выполняющего в данном устройстве функцию приёмника UART, начинает посылать сообщение NMEA, соответствующее выбранному режиму работы устройства 1 раз в секунду. Получив сообщение, микроконтроллер проверяет его на соответствие выбранному режиму, и если проверка проходит успешно, выводит навигационную информацию, содержащуюся в принятом сообщении на дисплей LCD. Этот алгоритм работы используется для всех режимов работы прибора. Управление LCD дисплеем выполняется через токоограничивающие резисторы R1 - R3 посредством выводов микроконтроллера RB0 – RB2. Передача данных в дисплей также осуществляется через токоограничивающие резисторы R4 - R7 с выводов RD0 - RD1 микроконтроллера DD1. Контрастность отображения символов на дисплее регулируется потенциометром R30. В режимах работы прибора с выводом навигационной информации на LCD-дисплей организована передача навигационной информации с прибора персональному компьютеру через COM–порт, без возможности управления и конфигурирования GPS-модуля с PC. Для этого предусмотрена коммутация источника управляющих сообщений посредством мультиплексора DD2, управляемого микроконтроллером с вывода RC4. В режимах прибора 1 - 4 мультиплексор коммутирует вход UART модуля GPS для приёма команд конфигурирования от микроконтроллера DD1. Таким образом, информация может передаваться через COM-порт только от прибора к компьютеру, и передаётся только текущее сообщение NMEA, соответствующее выбранному режиму устройства. Для обеспечения двустороннего обмена между GPS-модулем и компьютером необходимо переключить прибор в режим работы с ЭВМ. Для этого необходимо включить режим ‘COM’, включение которого осуществляется кнопкой SB5. При этом происходит конфигурирование GPS-модуля для вывода группы NMEA сообщений, необходимых для работы приёмника совместно с программой для конфигурирования и тестирования модулей LS40 -«LSViewver», а затем переключает вход UART GPS-модуля мультиплексором DD2 для приёма управляющих сообщений от персонального компьютера. Для работы прибора совместно с РС посредством СОМ-порта используется микросхема DD3. Питается прибор от 6 никельметаллгидридных аккумуляторов, заряжаемых с помощью встроенного в прибор зарядного устройства, выполненного на микросхеме MAX 713 и работающего в импульсном режиме. Преимущество данного зарядного устройства в его небольших размерах, стоимости и функциональности схемы, которая позволяет быстро и эффективно заряжать батареи, имеющие в своём составе от 1 до 16 аккумуляторов без отключения их от питаемого устройства, а также производит контроль заряда батареи и её отключение при достижении необходимого напряжения заряда. Схема данного зарядного устройства неоднократно приводилась в радиолюбительской литературе и журнале «Радио», поэтому в данной статье она не рассматривается. Для питания GPS-модуля от батареи в схеме прибора применяется стабилизатор напряжения DA1. Если в устройстве планируется применить иной модуль GPS, для его питания следует применить соответствующий стабилизатор напряжения. Для питания остальных устройств прибора, применяется стабилизатор напряжения DA2. Для включения подсветки дисплея используется кнопка SB6. При нажатии на неё микроконтроллер формирует короткий звуковой сигнал и положительный импульс определённой продолжительности с вывода RA2, который заряжает конденсатор C16. Затем вывод RA2 переключается в режим входа и считывает бит с заряженного конденсатора С16, который постепенно разряжается через резистор R34. Пока напряжение на конденсаторе соответствует логической 1, подсветка дисплея включена; как только конденсатор разрядится до напряжения ниже порога логической единицы, подсветка дисплея выключится. Варьируя ёмкостью конденсатора С16 и сопротивлением резистора R34, можно изменять время работы подсветки прибора. Значения ёмкости и сопротивления, применённые в данной конструкции, обеспечивают продолжительность работы подсветки в течение примерно 30 секунд. Включение лампы подсветки дисплея осуществляется транзистором VT6, открываемым с вывода микроконтроллера RC0. В цепь питания лампы подсветки включен токоограничивающий резистор, снижающий яркость свечения лампы и потребляемый ею ток до небольшого значения, но всё же достаточного для нормального чтения символов дисплея при пониженном освещении. Это сделано для экономии заряда аккумуляторных батарей питания прибора.

         С помощью АЦП микроконтроллера DD1 производится измерение и контроль напряжения аккумуляторной батареи прибора. Используя вывод RA0 в качестве аналогового входа АЦП с резистивного делителя R26, R27, подключенного к аккумуляторной батарее, снимается напряжение, сниженное делителем до уровня, допустимого для работы АЦП при максимально заряженной батарее. При снижении напряжения батареи до уровня 6 В на дисплей выводится сообщение: «Батарея разряжена, LOW VOLTAGE» и в нижней строке дисплея выводится значение напряжения батареи. При зарядке батареи, достигнув максимального уровня заряда, прибор выводит на экран сообщение «Батарея заряжена», и в нижней строке дисплея выводится значение напряжения батареи питания.

         GPS-приёмник собран в пластиковом корпусе с размерами 145х105х70 мм на двух платах из двустороннего фольгированного текстолита, расположенных одна над другой. Фольга со стороны установки радиоэлементов сохранена и выполняет функцию общего провода. Под выводы деталей вокруг отверстий сделана зенковка диаметром 4 мм. На первой плате выполнен сам приёмник (рис. 8). LCD крепится к его плате на стойках высотой 10 мм со стороны печатных проводников, GPS-модуль также крепится к плате приёмника со стороны печатных проводников на пластиковых стойках высотой 3 мм (рис. 8). Для подключения GPS-модуля к плате используется ответная часть разъёма 87213 SMT R/A, которым оборудован модуль, подключаемая к плате отрезками провода МГТФ. Выводы LCD также припаиваются со стороны печатных проводников к штырькам разъёма PLS, установленным на плате устройства.

    GPS основная плата
    GPS-приёмник на PIC

    Рис. 8


    Зарядное устройство
    GPS-приёмник на PIC

    Рис. 9


         На второй плате (рис. 9) собран аккумуляторный блок с зарядным устройством. Платы крепятся друг к другу стойками высотой 20 мм, обеспечивая достаточное пространство для свободного размещения радиодеталей на плате приёмника (рис. 10), и соединяются между собой отрезками провода МГТФ. На передней панели устройства сделано окно для LCD-дисплея, размещены кнопки управления режимами приёмника 1 - 5, L, кнопка включения питания прибора, а также два светодиода ‘charge’ и ‘sens’. Светодиод ‘charge’ красного цвета включается при осуществлении заряда аккумуляторной батареи устройства и отключается при завершении заряда. Светодиод ‘sens’ зелёного цвета, на принципиальной схеме обозначен как HL1, индицирует режим работы приёмного GPS- модуля и управляется транзистором VT7, база которого через резистор R33 подключается к аноду светодиода ‘sens’, расположенного непосредственно на GPS-модуле LS-40CM. В режиме нормального приёма сигналов GPS светодиод ‘sens’ загорается с периодом в 1 секунду, при отсутствии принимаемых GPS сигналов светодиод ‘sens’ загорается с периодом в 2 секунды. Кнопки управления режимами устройства SB1 - SB6 выполнены отдельным блоком, который устанавливается с обратной стороны передней панели. К плате приёмника блок с кнопками подключается отрезками провода МГТФ. Для подключения к COM-порту персонального компьютера на боковой стороне корпуса установлен разъём COM-порта DB9M, подключенный к соответствующим выводам платы приёмника отрезками провода МГТФ. Рядом с ним располагается гнездо для подключения блока питания зарядного устройства приёмника напряжением 12 - 15 В, также подключенное к соответствующим выводам зарядного устройства проводом МГТФ.

    Корпус полностью открыт
    GPS-приёмник на PIC

    Рис. 10


         В конструкции применены постоянные резисторы типа МЛТ, подстроечный резистор типа СП4-1а, постоянные конденсаторы типов КМ, КЛС, К10-17в, К50-35, двадцатиразрядный четырёхстрочный знакосинтезирующий дисплей фирмы Data Vision – DV20400, микросхемы DD1 - PIC16F877, DD2 - К561КП1, DA1 – 7805 (КР142ЕН5А), DA2 – MAX232A, DA3 – ADP3338, транзисторы VT1 - VT7 – КТ315, звуковой пьезоизлучатель любой, с напряжением питания не менее 5 вольт, кнопки SB1 - SB6 типа ПКН-2. В описанной конструкции приёмника используется приёмный встраиваемый GPS-модуль LS-40CM производства компании Locksense.

    GPS-приёмник на PIC

    Рис. 11


         С данной конструкцией может применяться практически любой приёмный GPS-модуль, работающий с протоколом NMEA при условии внесения изменений в часть кода программы микроконтроллера, конфигурирующей модуль для работы в определённом режиме для конкретного GPS-модуля. Коды конфигурирования для LS-40CM следует заменить кодами для модуля, который планируется применять вместо LS-40CM.

    GPS-PIC.rar [1,57 Mb] (cкачиваний: 281)

    Автор Статьи: Могилевский Илья (RA3PCS)
    Материал взят из: www.tularadio.ru

    Категория: Статьи
    « Назад
    Комментарии