Satura rādītājs:

Saskarne Arduino Mega ar GPS moduli (Neo-6M): 8 soļi
Saskarne Arduino Mega ar GPS moduli (Neo-6M): 8 soļi
Anonim
Arduino Mega saskarne ar GPS moduli (Neo-6M)
Arduino Mega saskarne ar GPS moduli (Neo-6M)

Šajā projektā esmu parādījis, kā savienot GPS moduli (Neo-6M) ar Arduino Mega. TinyGPS bibliotēka tiek izmantota, lai parādītu garuma un platuma datus, un TinyGPS ++ tiek izmantota, lai sērijveida monitorā parādītu platumu, garumu, augstumu, ātrumu un satelītu skaitu.

1. darbība. Nepieciešamās sastāvdaļas

Aparatūra

  • Arduino Mega ==> 30 ASV dolāri
  • Neo-6M GPS modulis ==> 30 ASV dolāri

Programmatūra

Arduino IDE

Projekta kopējās izmaksas ir 60 USD

2. darbība. Informācija par GPS

Kas ir GPS

Globālā pozicionēšanas sistēma (GPS) ir satelītu navigācijas sistēma, kas sastāv no vismaz 24 satelītiem. GPS darbojas jebkuros laika apstākļos, jebkurā vietā pasaulē, 24 stundas diennaktī, bez abonēšanas maksas vai iestatīšanas maksas.

Kā darbojas GPS

GPS satelīti riņķo ap Zemi divas reizes dienā precīzā orbītā. Katrs satelīts pārraida unikālu signālu un orbitālos parametrus, kas ļauj GPS ierīcēm atšifrēt un aprēķināt precīzu satelīta atrašanās vietu. GPS uztvērēji izmanto šo informāciju un trilatūru, lai aprēķinātu precīzu lietotāja atrašanās vietu. Būtībā GPS uztvērējs mēra attālumu līdz katram satelītam pēc laika, kas nepieciešams pārraidītā signāla saņemšanai. Veicot attāluma mērījumus no vēl dažiem satelītiem, uztvērējs var noteikt lietotāja atrašanās vietu un to parādīt.

Lai aprēķinātu savu 2-D pozīciju (platumu un garumu) un ceļa kustību, GPS uztvērējam jābūt bloķētam ar vismaz 3 satelītu signālu. Redzot 4 vai vairāk satelītus, uztvērējs var noteikt jūsu trīsdimensiju pozīciju (platumu, garumu un augstumu). Parasti GPS uztvērējs izseko 8 vai vairāk satelītus, taču tas ir atkarīgs no diennakts laika un vietas, kur atrodaties uz zemes. Kad jūsu atrašanās vieta ir noteikta, GPS ierīce var aprēķināt citu informāciju, piemēram,

  • Ātrums
  • Gultnis
  • Track
  • Ceļojuma attālums
  • Attālums līdz galamērķim

Kas ir signāls

GPS satelīti pārraida vismaz 2 mazjaudas radiosignālus. Signāli pārvietojas pa redzes līniju, kas nozīmē, ka tie izies cauri mākoņiem, stiklam un plastmasai, bet neizies cauri lielākajai daļai cietu objektu, piemēram, ēkām un kalniem. Tomēr mūsdienu uztvērēji ir jutīgāki un parasti var izsekot pa mājām. GPS signāls satur 3 dažāda veida informāciju

Pseidogadījuma kods

Tas ir I. D. kods, kas identificē, kurš satelīts pārraida informāciju. Ierīces satelīta lapā varat redzēt, no kuriem satelītiem saņemat signālus.

Efemērijas dati

Efermēzes dati ir nepieciešami, lai noteiktu satelīta atrašanās vietu, un tie sniedz svarīgu informāciju par satelīta stāvokli, pašreizējo datumu un laiku.

Almanaha dati

Almanaha dati norāda GPS uztvērējam, kur katram GPS satelītam jāatrodas jebkurā diennakts laikā, un parāda orbītas informāciju par šo satelītu un katru citu satelītu sistēmā.

3. solis: Neo-6M GPS modulis

GPS modulis NEO-6M ir parādīts attēlā zemāk. Tam ir ārēja antena, un tam nav pievienotas galvenes tapas. Tātad jums tas būs jālodē.

Pārskats par NEO-6M GPS moduli

NEO-6M GPS mikroshēma

Moduļa sirds ir NEO-6M GPS mikroshēma no u-blox. Tas var izsekot līdz 22 satelītiem 50 kanālos un sasniedz nozares augstāko jutības līmeni, ti, -161 dB izsekošanu, vienlaikus patērējot tikai 45 mA barošanas strāvu. U-blox 6 pozicionēšanas dzinējs var lepoties arī ar laiku līdz pirmajam labojumam (TTFF), kas ir mazāks par 1 sekundi. Viena no labākajām mikroshēmas piedāvātajām funkcijām ir enerģijas taupīšanas režīms (PSM). Tas ļauj samazināt sistēmas enerģijas patēriņu, selektīvi ieslēdzot un izslēdzot uztvērēja daļas. Tas ievērojami samazina moduļa enerģijas patēriņu līdz tikai 11 mA, padarot to piemērotu jaudai jutīgām lietojumprogrammām, piemēram, GPS rokas pulkstenim. Nepieciešamās NEO-6M GPS mikroshēmas datu tapas ir sadalītas līdz 0,1 ″ augstuma galvenēm. Tas ietver tapas, kas nepieciešamas saziņai ar mikrokontrolleri, izmantojot UART.

Piezīme:- Modulis atbalsta pārraides ātrumu no 4800 bps līdz 230400 bps ar noklusējuma bodu 9600.

Position Fix LED indikators

Uz GPS moduļa NEO-6M ir gaismas diode, kas norāda Position Fix statusu. Tas mirgos dažādos ātrumos atkarībā no tā stāvokļa

  1. Bez mirgošanas ==> nozīmē, ka tas meklē satelītus
  2. Mirgo ik pēc 1 s - nozīmē, ka ir atrasts Position Fix

3.3V LDO regulators

NEO-6M mikroshēmas darba spriegums ir no 2,7 līdz 3,6 V. Bet modulim ir MICREL MIC5205 īpaši zema izlaišanas 3V3 regulators. Loģikas tapas ir arī 5 voltu izturīgas, tāpēc mēs varam viegli savienot to ar Arduino vai jebkuru 5V loģikas mikrokontrolleri, neizmantojot loģikas līmeņa pārveidotāju.

Akumulators un EEPROM

Modulis ir aprīkots ar HK24C32 divu vadu sērijas EEPROM. Tas ir 4KB izmēra un savienots ar NEO-6M mikroshēmu, izmantojot I2C. Modulis satur arī uzlādējamu pogu akumulatoru, kas darbojas kā superkondensators.

EEPROM kopā ar akumulatoru palīdz saglabāt ar akumulatoru nodrošināto RAM (BBR). BBR satur pulksteņa datus, jaunākos atrašanās vietas datus (GNSS orbītas datus) un moduļa konfigurāciju. Bet tas nav paredzēts pastāvīgai datu glabāšanai.

Tā kā akumulators saglabā pulksteni un pēdējo pozīciju, laiks līdz pirmajai labošanai (TTFF) ievērojami samazinās līdz 1 s. Tas ļauj daudz ātrāk fiksēt pozīciju.

Bez akumulatora GPS vienmēr ieslēdzas auksti, tāpēc sākotnējā GPS bloķēšana aizņem vairāk laika. Akumulators tiek automātiski uzlādēts, kad tiek pievienota barošana, un saglabā datus līdz divām nedēļām bez strāvas.

Pinout

GND ir zemes tapa, un tai jābūt savienotai ar Arduino GND tapu

Sērijas sakariem tiek izmantota TxD (raidītāja) tapa

RxD (uztvērēja) tapu izmanto seriālai saziņai

VCC baro moduli. Jūs varat to tieši savienot ar Arduino 5V tapu

4. solis: Arduino Mega

Arduino ir atvērtā koda elektronikas platforma, kuras pamatā ir viegli lietojama aparatūra un programmatūra. Arduino dēļi spēj nolasīt ievadi - gaismu uz sensora, pirkstu uz pogas vai Twitter ziņu - un pārvērst to par izvadi - aktivizējot motoru, ieslēdzot LED, publicējot kaut ko tiešsaistē. Jūs varat pateikt savai padomei, kas jādara, nosūtot instrukciju kopu uz tāfeles mikrokontrollera. Lai to izdarītu, izmantojiet programmēšanas valodu Arduino (pamatojoties uz vadu) un Arduino programmatūru (IDE), kuras pamatā ir apstrāde.

Arduino Mega

Arduino Mega 2560 ir mikrokontrolleru plate, kuras pamatā ir Atmega2560.

  • Uz tāfeles ir 54 digitālās I/O tapas un 16 analogās tapas, kas padara šo ierīci unikālu un izceļas no citām. No 54 digitālajām I/O 15 tiek izmantotas PWM (impulsa platuma modulācija).
  • Uz tāfeles ir pievienots kristāla oscilators ar 16MHz frekvenci.
  • Plātnei ir USB kabeļa ports, ko izmanto, lai savienotu un pārsūtītu kodu no datora uz tāfeles.
  • Līdzstrāvas ligzda ir savienota ar plati, kas tiek izmantota plates barošanai.
  • Plātnei ir divi sprieguma regulatori, ti, 5V un 3.3V, kas nodrošina elastību sprieguma regulēšanai atbilstoši prasībām.
  • Ir atiestatīšanas poga un 4 aparatūras seriālais ports ar nosaukumu USART, kas nodrošina maksimālu ātrumu sakaru iestatīšanai.
  • Ir trīs veidi, kā barot dēli. Jūs varat vai nu izmantot USB kabeli, lai barotu plati un pārsūtītu kodu uz tāfeles, vai arī varat to ieslēgt, izmantojot paneļa Vin, vai izmantojot barošanas ligzdu vai mīklu.

Specifikācijas

Pinout

Tapas apraksts

  • 5V & 3.3V ==> Šo tapu izmanto, lai nodrošinātu izejas regulētu spriegumu ap 5V. Šis regulētais barošanas avots baro kontrolieri un citus paneļa komponentus. To var iegūt no paneļa Vin vai USB kabeļa vai cita regulēta 5 V sprieguma padeves. Kamēr citu sprieguma regulēšanu nodrošina 3.3V tapa. Maksimālā jauda, ko tā var uzņemt, ir 50 mA.
  • GND ==> Uz tāfeles ir pieejamas 5 slīpētas tapas, kas padara to noderīgu, ja projektam ir vajadzīgas vairāk nekā viena zemējuma tapas.
  • Atiestatīt ==> Šo tapu izmanto, lai atiestatītu dēli. Iestatot šo tapu uz LOW, tāfele tiks atiestatīta.
  • Vin ==> Plāksnei piegādātais ieejas spriegums svārstās no 7V līdz 20V. Spriegumam, ko nodrošina strāvas ligzda, var piekļūt caur šo tapu. Tomēr izejas spriegums caur šo tapu uz plāksni tiks automātiski iestatīts līdz 5 V.
  • Sērijas sakari ==> RXD un TXD ir sērijas tapas, ko izmanto sērijveida datu pārraidei un saņemšanai, t.i., Rx apzīmē datu pārraidi, bet Tx - datu saņemšanai. Tiek izmantotas četras šo sērijas tapu kombinācijas, ja Serail 0 satur RX (0) un TX (1), 1. sērijā ir TX (18) un RX (19), 2. sērijā ir TX (16) un RX (17), un 3. sērijā ir TX (14) un RX (15).
  • Ārējie pārtraukumi ==> Sešas tapas tiek izmantotas ārēju pārtraukumu veidošanai, ti, pārtraukums 0 (0), pārtraukums 1 (3), pārtraukums 2 (21), pārtraukums 3 (20), pārtraukums 4 (19), pārtraukums 5 (18). Šīs tapas rada pārtraukumus vairākos veidos, t.i., nodrošina ZEMU vērtību, pieaugošu vai krītošu malu vai maina vērtību pārtraukšanas tapām.
  • LED ==> Šai plāksnei ir iebūvēta gaismas diode, kas savienota ar digitālo tapu 13. Augsta vērtība pie šīs tapas iedegs LED un zemā vērtība to izslēgs.
  • AREF ==> AREF apzīmē Analog Reference Voltage, kas ir atsauces spriegums analogām ieejām.
  • Analogās tapas ==> Uz tāfeles ir iekļautas 16 analogās tapas, kas apzīmētas kā A0 līdz A15. Ir svarīgi atzīmēt, ka visas šīs analogās tapas var izmantot kā digitālās I/O tapas. Katrai analogajai tapai ir 10 bitu izšķirtspēja. Šīs tapas var izmērīt no zemes līdz 5 V. Tomēr augšējo vērtību var mainīt, izmantojot funkciju AREF un analogReference ().
  • I2C ==> Divas tapas 20 un 21 atbalsta I2C sakarus, kur 20 apzīmē SDA (sērijas datu līnija, ko galvenokārt izmanto datu glabāšanai) un 21 apzīmē SCL (sērijas pulksteņa līnija, ko galvenokārt izmanto, lai nodrošinātu datu sinhronizāciju starp ierīcēm)
  • SPI komunikācija ==> SPI apzīmē Serial Peripheral Interface, ko izmanto datu pārraidei starp kontrolieri un citiem perifērijas ierīču komponentiem. SPI komunikācijai tiek izmantotas četras tapas, ti, 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS).

5. darbība: Arduino IDE

Šeit es pieņemu, ka jūs jau esat instalējis Arduino IDE.

1. Lejupielādējiet tālāk norādīto nepieciešamo bibliotēku

TinyGPS lib

2. Pēc tā lejupielādes. Izvelciet to un pārvietojiet to uz mapi C: / Users \… / Documents / Arduino / bibliotēkas pārliecinieties, vai nav (-).

3. Atveriet Arduino IDE un nokopējiet kodu no programmas sadaļas.

4. Pēc tam atlasiet tāfeli, lai dotos uz Rīki ==> Dēļi ==> šeit atlasiet dēli, mēs izmantojam Arduino Mega 2560

5. Pēc tam, kad esat izvēlējies tāfeles portu, dodieties uz Tools ==> Ports

6. Pēc dēļa un porta izvēles noklikšķiniet uz augšupielādēt.

7. Kad kods ir augšupielādēts, atveriet seriālo termināli, lai redzētu izvadi.

6. darbība. Savienojumi

Arduino MEGA ==> NEO-6M GPS

  • 3.3V ==> VCC
  • GND ==> GND
  • Tx1 (18) ==> Rx
  • Rx (19) ==> Tx

Serial1 vietā varat izmantot arī Serial2 vai Serial3

Ieteicams: