Talaan ng mga Nilalaman:

Sistema ng Posisyon ng Batay sa Ultrasonics: 4 na Hakbang (na may Mga Larawan)
Sistema ng Posisyon ng Batay sa Ultrasonics: 4 na Hakbang (na may Mga Larawan)

Video: Sistema ng Posisyon ng Batay sa Ultrasonics: 4 na Hakbang (na may Mga Larawan)

Video: Sistema ng Posisyon ng Batay sa Ultrasonics: 4 na Hakbang (na may Mga Larawan)
Video: The 4 step approach to The Deteriorating Patient 2024, Nobyembre
Anonim
Sistema ng Posisyon ng Batay sa Ultrasonics
Sistema ng Posisyon ng Batay sa Ultrasonics

Ang lahat ng mga bersyon ng mga ultrasonic radar na nahanap ko para sa mga arduino device (Arduino - Radar / Ultrasonic Detector, Arduino Ultrasonic Radar Project) ay napakagandang mga radar ngunit lahat ng mga ito ay "bulag". Ibig kong sabihin, may nakita ang radar ngunit ano ang nakikita nito?

Kaya't iminungkahi ko ang aking sarili na paunlarin ang isang system na makakakita ng mga objet at makilala ang mga ito. Sa madaling salita isang sistema ng pagpoposisyon nang hindi gumagamit ng mga aparato ng GPS ngunit mga detector ng ultrasonic.

Ito ang resulta sana ay magustuhan mo.

Hakbang 1: Paano Ito Gumagana?

Paano Ito Gumagana?
Paano Ito Gumagana?

Ang mga sistema ng pagpoposisyon ay nabuo ng tatlong mga istasyon ng sensor na may mga ultrasonic detector at id_node 1, 2 at 3 na bumubuo ng isang rektanggulo o parisukat na walisin ang isang anggulo ng 90º at kung saan ang mga distansya sa pagitan ng mga ito ay kilala tulad ng ipinakita sa larawan 1.

const float distansyabet pagitan1and2 = 60.0;

const float distansyabet pagitan2and3 = 75.0;

Sinusukat ng mga sensor na ito ang distansya at anggulo ng iba pang mga bagay na may id_node na mas malaki sa 3 na mayroon ding isang ultrasonic detector na nagwawalis ng isang anggulo ng 170 °.

Ang lahat sa kanila ay nagpapadala ng mga distansya, sinusukat ang mga anggulo at ang id_node sa isa pang master station na gumagamit ng mga wireless na pakikipag-ugnay upang pag-aralan, kalkulahin ang posisyon ng mga bagay na gumagamit ng pagkalkula ng trigonometry at kilalanin ang mga ito.

Upang maiwasan ang mga pagkagambala sinasabay ng master station ang lahat ng mga detektor ng ultrasonics sa paraang iyon na isang ultrasonic detector lamang ang sumusukat sa bawat sandali

Pagkatapos nito at paggamit ng isang serial na komunikasyon ang master station ay nagpapadala ng impormasyon (anggulo, distansya, id_object) sa isang pagproseso ng sketch upang magbalak ng mga resulta.

Hakbang 2: Paano I-configure ang Tatlong Sensor Stations at ang Mga Bagay

Paano i-configure ang Tatlong Sensor Stations at ang Mga Bagay
Paano i-configure ang Tatlong Sensor Stations at ang Mga Bagay
Paano i-configure ang Tatlong Sensor Stations at ang Mga Bagay
Paano i-configure ang Tatlong Sensor Stations at ang Mga Bagay

Ang tanging pag-andar ng bawat istasyon ng sensor ay upang makita ang mga bagay at ipadala ang listahan ng distansya, anggulo at id node na sinusukat sa master station.

Kaya kailangan mong i-update ang maximum na distansya ng pagtuklas ("valid_max_distance") pinapayagan at ang minimum na isa ("valid_min_distance") (sentimetro) upang mapabuti ang pagtuklas at upang limitahan ang detection zone:

int valid_max_distance = 80;

int valid_min_distance = 1;

Ang id node ng mga istasyon ng sensor ("this_node" sa code sa ibaba) ay 1, 2 at 3 at ang id node ng master station ay 0.

const uint16_t this_node = 01; // Address ng aming node sa format na Octal (Node01, Node02, Node03)

const uint16_t other_node = 00; // Address ng master node (Node00) sa format na Octal

Ang bawat sensor station ay nagwawalis at anggulo ng 100º ("max_angle" sa code sa ibaba)

# tukuyin ang min_angle 0

# tukuyin ang max_angle 100

Tulad ng sa itaas ang tanging pag-andar ng isang bagay ay upang makita ang mga bagay at ipadala ang listahan ng mga distansya, mga anggulo at id na bagay na sinusukat sa master station. Ang id ng isang bagay ("this_node" sa code sa ibaba) ay dapat na mas malaki sa 3.

Ang bawat bagay ay nagwawalis at anggulo ng 170º at tulad ng nasa itaas, posible na i-update ang maximum at minimum na distansya ng pagtuklas.

const uint16_t this_node = 04; // Address ng aming node sa format na Octal (Node04, Node05,…)

const uint16_t other_node = 00; // Address ng master node (Node00) sa Octal format int valid_max_distance = 80; int valid_min_distance = 1; # tukuyin ang min_angle 0 # tukuyin ang max_angle 170

Hakbang 3: Paano I-configure ang Master Station

Paano i-configure ang Master Station
Paano i-configure ang Master Station
Paano i-configure ang Master Station
Paano i-configure ang Master Station
Paano i-configure ang Master Station
Paano i-configure ang Master Station

Ang pag-andar ng master station ay upang makatanggap ng mga pagpapadala ng mga istasyon ng sensor at mga bagay at ipadala ang mga resulta gamit ang serial port sa isang sketch sa pagpoproseso upang i-plot ang mga ito. Bukod dito ay sinasabay ang lahat ng mga bagay at ang tatlong mga istasyon ng sensor sa paraang iyon na isa lamang sa mga ito ang sumusukat sa bawat oras upang maiwasan ang mga pagkagambala.

Panguna kailangan mong i-update ang distansya (sentimetro) sa pagitan ng sensor 1 at 2 at ang distansya sa pagitan ng 2 at 3.

const float distansyabet pagitan1and2 = 60.0;

const float distansyabet pagitan2and3 = 70.0;

Kinakalkula ng sketch ang posisyon ng mga bagay sa sumusunod na paraan:

  • Para sa lahat ng mga pagpapadala ng mga bagay (id_node mas malaki sa 3) hanapin ang parehong distansya sa bawat paghahatid ng mga ultrasonic sensor (id_node 1, 2 o 3).
  • Ang lahat ng mga puntong ito ay bumubuo ng isang listahan ng "mga kandidato" (distansya, anggulo, id_node) upang maging posisyon ng isang bagay ("proseso_pointobject_with_pointssensor" sa sketch).
  • Para sa bawat "kandidato" ng nakaraang listahan, ang pagpapaandar na "kandidato_selected_betantara_sensor2and3" ay kinakalkula mula sa pananaw ng ultrasonic sensor 2 at 3 alin sa mga ito ang tumutugma sa sumusunod na kundisyon ng trigonometry (tingnan ang mga larawan 2 at 3)

float distancefroms2 = sin (radians (anggulo)) * distansya;

float distancefroms3 = cos (radians (angle_candidate)) * distance_candidate; // Trigonometry condition 1 abs (distansyafroms2 + distansya3 - distansya sa pagitan2and3) <= float (max_diference_distance)

Tulad ng sa itaas, para sa bawat "kandidato" ng nakaraang listahan, ang pagpapaandar na "kandidato_seleksyon_betantara_sensor1and2" ay kinakalkula mula sa pananaw ng ultrasonik sensor 1 at 2 alin sa mga ito ang tumutugma sa sumusunod na kaugnayan ng trigonometry (tingnan ang larawan 2 at 3)

float distancefroms1 = sin (radians (anggulo)) * distansya; float distancefroms2 = cos (radians (angle_candidate)) * distance_candidate; // Trigonometry condition 2 abs (distansyafroms1 + distansya2 - distansya sa pagitan1and2) <= float (max_diference_distance)

Ang mga kandidato lamang (distansya, anggulo, id_node) na tumutugma sa mga kundisyon ng trigonometry na 1 at 2 ay natukoy na mga bagay na napansin ng mga istasyon ng sensor na 1, 2 at 3

Pagkatapos nito ay ang mga resulta ay nagpapadala ng master station sa isang sketch ng pagproseso upang balangkas ang mga ito.

Hakbang 4: Listahan ng Materyal

Image
Image

Ang listahan ng materyal na kinakailangan para sa isang istasyon ng sensor o isang bagay ay ang sumusunod:

  • Nano board
  • Ultrasonic sensor
  • Micro servo motor
  • NRF24L01 wireless module
  • NRF24L01 adapter

at ang listahan ng materyal para sa master station ay ang mga sumusunod:

  • Nano board
  • NRF24L01 wireless module
  • NRF24L01 adapter

Inirerekumendang: