Введение
Ориентирование на местности - одна из основных проблем человечества. До недавнеговременидляориентированиянаместностииспользовалось:расположениезвезд на ночном небе, кроны деревьев, муравейники, компасы и карты. В настоящее время с развитием технологий добавился еще один метод ориентирования это GPS (ГЛОНАСС) навигация.
Переломным моментом в навигации стало появление первого искусственного спутника нашей планеты. В далеком 1957 году (4 октября) Советский Союз вывел на орбиту первый в мире искусственный спутник земли. Американские учёные во главе с Ричардом Кершнером наблюдали сигнал, исходящий от советского спутника, и обнаружили, что благодаря эффекту Доплера частота принимаемого сигнала увеличивается при приближении спутника и уменьшается при его отдалении. Суть открытия заключалась в том, что если точно знать свои координаты на Земле, то становится возможным измерить положение и скорость спутника, и наоборот, точно зная положение спутника, можно определить собственную скорость и координаты. Именно в это время зародилась идея создать спутниковую систему навигации. На данный момент времени на орбите находятся 24 спутника на высоте более 20 000 км от земли, причем орбитыспутниковпролегаюттакчтослюбойточкивзонепрямойвидимостинаходилось 4 - 10 спутников (рисунок1).
Рисунок 1. Спутники Земли
Возникло желание сделать своими руками устройство, которое позволяло-бы определять свои координаты на местности, а также измерять скорость своего движения.
Научная новизна исследования заключается в следующем: устройство для определения координат содержит микроконтроллер PIC 16F628A и GPS модуль GY- NEO6MV2, которые дают возможность определения географических координат без сети интернет.
Проблема исследования: возможно ли определить географические координаты объекта при помощи GPS МОДУЛЯ GY-NEO6MV2.
Цель работы: используя GPS МОДУЛЯ GY-NEO6MV2 составить устройство для определения координат на местности. Для достижения цели поставлены следующие задачи:
-изучить исторические аспекты навигационных приборов;
-поиск необходимых составляющих прибора (GPS модуль GY-NEO6MV2, соединительные провода, макетная плата, ЖК дисплей от NOKIA 5110, микроконтроллер PIC 16F628A);
-установка необходимого ПО;
-написание программы на языке программирования C;
-сборка и отладка готового устройства.
Предмет исследования: современные технологии в географии. Объект исследования: программирование микроконтроллера. Практическая значимость:
для использования не требуетсяинтернет;
малогабаритный;
определяет географические координатыповсеместно.
Информационную базу исследования составили многочисленные исторические географические, картографические, литературные и научные источники, современная космическая информация. С целью получения информации о работоспособности прибора нами было проведено опробование полученного устройства. Важнейшими методами исследования являлись: метод системного анализа, наблюдения, эксперимент, сравнения, картографический метод проводились полевые исследования.
Был приобретен модуль GY-NEO6MV2 фирмы u-blox. По сути, это высокотехнологичное устройство, построенное на базе специализированного микроконтроллера, который принимает сигналы от спутников и на выходе формирует текстовое сообщение в строго определенном формате. Связь с GPSприемниками осуществляется по протоколу NMEA 0183, это текстовый стандарт связи, использующийся в морском (навигационном) оборудовании. Протокол NMEA 0183 включает в себя множество различных сообщений и команд, я рассмотрю несколько основныхсообщений,связанныхсглобальнойсистемойпозиционирования.Постандарту NMEAвсесообщенияначинаютсяссимвола“$”изаканчиваютсяспецсимволами<CR>– возврат каретки (шестнадцатеричное значение 0x0D) и <LF> – перевод строки (шестнадцатеричное значение 0x0A). Первые два символа после “$” являются идентификатором системы, следующие три символа – идентификатор сообщения, например $GPZDA, где GP – глобальная система позиционирования, ZDA – означает, что сообщение содержит информацию о дате по UTC и локальный часовой пояс. После идентификатора сообщения следуют поля, содержащие значения параметров, в конце сообщенияпослесимвола“*”находитсяконтрольнаясумма.Поляразделяютсязапятыми, некоторые значения в полях могут отсутствовать, при этом запятые в сообщении не удаляются.
Взависимостиотколичествавидимыхспутников,данныймодульвыдаетот6до8 сообщений, которые обновляются каждую секунду (стандартное время для большинства приемников). При достаточном количестве спутников и устойчивом сигнале на модуле начинает мигатьсветодиод.
Алгоритм работы GPS модуля:
Микроконтроллер ждёт символьное сообщение длиной 68 байт от GPSмодуля.
Считывается первые 6 байт символьного сообщения и сравнивается с заголовками сообщений, которые мыиспользуем.
В зависимости от заголовка формируется строка вывода на экрандисплея. Если заголовок не совпадает ни с одним заголовком из используемых нам сообщений,микроконтроллервыводитсообщениеотом,чтонетсигнала,ввидетрёхтире на ЖКдисплей.
Информация о координатах местоположения, времени и скорости в разных сообщениях могут дублироваться.
Сборка и отладкаустройства
Прибор построен на базе микроконтроллера PIC 16F628A и LCD дисплея от сотового телефона NOKIA 5110.
Теперь рассмотрим подключение GPS модуля к микроконтроллеру: для вывода информации я решил использовать LCD дисплей NOKIA 5110, так как буду выводить значительное количество символов. Ниже приведена схема подключения (Приложение 1).
Обработка сообщения спутников нашей программой: В нашем случае выбираем только 4 сообщения:
1.$GPRMC,181057.000,A,5542.2389,N,03741.6063,E,0.47,74.50,190311,,,A*51
Здесь нас интересует символ под номером 18 (отсчет начинаем с 0) это если это A то данные достоверны (есть сигнал), если V — недостоверны.
2.$GPGGA,181058.000,5542.2389,N,03741.6063,E,1,8,1.34,115.0,M,14.6,M,,*54
Отсюда берем почти всю информацию. 181058.000 — время
5542.2389,N — широта 03741.6063,E — долгота
1 — GPS fix ( 0 = Данные не верны, 1 = Позиция зафиксирована, 2 = DGPS (повышенная точность))
8 - количество использованных спутников
1.34 — HDOP, горизонтальная точность 115.0,M — высота над уровнем моря
3.$GPGSV,4,1,13,28,65,075,17,26,53,202,37,15,50,278,17,27,39,290,24*7D
Здесь нас интересует символы номер 11 и 12. 13 — Полное число видимых спутников.
4.$GPVTG,,T,,M,0.204,N,0.378,K,A*29
21 — 27 - скорость км/ час
Программа для обработки текстовых сообщений и вывода полученных данных на дисплей, написана в среде разработки ПО: MikroC Pro for PIC. Исходный текст программы приведен ниже:
// LCD module connections
sbit GLCD_RS at RB0_bit; sbit GLCD_DI at RB3_bit; sbit GLCD_CLK at RB4_bit; sbit GLCD_DC at RB5_bit; sbit GLCD_CE at RB6_bit;
sbit GLCD_RS_Direction at TRISB0_bit; sbit GLCD_DI_Direction at TRISB3_bit; sbit GLCD_CLK_Direction at TRISB4_bit; sbit GLCD_DC_Direction at TRISB5_bit; sbit GLCD_CE_Direction at TRISB6_bit;
void main()
{
char txt_input [68]; char txt [] = "xxxxxx";
char txt_1[] = "$GPRMC"; char txt_2[] = "$GPVTG"; char txt_3[] = "$GPGGA"; char txt_5[] = "$GPGSV"; char dostov;
char time[8]; char dolgota[10]; char chirota[10]; char h_more[5]; char sputnik[4]; charspeed[7];
int temp_txt = 0; int i,k;
int res;
Glcd_Init(); Glcd_Fill(0);
UART1_Init(9600);
while (1)
if (UART1_Data_Ready () == 1)
{
UART1_Read_Text(txt_input,"Ok", 68);
}
for (i = 0; i<6; i++)
{
txt[i] = txt_input[i];
}
res = strcmp(txt,txt_1); if (res == 0)
{
dostov = txt_input[18];
}
res = strcmp(txt,txt_2); if (res == 0)
{
i = 0; k = 21;
while (i<7)
{
speed[i] = txt_input[k]; i++; k++;
}
}
res = strcmp(txt,txt_3); if (res == 0)
{
time[0] = txt_input[7]; time[1] = txt_input[8]; time[2] = ":" ;
time[3] = txt_input[9]; time[4] = txt_input[10]; time[5] = ":" ;
time[6] = txt_input[11]; time[7] = txt_input[12];
i = 0; k = 18;
while (i<10)
{
chirota [i] = txt_input[k]; i++; k++;
}
i = 0; k = 31;while (i<10)
{
dolgota[i] = txt_input[k]; i++; k++;
}
sputnik[0] = txt_input[45]; sputnik[1] = "/";
i = 0; k = 52;
while (i<5)
{
h_more[i] = txt_input[k]; i++; k++;
}
}
res = strcmp(txt,txt_5); if (res == 0)
{
sputnik[2] = txt_input[11]; sputnik[3] = txt_input[12];
}
else
{
Glcd_Write_Text_Adv("---", 0, 0 );
}
Glcd_Write_Text_Adv(time, 0, 0);
Glcd_Write_Text_Adv(dostov, 11, 0);
Glcd_Write_Text_Adv(chirota, 0, 1);
Glcd_Write_Text_Adv(dolgota, 0, 2);
Glcd_Write_Text_Adv(speed, 0, 3);
Glcd_Write_Text_Adv(h_more, 0, 4);
Glcd_Write_Text_Adv(sputnik, 0, 5);
}
}
ВрезультатекомпиляцииисходногофайлабылполученфайлсрасширениемHEX, который был «зашит» в микроконтроллер с помощью программатора. Прибор для определения координат и скорости при включении заработал сразу без дополнительных настроек.
Врезультатепрактическойреализацииданногоисследованияможносделатьвывод, что возможно определить географические координаты объекта при помощи GPS МОДУЛЯ GY-NEO6MV2.
С помощью предложенного способа определения географических координат было разработаноустройствонаосновемодуляGY-NEO6MV2,которыйпринимаетсигналыот спутниковинавыходеформируеттекстовоесообщениеиинформациявыводитьсянаЖК дисплей от NOKIA 5110, строго определенном формате. Связь с GPS приемниками осуществляется по протоколу NMEA 0183, предназначенный для автоматизированого определения и документирования географических координат, даты, скорости движения без использования сети Интернет.
В результате апробирования устройства был выделен недостаток: есть помехи при использовании в крытых помещениях (связи со спутником прерываются). До 2000 года сигнал GPS для обычного населения планеты передавался с помехами для того, чтобы показания были не совсем точны. Однако затем помехи были устранены, и мир получил возможность использовать в быту точные данные по определению местоположения. Учитываяисториюнавигацииинаблюдаязасовременнымиизобретениями,легкосделать вывод, что приборы по определению местоположения будут снова и снова совершенствоваться.Например,беспилотникисталиуженепрерогативойвоенныхсил— их разработкой занимаются все крупные производители автомобилей. Соединение действительной навигации GPS с виртуальным миром — уже не фантастика. Да и многие аппараты,окоторыхлюдираньшетолькомечтали,ужевоплотилисьвреальность.Именно поэтому мы с таким упоением следим на разработками учёных и наслаждаемся нововведениями мира навигации, ведь подобные открытия делают нашу жизнь не только проще, но и раздвигают рамки наших возможностей.[3].
Список используемой литературы:
https://zen.yandex.ru/
Солдатенков, В.А. Системы позиционирования.// Вестник МГУЛ.- М.:МГУА,2009.-
№6.- с.52-57
https://rosuchebnik.ru/material/evolyutsiya-sredstv-navigatsii/
ПРИЛОЖЕНИЕ1.
Схема подключения
ПРИЛОЖЕНИЕ 2
Устройство для определения географических координат