Sadržaj:

GPS nadgledanje sa projektom OLED ekrana: 5 koraka (sa slikama)
GPS nadgledanje sa projektom OLED ekrana: 5 koraka (sa slikama)

Video: GPS nadgledanje sa projektom OLED ekrana: 5 koraka (sa slikama)

Video: GPS nadgledanje sa projektom OLED ekrana: 5 koraka (sa slikama)
Video: TICWATCH PRO 5 Review: The BEST Wear OS Watch Yet?! // A Complete Guide 2024, Novembar
Anonim
GPS nadgledanje sa projektom OLED ekrana
GPS nadgledanje sa projektom OLED ekrana
GPS nadgledanje sa projektom OLED ekrana
GPS nadgledanje sa projektom OLED ekrana
GPS nadgledanje sa projektom OLED ekrana
GPS nadgledanje sa projektom OLED ekrana
GPS nadgledanje sa projektom OLED ekrana
GPS nadgledanje sa projektom OLED ekrana

Pozdrav svima, u ovom kratkom članku podijelit ću s vama svoj projekt: ATGM332D GPS modul sa SAMD21J18 mikrokontrolerom i SSD1306 OLED 128*64 zaslonom, sagradio sam posebnu PCB za njega na Eagle Autodesku i programirao ga koristeći Atmel studio 7.0 i ASF4 tako da u ovom članku podijelit ću s vama ovo putovanje i datoteke koje sam koristio ako vam je zanimljivo to učiniti sami.

Ako programirate svoj MCU/razvojnu ploču koristeći Arduino, ovaj bi vam projekt trebao biti relativno lak, ali ovdje ću koristiti ASF4 (napredni softverski okvir 4) iz Atmel/Microchip -a koji je baziran na C jeziku i dao bih vam ideju za čitanje GPS NMEA poruke pomoću USART asinkronog upravljačkog programa (povratni poziv) i pružanje jednostavne biblioteke koju možete koristiti sa bilo kojim mikrokontrolerom i drugom platformom jednostavnim dodavanjem odgovarajućeg upravljačkog programa koji koristite za primanje poruke od GPS (poruka NMEA).

Ovaj članak ću podijeliti na:

  1. PCB Design.
  2. BOM trebate sastaviti PCB
  3. Brzi pregled softvera i samog koda te test hardvera i softvera.
  4. na kraju, ali ne i najmanje važno, poboljšanje ovog projekta.

Sav materijal vezan za ovaj projekt pronaći ćete naGithub -u (ovdje)

Korak 1: Dizajn PCB -a pomoću Eagle -a

Dizajn PCB -a pomoću Eagle -a
Dizajn PCB -a pomoću Eagle -a
Dizajn PCB -a pomoću Eagle -a
Dizajn PCB -a pomoću Eagle -a
Dizajn PCB -a pomoću Eagle -a
Dizajn PCB -a pomoću Eagle -a
Dizajn PCB -a pomoću Eagle -a
Dizajn PCB -a pomoću Eagle -a

Ovaj projekt se uglavnom temelji na ATGM332D GPS modulu, jednostavnom GPS -u za upotrebu jer za rad treba samo nekoliko pasivnih komponenti, a mogli bismo dodati i rezervnu bateriju za uštedu vremena/datuma ako isključimo glavni izvor napajanja iz modula.

i za kontrolu svih signala u krugu otišao sam s mikrokontrolerom ATSAMD21J18B, paketom TQFP64, budući da ima 128 KB programske memorije i 32 KB memorije podataka (a imam ih dosta po radnom stolu).

krug će se napajati iz USB 5V izvora, a USB može djelovati i kao virtualni COM port (CDC USB) i za njega možete dodati kôd ako želite komunicirati s uređajem putem USB -a.

za ekran sam odabrao SSD1306 OLED ekran od 0,96 'sa SPI sabirnicom, mali je, ali odgovara za željenu veličinu PCB -a, dimenziju ploče 100x31 mm.

programiranje mikrokontrolera će se vršiti putem SWD programatora (ja koristim Atmel ICE) i povezat će ga putem 1,27 mm 10p pin zaglavlja.

Takođe sam koristio Fusion360 da dobijem 3D prikaz ploče i možete videti i neku renderovanu sliku za nju.

Korak 2: Lemljenje PCB -a

Lemljenje PCB -a
Lemljenje PCB -a
Lemljenje PCB -a
Lemljenje PCB -a
Lemljenje PCB -a
Lemljenje PCB -a

Imate izbor da naručite matricu sa PCB -a, lakše je nanijeti pastu za lemljenje na ploču pomoću matrice, ja sam koristio vruću ploču za lemljenje komponenti zajedno, korištenje vrućeg zraka je također u redu, ali budite oprezni pri lemljenju LED -a jer tako su osjetljivi na toplinu.

lemljenje donje strane je malo lakše jer ima samo SWD zaglavlje i pomoćnu bateriju, koje možete lemiti pomoću lemilice.

prije nego što spojite krug na bilo koji USB izvor napajanja, provjerite ima li kratkog spoja.

povežite svoju GPS antenu i provjerite jeste li pravilno lemili njen konektor, fiksirao sam antenu na donju stranu ploče.

Korak 3: Softver … Funkcionalnost … rezultati

Image
Image
Softver … Funkcionalnost … rezultati
Softver … Funkcionalnost … rezultati
Softver … Funkcionalnost … rezultati
Softver … Funkcionalnost … rezultati

Softver će biti podijeljen u 4 dijela:

  1. USART za komunikaciju s ATGM332 GPS modulom.
  2. SPI za komunikaciju sa OLED -om.
  3. USB CDC.
  4. GPIO za upravljanje LED diodama

prvo spojite USB konektor na napajanje kruga, a zatim spojite vrpčani kabel sa SWD konektorom.

Preuzmite kôd sa github -a (veza ovdje).

da biste dobili Geo-lokaciju imate 3 različite opcije poruka NMEA:

  1. GPGGA
  2. GPRMC
  3. GPGLL

Koristio sam GPRMC rečenicu da dobijem lokaciju, vrijeme i datum (vrijeme je 0,0 GMT) pa ćete u kodu pronaći:

GPRMC. Enable = 1;/*0 ako nema potrebe za ovom porukom*/

GPGGA. Enable = 0;/*0 ako nema potrebe za ovom porukom*/

GPGLL. Enable = 0;/*0 ako nema potrebe za ovom porukom*/

možete ih omogućiti sve zajedno i čitati ih istovremeno kako biste dobili potrebne podatke.

nakon što postoji valjana GPRMC rečenica, GPRMC. Ready će postati 1 i možete dobiti sve podatke dostupne u ovoj rečenici, provjerite ovu vezu da vidite podatke dostupne u ovoj rečenici.

jednostavno ako je Fix 'A' to znači da je Lokacija dostupna, ako je Fix 'V' to znači da lokacija nije dostupna.

primjetite da ATSAMD21 ima interni RTC, ali ovdje ga ne koristim i umjesto toga koristim vrijeme i datum izravno s GPS -a, pa ako ne želite koristiti rezervnu bateriju CR1220, nakon što isključite USB izvor napajanja, ako izgubite vrijeme/datum i prilikom sljedećeg uključivanja strujnog kruga područje vremena/datuma na ekranu bit će prazno sve dok GPS ne dobije važeću vrijednost vremena/datuma.

zaslon će vam pokazati trenutni status GPS-a i prikazat će geo-lokaciju kada bude dostupna, međutim na ploči postoje 3 LED diode:

  1. Zelena LED dioda spojena je na PA06 i treptat će ako postoji valjana vrijednost Geo-lokacije.
  2. Narančasta LED spojena na PA07 i treperit će jednom u sekundi ako nema valjane Geo-lokacije.
  3. Crvena LED dioda povezana je s PPS pinom GPS modula i treptat će samo ako postoji važeći signal u vezi s lokacijom.

Rezultati

Krug je sa mnom radio jako dobro, za dobivanje Geo-lokacije iz GPS-a trebalo je 20-30 sekundi na otvorenom sa jasnim vidom prema nebu i između zgrada bez ikakvih problema, čak i sa antenom na donjoj strani ploče.

Korak 4: 3D štampana futrola… otprilike

3D štampana futrola… nekako
3D štampana futrola… nekako

Pripremio sam jednostavnu kutiju (precizniji držač) za ovo kolo, ali zbog epidemije COVID-19 i blokade u kojoj se trenutno nalazim, nisam mogao doći do svog 3D štampača da je odštampam, pa ću ažurirati ovaj odjeljak sa stl datoteku i fotografije za vlasnika kada budu dostupni.

Korak 5: Stvari koje treba poboljšati …

Stvari koje treba poboljšati…
Stvari koje treba poboljšati…
Stvari koje treba poboljšati…
Stvari koje treba poboljšati…
Stvari koje treba poboljšati…
Stvari koje treba poboljšati…
  1. Pomicanje SWD konektora na gornju stranu jer ga je lakše povezati s programatorom.
  2. Napajanje strujnog kruga iz litijske baterije, učinio sam to lemljenjem kratkospojnika i radio je dobro, imajući na umu da linearni (LDO) regulator ima pad napona V ako (Vbat - Vout) manje od granice Vdrop krug možda neće raditi pravilno.
  3. čineći korisničko dugme malo većim pa će ga biti lakše pritisnuti.
  4. dodavanjem USB CDC koda kako biste mogli komunicirati/osmisliti poseban program za MAC/PC/linux.
  5. Za GPS antenu, za ovaj projekt sam koristio Aktivnu antenu, upotreba pasivne antene je moguća, dodavanjem op-pojačala s niskim šumom, poput AT2659 (provjerite i shemu na podatkovnom listu ATGM332, str. 14).
  6. za OLED 0.96 'SSD1306, službenu biblioteku iz mikročipa izvorno za prikaz 128*32, da biste promijenili kôd za rad sa 128*64 morate otići na ssd1306.c i izmijeniti kôd (provjerite sliku).

Preporučuje se: