Naslovna Projekti Kako povezati GPS modem sa AVR mikrokontrolerom

Kako povezati GPS modem sa AVR mikrokontrolerom

GPS modem je uređaj koji prima signale sa satelita, a obezbeđuje informacije o trenutnoj poziciji (geografska širina i dužina), nadmorskoj visini, vremenu itd. Ovaj modem poseduje antenu kojom prima signale. Nakon prijema, on ih i konvertuje u korisne informacije i šalje ih ka izlazu, najčešće u RS232 logičkom fomratu. Informacije o geografskoj širini, dužini itd se šalju neprekidno, u pratnji identifikacionog stringa.

U ovom članku pokazaćemo kako da povežete jedan GPS modem sa AVR mikrokontrolerom. Koristićemo ATmega16 kontroler. Očitane podatke ćemo prikazati na LCD displeju.
Veza GPS modema i mikrokontrolera (ATmega16) data je na slici 1. GND pinovi kola MAX232 i GPS modemu su povezani. Treba povezati i drugi pin MAX232 sa trećim pinom GPS modema, kao i treći pin MAX232 i drugi pin modema. Ovo je serijski ‘cross cable’ tip komunikacije. Većina GPS modema koristi upravo ovaj vid komunikacije. Izlazni signal se sastoji od niza stringova koji će u nastavku biti detaljno opisani.
Slika1 kako_povezati_gps_modem_i_AVR_mikrokontroler_elektronika_projekti_automatika.rs
Slika 1. Električna šema uređaja
Format dolaznog signala

  U nastavku je dat primer izlaznog signala sa GPS modema sa detaljnim objašnjenjima. Ovaj izlazni string sadrži informacije o geografskim širinama i dužinama, nadmorskoj visini, vremenu itd. Primer jednog izlaznog stringa dat je u nastavku:
$GPGGA,100156.000,2650.9416,N,07547.8441,E,1,08,1.0,442.8,M,-42.5,M,,0000*71
  1. String uvek počinje znakom $
  2. GPGGA – nepromenljivi podaci GPS-a
  3. ‘,’ – zarez služi za razdvajanje dve vrednosti
  4. 100156.000 – GMT vreme kao: 10(sati):01(minuta):56(sekundi):000(ms)
  5. 2650.9416,N – geografska širina kao 26(stepeni) 50(minuta) 9416 (sekundi) NORTH (Severno)
  6. 07547.8441,E – geografska dužina kao 075(stepeni) 47(minuta) 8441 (sekundi) EAST (Istočno)
  7. 1 – nepromenljiva kontrolna vrednost, 0 – neispravan podatak, 1 – ispravan podatak, 2 – DGPS
  8. 08 – broj satelita koji su trenutno dostupni
  9. 1.0 – HDOP
  10. 442.8,M – nadmosrka visina u metrima
  11. -42.5,M – geoid visina
  12. _ – DGPS podaci
  13. 0000 – DGPS podaci
  14. *71 – provera

  Kako bismo sa modema dobili potrebne informacije o geografskoj širini i dužini primenićemo sledeći algoritam:

  1. Preuzeti podatke i uporediti prvi bajt sa ‘$’. Ako se poklapaju, preći u naredni korak, u suprotnom tražiti nove podatake;
  2. Uzimati podatke bajt po bajt i proveriti da li su bajtovi jednaki ‘GPGGA’;
  3. Ako se u drugom koraku bajtovi jednaki, preći na četvrti korak, u suprotnom, vratiti se na prvi korak;
  4. Pošto nam nije potrebno vreme, preskočiti prvi zarez i sačekati naredni;
  5. Početi sa preuzimanjem podataka o širini i smeštanjem u niz ‘lati_value[]’ do sledećeg zareza;
  6. Preuzeti pravac u promenljivoj lati_dir;
  7. Uraditi isto i za dužinu;
  8. Ispisati podatke o širini i dužini na LCD, a potom se vratiti u prvi korak.

Source kod i šemu uređaja možete preuzeti ovde.

NEMA KOMENTARA

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.

Exit mobile version