Innholdsfortegnelse:

Ultralydbasert posisjoneringssystem: 4 trinn (med bilder)
Ultralydbasert posisjoneringssystem: 4 trinn (med bilder)

Video: Ultralydbasert posisjoneringssystem: 4 trinn (med bilder)

Video: Ultralydbasert posisjoneringssystem: 4 trinn (med bilder)
Video: 10 Fastest Boats in the World 2024, November
Anonim
Ultralydbasert posisjoneringssystem
Ultralydbasert posisjoneringssystem

Alle versjonene av ultralydradarer jeg har funnet for arduino -enheter (Arduino - Radar/Ultrasonic Detector, Arduino Ultrasonic Radar Project) er veldig fine radarer, men alle er "blinde". Jeg mener, radaren oppdager noe, men hva oppdager den?

Så jeg foreslår meg selv å utvikle et system som er i stand til å oppdage objekter og identifisere dem. Med andre ord et posisjoneringssystem uten bruk av GPS -enheter, men ultralyddetektorer.

Dette er resultatet jeg håper du liker.

Trinn 1: Hvordan fungerer det?

Hvordan virker det?
Hvordan virker det?

Posisjonssystemene er dannet av tre sensorstasjoner med ultralyddetektorer og id_node 1, 2 og 3 som danner et rektangel eller firkant som feier en vinkel på 90º og hvor avstandene mellom dem er kjent som vist på bilde 1.

const flyte avstand mellom 1 og 2 = 60,0;

const flyte avstand mellom 2 og 3 = 75,0;

Disse sensorene måler avstanden og vinkelen til andre objekter med id_node større enn 3 som også har en ultralyddetektor som feier en vinkel på 170 °.

Alle sender avstander, målte vinkler og id_node til en annen hovedstasjon ved hjelp av trådløse kommunikasjoner for å analysere, beregne posisjonen til objektene ved hjelp av trigonometriberegning og identifisere dem.

For å unngå forstyrrelser synkroniserer hovedstasjonen alle ultralyddetektorer på den måten at bare én ultralyddetektor måler i hvert øyeblikk

Etter det og ved hjelp av en seriell kommunikasjon sender hovedstasjonen informasjonen (vinkel, avstand, id_objekt) til en behandlingsskisse for å plotte resultatene.

Trinn 2: Hvordan konfigurere de tre sensorstasjonene og objektene

Hvordan konfigurere de tre sensorstasjonene og objektene
Hvordan konfigurere de tre sensorstasjonene og objektene
Hvordan konfigurere de tre sensorstasjonene og objektene
Hvordan konfigurere de tre sensorstasjonene og objektene

Den eneste funksjonen til hver sensorstasjon er å oppdage objekter og sende listen over avstand, vinkel og ID -node som er målt til hovedstasjonen.

Så du må oppdatere maksimal deteksjonsavstand ("valid_max_distance") som er tillatt og den minste ("valid_min_distance") (centimeter) for å forbedre deteksjonen og begrense deteksjonssonen:

int valid_max_distance = 80;

int valid_min_distance = 1;

ID -noden til disse sensorstasjonene (“denne_node” i koden nedenfor) er 1, 2 og 3 og ID -noden til hovedstasjonen er 0.

const uint16_t this_node = 01; // Adressen til noden vår i oktalt format (Node01, Node02, Node03)

const uint16_t other_node = 00; // Adressen til hovednoden (Node00) i Octal -format

Hver sensorstasjon feier og vinkel på 100º (“max_angle” i koden nedenfor)

#define min_angle 0

#define max_angle 100

Som ovenfor er den eneste funksjonen til et objekt å oppdage objekter og sende listen over avstander, vinkler og ID -objekt målt til hovedstasjonen. IDen til ett objekt (“denne_node” i koden nedenfor) må være større enn 3.

Hvert objekt feier og vinkler på 170º, og som ovenfor er det mulig å oppdatere maksimal og minimum deteksjonsavstand.

const uint16_t this_node = 04; // Adressen til noden vår i oktalt format (Node04, Node05, …)

const uint16_t other_node = 00; // Adresse til hovednoden (Node00) i Octal -format int valid_max_distance = 80; int valid_min_distance = 1; #define min_angle 0 #define max_angle 170

Trinn 3: Hvordan konfigurere hovedstasjonen

Hvordan konfigurere hovedstasjonen
Hvordan konfigurere hovedstasjonen
Hvordan konfigurere hovedstasjonen
Hvordan konfigurere hovedstasjonen
Hvordan konfigurere hovedstasjonen
Hvordan konfigurere hovedstasjonen

Hovedstasjonens funksjon er å motta overføringene av sensorstasjonene og objektene og sende resultatene ved hjelp av serieporten til en prosessskisse for å plotte dem. Videre synkroniserer alle objektene og de tre sensorstasjonene på den måten at bare en av dem måler hver gang for å unngå forstyrrelser.

Først må du oppdatere avstanden (centimeter) mellom sensor 1 og 2 og avstanden mellom 2 og 3.

const flyte avstand mellom 1 og 2 = 60,0;

const flyte avstand mellom2and3 = 70,0;

Skissen beregner plasseringen av objektene på følgende måte:

  • For alle overføringer av objektene (id_node større enn 3) ser du etter den samme avstanden i hver overføring av ultralydsensorene (id_node 1, 2 eller 3).
  • Alle disse punktene danner en liste over "kandidater" (avstand, vinkel, id_node) for å være posisjonen til ett objekt ("prosess_punktobjekt_med_punktssensor" i skissen).
  • For hver "kandidat" i den forrige listen beregner funksjonen "kandidat_valgt_ mellom_sensor2og3" fra ultralydsensor 2 og 3 synspunkt hvilken av dem som samsvarer med følgende trigonometri -tilstand (se bildene 2 og 3)

flyte avstand fra rom2 = sin (radianer (vinkel)) * avstand;

float distancefroms3 = cos (radianer (angle_candidate)) * distance_candidate; // Trigonometri tilstand 1 abs (distancefroms2 + distancefroms3 - distancebetween2and3) <= float (max_diference_distance)

Som ovenfor, for hver "kandidat" i den forrige listen, beregner funksjonen "kandidat_valgt_ mellom_sensor1og2" fra ultralydsensor 1 og 2 synspunkt hvilken av dem som matcher følgende trigonometri -forhold (se bildet 2 og 3)

float distancefroms1 = sin (radianer (vinkel)) * distanse; float distancefroms2 = cos (radianer (vinkel_kandidat)) * distanse_kandidat; // Trigonometri tilstand 2 abs (distancefroms1 + distancefroms2 - distancebetween1and2) <= float (max_diference_distance)

Bare kandidatene (avstand, vinkel, id_node) som samsvarer med trigonometriforholdene 1 og 2 er identifiserte objekter detektert av sensorstasjonene 1, 2 og 3

Etter det blir resultatene sendt av hovedstasjonen til en behandlingsskisse for å plotte dem.

Trinn 4: Liste over materiale

Image
Image

Listen over materiale som trengs for en sensorstasjon eller ett objekt er følgende:

  • Nanotavle
  • Ultralydsensor
  • Mikro servomotor
  • NRF24L01 trådløs modul
  • NRF24L01 adapter

og materialelisten for hovedstasjonen er følgende:

  • Nanotavle
  • NRF24L01 trådløs modul
  • NRF24L01 adapter

Anbefalt: