Բովանդակություն:

Ինտերֆեյս Arduino Mega GPS մոդուլով (Neo-6M) ՝ 8 քայլ
Ինտերֆեյս Arduino Mega GPS մոդուլով (Neo-6M) ՝ 8 քայլ

Video: Ինտերֆեյս Arduino Mega GPS մոդուլով (Neo-6M) ՝ 8 քայլ

Video: Ինտերֆեյս Arduino Mega GPS մոդուլով (Neo-6M) ՝ 8 քայլ
Video: LDmicro 11: Serial LCD Temperature Controller (Microcontroller PLC Ladder Programming with LDmicro) 2024, Հունիսի
Anonim
Ինտերֆեյս Arduino Mega GPS մոդուլով (Neo-6M)
Ինտերֆեյս Arduino Mega GPS մոդուլով (Neo-6M)

Այս նախագծում ես ցույց տվեցի, թե ինչպես կարելի է միացնել GPS մոդուլը (Neo-6M) Arduino Mega- ի հետ: TinyGPS գրադարանը օգտագործվում է Երկայնության և լայնության տվյալները ցուցադրելու համար, իսկ TinyGPS ++ - ը ՝ սերիական մոնիտորի վրա լայնության, երկայնության, բարձրության, արագության և արբանյակների քանակի ցուցադրման համար:

Քայլ 1: Անհրաժեշտ բաղադրիչներ

Սարքավորումներ

  • Arduino Mega ==> 30 դոլար
  • Neo-6M GPS մոդուլ ==> 30 դոլար

Ծրագրային ապահովում

Arduino IDE

Projectրագրի ընդհանուր արժեքը 60 դոլար է

Քայլ 2: Տեղեկատվություն GPS- ի մասին

Ինչ է GPS- ը

Գլոբալ դիրքավորման համակարգը (GPS) արբանյակային նավարկության համակարգ է, որը բաղկացած է առնվազն 24 արբանյակից: GPS- ն աշխատում է ցանկացած եղանակային պայմաններում, աշխարհի ցանկացած վայրում, օրական 24 ժամ, առանց բաժանորդագրության և կարգաբերման վճարների:

Ինչպես է աշխատում GPS- ը

GPS արբանյակները օրական երկու անգամ պտտվում են Երկրի վրա ճշգրիտ ուղեծրով: Յուրաքանչյուր արբանյակ փոխանցում է յուրահատուկ ազդանշան և ուղեծրի պարամետրեր, որոնք թույլ են տալիս GPS սարքերին վերծանել և հաշվարկել արբանյակի ճշգրիտ վայրը: GPS ընդունիչներն օգտագործում են այս տեղեկատվությունը և եռապատկումը `օգտագործողի ճշգրիտ վայրը հաշվարկելու համար: Ըստ էության, GPS ընդունիչը չափում է յուրաքանչյուր արբանյակից հեռավորությունը փոխանցված ազդանշանի ստացման ժամանակի չափով: Եվս մի քանի արբանյակից հեռավորության չափման դեպքում ստացողը կարող է որոշել օգտվողի դիրքը և ցուցադրել այն:

Ձեր երկկողմանի դիրքը (լայնություն և երկայնություն) և շարժումը հետևելու համար GPS ընդունիչը պետք է կողպված լինի առնվազն 3 արբանյակների ազդանշանի վրա: 4 կամ ավելի արբանյակների տեսարան ունենալով ՝ ստացողը կարող է որոշել ձեր եռաչափ դիրքը (լայնություն, երկայնություն և բարձրություն): Ընդհանրապես, GPS ընդունիչը կհետեւի 8 կամ ավելի արբանյակների, բայց դա կախված է օրվա ժամից և երկրի վրա գտնվելու վայրից: Երբ ձեր դիրքը որոշվի, GPS միավորը կարող է հաշվարկել այլ տեղեկություններ, օրինակ

  • Արագություն
  • Կրող
  • Հետք
  • Ուղևորություն հեռ
  • Հեռավորությունը նպատակակետից

Ինչ է ազդանշանը

GPS արբանյակները փոխանցում են առնվազն 2 ցածր էներգիայի ռադիոազդանշաններ: Ազդանշանները շարժվում են տեսողության գծով, ինչը նշանակում է, որ դրանք կանցնեն ամպերի, ապակու և պլաստիկի միջով, բայց չեն անցնի շատ ամուր առարկաների, օրինակ ՝ շենքերի և լեռների միջով: Այնուամենայնիվ, ժամանակակից ընդունիչներն ավելի զգայուն են և սովորաբար կարող են հետևել տների միջով: GPS ազդանշանը պարունակում է 3 տարբեր տեսակի տեղեկատվություն

Կեղծ պատահական ծածկագիր

Դա I. D. կոդը, որը որոշում է, թե որ արբանյակն է տեղեկատվություն փոխանցում: Ձեր սարքի արբանյակային էջում կարող եք տեսնել, թե որ արբանյակներից եք ազդանշաններ ստանում:

Ephemeris տվյալները

Էֆեմերիայի տվյալները անհրաժեշտ են արբանյակի դիրքը որոշելու համար և տալիս են կարևոր տեղեկություններ արբանյակի առողջության, ընթացիկ ամսաթվի և ժամի մասին:

Օրացույցի տվյալներ

Almanac- ի տվյալները GPS ընդունիչին ասում են, թե որտեղ պետք է լինի GPS- ի յուրաքանչյուր արբանյակ օրվա ցանկացած պահի և ցույց է տալիս այդ արբանյակի և համակարգի յուրաքանչյուր այլ արբանյակի ուղեծրի տվյալները:

Քայլ 3. Neo-6M GPS մոդուլ

NEO-6M GPS մոդուլը ներկայացված է ստորև ներկայացված նկարում: Այն գալիս է արտաքին ալեհավաքով և չի գալիս վերնագրի կապում: Այսպիսով, ձեզ հարկավոր է այն կպցնել:

NEO-6M GPS մոդուլի ակնարկ

NEO-6M GPS չիպ

Մոդուլի սիրտը U-blox- ից NEO-6M GPS չիպ է: Այն կարող է հետևել մինչև 22 արբանյակ 50 ալիքների վրա և հասնում է արդյունաբերության զգայունության ամենաբարձր մակարդակին, այսինքն ՝ -161 դԲ հետևելուն, մինչդեռ սպառում է ընդամենը 45 մԱ մատակարարման հոսանք: U-blox 6 տեղադրման շարժիչը կարող է պարծենալ նաև Time-To-First-Fix (TTFF) 1 վայրկյանից պակաս ժամանակով: Չիպի տրամադրած լավագույն հատկություններից մեկը էներգախնայողության ռեժիմն է (PSM): Այն թույլ է տալիս նվազեցնել համակարգի էներգիայի սպառումը `ստացողի մասերը ընտրովի միացնելով և անջատելով: Սա կտրուկ նվազեցնում է մոդուլի էներգիայի սպառումը մինչև 11 մԱ ՝ դարձնելով այն հարմար էներգիայի նկատմամբ զգայուն ծրագրերի համար, ինչպիսիք են GPS ձեռքի ժամացույցները: NEO-6M GPS չիպի անհրաժեշտ տվյալների կապերն անջատված են 0.1 ″ սկիպիդար վերնագրերով: Սա ներառում է UART- ի միջոցով միկրոկառավարիչի հետ հաղորդակցության համար անհրաժեշտ քորոցներ:

Նշում.- Մոդուլն ապահովում է բաուդ արագություն 4800 բիթ / վ-ից մինչև 230400 բիթ / վրկ, կանխադրված բաուդ `9600:

Պաշտոնի ամրագրման LED ցուցիչ

NEO-6M GPS մոդուլի վրա կա LED, որը ցույց է տալիս Position Fix- ի կարգավիճակը: Այն կթարթվի տարբեր տեմպերով ՝ կախված նրանից, թե ինչ վիճակում է գտնվում

  1. Ոչ թարթելը ==> նշանակում է, որ որոնում է արբանյակներ
  2. Թարթել յուրաքանչյուր 1 վայրկյան - նշանակում է, որ դիրքի ամրագրումը գտնված է

3.3V LDO կարգավորիչ

NEO-6M չիպի աշխատանքային լարումը 2.7-ից 3.6V է: Բայց, մոդուլը գալիս է MICREL- ից MIC5205 ծայրահեղ ցածր 3V3 կարգավորիչով: Տրամաբանական կապերը նույնպես հանդուրժում են 5 վոլտ, այնպես որ մենք կարող ենք այն հեշտությամբ միացնել Arduino- ին կամ ցանկացած 5V տրամաբանական միկրոկառավարիչին ՝ առանց որևէ տրամաբանական մակարդակի փոխարկիչ օգտագործելու:

Մարտկոց և EEPROM

Մոդուլը հագեցած է HK24C32 երկալար սերիական EEPROM- ով: Այն 4KB չափ ունի և միացված է NEO-6M չիպին I2C- ի միջոցով: Մոդուլը պարունակում է նաև վերալիցքավորվող կոճակով մարտկոց, որը հանդես է գալիս որպես գերկոնդենսատոր:

EEPROM- ը մարտկոցի հետ միասին օգնում է պահպանել մարտկոցով ապահովված RAM- ը (BBR): BBR- ն պարունակում է ժամացույցի տվյալներ, դիրքի վերջին տվյալներ (GNSS ուղեծրի տվյալներ) և մոդուլի կազմաձևում: Բայց դա նախատեսված չէ տվյալների մշտական պահպանման համար:

Քանի որ մարտկոցը պահպանում է ժամացույցը և վերջին դիրքը, առաջին ամրացման ժամանակը (TTFF) զգալիորեն կրճատվում է մինչև 1 վ: Սա թույլ է տալիս շատ ավելի արագ կողպել դիրքերը:

Առանց մարտկոցի GPS- ը միշտ սառը գործարկում է, այնպես որ GPS- ի սկզբնական կողպումն ավելի շատ ժամանակ է պահանջում: Մարտկոցը ինքնաբերաբար լիցքավորվում է էներգիայի միացման դեպքում և պահպանում է տվյալները մինչև երկու շաբաթ առանց հոսանքի:

Pinout

GND- ը Ground Pin- ն է և պետք է միացված լինի Arduino- ի GND կապին:

TxD (հաղորդիչ) քորոցը օգտագործվում է սերիական հաղորդակցության համար:

RxD (Ստացող) քորոցը օգտագործվում է սերիական հաղորդակցության համար:

VCC- ն էներգիա է մատակարարում մոդուլի համար: Դուք կարող եք այն ուղղակիորեն միացնել Arduino- ի 5V քորոցին:

Քայլ 4: Arduino Mega

Arduino- ն բաց կոդով էլեկտրոնիկայի հարթակ է, որը հիմնված է հեշտ օգտագործման ապարատային և ծրագրային ապահովման վրա: Arduino- ի տախտակները կարող են կարդալ մուտքերը `լույս սենսորի վրա, մատը կոճակի վրա կամ Twitter հաղորդագրություն, և այն վերածել ելքի` ակտիվացնելով շարժիչը, միացնելով LED- ը, ինչ -որ բան հրապարակելով առցանց: Դուք կարող եք ասել ձեր տախտակին, թե ինչ պետք է անի ՝ մի շարք հրահանգներ ուղարկելով տախտակի վրա գտնվող միկրոկառավարիչին: Դա անելու համար դուք օգտագործում եք Arduino ծրագրավորման լեզուն (հիմնված է լարերի վրա) և Arduino ծրագրային ապահովման վրա (IDE) ՝ հիմնված մշակման վրա:

Արդուինո Մեգա

Arduino Mega 2560- ը միկրոկառավարիչների տախտակ է, որը հիմնված է Atmega2560- ի վրա:

  • Տախտակի վրա ներառված են 54 թվային I/O կապեր և 16 անալոգային կապեր, որոնք այս սարքը դարձնում են եզակի և առանձնանում են մյուսներից: 54 թվային I/O- ից 15 -ը օգտագործվում են PWM- ի համար (զարկերակի լայնության մոդուլյացիա):
  • Գրատախտակին ավելացված է 16 ՄՀց հաճախականությամբ բյուրեղային տատանում:
  • Տախտակին տրվում է USB մալուխի պորտ, որն օգտագործվում է համակարգչից ծածկը համակարգչին միացնելու և փոխանցելու համար:
  • DC հոսանքի վարդակը զուգակցված է այն տախտակի հետ, որն օգտագործվում է տախտակը սնուցելու համար:
  • Սալիկն ունի երկու լարման կարգավորիչ ՝ 5V և 3.3V, որն ապահովում է լարվածությունը կարգավորելու ճկունություն ՝ ըստ պահանջների:
  • Կա վերակայման կոճակ և 4 սարքաշարային սերիական նավահանգիստ, որը կոչվում է USART, որն արտադրում է կապի ստեղծման առավելագույն արագություն:
  • Տախտակը սնուցելու երեք եղանակ կա: Դուք կարող եք կամ օգտագործել USB մալուխ ՝ տախտակը սնուցելու և կոդը տախտակին փոխանցելու համար, կամ կարող եք այն միացնել ՝ օգտագործելով տախտակի Vin կամ Power jack կամ մարտկոցի միջոցով:

Տեխնիկական պայմաններ

Pinout

Պին նկարագրություն

  • 5V & 3.3V ==> Այս քորոցը օգտագործվում է 5V- ի սահմաններում ելքային կարգավորվող լարումը ապահովելու համար: Այս կարգավորվող էներգիայի մատակարարումը սնուցում է վերահսկիչը և տախտակի վրա գտնվող այլ բաղադրիչները: Այն կարելի է ձեռք բերել տախտակի Vin- ից կամ USB մալուխից կամ այլ կարգավորվող 5V լարման մատակարարումից: Մինչդեռ լարման մեկ այլ կարգավորումը տրամադրվում է 3.3V պինով: Առավելագույն հզորությունը, որը կարող է քաշել, 50 մԱ է:
  • GND ==> Գրատախտակին առկա են 5 հիմնային կապեր, ինչը այն օգտակար է դարձնում, երբ նախագծի համար պահանջվում է մեկից ավելի գրունտային կապում:
  • Վերականգնել ==> Այս կապը օգտագործվում է տախտակը վերակայելու համար: Այս PIN- ը LOW- ի վրա կարգավորելը կվերականգնի տախտակը:
  • Vin ==> Դա տախտակին մատակարարվող մուտքային լարումն է, որը տատանվում է 7 Վ -ից մինչև 20 Վ: Էլեկտրաէներգիայի վարդակից տրամադրվող լարումը կարելի է մուտք գործել այս կապի միջոցով: Այնուամենայնիվ, այս կապի միջոցով տախտակին ելքային լարումը ինքնաբերաբար կկարգավորվի մինչև 5 Վ:
  • Սերիական հաղորդակցություն ==> RXD և TXD- ը սերիական կապերն են, որոնք օգտագործվում են սերիական տվյալների փոխանցման և ընդունման համար, այսինքն. Rx- ը տվյալների փոխանցումն է, մինչդեռ Tx- ը ՝ տվյալներ ստանալու համար: Այս սերիական կապում օգտագործվում են չորս համակցություններ, որտեղ Serail 0 -ը պարունակում է RX (0) և TX (1), 1 -ը ՝ TX (18) և RX (19), 2 -ը ՝ TX (16) և RX (17), իսկ 3 -րդ սերիան պարունակում է TX (14) և RX (15):
  • Արտաքին ընդհատումներ ==> Վեց կապում են օգտագործվում արտաքին ընդհատումներ ստեղծելու համար, այսինքն `ընդհատում 0 (0), ընդհատում 1 (3), ընդհատում 2 (21), ընդհատում 3 (20), ընդհատում 4 (19), ընդհատում 5 (18): Այս կապումներն ընդհատումներ են առաջացնում մի շարք եղանակներով, այսինքն ՝ ապահովելով OWԱOWՐ արժեք, բարձրացող կամ նվազող եզր կամ փոփոխվող արժեք ընդհատվող կապում:
  • LED ==> Այս տախտակը գալիս է ներկառուցված LED- ով, որը միացված է թվային կապին 13. Բարձր արժեքը այս կապում միացնում է LED- ը, իսկ LOW արժեքը `այն:
  • AREF ==> AREF նշանակում է Անալոգային հղումային լարման, որը անալոգային մուտքերի համար լարման լարման է:
  • Անալոգային կապում ==> Տախտակի վրա ներառված է 16 անալոգային կապում `A0- ից A15 պիտակով: Կարևոր է նշել, որ այս բոլոր անալոգային կապերը կարող են օգտագործվել որպես թվային մուտքի/ելքային կապեր: Յուրաքանչյուր անալոգային քորոց ունի 10-բիթանոց լուծում: Այս քորոցները կարող են չափել գետնից մինչև 5 Վ: Այնուամենայնիվ, վերին արժեքը կարող է փոխվել `օգտագործելով AREF և analogReference () գործառույթը:
  • I2C ==> Երկու կապում 20 և 21 աջակցում են I2C հաղորդակցությանը, որտեղ 20 -ը ներկայացնում է SDA (Սերիական տվյալների գիծը հիմնականում օգտագործվում է տվյալների պահպանման համար) և 21 -ը `SCL (Սերիական ժամացույցի գիծ, որը հիմնականում օգտագործվում է սարքերի միջև տվյալների համաժամացման ապահովման համար)
  • SPI Communication ==> SPI նշանակում է Serial Peripheral Interface, որն օգտագործվում է վերահսկիչի և ծայրամասային այլ բաղադրիչների միջև տվյալների փոխանցման համար: Չորս կապում ՝ 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS) օգտագործվում են SPI հաղորդակցության համար:

Քայլ 5: Arduino IDE

Այստեղ ես ենթադրում եմ, որ դուք արդեն տեղադրել եք Arduino IDE- ն:

1. Ներբեռնեք ստորև բերված պահանջվող գրադարանը

TinyGPS lib

2. Ներբեռնելուց հետո: Հանել այն և տեղափոխել այն C: / Users \… / Documents / Arduino / գրադարանները համոզվեք, որ չկա (-):

3. Բացեք Arduino IDE- ն և պատճենեք ծածկագիրը ծրագրի բաժնից:

4. Այնուհետև դրա համար ընտրեք տախտակ, անցեք Գործիքներ ==> Տախտակներ ==> ընտրեք տախտակ, որտեղ մենք օգտագործում ենք Arduino Mega 2560

5. Տախտակ ընտրելուց հետո դրա համար ընտրեք նավահանգիստ: Գնացեք Գործիքներ ==> Պորտեր

6 Տախտակ և նավահանգիստ ընտրելուց հետո կտտացրեք բեռնել:

7. Երբ կոդը վերբեռնվի, բացեք սերիական տերմինալը `ելքը տեսնելու համար:

Քայլ 6: Միացումներ

Arduino MEGA ==> NEO-6M GPS

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

Կարող եք նաև օգտագործել Serial2 կամ Serial3 ՝ Serial1- ի փոխարեն

Խորհուրդ ենք տալիս: