Innholdsfortegnelse:

Dual Sensor Echo Locator: 7 trinn (med bilder)
Dual Sensor Echo Locator: 7 trinn (med bilder)

Video: Dual Sensor Echo Locator: 7 trinn (med bilder)

Video: Dual Sensor Echo Locator: 7 trinn (med bilder)
Video: Altavalve: Transcatheter Mitral Valve Replacement (TMVR) #shorts #medical #animation 2024, Juli
Anonim
Image
Image
Dual Sensor Echo Locator
Dual Sensor Echo Locator
Dual Sensor Echo Locator
Dual Sensor Echo Locator

Denne instruksen forklarer hvordan du kan finne plasseringen av et objekt ved hjelp av en Arduino, to ultralydsensorer og Herons formel for trekanter. Det er ingen bevegelige deler.

Herons formel lar deg beregne arealet til enhver trekant som alle sider er kjent for. Når du kjenner arealet til en trekant, kan du deretter beregne posisjonen til et enkelt objekt (i forhold til en kjent grunnlinje) ved hjelp av trigonometri og Pythagoras.

Nøyaktigheten er utmerket. Store deteksjonsområder er mulige ved bruk av vanlig tilgjengelige HC-SR04, eller HY-SRF05, ultralydsensorer.

Konstruksjonen er enkel … alt du trenger er en skarp kniv, to bor, et loddejern og en tresag.

Bilder

  • Videoklippet viser enheten i drift.
  • Bilde 1 viser den monterte "ekkolokatoren"
  • Foto 2 viser en typisk skjerm. Objektet er den røde (blinkende) prikken.
  • Bilde 3 viser oppsettet for videotesten. Det var nødvendig å plassere de to HY-SRF05 ultralydsensorene 50 cm under grunnlinjen for å fullstendig "belyse" deteksjonsområdet med lyd.

Trinn 1: Koblingsskjema

Koblingsskjema
Koblingsskjema

Foto 1 viser koblingsskjemaet for "ekkolokaliseringsenheten med to sensorer".

Sensor B gjengis "passiv" ved å legge flere lag maskeringstape over senderen (T). Dette båndet blokkerer den ultralydslyden som ellers ville bli avgitt.

Trinn 2: Deleliste

Deleliste
Deleliste

Som vist på bilde 1, er det svært få deler som kreves for å fullføre dette prosjektet:

Følgende deler ble hentet fra

  • Bare 1 Arduino Uno R3 komplett med USB -kabel
  • 2 bare HY-SRF05, eller HC-SR04, ultralydstransdusere

Følgende deler ble hentet lokalt:

  • 1 bare arduino header stripe
  • 2 bare kvinnelige arduino header strips
  • 2 bare biter av skrapaluminium
  • 2 bare små biter av tre
  • 2 bare små skruer
  • 3 bare kabelbånd
  • 4 bare lengder med plastbelagt tråd (diverse farger) [1]

Merk

[1]

Den totale lengden på hver ledning skal være lik ønsket avstand mellom sensorene pluss en liten mengde for lodding. Ledningene blir deretter vridd sammen for å danne en kabel.

Trinn 3: Teori

Teori
Teori
Teori
Teori
Teori
Teori

Bjelkmønstre

Foto 1 viser de overlappede strålemønstrene for transduser A og transduser B.

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

Sensor B vil bare motta et ekko hvis objektet er i "mauve -området". Utenfor dette området er det ikke mulig å bestemme koordinaten til et objekt. [1]

Store "mauve" deteksjonsområder er mulige hvis sensorene er i stor avstand.

Beregninger

Med henvisning til bilde 2:

Arealet av en hvilken som helst trekant kan beregnes ut fra formelen:

område = base*høyde/2 …………………………………………………………………………. (1)

Omorganisering av ligning (1) gir oss høyden (Y-koordinat):

høyde = areal*2/base …………………………………………………………………………. (2)

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

Svaret er å plassere to ultralydtransdusere med en kjent avstand fra hverandre (baseline) og måle avstanden hver sensor er fra objektet ved hjelp av ultralyd.

Bilde 2 viser hvordan dette er mulig.

Transduser A sender en puls som spretter av objektet i alle retninger. Denne pulsen høres av både svinger A og svinger B. Ingen puls sendes fra svinger B … den lytter bare.

Returveien til svinger A er vist med rødt. Når det er delt på to og lydhastigheten er regnet inn, kan vi beregne avstand “d1” fra formelen: [2]

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

Veien til svinger B er vist med blått. Hvis vi trekker avstanden "d1" fra denne banelengden, får vi avstanden "d2". Formelen for å beregne “d2” er: [3]

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

Vi har nå lengden på alle tre sidene av trekanten ABC … skriv inn "Heron"

Herons formel

Herons formel bruker noe som kalles en "halvperimeter" der du legger til hver av de tre sidene i en trekant og deler resultatet med to:

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

Arealet kan nå beregnes ved hjelp av følgende formel:

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

Når vi kjenner området kan vi beregne høyden (Y-koordinaten) fra ligning (2) ovenfor.

Pythagoras

X-koordinaten kan nå beregnes ved å slippe en vinkelrett fra trekantpunktet til grunnlinjen for å lage en rettvinklet trekant. X-koordinaten kan nå beregnes ved hjelp av Pythagoras:

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

Merknader

[1]

Målområdet kan fullstendig "belyses" med lyd ved å plassere sensorene under grunnlinjen.

[2]

Verdien på 59 for konstanten er avledet som følger:

Lydhastigheten er omtrent 340m/S som er 0,034cm/uS (centimeter/mikrosekund).

Det gjensidige på 0,034 cm/uS er 29,412 uS/cm som, når det multipliseres med 2 for å tillate returveien, er lik 58,824 eller 59 når det er avrundet.

Denne verdien kan justeres opp/ned for å ta hensyn til lufttemperatur, fuktighet og trykk.

[3]

Verdien 29,5 for konstanten er avledet som følger:

Det er ingen returbane, så vi bruker 29,5 som er halvparten av verdien som ble brukt i [2] ovenfor.

Trinn 4: Konstruksjon

Konstruksjon
Konstruksjon
Konstruksjon
Konstruksjon

Monteringsbraketter

To festebraketter ble laget av 20 gauge aluminiumsplate ved hjelp av metoden beskrevet i min instruerbare

Dimensjonene for brakettene mine er vist på bilde 1.

De to hullene merket "baseline" er for å feste en streng til hver sensor. Bare bind strengen av med nødvendig avstand for enkelt oppsett.

Sensor stikkontakter

Sensorene (foto 2) er utformet fra standard Arduino header -kontakter.

Alle uønskede pinner er trukket ut og et 3 mm hull boret gjennom plasten.

Vær forsiktig så du ikke korter ledningene til aluminiumsbraketten ved lodding.

Strekkavlastninger

Et lite stykke krympeslange i hver ende av kabelen forhindrer ledningene i å løsne seg.

Kabelbindere har blitt brukt for å forhindre uønsket kabelbevegelse.

Trinn 5: Programvareinstallasjon

Installer følgende kode i denne rekkefølgen:

Arduino IDE

Last ned og installer Arduino IDE (integrert utviklingsmiljø) fra https://www.arduino.cc/en/main/software hvis den ikke allerede er installert.

Behandler 3

Last ned og installer Processing 3 fra

Arduino skisse

Kopier innholdet i den vedlagte filen, "dual_sensor _echo_locator.ino", til en Arduino "skisse", lagre, og last den deretter opp til Arduino Uno R3.

Lukk Ardino IDE, men la USB -kabelen være tilkoblet.

Behandler skisse

Kopier innholdet i den vedlagte filen, “dual_sensor_echo_locator.pde” til en behandlingsskisse.

Klikk nå på "Kjør" -knappen øverst til venstre … en grafisk skjerm skal vises på skjermen.

Trinn 6: Testing

Testing
Testing
Testing
Testing

Koble Arduino USB -kabelen til PCen

Kjør “dual_sensor_echo_locator.pde” ved å klikke på løpeknappen “øverst til venstre” på Processing 3 IDE (integrert utviklingsmiljø).

Tall, atskilt med komma, bør begynne å strømme nedover skjermen som vist på bilde1.

Feilmelding ved oppstart

Du kan få en feilmelding ved oppstart.

Endre i så fall [0] på linje 88 på bilde 1 for å matche nummeret som er knyttet til “COM” -porten.

Flere "COM" -porter kan være oppført avhengig av systemet. Ett av tallene vil fungere.

På bilde 1 er tallet [0] knyttet til min “COM4”.

Plassering av sensorene

Plasser sensorene 100 cm fra hverandre med objektet 100 cm foran.

Roter begge sensorene sakte mot det diagonalt motsatte hjørnet av en imaginær 1 meter firkant.

Når du roterer sensorene, finner du en posisjon der en blinkende rød prikk vises på grafikkdisplayet.

Ytterligere data vil også vises (foto 2) når sensorene har funnet objektet ditt:

  • avstand 1
  • avstand 2
  • grunnlinje
  • forskyvning
  • halvperimeter
  • område
  • X -koordinat
  • Y koordinat

Trinn 7: Display

Vise
Vise

Displayet er skrevet med Processing 3 … en 100 cm grunnlinje vises.

Endre grunnlinjen

La oss endre grunnlinjen vår fra 100cm til 200cm:

Endre “float Baseline = 100;” i behandlingsoverskriften for å lese "float Baseline = 200;"

Endre etikettene "50" og "100" i rutinen Behandle "draw_grid ()" for å lese "100" og "200".

Endring av forskyvning

Større målområder kan overvåkes hvis vi plasserer sensorene under grunnlinjen.

En variabel “Offset” i behandlingsoverskriften må endres hvis du velger å gjøre dette.

Klikk her for å se mine andre instrukser.

Anbefalt: