GPS модул GMM-U1 от GlobalTop

Сега обхватът насателитната навигационна система GPS е доста широк. Но GPS може да се използва не само за навигация, но и за други цели. Например, ако използвате GPS модул във връзка с GSM модул, можете да направите GPS тракер, който ще дава своите координати при поискване. Използва се в системи против кражба на автомобили, системи за проследяване на товари и др. Също така е възможно да се получат точен час, дата, посока, скорост и други данни от сателити. В тази статия ще говоря за GPS модула GMM-U1.

модул
Както можете да видите, модулът е доста компактен, но въпреки това е много лесен за запояване, тъй като стъпката на неговите проводници е 1,2 mm.

Ето основните характеристики на този модул:

  • 66 канала за търсене/проследяване на сателити.
  • L1 честота (1575 MHz).
  • Висока чувствителност -165 dBm, има вграден LNA (Low Noise Amplifier - Нискошумен усилвател), което ви позволява да използвате модула както с активни, така и с пасивни антени.
  • Интерфейси UART (със скорост от 4800 до 115200) и USB.
  • Поддръжка на AGPS (технология, която може значително да намали времето за студен старт).
  • Поддръжка на DGPS (технология за повишаване на точността на GPS)
  • Точност на GPS позициониране-> В реално време. Ще се появи този прозорец:

модул

Тук трябва да изберете интервала на анкетиране. Настроих го на 1 секунда. И след това натиснете Старт. Освен това самата програма ще определи към кой порт е свързан модулът и с каква скорост работи.

3) Излизаме в главния прозорец на програмата и виждаме, че в лявата колона, в елемента Time stamps, се е появил елементът RealTime GPS. Влизаме в него, щракваме два пъти върху Позиция и текущото местоположение се появява на картата:

gmm-u1
Сега нека поговорим за това как можете да свържете модула към микроконтролера. Това може да стане чрез UART интерфейса. И така, веднага след включване, модулът започва да изпраща линии за данни чрез UART (протокол NMEA0183). По-долу е даден препис на тези редове.

Всеки ред започва със знаците $GP, последвано от името на реда, данни и след всички данни е *, последвано от контролна сума. Данните се разделят със запетаи. Има общо 7 такива линии.Също така, с помощта на специални команди, те могат да бъдат свързани или изключени. Ще говоря за това по-късно.

И така, всички редове по ред.

  • GGA е името на линията. GGA низът съдържа UTC времето, позицията и данните за надеждността на координатите.
  • 064951.000 - UTC време. 06:49:51 000
  • 2307.1256 - географска ширина.
  • N показва дали географската ширина е северна или южна. N - северна, S - южна.
  • 12016.4438 е дължината.
  • E - показва дали географската дължина е западна или източна. E - изток, W - запад.
  • 1 - указател, показващ дали позицията е фиксирана. 0 – позицията е неизвестна, 1 – позицията е фиксирана, 2 – позицията е фиксирана и се използват DGPS данни.
  • 8 е броят на използваните сателити. 0 до 14
  • 0,95 - хоризонтална точност в метри (HDOP).
  • 39,9 - височина над морското равнище.
  • M - единици за височина. Метри.
  • 17.8 - геоидна разлика.
  • М - метри.
  • Изминало време от последната актуализация на DGPS данните. Отсъстващ.
  • 65 - Контролна сума.

2. $GPGSA,A,3,29,21,26,15,18,09,06,10. 2.32,0.95,2.11*00

  • GSA - съдържа информация за точността на позициониране и активните спътници.
  • A - режим на превключване между 2D/3D фиксация. A - автоматичен, M - ръчен.
  • 3 - режим на фиксиране. 1 - фиксацията не е налична, 2 - 2D, 3 - 3D.
  • 29 – номер на спътника, чийто сигнал модулът приема по 1 канал.
  • същото за втория канал
  • същото за канал 12.
  • 2.32 - точност на позициониране в метри (PDOP)
  • 0.95 - хоризонтална точност в метри (HDOP)
  • 2.11 - вертикална точност в метри (VDOP)
  • 00 - Контролна сума.

  • GSV - съдържа информация за видимите и използвани сателити, тяхната позиция, качество на сигнала.
  • 3 – брой съобщения. Цялата информация не се побира в едно съобщение, така че идват три съобщения.
  • 1 – номер на съобщението. От 1 до 9.
  • 09 - броят на видимите сателити.
  • 29 - сателитен номер
  • 36 е надморската височина на сателита в градуси.
  • 029 - истински азимут (сателит спрямо антената) в градуси.
  • 42 - съотношение сигнал/шум (0-99). Ако 0, сателитът не се използва.
  • Същото и за останалите сателити...
  • 7D - Контролна сума.

  • RMC е най-важното съобщение. Съдържа информация за местоположение, час, дата, скорост.
  • 064951.000 - UTC време. 06:49:51 000
  • А - надеждност на данните. A - данните са надеждни, V - данните не са надеждни.
  • 2307.1256 - географска ширина.
  • N показва дали географската ширина е северна или южна. N - северна, S - южна.
  • 12016.4438 е дължината.
  • E - показва дали географската дължина е западна или източна. E - изток, W - запад.
  • 0,03 - скорост спрямо Земята (възела на час).
  • 165.48 - курс (ъгъл на следата).
  • 260406 е датата. 24.04.06г.
  • 3.05,W - магнитна деклинация. Отсъстващ.
  • А – режим на работа на модула. A - автономно, D - използващо DGPS.
  • 2C - Контролна сума.

  • VTG - информация за курса и скоростта спрямо Земята.
  • 165.48 - курс (ъгъл на следата).
  • T - данните са надеждни.
  • M - Не знам точно какъв е този параметър, но не е наличен в модула GMM-U1.
  • 0.03,N – скорост (възела на час).
  • 0.06,K – скорост (км/ч)
  • А – режим на работа на модула. A - автономно, D - използващо DGPS.
  • 37 - Контролна сума.

  • GLL - информация за местоположението, времето на определяне на координатите.
  • 2307.1256 - географска ширина.
  • N показва дали географската ширина е северна или южна. N - северна, S - южна.
  • 12016.4438 е дължината.
  • E - показва дали географската дължина е западна или източна. E - изток, W - запад.
  • 182134.000 - UTC време към момента на определяне на координатите. 18:21:34 000.
  • А - надеждни данни.
  • 57 - Контролна сума.

  • ZDA - информация за UTC време, дата и местна часова зона.
  • 182855.000 е UTC време. 18:28:55 000.
  • Датата е 08.09.2011г. 09.08.2011 г.
  • Местна часова зона (изместване спрямо UTC). По някаква причина този модул липсва :(.
  • 56 - Контролна сума.

Настройки на модула.

Има специални команди за конфигуриране на модула. Например, ето команда за горещ рестарт:

Нека да разгледаме по-отблизо как се формират екипите. Знаците $PMTK идват на първо място, последвани от трицифрен код на командата (от 000 до 999), последван от атрибути на команда, разделени със запетая (ако има такива), и след това контролна сума.След контролната сума трябва да бъдат изпратени още два байта: 0x0D и 0x0A. Без тях командата няма да бъде изпълнена!

Контролната сума трябва да се изчисли сами. За да получите контролната сума, трябва да извършите побитова операция XOR (командаEOR в асемблер) на всички командни знаци между знаците $ и *.

По-долу ще дам командите, необходими за промяна на скоростта на UART.

  • $PMTK251,4800*14 - 4800
  • $PMTK251,9600*17 – 9600
  • $PMTK251,14400*29 - 14400
  • $PMTK251,19200*22 - 19200
  • $PMTK251,38400*27 – 38400
  • $PMTK251,57600*2C – 57600
  • $PMTK251,115200*1F – 115200

Пълен списък с команди можете да намерите във файла Commands.pdf, който е в архива.

И накрая, ще ви кажа как да конвертирате координатите, получени чрез UART от модула, във формат, подходящ за въвеждане в Yandex.Maps/Google Maps. Така че 2307.1256,N означава 23 градуса и 071256 минути. Необходимо е да се изчисли 071256 минути/60. Освен това (1187,6/10000)+23 = N23,11876. Правим същото с географската дължина и получаваме:

N23.11876

E12.27406

За Yandex Maps първо трябва да въведете географската ширина в лентата за търсене и след това, след интервал, дължината, за Google Maps е обратното.