Mündəricat:
- Addım 1: Kartaldan istifadə edərək PCB Dizaynı
- Addım 2: PCB -nin lehimlənməsi
- Addım 3: Proqram… İşlevsellik… nəticələr
- Addım 4: 3D Çaplı Çanta… Sırala
- Addım 5: Təkmilləşdiriləcək şeylər…
Video: OLED Ekran Layihəsi ilə GPS Monitorinqi: 5 Adım (Şəkillərlə birlikdə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
Hamıya salam, bu sürətli məqalədə layihəmi sizinlə bölüşəcəyəm: SAMD21J18 Mikrokontrolörlü və SSD1306 OLED 128*64 displeyli ATGM332D GPS modulu, bunun üçün Eagle Autodesk -də xüsusi bir PCB qurdum və Atmel studio 7.0 və ASF4 istifadə edərək proqramlaşdırdım. bu yazıda bu səyahəti və istifadə etmək istədiyiniz faylları öz əlinizlə paylaşacağam.
İndi MCU/inkişaf lövhənizi Arduino ilə proqramlaşdırırsınızsa, bu layihə sizin üçün nisbətən asan olmalıdır, amma burada C dilinə əsaslanan və sizə bir fikir verəcək olan Atmel/Microchip -dən ASF4 (Ətraflı proqram çərçivəsi 4) istifadə edəcəyəm. USART Asinxron sürücüsündən (Geri Zəng) istifadə edərək GPS NMEA mesajını necə oxumaq və mesajı almaq üçün istifadə etdiyiniz uyğun Sürücünü əlavə etməklə hər hansı bir Mikro nəzarətçi və fərqli platforma ilə istifadə edə biləcəyiniz sadə bir kitabxana təmin etmək üçün. GPS (NMEA mesajı).
Bu yazını bölüşəcəyəm:
- PCB Dizaynı.
- BOM -a PCB yığmaq lazımdır
- Proqramın və kodun özünə sürətli baxmaq və aparat və proqram təminatı üçün bir sınaq.
- nəhayət, bu layihə üçün bir təkmilləşdirmə nöqtəsi.
Bu layihə ilə bağlı bütün materialları Github -da tapa bilərsiniz (Burada)
Addım 1: Kartaldan istifadə edərək PCB Dizaynı
Bu layihə əsasən ATGM332D GPS Moduluna əsaslanır, istifadəsi üçün sadə GPS, çünki işləmək üçün yalnız bir neçə passiv komponentə ehtiyac var və moduldan əsas enerji mənbəyini bağlasaq vaxta/tarixə qənaət etmək üçün ehtiyat batareya əlavə edə bilərik.
və dövrədəki bütün siqnalları idarə etmək üçün ATSAMD21J18B mikrokontrolörü, TQFP64 paketi ilə getdim, çünki 128KBte proqram yaddaş saxlama və 32KBaytlıq yaddaş yaddaşına malikdir (və bir çoxu mənim iş masamın ətrafında uzanır).
dövrə USB 5V mənbəyi ilə təchiz olunmalıdır, eyni zamanda USB virtual COM portu (CDC USB) kimi çıxış edə bilər və cihazla USB vasitəsilə ünsiyyət qurmaq istəyirsinizsə bunun üçün bir kod əlavə edə bilərsiniz.
ekran üçün SPI avtobuslu SSD1306 0.96 'OLED ekranı seçdim, kiçikdir, amma istədiyim PCB ölçüsünə, taxta ölçüsü 100x31 mm -ə uyğundur.
Mikrokontrolörün proqramlaşdırılması SWD proqramçısı vasitəsi ilə olacaq (Atmel ICE istifadə edirəm) və onu 1.27mm 10p pin başlığı ilə birləşdirəcək.
lövhənin 3d görünüşünü əldə etmək üçün Fusion360 -dan istifadə etdim və bunun üçün də bir neçə işlənmiş şəkil görə bilərsiniz.
Addım 2: PCB -nin lehimlənməsi
PCB ilə bir şablon sifariş etmək seçiminiz var, şablondan istifadə edərək lövhəni lövhəyə tətbiq etmək daha asandır, komponentləri birlikdə lehimləmək üçün isti plitə istifadə etdim, isti havadan istifadə etmək də yaxşıdır, amma LED -ni lehim edərkən diqqətli olun. istiyə çox həssasdırlar.
Yalnız SWD pin başlığı və lehimləmə dəmirindən istifadə edərək onları lehimləyə biləcəyiniz ehtiyat batareyası olduğu üçün alt tərəfi lehimləmək bir az daha asandır.
Dövrəni hər hansı bir USB enerji mənbəyinə bağlamadan əvvəl hər hansı bir qısa qapanma olub olmadığını yoxlayın.
GPS anteninizi bağlayın və konnektorunu düzgün bir şəkildə lehimlədiyinizə əmin olun, antenanı lövhənin alt tərəfinə düzəltdim.
Addım 3: Proqram… İşlevsellik… nəticələr
Proqram 4 hissəyə bölünəcək:
- USART ATGM332 GPS modulu ilə əlaqə quracaq.
- OLED ilə əlaqə qurmaq üçün SPI.
- USB CDC.
- LEDləri idarə etmək üçün GPIO
əvvəlcə USB konnektorunu dövrəyə qoşun və sonra lent kabelini SWD konnektoru ilə bağlayın.
Kodu github -dan yükləyin (link burada).
Coğrafi Yer əldə etmək üçün 3 fərqli NMEA mesaj seçiminiz var:
- GPGGA
- GPRMC
- GPGLL
Məkanı, vaxtı və tarixi (vaxt 0.0 GMT) əldə etmək üçün GPRMC cümləsini istifadə etdim, buna görə kodda tapa bilərsiniz:
GPRMC. Enable = 1;/*0 bu mesaja ehtiyac yoxdursa*/
GPGGA. Enable = 0;/*0 bu mesaja ehtiyac yoxdursa*/
GPGLL. Enable = 0;/*0 bu mesaja ehtiyac yoxdursa*/
hamısını birlikdə aktivləşdirə və eyni zamanda lazım olan məlumatları əldə edə bilərsiniz.
etibarlı bir GPRMC cümləsi olduqda, theGPRMC. Ready 1 olacaq və bu cümlədə mövcud olan bütün məlumatları əldə edə bilərsiniz, bu cümlədəki məlumatları görmək üçün bu linki yoxlayın.
Sadəcə Fix 'A' olarsa, bu Məkanın mövcud olması deməkdir, Fix 'V' olarsa, bu yerin mövcud olmadığını bildirir.
ATSAMD21 -in daxili RTC olduğuna diqqət yetirin, amma burada mən istifadə etmirəm və bunun əvəzinə vaxt və tarixi GPS -dən birbaşa istifadə edirəm, buna görə də CR1220 Yedək batareyasını istifadə etmək istəmirsinizsə, USB güc mənbəyini ayırdığınız zaman Vaxtı/Tarixi itirirsiniz və növbəti dəfə dövrə açdığınız zaman, GPS -in etibarlı bir vaxt/tarix dəyərinə sahib olmayana qədər ekrandakı vaxt/tarix sahəsi boş qalacaq.
Ekran sizə GPS-in cari vəziyyətini göstərəcək və mövcud olduqda Geo-yeri göstərəcək, lakin lövhədə 3 LED var:
- Yaşıl LED PA06-ya bağlıdır və etibarlı bir Geo-yer dəyəri varsa yanıb-sönəcək.
- Narıncı LED PA07-yə qoşulur və etibarlı bir Geo-yer olmadıqda saniyədə bir dəfə yanıb-sönəcək.
- Qırmızı LED, bu GPS Modulunun PPS pininə bağlıdır və yalnız Məkanla əlaqədar etibarlı bir siqnal olduqda yanıb -sönəcək.
Nəticələr
Dövrə mənimlə çox yaxşı işlədi, GPS-dən Geo-mövqeyi 20-30 saniyə açıq bir mənzərə ilə səmaya və binaların arasında, hətta lövhənin altındakı antenada da problem olmadan əldə et.
Addım 4: 3D Çaplı Çanta… Sırala
Bu dövrə üçün sadə bir korpus (daha dəqiq tutacaq) hazırladım, amma hazırda COVID-19 epidemiyası və blokada səbəbiylə çap etmək üçün 3d printerimə çata bilmədim, buna görə də bu bölməni stl ilə yeniləyəcəyəm fayl və mövcud olduqdan sonra sahibi üçün fotoşəkillər.
Addım 5: Təkmilləşdiriləcək şeylər…
- SWD konnektorunu yuxarıya köçürün, çünki onu proqramçı ilə bağlamaq daha asandır.
- Dövrü Lityum batareyadan gücləndirərək, bir tullanan lehimləməklə etdim və xətti (LDO) tənzimləyicisinin Vdrop həddindən aşağı olduğu dövrənin işləməyəcəyi halda V düşmə gərginliyinə sahib olduğunu nəzərə alaraq yaxşı işləyirdi. düzgün
- İstifadəçi düyməsini bir qədər böyüdərək basmaq daha asan olacaq.
- USB CDC kodu əlavə edərək MAC/PC/linux üçün xüsusi bir proqram qura/dizayn edə bilərsiniz.
- GPS antenası üçün, AT2659 kimi Aşağı səs-küylü op-Amp əlavə etməklə, bu layihə üçün Aktiv anten istifadə etdim (ATGM332 Məlumat Cədvəli P.14-də də sxemə baxın).
- OLED 0.96 'SSD1306 üçün, ilk olaraq 128*32 ekran üçün mikroçipdən olan rəsmi kitabxana, kodu 128*64 ilə işləmək üçün dəyişdirmək üçün ssd1306.c saytına daxil olmalı və kodu dəyişdirməlisiniz (şəkli yoxlayın).
Tövsiyə:
Sensorlu ekran Macintosh - Ekran üçün IPad Mini ilə Klassik Mac: 5 Addım (Şəkillərlə birlikdə)
Sensorlu ekran Macintosh | Klassik Mac Ekran üçün IPad Mini ilə: Bu, köhnə bir Macintoshun ekranını iPad mini ilə necə dəyişdirəcəyimə dair yeniləmə və yenidən işlənmiş dizaynımdır. Bu, illər ərzində hazırladığım 6 -cı əsərdir və bunun təkamülündən və dizaynından olduqca məmnunam
OLED Ekran və Arduino ilə Əylən: 12 Addım (Şəkillərlə birlikdə)
OLED Display və Arduino ilə əyləncə: Əminəm ki, OLED ekran texnologiyası haqqında mütləq eşitmisiniz. Nisbətən yenidir və köhnə LCD texnologiyasından daha yaxşı keyfiyyət təklif edir. Bu təlimatda, ən çox yayılmış tək şirkətlərdən birində məlumatları göstərmək üçün lazım olan addımları nəzərdən keçirmək istəyirik
Pəncələr Yuyulacaq - Pişik Covid Əl Yuma Layihəsi ilə Görüşdü: 5 Addım (Şəkillərlə birlikdə)
Pəncələr Yuyulacaq - Pişik Covid Əl Yuma Layihəsi ilə Görüşür: Hamımız evdə uzaqlaşdığımız üçün Paws to Wash, sağlam əl yuma vərdişlərini təşviq etmək üçün sallayan bir pişiklə sevimli bir rəy taymeri qurma prosesində valideynlərə və uşaqlara yol göstərən bir DIY layihəsidir. Covid-19 dövründə əl yumaq
Nokia LCD ilə DSM501A ilə hava keyfiyyətinin monitorinqi: 7 addım
Nokia LCD ilə DSM501A ilə Hava Keyfiyyətinin Monitorinqi: Salam dostlar! Bu qısa təlimatda sizə evinizdə və ya hər yerdə hava qulluğunu necə izləyə biləcəyinizi göstərəcəyəm
Arduino Layihəsi: GPS İzləmə Həll üçün RF1276 Test Aralığı LoRa Modulu: 9 Addım (Şəkillərlə birlikdə)
Arduino Layihəsi: GPS İzləmə üçün Test Aralığı LoRa Modulu RF1276 Həlli: Bağlantı: USB - SerialNeed: Chrome Brauzer Ehtiyacı: 1 X Arduino Mega Ehtiyacı: 1 X GPS Ehtiyacı: 1 X SD Kart Ehtiyacı: 2 X LoRa Modem RF1276Fəaliyyət: Arduino GPS dəyərini göndər ana bazaya - Dataino Server Lora Modulunda əsas baza məlumatları: Ultra uzun məsafə