Dviejų jutiklių aido ieškiklis: 7 žingsniai (su nuotraukomis)
Dviejų jutiklių aido ieškiklis: 7 žingsniai (su nuotraukomis)
Anonim
Image
Image
Dviejų jutiklių aido ieškiklis
Dviejų jutiklių aido ieškiklis
Dviejų jutiklių aido ieškiklis
Dviejų jutiklių aido ieškiklis

Šioje instrukcijoje paaiškinama, kaip tiksliai nustatyti objekto vietą naudojant „Arduino“, du ultragarsinius jutiklius ir Herono trikampių formulę. Nėra judančių dalių.

Herono formulė leidžia apskaičiuoti bet kurio trikampio, kurio visos kraštinės yra žinomos, plotą. Kai žinote trikampio plotą, galite apskaičiuoti vieno objekto padėtį (palyginti su žinoma pradine linija), naudodami trigonometriją ir Pitagorą.

Tikslumas puikus. Galimi dideli aptikimo plotai, naudojant dažniausiai prieinamus ultragarso jutiklius HC-SR04 arba HY-SRF05.

Konstrukcija paprasta … tereikia aštraus peilio, dviejų grąžtų, lituoklio ir medžio pjūklo.

Vaizdai

  • Vaizdo įraše rodomas veikiantis įrenginys.
  • 1 nuotraukoje parodytas surinktas „aido ieškiklis“
  • 2 nuotraukoje rodomas tipiškas ekranas. Objektas yra raudonas (mirksi) taškas.
  • 3 nuotraukoje parodyta vaizdo testo sąranka. Norint visiškai „apšviesti“aptikimo zoną garsu, reikėjo pastatyti du HY-SRF05 ultragarsinius jutiklius 50 cm žemiau bazinės linijos.

1 žingsnis: laidų schema

Elektros schema
Elektros schema

1 nuotraukoje parodyta „dvigubo jutiklio aido ieškiklio“prijungimo schema.

Jutiklis B tampa „pasyvus“, uždėjus kelis sluoksnius maskavimo juostos virš perdavimo (T) keitiklio. Ši juosta blokuoja ultragarso garsą, kuris kitu atveju būtų skleidžiamas.

2 žingsnis: dalių sąrašas

Dalių sąrašas
Dalių sąrašas

Kaip parodyta 1 nuotraukoje, norint užbaigti šį projektą reikia labai nedaug dalių:

Šios dalys buvo gautos iš

  • 1 tik „Arduino Uno R3“su USB kabeliu
  • 2 tik HY-SRF05 arba HC-SR04, ultragarsiniai keitikliai

Šios dalys buvo gautos vietoje:

  • 1 tik vyrų arduino antraštės juostelė
  • 2 tik moterų arduino antraštės juostelės
  • 2 tik aliuminio laužo gabalėliai
  • 2 tik nedideli medžio gabalai
  • 2 tik maži varžtai
  • 3 tik kabelių jungtys
  • Tik 4 ilgio plastikine dengta viela (įvairių spalvų) [1]

Pastaba

[1]

Bendras kiekvieno laido ilgis turi būti lygus norimam atstumui tarp jutiklių plius nedidelis litavimo kiekis. Tada laidai susukami, kad susidarytų kabelis.

3 žingsnis: teorija

Teorija
Teorija
Teorija
Teorija
Teorija
Teorija

Sijos modeliai

1 nuotraukoje pavaizduoti keitiklio A ir keitiklio B spindulių modeliai.

Jutiklis A gaus aidą iš bet kurio „raudonos zonos“objekto.

Jutiklis B gaus aidą tik tuo atveju, jei objektas yra „violetinės spalvos zonoje“. Už šios srities ribų neįmanoma nustatyti objekto koordinatės. [1]

Didelės „violetinės“aptikimo sritys yra įmanomos, jei jutikliai yra plačiai išdėstyti.

Skaičiavimai

Remiantis 2 nuotrauka:

Bet kurio trikampio plotą galima apskaičiuoti pagal formulę:

plotas = pagrindas*aukštis/2 ……………………………………………………………………. (1)

Pertvarkymo lygtis (1) suteikia mums aukštį (Y koordinatė):

aukštis = plotas*2/bazė ……………………………………………………………………. (2)

Kol kas viskas gerai … bet kaip apskaičiuoti plotą?

Atsakymas yra išdėstyti du ultragarsinius keitiklius žinomu atstumu vienas nuo kito (bazinė linija) ir išmatuoti kiekvieno jutiklio atstumą nuo objekto naudojant ultragarsą.

2 nuotraukoje parodyta, kaip tai įmanoma.

Keitiklis A siunčia impulsą, kuris atšoka nuo objekto visomis kryptimis. Šį impulsą girdi ir keitiklis A, ir keitiklis B. Joks impulsas iš keitiklio B nesiunčiamas … jis tik klauso.

Grįžimo kelias į keitiklį A rodomas raudonai. Padalijus iš dviejų ir atsižvelgus į garso greitį, galime apskaičiuoti atstumą „d1“pagal formulę: [2]

d1 (cm) = laikas (mikrosekundės)/59 ……………………………………………… (3)

Kelias į keitiklį B rodomas mėlyna spalva. Jei iš šio kelio ilgio atimsime atstumą „d1“, gausime atstumą „d2“. „D2“apskaičiavimo formulė yra tokia: [3]

d2 (cm) = laikas (mikrosekundės/29,5 - d1 …………………………………….. (4)

Dabar turime visų trijų trikampio ABC kraštinių ilgį … įveskite „Heron“

Herono formulė

Herono formulėje naudojamas vadinamasis „pusiau perimetras“, kuriame pridedate kiekvieną iš trijų trikampio kraštinių ir padalijate rezultatą iš dviejų:

s = (a+b+c)/2 ……………………………………………………………………………. (5)

Dabar plotą galima apskaičiuoti pagal šią formulę:

plotas = kv. (s*(s-a)*(s-b)*(s-c)) ……………………………………………………. (6)

Kai žinome plotą, galime apskaičiuoti aukštį (Y koordinatę) pagal aukščiau pateiktą (2) lygtį.

Pitagoras

Dabar X koordinatę galima apskaičiuoti nuleidžiant statmeną nuo trikampio viršūnės iki pradinės linijos, kad būtų sukurtas stačiakampis trikampis. Dabar X koordinatę galima apskaičiuoti naudojant Pitagorą:

c1 = kv. (b2 - h2) ……………………………………………………………….. (7)

Pastabos

[1]

Tikslinę zoną galima visiškai „apšviesti“garsu, pastatant jutiklius žemiau bazinės linijos.

[2]

Konstantos vertė 59 gaunama taip:

Garso greitis yra maždaug 340 m/s, tai yra 0,034 cm/uS (centimetrai/mikrosekundas).

Abipusis 0,034 cm/uS yra 29,412 uS/cm, kuris, padauginus iš 2, kad būtų pasiektas grįžimo kelias, suapvalinus yra 58,824 arba 59.

Ši vertė gali būti padidinta/sumažinta atsižvelgiant į oro temperatūrą, drėgmę ir slėgį.

[3]

Konstantos vertė 29,5 gaunama taip:

Grįžimo kelio nėra, todėl naudojame 29,5, tai yra pusė [2] aukščiau naudojamos vertės.

4 žingsnis: statyba

Statyba
Statyba
Statyba
Statyba

Montavimo laikikliai

Du tvirtinimo laikikliai buvo pagaminti iš 20 gabaritų aliuminio lakšto, naudojant metodą, aprašytą mano instrukcijoje

Mano skliaustų matmenys pateikti 1 nuotraukoje.

Dvi skylės, pažymėtos „bazine linija“, yra skirtos eilutei pritvirtinti prie kiekvieno jutiklio. Paprasčiausiai suriškite virvę reikiamu atstumu, kad būtų lengviau nustatyti.

Jutiklių lizdai

Jutiklių lizdai (2 nuotrauka) buvo pagaminti iš standartinių „Arduino“antgalių lizdų.

Visi nepageidaujami kaiščiai buvo ištraukti ir per plastiką išgręžta 3 mm skylė.

Lituodami jungtis, stenkitės netrumpinti laidų prie aliuminio laikiklio.

Įtempimo reljefai

Mažas termiškai susitraukiančio vamzdelio gabalas kiekviename kabelio gale neleidžia laidams atsiskleisti.

Kabelių jungtys buvo naudojamos siekiant išvengti nepageidaujamo kabelio judėjimo.

5 veiksmas: programinės įrangos diegimas

Įdiekite šį kodą tokia tvarka:

„Arduino IDE“

Atsisiųskite ir įdiekite „Arduino IDE“(integruotą kūrimo aplinką) iš https://www.arduino.cc/en/main/software, jei dar neįdiegta.

Apdorojimas 3

Atsisiųskite ir įdiekite „Processing 3“iš

Arduino eskizas

Nukopijuokite pridėto failo „dual_sensor _echo_locator.ino“turinį į „Arduino“eskizą, išsaugokite, tada įkelkite jį į „Arduino Uno R3“.

Uždarykite „Ardino IDE“, bet palikite prijungtą USB kabelį.

Apdorojamas eskizas

Nukopijuokite pridėto failo „dual_sensor_echo_locator.pde“turinį į apdorojimo „eskizą“.

Dabar spustelėkite viršutinį kairįjį mygtuką „Vykdyti“… jūsų ekrane turėtų būti rodomas grafikos ekranas.

6 žingsnis: bandymas

Testavimas
Testavimas
Testavimas
Testavimas

Prijunkite „Arduino“USB kabelį prie kompiuterio

Paleiskite „dual_sensor_echo_locator.pde“spustelėdami „Processing 3 IDE“(integruotos kūrimo aplinkos) paleidimo mygtuką „viršuje kairėje“.

Skaičiai, atskirti kableliais, turėtų pradėti transliuoti ekrane, kaip parodyta 1 nuotraukoje.

Klaidos pranešimas paleidžiant

Paleidimo metu galite gauti klaidos pranešimą.

Jei taip, pakeiskite [0] 1 nuotraukos 88 eilutėje, kad ji atitiktų numerį, susietą su jūsų „COM“prievadu.

Priklausomai nuo jūsų sistemos, gali būti išvardyti keli „COM“prievadai. Vienas iš skaičių veiks.

1 nuotraukoje skaičius [0] yra susietas su mano „COM4“.

Jutiklių išdėstymas

Padėkite jutiklius 100 cm atstumu vienas nuo kito, o objektas - 100 cm priekyje.

Lėtai pasukite abu jutiklius įstrižai priešingo įsivaizduojamo 1 metro kvadrato kampo link.

Sukdami jutiklius rasite vietą, kurioje grafiniame ekrane pasirodys mirksintis raudonas taškas.

Papildomi duomenys taip pat bus rodomi (2 nuotrauka), kai jutikliai suras jūsų objektą:

  • atstumas1
  • atstumas2
  • pradinis
  • kompensuoti
  • pusiau perimetras
  • srityje
  • X koordinatė
  • Y koordinatė

7 žingsnis: Rodyti

Ekranas
Ekranas

Ekranas buvo parašytas naudojant „Processing 3“… rodoma 100 cm pradinė linija.

Bazinės linijos keitimas

Pakeiskime savo pradinę liniją nuo 100 cm iki 200 cm:

Pakeiskite „plūdės bazinė linija = 100;“apdorojimo antraštėje skaityti „float Baseline = 200;“

Pakeiskite apdorojimo „draw_grid ()“tvarkos etiketes „50“ir „100“į „100“ir „200“.

Poslinkio keitimas

Didesnes tikslines sritis galima stebėti, jei jutiklius pastatysime žemiau bazinės linijos.

Jei pasirinksite tai, apdorojimo antraštėje esantis kintamasis „Nuokrypis“turi būti pakeistas.

Spustelėkite čia, jei norite peržiūrėti kitus mano nurodymus.

Rekomenduojamas: