Përmbajtje:

Monitorimi GPS me projektin OLED Display: 5 hapa (me fotografi)
Monitorimi GPS me projektin OLED Display: 5 hapa (me fotografi)

Video: Monitorimi GPS me projektin OLED Display: 5 hapa (me fotografi)

Video: Monitorimi GPS me projektin OLED Display: 5 hapa (me fotografi)
Video: Architecture Kata #1 - Разбор с экспертом [Как работает настоящий Solution Architect] #ityoutubersru 2024, Korrik
Anonim
Monitorimi GPS Me Projektin e Ekranit OLED
Monitorimi GPS Me Projektin e Ekranit OLED
Monitorimi GPS Me Projektin e Ekranit OLED
Monitorimi GPS Me Projektin e Ekranit OLED
Monitorimi GPS Me Projektin e Ekranit OLED
Monitorimi GPS Me Projektin e Ekranit OLED
Monitorimi GPS Me Projektin e Ekranit OLED
Monitorimi GPS Me Projektin e Ekranit OLED

Përshëndetje të gjithëve, në këtë artikull të shpejtë do të ndaj me ju projektin tim: Moduli GPS ATGM332D me Mikrokontrollues SAMD21J18 dhe ekran SSD1306 OLED 128*64, kam ndërtuar një PCB të veçantë për të në Eagle Autodesk dhe e programoj duke përdorur Atmel studio 7.0 dhe ASF4 kështu në këtë artikull do të ndaj me ju këtë udhëtim dhe skedarët që kam përdorur nëse jeni interesant ta bëni vetë.

Tani nëse jeni duke programuar bordin tuaj MCU/zhvillimin duke përdorur Arduino, ky projekt duhet të jetë relativisht i lehtë për ju, por këtu unë do të përdor ASF4 (Kuadër i avancuar i softuerit 4) nga Atmel/Microchip i cili bazohet në gjuhën C dhe do t'ju japë një ide për mënyrën e leximit të mesazhit GPS NMEA duke përdorur USART Asynchronous driver (Callback) dhe t'ju ofrojë një bibliotekë të thjeshtë që mund ta përdorni me çdo mikrokontrollues dhe platformë të ndryshme, thjesht duke shtuar Shoferin e duhur që po përdorni për të marrë mesazhin nga GPS (mesazh NMEA).

Unë do ta ndaj këtë artikull në:

  1. Dizajni i PCB.
  2. BOM ju duhet të montoni PCB
  3. Shikoni shpejt softuerin dhe vetë kodin dhe një provë për harduerin dhe softuerin.
  4. së fundi, por jo më pak një pikë përmirësimi për këtë projekt.

Do të gjeni të gjithë materialin në lidhje me këtë projekt nëGithub (Këtu)

Hapi 1: Dizajni i PCB duke përdorur Eagle

Dizajni i PCB duke përdorur Eagle
Dizajni i PCB duke përdorur Eagle
Dizajni i PCB duke përdorur Eagle
Dizajni i PCB duke përdorur Eagle
Dizajni i PCB duke përdorur Eagle
Dizajni i PCB duke përdorur Eagle
Dizajni i PCB duke përdorur Eagle
Dizajni i PCB duke përdorur Eagle

Ky projekt bazohet kryesisht në ATGM332D GPS Modul, GPS i thjeshtë për t’u përdorur pasi i duhen vetëm disa përbërës pasivë për të punuar, dhe ne mund të shtojmë një bateri rezervë për të kursyer kohën/datën nëse fikim burimin kryesor të energjisë nga moduli.

dhe për të kontrolluar të gjithë sinjalet në qark shkova me mikrokontrolluesin ATSAMD21J18B, paketën TQFP64 pasi ka 128KByte memorie të programit dhe 32KBajt memorie të të dhënave (dhe kam shumë prej tyre të vendosura rreth tavolinës sime të punës).

qarku do të mundësohet nga burimi USB 5V, gjithashtu USB mund të veprojë si portë virtuale COM (CDC USB) dhe mund të shtoni një kod për të nëse doni të komunikoni me pajisjen përmes USB.

për ekranin zgjodha SSD1306 ekran 0.96 'OLED me autobus SPI, është i vogël por është i përshtatshëm për madhësinë e PCB -së që doja, dimensioni i bordit 100x31 mm.

programimi i Mikrokontrolluesit do të jetë përmes programuesit SWD (Unë përdor Atmel ICE) dhe do ta lidhë atë përmes kokës me pin 1.27 mm 10p.

gjithashtu kam përdorur Fusion360 për të marrë një pamje 3d për tabelën dhe ju mund të shihni disa imazhe të dhëna edhe për të.

Hapi 2: Saldimi i PCB

Saldimi i PCB
Saldimi i PCB
Saldimi i PCB
Saldimi i PCB
Saldimi i PCB
Saldimi i PCB

Ju keni zgjedhjen për të porositur një klishe me PCB tuaj, është më e lehtë të aplikoni pastën e saldimit në tabelë duke përdorur klishe, kam përdorur pjatën e nxehtë për të bashkuar përbërësit së bashku, përdorimi i ajrit të nxehtë është gjithashtu në rregull, por kini kujdes gjatë bashkimit të LED pasi ata janë aq të ndjeshëm ndaj nxehtësisë.

bashkimi i pjesës së poshtme është pak më i lehtë pasi ka vetëm kokën e pinit SWD dhe baterinë rezervë, të cilat mund t'i lidhni duke përdorur hekur bashkues.

para se të lidhni qarkun me ndonjë burim energjie USB, kontrolloni për ndonjë qark të shkurtër.

lidhni antenën tuaj GPS dhe sigurohuni që ta lidhni lidhësin siç duhet, e fiksova antenën në anën e poshtme të tabelës.

Hapi 3: Softueri… Funksionaliteti… rezultatet

Image
Image
Softueri… Funksionaliteti… rezultatet
Softueri… Funksionaliteti… rezultatet
Softueri… Funksionaliteti… rezultatet
Softueri… Funksionaliteti… rezultatet

Softueri do të ndahet në 4 pjesë:

  1. USART për të komunikuar me modulin GPS ATGM332.
  2. SPI për të komunikuar me OLED.
  3. CDC USB.
  4. GPIO për të kontrolluar LED -të

së pari lidhni lidhësin USB me energjinë në qark dhe më pas lidhni kabllon me shirit me lidhësin SWD.

Shkarkoni Kodin nga github (Lidhu këtu).

për të marrë Gjeo-Vendndodhjen keni 3 opsione të ndryshme të mesazheve NMEA:

  1. GPGGA
  2. GPRMC
  3. GPGLL

Kam përdorur fjalinë GPRMC për të marrë vendndodhjen, kohën dhe datën (koha është 0.0 GMT) kështu që në kodin do të gjeni:

GPRMC. Aktivizo = 1;/*0 nëse nuk ka nevojë për këtë mesazh*/

GPGGA. Aktivizo = 0;/*0 nëse nuk ka nevojë për këtë mesazh*/

GPGLL. Aktivizo = 0;/*0 nëse nuk ka nevojë për këtë mesazh*/

mund t'i aktivizoni të gjitha së bashku dhe t'i lexoni në të njëjtën kohë të merrni të dhënat që ju nevojiten.

pasi të ketë një fjali të vlefshme GPRMC, theGPRMC. Gati do të bëhet 1 dhe ju mund të merrni të gjitha të dhënat e disponueshme në këtë fjali, kontrolloni këtë lidhje për të parë të dhënat në dispozicion në këtë fjali.

thjesht nëse Fiks është 'A' kjo do të thotë që Vendndodhja është në dispozicion, nëse Rregullimi është 'V' kjo do të thotë që vendndodhja nuk është e disponueshme.

vini re se ATSAMD21 ka RTC të brendshme, por këtu nuk e përdor dhe në vend të kësaj unë përdor kohën dhe datën direkt nga GPS, kështu që nëse nuk doni të përdorni baterinë rezervë CR1220, sapo të shkëputni burimin e energjisë USB humbas Koha/Data dhe për herën tjetër kur ndizni qarkun zona e kohës/datës në ekran do të jetë bosh derisa GPS të ketë një vlerë të vlefshme të kohës/datës.

ekrani do t'ju tregojë statusin aktual të GPS dhe do të tregojë Gjeo-vendndodhjen pasi të jetë në dispozicion, megjithatë ka 3 LED në bord:

  1. LED i gjelbër i lidhur me PA06 dhe do të pulsojë nëse ka një vlerë të vlefshme të Gjeo-vendndodhjes.
  2. LED portokalli i lidhur me PA07 dhe do të pulsojë një herë në sekondë nëse nuk ka gjeo-vendndodhje të vlefshme.
  3. LED i kuq ky është i lidhur me kunjin PPS të Modulit GPS dhe do të pulsojë vetëm kur ka një sinjal të vlefshëm që lidhet me Vendndodhjen.

Rezultatet

Qarku funksionoi shumë mirë me mua, për të marrë Gjeo-vendndodhjen nga GPS u deshën 20-30 sekonda në natyrë me pamje të qartë në qiell dhe midis ndërtesave pa asnjë problem edhe me antenën në anën e poshtme të tabelës.

Hapi 4: Rasti i Shtypur 3D… Renditur nga

Rast i Shtypur 3D… Rendi i
Rast i Shtypur 3D… Rendi i

Kam përgatitur një rast të thjeshtë (mbajtës më të saktë) për këtë qark, por për shkak të epidemisë COVID-19 dhe bllokimit në të cilin jam tani, nuk arrita të arrij në printerin tim 3D për ta printuar, kështu që do ta azhurnoj këtë pjesë me stl një skedar dhe një fotografi për mbajtësin pasi të jetë në dispozicion.

Hapi 5: Gjërat për tu përmirësuar…

Gjërat për tu përmirësuar…
Gjërat për tu përmirësuar…
Gjërat për tu përmirësuar…
Gjërat për tu përmirësuar…
Gjërat për tu përmirësuar…
Gjërat për tu përmirësuar…
  1. Zhvendosni lidhësin SWD në anën e sipërme pasi është më e lehtë ta lidhni atë me programuesin tuaj.
  2. Duke fuqizuar qarkun nga bateria Litium, e bëra duke bashkuar një bluzë dhe funksionoi mirë, duke pasur parasysh se rregullatori Linear (LDO) ka tension të rënies V nëse kufiri (Vbat - Vout) më pak se Vdrop qarku mund të mos funksionojë siç duhet.
  3. duke e bërë një buton përdoruesi pak më të madh, kështu që do të jetë më e lehtë të shtypni.
  4. shtimi i kodit USB CDC në mënyrë që të komunikoni/hartoni një program të veçantë për MAC/PC/linux.
  5. Për antenën GPS, kam përdorur antenë aktive për këtë projekt, duke përdorur një antenë pasive është e mundur, duke shtuar op-Amp me zhurmë të ulët si AT2659 (kontrolloni edhe skemën në fletën e të dhënave ATGM332 P.14).
  6. për OLED 0.96 'SSD1306, biblioteka zyrtare nga mikroçipi fillimisht për ekranin 128*32, për të modifikuar kodin për të punuar me 128*64 duhet të shkoni te ssd1306.c dhe të modifikoni kodin (kontrolloni imazhin).

Recommended: