Sadržaj:

GPS nadgledanje s projektom OLED zaslona: 5 koraka (sa slikama)
GPS nadgledanje s projektom OLED zaslona: 5 koraka (sa slikama)

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

Video: GPS nadgledanje s projektom OLED zaslona: 5 koraka (sa slikama)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Srpanj
Anonim
GPS nadzor s OLED zaslonskim projektom
GPS nadzor s OLED zaslonskim projektom
GPS nadzor s OLED zaslonskim projektom
GPS nadzor s OLED zaslonskim projektom
GPS nadzor s OLED zaslonskim projektom
GPS nadzor s OLED zaslonskim projektom
GPS nadzor s OLED zaslonskim projektom
GPS nadzor s OLED zaslonskim projektom

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 pomoću Atmel studija 7.0 i ASF4 tako da u ovom ću članku podijeliti 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 Atmela/Microchipa koji se temelji na jeziku C 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 ću članak podijeliti na:

  1. Dizajn PCB -a.
  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

PCB dizajn pomoću Eagle -a
PCB dizajn pomoću Eagle -a
PCB dizajn pomoću Eagle -a
PCB dizajn pomoću Eagle -a
PCB dizajn pomoću Eagle -a
PCB dizajn pomoću Eagle -a
PCB dizajn pomoću Eagle -a
PCB dizajn pomoću Eagle -a

Ovaj se projekt 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, također 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 zaslon sam odabrao SSD1306 OLED ekran od 0,96 'sa SPI sabirnicom, mali je, ali je prikladan za željenu veličinu PCB -a, dimenziju ploče 100x31 mm.

programiranje mikrokontrolera bit će preko SWD programatora (koristim Atmel ICE) i povezat će ga putem 1,27 mm 10p pin zaglavlja.

Također sam koristio Fusion360 da dobijem 3D prikaz ploče i možete vidjeti i neku renderiranu 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 naručiti matricu s PCB -om, 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 dok lemite LED jer toliko su osjetljivi na toplinu.

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

prije nego što spojite krug s bilo kojim USB izvorom napajanja, provjerite ima li kratkog spoja.

spojite svoju GPS antenu i provjerite jeste li pravilno lemili njen konektor, popravio sam antenu na donjoj strani 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 s 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 s github -a (veza ovdje).

za dobivanje Geo-lokacije imate 3 različite opcije poruka NMEA:

  1. GPGGA
  2. GPRMC
  3. GPGLL

Koristio sam GPRMC rečenicu za dobivanje lokacije, vremena i datuma (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.

primijetite da ATSAMD21 ima unutarnji 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, izgubite vrijeme/datum i za sljedeći put kada uključite krug, područje vremena/datuma na zaslonu bit će prazno sve dok GPS ne dobije važeću vrijednost vremena/datuma.

zaslon će vam pokazati trenutačni status GPS-a i prikazat će geografsku lokaciju kad bude dostupna, međutim na ploči postoje 3 LED diode:

  1. Zelena LED dioda spojena je na PA06 i treperit ć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 spojena na PPS pin GPS modula i treperit će samo ako postoji važeći signal vezan uz lokaciju.

Rezultati

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

Korak 4: 3D tiskana futrola … nekako

3D tiskana futrola … Nekako
3D tiskana futrola … Nekako

Pripremio sam jednostavan kovčeg (precizniji držač) za ovaj krug, ali zbog epidemije COVID-19 i blokade u kojoj se trenutno nalazim, nisam mogao doći do svog 3D pisača da ga isprintam, pa ću ovaj odjeljak ažurirati sa stl datoteku i fotografije za vlasnika kad bude dostupna.

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 spojiti 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) manji od granice Vdrop krug možda neće raditi pravilno.
  3. čineći gumb korisnika 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 sam projekt 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 P.14).
  6. za OLED 0.96 'SSD1306, službenu knjižnicu 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čeni: