mikroelektronika-gps-module-automatika-logo.jpg
mikroelektronika-gps-module-automatika-logo.jpgGPS (Global Positioning System) je jedna od vodećih tehnologija koje se upotrebljavaju za određivanje položaja. Ova tehnologija je našla najveću primenu u uređajima za navigaciju vozila. Ovde ćemo vam opisati jednostavan način povezivanja GPS prijemnika sa mikrokontrolerom, kao i određivanja geografske širine i dužine.

 GPS (Global Positioning System) se zasniva na velikom broju satelita koji emituju mikrotalasne signale uz pomoć kojih GPS prijemnici mogu da odrede svoju lokaciju, vreme ili brzinu. GPS prijemnici mogu koristiti različite vidove komunikacije sa mikrokontrolerom ili PC računarom. Uobičajen način komunikacije je preko serijskog porta, a najčešće korišćen protokol za slanje ovih informacija jeste NMEA protokol.

Princip rada

 NMEA protokol je zasnovan na rečenicama. Prvo slovo svake rečenice je znak $ (ASCII 36), a kraj rečenice možemo prepoznati po znakovima za prelazak u novi red CR (ASCII 13) i LF (ASCII 10). Prva reč u svakoj rečenici određuje značenje ostatka rečenice. Tako na primer rečenica koja počinje sa $GPGLL pruža informacije o geografskoj širini i dužini, tačnom vremenu (prikazano kao UTC – Universal Coordinated Time) i validnosti podataka (A – Active ili V – Void) kao i „checksum” koji pruža mogućnost da se proveri da li su prethodno navedeni podaci ispravno primljeni. Svi podaci su međusobno odvojeni zarezom ‘,’. GPS prijemnik šalje set NMEA rečenica svake sekunde. U slučaju da podaci o geografskoj širini i dužini nisu i  kasni (ukoliko GPS prijemnik nije uspeo da odredi svoj položaj), kao i u slučaju da ostali podaci nisu određeni, GPS prijemnik će i dalje slati isti set rečenica, ali umanjen za podatke koji nedostaju. Da bismo vam bolje objasnili o čemu je reč, na donjoj slici je prikazan izgled jedne kompletne  NMEA rečenice. A evo i jedne rečenice koja je poslata kada GPS prijemnik nije uspeo da odredi svoj položaj:

$GPGLL,,,,,,V,N*64
 
mikroelektronika-gps-module-automatika.rs-geografska-duzina-sirina.jpg

 Hardver

 Povezivanje GPS prijemnika sa mikrokontrolerom je veoma prosto. Kao što možete videti na šemi 1, za komunikaciju između ove dve komponente neophodne su dve linije RX i TX. RX linija služi za slanje podataka od GPS prijemnika ka mikrokontroleru, dok TX linija može da se iskoristi za slanje određenih komandi od strane mikrokontrolera ka GPS prijemniku. Ovde je korišćen GPS prijemnik i  rme U-Blox sa oznakom LEA-5S.

 Kao i većina GPS prijemnika i ovaj radi na naponu napajanja od 3.3V. Mikrokontroler PIC18F4520 radi na naponu napajanja od 5V, tako da je neophodno prilagoditi naponske nivoe određenih signala. S obzirom da LEA-5S GPS prijemnik ima 5V tolerantne ulaze, TX linija, koja ide od mikrokontrolera ka GPS prijemniku, može da se poveže direktno. Za RX liniju, koja ide od GPS prijemnika ka mikrokontroleru, morali smo da iskoristimo translator naponskog nivoa koji će signal logičke jedinice sa nivoom od 3.3V podići na nivo od 5V.

sema-povezivanja-gps-modula-mikroe-automatika.rs.jpg

 U primeru je prikazana mapa sveta na grafičkom displeju rezolucije 128×64 piksela na kojoj će trepereti kursor sa Vašom lokacijom.

Softver

 Kao što možete videti, kod programa koji se učitava u mikrokontroler je dosta kratak. Skoro pola koda predstavlja bitmapu koja je konvertovana u odgovarajući niz podataka. Ova konverzija je neophodna da bi mikrokontroler prikazao mapu sveta na displeju. Ostatak koda se sastoji od prijema NMEA rečenica od GPS prijemnika, određivanje geografske širine i dužine, zatim skaliranje dobijenih podataka tako da odgovaraju rezoluciji displeja od 128×64 piksela i konačno prikazivanje kursora na određenoj lokaciji.

 editor-sa-spremnim-bibliotekama-mikroc-mikroe-automatika.rs.jpg

 

 

funkcije-glcd-biblioteke-mikroc-mikroe-automatika.rs.jpg

 

 

 

 


  GPS Izvorni Kodovi [39KB]


Više informacija o GPS modulu možete pronaći na ovoj adresi.

Informacije o EasyPIC5 razvojnom sistemu možete naći ovde.

NAPOMENA: Ovaj projekat postoji i varijantama za AVR i dsPIC mikrokontrolere. Više o ovome možete naći ovde.

POSTAVI ODGOVOR

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.