cz flag en flag

Vývojový kit s modulem GPS L30

Jedním ze způsobů zjišťování pozice je systém GPS. Systém je všeobecně známý a používaný pro mnoho aplikací. Nejrozšířenější je především navigace pro automobily, cyklisty a pěší turisty, ale jakmile chcete vytvořit vlastní aplikaci, která by měla být závislá na poloze, tak je zbytečné kupovat drahou navigaci nebo mobil s integrovanou GPS. Stačí pouze šáhnout po značně levnějším modulu, který vyrábí Quectel.

 

Náhodou, díky firmě SOS electronic, která distribuuje moduly firmy Quectel, jsem se dostal k celému vývojovému kitu pro tento GPS modul (Obr. 1) a měl jsem šanci zjistit jeho výhody a nevýhody a popř. využití pro praktické aplikace.

24072011712

Obr. 1: Vývojový kit pro GPS modul L30.

Jednou z hlavních výhod vývojového kitu je jeho snadná implementace a především to, že modul GPS L30 je už napájen na desce. Modul je totiž možné zakoupit pouze v provedení SMD s pájecími ploškami ve spodu a proto pájení takového modulu není možné v běžných amatérských podmínkách. Samozřejmě vývojový kit nabízí i další výhody, např. vyvedené konektory pro data, anténu a napájení nebo integrovaný převodník z UARTu na RS232.

Dalším kladem je balení obsahující kromě vývojového kitu i spoustu doplňků (Obr. 2), které by bylo nutné za jiných okolností dokoupit. V balení tedy najdete:

  1. Vývojový kit
  2. Napájecí adaptér (5V, 2A)
  3. Anténa GPS s kabelem
  4. Převodník z USB na RS232
  5. CD s ovladači pro převodník

24072011714

Obr. 2: Obsah balení.

Přenos dat

Nyní se dostáváme k přenosu dat. Než ale budeme přijímat data, je třeba správně připojit kit k PC nebo k mikrokontroléru. Pro ukázku využijeme rozhraní UART, které je v kitu převedeno přímo na RS232. Nové PC nebo notebooky bohužel RS232 postrádají, a proto je v balení převodník na USB. V případě, že budeme připojovat kit k mikrokontroléru, je potřeba sestavit převodník rs232-UART. Na to je možné využít IO MAX232CPE.

Nejprve je vhodné vyzkoušet komunikaci pomocí PC. Takže využijeme USB převodník a připojíme celý kit k PC. Zároveň je nutné, aby byl v tu chvíli připojen i k napájení a je vhodné připojit i anténu, zvláště v baráku, kde je signál GPS tlumen zdí. Po připojení do USB je nutné nainstalovat ovladač, který je přiložen na CD. V případě win7 se ovladač nainstaluje sám. Dále v případě kitu L30 je potřeba jej zapnout vypínačem označeným „S201“ a poté stiskem tlačítka „K302“. V tu chvíli by měla svítit „LED201“ a „LED302“ a blikat „LED303“. „LED301“ začne blikat, až když GPS bude mít signál a získá polohu. Je-li vše v pořádku, můžeme přejít k softwaru pro příjem dat. Na pokus jsem nejprve použil „Hercules SETUP utility“ (Obr. 3), ve kterém jde přijímat data přes rs232. Na obrázku 3 je vidět veškeré nastavení portu. Jen číslo portu (Name) je nutné si zjistit v systému. Pak stačí stisknout tlačítko „Open“. Nyní už se přijímají data. Obrázek 3 ukazuje přijatá data v době, kdy GPS ještě nemá signál, proto je tam tolik čárek za sebou. V případě, že GPS získá polohu (Obr. 4), pak mezi čárkami jsou jednotlivá data.

hercules

Obr. 3: Testovací software – GPS bez signálu.

hercules1

Obr. 4: Testovací software – GPS se signálem.

Datové rámce

Na obrázcích 3 a  4 si můžeme všimnout jednotlivých datových rámců, které posílá vývojový kit. Každý z těchto rámců začíná znakem „$“ a končí hvězdičkou, za kterou je číslo jako kontrolní součet. Hned za znakem dolaru je několik písmen, které značí, co rámec nese za informace. Hodnoty jsou pak jako další odděleny čárkami. Jako příklad jsem zde vypracoval tabulku pro datový rámec, který je vidět na obrázku 4 jako první.

Pole Popis
$ Začátek rámce
GPRMC Název rámce
UTC čas Čas ve formátu „hhmmss.sss“
Správnost dat ‚V‘ – nesprávný
‚A‘ – správný
Zeměpisná šířka Zeměpisná šířka ve formátu „ddmm.mmmm“
(d-stupeň, m-minuta)
N/S ‚N‘ – sever

‚S‘ – jih

Zeměpisná délka Zeměpisná délka ve formátu „dddmm.mmmm“
(d-stupeň, m-minuta)
E/W ‚E‘ – východ
‚W‘ – západ
Rychlost Rychlost země v uzlech
COG Kurz země ve stupních
Datum Datum ve formátu „DDMMRR“
Magnetic variation
E/W
Mód zjišťování pozice ‚N‘ – bez opravy

‚A‘ – autonomní GNSS oprava

‚D‘ – diferenciální GNSS oprava

* Konec datového rámce
Kontrolní součet Kontrolní součet v HEX
<CR><LF> Obsahuje každý rámec na konci

 

Takovýchto rámců posílá kit spoustu. Např. kolik satelitů přijímá, jaké jsou jejich čísla a další informace o poloze a satelitech. Všechny tyto informace jsou v datasheetu kvalitně zpracované.

Praktická ukázka jak vybrat jednotlivá data z rámce

Pro práci s daty jsem vybral dva programovací jazyky: Visual Basic 6 a C++. Basic je vhodný pro práci s porty a C++ je dnes hojně využíváno jak na PC tak i pro mikrokontroléry. Ve svém praktickém příkladu budu počítat s tím, že již máme v proměnné „data“, typu řetězec, přijaté data z portu a už je budeme pouze zpracovávat.

Příklad ve Visual Basicu 6

x = Split(data, “,”)                      //Rozdělí podle čárky

If x(0) = “$GPRMC” Then                   //Porovná název rámce

Label1.Caption = x(3) & ” ” & x(4)        //Zeměpisná šířka

Label2.Caption = x(5) & ” ” & x(6)        //Zeměpisná délka

Text1.Text = x(1)                         //Čas UTC

End If

 

Příklad v C

char delims[] = “,”;

x = strtok(data, delims);                 //Rozdělí podle čárky

while(x != NULL) {

    znaky[i] = x;

    x = strtok( NULL, delims );

    i++;

}

 

if(strcmp(znaky[0], ‘$GPRMC ‘) == 0){     //Porovná název rámce

    sprintf(lcd_buffer, “%s”,znaky[3]);       //Zeměpisná šířka

    Posli_retezec(lcd_buffer, 1, 0);

}

 

 

 

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

*

0
0
0
0
0
0
0
0
0
Verified by ExactMetrics