Talaan ng mga Nilalaman:
- Hakbang 1: Disenyo ng PCB Gamit ang Eagle
- Hakbang 2: Pag-solder ng PCB
- Hakbang 3: Software… Pag-andar… mga resulta
- Hakbang 4: 3D Naka-print na Kaso … Pagsunud-sunurin Ng
- Hakbang 5: Mga Bagay na Mapapagbuti…
Video: Pagsubaybay sa GPS Sa OLED Display Project: 5 Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
Kamusta sa lahat, sa mabilisang artikulong ito ay ibabahagi ko sa iyo ang aking proyekto: ATGM332D GPS module na may display na SAMD21J18 Microcontroller at SSD1306 OLED 128 * 64, nagtayo ako ng isang espesyal na PCB para dito sa Eagle Autodesk, at i-program ito gamit ang Atmel studio 7.0 at ASF4 kaya sa artikulong ito ibabahagi ko sa iyo ang paglalakbay na ito at ang mga file na ginamit ko kung ikaw ay kagiliw-giliw na gawin ito nang mag-isa.
Ngayon kung pinaprograma mo ang iyong MCU / development board gamit ang Arduino, ang proyektong ito ay dapat na madali sa iyo, ngunit dito ko gagamitin ang ASF4 (Advanced na software framework 4) mula sa Atmel / Microchip na batay sa wikang C at bibigyan ka ng isang ideya para sa kung paano basahin ang mensahe ng GPS NMEA gamit ang USART Asynchronous driver (Callback) at bigyan ka ng isang simpleng silid-aklatan na magagamit mo ito sa anumang Micro-controller at magkakaibang platform sa pamamagitan lamang ng pagdaragdag ng naaangkop na Driver na iyong ginagamit upang matanggap ang mensahe mula sa GPS (mensahe ng NMEA).
Hahatiin ko ang artikulong ito sa:
- Disenyo ng PCB.
- BOM kailangan mong tipunin ang PCB
- Mabilis na pagtingin sa software at ang code mismo at isang pagsubok para sa hardware at software.
- panghuli ngunit hindi bababa sa ilang mga punto ng pagpapabuti para sa proyektong ito.
Mahahanap mo ang lahat ng materyal na nauugnay sa proyektong ito saGithub (Dito)
Hakbang 1: Disenyo ng PCB Gamit ang Eagle
Pangunahing batay ang proyektong ito sa paligid ng ATGM332D GPS Module, simpleng GPS na gagamitin dahil nangangailangan lamang ito ng isang pares ng mga passive na bahagi upang gumana, at maaari kaming magdagdag ng isang backup na baterya upang makatipid ng oras / petsa kung isasara natin ang pangunahing mapagkukunan ng kuryente mula sa module.
at upang makontrol ang lahat ng mga signal sa circuit nagpunta ako sa ATSAMD21J18B microcontroller, TQFP64 package dahil mayroon itong 128KByte ng pag-iimbak ng memorya ng programa at 32KByte ng memorya ng data (at marami akong mga inilalagay sa paligid ng aking workbench).
ang circuit ay dapat na pinapatakbo ng mapagkukunan ng USB 5V, maaari ding kumilos ang USB bilang virtual COM port (CDC USB) at maaari kang magdagdag ng isang code para dito kung nais mong makipag-usap sa aparato sa pamamagitan ng USB.
para sa display na pinili ko ang SSD1306 0.96 'OLED display na may SPI bus, maliit ito ngunit angkop ito sa laki ng PCB na gusto ko, ang sukat ng board na 100x31 mm.
programa ang Microcontroller ay sa pamamagitan ng SWD programmer (ginagamit ko ang Atmel ICE) at ikonekta ito sa pamamagitan ng 1.27mm 10p pin header.
Ginamit ko rin ang Fusion360 upang makakuha ng isang pagtingin sa 3d para sa board at maaari mo ring makita ang ilang nai-render na imahe para dito.
Hakbang 2: Pag-solder ng PCB
Mayroon kang pagpipilian upang mag-order ng isang stencil sa iyong PCB, mas madaling mag-apply ng solder paste sa board gamit ang stencil, gumamit ako ng hot plate upang maghinang ang mga sangkap nang magkasama, ang paggamit ng mainit na hangin ay OK din ngunit mag-ingat ka habang hinihinang ang LED dahil sobrang sensitibo sila sa init.
ang paghihinang sa ilalim na bahagi ay medyo madali dahil mayroon lamang itong header ng SWD pin at ang backup na baterya, na maaari mong maghinang sa kanila gamit ang soldering iron.
bago mo ikonekta ang circuit sa anumang mapagkukunang USB power, suriin para sa anumang maikling circuit.
ikonekta ang iyong antena ng GPS at tiyaking solder mo ito ng konektor nang maayos, naayos ko ang antena sa ibabang bahagi ng board.
Hakbang 3: Software… Pag-andar… mga resulta
Ang software ay nahahati sa 4 na bahagi:
- USART upang makipag-usap sa ATGM332 module ng GPS.
- SPI upang makipag-usap sa OLED.
- USB CDC.
- Kontrolin ng GPIO ang mga LED
unang ikonekta ang konektor ng USB sa lakas sa Circuit at pagkatapos ay ikonekta ang ribbon cable na may SWD konektor.
I-download ang Code mula sa github (Link dito).
upang makuha ang Geo-Lokasyon mayroon kang 3 magkakaibang mga pagpipilian sa mga mensahe ng NMEA:
- GPGGA
- GPRMC
- GPGLL
Gumamit ako ng pangungusap ng GPRMC upang makuha ang lokasyon, oras at petsa (ang oras ay 0.0 GMT) kaya sa code makikita mo:
GPRMC. Enable = 1; / * 0 kung hindi kailangan para sa mensaheng ito * /
GPGGA. Enable = 0; / * 0 kung hindi kailangan para sa mensaheng ito * /
GPGLL. Enable = 0; / * 0 kung hindi kailangan para sa mensaheng ito * /
maaari mong paganahin silang lahat nang sama-sama at basahin ang mga ito nang sabay-sabay makuha ang data na kailangan mo.
sa sandaling may wastong pangungusap na GPRMC, angGPRMC. Ang paghahanda ay magiging 1 at maaari mong makuha ang lahat ng magagamit na data sa pangungusap na ito, suriin ang link na ito upang makita ang magagamit na data sa pangungusap na ito.
kung ang Fix ay 'A' na nangangahulugang magagamit ang Lokasyon, kung ang Fix ay 'V' na nangangahulugang ang lokasyon ay hindi magagamit.
pansinin na ang ATSAMD21 ay may panloob na RTC, ngunit narito hindi ko ito ginagamit at sa halip ay gumagamit ako ng oras at Petsa nang direkta mula sa GPS, kaya kung hindi mo nais na gamitin ang CR1220 Backup na baterya, sa sandaling maalis mo ang pagkakakonekta ng mapagkukunang USB power ay gagawin mo ito mawala ang Oras / Petsa at para sa susunod na paganahin mo sa circuit ang oras / petsa ng lugar sa display ay walang laman hanggang sa ang GPS ay may wastong halaga ng oras / petsa.
ipapakita sa iyo ng display ang kasalukuyang katayuan ng GPS at ipapakita ang Geo-location sa sandaling ito ay magagamit, subalit mayroong 3 LEDs sa Lupon:
- Ang berdeng LED ay konektado sa PA06, at magpapakurap kung may wastong halaga ng Geo-location.
- Ang Orange LED ay konektado sa PA07 at magpapikit ng isang beses sa isang segundo kung walang wastong lokasyon ng Geo.
- Ang pulang LED na ito ay konektado sa PPS pin ng Module ng GPS at magpapikit lamang kapag mayroong wastong signal na nauugnay sa Lokasyon.
Mga Resulta
Ang circuit ay nagtrabaho nang mahusay sa akin, makuha ang Geo-lokasyon mula sa GPS na tumagal ng 20-30 segundo sa labas na may malinaw na paningin sa langit at sa pagitan ng mga gusali nang walang anumang problema kahit na sa antena sa ilalim na bahagi ng board.
Hakbang 4: 3D Naka-print na Kaso … Pagsunud-sunurin Ng
Naghanda ako ng isang simpleng kaso (mas tumpak na may-ari) para sa circuit na ito ngunit dahil sa epidemya ng COVID-19 at ang lockdown na narito ako ngayon, hindi ko maabot ang aking 3d printer upang mai-print ito, kaya't ia-update ko ang seksyon na ito sa stl file at isang larawan para sa may-ari kapag magagamit na ito.
Hakbang 5: Mga Bagay na Mapapagbuti…
- Ang paglipat ng konektor ng SWD sa tuktok na bahagi dahil mas madaling ikonekta ito sa iyong programmer.
- Pagpapatakbo ng circuit mula sa baterya ng Lithium, ginawa ko ito sa pamamagitan ng paghihinang ng isang lumulukso at gumana ito nang maayos, hubad sa isip na ang Linear (LDO) regulator ay may V drop voltage kung ang (Vbat - Vout) na mas mababa sa limitasyon ng Vdrop ay maaaring hindi gumana ang circuit maayos
- ginagawang medyo mas malaki ang isang pindutan ng gumagamit upang mas madaling pindutin.
- pagdaragdag ng USB CDC code upang maaari kang makipag-usap / magdisenyo ng isang espesyal na programa para sa MAC / PC / linux.
- Para sa antena ng GPS, ginamit ko ang Aktibong antena para sa proyektong ito, ang paggamit ng isang passive antena ay posible, sa pamamagitan ng pagdaragdag ng Mababang ingay op-Amp tulad ng AT2659 (suriin din ang eskematiko sa ATGM332 Datasheet P.14).
- para sa OLED 0.96 'SSD1306, ang opisyal na aklatan mula sa microchip na orihinal para sa 128 * 32 display, upang mabago ang code upang gumana sa 128 * 64 kailangan mong pumunta sa ssd1306.c at baguhin ang code (suriin ang imahe).
Inirerekumendang:
ATtiny85 Nasusuot na Pagsubaybay ng Aktibidad na Pagsubaybay ng Aktibidad at Programming ATtiny85 Sa Arduino Uno: 4 na Hakbang (na may Mga Larawan)
ATtiny85 Nasusuot na Pagsubaybay ng Aktibidad na Pagsubaybay sa Aktibidad at Programming ATtiny85 Sa Arduino Uno: Paano gagawin ang relo ng pagsusuot ng aktibidad na maaaring panoorin? Ito ay isang naisusuot na gadget na dinisenyo upang mag-vibrate kapag nakita nito ang pagwawalang-kilos. Ginugugol mo ba ang karamihan ng iyong oras sa computer na tulad ko? Nakaupo ka ba nang maraming oras nang hindi namamalayan? Pagkatapos ang aparatong ito ay f
Raspberry Pi - Autonomous Mars Rover Na May Pagsubaybay sa Bagay na OpenCV: 7 Mga Hakbang (na may Mga Larawan)
Raspberry Pi - Autonomous Mars Rover Gamit ang Pagsubaybay sa Bagay ng OpenCV: Pinapagana ng isang Raspberry Pi 3, Buksan ang pagkilala sa object ng CV, mga sensor ng Ultrasonic at nakatuon na DC motor. Maaaring subaybayan ng rover ang anumang bagay na sinanay nito at lumipat sa anumang lupain
Arduino Project: Test Range LoRa Module RF1276 para sa Solusyon sa Pagsubaybay sa GPS: 9 Mga Hakbang (na may Mga Larawan)
Proyekto ng Arduino: Saklaw ng Pagsubok LoRa Module RF1276 para sa Solusyon sa Pagsubaybay sa GPS: Koneksyon: USB - SerialNeed: Chrome Browser Need: 1 X Arduino Mega Need: 1 X GPS Need: 1 X SD card Need: 2 X LoRa Modem RF1276Function: Arduino Magpadala ng halaga ng GPS sa pangunahing base - Pangunahing data ng base store sa Dataino Server Lora Module: Ultra long range
Nagmamakaawang Robot na May Pagsubaybay sa Mukha at Pagkontrol ng Xbox Controller - Arduino: 9 Mga Hakbang (na may Mga Larawan)
Nagmamakaawang Robot Sa Pagsubaybay sa Mukha at Pagkontrol ng Xbox Controller - Arduino: Gagawa kami ng isang robot na humihingi. Susubukan ng robot na ito na inisin o makuha ang pansin ng mga dumadaan na tao. Madidiskubre nito ang kanilang mga mukha at susubukan silang kunan ng lasers. Kung bibigyan mo ang robot ng isang barya, kakantahin niya ang isang kanta at sayaw. Mangangailangan ang robot ng isang
Sistema ng Pagsubaybay sa Bike Na May Alerto sa Patay na Tao Sa Sigox: 7 Mga Hakbang (na may Mga Larawan)
Sistema ng Pagsubaybay sa Bisikleta Na May Alerto sa Patay na Man Sa Sigox: Sistema ng seguridad para sa mga sumasakay sa bisikleta na may pagsubaybay at magpadala ng mga tampok na alerto. Sa kaso ng aksidente ang isang alarma ay ipinadala na may posisyon ng GPS. Ang seguridad para sa mga sumasakay sa bisikleta ay kinakailangan, na may mga aksidente sa road bike o mountain bike na nangyayari at sa lalong madaling panahon emergency bawat