Kazalo:

GPS -nadzor s projektom OLED Display: 5 korakov (s slikami)
GPS -nadzor s projektom OLED Display: 5 korakov (s slikami)

Video: GPS -nadzor s projektom OLED Display: 5 korakov (s slikami)

Video: GPS -nadzor s projektom OLED Display: 5 korakov (s slikami)
Video: НЕ ВЗДУМАЙ снимать аккумулятор с машины. Делай это ПРАВИЛЬНО ! 2024, Julij
Anonim
GPS -nadzor s projektom OLED Display
GPS -nadzor s projektom OLED Display
GPS -nadzor s projektom OLED Display
GPS -nadzor s projektom OLED Display
GPS -nadzor s projektom OLED Display
GPS -nadzor s projektom OLED Display
GPS -spremljanje s projektom OLED Display
GPS -spremljanje s projektom OLED Display

Pozdravljeni vsi, v tem kratkem članku bom z vami delil svoj projekt: GPS -modul ATGM332D z mikrokrmilnikom SAMD21J18 in zaslonom OLED 128*64 SSD1306, zanj sem na Eagle Autodesku zgradil posebno tiskano vezje in ga programiral s pomočjo Atmel studio 7.0 in ASF4, tako da v tem članku bom z vami delil to pot in datoteke, ki sem jih uporabil, če ste zanimivi za to sami.

Zdaj, če programirate svoj MCU/razvojno ploščo z Arduinom, bi vam moral biti ta projekt razmeroma enostaven, tukaj pa bom uporabil ASF4 (napredna programska oprema 4) iz podjetja Atmel/Microchip, ki temelji na jeziku C in bi vam dal idejo za branje sporočila GPS NMEA z asinhronim gonilnikom USART (povratni klic) in vam ponudimo preprosto knjižnico, ki jo lahko uporabite s katerim koli mikrokrmilnikom in drugo platformo, tako da preprosto dodate ustrezen gonilnik, ki ga uporabljate za prejem sporočila iz GPS (sporočilo NMEA).

Ta članek bom razdelil na:

  1. Oblikovanje PCB.
  2. BOM morate sestaviti tiskano vezje
  3. Hiter pregled programske opreme in same kode ter preizkus strojne in programske opreme.
  4. nenazadnje še nekaj izboljšav pri tem projektu.

Vse gradivo, povezano s tem projektom, boste našli na spletnem mestu Github (tukaj)

Korak: Oblikovanje tiskanih vezij z uporabo Eagle

Oblikovanje PCB z uporabo Eagle
Oblikovanje PCB z uporabo Eagle
Oblikovanje PCB z uporabo Eagle
Oblikovanje PCB z uporabo Eagle
Oblikovanje PCB z uporabo Eagle
Oblikovanje PCB z uporabo Eagle
Oblikovanje PCB z uporabo Eagle
Oblikovanje PCB z uporabo Eagle

Ta projekt temelji predvsem na GPS -modulu ATGM332D, enostavnem za uporabo, saj za delo potrebuje le nekaj pasivnih komponent, za prihranek časa/datuma pa bi lahko dodali rezervno baterijo, če izklopite glavni vir napajanja iz modula.

in za nadzor vseh signalov v vezju sem šel z mikrokrmilnikom ATSAMD21J18B, paketom TQFP64, saj ima 128 KB programskega pomnilnika in 32 KB podatkovnega pomnilnika (in veliko jih imam okrog svoje delovne mize).

vezje napaja vir 5V USB, USB lahko deluje tudi kot navidezna vrata COM (CDC USB) in zanj lahko dodate kodo, če želite komunicirati z napravo prek USB -ja.

za zaslon sem izbral SSD1306 0,96 'OLED zaslon z vodilom SPI, je majhen, vendar je primeren za želeno velikost tiskanega vezja, dimenzijo plošče 100x31 mm.

programiranje mikrokontrolerja bo potekalo preko SWD programerja (uporabljam Atmel ICE) in ga bo povezal prek 1,27 mm 10p pin glave.

Prav tako sem uporabil Fusion360, da sem dobil 3D pogled na ploščo in lahko vidite tudi upodobljeno sliko zanjo.

2. korak: Spajkanje tiskanega vezja

Spajkanje tiskanega vezja
Spajkanje tiskanega vezja
Spajkanje tiskanega vezja
Spajkanje tiskanega vezja
Spajkanje tiskanega vezja
Spajkanje tiskanega vezja

Imate možnost, da naročite šablono s svojim tiskanim vezjem, spajkalno pasto je lažje nanesti na ploščo s šablono, za spajkanje komponent sem uporabil vročo ploščo, tudi vroč zrak je v redu, vendar bodite previdni pri spajkanju LED, saj so zelo občutljivi na toploto.

spajkanje spodnje strani je nekoliko lažje, saj ima samo glavo zatiča SWD in rezervno baterijo, ki ju lahko spajkate s spajkalnikom.

preden priključite vezje na kateri koli vir napajanja USB, preverite, ali je prišlo do kratkega stika.

priključite anteno GPS in se prepričajte, da ste pravilno spajkali njen priključek, anteno sem pritrdil na spodnjo stran plošče.

3. korak: programska oprema … funkcionalnost … rezultati

Image
Image
Programska oprema … Funkcionalnost … rezultati
Programska oprema … Funkcionalnost … rezultati
Programska oprema … Funkcionalnost … rezultati
Programska oprema … Funkcionalnost … rezultati

Programska oprema bo razdeljena na 4 dele:

  1. USART za komunikacijo z modulom GPS ATGM332.
  2. SPI za komunikacijo z OLED.
  3. USB CDC.
  4. GPIO za nadzor LED

najprej priključite konektor USB na napajanje vezja in nato priključite tračni kabel s priključkom SWD.

Prenesite kodo iz github -a (povezava tukaj).

za pridobitev geolokacije imate 3 različne možnosti sporočil NMEA:

  1. GPGGA
  2. GPRMC
  3. GPGLL

Za pridobitev lokacije, časa in datuma (čas je 0,0 GMT) sem uporabil stavek GPRMC, zato boste v kodi našli:

GPRMC. Enable = 1;/*0, če to sporočilo ni potrebno*/

GPGGA. Enable = 0;/*0, če to sporočilo ni potrebno*/

GPGLL. Enable = 0;/*0, če to sporočilo ni potrebno*/

lahko jih omogočite vse skupaj in jih hkrati preberete ter pridobite potrebne podatke.

ko bo veljaven stavek GPRMC, bo GPRMC. Ready postal 1 in lahko dobite vse podatke, ki so na voljo v tem stavku, preverite to povezavo, če si želite ogledati podatke, ki so na voljo v tem stavku.

preprosto, če je Fix "A", to pomeni, da je lokacija na voljo, če je Fix "V", to pomeni, da lokacija ni na voljo.

opazite, da ima ATSAMD21 notranji RTC, vendar ga tukaj ne uporabljam in namesto tega uporabljam čas in datum neposredno iz GPS -a, zato, če ne želite uporabljati rezervne baterije CR1220, boste po odklopu vira napajanja USB izgubite čas/datum in za naslednjič, ko vklopite vezje, bo območje časa/datuma na zaslonu prazno, dokler GPS nima veljavne vrednosti časa/datuma.

zaslon bo prikazal trenutno stanje GPS-ja in prikazal Geo-lokacijo, ko bo na voljo, vendar so na plošči 3 LED diode:

  1. Zelena LED je priključena na PA06 in utripa, če je veljavna vrednost geolokacije.
  2. Oranžna LED, priključena na PA07 in utripa enkrat na sekundo, če ni veljavne geolokacije.
  3. Rdeča LED, ta je priključena na pin PPS modula GPS in bo utripala le, če je za lokacijo veljaven signal.

Rezultati

Vezje je z mano zelo dobro delovalo, pridobivanje Geo-lokacije iz GPS-a je trajalo 20-30 sekund na prostem z jasnim pogledom v nebo in med stavbami brez težav, tudi z anteno na spodnji strani plošče.

4. korak: 3D natisnjena torbica … nekako

3D natisnjena torbica … nekako
3D natisnjena torbica … nekako

Za to vezje sem pripravil enostaven kovček (natančnejši nosilec), vendar zaradi epidemije COVID-19 in zapora, v katerem sem trenutno, nisem mogel doseči svojega 3D tiskalnika, da bi ga natisnil, zato bom ta razdelek posodobil s stl datoteko in fotografije za imetnika, ko bo na voljo.

5. korak: stvari, ki jih je treba izboljšati …

Stvari za izboljšanje…
Stvari za izboljšanje…
Stvari za izboljšanje…
Stvari za izboljšanje…
Stvari za izboljšanje…
Stvari za izboljšanje…
  1. Premikanje priključka SWD na zgornjo stran, saj ga je lažje povezati s programerjem.
  2. Napajal sem vezje iz litijeve baterije, to sem naredil s spajkanjem mostička in je deloval v redu, pri tem pa upoštevam, da ima linearni (LDO) regulator padno napetost V, če (Vbat - Vout) manj kot meja Vdrop vezje morda ne bo delovalo pravilno.
  3. naredi uporabniški gumb nekoliko večji, zato ga bo lažje pritisniti.
  4. dodajanje USB CDC kode za komunikacijo/oblikovanje posebnega programa za MAC/PC/linux.
  5. Za anteno GPS sem za ta projekt uporabil aktivno anteno, pri čemer je možno uporabiti pasivno anteno z dodajanjem op-amp z nizkim šumom, kot je AT2659 (preverite tudi shemo na podatkovnem listu ATGM332 P.14).
  6. za OLED 0,96 'SSD1306, uradno knjižnico iz mikročipa, prvotno za zaslon 128*32, če želite spremeniti kodo za delo s 128*64, pojdite na ssd1306.c in spremenite kodo (preverite sliko).

Priporočena: