Satura rādītājs:

GPS uzraudzība ar OLED displeja projektu: 5 soļi (ar attēliem)
GPS uzraudzība ar OLED displeja projektu: 5 soļi (ar attēliem)

Video: GPS uzraudzība ar OLED displeja projektu: 5 soļi (ar attēliem)

Video: GPS uzraudzība ar OLED displeja projektu: 5 soļi (ar attēliem)
Video: CS50 2015 - Week 10 2024, Jūlijs
Anonim
GPS uzraudzība ar OLED displeja projektu
GPS uzraudzība ar OLED displeja projektu
GPS uzraudzība ar OLED displeja projektu
GPS uzraudzība ar OLED displeja projektu
GPS uzraudzība ar OLED displeja projektu
GPS uzraudzība ar OLED displeja projektu
GPS uzraudzība ar OLED displeja projektu
GPS uzraudzība ar OLED displeja projektu

Sveiki visiem, šajā ātrajā rakstā es dalīšos ar jums savā projektā: GPS modulis ATGM332D ar mikrokontrolleri SAMD21J18 un displeju SSD1306 OLED 128*64, es tam izveidoju īpašu PCB Eagle Autodesk un programmēju to, izmantojot Atmel studio 7.0 un ASF4. šajā rakstā es dalīšos ar jums šajā ceļojumā un failos, kurus izmantoju, ja jums ir interesanti to izdarīt pats.

Tagad, ja jūs programmējat savu MCU/izstrādes plati, izmantojot Arduino, šim projektam jums vajadzētu būt salīdzinoši vienkāršam, taču šeit es izmantošu ASF4 (uzlabotas programmatūras ietvars 4) no Atmel/Microchip, kura pamatā ir C valoda un kas jums sniegtu priekšstatu. kā izlasīt GPS NMEA ziņojumu, izmantojot USART asinhrono draiveri (atzvanīšana), un nodrošināt jums vienkāršu bibliotēku, kuru varat izmantot kopā ar jebkuru mikrokontrolleri un citu platformu, vienkārši pievienojot atbilstošo draiveri, ko izmantojat, lai saņemtu ziņojumu no GPS (NMEA ziņojums).

Es sadalīšu šo rakstu:

  1. PCB dizains.
  2. BOM jums jāsamontē PCB
  3. Ātri apskatiet programmatūru un pašu kodu, kā arī pārbaudiet aparatūru un programmatūru.
  4. visbeidzot, bet ne mazāk svarīgi daži uzlabojumi šajā projektā.

Visu ar šo projektu saistīto materiālu atradīsit vietnē Github (šeit)

1. solis: PCB dizains, izmantojot Eagle

PCB dizains, izmantojot Eagle
PCB dizains, izmantojot Eagle
PCB dizains, izmantojot Eagle
PCB dizains, izmantojot Eagle
PCB dizains, izmantojot Eagle
PCB dizains, izmantojot Eagle
PCB dizains, izmantojot Eagle
PCB dizains, izmantojot Eagle

Šis projekts galvenokārt balstījās uz ATGM332D GPS moduli, vienkāršu GPS izmantošanu, jo tā darbībai nepieciešami tikai pāris pasīvi komponenti, un mēs varētu pievienot rezerves akumulatoru, lai ietaupītu laiku/datumu, ja mēs izslēdzam galveno barošanas avotu no moduļa.

un, lai kontrolētu visus ķēdes signālus, es devos ar ATSAMD21J18B mikrokontrolleru, TQFP64 paketi, jo tajā ir 128 KB baitu programmas atmiņa un 32 KB baitu datu atmiņa (un man ir daudz to, kas atrodas ap manu darbagaldu).

ķēdi darbina no USB 5V avota, kā arī USB var darboties kā virtuāls COM ports (CDC USB), un jūs varat pievienot tam kodu, ja vēlaties sazināties ar ierīci, izmantojot USB.

displejam es izvēlējos SSD1306 0,96 'OLED displeju ar SPI kopni, tas ir mazs, bet tas ir piemērots manam PCB izmēram, kuru es gribēju, tāfeles izmērs 100x31 mm.

Mikrokontrollera programmēšana tiks veikta, izmantojot SWD programmētāju (es izmantoju Atmel ICE), un to savienos, izmantojot 1.27 mm 10p pin header.

arī es izmantoju Fusion360, lai iegūtu tāfeles 3D skatu, un arī tam var redzēt atveidotu attēlu.

2. solis: PCB lodēšana

PCB lodēšana
PCB lodēšana
PCB lodēšana
PCB lodēšana
PCB lodēšana
PCB lodēšana

Jums ir iespēja pasūtīt trafaretu ar savu PCB, ir vieglāk uzklāt lodēšanas pastas uz tāfeles, izmantojot trafaretu, es izmantoju sildvirsmu, lai kopā lodētu komponentus, arī karstā gaisa izmantošana ir OK, bet esiet uzmanīgi, lodējot gaismas diodi, jo tie ir tik jutīgi pret karstumu.

apakšējās puses lodēšana ir nedaudz vieglāka, jo tai ir tikai SWD tapas galvene un rezerves akumulators, ko varat lodēt, izmantojot lodāmuru.

pirms ķēdes pievienošanas jebkuram USB barošanas avotam, pārbaudiet, vai nav īssavienojuma.

pievienojiet savu GPS antenu un pārliecinieties, ka esat pareizi pielodējis savienotāju, es fiksēju antenu tāfeles apakšējā pusē.

3. darbība. Programmatūra… Funkcionalitāte… rezultāti

Image
Image
Programmatūra… Funkcionalitāte… rezultāti
Programmatūra… Funkcionalitāte… rezultāti
Programmatūra… Funkcionalitāte… rezultāti
Programmatūra… Funkcionalitāte… rezultāti

Programmatūra tiks sadalīta 4 daļās:

  1. USART, lai sazinātos ar ATGM332 GPS moduli.
  2. SPI, lai sazinātos ar OLED.
  3. USB CDC.
  4. GPIO, lai kontrolētu gaismas diodes

vispirms pievienojiet USB savienotāju strāvas padevei un pēc tam pievienojiet lentes kabeli ar SWD savienotāju.

Lejupielādējiet kodu no github (saite šeit).

lai iegūtu ģeogrāfisko atrašanās vietu, jums ir 3 dažādas NMEA ziņojumu iespējas:

  1. GPGGA
  2. GPRMC
  3. GPGLL

Es izmantoju GPRMC teikumu, lai iegūtu atrašanās vietu, laiku un datumu (laiks ir 0,0 GMT), tāpēc kodā jūs atradīsit:

GPRMC. Enable = 1;/*0, ja šis ziņojums nav nepieciešams*/

GPGGA. Enable = 0;/*0, ja šis ziņojums nav nepieciešams*/

GPGLL. Enable = 0;/*0, ja šis ziņojums nav nepieciešams*/

jūs varat tos visus iespējot un vienlaikus lasīt, lai iegūtu nepieciešamos datus.

kad būs derīgs GPRMC teikums, theGPRMC. Ready kļūs par 1 un jūs varat iegūt visus šajā teikumā pieejamos datus, pārbaudiet šo saiti, lai redzētu šajā teikumā pieejamos datus.

vienkārši, ja Fix ir “A”, tas nozīmē, ka atrašanās vieta ir pieejama, ja Fix ir “V”, tas nozīmē, ka atrašanās vieta nav pieejama.

ievērojiet, ka ATSAMD21 ir iekšējais RTC, bet šeit es to neizmantoju, un es izmantoju laiku un datumu tieši no GPS, tādēļ, ja nevēlaties izmantot rezerves akumulatoru CR1220, pēc USB strāvas avota atvienošanas zaudēt laiku/datumu un nākamreiz ieslēdzot ķēdi, laika/datuma apgabals displejā būs tukšs, līdz GPS būs derīga laika/datuma vērtība.

displejs parādīs GPS pašreizējo statusu un parādīs ģeogrāfisko atrašanās vietu, tiklīdz tā būs pieejama, tomēr uz tāfeles ir 3 gaismas diodes:

  1. Zaļā gaismas diode ir savienota ar PA06 un mirgos, ja ir derīga ģeogrāfiskās atrašanās vietas vērtība.
  2. Oranžā gaismas diode ir savienota ar PA07 un mirgos vienu reizi sekundē, ja nav derīgas ģeogrāfiskās atrašanās vietas.
  3. Sarkana gaismas diode ir savienota ar GPS moduļa PPS tapu un mirgos tikai tad, ja ar atrašanās vietu būs derīgs signāls.

Rezultāti

Ķēde ar mani strādāja ļoti labi, ģeogrāfiskās atrašanās vietas noteikšana no GPS aizņēma 20-30 sekundes brīvā dabā ar skaidru redzi uz debesīm un starp ēkām bez problēmām pat ar antenu dēļa apakšējā pusē.

4. solis: 3D drukāts korpuss … Kārtība

3D drukāts korpuss… Kāds
3D drukāts korpuss… Kāds

Šai shēmai es sagatavoju vienkāršu korpusu (precīzāku turētāju), bet COVID-19 epidēmijas un pašreizējās bloķēšanas dēļ es nevarēju sasniegt savu 3D printeri, lai to izdrukātu, tāpēc es atjaunināšu šo sadaļu ar stl failu un fotoattēlus turētājam, kad tas būs pieejams.

Solis: lietas, kas jāuzlabo…

Lietas, kas jāuzlabo…
Lietas, kas jāuzlabo…
Lietas, kas jāuzlabo…
Lietas, kas jāuzlabo…
Lietas, kas jāuzlabo…
Lietas, kas jāuzlabo…
  1. SWD savienotāja pārvietošana uz augšējo pusi, jo to ir vieglāk savienot ar programmētāju.
  2. Barojot ķēdi no litija akumulatora, es to darīju, lodējot džemperi, un tas strādāja labi, paturot prātā, ka lineārajam (LDO) regulatoram ir V kritiena spriegums, ja (Vbat - Vout), kas mazāks par Vdrop robežu, ķēde var nedarboties pareizi.
  3. padarot lietotāja pogu nedaudz lielāku, lai to būtu vieglāk nospiest.
  4. pievienojot USB CDC kodu, lai jūs varētu sazināties/izveidot īpašu programmu MAC/PC/Linux.
  5. Attiecībā uz GPS antenu šim projektam izmantoju aktīvo antenu, iespējams izmantot pasīvo antenu, pievienojot zema trokšņa līmeņa pastiprinātāju, piemēram, AT2659 (pārbaudiet arī shēmu ATGM332 datu lapā 14. lpp.).
  6. OLED 0.96 'SSD1306, oficiālā bibliotēka no mikroshēmas sākotnēji 128*32 displejam, lai modificētu kodu, lai tas darbotos ar 128*64, jums jādodas uz ssd1306.c un jāmaina kods (pārbaudiet attēlu).

Ieteicams: