Obsah:

Monitorovanie GPS s projektom OLED Display: 5 krokov (s obrázkami)
Monitorovanie GPS s projektom OLED Display: 5 krokov (s obrázkami)

Video: Monitorovanie GPS s projektom OLED Display: 5 krokov (s obrázkami)

Video: Monitorovanie GPS s projektom OLED Display: 5 krokov (s obrázkami)
Video: Возможна ли свободная энергия? Мы тестируем этот двигатель бесконечной энергии. 2024, Júl
Anonim
Monitorovanie GPS s projektom OLED Display
Monitorovanie GPS s projektom OLED Display
Monitorovanie GPS s projektom OLED Display
Monitorovanie GPS s projektom OLED Display
Monitorovanie GPS s projektom OLED Display
Monitorovanie GPS s projektom OLED Display
Monitorovanie GPS s projektom OLED Display
Monitorovanie GPS s projektom OLED Display

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:

  1. Dizajn DPS.
  2. Kusovník, ktorý potrebujete na zostavenie DPS
  3. Rýchly pohľad na softvér a samotný kód a test hardvéru a softvéru.
  4. 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

Návrh DPS pomocou Eagle
Návrh DPS pomocou Eagle
Návrh DPS pomocou Eagle
Návrh DPS pomocou Eagle
Návrh DPS pomocou Eagle
Návrh DPS pomocou Eagle
Návrh DPS pomocou Eagle
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

Spájkovanie DPS
Spájkovanie DPS
Spájkovanie DPS
Spájkovanie DPS
Spájkovanie DPS
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

Image
Image
Softvér … Funkčnosť … výsledky
Softvér … Funkčnosť … výsledky
Softvér … Funkčnosť … výsledky
Softvér … Funkčnosť … výsledky

Softvér bude rozdelený na 4 časti:

  1. USART komunikovať s GPS modulom ATGM332.
  2. SPI na komunikáciu s OLED.
  3. USB CDC.
  4. 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:

  1. GPGGA
  2. GPRMC
  3. 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:

  1. Zelená dióda LED pripojená k PA06 a bude blikať, ak je k dispozícii platná hodnota geografickej polohy.
  2. Oranžová dióda LED je pripojená k PA07 a bude blikať raz za sekundu, ak neexistuje platné geografické umiestnenie.
  3. Č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

3D tlačené puzdro … Typ
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ť…

Veci na zlepšenie…
Veci na zlepšenie…
Veci na zlepšenie…
Veci na zlepšenie…
Veci na zlepšenie…
Veci na zlepšenie…
  1. Presunutie konektora SWD na hornú stranu, pretože je jednoduchšie ho pripojiť k programátoru.
  2. 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.
  3. tlačidlo používateľa bude o niečo väčšie, takže bude jednoduchšie ho stlačiť.
  4. pridanie kódu USB CDC, aby ste mohli komunikovať/navrhnúť špeciálny program pre MAC/PC/linux.
  5. 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).
  6. 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: