Obsah:
- Krok 1: Návrh DPS pomocou Eagle
- Krok 2: Spájkovanie DPS
- Krok 3: Softvér … Funkčnosť … výsledky
- Krok 4: 3D tlačené puzdro … Typ
- Krok 5: Čo treba zlepšiť…
Video: Monitorovanie GPS s projektom OLED Display: 5 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:56
Zdravím všetkých, v tomto krátkom článku sa s vami podelím o svoj projekt: GPS modul ATGM332D s mikrokontrolérom SAMD21J18 a displejom SSD1306 OLED 128*64, na Eagle Autodesk som preň postavil špeciálnu DPS a naprogramoval ho pomocou Atmel studio 7.0 a ASF4, aby v tomto článku sa s vami podelím o túto cestu a súbory, ktoré som použil, ak máte záujem urobiť to sami.
Ak teraz programujete svoju MCU/vývojovú dosku pomocou Arduina, tento projekt by mal byť pre vás relatívne ľahký, ale tu použijem ASF4 (Advanced software framwork 4) od spoločnosti Atmel/Microchip, ktorý je založený na jazyku C a poskytne vám predstavu. o tom, ako čítať správu GPS NMEA pomocou asynchrónneho ovládača USART (spätné volanie), a poskytnúť vám jednoduchú knižnicu, ktorú môžete používať s akýmkoľvek mikroovládačom a rôznymi platformami, jednoduchým pridaním príslušného ovládača, ktorý používate na prijatie správy z GPS (správa NMEA).
Tento článok rozdelím na:
- Dizajn DPS.
- Kusovník, ktorý potrebujete na zostavenie DPS
- Rýchly pohľad na softvér a samotný kód a test hardvéru a softvéru.
- v neposlednom rade určitý bod zlepšenia tohto projektu.
Všetok materiál súvisiaci s týmto projektom nájdete na Github (tu)
Krok 1: Návrh DPS pomocou Eagle
Tento projekt bol založený hlavne na GPS module ATGM332D, jednoduchom GPS, pretože na svoju prevádzku potrebuje iba niekoľko pasívnych komponentov a v prípade, že z modulu vypneme hlavný zdroj energie, môžeme pridať záložnú batériu, ktorá ušetrí čas/dátum.
a na ovládanie všetkých signálov v obvode som išiel s mikrokontrolérom ATSAMD21J18B, balíkom TQFP64, pretože má 128 kBB pamäte programovej pamäte a 32 kByte pamäte dát (a mám ich veľa položených okolo pracovného stola).
obvod musí byť napájaný zdrojom USB 5V, USB môže fungovať aj ako virtuálny port COM (CDC USB) a môžete doň pridať kód, ak chcete so zariadením komunikovať cez USB.
pre displej som vybral 0,96 'OLED displej SSD1306 so zbernicou SPI, je malý, ale je vhodný pre požadovanú veľkosť dosky plošných spojov s rozmerom dosky 100 x 31 mm.
Programovanie mikrokontroléra bude prebiehať pomocou programátora SWD (používam Atmel ICE) a prepojíte ho pomocou 1,27 mm 10p kolíkového konektora.
Tiež som použil Fusion360 na získanie 3D pohľadu na dosku a môžete k nemu tiež vidieť nejaký vykreslený obrázok.
Krok 2: Spájkovanie DPS
Máte na výber objednať si šablónu k doske plošných spojov, je jednoduchšie použiť spájkovaciu pastu na dosku pomocou šablóny, na spájkovanie komponentov som použil horúcu dosku, použitie horúceho vzduchu je tiež v poriadku, ale pri spájkovaní diódy LED buďte opatrní, pretože sú tak citlivé na teplo.
spájkovanie spodnej strany je o niečo jednoduchšie, pretože má iba kolíkový konektor SWD a záložnú batériu, ktorú môžete spájkovať pomocou spájkovačky.
Pred pripojením obvodu k akémukoľvek zdroju napájania USB skontrolujte, či nedošlo k skratu.
pripojte svoju anténu GPS a uistite sa, že ste správne spájkovali jej konektor, anténu som pripevnil na spodnú stranu dosky.
Krok 3: Softvér … Funkčnosť … výsledky
Softvér bude rozdelený na 4 časti:
- USART komunikovať s GPS modulom ATGM332.
- SPI na komunikáciu s OLED.
- USB CDC.
- GPIO na ovládanie LED diód
najskôr zapojte konektor USB do napájania obvodu a potom prepojte plochý kábel s konektorom SWD.
Stiahnite si kód z github (odkaz tu).
Na získanie geografickej polohy máte k dispozícii 3 rôzne možnosti správ NMEA:
- GPGGA
- GPRMC
- GPGLL
Na získanie polohy, času a dátumu (čas je 0,0 GMT) som použil vetu GPRMC, takže v kóde nájdete:
GPRMC. Enable = 1;/*0, ak táto správa nie je potrebná*/
GPGGA. Enable = 0;/*0, ak táto správa nie je potrebná*/
GPGLL. Enable = 0;/*0, ak táto správa nie je potrebná*/
môžete ich všetky povoliť spoločne a čítať ich súčasne a získať tak potrebné údaje.
akonáhle existuje platná veta GPRMC, GPRMC. Ready sa stane 1 a môžete získať všetky údaje dostupné v tejto vete. Kliknutím na tento odkaz zobrazíte údaje dostupné v tejto vete.
jednoducho, ak je oprava „A“, znamená to, že je k dispozícii poloha, ak je oprava „V“, znamená to, že miesto nie je k dispozícii.
všimnite si, že ATSAMD21 má interný RTC, ale tu ho nepoužívam a namiesto toho používam čas a dátum priamo z GPS, takže ak nechcete používať záložnú batériu CR1220, po odpojení zdroja napájania USB budete stratíte čas/dátum a pri nasledujúcom zapnutí obvodu bude oblasť času/dátumu na displeji prázdna, kým GPS nebude mať platnú hodnotu času/dátumu.
displej vám ukáže aktuálny stav GPS a zobrazí geografickú polohu, akonáhle bude k dispozícii, na doske sú však tri LED diódy:
- Zelená dióda LED pripojená k PA06 a bude blikať, ak je k dispozícii platná hodnota geografickej polohy.
- Oranžová dióda LED je pripojená k PA07 a bude blikať raz za sekundu, ak neexistuje platné geografické umiestnenie.
- Červená LED dióda je pripojená k kolíku PPS modulu GPS a bude blikať iba vtedy, ak je k polohe platný signál.
Výsledky
Okruh so mnou fungoval veľmi dobre, získanie geografickej polohy z GPS trvalo 20-30 sekúnd vonku s jasným dohľadom k oblohe a medzi budovami bez problémov aj s anténou na spodnej strane dosky.
Krok 4: 3D tlačené puzdro … Typ
Pripravil som jednoduchý prípad (presnejší držiak) pre tento okruh, ale kvôli epidémii COVID-19 a zablokovaniu, v ktorom sa práve nachádzam, som sa nemohol dostať k svojej 3D tlačiarni, aby som ho vytlačil, takže túto časť aktualizujem pomocou stl. súbor a fotografie pre držiteľa, akonáhle bude k dispozícii.
Krok 5: Čo treba zlepšiť…
- Presunutie konektora SWD na hornú stranu, pretože je jednoduchšie ho pripojiť k programátoru.
- Napájanie obvodu z lítiovej batérie som to urobil spájkovaním prepojky a fungovalo to dobre, bez ohľadu na to, že lineárny (LDO) regulátor má pokles napätia V, ak (Vbat - Vout) menší ako limit Vdrop obvod nemusí fungovať poriadne.
- tlačidlo používateľa bude o niečo väčšie, takže bude jednoduchšie ho stlačiť.
- pridanie kódu USB CDC, aby ste mohli komunikovať/navrhnúť špeciálny program pre MAC/PC/linux.
- Pre anténu GPS som pre tento projekt použil aktívnu anténu, pričom je možné použiť pasívnu anténu pridaním nízkošumového operačného zosilňovača ako AT2659 (pozrite si aj schému na technickom liste ATGM332, str.14).
- pre OLED 0,96 'SSD1306, oficiálnu knižnicu z mikročipu pôvodne pre zobrazenie 128*32, na úpravu kódu tak, aby fungoval so 128*64, musíte prejsť na ssd1306.c a upraviť kód (pozrite si obrázok).
Odporúča:
Zostavte zariadenie na monitorovanie energie pomocou časticového elektrónu: 5 krokov (s obrázkami)
Zostavte zariadenie na monitorovanie energie pomocou časticového elektrónu: Vo väčšine spoločností považujeme energiu za obchodné náklady. Účet sa zobrazí v našej pošte alebo e -mailoch a zaplatíme ho pred dátumom zrušenia. So vznikom IoT a inteligentných zariadení začína spoločnosť Energy zaujímať nové miesto v podnikateľskej „bala
Labky na umývanie - Mačka sa stretáva s projektom umývania rúk Covid: 5 krokov (s obrázkami)
Paws to Wash - Mačka sa stretáva s projektom umývania rúk Covid: Keďže sa všetci doma dištancujeme, Paws to Wash je DIY projekt, ktorý prevedie rodičov a deti procesom budovania roztomilého časovača spätnej väzby s mávajúcou mačkou, aby podporil zdravé návyky umývania rúk. V čase Covid-19 si umývanie rúk
Xpedit - Zariadenie na monitorovanie atmosféry pre pešiu turistiku a trekking: 12 krokov (s obrázkami)
Xpedit - Zariadenie na monitorovanie atmosféry pre pešiu turistiku a trekking: Keď sa chystáte na dobrodružnú cestu alebo trek do voľnej prírody, je nevyhnutné mať v batohu zariadenie, ktoré vám pomôže porozumieť prostrediu. Na svoju nadchádzajúcu dobrodružnú cestu som plánoval postaviť vreckové zariadenie, ktoré pomôže
Monitorovanie terária jaštera pomocou WiFi ovládača Adosia IoT + detekcia pohybu: 17 krokov (s obrázkami)
Monitorovanie terária jašterice pomocou Adosia IoT WiFi ovládača + detekcia pohybu: V tomto návode vám ukážeme, ako postaviť jednoduché terárium jašterice pre niekoľko skink vajec, ktoré sme omylom našli a narušili pri záhradníctve vonku. Chceme, aby sa vajíčka bezpečne liahli, všetko, čo urobíme, je vytvoriť bezpečný priestor pomocou plastového
Monitorovanie teploty a vlhkosti pomocou Raspberry Pi: 6 krokov (s obrázkami)
Monitorovanie teploty a vlhkosti pomocou Raspberry Pi: Blíži sa leto a tí, ktorí nemajú klimatizáciu, by mali byť pripravení na manuálne ovládanie atmosféry v interiéri. V tomto príspevku popisujem moderný spôsob merania najdôležitejších parametrov pohodlia človeka: teploty a vlhkosti. T