![Հրթիռային հեռաչափություն/դիրքի հետևող ՝ 7 քայլ Հրթիռային հեռաչափություն/դիրքի հետևող ՝ 7 քայլ](https://i.howwhatproduce.com/images/005/image-13175-11-j.webp)
Բովանդակություն:
2025 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2025-01-23 14:48
![Հրթիռային հեռաչափություն/դիրքի հետևող Հրթիռային հեռաչափություն/դիրքի հետևող](https://i.howwhatproduce.com/images/005/image-13175-12-j.webp)
Այս նախագիծը նախատեսված է թռիչքի տվյալները մուտքագրել 9 DOF սենսորային մոդուլից SD քարտ և միաժամանակ փոխանցել իր GPS տեղադրությունը բջջային ցանցերի միջոցով սերվերին: Այս համակարգը թույլ է տալիս գտնել հրթիռը, եթե համակարգի վայրէջքի տարածքը գտնվում է LOS- ից դուրս:
Քայլ 1: Մասերի ցուցակ
![Մասերի ցուցակ Մասերի ցուցակ](https://i.howwhatproduce.com/images/005/image-13175-13-j.webp)
![Մասերի ցուցակ Մասերի ցուցակ](https://i.howwhatproduce.com/images/005/image-13175-14-j.webp)
Հեռաչափության համակարգ
1x ATmega328 միկրոկառավարիչ (Arduino UNO, Նանո)
1x Micro SD Breakout -
1x Micro SD քարտ - (չափը նշանակություն չունի FAT 16/32 ձևաչափով) - Amazon Link
1x Gy -86 IMU - Amazon Link
Պաշտոնի հետևում
1x ATmega328 միկրոկառավարիչ (Arduino UNO, Nano) (յուրաքանչյուր համակարգին անհրաժեշտ է իր միկրո)
1x Sim800L GSM GPRS մոդուլ - Amazon Link
1x SIM քարտ (պետք է ունենա տվյալների պլան) - https://ting.com/ (վճարում է միայն օգտագործման համար)
1x NEO 6M GPS մոդուլ - Amazon LInk
Ընդհանուր մասեր
1x 3.7 վ լիպո մարտկոց
1x 3.7-5v արագացման փոխարկիչ (եթե դուք չեք կառուցում համակարգիչը)
1x Raspberry pi կամ ցանկացած համակարգիչ, որը կարող է ընդունել php սերվեր
-Մատչելիություն 3D տպիչին
-PCB- ի BOM- ը նշված է աղյուսակում
-Gerbers- ը github repo- ում է -https://github.com/karagenit/maps-gps
Քայլ 2. Ենթահամակարգ 1. Դիրքի հետևում
Փորձարկում
Համակարգի մասերը (NEO-6M GPS, Sim800L) ձեռքի տակ ունենալուց պետք է ինքնուրույն ստուգել համակարգերի ֆունկցիոնալությունը, որպեսզի գլխացավ չունենաք ՝ փորձելով հասկանալ, թե ինչ չի աշխատում համակարգերը ինտեգրվելիս:
GPS թեստավորում
GPS ընդունիչը փորձարկելու համար կարող եք կամ օգտագործել Ublox- ի կողմից տրամադրված ծրագրակազմը (U-Center Software)
կամ թեստային ուրվագիծը, որը կապված է github ռեպոյում (GPS թեստ)
1. U- կենտրոնի ծրագրակազմով փորձարկելու համար պարզապես միացրեք GPS ընդունիչը USB- ի միջոցով և ընտրեք U- կենտրոնի մուտքի պորտը, որից հետո համակարգը պետք է ինքնաբերաբար սկսի հետևել ձեր տեղադրությանը:
2. Միկրոհսկիչի հետ փորձարկելու համար IDE- ի միջոցով վերբեռնեք GPS- փորձարկման էսքիզը arduino- ում: Այնուհետև միացրեք 5V և GND ստացողի պիտակավորված կապումներին arduino- ին, իսկ GPS RX կապը ՝ թվային 3 -ին և TX կապին ՝ թվային 4 -ին arduino- ում: Վերջապես բացեք arduino IDE- ի սերիական մոնիտորը և սահմանեք բաուդ արագությունը 9600 -ի վրա և ստուգեք ստացված կոորդինատների ճիշտ լինելը:
Նկ.
SIM800L թեստավորում
Բջջային մոդուլը փորձարկելու համար ձեզ հարկավոր կլինի ունենալ SIM քարտ `գրանցված ակտիվ տվյալների պլանով: Ես խորհուրդ եմ տալիս Ting- ին, քանի որ դրանք գանձում են միայն ձեր օգտագործածի համար` ամսական տվյալների ծրագրի փոխարեն:
Sim մոդուլի նպատակը HTTP GET հարցում ուղարկելը սերվերին այն հասցեով, որը ստացվել է GPS ստացողի կողմից:
1. Բջջային մոդուլը փորձարկելու համար տեղադրեք SIM քարտը մոդուլի մեջ `ճեղքված ծայրը դեպի դուրս
2. Միացրեք SIM մոդուլը GND- ին և 3.7-4.2v աղբյուրին, մի օգտագործեք 5v !!!! մոդուլը ի վիճակի չէ աշխատելու 5 վ լարման դեպքում: Միացրեք Sim մոդուլը RX- ին անալոգային 2 -ին և TX- ը `անալոգային 3 -ին Arduino- ում
3. Վերբեռնեք սերիական փոխանցման ուրվագիծը github- ից, որպեսզի կարողանաք հրամաններ ուղարկել բջջի մոդուլին:
4. հետևեք այս ձեռնարկին կամ ներբեռնեք AT Command Tester- ի փորձաշրջանը `HTTP GET գործառույթը ստուգելու համար
Իրականացում:
Երբ հաստատեք, որ երկու համակարգերն էլ աշխատում են ինքնուրույն, կարող եք անցնել ամբողջական ուրվագծի վերբեռնումը միկրոկառավարիչի github- ում: կարող եք բացել սերիական մոնիտորը 9600 baud հասցեով ՝ ստուգելու համար, որ համակարգը տվյալներ է ուղարկում վեբ սերվեր:
*մի մոռացեք փոխել սերվերի IP- ն և նավահանգիստը ձեր սեփականին և համոզվեք, որ գտեք ձեր օգտագործած բջջային մատակարարի APN- ը:
Անցեք հաջորդ քայլին, որտեղ մենք կարգավորում ենք սերվերը
Քայլ 3: Սերվերի տեղադրում
![Սերվերի կարգավորում Սերվերի կարգավորում](https://i.howwhatproduce.com/images/005/image-13175-15-j.webp)
Հրթիռի գտնվելու վայրը ցուցադրելու համար սերվեր տեղադրելու համար ես որպես տանտեր օգտագործեցի ազնվամորի pi, բայց դուք կարող եք օգտագործել ցանկացած համակարգիչ:
Հետևեք այս ձեռնարկին ՝ lightphp- ը RPI- ի վրա տեղադրելու վերաբերյալ, այնուհետև պատճենեք php ֆայլերը github- ից ձեր RPI/var/www/html թղթապանակում: Պարզապես օգտագործեք հրամանը
sudo ծառայություն lighttpd force-reload
սերվերը վերաբեռնելու համար:
Համոզվեք, որ փոխանցեք սերվերի հետ կապված նավահանգիստները ձեր երթուղղիչին, որպեսզի կարողանաք հեռակա մուտք գործել տվյալներ: Rpi- ի վրա այն պետք է լինի 80 նավահանգիստ, իսկ արտաքին պորտը կարող է լինել կամայական թիվ:
Լավ գաղափար է RPI- ի համար ստեղծել ստատիկ ip, այնպես որ ձեր առաջ քաշած նավահանգիստները միշտ մատնանշում են դեպի RPI հասցեն:
Քայլ 4. ենթահամակարգ 2. Հեռաչափության գրանցում
Հեռաչափության ծրագիրը գործում է դիրքի հետևման համակարգից առանձին միկրոկոնտրոլերի վրա: Այս որոշումը կայացվեց ATmega328- ի հիշողության սահմանափակման պատճառով, որը թույլ չտվեց երկու ծրագրերին աշխատել մեկ համակարգով: Ընդլայնված բնութագրերով միկրոկոնտրոլերի մեկ այլ ընտրություն կարող է լուծել այս հարցը և թույլ տալ օգտագործել մեկ կենտրոնական պրոցեսոր, բայց ես ցանկանում էի օգտագործել այն մասերը, որոնք ձեռքի տակ ունեի ՝ օգտագործման հարմարավետության համար:
Առանձնահատկություններ. Այս ծրագիրը հիմնված է մեկ այլ օրինակի վրա, որը ես գտել եմ այստեղ այստեղ:
- Programրագիրը բնիկորեն կարդում է հարաբերական բարձրությունը (բարձրության ընթերցում ՝ զրոյական սկզբի ժամանակ), ջերմաստիճանը, ճնշումը, արագացումը X ուղղությամբ (դուք պետք է փոխեք արագացման ընթերցման ուղղությունը ՝ ելնելով սենսորի ֆիզիկական կողմնորոշումից) և ժամանակային նշան (միլիլ):
- Գործարկման վահանակի վրա նստած և պահեստային տարածք վատնելիս տվյալների մուտքագրումը կանխելու համար համակարգը կսկսի գրել տվյալները միայն այն դեպքում, երբ հայտնաբերում է բարձրության փոփոխություն (կարգավորելի է ծրագրում) և կդադարեցնի տվյալների գրումը, երբ հայտնաբերի, որ հրթիռը վերադարձել է իր սկզբնականին: բարձրության վրա, կամ թռիչքի ժամանակը 5 րոպե անցնելուց հետո:
- Համակարգը ցույց կտա, որ այն միացված է և գրում է տվյալները մեկ ցուցիչ LED- ի միջոցով:
Փորձարկում
Համակարգը փորձարկելու համար նախ միացրեք SD քարտի բեկումը
Arduino SD քարտ
Փին 4 ---------------- CS
Պին 11 -------------- DI
Պին 13 -------------- SCK
Պին 12 -------------- ԱՆԵԼ
Այժմ միացրեք GY-86- ը համակարգին I^2C- ի միջոցով
Arduino GY-86
Pin A4 -------------- SDA
Pin A5 -------------- SCL
Պին 2 ---------------- INTA
SD քարտի վրա ֆայլ ստեղծեք datalog.txt անունով հիմնական գրացուցակում: Սա այն համակարգն է, որտեղ տվյալները կգրվեն:
Նախքան Data_Logger.ino էսքիզը միկրոկառավարիչին վերբեռնելը փոխեք ALT_THRESHOLD- ի արժեքը 0 -ի, այնպես որ համակարգը փորձարկումների համար անտեսի բարձրությունը: Վերբեռնելուց հետո բացեք սերիական մոնիտորը 9600 baud հասցեով `համակարգի ելքը դիտելու համար: Համոզվեք, որ համակարգը ի վիճակի է միանալ սենսորին, և որ տվյալները գրվում են SD քարտի վրա: Անջատեք համակարգը և տեղադրեք SD քարտը ձեր համակարգչի մեջ `ստուգելու համար, որ տվյալները գրված են քարտի վրա:
Քայլ 5: Համակարգի ինտեգրում
![Համակարգի ինտեգրում Համակարգի ինտեգրում](https://i.howwhatproduce.com/images/005/image-13175-16-j.webp)
![Համակարգի ինտեգրում Համակարգի ինտեգրում](https://i.howwhatproduce.com/images/005/image-13175-17-j.webp)
Հաստատելուց հետո, որ համակարգի յուրաքանչյուր հատված աշխատում է նույն կոնֆիգուրացիայով, որն օգտագործվում է հիմնական PCB- ում, ժամանակն է այդ ամենը համախմբելու և գործարկման պատրաստվելու համար: Ես ներառել եմ Gerbers և EAGLE ֆայլերը PCB- ի համար և սխեմատիկ github- ում: դուք պետք է գերբերները վերբեռնեք այնպիսի արտադրողի մոտ, ինչպիսին է OSH park- ը կամ JLC- ն `դրանք արտադրելու համար: Այս տախտակները երկու շերտ են և բավական փոքր են, որպեսզի տեղավորվեն արտադրողների մեծ մասում ՝ 10 սմ x 10 սմ էժան տախտակների համար:
Արտադրությունից հետո տախտակները վերադարձնելուց ժամանակն է, որ աղյուսակում պարունակվող բոլոր բաղադրիչները և մասերի ցուցակը սոսնձեք տախտակին:
Programրագրավորում
Ամեն ինչ կպցնելուց հետո ձեզ հարկավոր կլինի ծրագրերը վերբեռնել երկու միկրոկոնտրոլերների վրա: Տախտակի տարածքը խնայելու համար ես ոչ մի USB ֆունկցիոնալություն չներառեցի, բայց թողեցի ICSP- ի և սերիական նավահանգիստների խզումը, որպեսզի դուք դեռ կարողանաք վերբեռնել և վերահսկել ծրագիրը:
- Uploadրագիրը վերբեռնելու համար հետևեք այս ձեռնարկին ՝ Arduino տախտակը որպես ծրագրավորող օգտագործելու վերաբերյալ: Վերբեռնեք SimGpsTransmitter.ino- ն ICSP_GPS պորտին և Data_Logger.ino- ն ICSP_DL նավահանգստին (PCB- ի ICSP նավահանգիստը նույն դասավորությունն է, ինչ Arduino UNO- ի ստանդարտ տախտակներում):
-
Բոլոր ծրագրերը վերբեռնվելուց հետո կարող եք սարքը սնուցել մարտկոցի մուտքից 3.7-4.2 Վ լարման միջոցով և օգտագործել 4 ցուցիչային լույսերը `համակարգը աշխատելու համար:
- Առաջին երկու լույսերը ՝ 5V_Ok և VBATT_OK, ցույց են տալիս, որ մարտկոցը և 5 վ ռելսերը սնվում են:
- Երրորդ լույսը DL_OK կթարթվի յուրաքանչյուր 1 վայրկյանում ՝ նշելու համար, որ հեռաչափության գրանցումն ակտիվ է:
- Բջջային և GPS մոդուլները միացված լինելուց և տվյալները սերվեր ուղարկվելուն պես SIM_Transmit- ի վերջին լույսը կմիանա:
Քայլ 6: Շրջափակում
![Պարիսպ Պարիսպ](https://i.howwhatproduce.com/images/005/image-13175-18-j.webp)
Հրթիռը, որի շուրջ ես նախագծում եմ այս նախագիծը, ունի 29 մմ ներքին տրամագիծ, որպեսզի պաշտպանվի էլեկտրոնիկան և թույլ տա, որ հավաքումը տեղավորվի հրթիռի գլանաձև մարմնի մեջ, ես պատրաստեցի մի պարզ երկու մասի եռաչափ պատյան, որը ամրացված է իրարով և ունի ցուցիչի լույսերի դիտման նավահանգիստներ: Տպագրման և օրիգինալ.ipt ֆայլերը գտնվում են github ռեպոյում: Ես դա չեմ մոդելավորել, քանի որ վստահ չէի այն մարտկոցի մասին, որն այն ժամանակ կօգտագործեի, բայց ձեռքով ստեղծեցի 120 մԱ / ժ մարտկոցի փոս, որը պատուհանի ներքևի հետ համընկնում էր: Այս մարտկոցը համակարգի աշխատանքի համար տևում է 45 րոպե min 200 մԱ էներգիա
Քայլ 7: Եզրակացություն
Այս նախագիծը երկու առանձին համակարգերի բավականին անմիջական իրականացում էր, քանի որ ես պարզապես օգտագործում էի Amazon- ում հայտնաբերված առանձին մոդուլներ: համակարգի ընդհանուր ինտեգրումը մի փոքր անբավարար է, քանի որ նախագծի ընդհանուր չափը բավականին մեծ է այն բանի համար, ինչ անում է: Որոշ արտադրողների առաջարկներին նայելը, SIP- ի օգտագործումը, որը ներառում է ինչպես բջջային, այնպես էլ GPS- ը, զգալիորեն կնվազեցնի փաթեթի ընդհանուր չափը:
Ես վստահ եմ, որ թռիչքի ավելի շատ փորձարկումներից հետո ես ստիպված կլինեմ որոշ փոփոխություններ կատարել ծրագրում և վստահ կլինեմ, որ ցանկացած փոփոխությամբ կթարմացնեմ Github- ի ռեպոն:
Հուսով եմ, որ ձեզ դուր եկավ այս նախագիծը, ազատ զգալ կապվեք ինձ հետ այն հարցերի դեպքում, որոնք կարող են ունենալ:
Խորհուրդ ենք տալիս:
Հեծանիվների մեկնարկի դիրքի ցուցիչ Magicbit [Magicblocks] - ից `8 քայլ
![Հեծանիվների մեկնարկի դիրքի ցուցիչ Magicbit [Magicblocks] - ից `8 քայլ Հեծանիվների մեկնարկի դիրքի ցուցիչ Magicbit [Magicblocks] - ից `8 քայլ](https://i.howwhatproduce.com/images/002/image-3509-j.webp)
Bicycle Kickstand Position Sensor From Magicbit [Magicblocks]. Պարզ DIY նախագիծ ՝ Magicbit- ի միջոցով օգտագործելով Magicbit- ով Kickstand Position Sensor- ը: Մենք օգտագործում ենք magicbit- ը որպես զարգացման տախտակ այս նախագծում, որը հիմնված է ESP32- ի վրա: Հետևաբար, այս նախագծում կարող է օգտագործվել ցանկացած ESP32 տախտակ
Պատվերով պտտվող անիվ (կաթսա ՝ որպես դիրքի ցուցիչ) ՝ 10 քայլ
![Պատվերով պտտվող անիվ (կաթսա ՝ որպես դիրքի ցուցիչ) ՝ 10 քայլ Պատվերով պտտվող անիվ (կաթսա ՝ որպես դիրքի ցուցիչ) ՝ 10 քայլ](https://i.howwhatproduce.com/images/002/image-5438-j.webp)
Custom Stering Wheel (pot as Position Sensor). Հերքում. Մի մեղադրեք ինձ քայլ առ քայլ ցույց չտալու համար, սա ենթադրվում է, որ հղում է, և ես պարզապես ասում եմ այն, ինչ արել եմ և արդյունքը, այն ունի որոշ հիմնական թերություններ, ինչպիսիք են աղմուկ, այնպես որ մի արեք այնպես, ինչպես ես եմ արել և ակնկալեք հիանալի արդյունք, և զ
Դիրքի վրա հիմնված բազմաֆունկցիոնալ խորանարդի ժամացույց ՝ 5 քայլ (նկարներով)
![Դիրքի վրա հիմնված բազմաֆունկցիոնալ խորանարդի ժամացույց ՝ 5 քայլ (նկարներով) Դիրքի վրա հիմնված բազմաֆունկցիոնալ խորանարդի ժամացույց ՝ 5 քայլ (նկարներով)](https://i.howwhatproduce.com/images/002/image-4563-8-j.webp)
Պաշտոնի վրա հիմնված բազմաֆունկցիոնալ խորանարդի ժամացույց. Սա Arduino- ի վրա հիմնված ժամացույց է, որն ունի OLED էկրան, որը գործում է որպես ժամացույց ամսաթվով, որպես ցերեկային ժամացույց և գիշերային լույս: Տարբեր " գործառույթներ " վերահսկվում են արագացուցիչով և ընտրվում են խորանարդի ժամացույցը պտտելով
Ինչպես փոխարկել 8Ch PWM- ը զարկերակային դիրքի մոդուլյացիայի `4 քայլ
![Ինչպես փոխարկել 8Ch PWM- ը զարկերակային դիրքի մոդուլյացիայի `4 քայլ Ինչպես փոխարկել 8Ch PWM- ը զարկերակային դիրքի մոդուլյացիայի `4 քայլ](https://i.howwhatproduce.com/images/006/image-16960-j.webp)
Ինչպես փոխակերպել 8Ch PWM- ը զարկերակային դիրքի մոդուլյացիայի. Մենք կվերանայենք ռադիոընդունիչների 2 ելքային ազդանշանի ձևաչափերը `ռադիոկառավարվող մոդելների (կամ RC մոդելների) համար: Ավանդական և ամենատարածված ընդունիչ ազդանշանն է PWM- ը, և սովորաբար PWM- ն մեկ ալիքի համար պահանջում է ընդամենը մեկ լար: PPM ազդանշանն այժմ դառնում է ավելի արագ
Remերմաստիճանի հեռաչափություն ՝ 6 քայլ
![Remերմաստիճանի հեռաչափություն ՝ 6 քայլ Remերմաստիճանի հեռաչափություն ՝ 6 քայլ](https://i.howwhatproduce.com/images/010/image-29276-j.webp)
Այս նախագծում MKR 1400- ն օգտագործվում է 3 DHT 22 սենսորների կառավարման և արդյունքը հաղորդելու համար բջջային հեռախոսի համարի հետ (ցույց կտամ որտեղ): Temերմաստիճանը DHT 22 -ից վերցված միակ տվյալն է, բայց հետաքրքիր է