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

Ուլտրաձայնային վրա հիմնված դիրքավորման համակարգ. 4 քայլ (նկարներով)
Ուլտրաձայնային վրա հիմնված դիրքավորման համակարգ. 4 քայլ (նկարներով)

Video: Ուլտրաձայնային վրա հիմնված դիրքավորման համակարգ. 4 քայլ (նկարներով)

Video: Ուլտրաձայնային վրա հիմնված դիրքավորման համակարգ. 4 քայլ (նկարներով)
Video: Կեղծիքի վրա հիմնված արևմտյան քաղաքակրթության մայրամուտը 2024, Նոյեմբեր
Anonim
Ուլտրաձայնային վրա հիմնված դիրքավորման համակարգ
Ուլտրաձայնային վրա հիմնված դիրքավորման համակարգ

Ուլտրաձայնային ռադարների բոլոր տարբերակները, որոնք ես գտել եմ arduino սարքերի համար (Arduino - Radar/Ultrasonic Detector, Arduino Ultrasonic Radar Project) շատ գեղեցիկ ռադարներ են, բայց բոլորը «կույր» են: Նկատի ունեմ, որ ռադարն ինչ -որ բան է հայտնաբերում, բայց ի՞նչն է այն հայտնաբերում:

Այսպիսով, ես ինքս ինձ առաջարկում եմ զարգացնել մի համակարգ, որն ի վիճակի է հայտնաբերել օբյեկտները և նույնականացնել դրանք: Այլ կերպ ասած, տեղադրման համակարգ ՝ առանց GPS սարքերի, այլ ուլտրաձայնային դետեկտորների օգտագործման:

Սա այն արդյունքն է, որը հուսով եմ ձեզ դուր կգա:

Քայլ 1: Ինչպե՞ս է այն աշխատում:

Ինչպես է դա աշխատում?
Ինչպես է դա աշխատում?

Տեղորոշման համակարգերը ձևավորվում են երեք սենսորային կայաններից `ուլտրաձայնային դետեկտորներով և id_node 1, 2 և 3 ձևավորմամբ ուղղանկյուն կամ քառակուսի, որոնք տարածում են 90 ° անկյուն, և որտեղ նրանց միջև եղած հեռավորությունները հայտնի են, ինչպես ցույց է տրված նկար 1 -ում:

const float distancebetween1and2 = 60.0;

const float distancebet22 և3 = 75.0;

Այս սենսորները չափում են 3 -ից մեծ id_node ունեցող այլ օբյեկտների հեռավորությունը և անկյունը, որոնք ունեն նաև ուլտրաձայնային դետեկտոր, որն անցնում է 170 ° անկյան տակ:

Նրանք բոլորը հեռավորությունները, չափված անկյունները և id_node- ն ուղարկում են մեկ այլ գլխավոր կայան `օգտագործելով անլար հաղորդակցությունները` վերլուծելու, եռանկյունաչափության հաշվարկման միջոցով օբյեկտների դիրքը հաշվարկելու և դրանք նույնականացնելու համար:

Միջամտություններից խուսափելու համար գլխավոր կայանը համաժամացնում է բոլոր ուլտրաձայնային դետեկտորները այնպես, որ յուրաքանչյուր պահի չափում է միայն մեկ ուլտրաձայնային դետեկտոր

Դրանից հետո և սերիական հաղորդակցության միջոցով գլխավոր կայանը տեղեկատվությունը (անկյուն, հեռավորություն, id_object) ուղարկում է մշակման ուրվագծին `արդյունքները գծելու համար:

Քայլ 2. Ինչպես կարգավորել երեք սենսորային կայանները և օբյեկտները

Ինչպես կարգավորել երեք սենսորային կայանները և օբյեկտները
Ինչպես կարգավորել երեք սենսորային կայանները և օբյեկտները
Ինչպես կարգավորել երեք սենսորային կայանները և օբյեկտները
Ինչպես կարգավորել երեք սենսորային կայանները և օբյեկտները

Յուրաքանչյուր սենսորային կայանի միակ գործառույթն է օբյեկտների հայտնաբերումը և հիմնական կայանին չափվող հեռավորության, անկյունի և id հանգույցի ցուցակի ուղարկումը:

Այսպիսով, դուք պետք է թարմացնեք հայտնաբերման առավելագույն թույլատրելի հեռավորությունը («վավերական_մաքս_հեռավորություն») և նվազագույնը («վավերական_միջ_հեռավորություն») (սանտիմետր) ՝ հայտնաբերումը բարելավելու և հայտնաբերման գոտին սահմանափակելու համար.

int վավեր_մաքս_հեռավորություն = 80;

int valid_min_distance = 1;

Այս տվիչ կայանների id հանգույցը («այս_ հանգույցը» ստորև բերված ծածկագրում) 1, 2 և 3 են, իսկ հիմնական կայանի id հանգույցը ՝ 0:

const uint16_t այս_հանգույց = 01; // Մեր հանգույցի հասցեն Octal ձևաչափով (Node01, Node02, Node03)

const uint16_t այլ_հանգույց = 00; // Հիմնական հանգույցի հասցեն (Node00) Octal ձևաչափով

Յուրաքանչյուր սենսորային կայան սրբում է և 100º անկյուն (ներքևի ծածկագրում `« max_angle »)

#սահմանել min_angle 0

#սահմանել առավելագույն_անկյուն 100

Ինչպես վերևում, օբյեկտի միակ գործառույթն է օբյեկտների հայտնաբերումը և հեռավորությունների, անկյունների և id օբյեկտի ցուցակի ուղարկում հիմնական կայանին: Մեկ օբյեկտի (ստորև բերված ծածկագրի «այս_հանգույցը») ID- ն պետք է լինի 3 -ից մեծ:

Յուրաքանչյուր օբյեկտ ավլում է և 170º անկյուն, և ինչպես վերևում, հնարավոր է թարմացնել հայտնաբերման առավելագույն և նվազագույն հեռավորությունը:

const uint16_t այս_հանգույց = 04; // Մեր հանգույցի հասցեն Octal ձևաչափով (Node04, Node05,…)

const uint16_t այլ_հանգույց = 00; // Հիմնական հանգույցի հասցեն (Node00) Octal ձևաչափով int valid_max_distance = 80; int valid_min_distance = 1; #սահմանել նվազագույն_անկյուն 0 #սահմանել առավելագույն_անկյուն 170

Քայլ 3. Ինչպես կարգավորել գլխավոր կայանը

Ինչպես կարգավորել Master Station- ը
Ինչպես կարգավորել Master Station- ը
Ինչպես կարգավորել Master Station- ը
Ինչպես կարգավորել Master Station- ը
Ինչպես կարգավորել Master Station- ը
Ինչպես կարգավորել Master Station- ը

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

Նախ պետք է թարմացնել սենսոր 1 -ի և 2 -ի և 2 -ից 3 -ի միջև հեռավորությունը (սանտիմետր):

const float distancebetween1and2 = 60.0;

const float distancebet22 և3 = 70.0;

Էսքիզը օբյեկտների դիրքը հաշվարկում է հետևյալ կերպ.

  • Օբյեկտների բոլոր փոխանցումների համար (id_node 3 -ից մեծ) ուլտրաձայնային տվիչների յուրաքանչյուր փոխանցման մեջ փնտրեք նույն հեռավորությունը (id_node 1, 2 կամ 3):
  • Այս բոլոր կետերը կազմում են «թեկնածուների» ցուցակ (հեռավորություն, անկյուն, id_node), որը պետք է լինի մեկ օբյեկտի դիրքը (էսքիզում «« գործընթացի_օբյեկտ_պատկերային ցուցիչով »):
  • Նախորդ ցուցակի յուրաքանչյուր «թեկնածուի» համար «թեկնածու_ընտրված_միջև_սենսոր 2 և 3» գործառույթը հաշվարկում է ուլտրաձայնային սենսոր 2 -ի և 3 -ի տեսանկյունից, որոնցից որևէ մեկը համապատասխանում է հետևյալ եռանկյունաչափության վիճակին (տե՛ս նկարներ 2 և 3)

float distancefroms2 = մեղք (ռադիաններ (անկյուն)) * հեռավորություն;

float distancefroms3 = cos (ռադիաններ (անկյունային_թեկնածու)) * distance_candidate; // Եռանկյունաչափության պայման 1 abs

Ինչպես վերևում, նախորդ ցուցակի յուրաքանչյուր «թեկնածուի» համար «թեկնածու_ընտրված_միջև_սենսոր 1 և 2» գործառույթը հաշվարկում է ուլտրաձայնային սենսոր 1 -ի և 2 -ի տեսանկյունից, որոնցից որևէ մեկը համապատասխանում է հետևյալ եռանկյունաչափական հարաբերություններին (տե՛ս նկար 2 և 3)

float distancefroms1 = sin (radians (անկյուն)) * distance; float distancefroms2 = cos (radians (angle_candidate)) * distance_candidate; // Եռանկյունաչափության վիճակ 2 աբս (հեռավորությունից 1 + հեռավորություն 2 - հեռավորությունը 1 և 2) <= բոց (առավելագույն_տարբերություն_հեռավորություն)

Միայն այն թեկնածուները (հեռավորությունը, անկյունը, id_node), որոնք համապատասխանում են եռանկյունաչափության 1 -ին և 2 -րդ պայմաններին, նույնականացված օբյեկտներ են, որոնք հայտնաբերվել են սենսորային կայանների կողմից 1, 2 և 3:

Դրանից հետո արդյունքները գլխավոր կայանի կողմից ուղարկվում են մշակման ուրվագծի `դրանք գծագրելու համար:

Քայլ 4: Նյութերի ցանկ

Image
Image

Մեկ սենսորային կայանի կամ մեկ օբյեկտի համար անհրաժեշտ նյութերի ցանկը հետևյալն է.

  • Նանո տախտակ
  • Ուլտրաձայնային ցուցիչ
  • Միկրո servo շարժիչ
  • NRF24L01 անլար մոդուլ
  • NRF24L01 ադապտեր

իսկ հիմնական կայանի համար նյութերի ցանկը հետևյալն է.

  • Նանո տախտակ
  • NRF24L01 անլար մոդուլ
  • NRF24L01 ադապտեր

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