Indholdsfortegnelse:

Dual Sensor Echo Locator: 7 trin (med billeder)
Dual Sensor Echo Locator: 7 trin (med billeder)

Video: Dual Sensor Echo Locator: 7 trin (med billeder)

Video: Dual Sensor Echo Locator: 7 trin (med billeder)
Video: Top 3 things to bring to a field op? 2024, Juli
Anonim
Image
Image
Dual Sensor Echo Locator
Dual Sensor Echo Locator
Dual Sensor Echo Locator
Dual Sensor Echo Locator

Denne instruktive forklarer, hvordan man kan lokalisere et objekts placering ved hjælp af en Arduino, to ultralydssensorer og Herons formel for trekanter. Der er ingen bevægelige dele.

Herons formel giver dig mulighed for at beregne arealet af enhver trekant, som alle sider er kendt for. Når du kender arealet af en trekant, kan du derefter beregne placeringen af et enkelt objekt (i forhold til en kendt grundlinje) ved hjælp af trigonometri og Pythagoras.

Nøjagtigheden er fremragende. Store detektionsområder er mulige ved hjælp af almindeligt tilgængelige HC-SR04 eller HY-SRF05, ultralydssensorer.

Konstruktionen er enkel … alt hvad du behøver er en skarp kniv, to bor, et loddejern og en træsav.

Billeder

  • Videoklippet viser enheden i drift.
  • Foto 1 viser den samlede "ekkolokalisator"
  • Foto 2 viser et typisk display. Objektet er den røde (blinkende) prik.
  • Foto 3 viser opsætningen af videotesten. Det var nødvendigt at placere de to HY-SRF05 ultralydssensorer 50 cm under baseline for fuldstændigt at "belyse" detekteringsområdet med lyd.

Trin 1: Ledningsdiagram

Ledningsdiagram
Ledningsdiagram

Foto 1 viser ledningsdiagrammet for “dual sensor echo locator”.

Sensor B gøres "passiv" ved at placere flere lag maskeringstape over transmitteren (T). Dette bånd blokerer den ultralydslyd, der ellers ville blive udsendt.

Trin 2: Deleliste

Liste over dele
Liste over dele

Som vist på foto1 kræves meget få dele for at fuldføre dette projekt:

Følgende dele blev hentet fra

  • 1 kun Arduino Uno R3 komplet med USB -kabel
  • 2 kun HY-SRF05 eller HC-SR04, ultralydstransducere

Følgende dele blev hentet lokalt:

  • 1 kun hanlige arduino header strip
  • 2 kun kvindelige arduino header strips
  • 2 kun stykker skrotaluminium
  • 2 kun små stykker træ
  • 2 kun små skruer
  • 3 kun kabelbindere
  • 4 kun længder plastbelagt tråd (assorterede farver) [1]

Bemærk

[1]

Den samlede længde af hver ledning skal svare til den ønskede afstand mellem sensorerne plus en lille mængde til lodning. Ledningerne vrides derefter sammen for at danne et kabel.

Trin 3: Teori

Teori
Teori
Teori
Teori
Teori
Teori

Bjælkemønstre

Foto 1 viser de overlappede strålemønstre for transducer A og transducer B.

Sensor A modtager et ekko fra ethvert objekt i det "røde område".

Sensor B modtager kun et ekko, hvis objektet er i "mauve -området". Uden for dette område er det ikke muligt at bestemme koordinaten for et objekt. [1]

Store "mauve" -detekteringsområder er mulige, hvis sensorerne har stor afstand.

Beregninger

Med henvisning til foto 2:

Arealet af enhver trekant kan beregnes ud fra formlen:

område = bund*højde/2 …………………………………………………………………………. (1)

Omarrangering af ligning (1) giver os højden (Y-koordinat):

højde = areal*2/bund …………………………………………………………………………. (2)

Så langt så godt … men hvordan beregner vi arealet?

Svaret er at rumme to ultralydstransducere med en kendt afstand fra hinanden (baseline) og måle afstanden hver sensor er fra objektet ved hjælp af ultralyd.

Foto 2 viser, hvordan dette er muligt.

Transducer A sender en puls, der hopper af objektet i alle retninger. Denne puls høres af både transducer A og transducer B. Ingen puls sendes fra transducer B … den lytter kun.

Returvejen til transducer A er vist med rødt. Når divideret med to og lydhastigheden er indregnet, kan vi beregne afstanden "d1" fra formlen: [2]

d1 (cm) = tid (mikrosekunder)/59 ……………………………………………… (3)

Stien til transducer B er vist med blåt. Hvis vi trækker afstanden "d1" fra denne sti -længde, får vi afstanden "d2". Formlen til beregning af "d2" er: [3]

d2 (cm) = tid (mikrosekunder/29,5 - d1 …………………………………….. (4)

Vi har nu længden på alle tre sider af trekanten ABC … indtast "Heron"

Herons formel

Herons formel bruger noget, der kaldes en "halvperimeter", hvor du tilføjer hver af de tre sider af en trekant og deler resultatet med to:

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

Arealet kan nu beregnes ved hjælp af følgende formel:

område = sqrt (s*(s-a)*(s-b)*(s-c)) …………………………………………………………. (6)

Når vi kender området, kan vi beregne højden (Y-koordinat) ud fra ligning (2) ovenfor.

Pythagoras

X-koordinaten kan nu beregnes ved at droppe en vinkelret fra trekantpunktet til grundlinjen for at skabe en retvinklet trekant. X-koordinaten kan nu beregnes ved hjælp af Pythagoras:

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

Noter

[1]

Målområdet kan fuldstændigt "belyses" med lyd ved at placere sensorerne under baseline.

[2]

Værdien på 59 for konstanten er afledt som følger:

Lydens hastighed er cirka 340 m/S, hvilket er 0,034 cm/uS (centimeter/mikrosekund).

Det gensidige på 0,034 cm/uS er 29,412 uS/cm, der, når det multipliceres med 2 for at give mulighed for returvejen, er lig med 58,824 eller 59 når det er afrundet.

Denne værdi kan justeres op/ned for at tage højde for lufttemperatur, fugtighed og tryk.

[3]

Værdien på 29,5 for konstanten er afledt som følger:

Der er ingen retursti, så vi bruger 29,5, hvilket er halvdelen af den værdi, der bruges i [2] ovenfor.

Trin 4: Konstruktion

Konstruktion
Konstruktion
Konstruktion
Konstruktion

Monteringsbeslag

To monteringsbeslag blev fremstillet af 20 gauge aluminiumsplade ved hjælp af metoden beskrevet i min instruerbare

Dimensionerne til mine beslag er vist på foto 1.

De to huller markeret "baseline" er til fastgørelse af en snor til hver sensor. Bare bind snoren af med den nødvendige afstand for nem opsætning.

Sensorstik

Sensorstikkene (foto 2) er fremstillet af standard Arduino headerstik.

Alle uønskede stifter er blevet trukket ud og et 3 mm hul boret gennem plasten.

Ved lodning af forbindelserne skal du passe på ikke at kortslutte ledningerne til aluminiumsbeslaget.

Stamrelieffer

Et lille stykke varmekrympende rør i hver ende af kablet forhindrer ledningerne i at løsne sig.

Kabelbindere er blevet brugt til at forhindre uønsket kabelbevægelse.

Trin 5: Softwareinstallation

Installer følgende kode i denne rækkefølge:

Arduino IDE

Download og installer Arduino IDE (integreret udviklingsmiljø) fra https://www.arduino.cc/en/main/software, hvis den ikke allerede er installeret.

Behandling 3

Download og installer Processing 3 fra

Arduino Skitse

Kopier indholdet af den vedhæftede fil, "dual_sensor _echo_locator.ino", til en Arduino "skitse", gem, og upload den derefter til din Arduino Uno R3.

Luk Ardino IDE, men lad USB -kablet være tilsluttet.

Behandler skitse

Kopier indholdet af den vedhæftede fil, "dual_sensor_echo_locator.pde" til en "Skitse" til behandling.

Klik nu på knappen "Kør" øverst til venstre … en grafisk skærm skal vises på din skærm.

Trin 6: Test

Test
Test
Test
Test

Slut Arduino USB -kablet til din pc

Kør “dual_sensor_echo_locator.pde” ved at klikke på knappen “øverst til venstre” på dit Processing 3 IDE (integreret udviklingsmiljø).

Tal, adskilt med et komma, skal begynde at streame ned ad din skærm som vist på foto1.

Fejlmeddelelse ved opstart

Du får muligvis en fejlmeddelelse ved opstart.

Hvis det er tilfældet, skal du ændre [0] i linje 88 på foto 1, så det svarer til det nummer, der er knyttet til din "COM" -port.

Flere "COM" -porte vises muligvis afhængigt af dit system. Et af tallene vil fungere.

På foto 1 er nummeret [0] forbundet med min “COM4”.

Placering af dine sensorer

Placer dine sensorer 100 cm fra hinanden med objektet 100 cm foran.

Drej begge sensorer langsomt mod det diagonalt modsatte hjørne af en imaginær 1 meter firkant.

Når du roterer sensorerne, finder du en position, hvor en blinkende rød prik vises på grafikdisplayet.

Yderligere data vises også (foto 2), når sensorerne har fundet dit objekt:

  • afstand 1
  • afstand 2
  • baseline
  • forskydning
  • halvperimeter
  • areal
  • X -koordinat
  • Y -koordinat

Trin 7: Display

Skærm
Skærm

Displayet er blevet skrevet ved hjælp af Processing 3 … der vises en 100 cm grundlinje.

Ændring af grundlinjen

Lad os ændre vores grundlinje fra 100 cm til 200 cm:

Skift "float Baseline = 100;" i forarbejdningshovedet for at læse "float Baseline = 200;"

Skift etiketterne "50" og "100" i rutinen "Draw_grid ()" for behandling til "100" og "200".

Ændring af forskydning

Større målområder kan overvåges, hvis vi placerer sensorerne under baseline.

En variabel “Offset” i Processing header skal ændres, hvis du vælger at gøre dette.

Klik her for at se mine andre instruktioner.

Anbefalede: