Obsah:

Monitorování GPS s projektem OLED Display: 5 kroků (s obrázky)
Monitorování GPS s projektem OLED Display: 5 kroků (s obrázky)

Video: Monitorování GPS s projektem OLED Display: 5 kroků (s obrázky)

Video: Monitorování GPS s projektem OLED Display: 5 kroků (s obrázky)
Video: Fanoušci mi “vlezli” na pozemek! 😱 Děcka, tohle není v pořádku! 🥵 2024, Červenec
Anonim
Monitorování GPS s projektem OLED Display
Monitorování GPS s projektem OLED Display
Monitorování GPS s projektem OLED Display
Monitorování GPS s projektem OLED Display
Monitorování GPS s projektem OLED Display
Monitorování GPS s projektem OLED Display
Monitorování GPS s projektem OLED Display
Monitorování GPS s projektem OLED Display

Zdravím všechny, v tomto rychlém článku se s vámi podělím o svůj projekt: GPS modul ATGM332D s mikrokontrolérem SAMD21J18 a displejem SSD1306 OLED 128*64, vytvořil jsem pro něj speciální desku plošných spojů na Eagle Autodesk a programuji ji pomocí Atmel studio 7.0 a ASF4, takže v tomto článku se s vámi podělím o tuto cestu a soubory, které jsem použil, pokud vás zajímá, jak to udělat sami.

Pokud nyní programujete svou MCU/vývojovou desku pomocí Arduina, tento projekt by pro vás měl být relativně snadný, ale zde použiji ASF4 (Advanced software framwork 4) od Atmel/Microchip, který je založen na jazyce C a dá vám představu jak číst zprávu GPS NMEA pomocí asynchronního ovladače USART (zpětné volání) a poskytnout vám jednoduchou knihovnu, kterou můžete použít s jakýmkoli mikrořadičem a jinou platformou, jednoduše přidáním příslušného ovladače, který používáte pro příjem zprávy z GPS (zpráva NMEA).

Tento článek rozdělím na:

  1. Design DPS.
  2. Kusovník, který potřebujete k sestavení desky plošných spojů
  3. Rychlý pohled na software a samotný kód a test hardwaru a softwaru.
  4. v neposlední řadě nějaký bod zlepšení tohoto projektu.

Veškerý materiál související s tímto projektem najdete na Githubu (zde)

Krok 1: Návrh DPS pomocí Eagle

Návrh DPS pomocí Eagle
Návrh DPS pomocí Eagle
Návrh DPS pomocí Eagle
Návrh DPS pomocí Eagle
Návrh DPS pomocí Eagle
Návrh DPS pomocí Eagle
Návrh DPS pomocí Eagle
Návrh DPS pomocí Eagle

Tento projekt byl založen hlavně na GPS modulu ATGM332D, jednoduchém použití GPS, protože ke své práci potřebuje pouze několik pasivních komponent, a mohli bychom přidat záložní baterii, která ušetří čas/datum, pokud vypneme hlavní zdroj napájení z modulu.

a pro ovládání všech signálů v obvodu jsem šel s mikrokontrolérem ATSAMD21J18B, balíčkem TQFP64, protože má 128 kBB paměti programové paměti a 32 kByte datové paměti (a mám jich spoustu na pracovním stole).

obvod bude napájen ze zdroje USB 5V, také USB může fungovat jako virtuální COM port (CDC USB) a můžete pro něj přidat kód, pokud chcete se zařízením komunikovat přes USB.

pro displej jsem vybral 0,96 'OLED displej SSD1306 se sběrnicí SPI, je malý, ale je vhodný pro velikost desky plošných spojů, kterou jsem chtěl, rozměr desky 100x31 mm.

Programování mikrokontroléru bude prostřednictvím programátoru SWD (používám Atmel ICE) a připojí jej přes 1,27 mm 10p pinový konektor.

Také jsem použil Fusion360 k získání 3D pohledu na desku a můžete také vidět nějaký vykreslený obrázek.

Krok 2: Pájení DPS

Pájení DPS
Pájení DPS
Pájení DPS
Pájení DPS
Pájení DPS
Pájení DPS

Máte možnost objednat si šablonu s deskou plošných spojů, je snadnější použít pájecí pastu na desku pomocí šablony, já jsem použil horkou desku k pájení součástí dohromady, použití horkého vzduchu je také v pořádku, ale při pájení LED dejte pozor jsou tak citliví na teplo.

pájení spodní strany je o něco jednodušší, protože má pouze konektor SWD pin a záložní baterii, kterou můžete pájet pomocí páječky.

než připojíte obvod k jakémukoli zdroji napájení USB, zkontrolujte, zda nedošlo ke zkratu.

připojte svou anténu GPS a ujistěte se, že jste správně připájili její konektor, anténu jsem upevnil na spodní stranu desky.

Krok 3: Software… Funkčnost… výsledky

Image
Image
Software… Funkčnost… výsledky
Software… Funkčnost… výsledky
Software… Funkčnost… výsledky
Software… Funkčnost… výsledky

Software bude rozdělen do 4 částí:

  1. USART pro komunikaci s GPS modulem ATGM332.
  2. SPI pro komunikaci s OLED.
  3. USB CDC.
  4. GPIO pro ovládání LED diod

nejprve připojte konektor USB k napájení obvodu a poté připojte plochý kabel s konektorem SWD.

Stáhněte si kód z github (odkaz zde).

Chcete-li získat geografickou polohu, máte 3 různé možnosti zpráv NMEA:

  1. GPGGA
  2. GPRMC
  3. GPGLL

Použil jsem větu GPRMC k získání polohy, času a data (čas je 0,0 GMT), takže v kódu najdete:

GPRMC. Enable = 1;/*0, pokud tato zpráva není potřeba*/

GPGGA. Enable = 0;/*0, pokud tato zpráva není potřeba*/

GPGLL. Enable = 0;/*0, pokud tato zpráva není potřeba*/

můžete je všechny povolit společně a číst je současně, abyste získali potřebná data.

jakmile existuje platná věta GPRMC, GPRMC. Ready se stane 1 a můžete získat všechna data dostupná v této větě, zaškrtnutím tohoto odkazu zobrazíte data dostupná v této větě.

jednoduše pokud je oprava „A“, znamená to, že je k dispozici poloha, pokud je oprava „V“, znamená to, že místo není k dispozici.

všimněte si, že ATSAMD21 má interní RTC, ale zde jej nepoužívám a místo toho používám čas a datum přímo z GPS, takže pokud nechcete používat záložní baterii CR1220, jakmile odpojíte napájecí zdroj USB, budete ztratíte čas/datum a při příštím zapnutí obvodu bude oblast času/data na displeji prázdná, dokud GPS nebude mít platnou hodnotu času/data.

displej vám ukáže aktuální stav GPS a zobrazí geografickou polohu, jakmile bude k dispozici, ale na desce jsou 3 LED diody:

  1. Zelená LED dioda připojena k PA06 a bude blikat, pokud existuje platná hodnota geografické polohy.
  2. Oranžová LED dioda připojena k PA07 a bude blikat jednou za sekundu, pokud neexistuje platné geografické umístění.
  3. Červená LED dioda připojená k PPS modulu GPS a bude blikat, pouze pokud je k poloze platný signál.

Výsledek

Obvod se mi velmi dobře osvědčil, získání geolokace z GPS trvalo 20-30 sekund venku s jasným výhledem na oblohu a mezi budovami bez problémů i s anténou na spodní straně desky.

Krok 4: 3D tištěné pouzdro … Druh

3D potištěné pouzdro … Něco na způsob
3D potištěné pouzdro … Něco na způsob

Připravil jsem pro tento okruh jednoduché pouzdro (přesnější držák), ale kvůli epidemii COVID-19 a zablokování, ve kterém se právě nacházím, jsem nemohl dosáhnout své 3D tiskárny a vytisknout ji, takže tuto sekci aktualizuji pomocí stl soubor a fotografie pro držitele, jakmile bude k dispozici.

Krok 5: Co je třeba zlepšit…

Co zlepšit…
Co zlepšit…
Co zlepšit…
Co zlepšit…
Co zlepšit…
Co zlepšit…
  1. Přesunutí konektoru SWD na horní stranu, protože je snazší jej připojit k programátoru.
  2. Napájení obvodu z lithiové baterie jsem provedl pájením propojky a fungovalo to dobře, bez ohledu na to, že lineární (LDO) regulátor má pokles napětí V, pokud (Vbat - Vout) menší než limit Vdrop obvod nemusí fungovat správně.
  3. tlačítko uživatele bude o něco větší, takže bude snazší ho stisknout.
  4. přidání USB CDC kódu, abyste mohli komunikovat/navrhnout speciální program pro MAC/PC/linux.
  5. Pro anténu GPS jsem pro tento projekt použil aktivní anténu, pomocí pasivní antény je to možné, přidáním nízkošumového operačního zesilovače jako AT2659 (podívejte se také na schéma na datovém listu ATGM332 P.14).
  6. u OLED 0,96 'SSD1306, oficiální knihovny z mikročipu původně pro zobrazení 128*32, chcete -li upravit kód tak, aby fungoval se 128*64, přejděte na ssd1306.c a upravte kód (zkontrolujte obrázek).

Doporučuje: