Ուլտրաձայնային վրա հիմնված դիրքավորման համակարգ. 4 քայլ (նկարներով)
Ուլտրաձայնային վրա հիմնված դիրքավորման համակարգ. 4 քայլ (նկարներով)
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 ադապտեր

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