incubus |
Дата: Суббота, 14.12.2013, 22:04 | Сообщение # 1 |
Почетный друг сайта
Группа: Модераторы
Сообщений: 190
Награды: 4
Репутация: 200
Замечания: 0%
Статус: Офлайн
|
Продолжаем осваивать работу с GPS модулем EB-500 о котором писалось чуть ранее. Связь с космосом налажена, осталось освоить то, как принять кучу данных от этой железки с помощью микроконтроллера и преобразовать их в удобоваримый формат. Первым делом необходимо определить скорость на которой EB-500 передает данные. У меня заработал на 115200 бод. На такой большой частоте передачи большую роль играет частота работы микроконтроллера, т.е. напрямую зависит от частоты кварцевого резонатора. И стандартные кварцы на частоты 8-12-16 МГц, которые у меня были, ну никак не подходят для тактирования МК - они дают большой коэффициент ошибок при работе UART на скорости 115200 и заместо нужных данных мы получим мусор в буфере обмена. Поэтому необходимо подобрать кварц с частотой кратной скорости работы UART. Для 115200 бод есть стандартные кварцы с частотой 11059200 Гц, 12902400 Гц и 14745600 Гц. Как посоветовал комрад Pchela, резонаторы с такой частотой можно выдрать из старых модемов, но такого добра у меня не оказалось и поэтому пришлось дождаться окончания новогодних праздников и съездить в магазин.
В общем схема сопряжения микроконтроллера и GPS-модуля вышла следующей:
Для отображения полученных данных используется дисплей от Nokia5110 (аналог 3310)
Печатную плату я уже выклыдывал здесь (прямая ссылка) Для приема данных с модуля я написал тестовый код, скачать для ознакомления можно будет в конце статьи. Он выводит на дисплей текущие координаты, в формате пригодном для скармливания картографическим приложениям (я использую Google Earth), расчетную скорость движения, путевой угол относительно севера и точное время в формате UTC. Теперь имея эти данные, можно использовать в своих целях - собрать GPS-логгер, навигатор, точные часы, компас или что-то еще.
При работе из помещения, сигнал со спутников не может приходить напрямую (нет прямой видимости неба), он приходит отраженный от стен, пола, потолка и как итог - плавающие показания и ненулевая скорость, в то время как я просто сижу на диване Поэтому засунув все это дело в корпус и получив полную мобильность устройства, я первым делом отправился с ним прогуляться под открытым небом.
Прогулка продолжалась не долго, при температуре -15°C пиксели дисплея замерзли и стали работать мееедленно, да так что стало трудно различать показания (представьте человека стоящего на перекрестке и пытающегося дыханием отогреть непонятного вида прибор и пытающегося его сфоткать, и вы поймете с каким видом на меня смотрели прохожие )
Что касается точности позиционирования, по мне так неплохо: разнос небольшой, три-четыре метра максимум. Так же несравнимо быстрее модуль стартует после подачи питания, секунды 3-4 и он уже определял координаты. В общем годная и весьма интересная штуковина.
Тестовая программа
С дураком спорить бесполезно!
|
|
| |