Sisällysluettelo:

Dual Sensor Echo Locator: 7 vaihetta (kuvien kanssa)
Dual Sensor Echo Locator: 7 vaihetta (kuvien kanssa)

Video: Dual Sensor Echo Locator: 7 vaihetta (kuvien kanssa)

Video: Dual Sensor Echo Locator: 7 vaihetta (kuvien kanssa)
Video: НЕ ВЗДУМАЙ снимать аккумулятор с машины. Делай это ПРАВИЛЬНО ! 2024, Heinäkuu
Anonim
Image
Image
Dual Sensor Echo Locator
Dual Sensor Echo Locator
Dual Sensor Echo Locator
Dual Sensor Echo Locator

Tässä ohjeessa selitetään, kuinka kohteen sijainti voidaan määrittää Arduinolla, kahdella ultraäänianturilla ja Heronin kolmioiden kaavalla. Liikkuvia osia ei ole.

Heronin kaavan avulla voit laskea minkä tahansa kolmion alueen, jonka kaikki sivut tunnetaan. Kun tiedät kolmion alueen, voit sitten laskea yksittäisen objektin sijainnin (suhteessa tunnettuun perusviivaan) käyttämällä trigonometriaa ja Pythagorasia.

Tarkkuus on erinomainen. Suuret tunnistusalueet ovat mahdollisia käyttämällä yleisesti saatavilla olevia HC-SR04- tai HY-SRF05-ultraääni-antureita.

Rakenne on yksinkertainen… tarvitset vain terävän veitsen, kaksi poraa, juotosraudan ja puusahan.

Kuvat

  • Videoleike näyttää laitteen toiminnassa.
  • Kuva 1 esittää koottua "kaiun paikanninta"
  • Kuva 2 näyttää tyypillisen näytön. Kohde on punainen (vilkkuva) piste.
  • Kuva 3 näyttää videotestiasetukset. Kaksi HY-SRF05-ultraäänianturia oli sijoitettava 50 cm perustason alapuolelle, jotta havaintoalue "valaistuisi" täysin äänellä.

Vaihe 1: Kytkentäkaavio

Kytkentäkaavio
Kytkentäkaavio

Kuva 1 esittää kytkentäkaaviota "kaksoissensorin kaiun paikantimelle".

Anturi B tehdään "passiiviseksi" asettamalla useita kerroksia maalarinteippiä lähetin (T) -anturin päälle. Tämä nauha estää ultraäänen, joka muuten lähetettäisiin.

Vaihe 2: Osaluettelo

Osaluettelo
Osaluettelo

Kuten kuvassa 1 esitetään, tämän projektin suorittamiseen tarvitaan hyvin vähän osia:

Seuraavat osat on hankittu osoitteesta

  • 1 vain Arduino Uno R3 USB -kaapelilla
  • 2 vain HY-SRF05 tai HC-SR04, ultraäänianturit

Seuraavat osat on hankittu paikallisesti:

  • 1 vain uros arduino otsikkolista
  • Vain 2 naaraspuolista arduino -otsikkoa
  • 2 kappaletta alumiiniromua
  • 2 vain pieniä puukappaleita
  • 2 vain pieniä ruuveja
  • 3 vain nippusiteet
  • Vain 4 pituista muovipäällystettyä lankaa (eri värejä) [1]

Huomautus

[1]

Jokaisen langan kokonaispituuden tulisi olla sama kuin haluttu etäisyys antureiden välillä ja pieni määrä juotosta varten. Johdot kierretään sitten yhteen kaapelin muodostamiseksi.

Vaihe 3: Teoria

Teoria
Teoria
Teoria
Teoria
Teoria
Teoria

Palkkikuviot

Kuva 1 esittää päällekkäisiä säteen kuvioita kaikuanturille A ja anturille B.

Anturi A vastaanottaa kaikua mistä tahansa punaisen alueen objektista.

Anturi B vastaanottaa kaiun vain, jos kohde on "mauve -alueella". Tämän alueen ulkopuolella ei ole mahdollista määrittää objektin koordinaattia. [1]

Suuret "violetit" tunnistusalueet ovat mahdollisia, jos anturit ovat kaukana toisistaan.

Laskelmat

Viitaten kuvaan 2:

Minkä tahansa kolmion pinta -ala voidaan laskea kaavasta:

pinta -ala = pohja*korkeus/2 ……………………………………………………………………. (1)

Uudelleenjärjestelyyhtälö (1) antaa meille korkeuden (Y-koordinaatti):

korkeus = pinta -ala*2/pohja ……………………………………………………………………. (2)

Toistaiseksi hyvin … mutta miten laskemme alueen?

Vastaus on sijoittaa kaksi ultraäänianturia tunnetulle etäisyydelle toisistaan (perusviiva) ja mitata kunkin anturin etäisyys kohteesta ultraäänellä.

Kuva 2 osoittaa, miten tämä on mahdollista.

Kaikuanturi A lähettää pulssin, joka pomppii esineestä kaikkiin suuntiin. Sekä anturi A että anturi B kuulevat tämän pulssin. Anturia B ei lähetä pulssia… se vain kuuntelee.

Paluureitti kaikuanturiin A näkyy punaisena. Kun se jaetaan kahdella ja äänen nopeus otetaan huomioon, voimme laskea etäisyyden “d1” kaavasta: [2]

d1 (cm) = aika (mikrosekuntia)/59 ……………………………………………… (3)

Polku kaikuanturiin B näkyy sinisenä. Jos vähennämme matkan "d1" tästä polun pituudesta, saamme etäisyyden "d2". Kaava "d2" laskemiseksi on: [3]

d2 (cm) = aika (mikrosekuntia/29,5 - d1 …………………………………….. (4)

Meillä on nyt kolmion ABC kaikkien kolmen sivun pituus … kirjoita "Heron"

Heronin kaava

Heronin kaava käyttää jotain”puoliperimetriä”, jossa lisäät jokaisen kolmion kolmen sivun ja jaat tuloksen kahdella:

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

Pinta -ala voidaan nyt laskea seuraavan kaavan avulla:

pinta-ala = neliömetriä (s*(s-a)*(s-b)*(s-c)) ……………………………………………………. (6)

Kun tiedämme alueen, voimme laskea korkeuden (Y-koordinaatti) yllä olevasta yhtälöstä (2).

Pythagoras

X-koordinaatti voidaan nyt laskea pudottamalla kohtisuora kolmion kärjestä perusviivaan muodostaen suorakulmaisen kolmion. X-koordinaatti voidaan nyt laskea Pythagorasin avulla:

c1 = neliömetriä (b2 - h2) …………………………………………………………………….. (7)

Huomautuksia

[1]

Kohdealue voidaan täysin”valaista” äänellä sijoittamalla anturit perusviivan alapuolelle.

[2]

Vakion arvo 59 johdetaan seuraavasti:

Äänen nopeus on noin 340 m/S, joka on 0,034 cm/uS (senttimetriä/mikrosekunti).

Vastavuoroisuus 0,034 cm/uS on 29,412 uS/cm, joka kerrottuna 2: lla paluureitin sallimiseksi on 58,824 tai 59 pyöristettynä.

Tätä arvoa voidaan säätää ylös/alas ottaen huomioon ilman lämpötila, kosteus ja paine.

[3]

Vakion arvo 29,5 johdetaan seuraavasti:

Paluureittiä ei ole, joten käytämme 29.5, joka on puolet yllä olevasta [2] arvosta.

Vaihe 4: Rakentaminen

Rakentaminen
Rakentaminen
Rakentaminen
Rakentaminen

Asennuskiinnikkeet

Kaksi asennuskiinnikettä tehtiin 20-kokoisesta alumiinilevystä ohjeessa https://www.instructables.com/id/How-to-Cut-Fold-… kuvatulla menetelmällä

Kannattimien mitat on esitetty kuvassa 1.

Kaksi reikää, jotka on merkitty "perusviivaksi", on tarkoitettu merkkijonon kiinnittämiseen kuhunkin anturiin. Sido naru halutulla etäisyydellä asennuksen helpottamiseksi.

Anturipistokkeet

Anturipistokkeet (kuva 2) on valmistettu Arduinon tavallisista pistorasioista.

Kaikki ei -toivotut nastat on vedetty ulos ja 3 mm reikä on porattu muovin läpi.

Varo liitoksia juotettaessa, ettet oikosulje johtoja alumiinikannattimeen.

Vedonpoistajat

Pieni pala kutisteputkea kaapelin molemmissa päissä estää johtojen purkautumisen.

Nippusiteitä on käytetty estämään kaapelien ei -toivotut liikkeet.

Vaihe 5: Ohjelmiston asennus

Asenna seuraava koodi tässä järjestyksessä:

Arduino IDE

Lataa ja asenna Arduino IDE (integroitu kehitysympäristö) osoitteesta https://www.arduino.cc/en/main/software, jos sitä ei ole jo asennettu.

Käsittely 3

Lataa ja asenna Processing 3 osoitteesta

Arduino -luonnos

Kopioi liitetiedoston "dual_sensor _echo_locator.ino" sisältö Arduino -luonnokseen, tallenna ja lataa se sitten Arduino Uno R3 -laitteeseesi.

Sulje Ardino IDE, mutta jätä USB -kaapeli liitetyksi.

Luonnoksen käsittely

Kopioi liitetiedoston "dual_sensor_echo_locator.pde" sisältö käsittelyluonnokseen.

Napsauta nyt vasemman yläkulman "Suorita" -painiketta … grafiikkanäytön pitäisi näkyä näytölläsi.

Vaihe 6: Testaus

Testaus
Testaus
Testaus
Testaus

Liitä Arduino USB -kaapeli tietokoneeseen

Suorita “dual_sensor_echo_locator.pde” napsauttamalla Processing 3 IDE: n (integroitu kehitysympäristö) vasemman yläkulman suorituspainiketta.

Pilkuilla erotettujen numeroiden pitäisi alkaa suoratoistaa näyttöäsi kuvan 1 mukaisesti.

Virheilmoitus käynnistyksen yhteydessä

Saatat saada virheilmoituksen käynnistyksen yhteydessä.

Jos näin on, muuta [1] kuvan 1 rivillä 88 vastaamaan COM -porttiin liittyvää numeroa.

Järjestelmästä riippuen luettelossa voi olla useita COM -portteja. Yksi numeroista toimii.

Kuvassa 1 numero [0] liittyy "COM4" -laitteeseeni.

Anturien sijoittaminen

Aseta anturit 100 cm: n päähän toisistaan esineen ollessa 100 cm edessä.

Kierrä molempia antureita hitaasti kohti kuvitteellisen 1 metrin neliön vastakkaista kulmaa.

Kun pyörität antureita, löydät kohdan, jossa graafinen näyttöön tulee vilkkuva punainen piste.

Myös lisätiedot tulevat näkyviin (kuva 2), kun anturit ovat löytäneet kohteen:

  • etäisyys 1
  • etäisyys 2
  • perusviiva
  • offset
  • puoliympyrä
  • alueella
  • X -koordinaatti
  • Y -koordinaatti

Vaihe 7: Näyttö

Näyttö
Näyttö

Näyttö on kirjoitettu käyttäen Processing 3… 100 cm: n perusviivaa.

Perustason muuttaminen

Muutetaan perustaso 100 cm: stä 200 cm: ksi:

Muuta "float Baseline = 100;" käsittely -otsikossa lukemaan "float Baseline = 200;"

Muuta käsittelytavan "draw_grid ()" rutiinin tarrat "50" ja "100" lukemiksi "100" ja "200".

Siirtymän muuttaminen

Suurempia kohdealueita voidaan seurata, jos sijoitamme anturit perusviivan alapuolelle.

Muutosta "Offset" Processing -otsikossa on muutettava, jos päätät tehdä tämän.

Napsauta tätä nähdäksesi muut ohjeeni.

Suositeltava: