Sisukord:

GPS -i jälgimine OLED -ekraaniprojektiga: 5 sammu (piltidega)
GPS -i jälgimine OLED -ekraaniprojektiga: 5 sammu (piltidega)

Video: GPS -i jälgimine OLED -ekraaniprojektiga: 5 sammu (piltidega)

Video: GPS -i jälgimine OLED -ekraaniprojektiga: 5 sammu (piltidega)
Video: Paigalda Autovalve GPS Seade 1 minutiga (Isepaigaldatav GPS seade) - CarCops 2024, Juuli
Anonim
GPS -i jälgimine OLED -ekraaniprojektiga
GPS -i jälgimine OLED -ekraaniprojektiga
GPS -i jälgimine OLED -ekraaniprojektiga
GPS -i jälgimine OLED -ekraaniprojektiga
GPS -i jälgimine OLED -ekraaniprojektiga
GPS -i jälgimine OLED -ekraaniprojektiga
GPS -i jälgimine OLED -ekraaniprojektiga
GPS -i jälgimine OLED -ekraaniprojektiga

Tere kõigile, selles kiiremas artiklis jagan teiega oma projekti: ATGM332D GPS -moodul koos mikrokontrolleriga SAMD21J18 ja SSD1306 OLED 128*64 ekraaniga, ehitasin selle jaoks Eagle Autodeskis spetsiaalse trükkplaadi ja programmeerisin selle Atmel studio 7.0 ja ASF4 abil. selles artiklis jagan teiega seda teekonda ja faile, mida ma kasutasin, kui teil on huvitav seda ise teha.

Nüüd, kui programmeerite oma MCU/arendusplaati Arduino abil, peaks see projekt teile suhteliselt lihtne olema, kuid siin kasutan Atmel/Microchipi ASF4 (täiustatud tarkvara raamistik 4), mis põhineb C -keelel ja annaks teile idee GPS NMEA sõnumi lugemiseks USART asünkroonse draiveri (tagasihelistamise) abil ja teile lihtsa raamatukogu, mida saate kasutada mis tahes mikrokontrolleri ja erineva platvormiga, lisades lihtsalt sobiva draiveri, mida kasutate sõnumi vastuvõtmiseks GPS (NMEA sõnum).

Jagan selle artikli järgmiselt:

  1. PCB disain.
  2. BOM peate PCB kokku panema
  3. Kiire pilk tarkvarale ja koodile ning riist- ja tarkvara test.
  4. viimane, kuid mitte vähem oluline osa sellest projektist.

Kogu selle projektiga seotud materjali leiate saidilt Github (siit)

Samm: trükkplaatide kujundamine Eagle'i abil

PCB disain Eagle'i abil
PCB disain Eagle'i abil
PCB disain Eagle'i abil
PCB disain Eagle'i abil
PCB disain Eagle'i abil
PCB disain Eagle'i abil
PCB disain Eagle'i abil
PCB disain Eagle'i abil

See projekt põhines peamiselt ATGM332D GPS -moodulil, lihtsal GPS -il, mida kasutada, kuna selle tööks on vaja ainult paar passiivset komponenti ning kui me ajamilt peamise toiteallika välja lülitame, võiksime lisada aja/kuupäeva säästmiseks aku.

ja kõigi vooluahelas olevate signaalide juhtimiseks läksin ATSAMD21J18B mikrokontrolleri, TQFP64 paketiga, kuna sellel on 128 MB baiti programmi mälu ja 32 KB baiti andmemälu (ja mul on neid palju töölaua ümber).

vooluahel saab toite USB 5V allikast, samuti võib USB toimida virtuaalse COM -pordina (CDC USB) ja kui soovite seadmega USB kaudu suhelda, saate sellele koodi lisada.

kuvari jaoks valisin SSD1306 0,96 -tollise SPI -siiniga OLED -ekraani, see on väike, kuid sobib minu soovitud trükkplaadi suurusele, plaadi mõõtmed 100x31 mm.

Mikrokontrolleri programmeerimine toimub SWD programmeerija kaudu (ma kasutan Atmel ICE -d) ja ühendab selle läbi 1,27 mm 10p pin -päise.

samuti kasutasin tahvli 3D -vaate saamiseks Fusion360 ja näete ka selle jaoks mingit renderdatud pilti.

Samm: trükkplaadi jootmine

PCB jootmine
PCB jootmine
PCB jootmine
PCB jootmine
PCB jootmine
PCB jootmine

Teil on võimalus tellida trafarett oma trükkplaadiga, jootepastat on lihtsam šablooni abil plaadile kanda, ma kasutasin komponentide kokkujootmiseks kuumutusplaati, kuuma õhu kasutamine on ka OK, kuid olge LED -i jootmisel ettevaatlik, sest nad on nii kuumuse suhtes tundlikud.

Alumise külje jootmine on natuke lihtsam, kuna sellel on ainult SWD tihvti päis ja varuaku, mida saate neid jootekolvi abil jootma hakata.

enne vooluahela ühendamist mis tahes USB -toiteallikaga kontrollige lühise olemasolu.

ühendage oma GPS -antenn ja veenduge, et jootate selle pistiku korralikult, fikseerisin antenni plaadi alumisel küljel.

3. samm: tarkvara … funktsionaalsus… tulemused

Image
Image
Tarkvara… Funktsionaalsus… tulemused
Tarkvara… Funktsionaalsus… tulemused
Tarkvara… Funktsionaalsus… tulemused
Tarkvara… Funktsionaalsus… tulemused

Tarkvara jagatakse 4 osaks:

  1. USART, et suhelda ATGM332 GPS -mooduliga.
  2. SPI OLED -iga suhtlemiseks.
  3. USB CDC.
  4. GPIO LED -ide juhtimiseks

esmalt ühendage USB -pistik vooluahela toiteallikaga ja seejärel ühendage lintkaabel SWD -pistikuga.

Laadige kood alla githubist (link siit).

Geoasukoha saamiseks on teil 3 erinevat NMEA sõnumi valikut:

  1. GPGGA
  2. GPRMC
  3. GPGLL

Kasutasin asukoha, kellaaja ja kuupäeva (aeg on 0,0 GMT) saamiseks GPRMC lauset, nii et koodist leiate:

GPRMC. Luba = 1;/*0, kui seda sõnumit pole vaja*/

GPGGA. Luba = 0;/*0, kui seda sõnumit pole vaja*/

GPGLL. Enable = 0;/*0 kui seda sõnumit pole vaja*/

saate need kõik koos lubada ja neid korraga lugeda, et saada vajalikke andmeid.

kui kehtiv GPRMC lause on olemas, saab GPRMC. Ready 1 ja saate kõik selles lauses saadaolevad andmed, vaadake seda linki, et näha selles lauses saadaolevaid andmeid.

Kui parandus on "A", tähendab see, et asukoht on saadaval, kui parandus on "V", tähendab see, et asukoht pole saadaval.

pange tähele, et ATSAMD21 -l on sisemine RTC, kuid siin ma seda ei kasuta ja selle asemel kasutan kellaaega ja kuupäeva otse GPS -ist, nii et kui te ei soovi CR1220 varupatarei kasutada, siis pärast USB -toiteallika lahtiühendamist kaotate kellaaja/kuupäeva ja järgmisel ahela sisselülitamisel on kellaaja/kuupäeva ala ekraanil tühi, kuni GPS -il on kehtiv kellaaja/kuupäeva väärtus.

ekraan näitab teile GPS-i praegust olekut ja näitab geograafilist asukohta, kui see on saadaval, kuid tahvlil on 3 LED-i:

  1. Roheline LED on ühendatud PA06-ga ja vilgub, kui geograafilise asukoha väärtus on kehtiv.
  2. Oranž valgusdiood on ühendatud PA07-ga ja vilgub üks kord sekundis, kui puudub kehtiv geograafiline asukoht.
  3. Punane LED see on ühendatud GPS -mooduli PPS -pistikuga ja vilgub ainult siis, kui asukohaga on kehtiv signaal.

Tulemused

Vooluring töötas minuga väga hästi, GPS-i geograafilise asukoha leidmiseks kulus õues 20-30 sekundit, selge vaatega taevasse ja hoonete vahel, ilma probleemideta isegi tahvli alumisel küljel asuva antenniga.

Samm 4: 3D trükitud ümbris… omamoodi

3D trükitud ümbris … Omamoodi
3D trükitud ümbris … Omamoodi

Valmistasin selle vooluringi jaoks ette lihtsa ümbrise (täpsema hoidiku), kuid COVID-19 epideemia ja praegu toimuva lukustuse tõttu ei saanud ma oma 3D-printerit selle printimiseks kätte, nii et värskendan seda jaotist stl-ga faili ja fotod omanikule, kui see on saadaval.

Samm: asjad, mida parandada …

Mida parandada
Mida parandada
Asju, mida parandada…
Asju, mida parandada…
Mida parandada
Mida parandada
  1. SWD -pistiku liigutamine ülemisele küljele, kuna seda on lihtsam programmeerijaga ühendada.
  2. Lülitades vooluringi liitiumakust, tegin seda hüppaja jootmisega ja see töötas hästi, pidades silmas, et lineaarsel (LDO) regulaatoril on V languspinge, kui (Vbat - Vout) väiksem kui Vdrop piir, võib ahel mitte töötada korralikult.
  3. muutes kasutaja nupu natuke suuremaks, nii et seda on lihtsam vajutada.
  4. USB CDC koodi lisamine, et saaksite suhelda/kujundada MAC/PC/Linuxi jaoks eriprogrammi.
  5. GPS-antenni jaoks kasutasin selle projekti jaoks aktiivantenni, passiivse antenni kasutamine on võimalik, lisades madala müratasemega võimendi nagu AT2659 (vaadake ka skemaatikat ATGM332 andmelehelt P.14).
  6. OLED 0,96 'SSD1306, ametlik raamatukogu mikrokiibilt algselt 128*32 kuva jaoks, koodi muutmiseks nii, et see töötaks 128*64 -ga, peate minema saidile ssd1306.c ja muutma koodi (kontrollige pilti).

Soovitan: