Мазмұны:

Ультрадыбыстық позициялау жүйесі: 4 қадам (суреттермен)
Ультрадыбыстық позициялау жүйесі: 4 қадам (суреттермен)

Бейне: Ультрадыбыстық позициялау жүйесі: 4 қадам (суреттермен)

Бейне: Ультрадыбыстық позициялау жүйесі: 4 қадам (суреттермен)
Бейне: Тургенбаев Д Н 19 Электрмагниттік толқындарға арналған доплер эффектісі 2024, Қараша
Anonim
Ультрадыбысқа негізделген орналасу жүйесі
Ультрадыбысқа негізделген орналасу жүйесі

Мен arduino құрылғыларына арналған ультрадыбыстық радарлардың барлық нұсқалары (Arduino - Radar/Ultrasonic Detector, Arduino Ultrasonic Radar Project) өте жақсы радарлар, бірақ олардың барлығы «соқыр». Айтайын дегенім, радар бір нәрсені анықтайды, бірақ ол нені анықтайды?

Сондықтан мен өзіме объектілерді анықтай алатын және оларды анықтай алатын жүйе құруды ұсынамын. Басқаша айтқанда, GPS қондырғыларын пайдаланбай, ультрадыбыстық детекторларды анықтайтын позициялау жүйесі.

Бұл нәтиже сізге ұнайды деп үміттенемін.

1 -қадам: Бұл қалай жұмыс істейді?

Бұл қалай жұмыс істейді?
Бұл қалай жұмыс істейді?

Орналастыру жүйелері ультрадыбыстық детекторлары мен id_node 1, 2 және 3 бар үш датчиктер станциясынан тұрады, олар 90º бұрышты және төртбұрышты құрайды және олардың арасындағы қашықтық 1 суретте көрсетілгендей белгілі.

const float distancebetween1and2 = 60.0;

const float distancebetween2and3 = 75.0;

Бұл датчиктер id_node 3 -тен үлкен басқа объектілердің қашықтығы мен бұрышын өлшейді, сонымен қатар ультрадыбыстық детекторы бар, ол 170 ° бұрылады.

Олардың барлығы қашықтықты, өлшенген бұрыштарды және id_node -ды басқа магистральдық станцияға сымсыз байланыс көмегімен жібереді, тригонометрия көмегімен объектілердің орнын есептейді және анықтайды.

Кедергілерді болдырмау үшін негізгі станция барлық ультрадыбыстық детекторларды синхрондайды, осылайша әрбір ультрадыбыстық детектор өлшейді.

Осыдан кейін және сериялық байланысты қолдана отырып, магистральдық станция нәтижелерді сызу үшін ақпаратты (бұрыш, қашықтық, id_object) өңдеу нобайына жібереді.

2 -қадам: Үш сенсорлық станция мен объектілерді қалай конфигурациялау керек

Үш сенсорлық станция мен объектілерді қалай конфигурациялау керек
Үш сенсорлық станция мен объектілерді қалай конфигурациялау керек
Үш сенсорлық станция мен объектілерді қалай конфигурациялау керек
Үш сенсорлық станция мен объектілерді қалай конфигурациялау керек

Әрбір сенсорлық станцияның жалғыз функциясы - объектілерді анықтау және өлшенген қашықтық, бұрыш және идентификаторлық түйіндердің тізімін негізгі станцияға жіберу.

Анықтауды жақсарту және анықтау аймағын шектеу үшін рұқсат етілген анықтаудың максималды қашықтығын («valid_max_distance») және ең кішісін («valid_min_distance») (сантиметр) жаңарту қажет:

int valid_max_distance = 80;

int valid_min_distance = 1;

Бұл сенсорлық станциялардың идентификатор түйіні (төмендегі кодтағы «this_node») 1, 2 және 3, ал негізгі станцияның идентификаторлық түйіні 0.

const uint16_t this_node = 01; // Octal форматындағы біздің түйіннің мекен -жайы (Node01, Node02, Node03)

const uint16_t other_node = 00; // Сегіздік форматтағы негізгі түйіннің (Node00) адресі

Әрбір сенсорлық станция сыпырылады және 100º бұрыш жасайды (төмендегі кодта «max_angle»)

#мини_бұрышты анықтау 0

#максималды_бұрышты анықтау 100

Жоғарыда айтылғандай, объектінің жалғыз функциясы - объектілерді анықтау және өлшенетін қашықтықтар, бұрыштар мен идентификатор объектілерінің тізімін негізгі станцияға жіберу. Бір нысанның идентификаторы (төмендегі кодтағы «this_node») 3 -тен үлкен болуы керек.

Әрбір объект 170 ° бұрышпен сыпырады және жоғарыдағыдай, анықтаудың максималды және минималды қашықтығын жаңартуға болады.

const uint16_t this_node = 04; // Біздің түйіннің сегіздік форматтағы мекен -жайы (Node04, Node05,…)

const uint16_t other_node = 00; // Негізгі түйіннің мекенжайы (Node00) сегіздік форматта int valid_max_distance = 80; int valid_min_distance = 1; 170

3 -қадам: Негізгі станцияны қалай конфигурациялау керек

Негізгі станцияны қалай конфигурациялау керек
Негізгі станцияны қалай конфигурациялау керек
Негізгі станцияны қалай конфигурациялау керек
Негізгі станцияны қалай конфигурациялау керек
Негізгі станцияны қалай конфигурациялау керек
Негізгі станцияны қалай конфигурациялау керек

Негізгі станцияның функциясы - сенсорлық станциялар мен объектілердің жіберулерін алу және нәтижелерді сериялық порт арқылы өңдеу схемасына оларды салу үшін жіберу. Бұған қоса, барлық объектілер мен үш сенсорлық станция синхрондалады, осылайша олардың біреуі ғана кедергі жасайды, сондықтан әр уақытта өлшенеді.

Біріншіден, сенсор 1 мен 2 арасындағы қашықтықты (сантиметр) және 2 мен 3 арасындағы қашықтықты жаңарту қажет.

const float distancebetween1and2 = 60.0;

const float distancebetween2and3 = 70.0;

Эскиз объектілердің орнын келесі жолмен есептейді:

  • Нысандардың барлық берілулері үшін (id_node 3 -тен үлкен) ультрадыбыстық датчиктердің әрбір берілісінде бірдей қашықтықты іздеңіз (id_node 1, 2 немесе 3).
  • Бұл нүктелердің барлығы бір кандидаттардың тізімін құрайды (қашықтық, бұрыш, id_node) бір объектінің орналасуы (эскиздегі «process_pointobject_with_pointssensor»).
  • Алдыңғы тізімдегі әрбір «үміткер» үшін «кандидат_салынды_бет арасында_сенсор2 мен3» функциясы ультрадыбыстық датчик 2 мен 3 тұрғысынан олардың қайсысы келесі тригонометриялық шартқа сәйкес келетінін есептейді (2 және 3 суреттерді қараңыз)

жүзу қашықтығы2 = sin (радиандар (бұрыш)) * қашықтық;

қалқымалы қашықтық3 = cos (радиандар (бұрыш_кандидаты)) * қашықтық_кандидаты; // Тригонометрия шарты 1 абс (қашықтық 2 + қашықтық 3 - арақашықтық 2 мен 3) <= өзгермелі (максималды_әйелдік_ашықтығы)

Жоғарыда айтылғандай, алдыңғы тізімдегі әрбір «үміткер» үшін «кандидат_салынды_арасында_сенсор1 мен2» функциясы ультрадыбыстық датчик 1 мен 2 тұрғысынан есептейді, олардың қайсысы келесі тригонометриялық қатынасқа сәйкес келеді (2 және 3 суретті қараңыз)

қалқымалы қашықтық1 = sin (радиан (бұрыш)) * арақашықтық; қалқымалы қашықтық2 = cos (радиан (бұрыш_кандидаты)) * қашықтық_кандидат; // Тригонометрия шарты 2 абс (арақашықтық1 + арақашықтық2 - арақашықтық1 мен2) <= өзгермелі

1 және 2 тригонометрия шарттарына сәйкес келетін кандидаттар (қашықтық, бұрыш, id_node) сенсорлық станциялар 1, 2 және 3 анықтаған объектілер болып табылады

Осыдан кейін нәтижелер басты станция оларды өңдеу үшін эскизге жібереді.

4 -қадам: материалдар тізімі

Image
Image

Бір сенсорлық станцияға немесе бір объектіге қажетті материалдардың тізімі келесідей:

  • Нано тақта
  • Ультрадыбыстық сенсор
  • Микросерво қозғалтқышы
  • NRF24L01 сымсыз модулі
  • NRF24L01 адаптері

және негізгі станцияға арналған материалдар тізімі келесідей:

  • Нано тақта
  • NRF24L01 сымсыз модулі
  • NRF24L01 адаптері

Ұсынылған: