Sisällysluettelo:

Ultraäänipohjainen paikannusjärjestelmä: 4 vaihetta (kuvien kanssa)
Ultraäänipohjainen paikannusjärjestelmä: 4 vaihetta (kuvien kanssa)

Video: Ultraäänipohjainen paikannusjärjestelmä: 4 vaihetta (kuvien kanssa)

Video: Ultraäänipohjainen paikannusjärjestelmä: 4 vaihetta (kuvien kanssa)
Video: Консультант от бога Tg: cadrolikk 2024, Marraskuu
Anonim
Ultraäänipohjainen paikannusjärjestelmä
Ultraäänipohjainen paikannusjärjestelmä

Kaikki arduino -laitteille (Arduino - Radar/Ultrasonic Detector, Arduino Ultrasonic Radar Project) löytämäni ultraäänitutkan versiot ovat erittäin mukavia tutkoja, mutta kaikki ovat "sokeita". Tarkoitan, tutka havaitsee jotain, mutta mitä se havaitsee?

Ehdotan siis kehittäväni järjestelmän, joka kykenee havaitsemaan objekteja ja tunnistamaan ne. Toisin sanoen paikannusjärjestelmä ilman GPS -laitteita, mutta ultraäänitunnistimia.

Tämä on tulos, toivottavasti pidät.

Vaihe 1: Miten se toimii?

Kuinka se toimii?
Kuinka se toimii?

Paikannusjärjestelmät muodostuvat kolmesta anturiasemasta, joissa on ultraäänitunnistimet ja id_node 1, 2 ja 3, jotka muodostavat suorakulmion tai neliön, joka pyyhkäisee 90 asteen kulman ja jossa niiden väliset etäisyydet tunnetaan kuvassa 1 esitetyllä tavalla.

const float etäisyys välillä 1 ja 2 = 60,0;

const float etäisyys2 ja 3 välillä = 75,0;

Nämä anturit mittaavat muiden kohteiden etäisyyttä ja kulmaa, joiden id_node on suurempi kuin 3 ja joissa on myös ultraäänitunnistin, joka pyyhkii 170 ° kulman.

Kaikki lähettävät etäisyydet, kulmat ja id_node toiselle pääasemalle käyttämällä langatonta tiedonsiirtoa analysoidakseen, laskeakseen objektien sijainnin trigonometrialaskennan avulla ja tunnistamaan ne.

Häiriöiden välttämiseksi isäntäasema synkronoi kaikki ultraääni -ilmaisimet siten, että vain yksi ultraäänitunnistin mittaa joka hetki

Sen jälkeen ja sarjayhteyden avulla pääasema lähettää tiedot (kulma, etäisyys, id_objekti) käsittelyluonnokseen tulosten piirtämiseksi.

Vaihe 2: Kolmen anturiaseman ja objektien määrittäminen

Kolmen anturiaseman ja objektien määrittäminen
Kolmen anturiaseman ja objektien määrittäminen
Kolmen anturiaseman ja objektien määrittäminen
Kolmen anturiaseman ja objektien määrittäminen

Kunkin anturiaseman ainoa tehtävä on tunnistaa kohteita ja lähettää mitattujen etäisyyksien, kulmien ja id -solmujen luettelo isäntäasemalle.

Joten sinun on päivitettävä suurin sallittu tunnistusetäisyys ("valid_max_distance") ja pienin sallittu etäisyys ("valid_min_distance") (senttimetrejä) havainnon parantamiseksi ja havaintoalueen rajoittamiseksi:

int valid_max_distance = 80;

int valid_min_distance = 1;

Näiden anturiasemien id -solmu ("this_node" alla olevassa koodissa) ovat 1, 2 ja 3 ja isäntäaseman id -solmu on 0.

const uint16_t this_node = 01; // Solmumme osoite Octal -muodossa (Node01, Node02, Node03)

const uint16_t muu_solmu = 00; // Pääsolmun osoite (Node00) Octal -muodossa

Jokainen anturiasema pyyhkäisee ja kulma 100 ° ("max_angle" alla olevassa koodissa)

#define min_angle 0

#define max_angle 100

Kuten yllä, objektin ainoa tehtävä on havaita esineitä ja lähettää mitattujen etäisyyksien, kulmien ja id -objektien luettelo isäntäasemalle. Yhden objektin (alla olevassa koodissa "this_node") tunnuksen on oltava suurempi kuin 3.

Jokainen kohde pyyhkäisee ja 170 asteen kulma ja kuten yllä, on mahdollista päivittää maksimi- ja minimitunnistusetäisyys.

const uint16_t this_node = 04; // Solmumme osoite Octal -muodossa (Node04, Node05,…)

const uint16_t muu_solmu = 00; // Pääsolmun (solmu00) osoite Octal -muodossa int valid_max_distance = 80; int valid_min_distance = 1; #define min_angle 0 #define max_angle 170

Vaihe 3: Master -aseman määrittäminen

Master -aseman määrittäminen
Master -aseman määrittäminen
Master -aseman määrittäminen
Master -aseman määrittäminen
Master -aseman määrittäminen
Master -aseman määrittäminen

Pääaseman tehtävänä on vastaanottaa anturiasemien ja objektien lähetykset ja lähettää tulokset sarjaportin avulla prosessiluonnokseen niiden piirtämiseksi. Lisäksi synkronoi kaikki kohteet ja kolme anturiasemaa siten, että vain yksi niistä mittaa kerrallaan häiriöiden välttämiseksi.

Ensiksi voit päivittää anturin 1 ja 2 välisen etäisyyden (senttimetrit) ja etäisyyden 2 ja 3 välillä.

const float etäisyys välillä 1 ja 2 = 60,0;

const float etäisyys2 ja 3 välillä = 70,0;

Luonnos laskee objektien sijainnin seuraavalla tavalla:

  • Etsi kaikkien objektien lähetyksistä (id_node suurempi kuin 3) sama etäisyys jokaisesta ultraäänianturien lähetyksestä (id_node 1, 2 tai 3).
  • Kaikki nämä kohdat muodostavat luettelon "ehdokkaista" (etäisyys, kulma, id_node), jotka ovat yhden objektin sijainti ("prosessin_kohdeobjekti_pistetunnistimella" luonnoksessa).
  • Kunkin edellisen luettelon "ehdokkaan" funktio "ehdokas_valittu_välinen_anturi2ja3" laskee ultraäänianturin 2 ja 3 näkökulmasta, mitkä niistä vastaavat seuraavaa trigonometriaehtoa (katso kuvat 2 ja 3)

float etäisyysfroms2 = sin (radiaanit (kulma)) * etäisyys;

float distancefroms3 = cos (radiaanit (kulma_kandidaatti)) * distance_candidate; // Trigonometrian ehto 1 abs (etäisyys2 + etäisyys 3 - etäisyys 2 ja 3) <= kelluva (max_diference_distance)

Kuten edellä, funktio “ehdokas_valittu_väliltä_anturi1ja2” laskee kullekin edellisen luettelon "ehdokkaalle" ultraäänianturin 1 ja 2 näkökulmasta, mitkä niistä vastaavat seuraavaa trigonometriasuhdetta (katso kuvat 2 ja 3)

float distancefroms1 = sin (radiaanit (kulma)) * etäisyys; float distancefroms2 = cos (radiaanit (kulma_kandidaatti)) * distance_candidate; // Trigonometrian ehto 2 abs (etäisyys 1 + etäisyys 2 - etäisyys 1 ja 2) <= kelluva (max_diference_distance)

Ainoastaan ehdokkaat (etäisyys, kulma, id_node), jotka vastaavat trigonometriaehtoja 1 ja 2, ovat anturiasemien 1, 2 ja 3 havaitsemia tunnistettuja kohteita

Sen jälkeen isäntäasema lähettää tulokset käsittelyluonnokseen piirtääkseen ne.

Vaihe 4: Materiaaliluettelo

Image
Image

Luettelo materiaalista, jota tarvitaan yhdelle anturiasemalle tai yhdelle esineelle, on seuraava:

  • Nano -levy
  • Ultraäänianturi
  • Mikroservomoottori
  • Langaton NRF24L01 -moduuli
  • NRF24L01 -sovitin

ja isäntäaseman materiaaliluettelo on seuraava:

  • Nano -levy
  • Langaton NRF24L01 -moduuli
  • NRF24L01 -sovitin

Suositeltava: