Innehållsförteckning:

Ultraljudsbaserat positioneringssystem: 4 steg (med bilder)
Ultraljudsbaserat positioneringssystem: 4 steg (med bilder)

Video: Ultraljudsbaserat positioneringssystem: 4 steg (med bilder)

Video: Ultraljudsbaserat positioneringssystem: 4 steg (med bilder)
Video: CUTTING EDGE C10: Mid-Engine LS-3 1972 Chevy Truck Inspired By Group 5 Vintage Racing | EP23 2024, November
Anonim
Ultraljudsbaserat positioneringssystem
Ultraljudsbaserat positioneringssystem

Alla versioner av ultraljudsradarer jag har hittat för arduino -enheter (Arduino - Radar/Ultrasonic Detector, Arduino Ultrasonic Radar Project) är väldigt fina radar men alla är "blinda". Jag menar, radarn upptäcker något men vad upptäcker den?

Så jag föreslår själv att utveckla ett system som kan upptäcka objekt och identifiera dem. Med andra ord ett positioneringssystem utan att använda GPS -enheter utan ultraljudsdetektorer.

Detta är resultatet jag hoppas att du gillar.

Steg 1: Hur fungerar det?

Hur fungerar det?
Hur fungerar det?

Positioneringssystemen bildas av tre sensorstationer med ultraljudsdetektorer och id_nod 1, 2 och 3 som bildar en rektangel eller kvadrat som sveper en vinkel på 90º och där avstånden mellan dem är kända som visas på bild 1.

const floatavstånd mellan1 och2 = 60,0;

const floatavstånd mellan2and3 = 75,0;

Dessa sensorer mäter avståndet och vinkeln för andra objekt med id_node större än 3 som också har en ultraljudsdetektor som sveper en vinkel på 170 °.

Alla skickar avstånden, uppmätta vinklar och id_noden till en annan huvudstation med hjälp av trådlösa kommunikationer för att analysera, beräkna objektens position med hjälp av trigonometriberäkning och identifiera dem.

För att undvika störningar synkroniserar masterstationen alla ultraljudsdetektorer på det sättet som endast en ultraljudsdetektor mäter vid varje ögonblick

Efter det och med hjälp av en seriell kommunikation skickar masterstationen informationen (vinkel, avstånd, id_objekt) till en bearbetningsskiss för att plotta resultaten.

Steg 2: Hur man konfigurerar de tre sensorstationerna och objekten

Hur man konfigurerar de tre sensorstationerna och objekten
Hur man konfigurerar de tre sensorstationerna och objekten
Hur man konfigurerar de tre sensorstationerna och objekten
Hur man konfigurerar de tre sensorstationerna och objekten

Den enda funktionen för varje sensorstation är att detektera objekt och skicka listan över avstånd, vinkel och ID -nod som mäts till masterstationen.

Så du måste uppdatera det maximala detektionsavståndet ("valid_max_distance") som är tillåtet och det minsta ("valid_min_distance") (centimeter) för att förbättra detekteringen och begränsa detekteringszonen:

int valid_max_distance = 80;

int valid_min_distance = 1;

ID -noden för dessa sensorstationer ("denna_nod" i koden nedan) är 1, 2 och 3 och ID -noden för huvudstationen är 0.

const uint16_t this_node = 01; // Adress för vår nod i Octal -format (Node01, Node02, Node03)

const uint16_t other_node = 00; // Adress för huvudnoden (Node00) i Octal -format

Varje sensorstation sveper och vinkel 100º (“max_angle” i koden nedan)

#define min_angle 0

#define max_angle 100

Som ovan är det enda objektet för ett objekt att detektera objekt och skicka listan över avstånd, vinklar och ID -objekt som mäts till huvudstationen. Id för ett objekt ("this_node" i koden nedan) måste vara större än 3.

Varje objekt sveper och vinkel på 170º och enligt ovan är det möjligt att uppdatera det maximala och minsta detektionsavståndet.

const uint16_t this_node = 04; // Adress för vår nod i Octal -format (Node04, Node05, …)

const uint16_t other_node = 00; // Adress för huvudnoden (Node00) i Octal -format int valid_max_distance = 80; int valid_min_distance = 1; #define min_angle 0 #define max_angle 170

Steg 3: Hur man konfigurerar Master Station

Hur man konfigurerar masterstationen
Hur man konfigurerar masterstationen
Hur man konfigurerar masterstationen
Hur man konfigurerar masterstationen
Hur man konfigurerar masterstationen
Hur man konfigurerar masterstationen

Huvudstationens funktion är att ta emot överföringar av sensorstationer och objekt och skicka resultaten med hjälp av serieporten till en bearbetningsskiss för att plotta dem. Dessutom synkroniserar alla objekt och de tre sensorstationerna på det sättet som endast en av dem mäter varje gång för att undvika störningar.

Först måste du uppdatera avståndet (centimeter) mellan sensor 1 och 2 och avståndet mellan 2 och 3.

const floatavstånd mellan1 och2 = 60,0;

const floatavstånd mellan2and3 = 70,0;

Skissen beräknar objektens position på följande sätt:

  • För alla sändningar av objekten (id_nod större än 3) leta efter samma avstånd i varje sändning av ultraljudssensorerna (id_nod 1, 2 eller 3).
  • Alla dessa punkter utgör en lista över "kandidater" (avstånd, vinkel, id_nod) för att vara positionen för ett objekt ("process_pointobject_with_pointssensor" i skissen).
  • För varje "kandidat" i föregående lista beräknar funktionen "kandidat_vald_ mellan_sensor2 och3" ur ultraljudssensor 2 och 3 ur vinkeln vilken av dem matchar följande trigonometri -tillstånd (se bilderna 2 och 3)

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

float distancefroms3 = cos (radianer (vinkel_kandidat)) * distans_kandidat; // Trigonometri tillstånd 1 abs (distansfroms2 + distansfroms3 - distans mellan2och3) <= float (max_diference_distance)

Som ovan, för varje "kandidat" i den föregående listan, beräknar funktionen "kandidat_vald_mellan_sensor1and2" ur ultraljudssensorn 1 och 2, vilken av dem matchar följande trigonometri -relation (se bild 2 och 3)

float distancefroms1 = sin (radianer (vinkel)) * distans; float distancefroms2 = cos (radianer (vinkelkandidat)) * distans_kandidat; // Trigonometillstånd 2 abs (distansfrom1 + avståndfrom2 - avstånd mellan1och2) <= float (max_diference_distance)

Endast kandidaterna (avstånd, vinkel, id_nod) som matchar trigonometriförhållandena 1 och 2 är identifierade objekt som detekteras av sensorstationerna 1, 2 och 3

Därefter skickas resultaten från masterstationen till en bearbetningsskiss för att plotta dem.

Steg 4: Lista över material

Image
Image

Listan över material som behövs för en sensorstation eller ett objekt är följande:

  • Nanotavla
  • Ultraljudssensor
  • Mikro servomotor
  • NRF24L01 trådlös modul
  • Adapter NRF24L01

och materiallistan för masterstationen är följande:

  • Nanotavla
  • NRF24L01 trådlös modul
  • Adapter NRF24L01

Rekommenderad: