Indholdsfortegnelse:

Ultralydbaseret positioneringssystem: 4 trin (med billeder)
Ultralydbaseret positioneringssystem: 4 trin (med billeder)

Video: Ultralydbaseret positioneringssystem: 4 trin (med billeder)

Video: Ultralydbaseret positioneringssystem: 4 trin (med billeder)
Video: Стабилизация биохимических показателей крови. Большой восстановительный рефлекторный каскад 2024, November
Anonim
Ultralydbaseret positioneringssystem
Ultralydbaseret positioneringssystem

Alle versioner af ultralydsradarer jeg har fundet til arduino -enheder (Arduino - Radar/Ultrasonic Detector, Arduino Ultrasonic Radar Project) er meget flotte radarer, men alle er "blinde". Jeg mener, radaren registrerer noget, men hvad registrerer den?

Så jeg foreslår mig selv at udvikle et system, der er i stand til at registrere objekter og identificere dem. Med andre ord et positioneringssystem uden brug af GPS -enheder, men ultralydsdetektorer.

Dette er resultatet, jeg håber, at du kan lide.

Trin 1: Hvordan fungerer det?

Hvordan virker det?
Hvordan virker det?

Positioneringssystemerne er dannet af tre sensorstationer med ultralydsdetektorer og id_node 1, 2 og 3, der danner et rektangel eller firkant, der fejer en vinkel på 90º, og hvor afstandene mellem dem er kendt som vist på billede 1.

const float distancebetween1and2 = 60,0;

const float distancebetween2and3 = 75,0;

Disse sensorer måler afstanden og vinklen på andre objekter med id_node større end 3, der også har en ultralydsdetektor, der fejer en vinkel på 170 °.

Alle sender afstande, målte vinkler og id_node til en anden masterstation ved hjælp af trådløse kommunikationer til at analysere, beregne objekternes position ved hjælp af trigonometriberegning og identificere dem.

For at undgå forstyrrelser synkroniserer masterstationen alle ultralydsdetektorer på den måde, at der kun måles en ultralydsdetektor i hvert øjeblik

Derefter og ved hjælp af en seriel kommunikation sender masterstationen informationen (vinkel, afstand, id_objekt) til en behandlingsskitse for at plotte resultaterne.

Trin 2: Sådan konfigureres de tre sensorstationer og objekterne

Sådan konfigureres de tre sensorstationer og objekterne
Sådan konfigureres de tre sensorstationer og objekterne
Sådan konfigureres de tre sensorstationer og objekterne
Sådan konfigureres de tre sensorstationer og objekterne

Den eneste funktion for hver sensorstation er at registrere objekter og sende listen over afstand, vinkel og id -knude, der er målt til masterstationen.

Så du skal opdatere den maksimale registreringsafstand ("valid_max_distance") tilladt og den mindste ("valid_min_distance") (centimeter) for at forbedre registreringen og begrænse registreringszonen:

int valid_max_distance = 80;

int valid_min_distance = 1;

ID -noden for disse sensorstationer (“denne_knude” i koden herunder) er 1, 2 og 3, og masterstationens id -knude er 0.

const uint16_t this_node = 01; // Adresse på vores knude i oktalformat (Node01, Node02, Node03)

const uint16_t anden_node = 00; // Adresse til masternoden (Node00) i Octal -format

Hver sensorstation fejer og vinkel på 100º (“max_angle” i koden herunder)

#define min_angle 0

#define max_angle 100

Som ovenfor er den eneste funktion af et objekt at registrere objekter og sende listen over afstande, vinkler og id -objekt målt til masterstationen. Id'et for et objekt ("denne_knude" i nedenstående kode) skal være større end 3.

Hvert objekt fejer og vinkel på 170º, og som ovenfor er det muligt at opdatere den maksimale og minimale detektionsafstand.

const uint16_t this_node = 04; // Adresse på vores knude i oktalformat (Node04, Node05, …)

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

Trin 3: Sådan konfigureres Master Station

Sådan konfigureres masterstationen
Sådan konfigureres masterstationen
Sådan konfigureres masterstationen
Sådan konfigureres masterstationen
Sådan konfigureres masterstationen
Sådan konfigureres masterstationen

Masterstationens funktion er at modtage transmissioner af sensorstationerne og objekterne og sende resultaterne ved hjælp af den serielle port til en behandlingsskitse for at plotte dem. Desuden synkroniserer alle objekterne og de tre sensorstationer på den måde, at kun en af dem måler hver gang for at undgå forstyrrelser.

Først og fremmest skal du opdatere afstanden (centimeter) mellem sensor 1 og 2 og afstanden mellem 2 og 3.

const float distancebetween1and2 = 60,0;

const float distancebetween2and3 = 70,0;

Skitsen beregner objekternes placering på følgende måde:

  • For alle transmissioner af objekterne (id_node større end 3) kigger du efter den samme afstand i hver transmission af ultralydssensorerne (id_node 1, 2 eller 3).
  • Alle disse punkter danner en liste over "kandidater" (afstand, vinkel, id_node) for at være placeringen af et objekt ("proces_pointobjekt_med_pointssensor" i skitsen).
  • For hver "kandidat" i den foregående liste beregner funktionen "kandidat_valgt_mellem_sensor2og3" fra ultralydssensor 2 og 3, hvilken af dem der matcher følgende trigonometri -tilstand (se billederne 2 og 3)

float distancefroms2 = sin (radianer (vinkel)) * distance;

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

Som ovenfor beregner funktionen "kandidat_valgt_mellem_sensor1og2" for hver "kandidat" i den foregående liste, fra ultralydssensor 1 og 2, hvilken af dem der matcher følgende trigonometri -relation (se billede 2 og 3)

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

Kun kandidaterne (afstand, vinkel, id_node), der matcher trigonometribetingelserne 1 og 2, er identificerede objekter, der registreres af sensorstationerne 1, 2 og 3

Derefter sender resultaterne af masterstationen til en behandlingsskitse for at plotte dem.

Trin 4: Liste over materiale

Image
Image

Listen over materiale, der er nødvendig til en sensorstation eller et objekt, er følgende:

  • Nano bord
  • Ultralydssensor
  • Mikro servomotor
  • NRF24L01 trådløst modul
  • NRF24L01 adapter

og materialelisten til masterstationen er følgende:

  • Nano bord
  • NRF24L01 trådløst modul
  • NRF24L01 adapter

Anbefalede: