Sadržaj:
- Korak 1: Dizajn PCB -a pomoću Eagle -a
- Korak 2: Lemljenje PCB -a
- Korak 3: Softver … Funkcionalnost … rezultati
- Korak 4: 3D štampana futrola… otprilike
- Korak 5: Stvari koje treba poboljšati …
Video: GPS nadgledanje sa projektom OLED ekrana: 5 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
Pozdrav svima, u ovom kratkom članku podijelit ću s vama svoj projekt: ATGM332D GPS modul sa SAMD21J18 mikrokontrolerom i SSD1306 OLED 128*64 zaslonom, sagradio sam posebnu PCB za njega na Eagle Autodesku i programirao ga koristeći Atmel studio 7.0 i ASF4 tako da u ovom članku podijelit ću s vama ovo putovanje i datoteke koje sam koristio ako vam je zanimljivo to učiniti sami.
Ako programirate svoj MCU/razvojnu ploču koristeći Arduino, ovaj bi vam projekt trebao biti relativno lak, ali ovdje ću koristiti ASF4 (napredni softverski okvir 4) iz Atmel/Microchip -a koji je baziran na C jeziku i dao bih vam ideju za čitanje GPS NMEA poruke pomoću USART asinkronog upravljačkog programa (povratni poziv) i pružanje jednostavne biblioteke koju možete koristiti sa bilo kojim mikrokontrolerom i drugom platformom jednostavnim dodavanjem odgovarajućeg upravljačkog programa koji koristite za primanje poruke od GPS (poruka NMEA).
Ovaj članak ću podijeliti na:
- PCB Design.
- BOM trebate sastaviti PCB
- Brzi pregled softvera i samog koda te test hardvera i softvera.
- na kraju, ali ne i najmanje važno, poboljšanje ovog projekta.
Sav materijal vezan za ovaj projekt pronaći ćete naGithub -u (ovdje)
Korak 1: Dizajn PCB -a pomoću Eagle -a
Ovaj projekt se uglavnom temelji na ATGM332D GPS modulu, jednostavnom GPS -u za upotrebu jer za rad treba samo nekoliko pasivnih komponenti, a mogli bismo dodati i rezervnu bateriju za uštedu vremena/datuma ako isključimo glavni izvor napajanja iz modula.
i za kontrolu svih signala u krugu otišao sam s mikrokontrolerom ATSAMD21J18B, paketom TQFP64, budući da ima 128 KB programske memorije i 32 KB memorije podataka (a imam ih dosta po radnom stolu).
krug će se napajati iz USB 5V izvora, a USB može djelovati i kao virtualni COM port (CDC USB) i za njega možete dodati kôd ako želite komunicirati s uređajem putem USB -a.
za ekran sam odabrao SSD1306 OLED ekran od 0,96 'sa SPI sabirnicom, mali je, ali odgovara za željenu veličinu PCB -a, dimenziju ploče 100x31 mm.
programiranje mikrokontrolera će se vršiti putem SWD programatora (ja koristim Atmel ICE) i povezat će ga putem 1,27 mm 10p pin zaglavlja.
Takođe sam koristio Fusion360 da dobijem 3D prikaz ploče i možete videti i neku renderovanu sliku za nju.
Korak 2: Lemljenje PCB -a
Imate izbor da naručite matricu sa PCB -a, lakše je nanijeti pastu za lemljenje na ploču pomoću matrice, ja sam koristio vruću ploču za lemljenje komponenti zajedno, korištenje vrućeg zraka je također u redu, ali budite oprezni pri lemljenju LED -a jer tako su osjetljivi na toplinu.
lemljenje donje strane je malo lakše jer ima samo SWD zaglavlje i pomoćnu bateriju, koje možete lemiti pomoću lemilice.
prije nego što spojite krug na bilo koji USB izvor napajanja, provjerite ima li kratkog spoja.
povežite svoju GPS antenu i provjerite jeste li pravilno lemili njen konektor, fiksirao sam antenu na donju stranu ploče.
Korak 3: Softver … Funkcionalnost … rezultati
Softver će biti podijeljen u 4 dijela:
- USART za komunikaciju s ATGM332 GPS modulom.
- SPI za komunikaciju sa OLED -om.
- USB CDC.
- GPIO za upravljanje LED diodama
prvo spojite USB konektor na napajanje kruga, a zatim spojite vrpčani kabel sa SWD konektorom.
Preuzmite kôd sa github -a (veza ovdje).
da biste dobili Geo-lokaciju imate 3 različite opcije poruka NMEA:
- GPGGA
- GPRMC
- GPGLL
Koristio sam GPRMC rečenicu da dobijem lokaciju, vrijeme i datum (vrijeme je 0,0 GMT) pa ćete u kodu pronaći:
GPRMC. Enable = 1;/*0 ako nema potrebe za ovom porukom*/
GPGGA. Enable = 0;/*0 ako nema potrebe za ovom porukom*/
GPGLL. Enable = 0;/*0 ako nema potrebe za ovom porukom*/
možete ih omogućiti sve zajedno i čitati ih istovremeno kako biste dobili potrebne podatke.
nakon što postoji valjana GPRMC rečenica, GPRMC. Ready će postati 1 i možete dobiti sve podatke dostupne u ovoj rečenici, provjerite ovu vezu da vidite podatke dostupne u ovoj rečenici.
jednostavno ako je Fix 'A' to znači da je Lokacija dostupna, ako je Fix 'V' to znači da lokacija nije dostupna.
primjetite da ATSAMD21 ima interni RTC, ali ovdje ga ne koristim i umjesto toga koristim vrijeme i datum izravno s GPS -a, pa ako ne želite koristiti rezervnu bateriju CR1220, nakon što isključite USB izvor napajanja, ako izgubite vrijeme/datum i prilikom sljedećeg uključivanja strujnog kruga područje vremena/datuma na ekranu bit će prazno sve dok GPS ne dobije važeću vrijednost vremena/datuma.
zaslon će vam pokazati trenutni status GPS-a i prikazat će geo-lokaciju kada bude dostupna, međutim na ploči postoje 3 LED diode:
- Zelena LED dioda spojena je na PA06 i treptat će ako postoji valjana vrijednost Geo-lokacije.
- Narančasta LED spojena na PA07 i treperit će jednom u sekundi ako nema valjane Geo-lokacije.
- Crvena LED dioda povezana je s PPS pinom GPS modula i treptat će samo ako postoji važeći signal u vezi s lokacijom.
Rezultati
Krug je sa mnom radio jako dobro, za dobivanje Geo-lokacije iz GPS-a trebalo je 20-30 sekundi na otvorenom sa jasnim vidom prema nebu i između zgrada bez ikakvih problema, čak i sa antenom na donjoj strani ploče.
Korak 4: 3D štampana futrola… otprilike
Pripremio sam jednostavnu kutiju (precizniji držač) za ovo kolo, ali zbog epidemije COVID-19 i blokade u kojoj se trenutno nalazim, nisam mogao doći do svog 3D štampača da je odštampam, pa ću ažurirati ovaj odjeljak sa stl datoteku i fotografije za vlasnika kada budu dostupni.
Korak 5: Stvari koje treba poboljšati …
- Pomicanje SWD konektora na gornju stranu jer ga je lakše povezati s programatorom.
- Napajanje strujnog kruga iz litijske baterije, učinio sam to lemljenjem kratkospojnika i radio je dobro, imajući na umu da linearni (LDO) regulator ima pad napona V ako (Vbat - Vout) manje od granice Vdrop krug možda neće raditi pravilno.
- čineći korisničko dugme malo većim pa će ga biti lakše pritisnuti.
- dodavanjem USB CDC koda kako biste mogli komunicirati/osmisliti poseban program za MAC/PC/linux.
- Za GPS antenu, za ovaj projekt sam koristio Aktivnu antenu, upotreba pasivne antene je moguća, dodavanjem op-pojačala s niskim šumom, poput AT2659 (provjerite i shemu na podatkovnom listu ATGM332, str. 14).
- za OLED 0.96 'SSD1306, službenu biblioteku iz mikročipa izvorno za prikaz 128*32, da biste promijenili kôd za rad sa 128*64 morate otići na ssd1306.c i izmijeniti kôd (provjerite sliku).
Preporučuje se:
Brojač radioaktivnosti (IoT) i ekosistem za nadgledanje: 6 koraka (sa slikama)
Brojač radioaktivnosti (IoT) i ekosistem za nadgledanje: Status: Neobjavljeno. Posljednje ažuriranje firmvera C-GM 10. juna 2019. sa novom verzijom 1.3 A-GM aplikacija posljednje ažuriranje 25. novembra 2019. s novom 1.3 verzijom. 50 $/43 €) Projekat C-GM Counter pruža hardver i firmver za izgradnju
Pokretanje bez ekrana / ekrana (bez glave) na Raspberry Pi -u ili drugim Linux / unix računarima: 6 koraka
Pokretanje bez ekrana / ekrana (bez glave) na Raspberry Pi -u ili drugim računarima zasnovanim na Linux / unix -u: Kada većina ljudi kupi Raspberry PI, misle da im je potreban ekran računara. Ne trošite novac na nepotrebne računarske ekrane i tastature. Ne gubite vreme pomeranjem tastature i monitora između računara. Ne vežite televizor kada nema
AirCitizen - Nadgledanje kvalitete zraka: 11 koraka (sa slikama)
AirCitizen - Nadgledanje kvalitete zraka: Pozdrav svima! Danas ćemo vas naučiti kako reproducirati naš projekt: AirCitizen od AirCitizenPolytech tima!-Dolazi iz 'OpenAir / What’s your air?' Projekti, projekt AirCitizen ima za cilj omogućiti građanima aktivno ocjenjivanje kvalitete
Arduino štitnik za nadgledanje zraka. Živite u sigurnom okruženju .: 5 koraka (sa slikama)
Arduino štitnik za nadgledanje zraka. Živite u sigurnom okruženju.: Zdravo, U ovom Instructabe -u napravit ću štitnik za nadzor zraka za arduino. Što može osjetiti curenje UNP -a i koncentraciju CO2 u našoj atmosferi. Također zvučni signal uključuje zvučni signal koji uključuje LED i ispušni ventilator kad god se otkrije UNP ili koncentrat
IoT sistem za nadgledanje postrojenja (sa IBM IoT platformom): 11 koraka (sa slikama)
IoT sistem za nadgledanje postrojenja (sa IBM IoT platformom): PregledSistem za nadgledanje postrojenja (PMS) je aplikacija napravljena sa pojedincima koji su u radničkoj klasi sa zelenim palcem na umu. Danas su zaposleni pojedinci zaposleniji nego ikad prije; napredovanje u karijeri i upravljanje finansijama