Kazalo:
- Korak: Oblikovanje tiskanih vezij z uporabo Eagle
- 2. korak: Spajkanje tiskanega vezja
- 3. korak: programska oprema … funkcionalnost … rezultati
- 4. korak: 3D natisnjena torbica … nekako
- 5. korak: stvari, ki jih je treba izboljšati …
Video: GPS -nadzor s projektom OLED Display: 5 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
Pozdravljeni vsi, v tem kratkem članku bom z vami delil svoj projekt: GPS -modul ATGM332D z mikrokrmilnikom SAMD21J18 in zaslonom OLED 128*64 SSD1306, zanj sem na Eagle Autodesku zgradil posebno tiskano vezje in ga programiral s pomočjo Atmel studio 7.0 in ASF4, tako da v tem članku bom z vami delil to pot in datoteke, ki sem jih uporabil, če ste zanimivi za to sami.
Zdaj, če programirate svoj MCU/razvojno ploščo z Arduinom, bi vam moral biti ta projekt razmeroma enostaven, tukaj pa bom uporabil ASF4 (napredna programska oprema 4) iz podjetja Atmel/Microchip, ki temelji na jeziku C in bi vam dal idejo za branje sporočila GPS NMEA z asinhronim gonilnikom USART (povratni klic) in vam ponudimo preprosto knjižnico, ki jo lahko uporabite s katerim koli mikrokrmilnikom in drugo platformo, tako da preprosto dodate ustrezen gonilnik, ki ga uporabljate za prejem sporočila iz GPS (sporočilo NMEA).
Ta članek bom razdelil na:
- Oblikovanje PCB.
- BOM morate sestaviti tiskano vezje
- Hiter pregled programske opreme in same kode ter preizkus strojne in programske opreme.
- nenazadnje še nekaj izboljšav pri tem projektu.
Vse gradivo, povezano s tem projektom, boste našli na spletnem mestu Github (tukaj)
Korak: Oblikovanje tiskanih vezij z uporabo Eagle
Ta projekt temelji predvsem na GPS -modulu ATGM332D, enostavnem za uporabo, saj za delo potrebuje le nekaj pasivnih komponent, za prihranek časa/datuma pa bi lahko dodali rezervno baterijo, če izklopite glavni vir napajanja iz modula.
in za nadzor vseh signalov v vezju sem šel z mikrokrmilnikom ATSAMD21J18B, paketom TQFP64, saj ima 128 KB programskega pomnilnika in 32 KB podatkovnega pomnilnika (in veliko jih imam okrog svoje delovne mize).
vezje napaja vir 5V USB, USB lahko deluje tudi kot navidezna vrata COM (CDC USB) in zanj lahko dodate kodo, če želite komunicirati z napravo prek USB -ja.
za zaslon sem izbral SSD1306 0,96 'OLED zaslon z vodilom SPI, je majhen, vendar je primeren za želeno velikost tiskanega vezja, dimenzijo plošče 100x31 mm.
programiranje mikrokontrolerja bo potekalo preko SWD programerja (uporabljam Atmel ICE) in ga bo povezal prek 1,27 mm 10p pin glave.
Prav tako sem uporabil Fusion360, da sem dobil 3D pogled na ploščo in lahko vidite tudi upodobljeno sliko zanjo.
2. korak: Spajkanje tiskanega vezja
Imate možnost, da naročite šablono s svojim tiskanim vezjem, spajkalno pasto je lažje nanesti na ploščo s šablono, za spajkanje komponent sem uporabil vročo ploščo, tudi vroč zrak je v redu, vendar bodite previdni pri spajkanju LED, saj so zelo občutljivi na toploto.
spajkanje spodnje strani je nekoliko lažje, saj ima samo glavo zatiča SWD in rezervno baterijo, ki ju lahko spajkate s spajkalnikom.
preden priključite vezje na kateri koli vir napajanja USB, preverite, ali je prišlo do kratkega stika.
priključite anteno GPS in se prepričajte, da ste pravilno spajkali njen priključek, anteno sem pritrdil na spodnjo stran plošče.
3. korak: programska oprema … funkcionalnost … rezultati
Programska oprema bo razdeljena na 4 dele:
- USART za komunikacijo z modulom GPS ATGM332.
- SPI za komunikacijo z OLED.
- USB CDC.
- GPIO za nadzor LED
najprej priključite konektor USB na napajanje vezja in nato priključite tračni kabel s priključkom SWD.
Prenesite kodo iz github -a (povezava tukaj).
za pridobitev geolokacije imate 3 različne možnosti sporočil NMEA:
- GPGGA
- GPRMC
- GPGLL
Za pridobitev lokacije, časa in datuma (čas je 0,0 GMT) sem uporabil stavek GPRMC, zato boste v kodi našli:
GPRMC. Enable = 1;/*0, če to sporočilo ni potrebno*/
GPGGA. Enable = 0;/*0, če to sporočilo ni potrebno*/
GPGLL. Enable = 0;/*0, če to sporočilo ni potrebno*/
lahko jih omogočite vse skupaj in jih hkrati preberete ter pridobite potrebne podatke.
ko bo veljaven stavek GPRMC, bo GPRMC. Ready postal 1 in lahko dobite vse podatke, ki so na voljo v tem stavku, preverite to povezavo, če si želite ogledati podatke, ki so na voljo v tem stavku.
preprosto, če je Fix "A", to pomeni, da je lokacija na voljo, če je Fix "V", to pomeni, da lokacija ni na voljo.
opazite, da ima ATSAMD21 notranji RTC, vendar ga tukaj ne uporabljam in namesto tega uporabljam čas in datum neposredno iz GPS -a, zato, če ne želite uporabljati rezervne baterije CR1220, boste po odklopu vira napajanja USB izgubite čas/datum in za naslednjič, ko vklopite vezje, bo območje časa/datuma na zaslonu prazno, dokler GPS nima veljavne vrednosti časa/datuma.
zaslon bo prikazal trenutno stanje GPS-ja in prikazal Geo-lokacijo, ko bo na voljo, vendar so na plošči 3 LED diode:
- Zelena LED je priključena na PA06 in utripa, če je veljavna vrednost geolokacije.
- Oranžna LED, priključena na PA07 in utripa enkrat na sekundo, če ni veljavne geolokacije.
- Rdeča LED, ta je priključena na pin PPS modula GPS in bo utripala le, če je za lokacijo veljaven signal.
Rezultati
Vezje je z mano zelo dobro delovalo, pridobivanje Geo-lokacije iz GPS-a je trajalo 20-30 sekund na prostem z jasnim pogledom v nebo in med stavbami brez težav, tudi z anteno na spodnji strani plošče.
4. korak: 3D natisnjena torbica … nekako
Za to vezje sem pripravil enostaven kovček (natančnejši nosilec), vendar zaradi epidemije COVID-19 in zapora, v katerem sem trenutno, nisem mogel doseči svojega 3D tiskalnika, da bi ga natisnil, zato bom ta razdelek posodobil s stl datoteko in fotografije za imetnika, ko bo na voljo.
5. korak: stvari, ki jih je treba izboljšati …
- Premikanje priključka SWD na zgornjo stran, saj ga je lažje povezati s programerjem.
- Napajal sem vezje iz litijeve baterije, to sem naredil s spajkanjem mostička in je deloval v redu, pri tem pa upoštevam, da ima linearni (LDO) regulator padno napetost V, če (Vbat - Vout) manj kot meja Vdrop vezje morda ne bo delovalo pravilno.
- naredi uporabniški gumb nekoliko večji, zato ga bo lažje pritisniti.
- dodajanje USB CDC kode za komunikacijo/oblikovanje posebnega programa za MAC/PC/linux.
- Za anteno GPS sem za ta projekt uporabil aktivno anteno, pri čemer je možno uporabiti pasivno anteno z dodajanjem op-amp z nizkim šumom, kot je AT2659 (preverite tudi shemo na podatkovnem listu ATGM332 P.14).
- za OLED 0,96 'SSD1306, uradno knjižnico iz mikročipa, prvotno za zaslon 128*32, če želite spremeniti kodo za delo s 128*64, pojdite na ssd1306.c in spremenite kodo (preverite sliko).
Priporočena:
Digitalne Ludo kocke s projektom 7 -segmentnega prikaza Arduino: 3 koraki
Digitalne Ludo kocke s projektom 7 -segmentnega prikaza Arduino: V tem projektu se 7 -segmentni zaslon uporablja za naključno prikaz števila od 1 do 6, kadar koli pritisnemo gumb. To je eden najbolj kul projektov, pri katerem vsak uživa. Če se želite naučiti delati s 7 -segmentnim zaslonom, kliknite tukaj: -7 segme
Kako narediti RADAR s projektom Arduino za znanost - Najboljši projekti Arduino: 5 korakov
Kako narediti RADAR s projektom Arduino za znanost | Najboljši projekti Arduino: Pozdravljeni prijatelji, v tem navodilu vam bom pokazal, kako narediti neverjeten radarski sistem, zgrajen z uporabo arduino nano, ta projekt je idealen za znanstvene projekte in z lahkoto to naredite z zelo malo naložb in možnosti, če je zmagovalna nagrada velika
Kako začeti z novim projektom: 7 korakov
Kako bi morali začeti z novim projektom: Pozdravljeni bralec, to je moja vadnica, kako začeti z novim projektom mikrokrmilnika
Povezovanje Twitterja s projektom Eclipse z API -jem Twitter4J: 5 korakov
Povezovanje Twitterja s projektom Eclipse z API -jem Twitter4J: V tem navodilu je razloženo, kako svoj račun Twitter povezati s projektom Eclipse in kako uvoziti vmesnik aplikacijskega programa Twitter4J (API) za uporabo svojih funkcij za avtomatizacijo branja in pisanja v Twitter . Ta poučna
GPS zapisovalnik Arduino OLed SD: 6 korakov (s slikami)
Zapisnik GPS Arduino OLed SD: Zapisnik GPS za prikaz vaše trenutne in povprečne hitrosti ter za sledenje vašim potim. Povprečna hitrost je za območja z nadzorom hitrosti poti. Arduino ima nekaj lepih funkcij, ki jih lahko kopirate:- Koordinate so shranjene v dnevni datoteki, ime datoteke je osnovno